Trait EthereumRuntimeRPCApi

Source
pub trait EthereumRuntimeRPCApi<Block: BlockT>: Core<Block> {
Show 30 methods // Provided methods fn chain_id( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError> { ... } fn account_basic( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, ) -> Result<Account, ApiError> { ... } fn gas_price( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<U256, ApiError> { ... } fn account_code_at( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, ) -> Result<Vec<u8>, ApiError> { ... } fn author( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Address, ApiError> { ... } fn storage_at( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, index: U256, ) -> Result<H256, ApiError> { ... } fn call_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError> { ... } fn call_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError> { ... } fn call_before_version_5( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError> { ... } fn call_before_version_6( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<Vec<u8>>, DispatchError>, ApiError> { ... } fn call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, authorization_list: Option<AuthorizationList>, ) -> Result<Result<ExecutionInfoV2<Vec<u8>>, DispatchError>, ApiError> { ... } fn create_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError> { ... } fn create_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError> { ... } fn create_before_version_5( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError> { ... } fn create_before_version_6( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<Address>, DispatchError>, ApiError> { ... } fn create( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, authorization_list: Option<AuthorizationList>, ) -> Result<Result<ExecutionInfoV2<Address>, DispatchError>, ApiError> { ... } fn current_block_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<BlockV0>, ApiError> { ... } fn current_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<BlockV3>, ApiError> { ... } fn current_receipts_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<ReceiptV0>>, ApiError> { ... } fn current_receipts( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<ReceiptV4>>, ApiError> { ... } fn current_transaction_statuses( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<TransactionStatus>>, ApiError> { ... } fn current_all_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV0>, Option<Vec<ReceiptV0>>, Option<Vec<TransactionStatus>>), ApiError> { ... } fn current_all_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV3>, Option<Vec<ReceiptV0>>, Option<Vec<TransactionStatus>>), ApiError> { ... } fn current_all( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV3>, Option<Vec<ReceiptV4>>, Option<Vec<TransactionStatus>>), ApiError> { ... } fn extrinsic_filter_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<Vec<TransactionV0>, ApiError> { ... } fn extrinsic_filter( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<Vec<TransactionV3>, ApiError> { ... } fn elasticity( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Permill>, ApiError> { ... } fn gas_limit_multiplier_support( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(), ApiError> { ... } fn pending_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<(Option<BlockV3>, Option<Vec<TransactionStatus>>), ApiError> { ... } fn initialize_pending_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, header: &<Block as BlockT>::Header, ) -> Result<(), ApiError> { ... }
}
Expand description

API necessary for Ethereum-compatibility layer.

Provided MethodsΒ§

Source

fn chain_id( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>

Returns runtime defined pallet_evm::ChainId.

Source

fn account_basic( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, ) -> Result<Account, ApiError>

Returns pallet_evm::Accounts by address.

Source

fn gas_price( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<U256, ApiError>

Returns FixedGasPrice::min_gas_price

Source

fn account_code_at( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, ) -> Result<Vec<u8>, ApiError>

For a given account address, returns pallet_evm::AccountCodes.

Source

fn author( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Address, ApiError>

Returns the converted FindAuthor::find_author authority id.

Source

fn storage_at( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: Address, index: U256, ) -> Result<H256, ApiError>

For a given account address and index, returns pallet_evm::AccountStorages.

Source

fn call_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

πŸ‘ŽDeprecated

Returns a frame_ethereum::call response. If estimate is true,

Source

fn call_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn call_before_version_5( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn call_before_version_6( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<Vec<u8>>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, to: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, authorization_list: Option<AuthorizationList>, ) -> Result<Result<ExecutionInfoV2<Vec<u8>>, DispatchError>, ApiError>

Source

fn create_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError>

πŸ‘ŽDeprecated

Returns a frame_ethereum::create response.

Source

fn create_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn create_before_version_5( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<Address>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn create_before_version_6( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<Address>, DispatchError>, ApiError>

πŸ‘ŽDeprecated
Source

fn create( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, from: Address, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(Address, Vec<H256>)>>, authorization_list: Option<AuthorizationList>, ) -> Result<Result<ExecutionInfoV2<Address>, DispatchError>, ApiError>

Source

fn current_block_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<BlockV0>, ApiError>

πŸ‘ŽDeprecated

Return the current block. Legacy.

Source

fn current_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<BlockV3>, ApiError>

Return the current block.

Source

fn current_receipts_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<ReceiptV0>>, ApiError>

πŸ‘ŽDeprecated

Return the current receipt.

Source

fn current_receipts( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<ReceiptV4>>, ApiError>

Return the current receipt.

Source

fn current_transaction_statuses( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Vec<TransactionStatus>>, ApiError>

Return the current transaction status.

Source

fn current_all_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV0>, Option<Vec<ReceiptV0>>, Option<Vec<TransactionStatus>>), ApiError>

πŸ‘ŽDeprecated

Return all the current data for a block in a single runtime call. Legacy.

Source

fn current_all_before_version_4( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV3>, Option<Vec<ReceiptV0>>, Option<Vec<TransactionStatus>>), ApiError>

πŸ‘ŽDeprecated

Return all the current data for a block in a single runtime call.

Source

fn current_all( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(Option<BlockV3>, Option<Vec<ReceiptV4>>, Option<Vec<TransactionStatus>>), ApiError>

Source

fn extrinsic_filter_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<Vec<TransactionV0>, ApiError>

πŸ‘ŽDeprecated

Receives a Vec<OpaqueExtrinsic> and filters all the ethereum transactions. Legacy.

Source

fn extrinsic_filter( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<Vec<TransactionV3>, ApiError>

Receives a Vec<OpaqueExtrinsic> and filters all the ethereum transactions.

Source

fn elasticity( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Option<Permill>, ApiError>

Return the elasticity multiplier.

Source

fn gas_limit_multiplier_support( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(), ApiError>

Used to determine if gas limit multiplier for non-transactional calls (eth_call/estimateGas) is supported.

Source

fn pending_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, xts: Vec<<Block as BlockT>::Extrinsic>, ) -> Result<(Option<BlockV3>, Option<Vec<TransactionStatus>>), ApiError>

Return the pending block.

Source

fn initialize_pending_block( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, header: &<Block as BlockT>::Header, ) -> Result<(), ApiError>

Initialize the pending block. The behavior should be the same as the runtime api Core_initialize_block but for a β€œpending” block. If your project don’t need to have a different behavior to initialize β€œpending” blocks, you can copy your Core_initialize_block implementation.

Trait ImplementationsΒ§

SourceΒ§

impl<Block: BlockT> RuntimeApiInfo for dyn EthereumRuntimeRPCApi<Block>

SourceΒ§

const ID: [u8; 8]

The identifier of the runtime api.
SourceΒ§

const VERSION: u32 = 6u32

The version of the runtime api.

ImplementorsΒ§