Skip to main content

protochain_api/
protochain.solana.program.token.v1.rs

1// @generated
2// This file is @generated by prost-build.
3/// Request to create InitialiseMint instruction
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct InitialiseMintRequest {
7    #[prost(string, tag="1")]
8    pub mint_pub_key: ::prost::alloc::string::String,
9    #[prost(string, tag="2")]
10    pub mint_authority_pub_key: ::prost::alloc::string::String,
11    #[prost(string, tag="3")]
12    pub freeze_authority_pub_key: ::prost::alloc::string::String,
13    #[prost(uint32, tag="4")]
14    pub decimals: u32,
15    #[prost(enumeration="super::super::super::r#type::v1::TokenProgram", tag="5")]
16    pub token_program: i32,
17}
18/// Response containing InitialiseMint instruction
19#[allow(clippy::derive_partial_eq_without_eq)]
20#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct InitialiseMintResponse {
22    #[prost(message, optional, tag="1")]
23    pub instruction: ::core::option::Option<super::super::super::transaction::v1::SolanaInstruction>,
24}
25/// Request to get current rent for token account
26///
27/// No parameters needed - uses fixed Mint::LEN size
28#[allow(clippy::derive_partial_eq_without_eq)]
29#[derive(Clone, Copy, PartialEq, ::prost::Message)]
30pub struct GetCurrentMinRentForTokenAccountRequest {
31}
32/// Response with current rent amount
33#[allow(clippy::derive_partial_eq_without_eq)]
34#[derive(Clone, Copy, PartialEq, ::prost::Message)]
35pub struct GetCurrentMinRentForTokenAccountResponse {
36    #[prost(uint64, tag="1")]
37    pub lamports: u64,
38}
39/// Request to parse mint account
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct ParseMintRequest {
43    #[prost(string, tag="1")]
44    pub account_address: ::prost::alloc::string::String,
45}
46/// Response with parsed mint data
47#[allow(clippy::derive_partial_eq_without_eq)]
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct ParseMintResponse {
50    #[prost(message, optional, tag="1")]
51    pub mint: ::core::option::Option<MintInfo>,
52}
53/// Structured mint account information
54#[allow(clippy::derive_partial_eq_without_eq)]
55#[derive(Clone, PartialEq, ::prost::Message)]
56pub struct MintInfo {
57    #[prost(string, tag="1")]
58    pub mint_authority_pub_key: ::prost::alloc::string::String,
59    #[prost(string, tag="2")]
60    pub freeze_authority_pub_key: ::prost::alloc::string::String,
61    #[prost(uint32, tag="3")]
62    pub decimals: u32,
63    #[prost(string, tag="4")]
64    pub supply: ::prost::alloc::string::String,
65    #[prost(bool, tag="5")]
66    pub is_initialized: bool,
67}
68#[allow(clippy::derive_partial_eq_without_eq)]
69#[derive(Clone, Copy, PartialEq, ::prost::Message)]
70pub struct MemoTransferConfig {
71    /// Require every inbound transfer into the account to include a memo.
72    #[prost(bool, tag="1")]
73    pub require_incoming_memo: bool,
74}
75/// Request to get current rent for holding account
76#[allow(clippy::derive_partial_eq_without_eq)]
77#[derive(Clone, Copy, PartialEq, ::prost::Message)]
78pub struct GetCurrentMinRentForHoldingAccountRequest {
79    /// optional, defaults to false
80    #[prost(message, optional, tag="1")]
81    pub memo_transfer_config: ::core::option::Option<MemoTransferConfig>,
82}
83/// Response with current rent amount for holding account
84#[allow(clippy::derive_partial_eq_without_eq)]
85#[derive(Clone, Copy, PartialEq, ::prost::Message)]
86pub struct GetCurrentMinRentForHoldingAccountResponse {
87    #[prost(uint64, tag="1")]
88    pub lamports: u64,
89}
90/// Request to create and initialize a holding account in one call
91#[allow(clippy::derive_partial_eq_without_eq)]
92#[derive(Clone, PartialEq, ::prost::Message)]
93pub struct CreateHoldingAccountRequest {
94    /// Account paying for creation (signer)
95    #[prost(string, tag="1")]
96    pub payer: ::prost::alloc::string::String,
97    /// Owner of the holding account
98    #[prost(string, tag="2")]
99    pub owner_pub_key: ::prost::alloc::string::String,
100    /// Mint this account will hold
101    #[prost(string, tag="3")]
102    pub mint_pub_key: ::prost::alloc::string::String,
103    #[prost(enumeration="super::super::super::r#type::v1::TokenProgram", tag="4")]
104    pub token_program: i32,
105    /// optional, defaults to false
106    #[prost(message, optional, tag="5")]
107    pub memo_transfer_config: ::core::option::Option<MemoTransferConfig>,
108}
109/// Response containing both create and initialize instructions
110#[allow(clippy::derive_partial_eq_without_eq)]
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct CreateHoldingAccountResponse {
113    #[prost(message, repeated, tag="1")]
114    pub instructions: ::prost::alloc::vec::Vec<super::super::super::transaction::v1::SolanaInstruction>,
115}
116/// Request to create and initialize a mint account in one call
117#[allow(clippy::derive_partial_eq_without_eq)]
118#[derive(Clone, PartialEq, ::prost::Message)]
119pub struct CreateMintRequest {
120    /// System program create fields
121    ///
122    /// Account paying for creation (signer)
123    #[prost(string, tag="1")]
124    pub payer: ::prost::alloc::string::String,
125    /// Token program initialize mint fields
126    ///
127    /// Same as new_account for validation
128    #[prost(string, tag="2")]
129    pub mint_pub_key: ::prost::alloc::string::String,
130    /// Mint authority
131    #[prost(string, tag="3")]
132    pub mint_authority_pub_key: ::prost::alloc::string::String,
133    /// Freeze authority (optional)
134    #[prost(string, tag="4")]
135    pub freeze_authority_pub_key: ::prost::alloc::string::String,
136    /// Mint decimals
137    #[prost(uint32, tag="5")]
138    pub decimals: u32,
139    #[prost(enumeration="super::super::super::r#type::v1::TokenProgram", tag="6")]
140    pub token_program: i32,
141}
142/// Response containing both create and initialize instructions
143#[allow(clippy::derive_partial_eq_without_eq)]
144#[derive(Clone, PartialEq, ::prost::Message)]
145pub struct CreateMintResponse {
146    #[prost(message, repeated, tag="1")]
147    pub instructions: ::prost::alloc::vec::Vec<super::super::super::transaction::v1::SolanaInstruction>,
148}
149/// Request to mint tokens to a token account
150#[allow(clippy::derive_partial_eq_without_eq)]
151#[derive(Clone, PartialEq, ::prost::Message)]
152pub struct MintRequest {
153    /// The mint to mint from
154    #[prost(string, tag="1")]
155    pub mint_pub_key: ::prost::alloc::string::String,
156    /// Token account to mint to
157    #[prost(string, tag="2")]
158    pub destination_account_pub_key: ::prost::alloc::string::String,
159    /// Authority that can mint tokens
160    #[prost(string, tag="3")]
161    pub mint_authority_pub_key: ::prost::alloc::string::String,
162    /// Amount to mint (as string to handle large numbers)
163    #[prost(string, tag="4")]
164    pub amount: ::prost::alloc::string::String,
165    /// Expected decimals for validation
166    #[prost(uint32, tag="5")]
167    pub decimals: u32,
168}
169/// Response containing Mint instruction
170#[allow(clippy::derive_partial_eq_without_eq)]
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct MintResponse {
173    #[prost(message, optional, tag="1")]
174    pub instruction: ::core::option::Option<super::super::super::transaction::v1::SolanaInstruction>,
175}
176include!("protochain.solana.program.token.v1.tonic.rs");
177// @@protoc_insertion_point(module)