Documentation ¶
Overview ¶
Package jsonrpc contains the implementation of the JSONRPC service which is called by Ethereum clients (e.g. Metamask).
The most relevant types in this package are:
- EthService, NetService, DebugService, etc. which contain the implementations for the `eth_*`, `net_*`, `debug_*`, etc., JSONRPC endpoints. Each endpoint corresponds to a public receiver with the same name. For example, `eth_getTransactionCount` corresponds to EthService.GetTransactionCount.
- EVMChain, which provides common functionality to interact with the EVM state.
- ChainBackend, which provides access to the underlying ISC chain, and has two implementations:
- WaspEVMBackend for the production environment.
- [solo.jsonRPCSoloBackend] for Solo tests.
package jsonrpc implements JSON-RPC endpoints according to https://eth.wiki/json-rpc/API
Index ¶
- func NewServer(evmChain *EVMChain, accountManager *AccountManager, ...) (*rpc.Server, error)
- func RPCMarshalBlock(block *types.Block, inclTx, fullTx bool) (map[string]interface{}, error)
- func RPCMarshalHeader(head *types.Header) map[string]interface{}
- func RPCMarshalReceipt(r *types.Receipt, tx *types.Transaction) map[string]interface{}
- type AccountManager
- type CallFrame
- type ChainBackend
- type DebugService
- type EVMChain
- func (e *EVMChain) Balance(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (*big.Int, error)
- func (e *EVMChain) BaseToken() *parameters.BaseToken
- func (e *EVMChain) BlockByHash(hash common.Hash) *types.Block
- func (e *EVMChain) BlockByNumber(blockNumber *big.Int) (*types.Block, error)
- func (e *EVMChain) BlockNumber() *big.Int
- func (e *EVMChain) BlockTransactionCountByHash(blockHash common.Hash) uint64
- func (e *EVMChain) BlockTransactionCountByNumber(blockNumber *big.Int) (uint64, error)
- func (e *EVMChain) CallContract(callMsg ethereum.CallMsg, blockNumberOrHash *rpc.BlockNumberOrHash) ([]byte, error)
- func (e *EVMChain) ChainID() uint16
- func (e *EVMChain) Code(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) ([]byte, error)
- func (e *EVMChain) EstimateGas(callMsg ethereum.CallMsg, blockNumberOrHash *rpc.BlockNumberOrHash) (uint64, error)
- func (e *EVMChain) GasFeePolicy() *gas.FeePolicy
- func (e *EVMChain) GasPrice() *big.Int
- func (e *EVMChain) GasRatio() util.Ratio32
- func (e *EVMChain) Logs(query *ethereum.FilterQuery, params *LogsLimits) ([]*types.Log, error)
- func (e *EVMChain) SendTransaction(tx *types.Transaction) error
- func (e *EVMChain) Signer() (types.Signer, error)
- func (e *EVMChain) StorageAt(address common.Address, key common.Hash, ...) (common.Hash, error)
- func (e *EVMChain) SubscribeLogs(q *ethereum.FilterQuery, ch chan<- []*types.Log) (unsubscribe func())
- func (e *EVMChain) SubscribeNewHeads(ch chan<- *types.Header) (unsubscribe func())
- func (e *EVMChain) TraceTransaction(txHash common.Hash, config *tracers.TraceConfig) (any, error)
- func (e *EVMChain) TransactionByBlockHashAndIndex(hash common.Hash, index uint64) (tx *types.Transaction, blockNumber uint64, err error)
- func (e *EVMChain) TransactionByBlockNumberAndIndex(blockNumber *big.Int, index uint64) (tx *types.Transaction, blockHash common.Hash, blockNumberRet uint64, err error)
- func (e *EVMChain) TransactionByHash(hash common.Hash) (tx *types.Transaction, blockHash common.Hash, blockNumber, txIndex uint64, ...)
- func (e *EVMChain) TransactionCount(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (uint64, error)
- func (e *EVMChain) TransactionReceipt(txHash common.Hash) *types.Receipt
- func (e *EVMChain) ViewCaller(chainState state.State) vmerrors.ViewCaller
- type EVMService
- type EthService
- func (e *EthService) Accounts() []common.Address
- func (e *EthService) BlockNumber() (*hexutil.Big, error)
- func (e *EthService) Call(args *RPCCallArgs, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
- func (e *EthService) ChainId() (hexutil.Uint, error)
- func (e *EthService) Coinbase() common.Address
- func (e *EthService) EstimateGas(args *RPCCallArgs, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Uint64, error)
- func (e *EthService) GasPrice() (*hexutil.Big, error)
- func (e *EthService) GetBalance(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (*hexutil.Big, error)
- func (e *EthService) GetBlockByHash(hash common.Hash, full bool) (map[string]interface{}, error)
- func (e *EthService) GetBlockByNumber(blockNumber rpc.BlockNumber, full bool) (map[string]interface{}, error)
- func (e *EthService) GetBlockTransactionCountByHash(blockHash common.Hash) (hexutil.Uint, error)
- func (e *EthService) GetBlockTransactionCountByNumber(blockNumber rpc.BlockNumber) (hexutil.Uint, error)
- func (e *EthService) GetCode(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
- func (e *EthService) GetCompilers() []string
- func (e *EthService) GetLogs(q *RPCFilterQuery) ([]*types.Log, error)
- func (e *EthService) GetStorageAt(address common.Address, key string, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
- func (e *EthService) GetTransactionByBlockHashAndIndex(blockHash common.Hash, index hexutil.Uint) (*RPCTransaction, error)
- func (e *EthService) GetTransactionByBlockNumberAndIndex(blockNumberOrTag rpc.BlockNumber, index hexutil.Uint) (*RPCTransaction, error)
- func (e *EthService) GetTransactionByHash(hash common.Hash) (*RPCTransaction, error)
- func (e *EthService) GetTransactionCount(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Uint64, error)
- func (e *EthService) GetTransactionReceipt(txHash common.Hash) (map[string]interface{}, error)
- func (e *EthService) GetUncleByBlockHashAndIndex(blockHash common.Hash, index hexutil.Uint) map[string]interface{}
- func (e *EthService) GetUncleByBlockNumberAndIndex(blockNumberOrTag rpc.BlockNumber, index hexutil.Uint) map[string]interface{}
- func (e *EthService) GetUncleCountByBlockHash(blockHash common.Hash) hexutil.Uint
- func (e *EthService) GetUncleCountByBlockNumber(blockNumber rpc.BlockNumber) hexutil.Uint
- func (e *EthService) Hashrate() float64
- func (e *EthService) Logs(ctx context.Context, q *RPCFilterQuery) (*rpc.Subscription, error)
- func (e *EthService) Mining() bool
- func (e *EthService) NewHeads(ctx context.Context) (*rpc.Subscription, error)
- func (e *EthService) ProtocolVersion() hexutil.Uint
- func (e *EthService) SendRawTransaction(txBytes hexutil.Bytes) (common.Hash, error)
- func (e *EthService) SendTransaction(args *SendTxArgs) (common.Hash, error)
- func (e *EthService) Sign(addr common.Address, data hexutil.Bytes) (hexutil.Bytes, error)
- func (e *EthService) SignTransaction(args *SendTxArgs) (hexutil.Bytes, error)
- func (e *EthService) Syncing() bool
- type LogsLimits
- type NetService
- type NewBlockEvent
- type Parameters
- type RPCCallArgs
- type RPCFilterQuery
- type RPCTransaction
- type SendTxArgs
- type TxPoolService
- type WaspEVMBackend
- func (b *WaspEVMBackend) BaseToken() *parameters.BaseToken
- func (b *WaspEVMBackend) EVMCall(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) ([]byte, error)
- func (b *WaspEVMBackend) EVMEstimateGas(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) (uint64, error)
- func (b *WaspEVMBackend) EVMGasRatio() (util.Ratio32, error)
- func (b *WaspEVMBackend) EVMSendTransaction(tx *types.Transaction) error
- func (b *WaspEVMBackend) EVMTraceTransaction(aliasOutput *isc.AliasOutputWithID, blockTime time.Time, ...) error
- func (b *WaspEVMBackend) ISCCallView(chainState state.State, scName, funName string, args dict.Dict) (dict.Dict, error)
- func (b *WaspEVMBackend) ISCChainID() *isc.ChainID
- func (b *WaspEVMBackend) ISCLatestAliasOutput() (*isc.AliasOutputWithID, error)
- func (b *WaspEVMBackend) ISCLatestState() state.State
- func (b *WaspEVMBackend) ISCStateByBlockIndex(blockIndex uint32) (state.State, error)
- func (b *WaspEVMBackend) ISCStateByTrieRoot(trieRoot trie.Hash) (state.State, error)
- func (*WaspEVMBackend) RevertToSnapshot(int) error
- func (*WaspEVMBackend) TakeSnapshot() (int, error)
- type Web3Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewServer ¶
func NewServer( evmChain *EVMChain, accountManager *AccountManager, metrics *metrics.ChainWebAPIMetrics, params *Parameters, ) (*rpc.Server, error)
func RPCMarshalBlock ¶
RPCMarshalBlock converts the given block to the RPC output which depends on fullTx. If inclTx is true transactions are returned. When fullTx is true the returned block contains full transaction details, otherwise it will only contain transaction hashes.
func RPCMarshalHeader ¶
RPCMarshalHeader converts the given header to the RPC output .
func RPCMarshalReceipt ¶
func RPCMarshalReceipt(r *types.Receipt, tx *types.Transaction) map[string]interface{}
Types ¶
type AccountManager ¶
type AccountManager struct {
// contains filtered or unexported fields
}
func NewAccountManager ¶
func NewAccountManager(accounts []*ecdsa.PrivateKey) *AccountManager
func (*AccountManager) Add ¶
func (a *AccountManager) Add(keyPair *ecdsa.PrivateKey)
func (*AccountManager) Addresses ¶
func (a *AccountManager) Addresses() []common.Address
func (*AccountManager) Get ¶
func (a *AccountManager) Get(addr common.Address) *ecdsa.PrivateKey
type CallFrame ¶ added in v1.0.3
type CallFrame struct { Type string `json:"type"` From string `json:"from"` To string `json:"to,omitempty"` Value string `json:"value,omitempty"` Gas string `json:"gas"` GasUsed string `json:"gasUsed"` Input string `json:"input"` Output string `json:"output,omitempty"` Error string `json:"error,omitempty"` Calls []CallFrame `json:"calls,omitempty"` }
CallFrame contains the result of a trace with "callTracer". Code is 100% copied from go-ethereum (since the type is unexported there)
type ChainBackend ¶
type ChainBackend interface { EVMSendTransaction(tx *types.Transaction) error EVMCall(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) ([]byte, error) EVMEstimateGas(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) (uint64, error) EVMTraceTransaction(aliasOutput *isc.AliasOutputWithID, blockTime time.Time, iscRequestsInBlock []isc.Request, txIndex uint64, tracer tracers.Tracer) error ISCChainID() *isc.ChainID ISCCallView(chainState state.State, scName string, funName string, args dict.Dict) (dict.Dict, error) ISCLatestAliasOutput() (*isc.AliasOutputWithID, error) ISCLatestState() state.State ISCStateByBlockIndex(blockIndex uint32) (state.State, error) ISCStateByTrieRoot(trieRoot trie.Hash) (state.State, error) BaseToken() *parameters.BaseToken TakeSnapshot() (int, error) RevertToSnapshot(int) error }
ChainBackend provides access to the underlying ISC chain.
type DebugService ¶ added in v1.0.3
type DebugService struct {
// contains filtered or unexported fields
}
func NewDebugService ¶ added in v1.0.3
func NewDebugService(evmChain *EVMChain, metrics *metrics.ChainWebAPIMetrics) *DebugService
func (*DebugService) TraceTransaction ¶ added in v1.0.3
func (d *DebugService) TraceTransaction(txHash common.Hash, config *tracers.TraceConfig) (interface{}, error)
type EVMChain ¶
type EVMChain struct {
// contains filtered or unexported fields
}
EVMChain provides common functionality to interact with the EVM state.
func NewEVMChain ¶
func (*EVMChain) BaseToken ¶ added in v0.3.0
func (e *EVMChain) BaseToken() *parameters.BaseToken
func (*EVMChain) BlockByNumber ¶
func (*EVMChain) BlockNumber ¶
func (*EVMChain) BlockTransactionCountByHash ¶
func (*EVMChain) BlockTransactionCountByNumber ¶
func (*EVMChain) CallContract ¶
func (e *EVMChain) CallContract(callMsg ethereum.CallMsg, blockNumberOrHash *rpc.BlockNumberOrHash) ([]byte, error)
func (*EVMChain) EstimateGas ¶
func (e *EVMChain) EstimateGas(callMsg ethereum.CallMsg, blockNumberOrHash *rpc.BlockNumberOrHash) (uint64, error)
func (*EVMChain) GasFeePolicy ¶ added in v0.3.0
func (*EVMChain) Logs ¶
func (e *EVMChain) Logs(query *ethereum.FilterQuery, params *LogsLimits) ([]*types.Log, error)
Logs executes a log filter operation, blocking during execution and returning all the results in one batch.
func (*EVMChain) SendTransaction ¶
func (e *EVMChain) SendTransaction(tx *types.Transaction) error
func (*EVMChain) SubscribeLogs ¶ added in v1.0.3
func (*EVMChain) SubscribeNewHeads ¶ added in v1.0.3
func (*EVMChain) TraceTransaction ¶ added in v1.0.3
func (*EVMChain) TransactionByBlockHashAndIndex ¶
func (*EVMChain) TransactionByBlockNumberAndIndex ¶
func (*EVMChain) TransactionByHash ¶
func (*EVMChain) TransactionCount ¶
func (*EVMChain) TransactionReceipt ¶
func (*EVMChain) ViewCaller ¶ added in v0.3.0
func (e *EVMChain) ViewCaller(chainState state.State) vmerrors.ViewCaller
type EVMService ¶ added in v1.0.3
type EVMService struct {
// contains filtered or unexported fields
}
func NewEVMService ¶ added in v1.0.3
func NewEVMService(evmChain *EVMChain) *EVMService
type EthService ¶
type EthService struct {
// contains filtered or unexported fields
}
EthService contains the implementations for the `eth_*` JSONRPC endpoints.
Each endpoint corresponds to a public receiver with the same name. For example, `eth_getTransactionCount` corresponds to EthService.GetTransactionCount.
func NewEthService ¶
func NewEthService( evmChain *EVMChain, accounts *AccountManager, metrics *metrics.ChainWebAPIMetrics, params *Parameters, ) *EthService
func (*EthService) Accounts ¶
func (e *EthService) Accounts() []common.Address
func (*EthService) BlockNumber ¶
func (e *EthService) BlockNumber() (*hexutil.Big, error)
func (*EthService) Call ¶
func (e *EthService) Call(args *RPCCallArgs, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
func (*EthService) ChainId ¶
func (e *EthService) ChainId() (hexutil.Uint, error)
ChainID implements the eth_chainId method according to https://eips.ethereum.org/EIPS/eip-695
func (*EthService) Coinbase ¶
func (e *EthService) Coinbase() common.Address
func (*EthService) EstimateGas ¶
func (e *EthService) EstimateGas(args *RPCCallArgs, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Uint64, error)
func (*EthService) GetBalance ¶
func (e *EthService) GetBalance(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (*hexutil.Big, error)
func (*EthService) GetBlockByHash ¶
func (*EthService) GetBlockByNumber ¶
func (e *EthService) GetBlockByNumber(blockNumber rpc.BlockNumber, full bool) (map[string]interface{}, error)
func (*EthService) GetBlockTransactionCountByHash ¶
func (*EthService) GetBlockTransactionCountByNumber ¶
func (e *EthService) GetBlockTransactionCountByNumber(blockNumber rpc.BlockNumber) (hexutil.Uint, error)
func (*EthService) GetCode ¶
func (e *EthService) GetCode(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
func (*EthService) GetCompilers ¶
func (e *EthService) GetCompilers() []string
func (*EthService) GetLogs ¶
func (e *EthService) GetLogs(q *RPCFilterQuery) ([]*types.Log, error)
func (*EthService) GetStorageAt ¶
func (e *EthService) GetStorageAt(address common.Address, key string, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Bytes, error)
func (*EthService) GetTransactionByBlockHashAndIndex ¶
func (e *EthService) GetTransactionByBlockHashAndIndex(blockHash common.Hash, index hexutil.Uint) (*RPCTransaction, error)
func (*EthService) GetTransactionByBlockNumberAndIndex ¶
func (e *EthService) GetTransactionByBlockNumberAndIndex(blockNumberOrTag rpc.BlockNumber, index hexutil.Uint) (*RPCTransaction, error)
func (*EthService) GetTransactionByHash ¶
func (e *EthService) GetTransactionByHash(hash common.Hash) (*RPCTransaction, error)
func (*EthService) GetTransactionCount ¶
func (e *EthService) GetTransactionCount(address common.Address, blockNumberOrHash *rpc.BlockNumberOrHash) (hexutil.Uint64, error)
func (*EthService) GetTransactionReceipt ¶
func (e *EthService) GetTransactionReceipt(txHash common.Hash) (map[string]interface{}, error)
func (*EthService) GetUncleByBlockHashAndIndex ¶
func (*EthService) GetUncleByBlockNumberAndIndex ¶
func (e *EthService) GetUncleByBlockNumberAndIndex(blockNumberOrTag rpc.BlockNumber, index hexutil.Uint) map[string]interface{}
func (*EthService) GetUncleCountByBlockHash ¶
func (e *EthService) GetUncleCountByBlockHash(blockHash common.Hash) hexutil.Uint
func (*EthService) GetUncleCountByBlockNumber ¶
func (e *EthService) GetUncleCountByBlockNumber(blockNumber rpc.BlockNumber) hexutil.Uint
func (*EthService) Hashrate ¶
func (e *EthService) Hashrate() float64
func (*EthService) Logs ¶ added in v1.0.3
func (e *EthService) Logs(ctx context.Context, q *RPCFilterQuery) (*rpc.Subscription, error)
func (*EthService) Mining ¶
func (e *EthService) Mining() bool
func (*EthService) NewHeads ¶ added in v1.0.3
func (e *EthService) NewHeads(ctx context.Context) (*rpc.Subscription, error)
func (*EthService) ProtocolVersion ¶
func (e *EthService) ProtocolVersion() hexutil.Uint
func (*EthService) SendRawTransaction ¶
func (*EthService) SendTransaction ¶
func (e *EthService) SendTransaction(args *SendTxArgs) (common.Hash, error)
func (*EthService) SignTransaction ¶
func (e *EthService) SignTransaction(args *SendTxArgs) (hexutil.Bytes, error)
func (*EthService) Syncing ¶
func (e *EthService) Syncing() bool
type LogsLimits ¶ added in v1.0.3
type NetService ¶
type NetService struct {
// contains filtered or unexported fields
}
func NewNetService ¶
func NewNetService(chainID int) *NetService
func (*NetService) Listening ¶
func (s *NetService) Listening() bool
func (*NetService) PeerCount ¶
func (s *NetService) PeerCount() hexutil.Uint
func (*NetService) Version ¶
func (s *NetService) Version() string
type NewBlockEvent ¶ added in v1.0.3
type NewBlockEvent struct {
// contains filtered or unexported fields
}
type Parameters ¶ added in v1.0.3
type Parameters struct {
Logs LogsLimits
}
func NewParameters ¶ added in v1.0.3
func NewParameters( maxBlocksInLogsFilterRange int, maxLogsInResult int, ) *Parameters
func ParametersDefault ¶ added in v1.0.3
func ParametersDefault() *Parameters
type RPCCallArgs ¶
type RPCFilterQuery ¶
type RPCFilterQuery ethereum.FilterQuery
func (*RPCFilterQuery) UnmarshalJSON ¶
func (q *RPCFilterQuery) UnmarshalJSON(data []byte) error
type RPCTransaction ¶
type RPCTransaction struct { BlockHash *common.Hash `json:"blockHash"` BlockNumber *hexutil.Big `json:"blockNumber"` From common.Address `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` Hash common.Hash `json:"hash"` Input hexutil.Bytes `json:"input"` Nonce hexutil.Uint64 `json:"nonce"` To *common.Address `json:"to"` TransactionIndex *hexutil.Uint64 `json:"transactionIndex"` Value *hexutil.Big `json:"value"` V *hexutil.Big `json:"v"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` }
RPCTransaction represents a transaction that will serialize to the RPC representation of a transaction
type SendTxArgs ¶
type SendTxArgs struct { From common.Address `json:"from"` To *common.Address `json:"to"` Gas *hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` Value *hexutil.Big `json:"value"` Nonce *hexutil.Uint64 `json:"nonce"` // We accept "data" and "input" for backwards-compatibility reasons. "input" is the // newer name and should be preferred by clients. Data *hexutil.Bytes `json:"data"` Input *hexutil.Bytes `json:"input"` }
SendTxArgs represents the arguments to submit a new transaction into the transaction pool.
type TxPoolService ¶
type TxPoolService struct{}
func NewTxPoolService ¶
func NewTxPoolService() *TxPoolService
func (*TxPoolService) Content ¶
func (s *TxPoolService) Content() map[string]map[string]map[string]*RPCTransaction
type WaspEVMBackend ¶ added in v1.0.3
type WaspEVMBackend struct {
// contains filtered or unexported fields
}
WaspEVMBackend is the implementation of ChainBackend for the production environment.
func NewWaspEVMBackend ¶ added in v1.0.3
func NewWaspEVMBackend(ch chain.Chain, nodePubKey *cryptolib.PublicKey, baseToken *parameters.BaseToken) *WaspEVMBackend
func (*WaspEVMBackend) BaseToken ¶ added in v1.0.3
func (b *WaspEVMBackend) BaseToken() *parameters.BaseToken
func (*WaspEVMBackend) EVMCall ¶ added in v1.0.3
func (b *WaspEVMBackend) EVMCall(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) ([]byte, error)
func (*WaspEVMBackend) EVMEstimateGas ¶ added in v1.0.3
func (b *WaspEVMBackend) EVMEstimateGas(aliasOutput *isc.AliasOutputWithID, callMsg ethereum.CallMsg) (uint64, error)
func (*WaspEVMBackend) EVMGasRatio ¶
func (b *WaspEVMBackend) EVMGasRatio() (util.Ratio32, error)
func (*WaspEVMBackend) EVMSendTransaction ¶ added in v1.0.3
func (b *WaspEVMBackend) EVMSendTransaction(tx *types.Transaction) error
func (*WaspEVMBackend) EVMTraceTransaction ¶ added in v1.0.3
func (*WaspEVMBackend) ISCCallView ¶ added in v1.0.3
func (*WaspEVMBackend) ISCChainID ¶ added in v1.0.3
func (b *WaspEVMBackend) ISCChainID() *isc.ChainID
func (*WaspEVMBackend) ISCLatestAliasOutput ¶ added in v1.0.3
func (b *WaspEVMBackend) ISCLatestAliasOutput() (*isc.AliasOutputWithID, error)
func (*WaspEVMBackend) ISCLatestState ¶ added in v1.0.3
func (b *WaspEVMBackend) ISCLatestState() state.State
func (*WaspEVMBackend) ISCStateByBlockIndex ¶ added in v1.0.3
func (b *WaspEVMBackend) ISCStateByBlockIndex(blockIndex uint32) (state.State, error)
func (*WaspEVMBackend) ISCStateByTrieRoot ¶ added in v1.0.3
func (*WaspEVMBackend) RevertToSnapshot ¶ added in v1.0.3
func (*WaspEVMBackend) RevertToSnapshot(int) error
func (*WaspEVMBackend) TakeSnapshot ¶ added in v1.0.3
func (*WaspEVMBackend) TakeSnapshot() (int, error)
type Web3Service ¶
type Web3Service struct{}
func NewWeb3Service ¶
func NewWeb3Service() *Web3Service
func (*Web3Service) ClientVersion ¶
func (s *Web3Service) ClientVersion() string