From dd0ed5c62d97cc051c58fc4459565a1efd3d73e7 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Tue, 15 Oct 2024 19:11:37 -0400 Subject: [PATCH 01/10] init --- pallets/dmail/src/benchmarking.rs | 5 +++-- pallets/dmail/src/tests.rs | 8 ++++---- pallets/networks/src/benchmarking.rs | 5 +++-- pallets/networks/src/tests.rs | 7 ++++--- pallets/shards/src/benchmarking.rs | 14 +++++++------- pallets/shards/src/lib.rs | 6 +++--- pallets/shards/src/tests.rs | 8 ++++---- pallets/tasks/src/benchmarking.rs | 9 +++++---- pallets/tasks/src/tests.rs | 8 ++++---- primitives/src/dmail.rs | 7 ++----- primitives/src/lib.rs | 9 ++++++--- primitives/src/network.rs | 7 ++----- primitives/src/shard.rs | 11 +++++------ runtimes/testnet/src/tests.rs | 8 +++----- 14 files changed, 55 insertions(+), 57 deletions(-) diff --git a/pallets/dmail/src/benchmarking.rs b/pallets/dmail/src/benchmarking.rs index 0167ec77c..58393cbc9 100644 --- a/pallets/dmail/src/benchmarking.rs +++ b/pallets/dmail/src/benchmarking.rs @@ -6,6 +6,7 @@ use scale_info::prelude::string::String; use frame_system::RawOrigin; use polkadot_sdk::frame_benchmarking::benchmarks; use polkadot_sdk::frame_system; +use polkadot_sdk::sp_runtime::BoundedVec; use scale_codec::Encode; use time_primitives::{DmailPath, DmailTo, DMAIL_PATH_LEN, DMAIL_TO_LEN}; @@ -22,8 +23,8 @@ benchmarks! { for _ in 0..b { path.push('b'); } - let to = DmailTo::truncate_from(to.as_str().encode()); - let path = DmailPath::truncate_from(path.as_str().encode()); + let to = BoundedVec::truncate_from(to.as_str().encode()); + let path = BoundedVec::truncate_from(path.as_str().encode()); }: _(RawOrigin::Signed([0u8; 32].into()), to, path) verify {} diff --git a/pallets/dmail/src/tests.rs b/pallets/dmail/src/tests.rs index 7718790be..9720bb4b8 100644 --- a/pallets/dmail/src/tests.rs +++ b/pallets/dmail/src/tests.rs @@ -1,17 +1,17 @@ use crate::mock::*; use crate::Event; -use polkadot_sdk::{frame_support, frame_system}; - use frame_support::assert_ok; use frame_system::RawOrigin; +use polkadot_sdk::sp_runtime::BoundedVec; +use polkadot_sdk::{frame_support, frame_system}; use scale_codec::Encode; use time_primitives::{DmailMessage, DmailPath, DmailTo}; #[test] fn test_dmail_event() { - let to: DmailTo = DmailTo::truncate_from("Self".encode()); - let path: DmailPath = DmailPath::truncate_from("//self".encode()); + let to = BoundedVec::truncate_from("Self".encode()); + let path = BoundedVec::truncate_from("//self".encode()); let sender: AccountId = [1; 32].into(); let event = DmailMessage { owner: sender.clone(), diff --git a/pallets/networks/src/benchmarking.rs b/pallets/networks/src/benchmarking.rs index e47737b2a..191a7242b 100644 --- a/pallets/networks/src/benchmarking.rs +++ b/pallets/networks/src/benchmarking.rs @@ -4,6 +4,7 @@ use crate::Pallet; use frame_system::RawOrigin; use polkadot_sdk::frame_benchmarking::benchmarks; use polkadot_sdk::frame_system; +use polkadot_sdk::sp_runtime::BoundedVec; use scale_codec::Encode; use scale_info::prelude::string::String; use time_primitives::{ @@ -22,8 +23,8 @@ fn mock_network_config() -> NetworkConfig { fn mock_network(chain_name: String, chain_network: String) -> Network { Network { id: 42, - chain_name: ChainName::truncate_from(chain_name.as_str().encode()), - chain_network: ChainNetwork::truncate_from(chain_network.as_str().encode()), + chain_name: BoundedVec::truncate_from(chain_name.as_str().encode()), + chain_network: BoundedVec::truncate_from(chain_network.as_str().encode()), gateway: [0; 32], gateway_block: 99, config: mock_network_config(), diff --git a/pallets/networks/src/tests.rs b/pallets/networks/src/tests.rs index 5821dd136..94b60da3a 100644 --- a/pallets/networks/src/tests.rs +++ b/pallets/networks/src/tests.rs @@ -2,9 +2,10 @@ use crate::{self as pallet_networks}; use crate::{mock::*, Error}; use frame_support::{assert_noop, assert_ok}; use frame_system::RawOrigin; +use polkadot_sdk::sp_runtime::BoundedVec; use polkadot_sdk::{frame_support, frame_system}; use scale_codec::Encode; -use time_primitives::{ChainName, ChainNetwork, Network, NetworkConfig}; +use time_primitives::{Network, NetworkConfig}; fn mock_network_config() -> NetworkConfig { NetworkConfig { @@ -18,8 +19,8 @@ fn mock_network_config() -> NetworkConfig { fn mock_network() -> Network { Network { id: 42, - chain_name: ChainName::truncate_from("Ethereum".encode()), - chain_network: ChainNetwork::truncate_from("Mainnet".encode()), + chain_name: BoundedVec::truncate_from("Ethereum".encode()), + chain_network: BoundedVec::truncate_from("Mainnet".encode()), gateway: [0; 32], gateway_block: 99, config: mock_network_config(), diff --git a/pallets/shards/src/benchmarking.rs b/pallets/shards/src/benchmarking.rs index 42c430b01..050eae58e 100644 --- a/pallets/shards/src/benchmarking.rs +++ b/pallets/shards/src/benchmarking.rs @@ -1,19 +1,19 @@ use super::*; use crate::Pallet; -use polkadot_sdk::{ - frame_benchmarking, frame_support, frame_system, pallet_balances, sp_core, sp_std, -}; - use frame_benchmarking::benchmarks; use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; +use polkadot_sdk::sp_runtime::BoundedVec; +use polkadot_sdk::{ + frame_benchmarking, frame_support, frame_system, pallet_balances, sp_core, sp_std, +}; use sp_std::vec; use sp_std::vec::Vec; use time_primitives::{ - AccountId, Commitment, NetworkId, ProofOfKnowledge, PublicKey, ShardsInterface, + AccountId, NetworkId, ProofOfKnowledge, PublicKey, ShardsInterface, MAX_SHARD_SIZE, }; pub const ALICE: [u8; 32] = [1u8; 32]; @@ -60,7 +60,7 @@ pub const CHARLIE_POK: ProofOfKnowledge = [ 147, 134, ]; -pub fn get_commitment(member: [u8; 32]) -> Commitment { +pub fn get_commitment(member: [u8; 32]) -> BoundedVec> { let commitment = match member { ALICE => ALICE_COMMITMENT, BOB => BOB_COMMITMENT, @@ -69,7 +69,7 @@ pub fn get_commitment(member: [u8; 32]) -> Commitment { panic!("Invalid member") }, }; - Commitment::truncate_from(vec![commitment]) + BoundedVec::truncate_from(vec![commitment]) } pub fn get_proof_of_knowledge(member: [u8; 32]) -> ProofOfKnowledge { match member { diff --git a/pallets/shards/src/lib.rs b/pallets/shards/src/lib.rs index da98afc09..57a749127 100644 --- a/pallets/shards/src/lib.rs +++ b/pallets/shards/src/lib.rs @@ -86,9 +86,9 @@ pub mod pallet { use schnorr_evm::VerifyingKey; use time_primitives::{ - AccountId, Balance, Commitment, ElectionsInterface, MemberStatus, MembersInterface, - NetworkId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, ShardsInterface, - TasksInterface, TssPublicKey, + AccountId, Balance, ElectionsInterface, MemberStatus, MembersInterface, NetworkId, + ProofOfKnowledge, PublicKey, ShardId, ShardStatus, ShardsInterface, TasksInterface, + TssPublicKey, }; /// Trait to define the weights for various extrinsics in the pallet. diff --git a/pallets/shards/src/tests.rs b/pallets/shards/src/tests.rs index 322d7b29b..67171c552 100644 --- a/pallets/shards/src/tests.rs +++ b/pallets/shards/src/tests.rs @@ -1,11 +1,11 @@ use crate::mock::*; use crate::{Event, ShardMembers, ShardNetwork, ShardState}; -use polkadot_sdk::{frame_support, frame_system, pallet_balances, sp_core}; - use frame_support::assert_ok; use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; +use polkadot_sdk::sp_runtime::BoundedVec; +use polkadot_sdk::{frame_support, frame_system, pallet_balances, sp_core}; use schnorr_evm::k256::elliptic_curve::PrimeField; use schnorr_evm::k256::{ProjectivePoint, Scalar}; @@ -88,7 +88,7 @@ fn create_shard(shard_id: ShardId, shard: &[Member], threshold: u16) { assert_ok!(Shards::commit( RawOrigin::Signed(member.account_id.clone()).into(), shard_id as _, - Commitment::truncate_from(member.commitment(threshold)), + BoundedVec::truncate_from(member.commitment(threshold)), member.proof_of_knowledge(), )); roll(1); @@ -139,7 +139,7 @@ fn test_register_shard() { assert_ok!(Shards::commit( RawOrigin::Signed(member.account_id.clone()).into(), shard_id as _, - Commitment::truncate_from(member.commitment(threshold)), + BoundedVec::truncate_from(member.commitment(threshold)), member.proof_of_knowledge(), )); } diff --git a/pallets/tasks/src/benchmarking.rs b/pallets/tasks/src/benchmarking.rs index c5f39d9ca..99f21178a 100644 --- a/pallets/tasks/src/benchmarking.rs +++ b/pallets/tasks/src/benchmarking.rs @@ -5,11 +5,12 @@ use frame_support::traits::OnInitialize; use frame_system::RawOrigin; use pallet_networks::NetworkGatewayAddress; use pallet_shards::{ShardCommitment, ShardState}; +use polkadot_sdk::sp_runtime::BoundedVec; use polkadot_sdk::{frame_benchmarking, frame_support, frame_system, sp_std}; use sp_std::vec; use time_primitives::{ - Commitment, GmpEvents, NetworkId, ShardStatus, ShardsInterface, Task, TaskResult, - TasksInterface, TssPublicKey, TssSignature, + NetworkId, ShardStatus, ShardsInterface, Task, TaskResult, TasksInterface, TssPublicKey, + TssSignature, }; // Generated by running tests::bench_helper::print_valid_result @@ -32,7 +33,7 @@ fn create_simple_task() { 1, ); ShardState::::insert(shard_id, ShardStatus::Online); - ShardCommitment::::insert(shard_id, Commitment::truncate_from(vec![PUBKEY])); + ShardCommitment::::insert(shard_id, BoundedVec::truncate_from(vec![PUBKEY])); Pallet::::shard_online(shard_id, ETHEREUM); Pallet::::create_task(ETHEREUM, Task::ReadGatewayEvents { blocks: 0..10 }); } @@ -44,7 +45,7 @@ benchmarks! { NetworkGatewayAddress::::insert(0, [0; 32]); create_simple_task::(); Pallet::::on_initialize(frame_system::Pallet::::block_number()); - let result = TaskResult::ReadGatewayEvents { events: GmpEvents::truncate_from(vec![]), signature: SIGNATURE }; + let result = TaskResult::ReadGatewayEvents { events: BoundedVec::truncate_from(vec![]), signature: SIGNATURE }; }: _(RawOrigin::Signed([0u8; 32].into()), 0, result) verify {} schedule_tasks { diff --git a/pallets/tasks/src/tests.rs b/pallets/tasks/src/tests.rs index 6c689b05b..bd1604cb4 100644 --- a/pallets/tasks/src/tests.rs +++ b/pallets/tasks/src/tests.rs @@ -21,7 +21,7 @@ fn create_shard(network: NetworkId, n: u8, t: u16) -> ShardId { } let shard_id = Shards::create_shard(network, members, t).0; let pub_key = MockTssSigner::new(shard_id).public_key(); - ShardCommitment::::insert(shard_id, Commitment::truncate_from(vec![pub_key])); + ShardCommitment::::insert(shard_id, BoundedVec::truncate_from(vec![pub_key])); ShardState::::insert(shard_id, ShardStatus::Online); Tasks::shard_online(shard_id, network); shard_id @@ -43,7 +43,7 @@ fn register_shard(shard: ShardId) { fn submit_gateway_events(shard: ShardId, task_id: TaskId, events: &[GmpEvent]) { let signature = MockTssSigner::new(shard).sign_gmp_events(task_id, events); let result = TaskResult::ReadGatewayEvents { - events: GmpEvents::truncate_from(events.to_vec()), + events: BoundedVec::truncate_from(events.to_vec()), signature, }; assert_ok!(Tasks::submit_task_result( @@ -58,7 +58,7 @@ fn submit_submission_error(account: PublicKey, task: TaskId, error: &str) { RawOrigin::Signed(account.into_account()).into(), task, TaskResult::SubmitGatewayMessage { - error: ErrorMsg::truncate_from(error.encode()) + error: BoundedVec::truncate_from(error.encode()) } )); } @@ -230,7 +230,7 @@ fn test_msg_execution_error_completes_submit_task() { submit_submission_error(account, 1, "error message"); assert_eq!( Tasks::get_task_result(1), - Some(Err(ErrorMsg::truncate_from("error message".encode()))) + Some(Err(BoundedVec::truncate_from("error message".encode()))) ); }) } diff --git a/primitives/src/dmail.rs b/primitives/src/dmail.rs index dfdd091d3..9e458dabd 100644 --- a/primitives/src/dmail.rs +++ b/primitives/src/dmail.rs @@ -6,12 +6,9 @@ use scale_info::TypeInfo; pub const DMAIL_TO_LEN: u32 = 64; pub const DMAIL_PATH_LEN: u32 = 64; -pub type DmailTo = BoundedVec>; -pub type DmailPath = BoundedVec>; - #[derive(Encode, Decode, TypeInfo, PartialEq, Eq, Clone, Debug)] pub struct DmailMessage { pub owner: AccountId, - pub to: DmailTo, - pub path: DmailPath, + pub to: BoundedVec>, + pub path: BoundedVec>, } diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index c21b118eb..b52498723 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -3,7 +3,10 @@ use anyhow::Result; use frame_support::weights::Weight; -use polkadot_sdk::{frame_support, sp_api, sp_core, sp_runtime}; +use polkadot_sdk::{ + frame_support, sp_api, sp_core, + sp_runtime::{self, traits::ConstU32, BoundedVec}, +}; use scale_info::prelude::{string::String, vec::Vec}; use sp_core::crypto::Ss58Codec; use sp_runtime::{ @@ -96,7 +99,7 @@ sp_api::decl_runtime_apis! { } pub trait NetworksApi { - fn get_network(network_id: NetworkId) -> Option<(ChainName, ChainNetwork)>; + fn get_network(network_id: NetworkId) -> Option<(BoundedVec>, BoundedVec>)>; fn get_gateway(network: NetworkId) -> Option; } @@ -109,7 +112,7 @@ sp_api::decl_runtime_apis! { fn get_shard_members(shard_id: ShardId) -> Vec<(AccountId, MemberStatus)>; fn get_shard_threshold(shard_id: ShardId) -> u16; fn get_shard_status(shard_id: ShardId) -> ShardStatus; - fn get_shard_commitment(shard_id: ShardId) -> Option; + fn get_shard_commitment(shard_id: ShardId) -> Option>>; } pub trait TasksApi { diff --git a/primitives/src/network.rs b/primitives/src/network.rs index 0f4395571..ef5f4fd27 100644 --- a/primitives/src/network.rs +++ b/primitives/src/network.rs @@ -6,16 +6,13 @@ use serde::{Deserialize, Serialize}; pub const CHAIN_NAME_LEN: u32 = 50; pub const CHAIN_NET_LEN: u32 = 50; - pub type NetworkId = u16; -pub type ChainName = BoundedVec>; -pub type ChainNetwork = BoundedVec>; #[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, TypeInfo, Serialize, Deserialize)] pub struct Network { pub id: NetworkId, - pub chain_name: ChainName, - pub chain_network: ChainNetwork, + pub chain_name: BoundedVec>, + pub chain_network: BoundedVec>, pub gateway: Gateway, pub gateway_block: u64, pub config: NetworkConfig, diff --git a/primitives/src/shard.rs b/primitives/src/shard.rs index cc1ff0a32..7d343c206 100644 --- a/primitives/src/shard.rs +++ b/primitives/src/shard.rs @@ -14,7 +14,7 @@ use scale_info::prelude::vec::Vec; use scale_info::TypeInfo; /// Upper bound for shard sizes -const MAX_SHARD_SIZE: u32 = 100; +pub const MAX_SHARD_SIZE: u32 = 100; pub type TssPublicKey = [u8; 33]; pub type TssSignature = [u8; 64]; @@ -22,7 +22,6 @@ pub type TssHash = [u8; 32]; pub type PeerId = [u8; 32]; pub type ShardId = u64; pub type ProofOfKnowledge = [u8; 65]; -pub type Commitment = BoundedVec>; #[cfg(feature = "std")] pub mod serde_tss_public_key { @@ -71,12 +70,12 @@ pub mod serde_tss_signature { #[derive(Debug, Clone, Eq, PartialEq, Encode, Decode, TypeInfo)] pub enum MemberStatus { Added, - Committed(Commitment), + Committed(BoundedVec>), Ready, } impl MemberStatus { - pub fn commitment(&self) -> Option<&Commitment> { + pub fn commitment(&self) -> Option<&BoundedVec>> { if let Self::Committed(commitment) = self { Some(commitment) } else { @@ -94,7 +93,7 @@ impl std::fmt::Display for MemberStatus { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { let status = match self { Self::Added => "added", - Self::Committed(_) => "commited", + Self::Committed(_) => "committed", Self::Ready => "ready", }; f.write_str(status) @@ -122,7 +121,7 @@ impl std::fmt::Display for ShardStatus { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { let status = match self { Self::Created => "created", - Self::Committed => "commited", + Self::Committed => "committed", Self::Online => "online", Self::Offline => "offline", }; diff --git a/runtimes/testnet/src/tests.rs b/runtimes/testnet/src/tests.rs index af2dbe9af..98fa1210f 100644 --- a/runtimes/testnet/src/tests.rs +++ b/runtimes/testnet/src/tests.rs @@ -1,13 +1,11 @@ /// Integration tests use crate::*; -//use polkadot_sdk::*; - use frame_support::assert_ok; use frame_support::traits::{OnFinalize, OnInitialize, WhitelistedStorageKeys}; use frame_system::RawOrigin; use pallet_shards::ShardMembers; -// use pallet_tasks::TaskSigner; +use polkadot_sdk::sp_runtime::BoundedVec; use sp_core::hexdisplay::HexDisplay; use sp_core::Pair; use std::collections::HashSet; @@ -32,8 +30,8 @@ fn get_peer_id(random_num: [u8; 32]) -> [u8; 32] { fn network() -> Network { Network { id: ETHEREUM, - chain_name: ChainName::truncate_from("ethereum".encode()), - chain_network: ChainNetwork::truncate_from("dev".encode()), + chain_name: BoundedVec::truncate_from("ethereum".encode()), + chain_network: BoundedVec::truncate_from("dev".encode()), gateway: [0u8; 32], gateway_block: 0, config: NetworkConfig { From fc46177fae643e6a61414b417e5a4c11f644b205 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 14:53:30 -0400 Subject: [PATCH 02/10] try first approach of using boundedvec directly instead of type aliasing --- pallets/dmail/src/benchmarking.rs | 2 +- pallets/dmail/src/lib.rs | 11 ++++++++--- pallets/dmail/src/tests.rs | 2 +- pallets/networks/src/benchmarking.rs | 10 +++++----- pallets/networks/src/lib.rs | 14 +++++--------- pallets/networks/src/tests.rs | 13 ++++++------- pallets/shards/src/benchmarking.rs | 7 ++++--- pallets/shards/src/lib.rs | 21 ++++++++++++++------- pallets/shards/src/tests.rs | 2 +- pallets/tasks/src/lib.rs | 27 +++++++++++++++++++-------- pallets/tasks/src/tests.rs | 9 +++++---- primitives/src/lib.rs | 2 +- primitives/src/network.rs | 9 +++++++-- primitives/src/task.rs | 10 +++------- 14 files changed, 80 insertions(+), 59 deletions(-) diff --git a/pallets/dmail/src/benchmarking.rs b/pallets/dmail/src/benchmarking.rs index 58393cbc9..5568138ec 100644 --- a/pallets/dmail/src/benchmarking.rs +++ b/pallets/dmail/src/benchmarking.rs @@ -8,7 +8,7 @@ use polkadot_sdk::frame_benchmarking::benchmarks; use polkadot_sdk::frame_system; use polkadot_sdk::sp_runtime::BoundedVec; use scale_codec::Encode; -use time_primitives::{DmailPath, DmailTo, DMAIL_PATH_LEN, DMAIL_TO_LEN}; +use time_primitives::{DMAIL_PATH_LEN, DMAIL_TO_LEN}; benchmarks! { send_email { diff --git a/pallets/dmail/src/lib.rs b/pallets/dmail/src/lib.rs index 2ff7a93cf..3e5ce6ab3 100644 --- a/pallets/dmail/src/lib.rs +++ b/pallets/dmail/src/lib.rs @@ -10,11 +10,12 @@ pub use pallet::*; #[polkadot_sdk::frame_support::pallet] pub mod pallet { - use polkadot_sdk::{frame_support, frame_system}; + use polkadot_sdk::{frame_support, frame_system, sp_runtime}; use frame_support::pallet_prelude::*; use frame_system::pallet_prelude::*; - use time_primitives::{AccountId, DmailMessage, DmailPath, DmailTo}; + use sp_runtime::{traits::ConstU32, BoundedVec}; + use time_primitives::{AccountId, DmailMessage, DMAIL_PATH_LEN, DMAIL_TO_LEN}; pub trait WeightInfo { fn send_email(to: u32, path: u32) -> Weight; @@ -50,7 +51,11 @@ pub mod pallet { impl Pallet { #[pallet::call_index(0)] #[pallet::weight(T::WeightInfo::send_email(to.len() as u32, path.len() as u32))] - pub fn send_email(origin: OriginFor, to: DmailTo, path: DmailPath) -> DispatchResult { + pub fn send_email( + origin: OriginFor, + to: BoundedVec>, + path: BoundedVec>, + ) -> DispatchResult { let owner = ensure_signed(origin)?; let message = DmailMessage { owner, to, path }; Self::deposit_event(Event::Message(message)); diff --git a/pallets/dmail/src/tests.rs b/pallets/dmail/src/tests.rs index 9720bb4b8..052e58df2 100644 --- a/pallets/dmail/src/tests.rs +++ b/pallets/dmail/src/tests.rs @@ -6,7 +6,7 @@ use frame_system::RawOrigin; use polkadot_sdk::sp_runtime::BoundedVec; use polkadot_sdk::{frame_support, frame_system}; use scale_codec::Encode; -use time_primitives::{DmailMessage, DmailPath, DmailTo}; +use time_primitives::DmailMessage; #[test] fn test_dmail_event() { diff --git a/pallets/networks/src/benchmarking.rs b/pallets/networks/src/benchmarking.rs index 191a7242b..e0d1d1290 100644 --- a/pallets/networks/src/benchmarking.rs +++ b/pallets/networks/src/benchmarking.rs @@ -7,9 +7,7 @@ use polkadot_sdk::frame_system; use polkadot_sdk::sp_runtime::BoundedVec; use scale_codec::Encode; use scale_info::prelude::string::String; -use time_primitives::{ - ChainName, ChainNetwork, Network, NetworkConfig, CHAIN_NAME_LEN, CHAIN_NET_LEN, -}; +use time_primitives::{ChainNetwork, Network, NetworkConfig, CHAIN_NAME_LEN, CHAIN_NET_LEN}; fn mock_network_config() -> NetworkConfig { NetworkConfig { @@ -23,8 +21,10 @@ fn mock_network_config() -> NetworkConfig { fn mock_network(chain_name: String, chain_network: String) -> Network { Network { id: 42, - chain_name: BoundedVec::truncate_from(chain_name.as_str().encode()), - chain_network: BoundedVec::truncate_from(chain_network.as_str().encode()), + name: ChainNetwork { + chain: BoundedVec::truncate_from(chain_name.as_str().encode()), + net: BoundedVec::truncate_from(chain_network.as_str().encode()), + }, gateway: [0; 32], gateway_block: 99, config: mock_network_config(), diff --git a/pallets/networks/src/lib.rs b/pallets/networks/src/lib.rs index 288d0cb5b..12fc23d01 100644 --- a/pallets/networks/src/lib.rs +++ b/pallets/networks/src/lib.rs @@ -36,8 +36,7 @@ pub mod pallet { use frame_system::pallet_prelude::*; use scale_info::prelude::vec::Vec; use time_primitives::{ - Address, ChainName, ChainNetwork, Network, NetworkConfig, NetworkId, NetworksInterface, - TasksInterface, + Address, ChainNetwork, Network, NetworkConfig, NetworkId, NetworksInterface, TasksInterface, }; pub trait WeightInfo { @@ -91,7 +90,7 @@ pub mod pallet { #[pallet::storage] pub type NetworkName = - StorageMap<_, Twox64Concat, NetworkId, (ChainName, ChainNetwork), OptionQuery>; + StorageMap<_, Twox64Concat, NetworkId, ChainNetwork, OptionQuery>; /// Map storage for network gateways. #[pallet::storage] @@ -159,10 +158,7 @@ pub mod pallet { fn insert_network(network: &Network) -> Result<(), Error> { ensure!(Networks::::get(network.id).is_none(), Error::::NetworkExists); Networks::::insert(network.id, network.id); - NetworkName::::insert( - network.id, - (network.chain_name.clone(), network.chain_network.clone()), - ); + NetworkName::::insert(network.id, network.name.clone()); NetworkGatewayAddress::::insert(network.id, network.gateway); NetworkGatewayBlock::::insert(network.id, network.gateway_block); T::Tasks::gateway_registered(network.id, network.gateway_block); @@ -200,7 +196,7 @@ pub mod pallet { /// 3. Emit the [`Event::NetworkRegistered`] event with the new `NetworkId`. /// 4. Return `Ok(())` to indicate success. #[pallet::call_index(0)] - #[pallet::weight(T::WeightInfo::register_network(network.chain_name.len() as u32, network.chain_network.len() as u32))] + #[pallet::weight(T::WeightInfo::register_network(network.name.chain.len() as u32, network.name.net.len() as u32))] pub fn register_network(origin: OriginFor, network: Network) -> DispatchResult { T::AdminOrigin::ensure_origin(origin)?; Self::insert_network(&network)?; @@ -234,7 +230,7 @@ pub mod pallet { /// # Flow /// 1. Call [`Networks`] to fetch the network information. /// 2. Return the network information if it exists, otherwise return `None`. - pub fn get_network(network: NetworkId) -> Option<(ChainName, ChainNetwork)> { + pub fn get_network(network: NetworkId) -> Option { NetworkName::::get(network) } } diff --git a/pallets/networks/src/tests.rs b/pallets/networks/src/tests.rs index 94b60da3a..e54b2057e 100644 --- a/pallets/networks/src/tests.rs +++ b/pallets/networks/src/tests.rs @@ -5,7 +5,7 @@ use frame_system::RawOrigin; use polkadot_sdk::sp_runtime::BoundedVec; use polkadot_sdk::{frame_support, frame_system}; use scale_codec::Encode; -use time_primitives::{Network, NetworkConfig}; +use time_primitives::{ChainNetwork, Network, NetworkConfig}; fn mock_network_config() -> NetworkConfig { NetworkConfig { @@ -19,8 +19,10 @@ fn mock_network_config() -> NetworkConfig { fn mock_network() -> Network { Network { id: 42, - chain_name: BoundedVec::truncate_from("Ethereum".encode()), - chain_network: BoundedVec::truncate_from("Mainnet".encode()), + name: ChainNetwork { + chain: BoundedVec::truncate_from("Ethereum".encode()), + net: BoundedVec::truncate_from("Mainnet".encode()), + }, gateway: [0; 32], gateway_block: 99, config: mock_network_config(), @@ -33,10 +35,7 @@ fn test_register_network() { new_test_ext().execute_with(|| { assert_ok!(Networks::register_network(RawOrigin::Root.into(), network.clone(),)); assert_eq!(pallet_networks::Networks::::get(42), Some(network.id)); - assert_eq!( - pallet_networks::NetworkName::::get(42), - Some((network.chain_name, network.chain_network)) - ); + assert_eq!(pallet_networks::NetworkName::::get(42), Some(network.name.clone())); assert_eq!(pallet_networks::NetworkGatewayAddress::::get(42), Some(network.gateway)); assert_eq!( pallet_networks::NetworkGatewayBlock::::get(42), diff --git a/pallets/shards/src/benchmarking.rs b/pallets/shards/src/benchmarking.rs index 050eae58e..153da1f03 100644 --- a/pallets/shards/src/benchmarking.rs +++ b/pallets/shards/src/benchmarking.rs @@ -4,7 +4,7 @@ use crate::Pallet; use frame_benchmarking::benchmarks; use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; -use polkadot_sdk::sp_runtime::BoundedVec; +use polkadot_sdk::sp_runtime::{traits::ConstU32, BoundedVec}; use polkadot_sdk::{ frame_benchmarking, frame_support, frame_system, pallet_balances, sp_core, sp_std, }; @@ -13,7 +13,8 @@ use sp_std::vec; use sp_std::vec::Vec; use time_primitives::{ - AccountId, NetworkId, ProofOfKnowledge, PublicKey, ShardsInterface, MAX_SHARD_SIZE, + AccountId, NetworkId, ProofOfKnowledge, PublicKey, ShardsInterface, TssPublicKey, + MAX_SHARD_SIZE, }; pub const ALICE: [u8; 32] = [1u8; 32]; @@ -60,7 +61,7 @@ pub const CHARLIE_POK: ProofOfKnowledge = [ 147, 134, ]; -pub fn get_commitment(member: [u8; 32]) -> BoundedVec> { +pub fn get_commitment(member: [u8; 32]) -> BoundedVec> { let commitment = match member { ALICE => ALICE_COMMITMENT, BOB => BOB_COMMITMENT, diff --git a/pallets/shards/src/lib.rs b/pallets/shards/src/lib.rs index 57a749127..47affaf01 100644 --- a/pallets/shards/src/lib.rs +++ b/pallets/shards/src/lib.rs @@ -79,7 +79,7 @@ pub mod pallet { use frame_support::pallet_prelude::{EnsureOrigin, ValueQuery, *}; use frame_system::pallet_prelude::*; - use sp_runtime::Saturating; + use sp_runtime::{traits::ConstU32, BoundedVec, Saturating}; use sp_std::vec; use sp_std::vec::Vec; @@ -88,7 +88,7 @@ pub mod pallet { use time_primitives::{ AccountId, Balance, ElectionsInterface, MemberStatus, MembersInterface, NetworkId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, ShardsInterface, TasksInterface, - TssPublicKey, + TssPublicKey, MAX_SHARD_SIZE, }; /// Trait to define the weights for various extrinsics in the pallet. @@ -162,8 +162,13 @@ pub mod pallet { /// Maps `ShardId` to `Commitment` indicating the commitment of each shard. #[pallet::storage] - pub type ShardCommitment = - StorageMap<_, Blake2_128Concat, ShardId, Commitment, OptionQuery>; + pub type ShardCommitment = StorageMap< + _, + Blake2_128Concat, + ShardId, + BoundedVec>, + OptionQuery, + >; /// Maps `AccountId` to `ShardId` indicating the shard a member is part of. #[pallet::storage] @@ -197,7 +202,7 @@ pub mod pallet { /// New shard was created ShardCreated(ShardId, NetworkId), /// Shard commited - ShardCommitted(ShardId, Commitment), + ShardCommitted(ShardId, BoundedVec>), /// Shard DKG timed out ShardKeyGenTimedOut(ShardId), /// Shard completed dkg and submitted public key to runtime @@ -244,7 +249,7 @@ pub mod pallet { pub fn commit( origin: OriginFor, shard_id: ShardId, - commitment: Commitment, + commitment: BoundedVec>, proof_of_knowledge: ProofOfKnowledge, ) -> DispatchResult { let member = ensure_signed(origin)?; @@ -441,7 +446,9 @@ pub mod pallet { /// /// # Flow /// 1. Retrieve and return the commitment from [`ShardCommitment`] storage. - pub fn get_shard_commitment(shard_id: ShardId) -> Option { + pub fn get_shard_commitment( + shard_id: ShardId, + ) -> Option>> { ShardCommitment::::get(shard_id) } } diff --git a/pallets/shards/src/tests.rs b/pallets/shards/src/tests.rs index 67171c552..9b7a9e921 100644 --- a/pallets/shards/src/tests.rs +++ b/pallets/shards/src/tests.rs @@ -13,7 +13,7 @@ use schnorr_evm::proof_of_knowledge::construct_proof_of_knowledge; use schnorr_evm::VerifyingKey; use time_primitives::{ - AccountId, Commitment, NetworkId, PeerId, PublicKey, ShardId, ShardStatus, ShardsInterface, + AccountId, NetworkId, PeerId, PublicKey, ShardId, ShardStatus, ShardsInterface, }; const ETHEREUM: NetworkId = 0; diff --git a/pallets/tasks/src/lib.rs b/pallets/tasks/src/lib.rs index 43b678df8..4466b1fce 100644 --- a/pallets/tasks/src/lib.rs +++ b/pallets/tasks/src/lib.rs @@ -67,9 +67,9 @@ pub mod pallet { use sp_std::vec::Vec; use time_primitives::{ - AccountId, Balance, BatchBuilder, BatchId, ErrorMsg, GatewayMessage, GatewayOp, GmpEvent, - MessageId, NetworkId, NetworksInterface, PublicKey, ShardId, ShardsInterface, Task, TaskId, - TaskResult, TasksInterface, TssPublicKey, TssSignature, + AccountId, Balance, BatchBuilder, BatchId, GatewayMessage, GatewayOp, GmpEvent, MessageId, + NetworkId, NetworksInterface, PublicKey, ShardId, ShardsInterface, Task, TaskId, + TaskResult, TasksInterface, TssPublicKey, TssSignature, MAX_ERROR_LEN, }; /// Trait to define the weights for various extrinsics in the pallet. @@ -199,8 +199,13 @@ pub mod pallet { pub type Tasks = StorageMap<_, Blake2_128Concat, TaskId, Task, OptionQuery>; #[pallet::storage] - pub type TaskOutput = - StorageMap<_, Blake2_128Concat, TaskId, Result<(), ErrorMsg>, OptionQuery>; + pub type TaskOutput = StorageMap< + _, + Blake2_128Concat, + TaskId, + Result<(), BoundedVec>>, + OptionQuery, + >; #[pallet::storage] pub type TaskNetwork = @@ -251,7 +256,7 @@ pub mod pallet { /// the record id that uniquely identify TaskCreated(TaskId), /// Task succeeded with optional error message - TaskResult(TaskId, Result<(), ErrorMsg>), + TaskResult(TaskId, Result<(), BoundedVec>>), /// Set the maximum number of assigned tasks for all shards on the network ShardTaskLimitSet(NetworkId, u32), /// Set the network batch size @@ -420,7 +425,11 @@ pub mod pallet { task_id } - fn finish_task(network: NetworkId, task_id: TaskId, result: Result<(), ErrorMsg>) { + fn finish_task( + network: NetworkId, + task_id: TaskId, + result: Result<(), BoundedVec>>, + ) { TaskOutput::::insert(task_id, result.clone()); if let Some(shard) = TaskShard::::take(task_id) { ShardTasks::::remove(shard, task_id); @@ -631,7 +640,9 @@ pub mod pallet { /// Retrieves the result of a given task. /// Look up the `TaskResult` associated with the provided `task_id` in the storage. - pub fn get_task_result(task_id: TaskId) -> Option> { + pub fn get_task_result( + task_id: TaskId, + ) -> Option>>> { TaskOutput::::get(task_id) } diff --git a/pallets/tasks/src/tests.rs b/pallets/tasks/src/tests.rs index bd1604cb4..c39211cc9 100644 --- a/pallets/tasks/src/tests.rs +++ b/pallets/tasks/src/tests.rs @@ -4,12 +4,13 @@ use crate::{BatchIdCounter, ShardRegistered}; use frame_support::assert_ok; use frame_system::RawOrigin; use pallet_shards::{ShardCommitment, ShardState}; -use polkadot_sdk::{frame_support, frame_system}; +use polkadot_sdk::{frame_support, frame_system, sp_runtime}; use scale_codec::Encode; +use sp_runtime::BoundedVec; use time_primitives::{ - traits::IdentifyAccount, Commitment, ErrorMsg, GatewayMessage, GatewayOp, GmpEvent, GmpEvents, - GmpMessage, MockTssSigner, NetworkId, PublicKey, ShardId, ShardStatus, ShardsInterface, Task, - TaskId, TaskResult, TasksInterface, TssPublicKey, TssSignature, + traits::IdentifyAccount, GatewayMessage, GatewayOp, GmpEvent, GmpMessage, MockTssSigner, + NetworkId, PublicKey, ShardId, ShardStatus, ShardsInterface, Task, TaskId, TaskResult, + TasksInterface, TssPublicKey, TssSignature, }; const ETHEREUM: NetworkId = 0; diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index b52498723..e32f07885 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -120,7 +120,7 @@ sp_api::decl_runtime_apis! { fn get_task(task_id: TaskId) -> Option; fn get_task_shard(task_id: TaskId) -> Option; fn get_task_submitter(task_id: TaskId) -> Option; - fn get_task_result(task_id: TaskId) -> Option>; + fn get_task_result(task_id: TaskId) -> Option>>>; fn get_batch_message(batch_id: BatchId) -> Option; } diff --git a/primitives/src/network.rs b/primitives/src/network.rs index ef5f4fd27..d7c3b7296 100644 --- a/primitives/src/network.rs +++ b/primitives/src/network.rs @@ -8,11 +8,16 @@ pub const CHAIN_NAME_LEN: u32 = 50; pub const CHAIN_NET_LEN: u32 = 50; pub type NetworkId = u16; +#[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, TypeInfo, Serialize, Deserialize)] +pub struct ChainNetwork { + pub chain: BoundedVec>, + pub net: BoundedVec>, +} + #[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, TypeInfo, Serialize, Deserialize)] pub struct Network { pub id: NetworkId, - pub chain_name: BoundedVec>, - pub chain_network: BoundedVec>, + pub name: ChainNetwork, pub gateway: Gateway, pub gateway_block: u64, pub config: NetworkConfig, diff --git a/primitives/src/task.rs b/primitives/src/task.rs index 55ed504c0..5d1916bb4 100644 --- a/primitives/src/task.rs +++ b/primitives/src/task.rs @@ -62,21 +62,17 @@ pub fn encode_gmp_events(task_id: TaskId, events: &[GmpEvent]) -> Vec { } const MAX_GMP_EVENTS: u32 = 1_000; -const MAX_ERROR_LEN: u32 = 500; -/// Bounded vec alias for GMP events submitted in results -pub type GmpEvents = BoundedVec>; -/// Bounded vec alias for SubmitGatewayMessage error -pub type ErrorMsg = BoundedVec>; +pub const MAX_ERROR_LEN: u32 = 500; #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[derive(Debug, Clone, Decode, Encode, TypeInfo, PartialEq)] pub enum TaskResult { ReadGatewayEvents { - events: GmpEvents, + events: BoundedVec>, #[cfg_attr(feature = "std", serde(with = "crate::shard::serde_tss_signature"))] signature: TssSignature, }, SubmitGatewayMessage { - error: ErrorMsg, + error: BoundedVec>, }, } From df2a8151a82bc09fc9d234bd6de4aeda24c21054 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 15:19:50 -0400 Subject: [PATCH 03/10] try fix errors in chronicle testing and update runtime imports and types as well --- chronicle/src/mock.rs | 22 +++++++++++----------- runtimes/mainnet/src/lib.rs | 17 +++++++++-------- runtimes/testnet/src/lib.rs | 14 +++++++------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/chronicle/src/mock.rs b/chronicle/src/mock.rs index d9f16611b..74dee06fe 100644 --- a/chronicle/src/mock.rs +++ b/chronicle/src/mock.rs @@ -7,21 +7,21 @@ use std::collections::HashMap; use std::sync::{Arc, Mutex}; use time_primitives::traits::IdentifyAccount; use time_primitives::{ - sr25519, AccountId, Balance, BatchId, BlockHash, BlockNumber, ChainName, ChainNetwork, - Commitment, Gateway, GatewayMessage, MemberStatus, NetworkId, PeerId, ProofOfKnowledge, - PublicKey, ShardId, ShardStatus, Task, TaskId, TaskResult, + sr25519, AccountId, Balance, BatchId, BlockHash, BlockNumber, Gateway, GatewayMessage, + MemberStatus, NetworkId, PeerId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Task, + TaskId, TaskResult, }; use tokio::time::Duration; use tss::{sum_commitments, VerifiableSecretSharingCommitment, VerifyingKey}; #[derive(Clone, Debug, Eq, PartialEq)] pub struct MockNetwork { - pub chain_name: ChainName, - pub chain_network: ChainNetwork, + pub chain_name: String, + pub chain_network: String, } impl MockNetwork { - pub fn new(chain_name: ChainName, chain_network: ChainNetwork) -> Self { + pub fn new(chain_name: String, chain_network: String) -> Self { Self { chain_name, chain_network } } } @@ -30,7 +30,7 @@ impl MockNetwork { pub struct MockShard { pub members: Vec<(AccountId, MemberStatus)>, pub threshold: u16, - pub commitments: Vec, + pub commitments: Vec>, pub online: usize, } @@ -89,7 +89,7 @@ impl Mock { mock } - pub fn create_network(&self, chain_name: ChainName, chain_network: ChainNetwork) -> NetworkId { + pub fn create_network(&self, chain_name: String, chain_network: String) -> NetworkId { let mock_network = MockNetwork::new(chain_name, chain_network); let mut networks = self.networks.lock().unwrap(); if let Some(existing_id) = @@ -186,7 +186,7 @@ impl Runtime for Mock { .boxed() } - async fn get_network(&self, network: NetworkId) -> Result> { + async fn get_network(&self, network: NetworkId) -> Result> { Ok(self .networks .lock() @@ -248,7 +248,7 @@ impl Runtime for Mock { Ok(ShardStatus::Created) } - async fn get_shard_commitment(&self, shard_id: ShardId) -> Result> { + async fn get_shard_commitment(&self, shard_id: ShardId) -> Result>> { let shards = self.shards.lock().unwrap(); let Some(shard) = shards.get(&shard_id) else { return Ok(None); @@ -318,7 +318,7 @@ impl Runtime for Mock { async fn submit_commitment( &self, shard_id: ShardId, - commitment: Commitment, + commitment: Vec, _proof_of_knowledge: ProofOfKnowledge, ) -> Result<()> { let mut shards = self.shards.lock().unwrap(); diff --git a/runtimes/mainnet/src/lib.rs b/runtimes/mainnet/src/lib.rs index adbf4ca54..bac6205c4 100644 --- a/runtimes/mainnet/src/lib.rs +++ b/runtimes/mainnet/src/lib.rs @@ -73,7 +73,8 @@ use sp_runtime::{ Verify, }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, FixedPointNumber, Perbill, Percent, Permill, Perquintill, RuntimeDebug, + ApplyExtrinsicResult, BoundedVec, FixedPointNumber, Perbill, Percent, Permill, Perquintill, + RuntimeDebug, }; use sp_std::prelude::*; #[cfg(any(feature = "std", test))] @@ -82,10 +83,10 @@ use sp_version::RuntimeVersion; use static_assertions::const_assert; pub use time_primitives::{ - AccountId, Balance, BatchId, BlockHash, BlockNumber, ChainName, ChainNetwork, Commitment, - ErrorMsg, Gateway, GatewayMessage, MemberStatus, MembersInterface, Moment, NetworkId, - NetworksInterface, Nonce, PeerId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Signature, - Task, TaskId, TaskResult, TssPublicKey, TssSignature, ANLOG, + AccountId, Balance, BatchId, BlockHash, BlockNumber, ChainNetwork, Gateway, GatewayMessage, + MemberStatus, MembersInterface, Moment, NetworkId, NetworksInterface, Nonce, PeerId, + ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Signature, Task, TaskId, TaskResult, + TssPublicKey, TssSignature, ANLOG, MAX_ERROR_LEN, MAX_SHARD_SIZE, }; /// weightToFee implementation @@ -1898,7 +1899,7 @@ impl_runtime_apis! { } impl time_primitives::NetworksApi for Runtime { - fn get_network(network_id: NetworkId) -> Option<(ChainName, ChainNetwork)> { + fn get_network(network_id: NetworkId) -> Option { Networks::get_network(network_id) } @@ -1930,7 +1931,7 @@ impl_runtime_apis! { Shards::get_shard_status(shard_id) } - fn get_shard_commitment(shard_id: ShardId) -> Option { + fn get_shard_commitment(shard_id: ShardId) -> Option>> { Shards::get_shard_commitment(shard_id) } } @@ -1948,7 +1949,7 @@ impl_runtime_apis! { Tasks::get_task_submitter(task_id) } - fn get_task_result(task_id: TaskId) -> Option>{ + fn get_task_result(task_id: TaskId) -> Option>>> { Tasks::get_task_result(task_id) } diff --git a/runtimes/testnet/src/lib.rs b/runtimes/testnet/src/lib.rs index d45fac99c..7664adedc 100644 --- a/runtimes/testnet/src/lib.rs +++ b/runtimes/testnet/src/lib.rs @@ -74,10 +74,10 @@ pub use runtime_common::{ }; pub use time_primitives::{ - AccountId, Balance, BatchId, BlockNumber, ChainName, ChainNetwork, Commitment, ErrorMsg, - Gateway, GatewayMessage, MemberStatus, MembersInterface, NetworkId, NetworksInterface, PeerId, - ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Signature, Task, TaskId, TaskResult, - TssPublicKey, TssSignature, ANLOG, + AccountId, Balance, BatchId, BlockNumber, ChainNetwork, Gateway, GatewayMessage, MemberStatus, + MembersInterface, NetworkId, NetworksInterface, PeerId, ProofOfKnowledge, PublicKey, ShardId, + ShardStatus, Signature, Task, TaskId, TaskResult, TssPublicKey, TssSignature, ANLOG, + MAX_ERROR_LEN, MAX_ERROR_LEN, MAX_SHARD_SIZE, }; // A few exports that help ease life for downstream crates. @@ -1427,7 +1427,7 @@ impl_runtime_apis! { } impl time_primitives::NetworksApi for Runtime { - fn get_network(network_id: NetworkId) -> Option<(ChainName, ChainNetwork)> { + fn get_network(network_id: NetworkId) -> Option { Networks::get_network(network_id) } @@ -1459,7 +1459,7 @@ impl_runtime_apis! { Shards::get_shard_status(shard_id) } - fn get_shard_commitment(shard_id: ShardId) -> Option { + fn get_shard_commitment(shard_id: ShardId) -> Option>> { Shards::get_shard_commitment(shard_id) } } @@ -1481,7 +1481,7 @@ impl_runtime_apis! { Tasks::get_task_submitter(task_id) } - fn get_task_result(task_id: TaskId) -> Option>{ + fn get_task_result(task_id: TaskId) -> Option>>>{ Tasks::get_task_result(task_id) } From 8fb5ac07cbc321f552995829a5b7a9511e596947 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 15:37:43 -0400 Subject: [PATCH 04/10] fix --- primitives/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index e32f07885..d05f46539 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -99,7 +99,7 @@ sp_api::decl_runtime_apis! { } pub trait NetworksApi { - fn get_network(network_id: NetworkId) -> Option<(BoundedVec>, BoundedVec>)>; + fn get_network(network_id: NetworkId) -> Option; fn get_gateway(network: NetworkId) -> Option; } From 73b3b277f1f4c57fbcb9dea53f3148c442ae9a39 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 15:38:54 -0400 Subject: [PATCH 05/10] fix --- primitives/src/shard.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/primitives/src/shard.rs b/primitives/src/shard.rs index 7d343c206..6a7ad61a0 100644 --- a/primitives/src/shard.rs +++ b/primitives/src/shard.rs @@ -10,6 +10,7 @@ use polkadot_sdk::{sp_core::ConstU32, sp_runtime::BoundedVec}; use serde::{Deserialize, Serialize}; use scale_codec::{Decode, Encode}; +#[cfg(feature = "std")] use scale_info::prelude::vec::Vec; use scale_info::TypeInfo; From 125b9f46f90c958df88f30e95b9954f32d61c8c6 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 17:06:35 -0400 Subject: [PATCH 06/10] fix --- runtimes/testnet/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtimes/testnet/src/lib.rs b/runtimes/testnet/src/lib.rs index 7664adedc..26c97d4b0 100644 --- a/runtimes/testnet/src/lib.rs +++ b/runtimes/testnet/src/lib.rs @@ -55,8 +55,8 @@ use sp_runtime::{ NumberFor, OpaqueKeys, Saturating, }, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, ExtrinsicInclusionMode, FixedPointNumber, Percent, RuntimeDebug, - SaturatedConversion, + ApplyExtrinsicResult, BoundedVec, ExtrinsicInclusionMode, FixedPointNumber, Percent, + RuntimeDebug, SaturatedConversion, }; use sp_std::prelude::*; #[cfg(feature = "std")] @@ -77,7 +77,7 @@ pub use time_primitives::{ AccountId, Balance, BatchId, BlockNumber, ChainNetwork, Gateway, GatewayMessage, MemberStatus, MembersInterface, NetworkId, NetworksInterface, PeerId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Signature, Task, TaskId, TaskResult, TssPublicKey, TssSignature, ANLOG, - MAX_ERROR_LEN, MAX_ERROR_LEN, MAX_SHARD_SIZE, + MAX_ERROR_LEN, MAX_SHARD_SIZE, }; // A few exports that help ease life for downstream crates. From 7111b89b2c9c65d1ee3f3b2e3b1b229616bfedac Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 17:08:08 -0400 Subject: [PATCH 07/10] fix chronicle import --- chronicle/src/mock.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chronicle/src/mock.rs b/chronicle/src/mock.rs index 74dee06fe..1472e7594 100644 --- a/chronicle/src/mock.rs +++ b/chronicle/src/mock.rs @@ -9,7 +9,7 @@ use time_primitives::traits::IdentifyAccount; use time_primitives::{ sr25519, AccountId, Balance, BatchId, BlockHash, BlockNumber, Gateway, GatewayMessage, MemberStatus, NetworkId, PeerId, ProofOfKnowledge, PublicKey, ShardId, ShardStatus, Task, - TaskId, TaskResult, + TaskId, TaskResult, TssPublicKey, }; use tokio::time::Duration; use tss::{sum_commitments, VerifiableSecretSharingCommitment, VerifyingKey}; From fdacdf20007b06db1713d8ba410314e3aaaf78a1 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 17:45:27 -0400 Subject: [PATCH 08/10] try fix tc subxt and fail --- Cargo.lock | 1 + tc-subxt/Cargo.toml | 3 +++ tc-subxt/src/api/networks.rs | 4 +-- tc-subxt/src/api/shards.rs | 10 +++++--- tc-subxt/src/api/tasks.rs | 7 +++++- tc-subxt/src/worker.rs | 49 ++++++++++++++++++++++++++++-------- 6 files changed, 57 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f7d0de175..eccb8fbaa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18936,6 +18936,7 @@ dependencies = [ "futures", "hex", "parity-scale-codec", + "polkadot-sdk", "scale-decode", "scale-info", "serde", diff --git a/tc-subxt/Cargo.toml b/tc-subxt/Cargo.toml index 6058dd0f8..e18016d9e 100644 --- a/tc-subxt/Cargo.toml +++ b/tc-subxt/Cargo.toml @@ -15,6 +15,9 @@ async-trait.workspace = true clap.workspace = true futures.workspace = true hex.workspace = true +polkadot-sdk = { workspace = true, features = [ + "sp-runtime", +]} serde = { workspace = true, features = ["derive"] } tokio.workspace = true tracing.workspace = true diff --git a/tc-subxt/src/api/networks.rs b/tc-subxt/src/api/networks.rs index 6930d331a..9496ff71c 100644 --- a/tc-subxt/src/api/networks.rs +++ b/tc-subxt/src/api/networks.rs @@ -2,7 +2,7 @@ use crate::worker::Tx; use crate::{metadata_scope, SubxtClient}; use anyhow::Result; use futures::channel::oneshot; -use time_primitives::{Gateway, Network, NetworkConfig, NetworkId}; +use time_primitives::{ChainNetwork, Gateway, Network, NetworkConfig, NetworkId}; impl SubxtClient { pub async fn register_network(&self, network: Network) -> Result<()> { @@ -35,7 +35,7 @@ impl SubxtClient { Ok(networks) } - pub async fn network_name(&self, network: NetworkId) -> Result> { + pub async fn network_name(&self, network: NetworkId) -> Result> { let data = metadata_scope!(self.metadata, { let runtime_call = metadata::apis().networks_api().get_network(network); self.client.runtime_api().at_latest().await?.call(runtime_call).await? diff --git a/tc-subxt/src/api/shards.rs b/tc-subxt/src/api/shards.rs index d1375c822..b5e53c402 100644 --- a/tc-subxt/src/api/shards.rs +++ b/tc-subxt/src/api/shards.rs @@ -2,8 +2,9 @@ use crate::worker::Tx; use crate::{metadata_scope, SubxtClient}; use anyhow::{anyhow, Result}; use futures::channel::oneshot; +use polkadot_sdk::sp_runtime::{traits::ConstU32, BoundedVec}; use time_primitives::{ - AccountId, Commitment, MemberStatus, NetworkId, ShardId, ShardStatus, TssPublicKey, + AccountId, MemberStatus, NetworkId, ShardId, ShardStatus, TssPublicKey, MAX_SHARD_SIZE, }; impl SubxtClient { @@ -77,7 +78,10 @@ impl SubxtClient { }) } - pub async fn shard_commitment(&self, shard_id: ShardId) -> Result> { + pub async fn shard_commitment( + &self, + shard_id: ShardId, + ) -> Result>>> { metadata_scope!(self.metadata, { let runtime_call = metadata::apis().shards_api().get_shard_commitment(shard_id); Ok(self.client.runtime_api().at_latest().await?.call(runtime_call).await?) @@ -91,7 +95,7 @@ impl SubxtClient { pub async fn submit_commitment( &self, shard_id: ShardId, - commitment: Commitment, + commitment: BoundedVec>, proof_of_knowledge: [u8; 65], ) -> Result<()> { let (tx, rx) = oneshot::channel(); diff --git a/tc-subxt/src/api/tasks.rs b/tc-subxt/src/api/tasks.rs index ad0921b3b..fd93da880 100644 --- a/tc-subxt/src/api/tasks.rs +++ b/tc-subxt/src/api/tasks.rs @@ -2,8 +2,10 @@ use crate::worker::Tx; use crate::{metadata_scope, SubxtClient}; use anyhow::Result; use futures::channel::oneshot; +use polkadot_sdk::sp_runtime::{traits::ConstU32, BoundedVec}; use time_primitives::{ BatchId, GatewayMessage, MessageId, NetworkId, PublicKey, ShardId, Task, TaskId, TaskResult, + MAX_ERROR_LEN, }; impl SubxtClient { @@ -56,7 +58,10 @@ impl SubxtClient { }) } - pub async fn task_output(&self, task_id: TaskId) -> Result>> { + pub async fn task_output( + &self, + task_id: TaskId, + ) -> Result>>>> { metadata_scope!(self.metadata, { let storage_query = metadata::storage().tasks().task_output(task_id); let output = self.client.storage().at_latest().await?.fetch(&storage_query).await?; diff --git a/tc-subxt/src/worker.rs b/tc-subxt/src/worker.rs index bf613a51c..0b91cd266 100644 --- a/tc-subxt/src/worker.rs +++ b/tc-subxt/src/worker.rs @@ -4,31 +4,58 @@ use crate::{LegacyRpcMethods, OnlineClient, TxInBlock}; use anyhow::{Context, Result}; use futures::channel::{mpsc, oneshot}; use futures::{FutureExt, StreamExt}; +use polkadot_sdk::sp_runtime::{traits::ConstU32, BoundedVec}; use subxt::config::DefaultExtrinsicParamsBuilder; use subxt::tx::{Payload as TxPayload, SubmittableExtrinsic, TxStatus}; use subxt_signer::sr25519::Keypair; use time_primitives::{ - traits::IdentifyAccount, AccountId, Commitment, Network, NetworkConfig, NetworkId, PeerId, - ProofOfKnowledge, PublicKey, ShardId, TaskId, TaskResult, + traits::IdentifyAccount, AccountId, Network, NetworkConfig, NetworkId, PeerId, + ProofOfKnowledge, PublicKey, ShardId, TaskId, TaskResult, TssPublicKey, MAX_SHARD_SIZE, }; pub enum Tx { // balances - Transfer { account: AccountId, balance: u128 }, + Transfer { + account: AccountId, + balance: u128, + }, // networks - RegisterNetwork { network: Network }, - SetNetworkConfig { network: NetworkId, config: NetworkConfig }, + RegisterNetwork { + network: Network, + }, + SetNetworkConfig { + network: NetworkId, + config: NetworkConfig, + }, // members - RegisterMember { network: NetworkId, peer_id: PeerId, stake_amount: u128 }, + RegisterMember { + network: NetworkId, + peer_id: PeerId, + stake_amount: u128, + }, UnregisterMember, Heartbeat, // shards - SetShardConfig { shard_size: u16, shard_threshold: u16 }, - SetElectable { accounts: Vec }, - Commitment { shard_id: ShardId, commitment: Commitment, proof_of_knowledge: ProofOfKnowledge }, - Ready { shard_id: ShardId }, + SetShardConfig { + shard_size: u16, + shard_threshold: u16, + }, + SetElectable { + accounts: Vec, + }, + Commitment { + shard_id: ShardId, + commitment: BoundedVec>, + proof_of_knowledge: ProofOfKnowledge, + }, + Ready { + shard_id: ShardId, + }, // tasks - SubmitTaskResult { task_id: TaskId, result: TaskResult }, + SubmitTaskResult { + task_id: TaskId, + result: TaskResult, + }, } pub struct SubxtWorker { From db9681a15d40bd6e938081cbe0cbb6d4c9beb43f Mon Sep 17 00:00:00 2001 From: Github Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:28:06 +0000 Subject: [PATCH 09/10] runtimes: update pallet weights --- runtimes/mainnet/src/weights/dmail.rs | 14 ++++++-------- runtimes/mainnet/src/weights/elections.rs | 6 +++--- runtimes/mainnet/src/weights/members.rs | 14 +++++++------- runtimes/mainnet/src/weights/networks.rs | 14 ++++++++------ runtimes/mainnet/src/weights/shards.rs | 18 +++++++++--------- runtimes/mainnet/src/weights/tasks.rs | 22 +++++++++++----------- runtimes/mainnet/src/weights/timegraph.rs | 10 +++++----- runtimes/testnet/src/weights/dmail.rs | 12 ++++-------- runtimes/testnet/src/weights/elections.rs | 6 +++--- runtimes/testnet/src/weights/members.rs | 14 +++++++------- runtimes/testnet/src/weights/networks.rs | 16 ++++++++++------ runtimes/testnet/src/weights/shards.rs | 18 +++++++++--------- runtimes/testnet/src/weights/tasks.rs | 22 +++++++++++----------- runtimes/testnet/src/weights/timegraph.rs | 10 +++++----- 14 files changed, 98 insertions(+), 98 deletions(-) diff --git a/runtimes/mainnet/src/weights/dmail.rs b/runtimes/mainnet/src/weights/dmail.rs index 248fc659b..ed309e275 100644 --- a/runtimes/mainnet/src/weights/dmail.rs +++ b/runtimes/mainnet/src/weights/dmail.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_dmail` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -37,16 +37,14 @@ impl pallet_dmail::WeightInfo for WeightInfo { /// The range of component `b` is `[1, 64]`. /// The range of component `a` is `[1, 64]`. /// The range of component `b` is `[1, 64]`. - fn send_email(a: u32, b: u32, ) -> Weight { + fn send_email(a: u32, _b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_813_000 picoseconds. - Weight::from_parts(6_457_675, 0) + // Minimum execution time: 6_832_000 picoseconds. + Weight::from_parts(7_541_292, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_307 - .saturating_add(Weight::from_parts(19_455, 0).saturating_mul(a.into())) - // Standard Error: 1_307 - .saturating_add(Weight::from_parts(25_413, 0).saturating_mul(b.into())) + // Standard Error: 160 + .saturating_add(Weight::from_parts(528, 0).saturating_mul(a.into())) } } diff --git a/runtimes/mainnet/src/weights/elections.rs b/runtimes/mainnet/src/weights/elections.rs index 94a9b9640..62186ac33 100644 --- a/runtimes/mainnet/src/weights/elections.rs +++ b/runtimes/mainnet/src/weights/elections.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_elections` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_elections::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `123` // Estimated: `3588` - // Minimum execution time: 12_343_000 picoseconds. - Weight::from_parts(22_392_000, 0) + // Minimum execution time: 12_272_000 picoseconds. + Weight::from_parts(13_285_000, 0) .saturating_add(Weight::from_parts(0, 3588)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtimes/mainnet/src/weights/members.rs b/runtimes/mainnet/src/weights/members.rs index 88628d51d..54e127a4b 100644 --- a/runtimes/mainnet/src/weights/members.rs +++ b/runtimes/mainnet/src/weights/members.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_members` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -57,8 +57,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `244` // Estimated: `3709` - // Minimum execution time: 64_810_000 picoseconds. - Weight::from_parts(70_523_000, 0) + // Minimum execution time: 65_833_000 picoseconds. + Weight::from_parts(68_399_000, 0) .saturating_add(Weight::from_parts(0, 3709)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(8)) @@ -73,8 +73,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293` // Estimated: `3758` - // Minimum execution time: 22_552_000 picoseconds. - Weight::from_parts(25_298_000, 0) + // Minimum execution time: 22_742_000 picoseconds. + Weight::from_parts(23_714_000, 0) .saturating_add(Weight::from_parts(0, 3758)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,8 +101,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `380` // Estimated: `3845` - // Minimum execution time: 56_996_000 picoseconds. - Weight::from_parts(60_903_000, 0) + // Minimum execution time: 59_892_000 picoseconds. + Weight::from_parts(62_227_000, 0) .saturating_add(Weight::from_parts(0, 3845)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(8)) diff --git a/runtimes/mainnet/src/weights/networks.rs b/runtimes/mainnet/src/weights/networks.rs index f2890ceeb..5abcc9a0b 100644 --- a/runtimes/mainnet/src/weights/networks.rs +++ b/runtimes/mainnet/src/weights/networks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_networks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -63,13 +63,15 @@ impl pallet_networks::WeightInfo for WeightInfo { /// The range of component `b` is `[1, 50]`. /// The range of component `a` is `[1, 50]`. /// The range of component `b` is `[1, 50]`. - fn register_network(_a: u32, _b: u32, ) -> Weight { + fn register_network(_a: u32, b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `118` // Estimated: `3583` - // Minimum execution time: 54_371_000 picoseconds. - Weight::from_parts(68_798_719, 0) + // Minimum execution time: 53_950_000 picoseconds. + Weight::from_parts(59_839_434, 0) .saturating_add(Weight::from_parts(0, 3583)) + // Standard Error: 11_800 + .saturating_add(Weight::from_parts(23_726, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(13)) } @@ -87,8 +89,8 @@ impl pallet_networks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3742` - // Minimum execution time: 21_530_000 picoseconds. - Weight::from_parts(22_533_000, 0) + // Minimum execution time: 21_380_000 picoseconds. + Weight::from_parts(22_502_000, 0) .saturating_add(Weight::from_parts(0, 3742)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtimes/mainnet/src/weights/shards.rs b/runtimes/mainnet/src/weights/shards.rs index 1099c25b9..e9ddc67cb 100644 --- a/runtimes/mainnet/src/weights/shards.rs +++ b/runtimes/mainnet/src/weights/shards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_shards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -47,8 +47,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `757` // Estimated: `11647` - // Minimum execution time: 511_937_000 picoseconds. - Weight::from_parts(539_068_000, 0) + // Minimum execution time: 519_122_000 picoseconds. + Weight::from_parts(544_478_000, 0) .saturating_add(Weight::from_parts(0, 11647)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -69,8 +69,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `591` // Estimated: `11481` - // Minimum execution time: 59_461_000 picoseconds. - Weight::from_parts(61_224_000, 0) + // Minimum execution time: 60_043_000 picoseconds. + Weight::from_parts(64_860_000, 0) .saturating_add(Weight::from_parts(0, 11481)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) @@ -99,8 +99,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `453` // Estimated: `11343` - // Minimum execution time: 70_921_000 picoseconds. - Weight::from_parts(76_703_000, 0) + // Minimum execution time: 73_438_000 picoseconds. + Weight::from_parts(82_494_000, 0) .saturating_add(Weight::from_parts(0, 11343)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(14)) @@ -111,8 +111,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6` // Estimated: `3471` - // Minimum execution time: 3_436_000 picoseconds. - Weight::from_parts(4_899_000, 0) + // Minimum execution time: 3_636_000 picoseconds. + Weight::from_parts(3_947_000, 0) .saturating_add(Weight::from_parts(0, 3471)) .saturating_add(T::DbWeight::get().reads(1)) } diff --git a/runtimes/mainnet/src/weights/tasks.rs b/runtimes/mainnet/src/weights/tasks.rs index 36ed8e75d..387ea08ce 100644 --- a/runtimes/mainnet/src/weights/tasks.rs +++ b/runtimes/mainnet/src/weights/tasks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_tasks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -69,8 +69,8 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1380` // Estimated: `12270` - // Minimum execution time: 625_850_000 picoseconds. - Weight::from_parts(651_048_000, 0) + // Minimum execution time: 626_582_000 picoseconds. + Weight::from_parts(652_250_000, 0) .saturating_add(Weight::from_parts(0, 12270)) .saturating_add(T::DbWeight::get().reads(19)) .saturating_add(T::DbWeight::get().writes(14)) @@ -99,11 +99,11 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1538 + b * (95 ±0)` // Estimated: `7370 + b * (2571 ±0)` - // Minimum execution time: 59_692_000 picoseconds. - Weight::from_parts(40_535_221, 0) + // Minimum execution time: 60_754_000 picoseconds. + Weight::from_parts(28_955_416, 0) .saturating_add(Weight::from_parts(0, 7370)) - // Standard Error: 15_013 - .saturating_add(Weight::from_parts(10_375_135, 0).saturating_mul(b.into())) + // Standard Error: 10_399 + .saturating_add(Weight::from_parts(10_400_668, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -123,11 +123,11 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `958` // Estimated: `6794 + b * (1 ±0)` - // Minimum execution time: 24_615_000 picoseconds. - Weight::from_parts(40_636_421, 0) + // Minimum execution time: 24_496_000 picoseconds. + Weight::from_parts(38_785_919, 0) .saturating_add(Weight::from_parts(0, 6794)) - // Standard Error: 320 - .saturating_add(Weight::from_parts(18_435, 0).saturating_mul(b.into())) + // Standard Error: 285 + .saturating_add(Weight::from_parts(19_047, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) } diff --git a/runtimes/mainnet/src/weights/timegraph.rs b/runtimes/mainnet/src/weights/timegraph.rs index 60bc53eb1..9f1db16cb 100644 --- a/runtimes/mainnet/src/weights/timegraph.rs +++ b/runtimes/mainnet/src/weights/timegraph.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_timegraph` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_timegraph::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3593` - // Minimum execution time: 61_375_000 picoseconds. - Weight::from_parts(65_894_000, 0) + // Minimum execution time: 64_481_000 picoseconds. + Weight::from_parts(68_448_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -55,8 +55,8 @@ impl pallet_timegraph::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3593` - // Minimum execution time: 62_317_000 picoseconds. - Weight::from_parts(65_713_000, 0) + // Minimum execution time: 65_632_000 picoseconds. + Weight::from_parts(68_969_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtimes/testnet/src/weights/dmail.rs b/runtimes/testnet/src/weights/dmail.rs index 2474f7a5b..772d01df8 100644 --- a/runtimes/testnet/src/weights/dmail.rs +++ b/runtimes/testnet/src/weights/dmail.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_dmail` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -37,16 +37,12 @@ impl pallet_dmail::WeightInfo for WeightInfo { /// The range of component `b` is `[1, 64]`. /// The range of component `a` is `[1, 64]`. /// The range of component `b` is `[1, 64]`. - fn send_email(a: u32, b: u32, ) -> Weight { + fn send_email(_a: u32, _b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_093_000 picoseconds. - Weight::from_parts(9_159_733, 0) + // Minimum execution time: 7_113_000 picoseconds. + Weight::from_parts(10_830_708, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_419 - .saturating_add(Weight::from_parts(851, 0).saturating_mul(a.into())) - // Standard Error: 1_419 - .saturating_add(Weight::from_parts(813, 0).saturating_mul(b.into())) } } diff --git a/runtimes/testnet/src/weights/elections.rs b/runtimes/testnet/src/weights/elections.rs index beb756f84..4de2b6907 100644 --- a/runtimes/testnet/src/weights/elections.rs +++ b/runtimes/testnet/src/weights/elections.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_elections` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -43,8 +43,8 @@ impl pallet_elections::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `123` // Estimated: `3588` - // Minimum execution time: 12_384_000 picoseconds. - Weight::from_parts(13_966_000, 0) + // Minimum execution time: 12_294_000 picoseconds. + Weight::from_parts(15_649_000, 0) .saturating_add(Weight::from_parts(0, 3588)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/runtimes/testnet/src/weights/members.rs b/runtimes/testnet/src/weights/members.rs index 41ae22dcf..b7cb3774b 100644 --- a/runtimes/testnet/src/weights/members.rs +++ b/runtimes/testnet/src/weights/members.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_members` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -57,8 +57,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `244` // Estimated: `3709` - // Minimum execution time: 60_944_000 picoseconds. - Weight::from_parts(63_850_000, 0) + // Minimum execution time: 62_738_000 picoseconds. + Weight::from_parts(65_614_000, 0) .saturating_add(Weight::from_parts(0, 3709)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(8)) @@ -73,8 +73,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `293` // Estimated: `3758` - // Minimum execution time: 22_222_000 picoseconds. - Weight::from_parts(23_855_000, 0) + // Minimum execution time: 22_081_000 picoseconds. + Weight::from_parts(23_264_000, 0) .saturating_add(Weight::from_parts(0, 3758)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,8 +101,8 @@ impl pallet_members::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `380` // Estimated: `3845` - // Minimum execution time: 56_436_000 picoseconds. - Weight::from_parts(59_050_000, 0) + // Minimum execution time: 57_447_000 picoseconds. + Weight::from_parts(59_150_000, 0) .saturating_add(Weight::from_parts(0, 3845)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(8)) diff --git a/runtimes/testnet/src/weights/networks.rs b/runtimes/testnet/src/weights/networks.rs index 492cce9c4..ad3705881 100644 --- a/runtimes/testnet/src/weights/networks.rs +++ b/runtimes/testnet/src/weights/networks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_networks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -63,13 +63,17 @@ impl pallet_networks::WeightInfo for WeightInfo { /// The range of component `b` is `[1, 50]`. /// The range of component `a` is `[1, 50]`. /// The range of component `b` is `[1, 50]`. - fn register_network(_a: u32, _b: u32, ) -> Weight { + fn register_network(a: u32, b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `118` // Estimated: `3583` - // Minimum execution time: 53_861_000 picoseconds. - Weight::from_parts(60_735_804, 0) + // Minimum execution time: 57_307_000 picoseconds. + Weight::from_parts(59_222_633, 0) .saturating_add(Weight::from_parts(0, 3583)) + // Standard Error: 7_746 + .saturating_add(Weight::from_parts(39_981, 0).saturating_mul(a.into())) + // Standard Error: 7_746 + .saturating_add(Weight::from_parts(49_009, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(13)) } @@ -87,8 +91,8 @@ impl pallet_networks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `277` // Estimated: `3742` - // Minimum execution time: 21_601_000 picoseconds. - Weight::from_parts(22_413_000, 0) + // Minimum execution time: 22_443_000 picoseconds. + Weight::from_parts(24_877_000, 0) .saturating_add(Weight::from_parts(0, 3742)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/runtimes/testnet/src/weights/shards.rs b/runtimes/testnet/src/weights/shards.rs index 4f2d0e336..59fc38c3d 100644 --- a/runtimes/testnet/src/weights/shards.rs +++ b/runtimes/testnet/src/weights/shards.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_shards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -47,8 +47,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `757` // Estimated: `11647` - // Minimum execution time: 521_515_000 picoseconds. - Weight::from_parts(527_687_000, 0) + // Minimum execution time: 518_480_000 picoseconds. + Weight::from_parts(543_167_000, 0) .saturating_add(Weight::from_parts(0, 11647)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -69,8 +69,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `591` // Estimated: `11481` - // Minimum execution time: 59_351_000 picoseconds. - Weight::from_parts(61_616_000, 0) + // Minimum execution time: 61_776_000 picoseconds. + Weight::from_parts(64_861_000, 0) .saturating_add(Weight::from_parts(0, 11481)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(3)) @@ -99,8 +99,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `453` // Estimated: `11343` - // Minimum execution time: 71_804_000 picoseconds. - Weight::from_parts(74_118_000, 0) + // Minimum execution time: 74_179_000 picoseconds. + Weight::from_parts(78_748_000, 0) .saturating_add(Weight::from_parts(0, 11343)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(14)) @@ -111,8 +111,8 @@ impl pallet_shards::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `6` // Estimated: `3471` - // Minimum execution time: 3_477_000 picoseconds. - Weight::from_parts(3_687_000, 0) + // Minimum execution time: 3_717_000 picoseconds. + Weight::from_parts(3_977_000, 0) .saturating_add(Weight::from_parts(0, 3471)) .saturating_add(T::DbWeight::get().reads(1)) } diff --git a/runtimes/testnet/src/weights/tasks.rs b/runtimes/testnet/src/weights/tasks.rs index f2f9f6399..a1b81588e 100644 --- a/runtimes/testnet/src/weights/tasks.rs +++ b/runtimes/testnet/src/weights/tasks.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_tasks` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -69,8 +69,8 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1380` // Estimated: `12270` - // Minimum execution time: 630_578_000 picoseconds. - Weight::from_parts(647_882_000, 0) + // Minimum execution time: 631_241_000 picoseconds. + Weight::from_parts(657_129_000, 0) .saturating_add(Weight::from_parts(0, 12270)) .saturating_add(T::DbWeight::get().reads(19)) .saturating_add(T::DbWeight::get().writes(14)) @@ -99,11 +99,11 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1538 + b * (95 ±0)` // Estimated: `7370 + b * (2571 ±0)` - // Minimum execution time: 59_231_000 picoseconds. - Weight::from_parts(1_113_078, 0) + // Minimum execution time: 60_824_000 picoseconds. + Weight::from_parts(18_399_092, 0) .saturating_add(Weight::from_parts(0, 7370)) - // Standard Error: 11_139 - .saturating_add(Weight::from_parts(10_548_784, 0).saturating_mul(b.into())) + // Standard Error: 8_607 + .saturating_add(Weight::from_parts(10_574_574, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(3)) @@ -123,11 +123,11 @@ impl pallet_tasks::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `958` // Estimated: `6794 + b * (1 ±0)` - // Minimum execution time: 24_506_000 picoseconds. - Weight::from_parts(40_342_829, 0) + // Minimum execution time: 24_727_000 picoseconds. + Weight::from_parts(40_436_719, 0) .saturating_add(Weight::from_parts(0, 6794)) - // Standard Error: 332 - .saturating_add(Weight::from_parts(18_157, 0).saturating_mul(b.into())) + // Standard Error: 313 + .saturating_add(Weight::from_parts(16_793, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into())) } diff --git a/runtimes/testnet/src/weights/timegraph.rs b/runtimes/testnet/src/weights/timegraph.rs index 0f79aac2e..d82727803 100644 --- a/runtimes/testnet/src/weights/timegraph.rs +++ b/runtimes/testnet/src/weights/timegraph.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_timegraph` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0 -//! DATE: 2024-10-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-10-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `benchmark-agent-1`, CPU: `AMD EPYC Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -41,8 +41,8 @@ impl pallet_timegraph::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3593` - // Minimum execution time: 59_802_000 picoseconds. - Weight::from_parts(60_934_000, 0) + // Minimum execution time: 60_885_000 picoseconds. + Weight::from_parts(64_290_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -55,8 +55,8 @@ impl pallet_timegraph::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3593` - // Minimum execution time: 59_472_000 picoseconds. - Weight::from_parts(60_914_000, 0) + // Minimum execution time: 60_844_000 picoseconds. + Weight::from_parts(63_488_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) From d2804080202153c69e0185c836f2dacf45e86a58 Mon Sep 17 00:00:00 2001 From: 4meta5 Date: Wed, 16 Oct 2024 18:33:16 -0400 Subject: [PATCH 10/10] more fixes --- runtimes/testnet/src/tests.rs | 10 ++++++---- tc-cli/Cargo.toml | 3 +++ tc-cli/src/lib.rs | 13 ++++++++----- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/runtimes/testnet/src/tests.rs b/runtimes/testnet/src/tests.rs index 98fa1210f..9e0b90eb2 100644 --- a/runtimes/testnet/src/tests.rs +++ b/runtimes/testnet/src/tests.rs @@ -10,8 +10,8 @@ use sp_core::hexdisplay::HexDisplay; use sp_core::Pair; use std::collections::HashSet; use time_primitives::{ - AccountId, ElectionsInterface, Network, NetworkConfig, NetworkId, PublicKey, ShardStatus, - ShardsInterface, TasksInterface, + AccountId, ChainNetwork, ElectionsInterface, Network, NetworkConfig, NetworkId, PublicKey, + ShardStatus, ShardsInterface, TasksInterface, }; fn pubkey_from_bytes(bytes: [u8; 32]) -> PublicKey { @@ -30,8 +30,10 @@ fn get_peer_id(random_num: [u8; 32]) -> [u8; 32] { fn network() -> Network { Network { id: ETHEREUM, - chain_name: BoundedVec::truncate_from("ethereum".encode()), - chain_network: BoundedVec::truncate_from("dev".encode()), + name: ChainNetwork { + chain: BoundedVec::truncate_from("ethereum".encode()), + net: BoundedVec::truncate_from("dev".encode()), + }, gateway: [0u8; 32], gateway_block: 0, config: NetworkConfig { diff --git a/tc-cli/Cargo.toml b/tc-cli/Cargo.toml index 96715b3d0..b188347b1 100644 --- a/tc-cli/Cargo.toml +++ b/tc-cli/Cargo.toml @@ -14,6 +14,9 @@ clap.workspace = true futures.workspace = true gmp.workspace = true hex.workspace = true +polkadot-sdk = { workspace = true, features = [ + "sp-runtime", +]} reqwest = { version = "0.12.7", default-features = false, features = ["json", "rustls-tls-native-roots"] } serde = { workspace = true, features = ["derive"] } serde_yaml = "0.9.34" diff --git a/tc-cli/src/lib.rs b/tc-cli/src/lib.rs index 66a4a95f8..7e5b2baa3 100644 --- a/tc-cli/src/lib.rs +++ b/tc-cli/src/lib.rs @@ -1,6 +1,7 @@ use crate::config::Config; use anyhow::{Context, Result}; use futures::stream::{BoxStream, StreamExt}; +use polkadot_sdk::sp_runtime::BoundedVec; use std::collections::hash_map::Entry; use std::collections::HashMap; use std::ops::Range; @@ -9,9 +10,9 @@ use std::sync::Arc; use std::time::Duration; use tc_subxt::SubxtClient; use time_primitives::{ - AccountId, Address, BatchId, BlockHash, BlockNumber, ConnectorParams, Gateway, GatewayMessage, - GmpEvent, GmpMessage, IConnectorAdmin, MemberStatus, MessageId, NetworkConfig, NetworkId, - PublicKey, Route, ShardId, ShardStatus, TaskId, TssPublicKey, + AccountId, Address, BatchId, BlockHash, BlockNumber, ChainNetwork, ConnectorParams, Gateway, + GatewayMessage, GmpEvent, GmpMessage, IConnectorAdmin, MemberStatus, MessageId, NetworkConfig, + NetworkId, PublicKey, Route, ShardId, ShardStatus, TaskId, TssPublicKey, }; mod config; @@ -558,8 +559,10 @@ impl Tc { self.runtime .register_network(time_primitives::Network { id: network, - chain_name: config.blockchain.clone(), - chain_network: config.network.clone(), + name: ChainNetwork { + chain: BoundedVec::truncate::from(config.blockchain.as_str().encode()), + net: BoundedVec::truncate::from(config.network.as_str().encode()), + }, gateway, gateway_block: block, config: NetworkConfig {