diff --git a/coordinator/src/tributary/spec.rs b/coordinator/src/tributary/spec.rs index 92905490..8350dcfe 100644 --- a/coordinator/src/tributary/spec.rs +++ b/coordinator/src/tributary/spec.rs @@ -74,7 +74,7 @@ impl TributarySpec { pub fn genesis(&self) -> [u8; 32] { // Calculate the genesis for this Tributary - let mut genesis = RecommendedTranscript::new(b"Serai Tributary Genesis"); + let mut genesis = RecommendedTranscript::new(b"Serai Tributary Genesis Testnet 2"); // This locks it to a specific Serai chain genesis.append_message(b"serai_block", self.serai_block); genesis.append_message(b"session", self.set.session.0.to_le_bytes()); diff --git a/substrate/coins/pallet/src/lib.rs b/substrate/coins/pallet/src/lib.rs index 510e0edf..ecbd3da8 100644 --- a/substrate/coins/pallet/src/lib.rs +++ b/substrate/coins/pallet/src/lib.rs @@ -159,9 +159,11 @@ pub mod pallet { /// /// Errors if any amount overflows. pub fn mint(to: Public, balance: Balance) -> Result<(), Error> { + /* if !T::AllowMint::is_allowed(&balance) { Err(Error::::MintNotAllowed)?; } + */ // update the balance Self::increase_balance_internal(to, balance)?; diff --git a/substrate/node/src/chain_spec.rs b/substrate/node/src/chain_spec.rs index 83d64338..f0e18578 100644 --- a/substrate/node/src/chain_spec.rs +++ b/substrate/node/src/chain_spec.rs @@ -201,6 +201,16 @@ pub fn local_config() -> ChainSpec { } pub fn testnet_config() -> ChainSpec { + { + use std::time::{Duration, SystemTime}; + let secs_since_epoch = SystemTime::now() + .duration_since(SystemTime::UNIX_EPOCH) + .expect("current time is before the epoch") + .as_secs(); + let secs_till_start = 1713283200_u64.saturating_sub(secs_since_epoch); + std::thread::sleep(Duration::from_secs(secs_till_start)); + } + let wasm_binary = wasm_binary(); ChainSpec::from_genesis( @@ -209,7 +219,85 @@ pub fn testnet_config() -> ChainSpec { // ID "testnet-2", ChainType::Live, - move || testnet_genesis(&wasm_binary, vec![todo!()]), + move || { + testnet_genesis( + &wasm_binary, + vec![ + // Kayaba + "4cef4080d00c6ff5ad93d61d1ca631cc10f8c9bd733e8c0c873a85b5fbe5c625", + // CommunityStaking + "587723d333049d9f4e6f027bbd701d603544a422329ea4e1027d60f7947e1074", + // SHossain + "6e30ec71b331d73992307fa7c53719ff238666d7d895487a1b691cc1e4481344", + // StormyCloud + "b0ebef6d712b3eb0f01e69a80519e55feff4be8b226fa64d84691e4b3ca2fb38", + // Yangu + "c692a906f9c63b7e4d12ad3cde204c6715b9a96b5b8ce565794917b7eaaa5f08", + // t-900 + "6a9d5a3ca9422baec670e47238decf4a8515f2de0060b0a566a56dfd72686e52", + // tappokone + "36acb4be05513bed670ef3b43dc3a0fdfde8dc45339f81c80b53b2289dc3730c", + // Sleipnir + "0e87d766c9acec45b39445579cd3f40c8a4b42e9a34049bdbef0da83d000410e", + "c2f96300a956e949883a5e8952270fb8193154a68533d0dd6b10076224e30167", + "7a66312c53dfb153e842456f4e9a38dcda7e1788a3366df3e54125e29821f870", + // jberman + "b6e23eec7dbdb2bf72a087e335b44464cedfcc11c669033d6e520b3bc8de1650", + // krytie + "82815723c498d2aaaead050e63b979bb49a94a00c97b971c22340dffeaa36829", + // toplel + "4243da92918333bfc46f4d17ddeda0c3420d920231627dca1b6049f2f13cac6d", + // clamking + "941a6efa9e4dee6c3015cc42339fe56f43c2230133787746828befcee957cb1f", + // Helios + "56a0e89cffe57337e9e232e41dca0ad7306a17fa0ca63fbac048190fdd45d511", + // akil + "1caffa33b0ea1c7ed95c8450c0baf57baf9e1c1f43af3e28a722ef6d3d4db27e", + // Eumaios + "9ec7b5edf854f6285205468ed7402e40e5bed8238dc226dd4fd718a40efdce44", + // pigeons + "66c71ebf040542ab467def0ad935ec30ea693953d4322b3b168f6f4e9fcacb63", + // joe_land1 + "94e25d8247b2f0e718bee169213052c693b78743dd91f403398a8837c34e0e6a", + // rlking1255 + "82592430fe65e353510d3c1018cebc9806290e2d9098a94a1190f120f471c52b", + // Seth For Privacy + "f8ebbdb8ff2a77527528577bad6fd3297017f7b35a0613ba31d8af8e7e78cd7b", + // lemon_respector + "ce4a4cd996e4601a0226f3c8d9c9cae84519a1a7277b4822e1694b4a8c3ef10b", + // tuxsudo + "c6804a561d07d77c2806844a59c24bb9472df16043767721aae0caa20e82391e", + // Awakeninghumanity.eth + "5046c9f55a65e08df86c132c142f055db0376563fabc190f47a6851e0ff2af2b", + // ART3MIS.CLOUD + "5c1793880b0c06a5ce232288c7789cf4451ab20a8da49b84c88789965bc67356", + // michnovka + "98db8174ec40046b1bae39cad69ea0000d67e120524d46bc298d167407410618", + // kgminer + "8eca72a4bf684d7c4a20a34048003b504a046bce1289d3ae79a3b4422afaf808", + // Benny + "74b4f2d2347a4426c536e6ba48efa14b989b05f03c0ea9b1c67b23696c1a831d", + // Argo + "4025bbbe9c9be72769a27e5e6a3749782f4c9b2a47624bdcb0bfbd29f5e2056a", + // vdo + "1c87bbcd666099abc1ee2ec3f065abd073c237f95c4d0658b945e9d66d67622d", + // PotR + "b29ffbb4a4c0f14eb8c22fabaaacb43f92a62214ff45f0b4f50b7031c3a61a5a", + // Ghalleb + "48f903ed592638cee1c7f239a6ac14cbb0224a3153cff0f85eb0873113cf163f", + // monerobull + "56a2e3b410cb87bdb8125ae19d76a7be042de49693dc27f03e7a0dcc72b42f6c", + // Adorid + "3430222157262d6187c4537b026bcbaeb133695bbb512a7be8f25cc5a082d933", + // KeepKey + "a0ce13fb50c3d56548334af703b6ffb9a1b2f66e9dccf4a3688140b77fa58a06", + // Username + "b0e62f04f625447673a840d9c5f0e5867b355a67b0dee322334dc00925547b71", + // R0BC0D3R + "7e32cebc21b7979c36e477f0a849df1830cc052c879baf13107888654c0be654", + ], + ) + }, // Bootnodes vec![], // Telemetry @@ -226,5 +314,18 @@ pub fn testnet_config() -> ChainSpec { } pub fn bootnode_multiaddrs(id: &str) -> Vec { - vec![] + match id { + "serai-local" | "serai-devnet" => vec![], + "serai-testnet-2" => vec![ + // Kayaba + "/ip4/107.161.20.133/tcp/30333".parse().unwrap(), + // lemon_respector + "/ip4/188.66.62.11/tcp/30333".parse().unwrap(), + // Ghalleb + "/ip4/65.21.156.202/tcp/30333".parse().unwrap(), + // ART3MIS.CLOUD + "/ip4/51.195.60.217/tcp/30333".parse().unwrap(), + ], + _ => panic!("requesting bootnodes for an unrecognized network"), + } }