|
| Client (ChainParams const &_params, int _networkID, p2p::Host *_host, std::shared_ptr< GasPricer > _gpForAdoption, std::string const &_dbPath=std::string(), WithExisting _forceAction=WithExisting::Trust, TransactionQueue::Limits const &_l=TransactionQueue::Limits{1024, 1024}) |
|
virtual | ~Client () |
| Destructor. More...
|
|
ChainParams const & | chainParams () const |
| Get information on this chain. More...
|
|
void | setGasPricer (std::shared_ptr< GasPricer > _gp) |
| Resets the gas pricer to some other object. More...
|
|
std::shared_ptr< GasPricer > | gasPricer () const |
|
virtual void | flushTransactions () override |
| Blocks until all pending transactions have been processed. More...
|
|
ImportResult | queueBlock (bytes const &_block, bool _isSafe=false) |
| Queues a block for import. More...
|
|
ExecutionResult | call (Address _dest, bytes const &_data=bytes(), u256 _gas=125000, u256 _value=0, u256 _gasPrice=1 *ether, Address const &_from=Address()) |
| Makes the given call. Nothing is recorded into the state. This cheats by creating a null address and endowing it with a lot of ETH. More...
|
|
virtual u256 | gasLimitRemaining () const override |
| Get the remaining gas limit in this block. More...
|
|
virtual u256 | gasBidPrice () const override |
| Get the gas bid price. More...
|
|
dev::eth::Block | block (h256 const &_blockHash, PopulationStatistics *o_stats) const |
| Get the block. More...
|
|
dev::eth::State | state (unsigned _txi, h256 const &_block) const |
| Get the state of the given block part way through execution, immediately before transaction index _txi. More...
|
|
dev::eth::State | state (unsigned _txi) const |
| Get the state of the currently pending block part way through execution, immediately before transaction index _txi. More...
|
|
dev::eth::Block | postState () const |
| Get the object representing the current state of Ethereum. More...
|
|
BlockChain const & | blockChain () const |
| Get the object representing the current canonical blockchain. More...
|
|
BlockQueueStatus | blockQueueStatus () const |
| Get some information on the block queue. More...
|
|
SyncStatus | syncStatus () const override |
| Get some information on the block syncing. More...
|
|
BlockQueue const & | blockQueue () const |
| Get the block queue. More...
|
|
OverlayDB const & | stateDB () const |
| Get the block queue. More...
|
|
TransactionQueue::Status | transactionQueueStatus () const |
| Get some information on the transaction queue. More...
|
|
TransactionQueue::Limits | transactionQueueLimits () const |
|
std::tuple< ImportRoute, bool, unsigned > | syncQueue (unsigned _max=1) |
| Freeze worker thread and sync some of the block queue. More...
|
|
virtual Address | author () const override |
| Get the block author. More...
|
|
virtual void | setAuthor (Address const &_us) override |
| Set the block author address. More...
|
|
strings | sealers () const |
| Type of sealers available for this seal engine. More...
|
|
std::string | sealer () const |
| Current sealer in use. More...
|
|
void | setSealer (std::string const &_id) |
| Change sealer. More...
|
|
bytes | sealOption (std::string const &_name) const |
| Review option for the sealer. More...
|
|
bool | setSealOption (std::string const &_name, bytes const &_value) |
| Set option for the sealer. More...
|
|
void | startSealing () override |
| Start sealing. More...
|
|
void | stopSealing () override |
| Stop sealing. More...
|
|
bool | wouldSeal () const override |
| Are we sealing now? More...
|
|
bool | isSyncing () const override |
| Are we updating the chain (syncing or importing a new block)? More...
|
|
bool | isMajorSyncing () const override |
| Are we syncing the chain? More...
|
|
u256 | networkId () const override |
| Gets the network id. More...
|
|
void | setNetworkId (u256 const &_n) override |
| Sets the network id. More...
|
|
SealEngineFace * | sealEngine () const override |
| Get the seal engine. More...
|
|
DownloadMan const * | downloadMan () const |
|
void | clearPending () |
| Clears pending transactions. Just for debug use. More...
|
|
void | killChain () |
| Kills the blockchain. Just for debug use. More...
|
|
void | reopenChain (ChainParams const &_p, WithExisting _we=WithExisting::Trust) |
| Reloads the blockchain. Just for debug use. More...
|
|
void | reopenChain (WithExisting _we) |
|
void | retryUnknown () |
| Retries all blocks with unknown parents. More...
|
|
ActivityReport | activityReport () |
| Get a report of activity. More...
|
|
void | setExtraData (bytes const &_extraData) |
| Set the extra data that goes into sealed blocks. More...
|
|
void | rewind (unsigned _n) |
| Rewind to a prior head. More...
|
|
void | rescue () |
| Rescue the chain. More...
|
|
void | executeInMainThread (std::function< void()> const &_function) |
| Queues a function to be executed in the main thread (that owns the blockchain, etc). More...
|
|
virtual Block | block (h256 const &_block) const override |
|
| ClientBase (TransactionQueue::Limits const &_l=TransactionQueue::Limits{1024, 1024}) |
|
virtual | ~ClientBase () |
|
virtual std::pair< h256, Address > | submitTransaction (TransactionSkeleton const &_t, Secret const &_secret) override |
| Submits the given transaction. More...
|
|
virtual ExecutionResult | call (Address const &_secret, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict) override |
| Makes the given call. Nothing is recorded into the state. More...
|
|
virtual ExecutionResult | create (Address const &_secret, u256 _value, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict) override |
| Makes the given create. Nothing is recorded into the state. More...
|
|
virtual std::pair< u256, ExecutionResult > | estimateGas (Address const &_from, u256 _value, Address _dest, bytes const &_data, int64_t _maxGas, u256 _gasPrice, BlockNumber _blockNumber, GasEstimationCallback const &_callback) override |
| Estimate gas usage for call/create. More...
|
|
virtual u256 | balanceAt (Address _a, BlockNumber _block) const override |
|
virtual u256 | countAt (Address _a, BlockNumber _block) const override |
|
virtual u256 | stateAt (Address _a, u256 _l, BlockNumber _block) const override |
|
virtual h256 | stateRootAt (Address _a, BlockNumber _block) const override |
|
virtual bytes | codeAt (Address _a, BlockNumber _block) const override |
|
virtual h256 | codeHashAt (Address _a, BlockNumber _block) const override |
|
virtual std::map< h256, std::pair< u256, u256 > > | storageAt (Address _a, BlockNumber _block) const override |
|
virtual LocalisedLogEntries | logs (unsigned _watchId) const override |
|
virtual LocalisedLogEntries | logs (LogFilter const &_filter) const override |
|
virtual void | prependLogsFromBlock (LogFilter const &_filter, h256 const &_blockHash, BlockPolarity _polarity, LocalisedLogEntries &io_logs) const |
|
virtual unsigned | installWatch (LogFilter const &_filter, Reaping _r=Reaping::Automatic) override |
| Install, uninstall and query watches. More...
|
|
virtual unsigned | installWatch (h256 _filterId, Reaping _r=Reaping::Automatic) override |
|
virtual bool | uninstallWatch (unsigned _watchId) override |
|
virtual LocalisedLogEntries | peekWatch (unsigned _watchId) const override |
|
virtual LocalisedLogEntries | checkWatch (unsigned _watchId) override |
|
virtual h256 | hashFromNumber (BlockNumber _number) const override |
|
virtual BlockNumber | numberFromHash (h256 _blockHash) const override |
|
virtual int | compareBlockHashes (h256 _h1, h256 _h2) const override |
|
virtual BlockHeader | blockInfo (h256 _hash) const override |
|
virtual BlockDetails | blockDetails (h256 _hash) const override |
|
virtual Transaction | transaction (h256 _transactionHash) const override |
|
virtual LocalisedTransaction | localisedTransaction (h256 const &_transactionHash) const override |
|
virtual Transaction | transaction (h256 _blockHash, unsigned _i) const override |
|
virtual LocalisedTransaction | localisedTransaction (h256 const &_blockHash, unsigned _i) const override |
|
virtual TransactionReceipt | transactionReceipt (h256 const &_transactionHash) const override |
|
virtual LocalisedTransactionReceipt | localisedTransactionReceipt (h256 const &_transactionHash) const override |
|
virtual std::pair< h256, unsigned > | transactionLocation (h256 const &_transactionHash) const override |
|
virtual Transactions | transactions (h256 _blockHash) const override |
|
virtual TransactionHashes | transactionHashes (h256 _blockHash) const override |
|
virtual BlockHeader | uncle (h256 _blockHash, unsigned _i) const override |
|
virtual UncleHashes | uncleHashes (h256 _blockHash) const override |
|
virtual unsigned | transactionCount (h256 _blockHash) const override |
|
virtual unsigned | uncleCount (h256 _blockHash) const override |
|
virtual unsigned | number () const override |
|
virtual Transactions | pending () const override |
| Get a map containing each of the pending transactions. More...
|
|
virtual h256s | pendingHashes () const override |
|
virtual BlockHeader | pendingInfo () const override |
|
virtual BlockDetails | pendingDetails () const override |
|
virtual EVMSchedule | evmSchedule () const override |
|
virtual ImportResult | injectTransaction (bytes const &_rlp, IfDropped _id=IfDropped::Ignore) override |
| Injects the RLP-encoded transaction given by the _rlp into the transaction queue directly. More...
|
|
virtual ImportResult | injectBlock (bytes const &_block) override |
| Injects the RLP-encoded block given by the _rlp into the block queue directly. More...
|
|
virtual Addresses | addresses (BlockNumber _block) const override |
|
virtual bool | isKnown (h256 const &_hash) const override |
|
virtual bool | isKnown (BlockNumber _block) const override |
|
virtual bool | isKnownTransaction (h256 const &_transactionHash) const override |
|
virtual bool | isKnownTransaction (h256 const &_blockHash, unsigned _i) const override |
|
Block | block (BlockNumber _h) const |
|
| Interface () |
| Constructor. More...
|
|
virtual | ~Interface () |
| Destructor. More...
|
|
void | submitTransaction (Secret const &_secret, u256 const &_value, Address const &_dest, bytes const &_data=bytes(), u256 const &_gas=1000000, u256 const &_gasPrice=DefaultGasPrice, u256 const &_nonce=Invalid256) |
| Submits the given message-call transaction. More...
|
|
Address | submitTransaction (Secret const &_secret, u256 const &_endowment, bytes const &_init, u256 const &_gas=1000000, u256 const &_gasPrice=DefaultGasPrice, u256 const &_nonce=Invalid256) |
| Submits a new contract-creation transaction. More...
|
|
ExecutionResult | call (Address const &_from, u256 _value, Address _dest, bytes const &_data=bytes(), u256 _gas=1000000, u256 _gasPrice=DefaultGasPrice, FudgeFactor _ff=FudgeFactor::Strict) |
|
ExecutionResult | call (Secret const &_secret, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict) |
|
ExecutionResult | call (Secret const &_secret, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, FudgeFactor _ff=FudgeFactor::Strict) |
|
ExecutionResult | create (Address const &_from, u256 _value, bytes const &_data=bytes(), u256 _gas=1000000, u256 _gasPrice=DefaultGasPrice, FudgeFactor _ff=FudgeFactor::Strict) |
|
ExecutionResult | create (Secret const &_secret, u256 _value, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict) |
|
ExecutionResult | create (Secret const &_secret, u256 _value, bytes const &_data, u256 _gas, u256 _gasPrice, FudgeFactor _ff=FudgeFactor::Strict) |
|
int | getDefault () const |
|
void | setDefault (BlockNumber _block) |
|
u256 | balanceAt (Address _a) const |
|
u256 | countAt (Address _a) const |
|
u256 | stateAt (Address _a, u256 _l) const |
|
bytes | codeAt (Address _a) const |
|
h256 | codeHashAt (Address _a) const |
|
std::map< h256, std::pair< u256, u256 > > | storageAt (Address _a) const |
|
LocalisedLogEntries | peekWatchSafe (unsigned _watchId) const |
|
LocalisedLogEntries | checkWatchSafe (unsigned _watchId) |
|
BlockHeader | blockInfo (BlockNumber _block) const |
|
BlockDetails | blockDetails (BlockNumber _block) const |
|
Transaction | transaction (BlockNumber _block, unsigned _i) const |
|
unsigned | transactionCount (BlockNumber _block) const |
|
Transactions | transactions (BlockNumber _block) const |
|
TransactionHashes | transactionHashes (BlockNumber _block) const |
|
BlockHeader | uncle (BlockNumber _block, unsigned _i) const |
|
UncleHashes | uncleHashes (BlockNumber _block) const |
|
unsigned | uncleCount (BlockNumber _block) const |
|
virtual Addresses | addresses () const |
| Get a list of all active addresses. More...
|
|
|
void | init (p2p::Host *_extNet, std::string const &_dbPath, WithExisting _forceAction, u256 _networkId) |
| Perform critical setup functions. More...
|
|
BlockChain & | bc () override |
| InterfaceStub methods. More...
|
|
BlockChain const & | bc () const override |
|
virtual Block | preSeal () const override |
| Returns the state object for the full block (i.e. More...
|
|
virtual Block | postSeal () const override |
|
virtual void | prepareForTransaction () override |
|
void | appendFromNewPending (TransactionReceipt const &_receipt, h256Hash &io_changed, h256 _sha3) |
| Collate the changed filters for the bloom filter of the given pending transaction. More...
|
|
void | appendFromBlock (h256 const &_blockHash, BlockPolarity _polarity, h256Hash &io_changed) |
| Collate the changed filters for the hash of the given block. More...
|
|
void | noteChanged (h256Hash const &_filters) |
| Record that the set of filters _filters have changed. More...
|
|
virtual bool | submitSealed (bytes const &_s) |
| Submit. More...
|
|
void | startedWorking () override |
| Called when Worker is starting. More...
|
|
void | doWork (bool _doWait) |
| Do some work. Handles blockchain maintenance and sealing. More...
|
|
void | doWork () override |
| Called continuously following sleep for m_idleWaitMs. More...
|
|
void | doneWorking () override |
| Called when Worker is exiting. More...
|
|
void | rejigSealing () |
| Called when wouldSeal(), pendingTransactions() have changed. More...
|
|
void | onDeadBlocks (h256s const &_blocks, h256Hash &io_changed) |
| Called on chain changes. More...
|
|
virtual void | onNewBlocks (h256s const &_blocks, h256Hash &io_changed) |
| Called on chain changes. More...
|
|
void | resyncStateFromChain () |
| Called after processing blocks by onChainChanged(_ir) More...
|
|
void | resetState () |
| Clear working state of transactions. More...
|
|
void | onChainChanged (ImportRoute const &_ir) |
| Magically called when the chain has changed. More...
|
|
void | syncBlockQueue () |
| Signal handler for when the block queue needs processing. More...
|
|
void | syncTransactionQueue () |
| Signal handler for when the block queue needs processing. More...
|
|
void | onTransactionQueueReady () |
| Magically called when m_tq needs syncing. Be nice and don't block. More...
|
|
void | onBlockQueueReady () |
| Magically called when m_bq needs syncing. Be nice and don't block. More...
|
|
void | onPostStateChanged () |
| Called when the post state has changed (i.e. More...
|
|
void | checkWatchGarbage () |
| Does garbage collection on watches. More...
|
|
void | tick () |
| Ticks various system-level objects. More...
|
|
void | onBadBlock (Exception &_ex) const |
| Called when we have attempted to import a bad block. More...
|
|
void | callQueuedFunctions () |
| Executes the pending functions in m_functionQueue. More...
|
|
bool | remoteActive () const |
| Is there an active and valid remote worker? More...
|
|
| Worker (std::string const &_name="anon", unsigned _idleWaitMs=30) |
|
| Worker (Worker &&_m) |
| Move-constructor. More...
|
|
Worker & | operator= (Worker &&_m) |
| Move-assignment. More...
|
|
virtual | ~Worker () |
|
void | setName (std::string _n) |
| Allows changing worker name if work is stopped. More...
|
|
void | startWorking () |
| Starts worker thread; causes startedWorking() to be called. More...
|
|
void | stopWorking () |
| Stop worker thread; causes call to stopWorking(). More...
|
|
bool | isWorking () const |
| Returns if worker thread is present. More...
|
|
virtual void | workLoop () |
| Overrides doWork(); should call shouldStop() often and exit when true. More...
|
|
bool | shouldStop () const |
|