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}