Struct TransactionRequest

Source
pub struct TransactionRequest {
Show 26 fields pub operation: Option<TransactionOperation>, pub note: Option<String>, pub external_tx_id: Option<String>, pub asset_id: Option<String>, pub source: Option<SourceTransferPeerPath>, pub destination: Option<DestinationTransferPeerPath>, pub destinations: Option<Vec<TransactionRequestDestination>>, pub amount: Option<TransactionRequestAmount>, pub treat_as_gross_amount: Option<bool>, pub force_sweep: Option<bool>, pub fee_level: Option<FeeLevel>, pub fee: Option<TransactionRequestFee>, pub priority_fee: Option<TransactionRequestPriorityFee>, pub fail_on_low_fee: Option<bool>, pub max_fee: Option<String>, pub gas_limit: Option<TransactionRequestGasLimit>, pub gas_price: Option<TransactionRequestGasPrice>, pub network_fee: Option<TransactionRequestNetworkFee>, pub replace_tx_by_hash: Option<String>, pub extra_parameters: Option<ExtraParameters>, pub customer_ref_id: Option<String>, pub travel_rule_message: Option<TravelRuleCreateTransactionRequest>, pub auto_staking: Option<bool>, pub network_staking: Option<TransactionRequestNetworkStaking>, pub cpu_staking: Option<TransactionRequestNetworkStaking>, pub use_gasless: Option<bool>,
}

Fields§

§operation: Option<TransactionOperation>§note: Option<String>

Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace.

§external_tx_id: Option<String>

An optional but highly recommended parameter. Fireblocks will reject future transactions with same ID. You should set this to a unique ID representing the transaction, to avoid submitting the same transaction twice. This helps with cases where submitting the transaction responds with an error code due to Internet interruptions, but the transaction was actually sent and processed. To validate whether a transaction has been processed, Find a specific transaction by external transaction ID. There is no specific format required for this parameter.

§asset_id: Option<String>

The ID of the asset to transfer, for TRANSFER, MINT or BURN operations. See the list of supported assets and their IDs on Fireblocks.

§source: Option<SourceTransferPeerPath>§destination: Option<DestinationTransferPeerPath>§destinations: Option<Vec<TransactionRequestDestination>>

For UTXO based blockchains, you can send a single transaction to multiple destinations.

§amount: Option<TransactionRequestAmount>§treat_as_gross_amount: Option<bool>

"When set to true, the fee will be deducted from the requested amount." Note: This parameter can only be considered if a transaction’s asset is a base asset, such as ETH or MATIC. If the asset can’t be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account.

§force_sweep: Option<bool>

For Polkadot, TON, Kusama and Westend transactions only. When set to true, Fireblocks will empty the asset wallet. Note: If set to true when the source account is exactly 1 DOT, the transaction will fail. Any amount more or less than 1 DOT succeeds. This is a Polkadot blockchain limitation.

§fee_level: Option<FeeLevel>

For UTXO or EVM-based blockchains only. Defines the blockchain fee level which will be payed for the transaction. Alternatively, specific fee estimation parameters exist below.

§fee: Option<TransactionRequestFee>§priority_fee: Option<TransactionRequestPriorityFee>§fail_on_low_fee: Option<bool>

When set to true, in case the current MEDIUM fee level is higher than the one specified in the transaction, the transaction will fail to avoid getting stuck with no confirmations.

§max_fee: Option<String>

The maximum fee (gas price or fee per byte) that should be payed for the transaction. In case the current value of the requested feeLevel is higher than this requested maximum fee. Represented by a numeric string for accurate precision.

§gas_limit: Option<TransactionRequestGasLimit>§gas_price: Option<TransactionRequestGasPrice>§network_fee: Option<TransactionRequestNetworkFee>§replace_tx_by_hash: Option<String>

For EVM-based blockchains only. In case a transaction is stuck, specify the hash of the stuck transaction to replace it by this transaction with a higher fee, or to replace it with this transaction with a zero fee and drop it from the blockchain.

§extra_parameters: Option<ExtraParameters>§customer_ref_id: Option<String>

The ID for AML providers to associate the owner of funds with transactions.

§travel_rule_message: Option<TravelRuleCreateTransactionRequest>§auto_staking: Option<bool>

This feature is no longer supported.

§network_staking: Option<TransactionRequestNetworkStaking>§cpu_staking: Option<TransactionRequestNetworkStaking>§use_gasless: Option<bool>
  • Override the default gasless configuration by sending true\false

Implementations§

Trait Implementations§

Source§

impl Clone for TransactionRequest

Source§

fn clone(&self) -> TransactionRequest

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TransactionRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TransactionRequest

Source§

fn default() -> TransactionRequest

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TransactionRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for TransactionRequest

Source§

fn eq(&self, other: &TransactionRequest) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for TransactionRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TransactionRequest

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,