pub struct PaymentStrParams<'a> { /* private fields */ }Expand description
Container for payment-related arguments used while constructing a Deploy.
§payment_args_simple
For methods taking payment_args_simple, this parameter is the payment contract arguments, in
the form <NAME:TYPE='VALUE'> or <NAME:TYPE=null>.
It can only be used with the following simple CLTypes: bool, i32, i64, u8, u32, u64, u128,
u256, u512, unit, string, key, account_hash, uref, public_key and Option of each of these.
Example inputs are:
name_01:bool='false'
name_02:i32='-1'
name_03:i64='-2'
name_04:u8='3'
name_05:u32='4'
name_06:u64='5'
name_07:u128='6'
name_08:u256='7'
name_09:u512='8'
name_10:unit=''
name_11:string='a value'
key_account_name:key='account-hash-0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20'
key_hash_name:key='hash-0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20'
key_uref_name:key='uref-0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20-000'
account_hash_name:account_hash='account-hash-0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20'
uref_name:uref='uref-0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20-007'
public_key_name:public_key='0119bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1'For optional values of any these types, prefix the type with “opt_” and use the term “null” without quotes to specify a None value:
name_01:opt_bool='true' # Some(true)
name_02:opt_bool='false' # Some(false)
name_03:opt_bool=null # None
name_04:opt_i32='-1' # Some(-1)
name_05:opt_i32=null # None
name_06:opt_unit='' # Some(())
name_07:opt_unit=null # None
name_08:opt_string='a value' # Some("a value".to_string())
name_09:opt_string='null' # Some("null".to_string())
name_10:opt_string=null # NoneTo get a list of supported types, call cli::simple_args_help::supported_cl_type_list. To
get this list of examples for supported types, call
cli::simple_args_help::supported_cl_type_examples.
§payment_args_json
For methods taking payment_args_json, this parameter is the payment contract arguments, as a
JSON-encoded Array of JSON Objects of the form:
[{"name":<String>,"type":<VALUE>,"value":<VALUE>}]To get comprehensive information and a set of examples, call
cli::json_args_help::info_and_examples.
Example inputs are:
[{"name":"a","type":"Bool","value":false}]
[{"name":"b","type":"I32","value":-1}]
[{"name":"c","type":"U64","value":1}]
[{"name":"d","type":"U512","value":"20000000000000000000"}]
[{"name":"e","type":"Unit","value":null}]
[{"name":"f","type":"String","value":"a"}]
[{"name":"g","type":"Key","value":"account-hash-201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201"}]
[{"name":"h","type":"URef","value":"uref-201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201-007"}]
[{"name":"i","type":"PublicKey","value":"017279ea868d185a40ed32ec076807c070de9c0fe986f5418c2aa71478f1e8ddf8"}]
[{"name":"j","type":{"Option":"U64"},"value":999}] # Some(999_u64)
[{"name":"k","type":{"Option":"String"},"value":null}] # None
[{"name":"l","type":{"List":{"Option":"U256"}},"value":[1,null,"3"]}]
[{"name":"m","type":{"List":"U8"},"value":"0102ff"}] # for Vec<u8> only, can parse from hex string
[{"name":"n","type":{"ByteArray":3},"value":"0114ff"}]
[{"name":"o","type":{"ByteArray":3},"value":[1,20,255]}]
[{"name":"p","type":{"Result":{"ok":"Bool","err":"U8"}},"value":{"Ok":true}}]
[{"name":"q","type":{"Result":{"ok":"Bool","err":"U8"}},"value":{"Err":1}}]
[{"name":"r","type":{"Map":{"key":"U8","value":"Bool"}},"value":[{"key":1,"value":true},{"key":2,"value":false}]}]
## for Map with key as String or Number can use an Object rather than an Array:
[{"name":"s","type":{"Map":{"key":"U8","value":"Bool"}},"value":{"1":true,"2":false}}]
[{"name":"t","type":{"Tuple3":["Bool","U8","String"]},"value":[true,128,"a"]}]Note while multiple payment args can be specified for a single payment code instance, only
one of payment_args_simple, or payment_args_json may be used.
Implementations§
Source§impl<'a> PaymentStrParams<'a>
impl<'a> PaymentStrParams<'a>
Sourcepub fn with_path(
payment_path: &'a str,
payment_args_simple: Vec<&'a str>,
payment_args_json: &'a str,
) -> Self
pub fn with_path( payment_path: &'a str, payment_args_simple: Vec<&'a str>, payment_args_json: &'a str, ) -> Self
Constructs a PaymentStrParams using a payment smart contract file.
payment_pathis the path to the compiled Wasm payment code.- See the struct docs for a description of
payment_args_simple,payment_args_json
Sourcepub fn with_amount(payment_amount: &'a str) -> Self
pub fn with_amount(payment_amount: &'a str) -> Self
Constructs a PaymentStrParams using a payment amount.
payment_amount uses the standard-payment system contract rather than custom payment Wasm.
The value is the ‘amount’ arg of the standard-payment contract.
Sourcepub fn with_name(
payment_name: &'a str,
payment_entry_point: &'a str,
payment_args_simple: Vec<&'a str>,
payment_args_json: &'a str,
) -> Self
pub fn with_name( payment_name: &'a str, payment_entry_point: &'a str, payment_args_simple: Vec<&'a str>, payment_args_json: &'a str, ) -> Self
Constructs a PaymentStrParams using a stored contract’s name.
payment_nameis the name of the stored contract (associated with the executing account) to be called as the payment.payment_entry_pointis the name of the method that will be used when calling the payment contract.- See the struct docs for a description of
payment_args_simple,payment_args_json
Sourcepub fn with_hash(
payment_hash: &'a str,
payment_entry_point: &'a str,
payment_args_simple: Vec<&'a str>,
payment_args_json: &'a str,
) -> Self
pub fn with_hash( payment_hash: &'a str, payment_entry_point: &'a str, payment_args_simple: Vec<&'a str>, payment_args_json: &'a str, ) -> Self
Constructs a PaymentStrParams using a stored contract’s hex-encoded hash.
payment_hashis the hex-encoded hash of the stored contract to be called as the payment.payment_entry_pointis the name of the method that will be used when calling the payment contract.- See the struct docs for a description of
payment_args_simple,payment_args_json
Sourcepub fn with_package_name(
payment_package_name: &'a str,
payment_version: &'a str,
payment_entry_point: &'a str,
payment_args_simple: Vec<&'a str>,
payment_args_json: &'a str,
) -> Self
pub fn with_package_name( payment_package_name: &'a str, payment_version: &'a str, payment_entry_point: &'a str, payment_args_simple: Vec<&'a str>, payment_args_json: &'a str, ) -> Self
Constructs a PaymentStrParams using a stored contract’s package name.
payment_package_nameis the name of the stored package to be called as the payment.payment_versionis the version of the called payment contract. The latest will be used ifpayment_versionis empty.payment_entry_pointis the name of the method that will be used when calling the payment contract.- See the struct docs for a description of
payment_args_simple,payment_args_json
Sourcepub fn with_package_hash(
payment_package_hash: &'a str,
payment_version: &'a str,
payment_entry_point: &'a str,
payment_args_simple: Vec<&'a str>,
payment_args_json: &'a str,
) -> Self
pub fn with_package_hash( payment_package_hash: &'a str, payment_version: &'a str, payment_entry_point: &'a str, payment_args_simple: Vec<&'a str>, payment_args_json: &'a str, ) -> Self
Constructs a PaymentStrParams using a stored contract’s package hash.
payment_package_hashis the hex-encoded hash of the stored package to be called as the payment.payment_versionis the version of the called payment contract. The latest will be used ifpayment_versionis empty.payment_entry_pointis the name of the method that will be used when calling the payment contract.- See the struct docs for a description of
payment_args_simple,payment_args_json
Trait Implementations§
Source§impl<'a> Debug for PaymentStrParams<'a>
impl<'a> Debug for PaymentStrParams<'a>
Source§impl<'a> Default for PaymentStrParams<'a>
impl<'a> Default for PaymentStrParams<'a>
Source§fn default() -> PaymentStrParams<'a>
fn default() -> PaymentStrParams<'a>
Auto Trait Implementations§
impl<'a> Freeze for PaymentStrParams<'a>
impl<'a> RefUnwindSafe for PaymentStrParams<'a>
impl<'a> Send for PaymentStrParams<'a>
impl<'a> Sync for PaymentStrParams<'a>
impl<'a> Unpin for PaymentStrParams<'a>
impl<'a> UnwindSafe for PaymentStrParams<'a>
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> 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 more