Exemplo n.º 1
0
def _generate_transaction_model(transaction: Dict[str, Any]) -> transaction_model.TransactionModel:
    """
    Returns a transaction_model.TransactionModel instance with
    Dragonchain ID, Transaction ID, and Transaction timestamp
    """
    txn_model = transaction_model.new_from_user_input(transaction)
    txn_model.dc_id = keys.get_public_id()
    txn_model.txn_id = str(uuid.uuid4())
    txn_model.timestamp = str(math.floor(time.time()))
    return txn_model
Exemplo n.º 2
0
 def test_from_input(self):
     meta = {
         "txn_type": "sotmething",
         "dc_id": "an id",
         "txn_id": "another id",
         "timestamp": "123456",
         "payload": "a payload",
         "tag": "a tag",
         "invoker": "a sweet invoker id",
         "full_hash": "a full hash",
         "signature": "a signature",
     }
     # Test new_from_user_input
     create_task = {
         "txn_type": meta["txn_type"],
         "payload": meta["payload"],
         "tag": meta["tag"]
     }
     user_input = {
         "version": "1",
         "txn_type": meta["txn_type"],
         "payload": meta["payload"],
         "tag": meta["tag"]
     }
     test = transaction_model.new_from_user_input(user_input)
     for key in create_task.keys():
         self.assertEqual(test.__dict__[key], meta[key])
     # Test new_from_queue_input
     queue_task = {
         "version": "2",
         "header": {
             "txn_type": meta["txn_type"],
             "dc_id": meta["dc_id"],
             "txn_id": meta["txn_id"],
             "timestamp": meta["timestamp"],
             "tag": meta["tag"],
             "invoker": meta["invoker"],
         },
         "payload": meta["payload"],
     }
     test = transaction_model.new_from_queue_input(queue_task)
     for key in meta.keys():
         if key != "full_hash" and key != "signature":
             self.assertEqual(test.__dict__[key], meta[key])
     # Test new_from_stripped_block_input
     txn = transaction_model.TransactionModel(**meta)
     test = transaction_model.new_from_stripped_block_input(
         json.dumps(txn.export_as_stripped(), separators=(",", ":")))
     for key in meta.keys():
         if key != "payload":
             self.assertEqual(test.__dict__[key], meta[key])