extras_filecoin/
init.rs

1use cid::Cid;
2use fil_actor_init::{ConstructorParams, ExecParams, ExecReturn};
3use fvm_ipld_encoding::RawBytes;
4use fvm_shared::address::Address;
5use serde::{Deserialize, Serialize};
6
7use super::json::address;
8use super::json::cid as json_cid;
9use super::json::rawbytes;
10
11#[derive(Serialize, Deserialize)]
12#[serde(remote = "ConstructorParams", rename_all = "PascalCase")]
13pub struct ConstructorParamsAPI {
14    pub network_name: String,
15}
16
17#[derive(Serialize, Deserialize)]
18#[serde(remote = "ExecParams", rename_all = "PascalCase")]
19pub struct ExecParamsAPI {
20    #[serde(with = "json_cid")]
21    pub code_cid: Cid,
22    #[serde(with = "rawbytes")]
23    pub constructor_params: RawBytes,
24}
25
26#[derive(Serialize, Deserialize)]
27#[serde(remote = "ExecReturn", rename_all = "PascalCase")]
28pub struct ExecReturnAPI {
29    #[serde(with = "address")]
30    pub id_address: Address,
31    #[serde(with = "address")]
32    pub robust_address: Address,
33}