FC_DECLARE_DERIVED_EXCEPTION(block_tx_output_exception,eosio::chain::block_validate_exception,3020001,"transaction outputs in block do not match transaction outputs from applying block")
FC_DECLARE_DERIVED_EXCEPTION(block_concurrency_exception,eosio::chain::block_validate_exception,3020002,"block does not guarantee concurrent exection without conflicts")
FC_DECLARE_DERIVED_EXCEPTION(block_lock_exception,eosio::chain::block_validate_exception,3020003,"shard locks in block are incorrect or mal-formed")