1use bonfida_utils::declare_id_with_central_state;
2
3pub mod cpi;
4pub mod entrypoint;
5pub mod error;
6pub mod instruction_auto;
7pub mod processor;
8pub mod state;
9pub mod utils;
10
11pub use error::Error;
12
13#[cfg(not(feature = "devnet"))]
14declare_id_with_central_state!("jCebN34bUfdeUYJT13J1yG16XWQpt5PDx6Mse9GUqhR");
15
16#[cfg(feature = "devnet")]
17declare_id_with_central_state!("snshBoEQ9jx4QoHBpZDQPYdNCtw7RMxJvYrKFEhwaPJ");
18
19#[cfg(not(feature = "devnet"))]
20pub mod constants {
21 use phf::phf_map;
22 use solana_program::{pubkey, pubkey::Pubkey};
23
24 pub const VAULT_OWNER_DEPRECATED: Pubkey =
25 pubkey!("GcWEQ9K78FV7LEHteFVciYApERk5YvQuFDQPk1yYJVXi");
26 pub const VAULT_OWNER: Pubkey = pubkey!("5D2zKog251d6KPCyFyLMt3KroWwXXPWSgTPyhV22K2gR");
27
28 pub const ROOT_DOMAIN_ACCOUNT: Pubkey = pubkey!("58PwtjSDuFHuUkYjH9BYnnQKHfwo9reZhC2zMJv9JPkx");
29 pub const PYTH_MAPPING_ACCOUNT: Pubkey =
30 pubkey!("AHtgzX45WTKfkPG53L6WYhGEXwQkN1BVknET3sVsLL8J");
31 pub const REFERRER_WHITELIST: [Pubkey; 18] = [
32 pubkey!("3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1"), pubkey!("DM1jJCkZZEwY5tmWbgvKRxsDFzXCdbfrYCCH1CtwguEs"), pubkey!("ADCp4QXFajHrhy4f43pD6GJFtQLkdBY2mjS9DfCk7tNW"), pubkey!("2XTgjw8yi1E3Etgj4CUyRD7Zk49gynH2U9gA5N2MY4NP"), pubkey!("5PwNeqQPiygQks9R17jUAodZQNuhvCqqkrxSaeNE8qTR"), pubkey!("8kJqxAbqbPLGLMgB6FhLcnw2SiUEavx2aEGM3WQGhtJF"), pubkey!("HemvJzwxvVpWBjPETpaseAH395WAxb2G73MeUfjVkK1u"), pubkey!("7hMiiUtkH4StMPJxyAtvzXTUjecTniQ8czkCPusf5eSW"), pubkey!("DGpjHo4yYA3NgHvhHTp3XfBFrESsx1DnhfTr8D881ZBM"), pubkey!("7vWSqSw1eCXZXXUubuHWssXELNQ8MLaDgAs2ErEfCKxn"), pubkey!("5F6gcdzpw7wUjNEugdsD4aLJdEQ4Wt8d6E85vaQXZQSJ"), pubkey!("XEy9o73JBN2pEuN7aspe8mVLaWbL4ozjJs1tNRxx8bL"), pubkey!("D5cLoAGjNTHKU1UGv2bYwbnyRoGTMe3sbpLtJW3fRq91"), pubkey!("FePcCmrr7vgjeFXcXtJHqShSXydaTrga2wfHRt9RrYvP"), pubkey!("5D2zKog251d6KPCyFyLMt3KroWwXXPWSgTPyhV22K2gR"), pubkey!("452cMqDHe5cf1Z96HxUNaQjiLckhMiZdZ5abe7oQ2iRB"), pubkey!("8hmebGRQpZG8RpR3SFTfnuY2K4QgNxyAtqdhR9UuFksB"), pubkey!("7siDgAEyXRCEhNjZcQ8VLVbMxXQaQY4hNcRbGbKj2i7u"), ];
51 pub const REFERRER_FEES_PCT: u64 = 5;
53 pub static TOKENS_SYM_MINT_DECIMALS: phf::Map<&'static str, (Pubkey, u8)> = phf_map! {
54 "USDC" => (pubkey!("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),6),
55 "USDT" => (pubkey!("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),6),
56 "SOL" => (pubkey!("So11111111111111111111111111111111111111112"),9),
57 "FIDA" => (pubkey!("EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp"),6),
58 "MSOL" => (pubkey!("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"), 9),
59 "BONK" => (pubkey!("DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"), 5),
60 "BAT" => (pubkey!("EPeUFDgHRxs9xxEPVaL6kfGQvCon7jmAWKVUHuux1Tpz"), 8),
61 "PYTH" => (pubkey!("HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"), 6),
62 "BSOL" => (pubkey!("bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1"), 9),
63 "INJ" => (pubkey!("6McPRfPV6bY1e9hLxWyG54W9i9Epq75QBvXg2oetBVTB"), 8),
64 };
65 pub const FEES: &[u64] = &[500, 300, 200, 150, 100]; pub const FEE_TIERS: [u64; 4] = [500_000_000, 5_000_000_000, 20_000_000_000, 40_000_000_000]; pub const FIDA_MINT: Pubkey = pubkey!("EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp");
68 pub const ADMIN: Pubkey = pubkey!("VBx642K1hYGLU5Zm1CHW1uRXAtFgxN5mRqyMcXnLZFW");
69 pub const AUCTION_PROGRAM_ID: Pubkey = pubkey!("AVWV7vdWbLqXiLKFaP19GhYurhwxaLp2qRBSjT5tR5vT");
70 pub const WOLVES_COLLECTION: Pubkey = pubkey!("Dw74YSxTKVXsztPm3TmwbnfLK8KVaCZw69jVu4LE6uJe");
71 pub const WOLVES_COLLECTION_METADATA: Pubkey =
72 pubkey!("72aLKvXeV4aansAQtxKymeXDevT5ed6sCuz9iN62ugPT");
73
74 pub type SpecialDiscountFee = (Option<u8>, u64, u64, Option<u8>, u64, u64);
78 pub static REFERRER_DISCOUNT_AND_FEE: phf::Map<&'static str, SpecialDiscountFee> = phf_map! {
79 "3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1" => (Some(10), 1682864495, 1719226965, Some(10), 1682864495, 1719226965),
81 "5PwNeqQPiygQks9R17jUAodZQNuhvCqqkrxSaeNE8qTR" => (None, 0, 0, Some(20), 0, u64::MAX),
83 "8kJqxAbqbPLGLMgB6FhLcnw2SiUEavx2aEGM3WQGhtJF" => (Some(20), 1691544598, 1692072000, Some(15), 0, u64::MAX),
85 "HemvJzwxvVpWBjPETpaseAH395WAxb2G73MeUfjVkK1u" => (None, 0, 0, Some(15), 1695942000, u64::MAX),
87 "DGpjHo4yYA3NgHvhHTp3XfBFrESsx1DnhfTr8D881ZBM" => (None, 0, 0, Some(20), 0, u64::MAX),
89 "7vWSqSw1eCXZXXUubuHWssXELNQ8MLaDgAs2ErEfCKxn" => (None, 0, 0, Some(20), 0, u64::MAX),
91 "5F6gcdzpw7wUjNEugdsD4aLJdEQ4Wt8d6E85vaQXZQSJ" => (None, 0, 0, Some(20), 0, u64::MAX),
93 "D5cLoAGjNTHKU1UGv2bYwbnyRoGTMe3sbpLtJW3fRq91" => (Some(20), 0, 1730311200, None, 0, 0),
95 "FePcCmrr7vgjeFXcXtJHqShSXydaTrga2wfHRt9RrYvP" => (Some(20), 0, 1731636000, None, 0, 0),
97 "5D2zKog251d6KPCyFyLMt3KroWwXXPWSgTPyhV22K2gR" => (Some(50), 1737266400, 1737608460, None, 0, 0),
99 "8hmebGRQpZG8RpR3SFTfnuY2K4QgNxyAtqdhR9UuFksB" => (None, 0, 0, Some(100), 0, u64::MAX),
101 };
102 }
111
112#[cfg(feature = "devnet")]
113pub mod constants {
114 use phf::phf_map;
115 use solana_program::{pubkey, pubkey::Pubkey};
116
117 pub const VAULT_OWNER_DEPRECATED: Pubkey =
118 pubkey!("SNSaTJbEv2iT3CUrCQYa9zpGjbBVWhFCPaSJHkaJX34");
119 pub const VAULT_OWNER: Pubkey = pubkey!("SNSaTJbEv2iT3CUrCQYa9zpGjbBVWhFCPaSJHkaJX34");
120
121 pub const ROOT_DOMAIN_ACCOUNT: Pubkey = pubkey!("5eoDkP6vCQBXqDV9YN2NdUs3nmML3dMRNmEYpiyVNBm2");
122 pub const PYTH_MAPPING_ACCOUNT: Pubkey =
124 pubkey!("BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2");
125 pub const REFERRER_WHITELIST: [Pubkey; 5] = [
126 pubkey!("3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1"), pubkey!("DM1jJCkZZEwY5tmWbgvKRxsDFzXCdbfrYCCH1CtwguEs"), pubkey!("ADCp4QXFajHrhy4f43pD6GJFtQLkdBY2mjS9DfCk7tNW"), pubkey!("2XTgjw8yi1E3Etgj4CUyRD7Zk49gynH2U9gA5N2MY4NP"), pubkey!("5oDWj8vr3vbcq9JZTtwXqrkCMZggMsDzNietvbr1BNfe"), ];
132 pub const REFERRER_FEES_PCT: u64 = 5;
134 pub static TOKENS_SYM_MINT_DECIMALS: phf::Map<&'static str, (Pubkey, u8)> = phf_map! {
135 "USDC" => (pubkey!("4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"),6),
136 "USDT" => (pubkey!("EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS"),6), "SOL" => (pubkey!("So11111111111111111111111111111111111111112"),9),
138 "FIDA" => (pubkey!("fidaWCioBQjieRrUQDxxS5Uxmq1CLi2VuVRyv4dEBey"),6),
139 "INJ" => (pubkey!("DL4ivZm3NVHWk9ZvtcqTchxoKArDK4rT3vbDx2gYVr7P"), 8),
140 };
141 pub const FEES: &[u64] = &[500, 300, 200, 150, 100]; pub const FEE_TIERS: [u64; 4] = [500_000_000, 5_000_000_000, 20_000_000_000, 40_000_000_000]; pub const FIDA_MINT: Pubkey = pubkey!("fidaWCioBQjieRrUQDxxS5Uxmq1CLi2VuVRyv4dEBey");
144 pub const ADMIN: Pubkey = pubkey!("SNSaTJbEv2iT3CUrCQYa9zpGjbBVWhFCPaSJHkaJX34");
145 pub const AUCTION_PROGRAM_ID: Pubkey = pubkey!("AVWV7vdWbLqXiLKFaP19GhYurhwxaLp2qRBSjT5tR5vT");
146 pub const WOLVES_COLLECTION: Pubkey = pubkey!("Dw74YSxTKVXsztPm3TmwbnfLK8KVaCZw69jVu4LE6uJe");
147 pub const WOLVES_COLLECTION_METADATA: Pubkey =
148 pubkey!("72aLKvXeV4aansAQtxKymeXDevT5ed6sCuz9iN62ugPT");
149
150 pub type SpecialDiscountFee = (Option<u8>, u64, u64, Option<u8>, u64, u64);
154 pub static REFERRER_DISCOUNT_AND_FEE: phf::Map<&'static str, SpecialDiscountFee> = phf_map! {
155 "3ogYncmMM5CmytsGCqKHydmXmKUZ6sGWvizkzqwT7zb1" => (Some(10), 1682864495, 1779756628, Some(10), 1682864495, 1779756628),
157 "ADCp4QXFajHrhy4f43pD6GJFtQLkdBY2mjS9DfCk7tNW" => (Some(20), 1686700800, 1687046399, Some(0), 0, u64::MAX),
159 "5oDWj8vr3vbcq9JZTtwXqrkCMZggMsDzNietvbr1BNfe" => (None, 0, 0, Some(20), 0, u64::MAX)
161 };
162 }
171
172#[cfg(not(feature = "no-entrypoint"))]
173solana_security_txt::security_txt! {
174 name: env!("CARGO_PKG_NAME"),
175 project_url: "http://sns.id",
176 contacts: "email:contact@sns.id,link:https://x.com/sns",
177 policy: "https://immunefi.com/bounty/sns",
178 preferred_languages: "en",
179 auditors: "Halborn"
180}