extras_filecoin/
message.rs

1use 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}