diff --git a/bigchaindb/common/transaction.py b/bigchaindb/common/transaction.py index 24a3ae5d..7098d366 100644 --- a/bigchaindb/common/transaction.py +++ b/bigchaindb/common/transaction.py @@ -1236,7 +1236,9 @@ class Transaction(object): def resolve_class(operation): """For the given `tx` based on the `operation` key return its implementation class""" - if operation in list(Transaction.type_registry.keys()): - return Transaction.type_registry.get(operation) - else: - return Transaction.type_registry.get(Transaction.CREATE) + create_txn_class = Transaction.type_registry.get(Transaction.CREATE) + return Transaction.type_registry.get(operation, create_txn_class) + + @classmethod + def validate_schema(cls, tx): + pass diff --git a/bigchaindb/upsert_validator/validator_election.py b/bigchaindb/upsert_validator/validator_election.py index d52cbdd9..e83d7264 100644 --- a/bigchaindb/upsert_validator/validator_election.py +++ b/bigchaindb/upsert_validator/validator_election.py @@ -131,3 +131,11 @@ class ValidatorElection(Transaction): _validate_schema(TX_SCHEMA_COMMON, tx) _validate_schema(TX_SCHEMA_CREATE, tx) _validate_schema(TX_SCHEMA_VALIDATOR_ELECTION, tx) + + @classmethod + def create(cls, tx_signers, recipients, metadata=None, asset=None): + raise NotImplementedError + + @classmethod + def transfer(cls, tx_signers, recipients, metadata=None, asset=None): + raise NotImplementedError