Struct polymesh_api::polymesh::api::polymesh_contracts::CallApi
source · pub struct CallApi<'api> { /* private fields */ }Implementations§
source§impl<'api> CallApi<'api>
impl<'api> CallApi<'api>
sourcepub fn instantiate_with_code_perms(
&self,
endowment: u128,
gas_limit: u64,
storage_deposit_limit: Option<u128>,
code: Vec<u8>,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions
) -> Result<WrappedCall<'api>>
pub fn instantiate_with_code_perms(
&self,
endowment: u128,
gas_limit: u64,
storage_deposit_limit: Option<u128>,
code: Vec<u8>,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions
) -> Result<WrappedCall<'api>>
Instantiates a smart contract defining it with the given code and salt.
The contract will be attached as a secondary key,
with perms as its permissions, to origin’s identity.
The contract is transferred endowment amount of POLYX.
This is distinct from the gas_limit,
which controls how much gas the deployment code may at most consume.
Arguments
endowmentamount of POLYX to transfer to the contract.gas_limitfor how much gas thedeploycode in the contract may at most consume.storage_deposit_limitThe maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.codewith the WASM binary defining the smart contract.dataThe input data to pass to the contract constructor.saltused for contract address derivation. By varying this, the samecodecan be used under the same identity.permsthat the new secondary key will have.
Errors
- All the errors in
pallet_contracts::Call::instantiate_with_codecan also happen here. - CDD/Permissions are checked, unlike in
pallet_contracts. - Errors that arise when adding a new secondary key can also occur here.
sourcepub fn instantiate_with_hash_perms(
&self,
endowment: u128,
gas_limit: u64,
storage_deposit_limit: Option<u128>,
code_hash: H256,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions
) -> Result<WrappedCall<'api>>
pub fn instantiate_with_hash_perms(
&self,
endowment: u128,
gas_limit: u64,
storage_deposit_limit: Option<u128>,
code_hash: H256,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions
) -> Result<WrappedCall<'api>>
Instantiates a smart contract defining using the given code_hash and salt.
Unlike instantiate_with_code,
this assumes that at least one contract with the same WASM code has already been uploaded.
The contract will be attached as a secondary key,
with perms as its permissions, to origin’s identity.
The contract is transferred endowment amount of POLYX.
This is distinct from the gas_limit,
which controls how much gas the deployment code may at most consume.
Arguments
endowmentamount of POLYX to transfer to the contract.gas_limitfor how much gas thedeploycode in the contract may at most consume.storage_deposit_limitThe maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.code_hashof an already uploaded WASM binary.dataThe input data to pass to the contract constructor.saltused for contract address derivation. By varying this, the samecodecan be used under the same identity.permsthat the new secondary key will have.
Errors
- All the errors in
pallet_contracts::Call::instantiatecan also happen here. - CDD/Permissions are checked, unlike in
pallet_contracts. - Errors that arise when adding a new secondary key can also occur here.
Trait Implementations§
Auto Trait Implementations§
impl<'api> !RefUnwindSafe for CallApi<'api>
impl<'api> Send for CallApi<'api>
impl<'api> Sync for CallApi<'api>
impl<'api> Unpin for CallApi<'api>
impl<'api> !UnwindSafe for CallApi<'api>
Blanket Implementations§
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read moresource§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.