sugar_cli/
constants.rs

1use console::Emoji;
2pub use mpl_token_metadata::state::{
3    MAX_CREATOR_LEN, MAX_CREATOR_LIMIT, MAX_NAME_LENGTH, MAX_SYMBOL_LENGTH, MAX_URI_LENGTH,
4};
5
6/// Metaplex program id.
7pub const METAPLEX_PROGRAM_ID: &str = "Meta88XpDHcSJZDFiHop6c9sXaufkZX5depkZyrYBWv";
8
9/// Civic gateway program id.
10pub const CIVIC: &str = "gatem74V238djXdzWnJf94Wo1DcnuGkfijbf3AuBhfs";
11
12/// Start index of the config data in the PDA (offset calculated in bytes).
13pub const CONFIG_ARRAY_START: usize = 8 +   // key
14    32 +                                    // authority
15    32 +                                    // wallet
16    33 +                                    // token mint
17    4 + 6 +                                 // uuid
18    8 +                                     // price
19    8 +                                     // items available
20    9 +                                     // go live
21    10 +                                    // end settings
22    4 + MAX_SYMBOL_LENGTH +                 // u32 len + symbol
23    2 +                                     // seller fee basis points
24    4 + MAX_CREATOR_LIMIT*MAX_CREATOR_LEN + // optional + u32 len + actual vec
25    8 +                                     // max supply
26    1 +                                     // is mutable
27    1 +                                     // retain authority
28    1 +                                     // option for hidden setting
29    4 + MAX_NAME_LENGTH +                   // name length
30    4 + MAX_URI_LENGTH +                    // uri length
31    32 +                                    // hash
32    4 +                                     // max number of lines
33    8 +                                     // items redeemed
34    1 +                                     // whitelist option
35    1 +                                     // whitelist mint mode
36    1 +                                     // allow presale
37    9 +                                     // discount price
38    32 +                                    // mint key for whitelist
39    1 + 32 + 1                              // gatekeeper
40;
41
42/// Default length (in bytes) of a config line.
43pub const CONFIG_LINE_SIZE: usize = 4 + MAX_NAME_LENGTH + 4 + MAX_URI_LENGTH;
44
45pub const STRING_LEN_SIZE: usize = 4;
46
47pub const CONFIG_CHUNK_SIZE: usize = 10;
48
49pub const CONFIG_NAME_OFFSET: usize = STRING_LEN_SIZE;
50
51pub const CONFIG_URI_OFFSET: usize = STRING_LEN_SIZE + CONFIG_NAME_OFFSET + MAX_NAME_LENGTH;
52
53pub const MINT_LAYOUT: u64 = 82;
54
55pub const VALID_CATEGORIES: [&str; 5] = ["image", "video", "audio", "vr", "html"];
56
57pub const DEFAULT_UUID: &str = "000000";
58
59/// Maximum number of concurrent tasks (this is important for tasks that handle files
60/// and network connections).
61pub const PARALLEL_LIMIT: usize = 45;
62
63/// Default path for assets folder.
64pub const DEFAULT_ASSETS: &str = "assets";
65
66/// Default path for cache file.
67pub const DEFAULT_CACHE: &str = "cache.json";
68
69/// Default path for airdrop list
70pub const DEFAULT_AIRDROP_LIST: &str = "airdrop_list.json";
71pub const DEFAULT_AIRDROP_LIST_HELP: &str = "Path to airdrop targets list, format: \n{\n\"address1\": number_of_tokens,\n\"address2\": number_of_tokens\n}\n";
72
73/// Default path for config file.
74pub const DEFAULT_CONFIG: &str = "config.json";
75
76/// Default path for keypair file.
77pub const DEFAULT_KEYPATH: &str = "~/.config/miraland/id.json";
78
79/// Bundlr devnet endpoint.
80pub const BUNDLR_DEVNET: &str = "https://devnet.bundlr.network";
81
82/// Bundlr mainnet endpoint.
83pub const BUNDLR_MAINNET: &str = "https://node1.bundlr.network";
84
85pub const CIVIC_NETWORK: &str = "ignREusXmGrscGNUesoU9mxfds9AiYTezUKex2PsZV6";
86
87pub const ENCORE_NETWORK: &str = "tibePmPaoTgrs929rWpu755EXaxC7M3SthVCf6GzjZt";
88
89pub const LOOKING_GLASS_EMOJI: Emoji<'_, '_> = Emoji("🔍 ", "");
90
91pub const CANDY_EMOJI: Emoji<'_, '_> = Emoji("🍬 ", "");
92
93pub const COMPUTER_EMOJI: Emoji<'_, '_> = Emoji("🖥  ", "");
94
95pub const PAPER_EMOJI: Emoji<'_, '_> = Emoji("📝 ", "");
96
97pub const CONFETTI_EMOJI: Emoji<'_, '_> = Emoji("🎉 ", "");
98
99pub const PAYMENT_EMOJI: Emoji<'_, '_> = Emoji("💵 ", "");
100
101pub const UPLOAD_EMOJI: Emoji<'_, '_> = Emoji("📤 ", "");
102
103pub const WITHDRAW_EMOJI: Emoji<'_, '_> = Emoji("🏧 ", "");
104
105pub const ASSETS_EMOJI: Emoji<'_, '_> = Emoji("🗂  ", "");
106
107pub const COMPLETE_EMOJI: Emoji<'_, '_> = Emoji("✅ ", "");
108
109pub const LAUNCH_EMOJI: Emoji<'_, '_> = Emoji("🚀 ", "");
110
111pub const COLLECTION_EMOJI: Emoji<'_, '_> = Emoji("📦 ", "");
112
113pub const ERROR_EMOJI: Emoji<'_, '_> = Emoji("🛑 ", "");
114
115pub const WARNING_EMOJI: Emoji<'_, '_> = Emoji("⚠️ ", "");
116
117pub const SIGNING_EMOJI: Emoji<'_, '_> = Emoji("✍️ ", "");
118
119pub const ICE_CUBE_EMOJI: Emoji<'_, '_> = Emoji("🧊 ", "");
120
121pub const FIRE_EMOJI: Emoji<'_, '_> = Emoji("🔥 ", "");
122
123pub const RIGHT_ARROW_EMOJI: Emoji<'_, '_> = Emoji("➡️ ", "");
124
125pub const MONEY_BAG_EMOJI: Emoji<'_, '_> = Emoji("💰 ", "");
126
127pub const GUARD_EMOJI: Emoji<'_, '_> = Emoji("🛡  ", "");
128
129pub const WRAP_EMOJI: Emoji<'_, '_> = Emoji("📦 ", "");
130
131pub const UNWRAP_EMOJI: Emoji<'_, '_> = Emoji("🔩 ", "");
132
133pub const MAX_FREEZE_DAYS: u8 = 31;
134
135pub const COMPUTE_UNITS: u32 = 400_000;