pub struct PolymeshContractsCallApi<'api> { /* private fields */ }
Implementations§
Source§impl<'api> PolymeshContractsCallApi<'api>
impl<'api> PolymeshContractsCallApi<'api>
Sourcepub fn instantiate_with_code_perms(
&self,
endowment: u128,
gas_limit: Weight,
storage_deposit_limit: Option<u128>,
code: Vec<u8>,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions,
) -> Result<WrappedCall>
pub fn instantiate_with_code_perms( &self, endowment: u128, gas_limit: Weight, storage_deposit_limit: Option<u128>, code: Vec<u8>, data: Vec<u8>, salt: Vec<u8>, perms: Permissions, ) -> Result<WrappedCall>
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: Weight,
storage_deposit_limit: Option<u128>,
code_hash: H256,
data: Vec<u8>,
salt: Vec<u8>,
perms: Permissions,
) -> Result<WrappedCall>
pub fn instantiate_with_hash_perms( &self, endowment: u128, gas_limit: Weight, storage_deposit_limit: Option<u128>, code_hash: H256, data: Vec<u8>, salt: Vec<u8>, perms: Permissions, ) -> Result<WrappedCall>
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.
Sourcepub fn update_call_runtime_whitelist(
&self,
updates: Vec<(ExtrinsicId, bool)>,
) -> Result<WrappedCall>
pub fn update_call_runtime_whitelist( &self, updates: Vec<(ExtrinsicId, bool)>, ) -> Result<WrappedCall>
Sourcepub fn instantiate_with_code_as_primary_key(
&self,
endowment: u128,
gas_limit: Weight,
storage_deposit_limit: Option<u128>,
code: Vec<u8>,
data: Vec<u8>,
salt: Vec<u8>,
) -> Result<WrappedCall>
pub fn instantiate_with_code_as_primary_key( &self, endowment: u128, gas_limit: Weight, storage_deposit_limit: Option<u128>, code: Vec<u8>, data: Vec<u8>, salt: Vec<u8>, ) -> Result<WrappedCall>
Instantiates a smart contract defining it with the given code
and salt
.
The contract will be attached as a primary key of a newly created child identity of the caller.
§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
: 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.
Sourcepub fn instantiate_with_hash_as_primary_key(
&self,
endowment: u128,
gas_limit: Weight,
storage_deposit_limit: Option<u128>,
code_hash: H256,
data: Vec<u8>,
salt: Vec<u8>,
) -> Result<WrappedCall>
pub fn instantiate_with_hash_as_primary_key( &self, endowment: u128, gas_limit: Weight, storage_deposit_limit: Option<u128>, code_hash: H256, data: Vec<u8>, salt: Vec<u8>, ) -> Result<WrappedCall>
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 primary key of a newly created child identity of the caller.
§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.
pub fn upgrade_api( &self, api: Api, next_upgrade: NextUpgrade, ) -> Result<WrappedCall>
Trait Implementations§
Source§impl<'api> Clone for PolymeshContractsCallApi<'api>
impl<'api> Clone for PolymeshContractsCallApi<'api>
Source§fn clone(&self) -> PolymeshContractsCallApi<'api>
fn clone(&self) -> PolymeshContractsCallApi<'api>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<'api> Freeze for PolymeshContractsCallApi<'api>
impl<'api> !RefUnwindSafe for PolymeshContractsCallApi<'api>
impl<'api> Send for PolymeshContractsCallApi<'api>
impl<'api> Sync for PolymeshContractsCallApi<'api>
impl<'api> Unpin for PolymeshContractsCallApi<'api>
impl<'api> !UnwindSafe for PolymeshContractsCallApi<'api>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
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 moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.