Trait pallet_revive::ReviveApi
source · pub trait ReviveApi<Block: BlockT, AccountId, Balance, Nonce, BlockNumber>: Core<Block>where
AccountId: Codec,
Balance: Codec,
Nonce: Codec,
BlockNumber: Codec,{
// Provided methods
fn block_gas_limit(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<U256, ApiError> { ... }
fn balance(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
) -> Result<U256, ApiError> { ... }
fn gas_price(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<U256, ApiError> { ... }
fn nonce(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
) -> Result<Nonce, ApiError> { ... }
fn call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
dest: H160,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
input_data: Vec<u8>,
) -> Result<ContractResult<ExecReturnValue, Balance>, ApiError> { ... }
fn instantiate(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
code: Code,
data: Vec<u8>,
salt: Option<[u8; 32]>,
) -> Result<ContractResult<InstantiateReturnValue, Balance>, ApiError> { ... }
fn eth_transact(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
tx: GenericTransaction,
) -> Result<Result<EthTransactInfo<Balance>, EthTransactError>, ApiError> { ... }
fn upload_code(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
code: Vec<u8>,
storage_deposit_limit: Option<Balance>,
) -> Result<CodeUploadResult<Balance>, ApiError> { ... }
fn get_storage(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
key: [u8; 32],
) -> Result<GetStorageResult, ApiError> { ... }
fn trace_block(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
block: Block,
config: TracerConfig,
) -> Result<Vec<(u32, CallTrace)>, ApiError> { ... }
fn trace_tx(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
block: Block,
tx_index: u32,
config: TracerConfig,
) -> Result<Option<CallTrace>, ApiError> { ... }
fn trace_call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
tx: GenericTransaction,
config: TracerConfig,
) -> Result<Result<CallTrace, EthTransactError>, ApiError> { ... }
}
Expand description
The API used to dry-run contract interactions.
Provided Methods§
sourcefn block_gas_limit(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<U256, ApiError>
fn block_gas_limit( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<U256, ApiError>
Returns the block gas limit.
sourcefn balance(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
) -> Result<U256, ApiError>
fn balance( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: H160, ) -> Result<U256, ApiError>
Returns the free balance of the given [H160]
address, using EVM decimals.
sourcefn gas_price(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<U256, ApiError>
fn gas_price( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<U256, ApiError>
Returns the gas price.
sourcefn nonce(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
) -> Result<Nonce, ApiError>
fn nonce( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: H160, ) -> Result<Nonce, ApiError>
Returns the nonce of the given [H160]
address.
sourcefn call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
dest: H160,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
input_data: Vec<u8>,
) -> Result<ContractResult<ExecReturnValue, Balance>, ApiError>
fn call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: AccountId, dest: H160, value: Balance, gas_limit: Option<Weight>, storage_deposit_limit: Option<Balance>, input_data: Vec<u8>, ) -> Result<ContractResult<ExecReturnValue, Balance>, ApiError>
Perform a call from a specified account to a given contract.
sourcefn instantiate(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
code: Code,
data: Vec<u8>,
salt: Option<[u8; 32]>,
) -> Result<ContractResult<InstantiateReturnValue, Balance>, ApiError>
fn instantiate( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: AccountId, value: Balance, gas_limit: Option<Weight>, storage_deposit_limit: Option<Balance>, code: Code, data: Vec<u8>, salt: Option<[u8; 32]>, ) -> Result<ContractResult<InstantiateReturnValue, Balance>, ApiError>
Instantiate a new contract.
See [crate::Pallet::bare_instantiate]
.
sourcefn eth_transact(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
tx: GenericTransaction,
) -> Result<Result<EthTransactInfo<Balance>, EthTransactError>, ApiError>
fn eth_transact( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, tx: GenericTransaction, ) -> Result<Result<EthTransactInfo<Balance>, EthTransactError>, ApiError>
Perform an Ethereum call.
sourcefn upload_code(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
code: Vec<u8>,
storage_deposit_limit: Option<Balance>,
) -> Result<CodeUploadResult<Balance>, ApiError>
fn upload_code( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: AccountId, code: Vec<u8>, storage_deposit_limit: Option<Balance>, ) -> Result<CodeUploadResult<Balance>, ApiError>
Upload new code without instantiating a contract from it.
sourcefn get_storage(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: H160,
key: [u8; 32],
) -> Result<GetStorageResult, ApiError>
fn get_storage( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: H160, key: [u8; 32], ) -> Result<GetStorageResult, ApiError>
Query a given storage key in a given contract.
Returns Ok(Some(Vec<u8>))
if the storage value exists under the given key in the
specified account and Ok(None)
if it doesn’t. If the account specified by the address
doesn’t exist, or doesn’t have a contract then Err
is returned.
sourcefn trace_block(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
block: Block,
config: TracerConfig,
) -> Result<Vec<(u32, CallTrace)>, ApiError>
fn trace_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, block: Block, config: TracerConfig, ) -> Result<Vec<(u32, CallTrace)>, ApiError>
Traces the execution of an entire block and returns call traces.
This is intended to be called through state_call
to replay the block from the
parent block.
See eth-rpc debug_traceBlockByNumber
for usage.
sourcefn trace_tx(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
block: Block,
tx_index: u32,
config: TracerConfig,
) -> Result<Option<CallTrace>, ApiError>
fn trace_tx( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, block: Block, tx_index: u32, config: TracerConfig, ) -> Result<Option<CallTrace>, ApiError>
Traces the execution of a specific transaction within a block.
This is intended to be called through state_call
to replay the block from the
parent hash up to the transaction.
See eth-rpc debug_traceTransaction
for usage.
sourcefn trace_call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
tx: GenericTransaction,
config: TracerConfig,
) -> Result<Result<CallTrace, EthTransactError>, ApiError>
fn trace_call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, tx: GenericTransaction, config: TracerConfig, ) -> Result<Result<CallTrace, EthTransactError>, ApiError>
Dry run and return the trace of the given call.
See eth-rpc debug_traceCall
for usage.