extras_filecoin/
message.rs1use fvm_ipld_encoding::RawBytes;
2use fvm_shared::address::Address;
3use fvm_shared::econ::TokenAmount;
4use fvm_shared::message::Message;
5use fvm_shared::MethodNum;
6use serde::{Deserialize, Serialize};
7
8use super::json::address;
9use super::json::rawbytes;
10use super::json::tokenamount;
11
12#[cfg_attr(feature = "with-arbitrary", derive(arbitrary::Arbitrary))]
13#[derive(Serialize, Deserialize)]
14#[serde(remote = "Message", rename_all = "PascalCase")]
15pub struct MessageAPI {
16 #[serde(skip)]
17 pub version: u64,
18 #[serde(with = "address")]
19 pub from: Address,
20 #[serde(with = "address")]
21 pub to: Address,
22 #[serde(rename = "Nonce")]
23 pub sequence: u64,
24 #[serde(with = "tokenamount")]
25 pub value: TokenAmount,
26 #[serde(rename = "Method")]
27 pub method_num: MethodNum,
28 #[serde(with = "rawbytes")]
29 pub params: RawBytes,
30 pub gas_limit: u64,
31 #[serde(with = "tokenamount")]
32 pub gas_fee_cap: TokenAmount,
33 #[serde(with = "tokenamount")]
34 pub gas_premium: TokenAmount,
35}