fireblocks_sdk/models/
extra_parameters.rs

1// Fireblocks API
2//
3// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14/// ExtraParameters : Additional protocol / operation specific key-value parameters:  For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set the [input selection structure.](https://developers.fireblocks.com/reference/transaction-objects#inputsselection) The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint.](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid-assetid-unspent-inputs)  For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata)  For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. *Note: `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call.\"
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ExtraParameters {
17    #[serde(rename = "nodeControls", skip_serializing_if = "Option::is_none")]
18    pub node_controls: Option<models::NodeControls>,
19    #[serde(rename = "rawMessageData", skip_serializing_if = "Option::is_none")]
20    pub raw_message_data: Option<models::ExtraParametersRawMessageData>,
21    /// Hex encoded contract call data as a string.
22    #[serde(rename = "contractCallData", skip_serializing_if = "Option::is_none")]
23    pub contract_call_data: Option<String>,
24    #[serde(rename = "programCallData", skip_serializing_if = "Option::is_none")]
25    pub program_call_data: Option<String>,
26    #[serde(rename = "inputsSelection", skip_serializing_if = "Option::is_none")]
27    pub inputs_selection: Option<models::ExtraParametersInputsSelection>,
28}
29
30impl ExtraParameters {
31    /// Additional protocol / operation specific key-value parameters:  For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set the [input selection structure.](https://developers.fireblocks.com/reference/transaction-objects#inputsselection) The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint.](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid-assetid-unspent-inputs)  For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure.](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata)  For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. *Note: `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call.\"
32    pub fn new() -> ExtraParameters {
33        ExtraParameters {
34            node_controls: None,
35            raw_message_data: None,
36            contract_call_data: None,
37            inputs_selection: None,
38            program_call_data: None,
39        }
40    }
41}