diff --git a/bigchaindb/models.py b/bigchaindb/models.py index 3bbc80e3..bca182c3 100644 --- a/bigchaindb/models.py +++ b/bigchaindb/models.py @@ -6,6 +6,7 @@ from bigchaindb.common.exceptions import (InvalidHash, InvalidSignature, AssetIdMismatch, AmountError) from bigchaindb.common.transaction import Transaction, Asset from bigchaindb.common.util import gen_timestamp, serialize +from bigchaindb.common.schema import validate_transaction_schema class Transaction(Transaction): @@ -113,6 +114,11 @@ class Transaction(Transaction): else: return self + @classmethod + def from_dict(cls, tx_body): + validate_transaction_schema(tx_body) + return super().from_dict(tx_body) + class Block(object): """Bundle a list of Transactions in a Block. Nodes vote on its validity.