 |
Ethereum
PoC-8
The C++ Implementation of Ethereum
|
Go to the documentation of this file.
93 ExecutionResult call(
Address const& _from,
u256 _value,
Address _dest,
bytes const& _data =
bytes(),
u256 _gas = 1000000,
u256 _gasPrice = DefaultGasPrice,
FudgeFactor _ff =
FudgeFactor::Strict) {
return call(_from, _value, _dest, _data, _gas, _gasPrice,
m_default, _ff); }
94 ExecutionResult call(
Secret const& _secret,
u256 _value,
Address _dest,
bytes const& _data,
u256 _gas,
u256 _gasPrice,
BlockNumber _blockNumber,
FudgeFactor _ff =
FudgeFactor::Strict) {
return call(
toAddress(_secret), _value, _dest, _data, _gas, _gasPrice, _blockNumber, _ff); }
95 ExecutionResult call(
Secret const& _secret,
u256 _value,
Address _dest,
bytes const& _data,
u256 _gas,
u256 _gasPrice,
FudgeFactor _ff =
FudgeFactor::Strict) {
return call(
toAddress(_secret), _value, _dest, _data, _gas, _gasPrice, _ff); }
239 virtual std::tuple<h256, h256, h256>
getWork() = 0;
257 class Watch:
public boost::noncopyable
284 swap(_a.m_c, _b.m_c);
285 swap(_a.m_id, _b.m_id);
virtual unsigned installWatch(LogFilter const &_filter, Reaping _r=Reaping::Automatic)=0
Install, uninstall and query watches.
virtual h256 hashFromNumber(BlockNumber _number) const =0
virtual u256 gasBidPrice() const =0
virtual h256 stateRootAt(Address _a, BlockNumber _block) const =0
Encodes a transaction, ready to be exported to or freshly imported from RLP.
u256 stateAt(Address _a, u256 _l) const
u256 countAt(Address _a) const
void setDefault(BlockNumber _block)
virtual BlockHeader uncle(h256 _blockHash, unsigned _i) const =0
virtual Transactions transactions(BlockNumber _block) const =0
virtual u256 stateAt(Address _a, u256 _l, BlockNumber _block) const =0
virtual unsigned number() const =0
std::vector< Transaction > Transactions
Nice name for vector of Transaction.
virtual Address author() const =0
Get the block author address.
virtual ImportResult injectBlock(bytes const &_block)=0
Injects the RLP-encoded block given by the _rlp into the block queue directly.
virtual h256 codeHashAt(Address _a, BlockNumber _block) const =0
virtual SealEngineFace * sealEngine() const
Get the seal engine.
Transaction transaction(BlockNumber _block, unsigned _i) const
virtual int chainId() const
Gets the chain id.
virtual UncleHashes uncleHashes(h256 _blockHash) const =0
virtual BlockHeader blockInfo(h256 _hash) const =0
BlockHeader uncle(BlockNumber _block, unsigned _i) const
virtual u256 gasLimitRemaining() const =0
Get the remaining gas limit in this block.
void swap(dev::eth::Watch &_a, dev::eth::Watch &_b)
virtual void flushTransactions()=0
Blocks until all pending transactions have been processed.
TransactionHashes transactionHashes(BlockNumber _block) const
virtual bool wouldSeal() const =0
Would we like to be sealing now?
bytes codeAt(Address _a) const
virtual h256 submitTransaction(TransactionSkeleton const &_t, Secret const &_secret)=0
Watch(Interface &_c, h256 _f)
virtual u256 balanceAt(Address _a, BlockNumber _block) const =0
virtual LocalisedTransaction localisedTransaction(h256 const &_transactionHash) const =0
virtual void setAuthor(Address const &_us)=0
Set the block author address.
virtual ~Interface()
Destructor.
virtual BlockHeader pendingInfo() const
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=GasEstimationCallback())=0
h160s Addresses
A vector of Ethereum addresses.
virtual bool isKnown(BlockNumber _block) const =0
virtual std::pair< h256, unsigned > transactionLocation(h256 const &_transactionHash) const =0
virtual EVMSchedule evmSchedule() const
ExecutionResult call(Secret const &_secret, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict)
UncleHashes uncleHashes(BlockNumber _block) const
virtual Transactions transactions(h256 _blockHash) const =0
virtual Transactions pending() const =0
u256 balanceAt(Address _a) const
unsigned uncleCount(BlockNumber _block) const
virtual LocalisedTransactionReceipt localisedTransactionReceipt(h256 const &_transactionHash) const =0
virtual TransactionReceipt transactionReceipt(h256 const &_transactionHash) const =0
virtual void startSealing()=0
virtual Transaction transaction(h256 _transactionHash) const =0
Address toAddress(std::string const &_s)
Convert the given string into an address.
std::vector< h256 > h256s
virtual int compareBlockHashes(h256 _h1, h256 _h2) const =0
LocalisedLogEntries checkWatchSafe(unsigned _watchId)
virtual TransactionHashes transactionHashes(h256 _blockHash) const =0
LocalisedLogEntries peekWatchSafe(unsigned _watchId) const
virtual u256 countAt(Address _a, BlockNumber _block) const =0
std::vector< byte > bytes
virtual void setNetworkId(u256 const &)
Sets the network id.
LocalisedLogEntries check()
virtual SyncStatus syncStatus() const =0
Get some information on the block queue.
virtual unsigned installWatch(h256 _filterId, Reaping _r=Reaping::Automatic)=0
virtual h256s pendingHashes() const =0
std::function< void(GasEstimationProgress const &)> GasEstimationCallback
virtual std::tuple< h256, h256, h256 > getWork()=0
virtual BlockNumber numberFromHash(h256 _blockHash) const =0
virtual bool isKnownTransaction(h256 const &_transactionHash) const =0
virtual bool isKnown(h256 const &_hash) const =0
virtual Transaction transaction(h256 _blockHash, unsigned _i) const =0
virtual TransactionSkeleton populateTransactionWithDefaults(TransactionSkeleton const &_t) const =0
Populate the uninitialized fields in the supplied transaction with default values.
Main API hub for interfacing with Ethereum.
LocalisedLogEntries peek()
Watch(Interface &_c, LogFilter const &_tf)
constexpr u256 Invalid256
virtual u256 networkId() const
Gets the network id.
virtual bool isSyncing() const
Are we updating the chain (syncing or importing a new block)?
virtual BlockDetails blockDetails(h256 _hash) const =0
std::vector< LocalisedLogEntry > LocalisedLogEntries
ExecutionResult call(Secret const &_secret, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, FudgeFactor _ff=FudgeFactor::Strict)
LocalisedLogEntries logs() const
virtual bool isKnownTransaction(h256 const &_blockHash, unsigned _i) const =0
virtual LocalisedLogEntries logs(LogFilter const &_filter) const =0
virtual ExecutionResult call(Address const &_from, u256 _value, Address _dest, bytes const &_data, u256 _gas, u256 _gasPrice, BlockNumber _blockNumber, FudgeFactor _ff=FudgeFactor::Strict)=0
Makes the given call. Nothing is recorded into the state.
std::map< h256, std::pair< u256, u256 > > storageAt(Address _a) const
virtual bytes codeAt(Address _a, BlockNumber _block) const =0
virtual void stopSealing()=0
virtual bool uninstallWatch(unsigned _watchId)=0
virtual LocalisedLogEntries peekWatch(unsigned _watchId) const =0
virtual LocalisedLogEntries checkWatch(unsigned _watchId)=0
virtual LocalisedTransaction localisedTransaction(h256 const &_blockHash, unsigned _i) const =0
boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > u256
virtual Addresses addresses(BlockNumber _block) const =0
virtual Addresses addresses() const
ExecutionResult call(Address const &_from, u256 _value, Address _dest, bytes const &_data=bytes(), u256 _gas=1000000, u256 _gasPrice=DefaultGasPrice, FudgeFactor _ff=FudgeFactor::Strict)
virtual bool isMajorSyncing() const
Are we syncing the chain?
virtual unsigned transactionCount(BlockNumber _block) const =0
Description of the result of executing a transaction.
virtual std::map< h256, std::pair< u256, u256 > > storageAt(Address _a, BlockNumber _block) const =0
h256 codeHashAt(Address _a) const
virtual unsigned transactionCount(h256 _blockHash) const =0
virtual h256 importTransaction(Transaction const &_t)=0
Imports the given transaction into the transaction queue.
virtual unsigned uncleCount(h256 _blockHash) const =0
virtual BlockDetails pendingDetails() const
virtual LocalisedLogEntries logs(unsigned _watchId) const =0