Ethereum  PoC-8
The C++ Implementation of Ethereum
State.h File Reference
#include "Account.h"
#include "GasPricer.h"
#include "SecureTrieDB.h"
#include "Transaction.h"
#include "TransactionReceipt.h"
#include <libdevcore/Common.h>
#include <libdevcore/OverlayDB.h>
#include <libdevcore/RLP.h>
#include <libethcore/BlockHeader.h>
#include <libethcore/Exceptions.h>
#include <libethereum/CodeSizeCache.h>
#include <libevm/ExtVMFace.h>
#include <array>
#include <unordered_map>

Go to the source code of this file.

Classes

struct  dev::eth::Change
 An atomic state changelog entry. More...
 
class  dev::eth::State
 

Namespaces

 dev
 
 dev::test
 
 dev::eth
 

Typedefs

using dev::eth::errinfo_uncleIndex = boost::error_info< struct tag_uncleIndex, unsigned >
 
using dev::eth::errinfo_currentNumber = boost::error_info< struct tag_currentNumber, u256 >
 
using dev::eth::errinfo_uncleNumber = boost::error_info< struct tag_uncleNumber, u256 >
 
using dev::eth::errinfo_unclesExcluded = boost::error_info< struct tag_unclesExcluded, h256Hash >
 
using dev::eth::errinfo_block = boost::error_info< struct tag_block, bytes >
 
using dev::eth::errinfo_now = boost::error_info< struct tag_now, unsigned >
 
using dev::eth::errinfo_transactionIndex = boost::error_info< struct tag_transactionIndex, unsigned >
 
using dev::eth::errinfo_vmtrace = boost::error_info< struct tag_vmtrace, std::string >
 
using dev::eth::errinfo_receipts = boost::error_info< struct tag_receipts, std::vector< bytes > >
 
using dev::eth::errinfo_transaction = boost::error_info< struct tag_transaction, bytes >
 
using dev::eth::errinfo_phase = boost::error_info< struct tag_phase, unsigned >
 
using dev::eth::errinfo_required_LogBloom = boost::error_info< struct tag_required_LogBloom, LogBloom >
 
using dev::eth::errinfo_got_LogBloom = boost::error_info< struct tag_get_LogBloom, LogBloom >
 
using dev::eth::LogBloomRequirementError = boost::tuple< errinfo_required_LogBloom, errinfo_got_LogBloom >
 
using dev::eth::ChangeLog = std::vector< Change >
 

Enumerations

enum  dev::eth::BaseState { dev::eth::BaseState::PreExisting, dev::eth::BaseState::Empty }
 
enum  dev::eth::Permanence { dev::eth::Permanence::Reverted, dev::eth::Permanence::Committed, dev::eth::Permanence::Uncommitted }
 

Functions

 dev::eth::DEV_SIMPLE_EXCEPTION (InvalidAccountStartNonceInState)
 
 dev::eth::DEV_SIMPLE_EXCEPTION (IncorrectAccountStartNonceInState)
 
std::ostream & dev::eth::operator<< (std::ostream &_out, State const &_s)
 
Statedev::eth::createIntermediateState (State &o_s, Block const &_block, unsigned _txIndex, BlockChain const &_bc)
 
template<class DB >
AddressHash dev::eth::commit (AccountMap const &_cache, SecureTrieDB< Address, DB > &_state)