casper_client/cli/deploy_str_params.rs
1/// Container for `Deploy` construction options.
2#[derive(Default, Debug)]
3pub struct DeployStrParams<'a> {
4 /// Path to secret key file if the `std-fs-io` feature is enabled (enabled by default), or a
5 /// PEM-encoded secret key if not.
6 ///
7 /// If `secret_key` is empty, the new deploy will not be signed and will need to be signed (e.g.
8 /// via [`sign_deploy_file`](super::sign_deploy_file)) at least once in order to be made valid.
9 pub secret_key: &'a str,
10 /// RFC3339-like formatted timestamp. e.g. `2018-02-16T00:31:37Z`.
11 ///
12 /// If `timestamp` is empty, the current time will be used. Note that timestamp is UTC, not
13 /// local.
14 ///
15 /// See [`humantime::parse_rfc3339_weak`] for more information.
16 pub timestamp: &'a str,
17 /// Time that the `Deploy` will remain valid for.
18 ///
19 /// A `Deploy` can only be included in a `Block` between `timestamp` and `timestamp + ttl`.
20 /// Input examples: '1hr 12min', '30min 50sec', '1day'.
21 ///
22 /// See [`humantime::parse_duration`] for more information.
23 pub ttl: &'a str,
24 /// Name of the chain, to avoid the `Deploy` from being accidentally or maliciously included in
25 /// a different chain.
26 pub chain_name: &'a str,
27 /// The hex-encoded public key of the account context under which the session code will be
28 /// executed.
29 ///
30 /// If `session_account` is empty, the account's public key will be derived from the provided
31 /// `secret_key`. It is an error for both fields to be empty.
32 pub session_account: &'a str,
33 /// Gas price for the deploy.
34 pub gas_price_tolerance: &'a str,
35}