multiversx_sdk/data/transaction/
transaction_request.rs1use multiversx_chain_core::std::Bech32Address;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct Transaction {
10 pub nonce: u64,
11 pub value: String,
12 pub receiver: Bech32Address,
13 pub sender: Bech32Address,
14 pub gas_price: u64,
15 pub gas_limit: u64,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub data: Option<String>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub signature: Option<String>,
20 #[serde(rename = "chainID")]
21 pub chain_id: String,
22 pub version: u32,
23 #[serde(skip_serializing_if = "is_zero", default)]
24 pub options: u32,
25}
26
27#[allow(clippy::trivially_copy_pass_by_ref)]
29fn is_zero(num: &u32) -> bool {
30 *num == 0
31}