classInvalidTransactionFormat:publicdev::Exception{public:InvalidTransactionFormat(int_f,bytesConstRef_d):m_f(_f),m_d(_d.toBytes()){}intm_f;bytesm_d;virtualstd::stringdescription()const{return"Invalid transaction format: Bad field "+toString(m_f)+" ("+toHex(m_d)+")";}};
classInvalidBlockFormat:publicdev::Exception{public:InvalidBlockFormat(int_f,bytesConstRef_d):m_f(_f),m_d(_d.toBytes()){}intm_f;bytesm_d;virtualconstchar*what()constnoexcept{return("Invalid block format: Bad field "+toString(m_f)+" ("+toHex(m_d)+")").c_str();}};
classInvalidBlockFormat:publicdev::Exception{public:InvalidBlockFormat(int_f,bytesConstRef_d):m_f(_f),m_d(_d.toBytes()){}intm_f;bytesm_d;virtualstd::stringdescription()const{return"Invalid block format: Bad field "+toString(m_f)+" ("+toHex(m_d)+")";}};
structInvalidUnclesHash:virtualdev::Exception{};
classInvalidBlockHeaderFormat:publicdev::Exception{public:InvalidBlockHeaderFormat(int_f,bytesConstRef_d):m_f(_f),m_d(_d.toBytes()){}intm_f;bytesm_d;virtualstd::stringdescription()const{return"Invalid block header format: Bad field "+toString(m_f)+" ("+toHex(m_d)+")";}};
structInvalidUncle:virtualdev::Exception{};
classInvalidUnclesHash:publicdev::Exception{};
structUncleTooOld:virtualdev::Exception{};
classInvalidUncle:publicdev::Exception{};
classUncleInChain:publicdev::Exception{public:UncleInChain(h256Set_uncles,h256_block):m_uncles(_uncles),m_block(_block){}h256Setm_uncles;h256m_block;virtualconstchar*what()constnoexcept{return("Uncle in block already mentioned: Uncles "+toString(m_uncles)+" ("+m_block.abridged()+")").c_str();}};
// Don't like transactions whose gas price is too low. NOTE: this won't stay here forever - it's just until we get a proper gas price discovery protocol going.
// Don't like transactions whose gas price is too low. NOTE: this won't stay here forever - it's just until we get a proper gas price discovery protocol going.
if(m_t.gasPrice<m_s.m_currentBlock.minGasPrice)
if(m_t.gasPrice<m_s.m_currentBlock.minGasPrice)
{
{
clog(StateChat)<<"Offered gas-price is too low: Require >"<<m_s.m_currentBlock.minGasPrice<<" Got"<<m_t.gasPrice;
clog(StateChat)<<"Offered gas-price is too low: Require >"<<m_s.m_currentBlock.minGasPrice<<" Got"<<m_t.gasPrice;
classInterfaceNotSupported:publicException{public:InterfaceNotSupported(std::string_f):m_f(_f){}virtualstd::stringdescription()const{return"Interface "+m_f+" not supported.";}private:std::stringm_f;};
classInterfaceNotSupported:publicException{public:InterfaceNotSupported(std::string_f):m_f(_f){}virtualconstchar*what()constnoexcept{return("Interface "+m_f+" not supported.").c_str();}private:std::stringm_f;};