Trait pallet_contracts::ContractsApi
source · pub trait ContractsApi<Block: BlockT, AccountId, Balance, BlockNumber, Hash, EventRecord>: Core<Block>where
AccountId: Codec,
Balance: Codec,
BlockNumber: Codec,
Hash: Codec,
EventRecord: Codec,{
// Provided methods
fn call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
dest: AccountId,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
input_data: Vec<u8>,
) -> Result<ContractExecResult<Balance, EventRecord>, 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<Hash>,
data: Vec<u8>,
salt: Vec<u8>,
) -> Result<ContractInstantiateResult<AccountId, Balance, EventRecord>, ApiError> { ... }
fn upload_code(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
code: Vec<u8>,
storage_deposit_limit: Option<Balance>,
determinism: Determinism,
) -> Result<CodeUploadResult<Hash, Balance>, ApiError> { ... }
fn get_storage(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: AccountId,
key: Vec<u8>,
) -> Result<GetStorageResult, ApiError> { ... }
}
Expand description
The API used to dry-run contract interactions.
Provided Methods§
sourcefn call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
dest: AccountId,
value: Balance,
gas_limit: Option<Weight>,
storage_deposit_limit: Option<Balance>,
input_data: Vec<u8>,
) -> Result<ContractExecResult<Balance, EventRecord>, ApiError>
fn call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: AccountId, dest: AccountId, value: Balance, gas_limit: Option<Weight>, storage_deposit_limit: Option<Balance>, input_data: Vec<u8>, ) -> Result<ContractExecResult<Balance, EventRecord>, 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<Hash>,
data: Vec<u8>,
salt: Vec<u8>,
) -> Result<ContractInstantiateResult<AccountId, Balance, EventRecord>, 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<Hash>, data: Vec<u8>, salt: Vec<u8>, ) -> Result<ContractInstantiateResult<AccountId, Balance, EventRecord>, ApiError>
Instantiate a new contract.
See [crate::Pallet::bare_instantiate]
.
sourcefn upload_code(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
origin: AccountId,
code: Vec<u8>,
storage_deposit_limit: Option<Balance>,
determinism: Determinism,
) -> Result<CodeUploadResult<Hash, Balance>, ApiError>
fn upload_code( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, origin: AccountId, code: Vec<u8>, storage_deposit_limit: Option<Balance>, determinism: Determinism, ) -> Result<CodeUploadResult<Hash, Balance>, ApiError>
Upload new code without instantiating a contract from it.
sourcefn get_storage(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
address: AccountId,
key: Vec<u8>,
) -> Result<GetStorageResult, ApiError>
fn get_storage( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, address: AccountId, key: Vec<u8>, ) -> 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.