dpos_irreversible=0,///< this block has already been applied before by this node and is considered irreversible by DPOS standards
bft_irreversible=1,///< this block has already been applied before by this node and is considered irreversible by BFT standards (but not yet DPOS standards)
validated_block=2,///< this is a complete block signed by a valid producer and has been previously applied by this node and therefore validated but it is not yet irreversible
completed_block=3,///< this is a complete block signed by a valid producer but is not yet irreversible nor has it yet been applied by this node
producing_block=4,///< this is an incomplete block that is being produced by a valid producer for their time slot and will be signed by them after the block is completed
speculative_block=5///< this is an incomplete block that is only being speculatively produced by the node (whether it is the node of an active producer or not)
};
block_statusstatus=speculative_block;
boolis_active_producer=false;///< whether the node applying the block is an active producer (this further modulates behavior when the block status is completed_block)
irreversible=0,///< this block has already been applied before by this node and is considered irreversible
validated=1,///< this is a complete block signed by a valid producer and has been previously applied by this node and therefore validated but it is not yet irreversible
complete=2,///< this is a complete block signed by a valid producer but is not yet irreversible nor has it yet been applied by this node
incomplete=3,///< this is an incomplete block (either being produced by a producer or speculatively produced by a node)
// try to get a serialization exception before making a huge allocation for malformed input.
constU8*inputBytes=stream.advance(size);
if(size>=max_size)
throwFatalSerializationException(std::string("Trying to deserialize string of size : "+std::to_string((uint64_t)size)+", which is over by "+std::to_string(size-max_size)+" bytes"));
// try to get a serialization exception before making a huge allocation for malformed input.
vector.clear();
if(size>=max_size)
throwFatalSerializationException(std::string("Trying to deserialize array of size : "+std::to_string((uint64_t)size)+", which is over by "+std::to_string(size-max_size)+" bytes"));
("reversible-blocks-db-size-mb",bpo::value<uint64_t>()->default_value(config::default_reversible_cache_size/(1024*1024)),"Maximum size (in MB) of the reversible blocks database")
elog("Not producing block because the irreversible block is too old [age:${age}s, max:${max}s]",("age",irreversible_block_age.count()/1'000'000)("max",_max_irreversible_block_age_us.count()/1'000'000));
BOOST_CHECK_EQUAL(wasm_assert_msg("not enough has been staked for users to unstake"),unstake("producvotera",core_from_string("50.0000"),core_from_string("50.0000")));