Struct polymesh_api::polymesh::api::polymesh_contracts::CallApi
source · [−]pub struct CallApi<'api> { /* private fields */ }
Implementations
sourceimpl<'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
endowment
amount of POLYX to transfer to the contract.gas_limit
for how much gas thedeploy
code in the contract may at most consume.storage_deposit_limit
The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.code
with the WASM binary defining the smart contract.data
The input data to pass to the contract constructor.salt
used for contract address derivation. By varying this, the samecode
can be used under the same identity.perms
that the new secondary key will have.
Errors
- All the errors in
pallet_contracts::Call::instantiate_with_code
can 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
endowment
amount of POLYX to transfer to the contract.gas_limit
for how much gas thedeploy
code in the contract may at most consume.storage_deposit_limit
The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed.code_hash
of an already uploaded WASM binary.data
The input data to pass to the contract constructor.salt
used for contract address derivation. By varying this, the samecode
can be used under the same identity.perms
that the new secondary key will have.
Errors
- All the errors in
pallet_contracts::Call::instantiate
can 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
W: Write + ?Sized,impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
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 morefn 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 morefn 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 morefn 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 moresourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
sourcefn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moreimpl<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
.sourceimpl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
sourcefn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.