2021-12-03 09:00:31 -08:00
|
|
|
use {
|
|
|
|
crate::{
|
|
|
|
stakes::{create_and_add_stakes, StakerInfo},
|
|
|
|
unlocks::UnlockInfo,
|
|
|
|
},
|
|
|
|
solana_sdk::{genesis_config::GenesisConfig, native_token::LAMPORTS_PER_SOL},
|
2019-11-25 15:11:55 -08:00
|
|
|
};
|
2019-11-04 12:46:33 -08:00
|
|
|
|
2020-02-21 10:23:03 -08:00
|
|
|
// 9 month schedule is 100% after 9 months
|
|
|
|
const UNLOCKS_ALL_AT_9_MONTHS: UnlockInfo = UnlockInfo {
|
|
|
|
cliff_fraction: 1.0,
|
|
|
|
cliff_years: 0.75,
|
|
|
|
unlocks: 0,
|
|
|
|
unlock_years: 0.0,
|
2020-02-27 06:32:35 -08:00
|
|
|
custodian: "Mc5XB47H3DKJHym5RLa9mPzWv5snERsF3KNv5AauXK8",
|
2019-12-06 08:20:33 -08:00
|
|
|
};
|
2019-11-25 15:11:55 -08:00
|
|
|
|
2020-03-06 12:49:23 -08:00
|
|
|
// 9 month schedule is 50% after 9 months, then monthly for 2 years
|
|
|
|
const UNLOCKS_HALF_AT_9_MONTHS: UnlockInfo = UnlockInfo {
|
|
|
|
cliff_fraction: 0.5,
|
|
|
|
cliff_years: 0.75,
|
|
|
|
unlocks: 24,
|
|
|
|
unlock_years: 2.0,
|
|
|
|
custodian: "Mc5XB47H3DKJHym5RLa9mPzWv5snERsF3KNv5AauXK8",
|
|
|
|
};
|
|
|
|
|
2019-12-08 20:21:07 -08:00
|
|
|
// no lockups
|
|
|
|
const UNLOCKS_ALL_DAY_ZERO: UnlockInfo = UnlockInfo {
|
|
|
|
cliff_fraction: 1.0,
|
|
|
|
cliff_years: 0.0,
|
|
|
|
unlocks: 0,
|
|
|
|
unlock_years: 0.0,
|
2020-02-27 06:32:35 -08:00
|
|
|
custodian: "Mc5XB47H3DKJHym5RLa9mPzWv5snERsF3KNv5AauXK8",
|
2019-12-08 20:21:07 -08:00
|
|
|
};
|
|
|
|
|
2020-03-06 12:49:23 -08:00
|
|
|
pub const CREATOR_STAKER_INFOS: &[StakerInfo] = &[
|
2019-11-25 15:11:55 -08:00
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "impossible pizza",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "uE3TVEffRp69mrgknYr71M18GDqL7GxCNGYYRjb3oUt",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("59SLqk4ete5QttM1WmjfMA7uNJnJVFLQqXJSy9rvuj7c"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "nutritious examination",
|
2020-03-11 11:29:50 -07:00
|
|
|
staker: "9noVEZreMmgQvE8iyKmxy7CGTJ2enELyuJ1qxFtXrfJB",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-11 11:29:50 -07:00
|
|
|
withdrawer: Some("ERnx3Csgu3LjrGGrCeCUZzuHguRu6XabT1kufSB1NDWi"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "tidy impression",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "BU7LA4kYvicfPCp22EM2Tth3eaeWAXYo6yCgWXQFJ42z",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("5eKcGy7ZCPJdQSQGVnfmT7kGz6MKPMKaNaMEYJbmwhuT"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "dramatic treatment",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "BrNFrFeuev8TosKhRe2kvVZTYrcUuYaqCfptWutxs17B",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 1_205_602 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("2pKqwFKfKj2nGrknPNDSP8vXGYrgAjd28fT6yLew8sT3"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "angry noise",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "34HCVh8Yx4jNkaeLUQEKibFKUZDPQMjWzkXy8qUfdhS4",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("Hw3sP6PreBtFCnwXbNvUypMhty62GXibjfiZ1zHBXFk6"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "hard cousin",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "AyZb3xrZE8wnS6gYBdsJg5v8CjyrX2ZGXU2zMakCFyYd",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("9j3WzBSZRHrD2DbzFTUVVi81QX6boVvUTpGWcSiMwD5W"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "lopsided skill",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "7SbpY8LmZUb5XRqDbyoreUrSVVV9c39wkpEz81kEAXu5",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("EJyZGbQ1PmpcWxfqGME6SUNHfurh1zggDqCT7rV9xLzL"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "red snake",
|
2020-03-11 11:29:50 -07:00
|
|
|
staker: "C9CfFpmLDsQsz6wt7MrrZquNB5oS4QkpJkmDAiboVEZZ",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 3_655_292 * LAMPORTS_PER_SOL,
|
2020-03-11 11:29:50 -07:00
|
|
|
withdrawer: Some("JBGnGdLyo7V2z9hz51mnnbyDp9sBACtw5WYH9YRG8n7e"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "jolly year",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "5WbxKiW7bghkr8JN6ZAv2TQt4PfJFvtuqNaN8gyQ5UzU",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("43XAfG3AFiF1ockdh7xp91fpFyZkbWSZq9ZFBCGUVV41"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "typical initiative",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "Gc8XnHU6Nnriwt9RbEwi7PTosx4YanLyXak9GTbB8VaH",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("7s2GVwFo8VSrCwX9Tztt42ueiEaUtJ6zCEHU8XGvuf5E"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "deserted window",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "AMmYEynkd78uNTZDFFrMw6NKjWTgqW7M8EFjvajk23VR",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 3_655_292 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("23PJYLS1WFLqhXnXq2Hobc17DbvZaoinoTZYLyGRT8E2"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "eight nation",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "4qWoqt71p7h6siSDS6osu4oVWpw8R7E6uYYiY7Z6oJbH",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 103_519 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("6bFjx3egMjVsGKFb445564a4bwgibwbUB2tVFsJcdPv7"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "earsplitting meaning",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "GYitoBY53E9awc56NWHJ2kxMwj4do5GSmvTRowjGaRDw",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("jXMEkVQQpoqebVMGN7DfpvdRLwJDEkoVNrwPVphNm7i"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "alike cheese",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "Drg9uSvSEfjtn15jqmmrEQnA4pvU1ToYSGSa1Dv9C6Fk",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 3_880_295 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("BxmwgfnyAqZnqRCJGdsEea35pcc92GFTcyGeSj4RNfJJ"),
|
2019-12-05 08:30:34 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-08 08:17:42 -08:00
|
|
|
name: "noisy honey",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "95HsPFFvwbWpk42MKzenauSoULNzk8Tg6fc6EiJhLsUZ",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("Aj3K933zdRQhYEJi2Yjz8hJWXN3Z3hrKJQtPtE8VmUnq"),
|
2019-11-25 15:11:55 -08:00
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2020-03-06 12:49:23 -08:00
|
|
|
pub const SERVICE_STAKER_INFOS: &[StakerInfo] = &[
|
|
|
|
StakerInfo {
|
|
|
|
name: "wretched texture",
|
2020-03-11 11:29:50 -07:00
|
|
|
staker: "B1hegzthtfNQxyEPzkESySxRjMidNqaxrzbQ28GaEwn8",
|
2020-03-06 12:49:23 -08:00
|
|
|
lamports: 225_000 * LAMPORTS_PER_SOL,
|
2020-03-11 11:29:50 -07:00
|
|
|
withdrawer: Some("HWzeqw1Yk5uiLgT2uGUim5ocFJNCwYUFbeCtDVpx9yUb"),
|
2020-03-06 12:49:23 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "unbecoming silver",
|
|
|
|
staker: "4AcoZa1P8fF5XK21RJsiuMRZPEScbbWNc75oakRFHiBz",
|
|
|
|
lamports: 28_800 * LAMPORTS_PER_SOL,
|
|
|
|
withdrawer: None,
|
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "inexpensive uncle",
|
2020-03-11 17:18:14 -07:00
|
|
|
staker: "AkJ7yssRqS3X4UWLUsPTxbP6LfVgdPYBWH4Jgk5EETgZ",
|
2020-03-06 12:49:23 -08:00
|
|
|
lamports: 300_000 * LAMPORTS_PER_SOL,
|
2020-03-11 17:18:14 -07:00
|
|
|
withdrawer: Some("6mudxxoe5VyXXNXsJ3NSGSTGESfG2t86PBCQGbouHpXX"),
|
2020-03-06 12:49:23 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "hellish money",
|
2020-03-12 13:22:12 -07:00
|
|
|
staker: "4DVkqvRP8y26JvzNwsnQEQuC7HASwpGs58GsAT9XJMVg",
|
2020-03-06 12:49:23 -08:00
|
|
|
lamports: 200_000 * LAMPORTS_PER_SOL,
|
2020-03-12 13:22:12 -07:00
|
|
|
withdrawer: Some("ASJpWZAxY96kbciLqzb7sg45gsH32yPzGcxjn7HPcARn"),
|
2020-03-06 12:49:23 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "full grape",
|
2020-03-11 11:29:50 -07:00
|
|
|
staker: "B2EWnwgmNd3KMpD71yZMijhML1jd4TYp96zJdhMiWZ7b",
|
2020-03-06 12:49:23 -08:00
|
|
|
lamports: 450_000 * LAMPORTS_PER_SOL,
|
2020-03-11 11:29:50 -07:00
|
|
|
withdrawer: Some("9oaCkokBBhgBsgyg4sL7fMJyQseaJb1TbADZeoPdpWdc"),
|
2020-03-06 12:49:23 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "nice ghost",
|
2020-03-10 19:08:02 -07:00
|
|
|
staker: "HtQS1CH3nsUHmnLpenj5W6KHzFWTf3mzCn1mTqK7LkB7",
|
2020-03-06 12:49:23 -08:00
|
|
|
lamports: 650_000 * LAMPORTS_PER_SOL,
|
2020-03-10 19:08:02 -07:00
|
|
|
withdrawer: Some("4YnNnycEZXCkuVs2hDthdNxMD4E8wc7ZPgyAK7Lm1uZc"),
|
2020-03-06 12:49:23 -08:00
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2019-12-08 20:21:07 -08:00
|
|
|
pub const FOUNDATION_STAKER_INFOS: &[StakerInfo] = &[
|
2019-12-06 08:20:33 -08:00
|
|
|
StakerInfo {
|
2019-12-06 16:54:02 -08:00
|
|
|
name: "lyrical supermarket",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "4xh7vtQCTim3vgpQ1dQQWjtKrBSkbtL3s15FimXVJAAP",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("C7WS9ic7KN9XNcLsNoMvzTvbzURM3rFGDEQN7qJMWNLn"),
|
2019-12-06 08:20:33 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
2019-12-06 16:54:02 -08:00
|
|
|
name: "frequent description",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "95Nf8XfoecteSXU9nbcvzkrFQdu6FqPaH3EvhwLaC83t",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 57_500_000 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("FdGYQdiRky8NZzN9wZtczTBcWLYYRXrJ3LMDhqDPn5rM"),
|
2019-12-06 16:54:02 -08:00
|
|
|
},
|
2019-12-08 20:21:07 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
pub const GRANTS_STAKER_INFOS: &[StakerInfo] = &[
|
2019-12-06 16:54:02 -08:00
|
|
|
StakerInfo {
|
|
|
|
name: "rightful agreement",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "8w5cgUQfXAZZWyVgenPHpQ1uABXUVLnymqXbuZPx7yqt",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("EDwSQShtUWQtmFfN9SpUUd6hgonL7tRdxngAsNKv9Pe6"),
|
2019-12-06 08:20:33 -08:00
|
|
|
},
|
2019-12-06 16:54:02 -08:00
|
|
|
StakerInfo {
|
|
|
|
name: "tasty location",
|
2020-03-12 08:30:24 -07:00
|
|
|
staker: "9eyXtP43dCp59oyvWG2R7WQCeJ2bA6TWoLzXg1KTDfQQ",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 15_000_000 * LAMPORTS_PER_SOL,
|
2020-03-12 08:30:24 -07:00
|
|
|
withdrawer: Some("9BgvWHerNACjnx6ZpK51k2LEsnwBP3gFwWDzhKkHKH1m"),
|
2019-12-06 16:54:02 -08:00
|
|
|
},
|
2019-12-06 08:20:33 -08:00
|
|
|
];
|
|
|
|
|
2019-12-08 20:21:07 -08:00
|
|
|
pub const COMMUNITY_STAKER_INFOS: &[StakerInfo] = &[
|
|
|
|
StakerInfo {
|
|
|
|
name: "shrill charity",
|
2020-02-27 06:32:35 -08:00
|
|
|
staker: "Eo1iDtrZZiAkQFA8u431hedChaSUnPbU8MWg849MFvEZ",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 5_000_000 * LAMPORTS_PER_SOL,
|
2020-02-27 06:32:35 -08:00
|
|
|
withdrawer: Some("8CUUMKYNGxdgYio5CLHRHyzMEhhVRMcqefgE6dLqnVRK"),
|
2019-12-08 20:21:07 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "legal gate",
|
2020-02-27 06:32:35 -08:00
|
|
|
staker: "7KCzZCbZz6V1U1YXUpBNaqQzQCg2DKo8JsNhKASKtYxe",
|
2020-03-12 13:22:12 -07:00
|
|
|
lamports: 30_301_032 * LAMPORTS_PER_SOL,
|
2020-02-27 06:32:35 -08:00
|
|
|
withdrawer: Some("92viKFftk1dJjqJwreFqT2qHXxjSUuEE9VyHvTdY1mpY"),
|
2019-12-08 20:21:07 -08:00
|
|
|
},
|
|
|
|
StakerInfo {
|
|
|
|
name: "cluttered complaint",
|
2020-02-27 06:32:35 -08:00
|
|
|
staker: "2J8mJU6tWg78DdQVEqMfpN3rMeNbcRT9qGL3yLbmSXYL",
|
2019-12-30 11:28:41 -08:00
|
|
|
lamports: 153_333_633 * LAMPORTS_PER_SOL + 41 * LAMPORTS_PER_SOL / 100,
|
2020-02-27 06:32:35 -08:00
|
|
|
withdrawer: Some("7kgfDmgbEfypBujqn4tyApjf8H7ZWuaL3F6Ah9vQHzgR"),
|
2019-12-08 20:21:07 -08:00
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2019-11-25 15:11:55 -08:00
|
|
|
fn add_stakes(
|
|
|
|
genesis_config: &mut GenesisConfig,
|
|
|
|
staker_infos: &[StakerInfo],
|
|
|
|
unlock_info: &UnlockInfo,
|
|
|
|
) -> u64 {
|
|
|
|
staker_infos
|
|
|
|
.iter()
|
2020-02-27 16:45:10 -08:00
|
|
|
.map(|staker_info| create_and_add_stakes(genesis_config, staker_info, unlock_info, None))
|
2019-11-25 15:11:55 -08:00
|
|
|
.sum::<u64>()
|
|
|
|
}
|
|
|
|
|
2019-12-08 14:36:09 -08:00
|
|
|
pub fn add_genesis_accounts(genesis_config: &mut GenesisConfig, mut issued_lamports: u64) {
|
|
|
|
// add_stakes() and add_validators() award tokens for rent exemption and
|
|
|
|
// to cover an initial transfer-free period of the network
|
|
|
|
|
|
|
|
issued_lamports += add_stakes(
|
2019-12-05 08:30:34 -08:00
|
|
|
genesis_config,
|
2021-06-18 06:34:46 -07:00
|
|
|
CREATOR_STAKER_INFOS,
|
2020-03-06 12:49:23 -08:00
|
|
|
&UNLOCKS_HALF_AT_9_MONTHS,
|
|
|
|
) + add_stakes(
|
|
|
|
genesis_config,
|
2021-06-18 06:34:46 -07:00
|
|
|
SERVICE_STAKER_INFOS,
|
2020-02-21 10:23:03 -08:00
|
|
|
&UNLOCKS_ALL_AT_9_MONTHS,
|
2019-12-06 08:20:33 -08:00
|
|
|
) + add_stakes(
|
|
|
|
genesis_config,
|
2021-06-18 06:34:46 -07:00
|
|
|
FOUNDATION_STAKER_INFOS,
|
2020-02-21 10:23:03 -08:00
|
|
|
&UNLOCKS_ALL_DAY_ZERO,
|
2021-06-18 06:34:46 -07:00
|
|
|
) + add_stakes(genesis_config, GRANTS_STAKER_INFOS, &UNLOCKS_ALL_DAY_ZERO)
|
2020-02-27 16:45:10 -08:00
|
|
|
+ add_stakes(
|
|
|
|
genesis_config,
|
2021-06-18 06:34:46 -07:00
|
|
|
COMMUNITY_STAKER_INFOS,
|
2020-02-27 16:45:10 -08:00
|
|
|
&UNLOCKS_ALL_DAY_ZERO,
|
|
|
|
);
|
2019-12-08 14:36:09 -08:00
|
|
|
|
2019-12-08 20:21:07 -08:00
|
|
|
// "one thanks" (community pool) gets 500_000_000SOL (total) - above distributions
|
2019-12-08 14:36:09 -08:00
|
|
|
create_and_add_stakes(
|
|
|
|
genesis_config,
|
|
|
|
&StakerInfo {
|
|
|
|
name: "one thanks",
|
2020-02-27 06:32:35 -08:00
|
|
|
staker: "7vEAL3nS9CWmy1q6njUUyHE7Cf5RmyQpND6CsoHjzPiR",
|
2020-10-18 22:00:46 -07:00
|
|
|
lamports: (500_000_000 * LAMPORTS_PER_SOL).saturating_sub(issued_lamports),
|
2020-02-27 06:32:35 -08:00
|
|
|
withdrawer: Some("3FFaheyqtyAXZSYxDzsr5CVKvJuvZD1WE1VEsBtDbRqB"),
|
2019-12-08 14:36:09 -08:00
|
|
|
},
|
2019-12-08 20:21:07 -08:00
|
|
|
&UNLOCKS_ALL_DAY_ZERO,
|
2020-02-27 16:45:10 -08:00
|
|
|
None,
|
2019-12-08 14:36:09 -08:00
|
|
|
);
|
2019-11-04 12:46:33 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod tests {
|
|
|
|
use super::*;
|
|
|
|
|
|
|
|
#[test]
|
2019-11-25 15:11:55 -08:00
|
|
|
fn test_add_genesis_accounts() {
|
|
|
|
let mut genesis_config = GenesisConfig::default();
|
|
|
|
|
2019-12-08 14:36:09 -08:00
|
|
|
add_genesis_accounts(&mut genesis_config, 0);
|
2019-11-25 15:11:55 -08:00
|
|
|
|
|
|
|
let lamports = genesis_config
|
|
|
|
.accounts
|
2022-09-23 13:57:27 -07:00
|
|
|
.values()
|
|
|
|
.map(|account| account.lamports)
|
2019-11-25 15:11:55 -08:00
|
|
|
.sum::<u64>();
|
|
|
|
|
2019-12-30 11:28:41 -08:00
|
|
|
assert_eq!(500_000_000 * LAMPORTS_PER_SOL, lamports);
|
2019-11-04 12:46:33 -08:00
|
|
|
}
|
|
|
|
}
|