warp_controller_pkg/
account.rs1use cosmwasm_schema::cw_serde;
2use cosmwasm_std::{Addr, Uint128};
3
4#[cw_serde]
5pub struct CreateAccountMsg {
6 pub funds: Option<Vec<Fund>>,
7}
8
9#[cw_serde]
10pub enum Fund {
11 Cw20(Cw20Fund),
12 Cw721(Cw721Fund),
13}
14
15#[cw_serde]
16pub struct Cw20Fund {
17 pub contract_addr: String,
18 pub amount: Uint128,
19}
20
21#[cw_serde]
22pub struct Cw721Fund {
23 pub contract_addr: String,
24 pub token_id: String,
25}
26
27#[cw_serde]
28pub enum FundTransferMsgs {
29 TransferFrom(TransferFromMsg),
30 TransferNft(TransferNftMsg),
31}
32
33#[cw_serde]
34pub struct TransferFromMsg {
35 pub owner: String,
36 pub recipient: String,
37 pub amount: Uint128,
38}
39
40#[cw_serde]
41pub struct TransferNftMsg {
42 pub recipient: String,
43 pub token_id: String,
44}
45
46#[cw_serde]
47pub enum Cw721ExecuteMsg {
48 TransferNft { recipient: String, token_id: String },
49}
50
51#[cw_serde]
52pub struct QueryAccountMsg {
53 pub owner: String,
54}
55
56#[cw_serde]
57pub struct QueryAccountsMsg {
58 pub start_after: Option<String>,
59 pub limit: Option<u32>,
60}
61
62#[cw_serde]
63pub struct Account {
64 pub owner: Addr,
65 pub account: Addr,
66}
67
68#[cw_serde]
69pub struct AccountResponse {
70 pub account: Account,
71}
72
73#[cw_serde]
74pub struct AccountsResponse {
75 pub accounts: Vec<Account>,
76}
77
78#[cw_serde]
79pub enum AssetInfo {
80 Native(String),
81 Cw20(Addr),
82 Cw721(Addr, String),
83}