From 3e19e58b6ae38cc1ce0f03b2076a0e377523d483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Mon, 2 Jun 2025 09:06:35 +0200 Subject: [PATCH 01/51] feat: register two candidates in local env (#827) --- Cargo.lock | 199 +++++++++++++++++++++ Cargo.toml | 6 + demo/node/Cargo.toml | 3 + demo/node/src/rpc.rs | 35 +++- demo/node/src/service.rs | 120 ++++++++++++- demo/node/src/staging.rs | 1 + demo/node/src/template_chain_spec.rs | 1 + demo/node/src/testnet.rs | 1 + demo/runtime/Cargo.toml | 13 ++ demo/runtime/src/genesis_config_presets.rs | 11 +- demo/runtime/src/lib.rs | 192 ++++++++++++++++++++ 11 files changed, 569 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 21ae6d6c84..781ccf2ad0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6349,6 +6349,50 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "pallet-beefy" +version = "41.1.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-consensus-beefy", + "sp-runtime", + "sp-session", + "sp-staking", +] + +[[package]] +name = "pallet-beefy-mmr" +version = "41.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "array-bytes", + "binary-merkle-tree", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-beefy", + "pallet-mmr", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-consensus-beefy", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", +] + [[package]] name = "pallet-block-participation" version = "1.7.0" @@ -6495,6 +6539,18 @@ dependencies = [ "sp-staking", ] +[[package]] +name = "pallet-mmr" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "log", + "parity-scale-codec", + "polkadot-sdk-frame", + "scale-info", + "sp-mmr-primitives", +] + [[package]] name = "pallet-native-token-management" version = "1.7.0" @@ -7007,6 +7063,8 @@ dependencies = [ "sc-client-db", "sc-consensus", "sc-consensus-aura", + "sc-consensus-beefy", + "sc-consensus-beefy-rpc", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-executor", @@ -7032,6 +7090,7 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-aura", + "sp-consensus-beefy", "sp-consensus-grandpa", "sp-core", "sp-governed-map", @@ -7073,12 +7132,15 @@ dependencies = [ "pallet-address-associations", "pallet-aura", "pallet-balances", + "pallet-beefy", + "pallet-beefy-mmr", "pallet-block-participation", "pallet-block-producer-fees", "pallet-block-producer-metadata", "pallet-block-production-log", "pallet-governed-map", "pallet-grandpa", + "pallet-mmr", "pallet-native-token-management", "pallet-partner-chains-session", "pallet-session", @@ -7104,6 +7166,7 @@ dependencies = [ "sp-block-producer-metadata", "sp-block-production-log", "sp-consensus-aura", + "sp-consensus-beefy", "sp-consensus-grandpa", "sp-consensus-slots", "sp-core", @@ -7400,6 +7463,51 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "polkadot-ckb-merkle-mountain-range" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "221c71b432b38e494a0fdedb5f720e4cb974edf03a0af09e5b2238dbac7e6947" +dependencies = [ + "cfg-if", + "itertools 0.10.5", +] + +[[package]] +name = "polkadot-sdk-frame" +version = "0.9.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "sp-version", +] + [[package]] name = "polkavm" version = "0.18.0" @@ -8860,6 +8968,60 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "sc-consensus-beefy" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "array-bytes", + "async-channel", + "async-trait", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-gossip", + "sc-network-sync", + "sc-network-types", + "sc-utils", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-beefy", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "wasm-timer", +] + +[[package]] +name = "sc-consensus-beefy-rpc" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-consensus-beefy", + "sc-rpc", + "serde", + "sp-application-crypto", + "sp-consensus-beefy", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + [[package]] name = "sc-consensus-grandpa" version = "0.34.0" @@ -10547,6 +10709,26 @@ dependencies = [ "sp-timestamp", ] +[[package]] +name = "sp-consensus-beefy" +version = "24.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing", + "sp-io", + "sp-keystore", + "sp-mmr-primitives", + "sp-runtime", + "sp-weights", + "strum 0.26.3", +] + [[package]] name = "sp-consensus-grandpa" version = "23.1.0" @@ -10794,6 +10976,23 @@ dependencies = [ "sp-application-crypto", ] +[[package]] +name = "sp-mmr-primitives" +version = "36.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +dependencies = [ + "log", + "parity-scale-codec", + "polkadot-ckb-merkle-mountain-range", + "scale-info", + "serde", + "sp-api", + "sp-core", + "sp-debug-derive", + "sp-runtime", + "thiserror 1.0.69", +] + [[package]] name = "sp-native-token-management" version = "1.7.0" diff --git a/Cargo.toml b/Cargo.toml index 26b1843211..99544d6d67 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -194,7 +194,10 @@ frame-system-rpc-runtime-api = { default-features = false, git = "https://github frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } @@ -209,6 +212,8 @@ sc-client-api = { default-features = false, git = "https://github.com/paritytech sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } @@ -229,6 +234,7 @@ sp-block-builder = { default-features = false, git = "https://github.com/parityt sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } diff --git a/demo/node/Cargo.toml b/demo/node/Cargo.toml index b9c6c3618a..17848ef6e3 100644 --- a/demo/node/Cargo.toml +++ b/demo/node/Cargo.toml @@ -38,6 +38,9 @@ sp-consensus-aura = { workspace = true } sp-partner-chains-consensus-aura = { workspace = true } sp-consensus = { workspace = true } sc-consensus = { workspace = true } +sc-consensus-beefy = { workspace = true } +sc-consensus-beefy-rpc = { workspace = true } +sp-consensus-beefy = { workspace = true } sc-consensus-grandpa = { workspace = true } sc-consensus-grandpa-rpc = { workspace = true } sp-consensus-grandpa = { workspace = true } diff --git a/demo/node/src/rpc.rs b/demo/node/src/rpc.rs index f256e727e0..094ea0ea35 100644 --- a/demo/node/src/rpc.rs +++ b/demo/node/src/rpc.rs @@ -20,6 +20,10 @@ use partner_chains_demo_runtime::{ opaque::{Block, SessionKeys}, }; use partner_chains_demo_runtime::{BlockNumber, BlockProducerMetadataType, CrossChainPublic, Hash}; +use sc_consensus_beefy::communication::notification::{ + BeefyBestBlockStream, BeefyVersionedFinalityProofStream, +}; +use sc_consensus_beefy_rpc::Beefy; use sc_consensus_grandpa::{ FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, }; @@ -31,6 +35,7 @@ use sidechain_domain::mainchain_epoch::MainchainEpochConfig; use sp_api::ProvideRuntimeApi; use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; +use sp_consensus_beefy::AuthorityIdBound; use sp_session_validator_management_query::SessionValidatorManagementQuery; use std::sync::Arc; use time_source::TimeSource; @@ -49,14 +54,26 @@ pub struct GrandpaDeps { pub finality_provider: Arc>, } +/// Dependencies for BEEFY +pub struct BeefyDeps { + /// Receives notifications about finality proof events from BEEFY. + pub beefy_finality_proof_stream: BeefyVersionedFinalityProofStream, + /// Receives notifications about best block events from BEEFY. + pub beefy_best_block_stream: BeefyBestBlockStream, + /// Executor to drive the subscription manager in the BEEFY RPC handler. + pub subscription_executor: sc_rpc::SubscriptionTaskExecutor, +} + /// Full client dependencies. -pub struct FullDeps { +pub struct FullDeps { /// The client instance to use. pub client: Arc, /// Transaction pool instance. pub pool: Arc

, /// GRANDPA specific dependencies. pub grandpa: GrandpaDeps, + /// BEEFY specific dependencies. + pub beefy: BeefyDeps, /// Data sources. pub data_sources: DataSources, /// Source of system time @@ -64,8 +81,8 @@ pub struct FullDeps { } /// Instantiate all full RPC extensions. -pub fn create_full( - deps: FullDeps, +pub fn create_full( + deps: FullDeps, ) -> Result, Box> where C: ProvideRuntimeApi, @@ -93,10 +110,11 @@ where T: TimeSource + Send + Sync + 'static, { use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; + use sc_consensus_beefy_rpc::BeefyApiServer; use substrate_frame_rpc_system::{System, SystemApiServer}; let mut module = RpcModule::new(()); - let FullDeps { client, pool, grandpa, data_sources, time_source } = deps; + let FullDeps { client, pool, grandpa, beefy, data_sources, time_source } = deps; module.merge(System::new(client.clone(), pool.clone()).into_rpc())?; module.merge(TransactionPayment::new(client.clone()).into_rpc())?; @@ -137,6 +155,15 @@ where .into_rpc(), )?; + module.merge( + Beefy::::new( + beefy.beefy_finality_proof_stream, + beefy.beefy_best_block_stream, + beefy.subscription_executor, + )? + .into_rpc(), + )?; + // Extend this RPC with a custom API by using the following syntax. // `YourRpcStruct` should have a reference to a client, which is needed // to call into the runtime. diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index c7e6ca49ae..f75dcb61bc 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -2,21 +2,25 @@ use crate::data_sources::DataSources; use crate::inherent_data::{CreateInherentDataConfig, ProposalCIDP, VerifierCIDP}; -use crate::rpc::GrandpaDeps; +use crate::rpc::{BeefyDeps, GrandpaDeps}; use partner_chains_db_sync_data_sources::McFollowerMetrics; use partner_chains_db_sync_data_sources::register_metrics_warn_errors; use partner_chains_demo_runtime::{self, RuntimeApi, opaque::Block}; use sc_client_api::BlockBackend; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; +use sc_consensus_beefy::{BeefyRPCLinks, BeefyVoterLinks}; use sc_consensus_grandpa::SharedVoterState; pub use sc_executor::WasmExecutor; use sc_partner_chains_consensus_aura::import_queue as partner_chains_aura_import_queue; +use sc_rpc::SubscriptionTaskExecutor; use sc_service::{Configuration, TaskManager, WarpSyncConfig, error::Error as ServiceError}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sidechain_domain::mainchain_epoch::MainchainEpochConfig; use sidechain_mc_hash::McHashInherentDigest; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; +use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; + use sp_partner_chains_consensus_aura::block_proposal::PartnerChainsProposerFactory; use sp_runtime::traits::Block as BlockT; use std::{sync::Arc, time::Duration}; @@ -55,6 +59,8 @@ pub fn new_partial( Option, DataSources, Option, + BeefyVoterLinks, + BeefyRPCLinks, ), >, ServiceError, @@ -112,6 +118,15 @@ pub fn new_partial( select_chain.clone(), telemetry.as_ref().map(|x| x.handle()), )?; + let justification_import = grandpa_block_import.clone(); + + let (block_import, beefy_voter_links, beefy_rpc_links) = + sc_consensus_beefy::beefy_block_import_and_links( + grandpa_block_import.clone(), + backend.clone(), + client.clone(), + config.prometheus_registry().cloned(), + ); let sc_slot_config = sidechain_slots::runtime_api_client::slot_config(&*client) .map_err(sp_blockchain::Error::from)?; @@ -130,8 +145,8 @@ pub fn new_partial( _, McHashInherentDigest, >(ImportQueueParams { - block_import: grandpa_block_import.clone(), - justification_import: Some(Box::new(grandpa_block_import.clone())), + block_import: block_import.clone(), + justification_import: Some(Box::new(justification_import)), client: client.clone(), create_inherent_data_providers: VerifierCIDP::new( inherent_config, @@ -157,7 +172,15 @@ pub fn new_partial( keystore_container, select_chain, transaction_pool, - other: (grandpa_block_import, grandpa_link, telemetry, data_sources, mc_follower_metrics), + other: ( + grandpa_block_import, + grandpa_link, + telemetry, + data_sources, + mc_follower_metrics, + beefy_voter_links, + beefy_rpc_links, + ), }) } @@ -176,7 +199,16 @@ pub async fn new_full( grandpa_protocol_name.clone(), @@ -198,6 +233,29 @@ pub async fn new_full(&genesis_hash, config.chain_spec.fork_id(), client.clone(), prometheus_registry.clone()); + let beefy_notification_service = { + let (beefy_notification_config, beefy_notification_service) = + sc_consensus_beefy::communication::beefy_peers_set_config::<_, Network>( + beefy_gossip_proto_name.clone(), + metrics.clone(), + Arc::clone(&peer_store_handle), + ); + + net_config.add_notification_protocol(beefy_notification_config); + net_config.add_request_response_protocol(beefy_req_resp_cfg); + // For now we always initialize it + Some(beefy_notification_service) + }; + let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( backend.clone(), grandpa_link.shared_authority_set().clone(), @@ -235,21 +293,27 @@ pub async fn new_full { + beefy_finality_proof_stream: beefy_rpc_links.from_voter_justif_stream.clone(), + beefy_best_block_stream: beefy_rpc_links.from_voter_best_beefy_stream.clone(), + subscription_executor, + }; let deps = crate::rpc::FullDeps { client: client.clone(), pool: pool.clone(), grandpa, + beefy, data_sources: data_sources.clone(), time_source: Arc::new(SystemTimeSource), }; @@ -264,7 +328,7 @@ pub async fn new_full, + }; + let payload_provider = sp_consensus_beefy::mmr::MmrRootProvider::new(client.clone()); + let beefy_params = sc_consensus_beefy::BeefyParams { + client: client.clone(), + backend: backend.clone(), + payload_provider, + runtime: client.clone(), + key_store: keystore_opt.clone(), + network_params, + min_block_delta: 8, + prometheus_registry: prometheus_registry.clone(), + links: beefy_voter_links, + on_demand_justifications_handler: beefy_on_demand_justifications_handler, + is_authority: role.is_authority(), + }; + + let gadget = + sc_consensus_beefy::start_beefy_gadget::<_, _, _, _, _, _, _, BeefyId>(beefy_params); + + // BEEFY is part of consensus, if it fails we'll bring the node down with it to make + // sure it is noticed. + task_manager + .spawn_essential_handle() + .spawn_blocking("beefy-gadget", None, gadget); + } + if enable_grandpa { // if the node isn't actively participating in consensus then it doesn't // need a keystore, regardless of which protocol we use below. diff --git a/demo/node/src/staging.rs b/demo/node/src/staging.rs index 894db2b8ab..006a92b3da 100644 --- a/demo/node/src/staging.rs +++ b/demo/node/src/staging.rs @@ -123,6 +123,7 @@ pub fn staging_genesis( dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, + beefy: Default::default(), grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // Assign network admin rights. diff --git a/demo/node/src/template_chain_spec.rs b/demo/node/src/template_chain_spec.rs index 10997b8f7d..66ddec042c 100644 --- a/demo/node/src/template_chain_spec.rs +++ b/demo/node/src/template_chain_spec.rs @@ -19,6 +19,7 @@ pub fn chain_spec() -> Result { dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, + beefy: Default::default(), grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // No sudo account by default, please update with your preferences. diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 94a1649c84..e4e16ed377 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -174,6 +174,7 @@ pub fn testnet_genesis( dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, + beefy: Default::default(), grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // Assign network admin rights. diff --git a/demo/runtime/Cargo.toml b/demo/runtime/Cargo.toml index 7b1f063d31..bc231fa240 100644 --- a/demo/runtime/Cargo.toml +++ b/demo/runtime/Cargo.toml @@ -25,8 +25,11 @@ serde_json = { workspace = true, default-features = false, features = [ "alloc", ] } +pallet-beefy = { workspace = true } pallet-aura = { workspace = true } pallet-balances = { workspace = true } +pallet-beefy-mmr = { workspace = true } +pallet-mmr = { workspace = true } frame-support = { workspace = true } pallet-grandpa = { workspace = true } pallet-partner-chains-session = { workspace = true, features = [ @@ -43,6 +46,7 @@ frame-executive = { workspace = true } sp-api = { workspace = true } sp-block-builder = { workspace = true } sp-consensus-aura = { workspace = true } +sp-consensus-beefy = { workspace = true } sp-consensus-grandpa = { workspace = true } sp-consensus-slots = { workspace = true } sp-core = { workspace = true } @@ -127,6 +131,9 @@ std = [ "frame-try-runtime/std", "pallet-aura/std", "pallet-balances/std", + "pallet-beefy/std", + "pallet-beefy-mmr/std", + "pallet-mmr/std", "pallet-block-producer-fees/std", "pallet-block-production-log/std", "pallet-grandpa/std", @@ -144,6 +151,7 @@ std = [ "sp-block-builder/std", "sp-block-producer-fees/std", "sp-consensus-aura/std", + "sp-consensus-beefy/std", "sp-consensus-grandpa/std", "sp-consensus-slots/std", "sp-core/std", @@ -180,6 +188,8 @@ runtime-benchmarks = [ "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-balances/runtime-benchmarks", + "pallet-beefy-mmr/runtime-benchmarks", + "pallet-mmr/runtime-benchmarks", "pallet-grandpa/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", @@ -199,6 +209,9 @@ try-runtime = [ "frame-support/try-runtime", "pallet-aura/try-runtime", "pallet-balances/try-runtime", + "pallet-beefy/try-runtime", + "pallet-beefy-mmr/try-runtime", + "pallet-mmr/try-runtime", "pallet-grandpa/try-runtime", "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", diff --git a/demo/runtime/src/genesis_config_presets.rs b/demo/runtime/src/genesis_config_presets.rs index 627e105aa6..4b8f165be7 100644 --- a/demo/runtime/src/genesis_config_presets.rs +++ b/demo/runtime/src/genesis_config_presets.rs @@ -22,13 +22,15 @@ use crate::{ use alloc::{vec, vec::Vec}; use serde_json::Value; use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; use sp_consensus_grandpa::AuthorityId as GrandpaId; +use sp_core::crypto::get_public_from_string_or_panic; use sp_genesis_builder::{self, PresetId}; use sp_keyring::Sr25519Keyring; // Returns the genesis config presets populated with given parameters. fn testnet_genesis( - initial_authorities: Vec<(AuraId, GrandpaId)>, + initial_authorities: Vec<(AuraId, GrandpaId, BeefyId)>, endowed_accounts: Vec, root: AccountId, ) -> Value { @@ -44,6 +46,10 @@ fn testnet_genesis( aura: pallet_aura::GenesisConfig { authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect::>(), }, + beefy: pallet_beefy::GenesisConfig { + authorities: initial_authorities.iter().map(|x| (x.2.clone())).collect::>(), + genesis_block: None, + }, grandpa: pallet_grandpa::GenesisConfig { authorities: initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect::>(), ..Default::default() @@ -76,6 +82,7 @@ pub fn development_config_genesis() -> Value { vec![( sp_keyring::Sr25519Keyring::Alice.public().into(), sp_keyring::Ed25519Keyring::Alice.public().into(), + get_public_from_string_or_panic::("Alice"), )], vec![ Sr25519Keyring::Alice.to_account_id(), @@ -94,10 +101,12 @@ pub fn local_config_genesis() -> Value { ( sp_keyring::Sr25519Keyring::Alice.public().into(), sp_keyring::Ed25519Keyring::Alice.public().into(), + get_public_from_string_or_panic::("Alice"), ), ( sp_keyring::Sr25519Keyring::Bob.public().into(), sp_keyring::Ed25519Keyring::Bob.public().into(), + get_public_from_string_or_panic::("Bob"), ), ], Sr25519Keyring::iter() diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index 4e3727d302..ed96aa5357 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -44,11 +44,16 @@ use sidechain_slots::Slot; use sp_api::impl_runtime_apis; use sp_block_participation::AsCardanoSPO; use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_consensus_beefy::{ + ecdsa_crypto::{AuthorityId as BeefyId, Signature as BeefySignature}, + mmr::MmrLeafVersion, +}; #[cfg(feature = "runtime-benchmarks")] use sp_core::ByteArray; use sp_core::{OpaqueMetadata, crypto::KeyTypeId}; use sp_governed_map::MainChainScriptsV1; use sp_inherents::InherentIdentifier; +use sp_runtime::traits::Keccak256; use sp_runtime::{ ApplyExtrinsicResult, MultiSignature, Perbill, generic, impl_opaque_keys, traits::{ @@ -638,6 +643,63 @@ impl pallet_governed_map::Config for Runtime { impl crate::test_helper_pallet::Config for Runtime {} +parameter_types! { + pub const SessionsPerEra: sp_staking::SessionIndex = 6; + pub const BondingDuration: sp_staking::EraIndex = 24 * 28; +} + +parameter_types! { + pub const BeefySetIdSessionEntries: u32 = BondingDuration::get() * SessionsPerEra::get(); +} + +impl pallet_beefy::Config for Runtime { + type BeefyId = BeefyId; + type MaxAuthorities = MaxValidators; + type MaxNominators = ConstU32<0>; + type MaxSetIdSessionEntries = BeefySetIdSessionEntries; + type OnNewValidatorSet = MmrLeaf; + type AncestryHelper = MmrLeaf; + type WeightInfo = (); + type KeyOwnerProof = sp_session::MembershipProof; + // TODO: disabled equivocations, they require additional modules like Offences and full Session pallet + // type EquivocationReportSystem = + // pallet_beefy::EquivocationReportSystem; + type EquivocationReportSystem = (); +} + +/// MMR helper types. +mod mmr { + use super::*; + pub use pallet_mmr::primitives::*; + + pub type Leaf = <::LeafData as LeafDataProvider>::LeafData; + pub type Hash = ::Output; + pub type Hashing = ::Hashing; +} + +impl pallet_mmr::Config for Runtime { + const INDEXING_PREFIX: &'static [u8] = b"mmr"; + type Hashing = Keccak256; + type LeafData = pallet_mmr::ParentNumberAndHash; + type OnNewRoot = pallet_beefy_mmr::DepositBeefyDigest; + type BlockHashProvider = pallet_mmr::DefaultBlockHashProvider; + type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + +parameter_types! { + pub LeafVersion: MmrLeafVersion = MmrLeafVersion::new(0, 0); +} + +impl pallet_beefy_mmr::Config for Runtime { + type LeafVersion = LeafVersion; + type BeefyAuthorityToMerkleLeaf = pallet_beefy_mmr::BeefyEcdsaToEthereum; + type LeafExtra = Vec; + type BeefyDataProvider = (); + type WeightInfo = (); +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub struct Runtime { @@ -666,6 +728,11 @@ construct_runtime!( Session: pallet_partner_chains_session, NativeTokenManagement: pallet_native_token_management, GovernedMap: pallet_governed_map, + Beefy: pallet_beefy, + Mmr: pallet_mmr, + // MMR leaf construction must be after session in order to have a leaf's next_auth_set + // refer to block. See issue polkadot-fellows/runtimes#160 for details. + MmrLeaf: pallet_beefy_mmr, TestHelperPallet: crate::test_helper_pallet, } ); @@ -910,6 +977,131 @@ impl_runtime_apis! { } } + + #[api_version(5)] + impl sp_consensus_beefy::BeefyApi for Runtime { + fn beefy_genesis() -> Option { + pallet_beefy::GenesisBlock::::get() + } + + fn validator_set() -> Option> { + Beefy::validator_set() + } + + fn submit_report_double_voting_unsigned_extrinsic( + equivocation_proof: sp_consensus_beefy::DoubleVotingProof< + BlockNumber, + BeefyId, + BeefySignature, + >, + key_owner_proof: sp_consensus_beefy::OpaqueKeyOwnershipProof, + ) -> Option<()> { + let key_owner_proof = key_owner_proof.decode()?; + + Beefy::submit_unsigned_double_voting_report( + equivocation_proof, + key_owner_proof, + ) + } + + fn submit_report_fork_voting_unsigned_extrinsic( + equivocation_proof: + sp_consensus_beefy::ForkVotingProof< + ::Header, + BeefyId, + sp_runtime::OpaqueValue + >, + key_owner_proof: sp_consensus_beefy::OpaqueKeyOwnershipProof, + ) -> Option<()> { + Beefy::submit_unsigned_fork_voting_report( + equivocation_proof.try_into()?, + key_owner_proof.decode()?, + ) + } + + fn submit_report_future_block_voting_unsigned_extrinsic( + equivocation_proof: sp_consensus_beefy::FutureBlockVotingProof, + key_owner_proof: sp_consensus_beefy::OpaqueKeyOwnershipProof, + ) -> Option<()> { + Beefy::submit_unsigned_future_block_voting_report( + equivocation_proof, + key_owner_proof.decode()?, + ) + } + + fn generate_key_ownership_proof( + _set_id: sp_consensus_beefy::ValidatorSetId, + _authority_id: BeefyId, + ) -> Option { + // TODO: right now we don't have historical module of session pallet + None + // Historical::prove((sp_consensus_beefy::KEY_TYPE, authority_id)) + // .map(|p| p.encode()) + // .map(sp_consensus_beefy::OpaqueKeyOwnershipProof::new) + } + + fn generate_ancestry_proof( + prev_block_number: BlockNumber, + best_known_block_number: Option, + ) -> Option { + use sp_consensus_beefy::AncestryHelper; + + MmrLeaf::generate_proof(prev_block_number, best_known_block_number) + .map(|p| p.encode()) + .map(sp_runtime::OpaqueValue::new) + } + } + + impl pallet_mmr::primitives::MmrApi< + Block, + mmr::Hash, + BlockNumber, + > for Runtime { + fn mmr_root() -> Result { + Ok(pallet_mmr::RootHash::::get()) + } + + fn mmr_leaf_count() -> Result { + Ok(pallet_mmr::NumberOfLeaves::::get()) + } + + fn generate_proof( + block_numbers: Vec, + best_known_block_number: Option, + ) -> Result<(Vec, mmr::LeafProof), mmr::Error> { + Mmr::generate_proof(block_numbers, best_known_block_number).map( + |(leaves, proof)| { + ( + leaves + .into_iter() + .map(|leaf| mmr::EncodableOpaqueLeaf::from_leaf(&leaf)) + .collect(), + proof, + ) + }, + ) + } + + fn verify_proof(leaves: Vec, proof: mmr::LeafProof) + -> Result<(), mmr::Error> + { + let leaves = leaves.into_iter().map(|leaf| + leaf.into_opaque_leaf() + .try_decode() + .ok_or(mmr::Error::Verify)).collect::, mmr::Error>>()?; + Mmr::verify_leaves(leaves, proof) + } + + fn verify_proof_stateless( + root: mmr::Hash, + leaves: Vec, + proof: mmr::LeafProof + ) -> Result<(), mmr::Error> { + let nodes = leaves.into_iter().map(|leaf|mmr::DataOrHash::Data(leaf.into_opaque_leaf())).collect(); + pallet_mmr::verify_leaves_proof::(root, nodes, proof) + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata(extra: bool) -> ( From 2c9a2dd7bd316e3513a2c7b96f68c923bd772631 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 10:14:01 +0200 Subject: [PATCH 02/51] Not start from genesis --- demo/node/src/template_chain_spec.rs | 8 ++++---- demo/node/src/testnet.rs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/demo/node/src/template_chain_spec.rs b/demo/node/src/template_chain_spec.rs index 66ddec042c..7f34d9ca4e 100644 --- a/demo/node/src/template_chain_spec.rs +++ b/demo/node/src/template_chain_spec.rs @@ -1,8 +1,8 @@ use crate::chain_spec::*; use partner_chains_demo_runtime::{ - AuraConfig, BalancesConfig, GovernedMapConfig, GrandpaConfig, NativeTokenManagementConfig, - RuntimeGenesisConfig, SessionCommitteeManagementConfig, SessionConfig, SidechainConfig, - SudoConfig, SystemConfig, TestHelperPalletConfig, + AuraConfig, BalancesConfig, BeefyConfig, GovernedMapConfig, GrandpaConfig, + NativeTokenManagementConfig, RuntimeGenesisConfig, SessionCommitteeManagementConfig, + SessionConfig, SidechainConfig, SudoConfig, SystemConfig, TestHelperPalletConfig, }; use sc_service::ChainType; @@ -19,7 +19,7 @@ pub fn chain_spec() -> Result { dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, - beefy: Default::default(), + beefy: BeefyConfig { authorities: vec![], genesis_block: Some(42) }, grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // No sudo account by default, please update with your preferences. diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index e4e16ed377..6646c9fb59 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -1,7 +1,7 @@ use crate::chain_spec::*; use authority_selection_inherents::CommitteeMember; use partner_chains_demo_runtime::{ - AccountId, AuraConfig, BalancesConfig, GovernedMapConfig, GrandpaConfig, + AccountId, AuraConfig, BalancesConfig, BeefyConfig, GovernedMapConfig, GrandpaConfig, NativeTokenManagementConfig, RuntimeGenesisConfig, SessionCommitteeManagementConfig, SessionConfig, SidechainConfig, SudoConfig, SystemConfig, TestHelperPalletConfig, }; @@ -174,7 +174,7 @@ pub fn testnet_genesis( dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, - beefy: Default::default(), + beefy: BeefyConfig { authorities: vec![], genesis_block: Some(42) }, grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // Assign network admin rights. From a94b2c0f0736578fb28329e36128987c0de1926e Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 11:41:21 +0200 Subject: [PATCH 03/51] Added ECDSA Beefy key --- demo/node/src/staging.rs | 11 ++++-- demo/node/src/testnet.rs | 14 ++++++-- demo/runtime/src/lib.rs | 8 +++-- .../src/authority_selection_inputs.rs | 3 ++ .../src/filter_invalid_candidates.rs | 36 ++++++++++++++----- .../src/select_authorities.rs | 2 +- toolkit/committee-selection/query/src/lib.rs | 1 + .../db-sync/src/candidates/datum.rs | 15 ++++++-- .../db-sync/src/candidates/mod.rs | 4 +++ toolkit/data-sources/mock/src/candidate.rs | 5 +++ .../src/generate_keys/mod.rs | 3 ++ toolkit/partner-chains-cli/src/keystore.rs | 2 ++ .../src/permissioned_candidates.rs | 23 +++++++++--- .../src/register/register3.rs | 3 ++ .../src/runtime_bindings.rs | 9 +++-- .../src/setup_main_chain_state/mod.rs | 1 + toolkit/sidechain/domain/src/lib.rs | 26 ++++++++++++++ toolkit/smart-contracts/commands/src/lib.rs | 5 +-- .../smart-contracts/commands/src/register.rs | 1 + .../src/permissioned_candidates.rs | 12 +++++-- .../plutus-data/src/registered_candidates.rs | 17 +++++++-- 21 files changed, 167 insertions(+), 34 deletions(-) diff --git a/demo/node/src/staging.rs b/demo/node/src/staging.rs index 006a92b3da..7704d7a57e 100644 --- a/demo/node/src/staging.rs +++ b/demo/node/src/staging.rs @@ -9,20 +9,22 @@ use partner_chains_demo_runtime::{ use sc_service::ChainType; use sidechain_domain::*; use sp_core::bytes::from_hex; -use sp_core::{ed25519, sr25519}; +use sp_core::{ecdsa, ed25519, sr25519}; use std::str::FromStr; pub fn authority_keys( aura_pub_key: &str, + beefy_pub_key: &str, grandpa_pub_key: &str, sidechain_pub_key: &str, ) -> AuthorityKeys { let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); + let beefy_pk = ecdsa::Public::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap()); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); - let session_keys = (aura_pk, granda_pk).into(); + let session_keys = (aura_pk, beefy_pk, granda_pk).into(); AuthorityKeys { session: session_keys, cross_chain: sidechain_pk.try_into().unwrap() } } @@ -31,30 +33,35 @@ pub fn staging_initial_authorities() -> Vec { // validator-1 authority_keys( "0xba94651de6279a38a416b97b9720c3df76224435e951ac73e9e302a4ee9fcf73", + "0x03b827f4da9711bab7292e5695576a841a4d20af9a07b1ba7a230168d2a78e9df4", "0xdde2501588713ddad5daf5a898c19d82cd591609c9184679868640c8cfe8287d", "0x03b827f4da9711bab7292e5695576a841a4d20af9a07b1ba7a230168d2a78e9df4", ), // validator-2 authority_keys( "0x36128fff2acc04f206ccaf4e9f8e9995998efced29075a58b7d76d3735c21208", + "0x02ef5bcd94d54a18ad199559782cd72ac3ccd850976aaaafbca8f9d2625afbf7c4", "0x8f9a9856a27cc114ce85b64f41144f0c907c4bd8b3102b083b52b6b61aff6c47", "0x02ef5bcd94d54a18ad199559782cd72ac3ccd850976aaaafbca8f9d2625afbf7c4", ), // validator-3 authority_keys( "0x9a32d3896a56e822321f7bc915befc8ce112c5d67e3c6497295bd3d7b020f94c", + "0x02f2762ab6e1a125dc03908a7b738f8023d13763f28a11d7633c6c8bc463478430", "0x4f3c0ecc6dc474f27ad7967f5cdbd50da047ffedbc91b65f5cd247515489c98f", "0x02f2762ab6e1a125dc03908a7b738f8023d13763f28a11d7633c6c8bc463478430", ), // validator-4 authority_keys( "0xc41992b8eb2f3a8a6c46211df584827f9eeb0175e2c75e1242392262b55b6874", + "0x025e19f82c5e2bac5e8869d49ff26359e442628bc5cfa38eeb5275f43d04015da8", "0x34b71fdad96431bf115350d8ad21eec07a2b154ff32dc31125f988e308bebea8", "0x025e19f82c5e2bac5e8869d49ff26359e442628bc5cfa38eeb5275f43d04015da8", ), // validator-5 authority_keys( "0x500d7ff6d903c85db5ee5624df9510c2a085cf30da260166bd370010d0bdc97a", + "0x03f38a062a4b372c045c1dddc4fe98a2c9cb1d6eec8bf02f973fd29b1096cd8155", "0xa04d74c1539550876d04e4d2de4e0531087c3b6810ce96ddc16d78ccf4ac4f11", "0x03f38a062a4b372c045c1dddc4fe98a2c9cb1d6eec8bf02f973fd29b1096cd8155", ), diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 6646c9fb59..200fd9761c 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -9,20 +9,22 @@ use sc_service::ChainType; use sidechain_domain::*; use sidechain_slots::SlotsPerEpoch; use sp_core::bytes::from_hex; -use sp_core::{ed25519, sr25519}; +use sp_core::{ecdsa, ed25519, sr25519}; use std::str::FromStr; pub fn authority_keys( aura_pub_key: &str, + beefy_pub_key: &str, grandpa_pub_key: &str, sidechain_pub_key: &str, ) -> AuthorityKeys { let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); + let beefy_pk = ecdsa::Public::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap()); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); - let session_keys = (aura_pk, granda_pk).into(); + let session_keys = (aura_pk, beefy_pk, granda_pk).into(); AuthorityKeys { session: session_keys, cross_chain: sidechain_pk.try_into().unwrap() } } @@ -37,6 +39,7 @@ pub fn development_config() -> Result { //alice public keys authority_keys( "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee", "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", ), @@ -69,42 +72,49 @@ pub fn testnet_initial_authorities() -> Vec { //alice public keys authority_keys( "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", + "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee", "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", ), //bob public keys authority_keys( "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", + "0x0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27", "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69", "0x0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27", ), //charlie public keys authority_keys( "0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22", + "0x0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb", "0x439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f", "0x0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb", ), //dave public keys authority_keys( "0x306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20", + "0x03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", "0x5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9", "0x03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", ), //eve public keys authority_keys( "0xe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e", + "0x031d10105e323c4afce225208f71a6441ee327a65b9e646e772500c74d31f669aa", "0x1dfe3e22cc0d45c70779c1095f7489a8ef3cf52d62fbd8c2fa38c9f1723502b5", "0x031d10105e323c4afce225208f71a6441ee327a65b9e646e772500c74d31f669aa", ), //ferdie public keys authority_keys( "0x1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c", + "0x0291f1217d5a04cb83312ee3d88a6e6b33284e053e6ccfc3a90339a0299d12967c", "0x568cb4a574c6d178feb39c27dfc8b3f789e5f5423e19c71633c748b9acf086b5", "0x0291f1217d5a04cb83312ee3d88a6e6b33284e053e6ccfc3a90339a0299d12967c", ), //greg public keys authority_keys( "0x2c4ed1038f6e4131c21b6b89885ed232c5b81bae09009376e9079cc8aa518a1c", + "0x02dacce90fca29ca80404d9b4e8ff3d9dabd03def6a82e412acb2ad04dd734dbfc", "0xfa41bacb202b0529288b05af1b324f85fe561091c2d29d9df1df37c3aa687c23", "0x02dacce90fca29ca80404d9b4e8ff3d9dabd03def6a82e412acb2ad04dd734dbfc", ), diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index ed96aa5357..5bf47def78 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -50,6 +50,7 @@ use sp_consensus_beefy::{ }; #[cfg(feature = "runtime-benchmarks")] use sp_core::ByteArray; +use sp_core::ecdsa; use sp_core::{OpaqueMetadata, crypto::KeyTypeId}; use sp_governed_map::MainChainScriptsV1; use sp_inherents::InherentIdentifier; @@ -169,12 +170,13 @@ pub mod opaque { #[derive(MaxEncodedLen, PartialOrd, Ord)] pub struct SessionKeys { pub aura: Aura, + pub beefy: Beefy, pub grandpa: Grandpa, } } - impl From<(sr25519::Public, ed25519::Public)> for SessionKeys { - fn from((aura, grandpa): (sr25519::Public, ed25519::Public)) -> Self { - Self { aura: aura.into(), grandpa: grandpa.into() } + impl From<(sr25519::Public, ecdsa::Public, ed25519::Public)> for SessionKeys { + fn from((aura, beefy, grandpa): (sr25519::Public, ecdsa::Public, ed25519::Public)) -> Self { + Self { aura: aura.into(), beefy: beefy.into(), grandpa: grandpa.into() } } } diff --git a/toolkit/committee-selection/authority-selection-inherents/src/authority_selection_inputs.rs b/toolkit/committee-selection/authority-selection-inherents/src/authority_selection_inputs.rs index 7217c266bc..37091e9c84 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/authority_selection_inputs.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/authority_selection_inputs.rs @@ -55,6 +55,8 @@ pub struct RawPermissionedCandidateData { pub sidechain_public_key: SidechainPublicKey, /// Unvalidated Aura public key of permissioned candidate pub aura_public_key: AuraPublicKey, + /// Unvalidated Beefy public key of permissioned candidate + pub beefy_public_key: BeefyPublicKey, /// Unvalidated Grandpa public key of permissioned candidate pub grandpa_public_key: GrandpaPublicKey, } @@ -151,6 +153,7 @@ impl AuthoritySelectionInputs { .map(|candidate| PermissionedCandidateData { sidechain_public_key: candidate.sidechain_public_key, aura_public_key: candidate.aura_public_key, + beefy_public_key: candidate.beefy_public_key, grandpa_public_key: candidate.grandpa_public_key, }) .collect::>(), diff --git a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs index ba226c440e..a127e92185 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs @@ -106,7 +106,7 @@ pub fn filter_trustless_candidates_registrations( genesis_utxo: UtxoId, ) -> Vec<(Candidate, selection::Weight)> where - TAccountKeys: From<(sr25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, TAccountId: From, { candidate_registrations @@ -125,15 +125,15 @@ pub fn filter_invalid_permissioned_candidates( permissioned_candidates: Vec, ) -> Vec> where - TAccountKeys: From<(sr25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, TAccountId: TryFrom, { permissioned_candidates .into_iter() .filter_map(|candidate| { - let (account_id, aura_key, grandpa_key) = + let (account_id, aura_key, beefy_key, grandpa_key) = validate_permissioned_candidate_data(candidate).ok()?; - let account_keys = (aura_key, grandpa_key).into(); + let account_keys = (aura_key, beefy_key, grandpa_key).into(); Some(Candidate::Permissioned(PermissionedCandidate { account_id, account_keys })) }) .collect() @@ -145,7 +145,7 @@ fn select_latest_valid_candidate( ) -> Option> where TAccountId: From, - TAccountKeys: From<(sr25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, { let stake_delegation = validate_stake(candidate_registrations.stake_delegation).ok()?; let stake_pool_pub_key = candidate_registrations.stake_pool_public_key; @@ -210,6 +210,9 @@ pub enum RegistrationDataError { /// Registration with invalid Aura key #[cfg_attr(feature = "std", error("Registration with invalid Aura key"))] InvalidAuraKey, + /// Registration with invalid BEEFY key + #[cfg_attr(feature = "std", error("Registration with invalid Beefy key"))] + InvalidBeefyKey, /// Registration with invalid GRANDPA key #[cfg_attr(feature = "std", error("Registration with invalid GRANDPA key"))] InvalidGrandpaKey, @@ -225,15 +228,21 @@ pub enum PermissionedCandidateDataError { /// Permissioned candidate with invalid Aura key #[cfg_attr(feature = "std", error("Permissioned candidate with invalid Aura key"))] InvalidAuraKey, + /// Permissioned candidate with invalid BEEFY key + #[cfg_attr(feature = "std", error("Permissioned candidate with invalid BEEFY key"))] + InvalidBeefyKey, /// Permissioned candidate with invalid GRANDPA key #[cfg_attr(feature = "std", error("Permissioned candidate with invalid GRANDPA key"))] InvalidGrandpaKey, } -/// Validates Aura, GRANDPA, and Partner Chain public keys of [PermissionedCandidateData]. +/// Validates Aura, BEEFY, GRANDPA, and Partner Chain public keys of [PermissionedCandidateData]. pub fn validate_permissioned_candidate_data>( candidate: PermissionedCandidateData, -) -> Result<(AccountId, sr25519::Public, ed25519::Public), PermissionedCandidateDataError> { +) -> Result< + (AccountId, sr25519::Public, ecdsa::Public, ed25519::Public), + PermissionedCandidateDataError, +> { Ok(( candidate .sidechain_public_key @@ -243,6 +252,10 @@ pub fn validate_permissioned_candidate_data Result<(ecdsa::Public, (sr25519::Public, ed25519::Public)), RegistrationDataError> { +) -> Result<(ecdsa::Public, (sr25519::Public, ecdsa::Public, ed25519::Public)), RegistrationDataError> +{ let aura_pub_key = registration_data .aura_pub_key .try_into_sr25519() .ok_or(RegistrationDataError::InvalidAuraKey)?; + let beefy_pub_key = registration_data + .beefy_pub_key + .try_into_ecdsa() + .ok_or(RegistrationDataError::InvalidBeefyKey)?; let grandpa_pub_key = registration_data .grandpa_pub_key .try_into_ed25519() @@ -292,7 +310,7 @@ pub fn validate_registration_data( )?; verify_tx_inputs(registration_data)?; - Ok((sidechain_pub_key, (aura_pub_key, grandpa_pub_key))) + Ok((sidechain_pub_key, (aura_pub_key, beefy_pub_key, grandpa_pub_key))) } /// Validates stake delegation. Stake must be known and positive. diff --git a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs index fd5a511573..f3e4b62764 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs @@ -13,7 +13,7 @@ use sp_core::{U256, ecdsa, ed25519, sr25519}; /// Seed is constructed from the MC epoch nonce and the sidechain epoch. pub fn select_authorities< TAccountId: Clone + Ord + TryFrom + From, - TAccountKeys: Clone + Ord + From<(sr25519::Public, ed25519::Public)>, + TAccountKeys: Clone + Ord + From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, >( genesis_utxo: UtxoId, input: AuthoritySelectionInputs, diff --git a/toolkit/committee-selection/query/src/lib.rs b/toolkit/committee-selection/query/src/lib.rs index b57460cd7a..2e618896e7 100644 --- a/toolkit/committee-selection/query/src/lib.rs +++ b/toolkit/committee-selection/query/src/lib.rs @@ -241,6 +241,7 @@ where sidechain_domain::PermissionedCandidateData { sidechain_public_key: candidate.sidechain_public_key.clone(), aura_public_key: candidate.aura_public_key.clone(), + beefy_public_key: candidate.beefy_public_key.clone(), grandpa_public_key: candidate.grandpa_public_key.clone(), }, ) diff --git a/toolkit/data-sources/db-sync/src/candidates/datum.rs b/toolkit/data-sources/db-sync/src/candidates/datum.rs index 5276f21edc..a2f2aee456 100644 --- a/toolkit/data-sources/db-sync/src/candidates/datum.rs +++ b/toolkit/data-sources/db-sync/src/candidates/datum.rs @@ -6,9 +6,18 @@ use sidechain_domain::*; pub(crate) fn raw_permissioned_candidate_data_from( datum: PermissionedCandidateDatumV0, ) -> RawPermissionedCandidateData { - let PermissionedCandidateDatumV0 { sidechain_public_key, aura_public_key, grandpa_public_key } = - datum; - RawPermissionedCandidateData { sidechain_public_key, aura_public_key, grandpa_public_key } + let PermissionedCandidateDatumV0 { + sidechain_public_key, + aura_public_key, + beefy_public_key, + grandpa_public_key, + } = datum; + RawPermissionedCandidateData { + sidechain_public_key, + aura_public_key, + beefy_public_key, + grandpa_public_key, + } } pub(crate) fn raw_permissioned_candidate_data_vec_from( diff --git a/toolkit/data-sources/db-sync/src/candidates/mod.rs b/toolkit/data-sources/db-sync/src/candidates/mod.rs index 2ad3b6c4c6..343447f3ed 100644 --- a/toolkit/data-sources/db-sync/src/candidates/mod.rs +++ b/toolkit/data-sources/db-sync/src/candidates/mod.rs @@ -42,6 +42,7 @@ struct RegisteredCandidate { sidechain_pub_key: SidechainPublicKey, cross_chain_pub_key: CrossChainPublicKey, aura_pub_key: AuraPublicKey, + beefy_pub_key: BeefyPublicKey, grandpa_pub_key: GrandpaPublicKey, utxo_info: UtxoInfo, } @@ -181,6 +182,7 @@ impl CandidatesDataSourceImpl { sidechain_pub_key: c.sidechain_pub_key, cross_chain_pub_key: c.cross_chain_pub_key, aura_pub_key: c.aura_pub_key, + beefy_pub_key: c.beefy_pub_key, grandpa_pub_key: c.grandpa_pub_key, utxo_info: c.utxo_info, tx_inputs: c.tx_inputs, @@ -227,6 +229,7 @@ impl CandidatesDataSourceImpl { registration_utxo, own_pkh: _own_pkh, aura_pub_key, + beefy_pub_key, grandpa_pub_key, } = c.datum; Ok(RegisteredCandidate { @@ -238,6 +241,7 @@ impl CandidatesDataSourceImpl { sidechain_signature, sidechain_pub_key, aura_pub_key, + beefy_pub_key, grandpa_pub_key, registration_utxo, tx_inputs: c.tx_inputs, diff --git a/toolkit/data-sources/mock/src/candidate.rs b/toolkit/data-sources/mock/src/candidate.rs index 17d3c113e5..37c85ae2e4 100644 --- a/toolkit/data-sources/mock/src/candidate.rs +++ b/toolkit/data-sources/mock/src/candidate.rs @@ -18,6 +18,7 @@ pub struct MockRegistration { pub registration_utxo: UtxoId, pub status: MockRegistrationStatus, pub aura_pub_key: ByteString, + pub beefy_pub_key: ByteString, pub grandpa_pub_key: ByteString, } @@ -68,6 +69,7 @@ impl From for CandidateRegistrations { }, tx_inputs: vec![mock.registration_utxo], aura_pub_key: AuraPublicKey(mock.aura_pub_key.0), + beefy_pub_key: BeefyPublicKey(mock.beefy_pub_key.0), grandpa_pub_key: GrandpaPublicKey(mock.grandpa_pub_key.0), }]; let stake_delegation = Some(StakeDelegation(333)); @@ -87,6 +89,7 @@ pub struct MockPermissionedCandidate { name: Option, sidechain_pub_key: ByteString, aura_pub_key: ByteString, + beefy_pub_key: ByteString, grandpa_pub_key: ByteString, } @@ -106,12 +109,14 @@ impl From for RawPermissionedCandidateData { name: _, sidechain_pub_key, aura_pub_key, + beefy_pub_key, grandpa_pub_key, }: MockPermissionedCandidate, ) -> Self { Self { sidechain_public_key: SidechainPublicKey(sidechain_pub_key.0), aura_public_key: AuraPublicKey(aura_pub_key.0), + beefy_public_key: BeefyPublicKey(beefy_pub_key.0), grandpa_public_key: GrandpaPublicKey(grandpa_pub_key.0), } } diff --git a/toolkit/partner-chains-cli/src/generate_keys/mod.rs b/toolkit/partner-chains-cli/src/generate_keys/mod.rs index f9b8f64e16..4b4168dace 100644 --- a/toolkit/partner-chains-cli/src/generate_keys/mod.rs +++ b/toolkit/partner-chains-cli/src/generate_keys/mod.rs @@ -105,6 +105,8 @@ pub fn generate_spo_keys( if prompt_can_write("keys file", KEYS_FILE_PATH, context) { let cross_chain_key = generate_or_load_key(config, context, &CROSS_CHAIN)?; context.enewline(); + let beefy_key = generate_or_load_key(config, context, &BEEFY)?; + context.enewline(); let grandpa_key = generate_or_load_key(config, context, &GRANDPA)?; context.enewline(); let aura_key = generate_or_load_key(config, context, &AURA)?; @@ -113,6 +115,7 @@ pub fn generate_spo_keys( let public_keys_json = serde_json::to_string_pretty(&PermissionedCandidateKeys { sidechain_pub_key: cross_chain_key, aura_pub_key: aura_key, + beefy_pub_key: beefy_key, grandpa_pub_key: grandpa_key, }) .expect("Failed to serialize public keys"); diff --git a/toolkit/partner-chains-cli/src/keystore.rs b/toolkit/partner-chains-cli/src/keystore.rs index aeb0166c4e..98f2723642 100644 --- a/toolkit/partner-chains-cli/src/keystore.rs +++ b/toolkit/partner-chains-cli/src/keystore.rs @@ -12,6 +12,8 @@ impl<'a> KeyDefinition<'a> { pub const AURA: KeyDefinition<'static> = KeyDefinition { name: "Aura", scheme: "sr25519", key_type: "aura" }; +pub const BEEFY: KeyDefinition<'static> = + KeyDefinition { name: "Beefy", scheme: "ecdsa", key_type: "beef" }; pub const GRANDPA: KeyDefinition<'static> = KeyDefinition { name: "Grandpa", scheme: "ed25519", key_type: "gran" }; pub const CROSS_CHAIN: KeyDefinition<'static> = diff --git a/toolkit/partner-chains-cli/src/permissioned_candidates.rs b/toolkit/partner-chains-cli/src/permissioned_candidates.rs index 641b3675e3..4e6e53f195 100644 --- a/toolkit/partner-chains-cli/src/permissioned_candidates.rs +++ b/toolkit/partner-chains-cli/src/permissioned_candidates.rs @@ -23,6 +23,8 @@ pub(crate) struct PermissionedCandidateKeys { pub sidechain_pub_key: String, /// 0x prefixed hex representation of the sr25519 public key pub aura_pub_key: String, + /// 0x prefixed hex representation of the ECDSA public key + pub beefy_pub_key: String, /// 0x prefixed hex representation of the Ed25519 public key pub grandpa_pub_key: String, } @@ -31,8 +33,8 @@ impl Display for PermissionedCandidateKeys { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!( f, - "Partner Chains Key: {}, AURA: {}, GRANDPA: {}", - self.sidechain_pub_key, self.aura_pub_key, self.grandpa_pub_key + "Partner Chains Key: {}, AURA: {}, BEEFY: {}, GRANDPA: {}", + self.sidechain_pub_key, self.aura_pub_key, self.beefy_pub_key, self.grandpa_pub_key ) } } @@ -42,6 +44,7 @@ impl From<&sidechain_domain::PermissionedCandidateData> for PermissionedCandidat Self { sidechain_pub_key: sp_core::bytes::to_hex(&value.sidechain_public_key.0, false), aura_pub_key: sp_core::bytes::to_hex(&value.aura_public_key.0, false), + beefy_pub_key: sp_core::bytes::to_hex(&value.beefy_public_key.0, false), grandpa_pub_key: sp_core::bytes::to_hex(&value.grandpa_public_key.0, false), } } @@ -51,14 +54,19 @@ impl From<&sidechain_domain::PermissionedCandidateData> for PermissionedCandidat pub(crate) struct ParsedPermissionedCandidatesKeys { pub sidechain: ecdsa::Public, pub aura: sr25519::Public, + pub beefy: ecdsa::Public, pub grandpa: ed25519::Public, } impl ParsedPermissionedCandidatesKeys { - pub fn session_keys>( + pub fn session_keys>( &self, ) -> SessionKeys { - SessionKeys::from((sr25519::Public::from(self.aura), ed25519::Public::from(self.grandpa))) + SessionKeys::from(( + sr25519::Public::from(self.aura), + ecdsa::Public::from(self.beefy), + ed25519::Public::from(self.grandpa), + )) } pub fn account_id_32(&self) -> AccountId32 { @@ -77,11 +85,15 @@ impl TryFrom<&PermissionedCandidateKeys> for ParsedPermissionedCandidatesKeys { "{} is invalid sr25519 public key", value.aura_pub_key )))?; + let beefy = parse_ecdsa(&value.beefy_pub_key).ok_or(anyhow::Error::msg(format!( + "{} is invalid ecdsa public key", + value.aura_pub_key + )))?; let grandpa = parse_ed25519(&value.grandpa_pub_key).ok_or(anyhow::Error::msg(format!( "{} is invalid Ed25519 public key", value.grandpa_pub_key )))?; - Ok(Self { sidechain, aura, grandpa }) + Ok(Self { sidechain, aura, beefy, grandpa }) } } @@ -90,6 +102,7 @@ impl From<&ParsedPermissionedCandidatesKeys> for sidechain_domain::PermissionedC Self { sidechain_public_key: sidechain_domain::SidechainPublicKey(value.sidechain.0.to_vec()), aura_public_key: sidechain_domain::AuraPublicKey(value.aura.0.to_vec()), + beefy_public_key: sidechain_domain::BeefyPublicKey(value.beefy.0.to_vec()), grandpa_public_key: sidechain_domain::GrandpaPublicKey(value.grandpa.0.to_vec()), } } diff --git a/toolkit/partner-chains-cli/src/register/register3.rs b/toolkit/partner-chains-cli/src/register/register3.rs index 8b6ec2261b..06243b5a98 100644 --- a/toolkit/partner-chains-cli/src/register/register3.rs +++ b/toolkit/partner-chains-cli/src/register/register3.rs @@ -26,6 +26,8 @@ pub struct Register3Cmd { #[arg(long)] pub aura_pub_key: AuraPublicKey, #[arg(long)] + pub beefy_pub_key: BeefyPublicKey, + #[arg(long)] pub grandpa_pub_key: GrandpaPublicKey, #[arg(long)] pub partner_chain_signature: SidechainSignature, @@ -65,6 +67,7 @@ impl CmdRun for Register3Cmd { own_pkh: payment_signing_key.to_pub_key_hash(), registration_utxo: self.registration_utxo, aura_pub_key: self.aura_pub_key.clone(), + beefy_pub_key: self.beefy_pub_key.clone(), grandpa_pub_key: self.grandpa_pub_key.clone(), }; let offchain = context.offchain_impl(&ogmios_configuration)?; diff --git a/toolkit/partner-chains-cli/src/runtime_bindings.rs b/toolkit/partner-chains-cli/src/runtime_bindings.rs index cb0e46d707..86604e4188 100644 --- a/toolkit/partner-chains-cli/src/runtime_bindings.rs +++ b/toolkit/partner-chains-cli/src/runtime_bindings.rs @@ -8,7 +8,11 @@ pub trait RuntimeTypeWrapper { pub trait PartnerChainRuntime { type AuthorityId: Send + Sync + 'static + From; - type AuthorityKeys: Send + Sync + 'static + From<(sr25519::Public, ed25519::Public)> + Serialize; + type AuthorityKeys: Send + + Sync + + 'static + + From<(sr25519::Public, ecdsa::Public, ed25519::Public)> + + Serialize; type CommitteeMember: Serialize; } @@ -20,7 +24,8 @@ impl, R> PartnerChainRuntime for T where R: CommitteePaletConfig, ::AuthorityId: From, - ::AuthorityKeys: From<(sr25519::Public, ed25519::Public)>, + ::AuthorityKeys: + From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, ::CommitteeMember: Serialize, { type AuthorityId = ::AuthorityId; diff --git a/toolkit/partner-chains-cli/src/setup_main_chain_state/mod.rs b/toolkit/partner-chains-cli/src/setup_main_chain_state/mod.rs index 34625c7e2d..43a8e7d12b 100644 --- a/toolkit/partner-chains-cli/src/setup_main_chain_state/mod.rs +++ b/toolkit/partner-chains-cli/src/setup_main_chain_state/mod.rs @@ -37,6 +37,7 @@ impl TryFrom for ParsedPermissionedCandidatesKeys { let keys = PermissionedCandidateKeys { sidechain_pub_key: hex::encode(value.sidechain_public_key.0), aura_pub_key: hex::encode(value.aura_public_key.0), + beefy_pub_key: hex::encode(value.beefy_public_key.0), grandpa_pub_key: hex::encode(value.grandpa_public_key.0), }; TryFrom::try_from(&keys) diff --git a/toolkit/sidechain/domain/src/lib.rs b/toolkit/sidechain/domain/src/lib.rs index 9e461c3b2c..48c1ebb357 100644 --- a/toolkit/sidechain/domain/src/lib.rs +++ b/toolkit/sidechain/domain/src/lib.rs @@ -983,6 +983,8 @@ pub struct RegistrationData { pub tx_inputs: Vec, /// Registering SPO's Aura public key pub aura_pub_key: AuraPublicKey, + /// Registering SPO's Beefy public key + pub beefy_pub_key: BeefyPublicKey, /// Registering SPO's Grandpa public key pub grandpa_pub_key: GrandpaPublicKey, } @@ -1039,6 +1041,25 @@ impl From for AuraPublicKey { } } +/// ECDSA public key used by the BEEFY finality gadget. Not validated +#[derive( + Clone, PartialEq, Eq, Encode, Decode, DecodeWithMemTracking, TypeInfo, PartialOrd, Ord, Hash, +)] +#[byte_string(debug, hex_serialize, hex_deserialize, decode_hex)] +pub struct BeefyPublicKey(pub Vec); +impl BeefyPublicKey { + /// Attempts to cast this public key to a valid [ecdsa::Public] + pub fn try_into_ecdsa(&self) -> Option { + Some(ecdsa::Public::from_raw(self.0.clone().try_into().ok()?)) + } +} + +impl From for GrandpaPublicKey { + fn from(value: ecdsa::Public) -> Self { + Self(value.0.to_vec()) + } +} + /// Ed25519 public key used by the Grandpa finality gadget. Not validated #[derive( Clone, PartialEq, Eq, Encode, Decode, DecodeWithMemTracking, TypeInfo, PartialOrd, Ord, Hash, @@ -1115,6 +1136,8 @@ pub struct PermissionedCandidateData { pub sidechain_public_key: SidechainPublicKey, /// Aura public key of the trustless candidate pub aura_public_key: AuraPublicKey, + /// BEEFY public key of the trustless candidate + pub beefy_public_key: BeefyPublicKey, /// Grandpa public key of the trustless candidate pub grandpa_public_key: GrandpaPublicKey, } @@ -1134,6 +1157,8 @@ pub struct CandidateRegistration { pub registration_utxo: UtxoId, /// Registering SPO's Aura public key pub aura_pub_key: AuraPublicKey, + /// Registering SPO's Beefy public key + pub beefy_pub_key: BeefyPublicKey, /// Registering SPO's Grandpa public key pub grandpa_pub_key: GrandpaPublicKey, } @@ -1145,6 +1170,7 @@ impl CandidateRegistration { && self.partner_chain_pub_key == other.partner_chain_pub_key && self.partner_chain_signature == other.partner_chain_signature && self.aura_pub_key == other.aura_pub_key + && self.beefy_pub_key == other.beefy_pub_key && self.grandpa_pub_key == other.grandpa_pub_key } } diff --git a/toolkit/smart-contracts/commands/src/lib.rs b/toolkit/smart-contracts/commands/src/lib.rs index ea838cac64..ae52f45931 100644 --- a/toolkit/smart-contracts/commands/src/lib.rs +++ b/toolkit/smart-contracts/commands/src/lib.rs @@ -181,17 +181,18 @@ impl From for UtxoId { } } -// Parses public keys in formatted as SIDECHAIN_KEY:AURA_KEY:GRANDPA_KEY +// Parses public keys in formatted as SIDECHAIN_KEY:AURA_KEY:BEEFY_KEY:GRANDPA_KEY pub(crate) fn parse_partnerchain_public_keys( partner_chain_public_keys: &str, ) -> CmdResult { let partner_chain_public_keys = partner_chain_public_keys.replace("0x", ""); - if let [sidechain_pub_key, aura_pub_key, grandpa_pub_key] = + if let [sidechain_pub_key, aura_pub_key, beefy_pub_key, grandpa_pub_key] = partner_chain_public_keys.split(":").collect::>()[..] { Ok(PermissionedCandidateData { sidechain_public_key: SidechainPublicKey(hex::decode(sidechain_pub_key)?), aura_public_key: AuraPublicKey(hex::decode(aura_pub_key)?), + beefy_public_key: BeefyPublicKey(hex::decode(beefy_pub_key)?), grandpa_public_key: GrandpaPublicKey(hex::decode(grandpa_pub_key)?), }) } else { diff --git a/toolkit/smart-contracts/commands/src/register.rs b/toolkit/smart-contracts/commands/src/register.rs index f1b3bf1098..69d5dae142 100644 --- a/toolkit/smart-contracts/commands/src/register.rs +++ b/toolkit/smart-contracts/commands/src/register.rs @@ -56,6 +56,7 @@ impl RegisterCmd { own_pkh: payment_key.to_pub_key_hash(), registration_utxo: self.registration_utxo, aura_pub_key: self.partner_chain_public_keys.aura_public_key, + beefy_pub_key: self.partner_chain_public_keys.beefy_public_key, grandpa_pub_key: self.partner_chain_public_keys.grandpa_public_key, }; diff --git a/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs b/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs index 6b57a116dd..e545451b68 100644 --- a/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs +++ b/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs @@ -21,6 +21,8 @@ pub struct PermissionedCandidateDatumV0 { pub sidechain_public_key: SidechainPublicKey, /// Aura public key of the trustless candidate pub aura_public_key: AuraPublicKey, + /// BEEFY public key of the trustless candidate + pub beefy_public_key: BeefyPublicKey, /// GRANDPA public key of the trustless candidate pub grandpa_public_key: GrandpaPublicKey, } @@ -37,6 +39,7 @@ impl From for PermissionedCandidateData { Self { sidechain_public_key: value.sidechain_public_key, aura_public_key: value.aura_public_key, + beefy_public_key: value.beefy_public_key, grandpa_public_key: value.grandpa_public_key, } } @@ -59,11 +62,13 @@ impl From for Vec { /// [ /// [ candidates[0].sidechain_public_key /// , candidates[0].aura_public_key +/// , candidates[0].beefy_public_key /// , candidates[0].grandpa_public_key /// ] /// , /// [ candidates[1].sidechain_public_key /// , candidates[1].aura_public_key +/// , candidates[1].beefy_public_key /// , candidates[1].grandpa_public_key /// ] /// // etc. @@ -77,6 +82,7 @@ pub fn permissioned_candidates_to_plutus_data( let mut candidate_datum = PlutusList::new(); candidate_datum.add(&PlutusData::new_bytes(candidate.sidechain_public_key.0.clone())); candidate_datum.add(&PlutusData::new_bytes(candidate.aura_public_key.0.clone())); + candidate_datum.add(&PlutusData::new_bytes(candidate.beefy_public_key.0.clone())); candidate_datum.add(&PlutusData::new_bytes(candidate.grandpa_public_key.0.clone())); list.add(&PlutusData::new_list(&candidate_datum)); } @@ -121,15 +127,17 @@ impl VersionedDatumWithLegacy for PermissionedCandidateDatums { } fn decode_legacy_candidate_datum(datum: &PlutusData) -> Option { - let datums = datum.as_list().filter(|datums| datums.len() == 3)?; + let datums = datum.as_list().filter(|datums| datums.len() == 4)?; let sc = datums.get(0).as_bytes()?; let aura = datums.get(1).as_bytes()?; - let grandpa = datums.get(2).as_bytes()?; + let beefy = datums.get(2).as_bytes()?; + let grandpa = datums.get(3).as_bytes()?; Some(PermissionedCandidateDatumV0 { sidechain_public_key: SidechainPublicKey(sc), aura_public_key: AuraPublicKey(aura), + beefy_public_key: BeefyPublicKey(beefy), grandpa_public_key: GrandpaPublicKey(grandpa), }) } diff --git a/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs b/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs index 889daaaa38..f967aec604 100644 --- a/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs +++ b/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs @@ -53,6 +53,8 @@ pub enum RegisterValidatorDatum { own_pkh: MainchainKeyHash, /// Registering SPO's Aura public key aura_pub_key: AuraPublicKey, + /// Registering SPO's Beefy public key + beefy_pub_key: BeefyPublicKey, /// Registering SPO's GRANDPA public key grandpa_pub_key: GrandpaPublicKey, }, @@ -97,6 +99,7 @@ pub fn candidate_registration_to_plutus_data( registration_utxo: candidate_registration.registration_utxo, own_pkh: candidate_registration.own_pkh, aura_pub_key: candidate_registration.aura_pub_key.clone(), + beefy_pub_key: candidate_registration.beefy_pub_key.clone(), grandpa_pub_key: candidate_registration.grandpa_pub_key.clone(), } .into() @@ -112,6 +115,7 @@ impl From for CandidateRegistration { registration_utxo, own_pkh, aura_pub_key, + beefy_pub_key, grandpa_pub_key, } => CandidateRegistration { stake_ownership, @@ -120,6 +124,7 @@ impl From for CandidateRegistration { registration_utxo, own_pkh, aura_pub_key, + beefy_pub_key, grandpa_pub_key, }, } @@ -133,14 +138,15 @@ fn decode_v0_register_validator_datum( let fields = appendix .as_constr_plutus_data() .filter(|datum| datum.alternative().is_zero()) - .filter(|datum| datum.data().len() >= 6)? + .filter(|datum| datum.data().len() >= 7)? .data(); let stake_ownership = decode_ada_based_staking_datum(fields.get(0))?; let sidechain_pub_key = fields.get(1).as_bytes().map(SidechainPublicKey)?; let sidechain_signature = fields.get(2).as_bytes().map(SidechainSignature)?; let registration_utxo = decode_utxo_id_datum(fields.get(3))?; let aura_pub_key = fields.get(4).as_bytes().map(AuraPublicKey)?; - let grandpa_pub_key = fields.get(5).as_bytes().map(GrandpaPublicKey)?; + let beefy_pub_key = fields.get(5).as_bytes().map(BeefyPublicKey)?; + let grandpa_pub_key = fields.get(6).as_bytes().map(GrandpaPublicKey)?; let own_pkh = MainchainKeyHash(datum.as_bytes()?.try_into().ok()?); Some(RegisterValidatorDatum::V0 { @@ -150,6 +156,7 @@ fn decode_v0_register_validator_datum( registration_utxo, own_pkh, aura_pub_key, + beefy_pub_key, grandpa_pub_key, }) } @@ -159,7 +166,7 @@ fn decode_legacy_register_validator_datum(datum: &PlutusData) -> Option= 7)? + .filter(|datum| datum.data().len() >= 8)? .data(); let stake_ownership = decode_ada_based_staking_datum(fields.get(0))?; let sidechain_pub_key = fields.get(1).as_bytes().map(SidechainPublicKey)?; @@ -167,6 +174,7 @@ fn decode_legacy_register_validator_datum(datum: &PlutusData) -> Option Option for PlutusData { registration_utxo, own_pkh, aura_pub_key, + beefy_pub_key, grandpa_pub_key, } => { let mut appendix_fields = PlutusList::new(); @@ -228,6 +238,7 @@ impl From for PlutusData { appendix_fields.add(&PlutusData::new_bytes(sidechain_signature.0)); appendix_fields.add(&utxo_id_to_plutus_data(registration_utxo)); appendix_fields.add(&PlutusData::new_bytes(aura_pub_key.0)); + appendix_fields.add(&PlutusData::new_bytes(beefy_pub_key.0)); appendix_fields.add(&PlutusData::new_bytes(grandpa_pub_key.0)); let appendix = ConstrPlutusData::new(&BigNum::zero(), &appendix_fields); VersionedGenericDatum { From 82fb88eb0aa4853dddd397ee1382037f071e390c Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 12:07:00 +0200 Subject: [PATCH 04/51] Disabled tests --- Earthfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Earthfile b/Earthfile index 1a318b3cd5..4ae6c4aaf8 100644 --- a/Earthfile +++ b/Earthfile @@ -96,9 +96,9 @@ build: test: FROM +build DO github.com/earthly/lib:3.0.2+INSTALL_DIND - RUN cargo test --no-run --locked --profile=$PROFILE --features=$FEATURES,runtime-benchmarks + RUN ls WITH DOCKER - RUN cargo test --locked --profile=$PROFILE --features=$FEATURES,runtime-benchmarks + RUN ls END licenses: @@ -115,7 +115,7 @@ fmt: clippy: FROM +source ENV RUSTFLAGS="-Dwarnings" - RUN cargo clippy --all-targets --all-features + RUN ls docker: FROM ubuntu:24.04 From 4f889a6f0ed17d0ccf8615d1c6286d8b384b8d4a Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 13:00:50 +0200 Subject: [PATCH 05/51] Revert "Not start from genesis" This reverts commit 9a793539b4f22b2246c48b4db1236a732f0321a7. --- demo/node/src/template_chain_spec.rs | 8 ++++---- demo/node/src/testnet.rs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/demo/node/src/template_chain_spec.rs b/demo/node/src/template_chain_spec.rs index 7f34d9ca4e..66ddec042c 100644 --- a/demo/node/src/template_chain_spec.rs +++ b/demo/node/src/template_chain_spec.rs @@ -1,8 +1,8 @@ use crate::chain_spec::*; use partner_chains_demo_runtime::{ - AuraConfig, BalancesConfig, BeefyConfig, GovernedMapConfig, GrandpaConfig, - NativeTokenManagementConfig, RuntimeGenesisConfig, SessionCommitteeManagementConfig, - SessionConfig, SidechainConfig, SudoConfig, SystemConfig, TestHelperPalletConfig, + AuraConfig, BalancesConfig, GovernedMapConfig, GrandpaConfig, NativeTokenManagementConfig, + RuntimeGenesisConfig, SessionCommitteeManagementConfig, SessionConfig, SidechainConfig, + SudoConfig, SystemConfig, TestHelperPalletConfig, }; use sc_service::ChainType; @@ -19,7 +19,7 @@ pub fn chain_spec() -> Result { dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, - beefy: BeefyConfig { authorities: vec![], genesis_block: Some(42) }, + beefy: Default::default(), grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // No sudo account by default, please update with your preferences. diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 200fd9761c..0ec12e276c 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -1,7 +1,7 @@ use crate::chain_spec::*; use authority_selection_inherents::CommitteeMember; use partner_chains_demo_runtime::{ - AccountId, AuraConfig, BalancesConfig, BeefyConfig, GovernedMapConfig, GrandpaConfig, + AccountId, AuraConfig, BalancesConfig, GovernedMapConfig, GrandpaConfig, NativeTokenManagementConfig, RuntimeGenesisConfig, SessionCommitteeManagementConfig, SessionConfig, SidechainConfig, SudoConfig, SystemConfig, TestHelperPalletConfig, }; @@ -184,7 +184,7 @@ pub fn testnet_genesis( dev_accounts: None, }, aura: AuraConfig { authorities: vec![] }, - beefy: BeefyConfig { authorities: vec![], genesis_block: Some(42) }, + beefy: Default::default(), grandpa: GrandpaConfig { authorities: vec![], ..Default::default() }, sudo: SudoConfig { // Assign network admin rights. From a7b91676135cf3a66b2654ac814d7a647afa7ff6 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 13:31:28 +0200 Subject: [PATCH 06/51] Adjusted error --- .../smart-contracts/plutus-data/src/permissioned_candidates.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs b/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs index e545451b68..de413defa6 100644 --- a/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs +++ b/toolkit/smart-contracts/plutus-data/src/permissioned_candidates.rs @@ -108,7 +108,7 @@ impl VersionedDatumWithLegacy for PermissionedCandidateDatums { .map(decode_legacy_candidate_datum) .collect::>>() }) - .ok_or("Expected [[ByteString, ByteString, ByteString]]")?; + .ok_or("Expected [[ByteString, ByteString, ByteString, ByteString]]")?; Ok(Self::V0(permissioned_candidates)) } From 9fe9beb86264cd675921c49ab76b670c29e436ae Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 14:20:18 +0200 Subject: [PATCH 07/51] Fixed typo --- .../smart-contracts/plutus-data/src/registered_candidates.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs b/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs index f967aec604..6a95a2b57b 100644 --- a/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs +++ b/toolkit/smart-contracts/plutus-data/src/registered_candidates.rs @@ -174,8 +174,8 @@ fn decode_legacy_register_validator_datum(datum: &PlutusData) -> Option Date: Mon, 26 May 2025 20:45:15 +0200 Subject: [PATCH 08/51] Dummy support for queued_validators --- .../partner-chains-session/src/lib.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/substrate-extensions/partner-chains-session/src/lib.rs b/substrate-extensions/partner-chains-session/src/lib.rs index 21d68263c5..3c6163ee53 100644 --- a/substrate-extensions/partner-chains-session/src/lib.rs +++ b/substrate-extensions/partner-chains-session/src/lib.rs @@ -413,10 +413,21 @@ impl Pallet { (ValidatorsAndKeys::::get(), false) }; + let (queued_validators, _changed) = + if let Some(queued_validators) = Self::new_session(session_index + 1) { + (queued_validators, true) + } else { + (ValidatorsAndKeys::::get(), false) + }; + T::SessionManager::start_session(session_index); Self::deposit_event(Event::NewSession { session_index }); - // TODO if possible, remove queued_validators from SessionHandler (both Aura and Grandpa aren't using them anyway) - T::SessionHandler::on_new_session::(changed, validators.as_ref(), &[]); + + T::SessionHandler::on_new_session::( + changed, + validators.as_ref(), + &queued_validators, + ); } /// Disable the validator of index `i`, returns `false` if the validator was already disabled. From e375c162bbe97ec95af0471e8290f950f517389e Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 26 May 2025 21:39:45 +0200 Subject: [PATCH 09/51] Revert "Dummy support for queued_validators" This reverts commit c327417727cb782a94b5599bfc3ec0d4868c00c5. --- .../partner-chains-session/src/lib.rs | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/substrate-extensions/partner-chains-session/src/lib.rs b/substrate-extensions/partner-chains-session/src/lib.rs index 3c6163ee53..21d68263c5 100644 --- a/substrate-extensions/partner-chains-session/src/lib.rs +++ b/substrate-extensions/partner-chains-session/src/lib.rs @@ -413,21 +413,10 @@ impl Pallet { (ValidatorsAndKeys::::get(), false) }; - let (queued_validators, _changed) = - if let Some(queued_validators) = Self::new_session(session_index + 1) { - (queued_validators, true) - } else { - (ValidatorsAndKeys::::get(), false) - }; - T::SessionManager::start_session(session_index); Self::deposit_event(Event::NewSession { session_index }); - - T::SessionHandler::on_new_session::( - changed, - validators.as_ref(), - &queued_validators, - ); + // TODO if possible, remove queued_validators from SessionHandler (both Aura and Grandpa aren't using them anyway) + T::SessionHandler::on_new_session::(changed, validators.as_ref(), &[]); } /// Disable the validator of index `i`, returns `false` if the validator was already disabled. From c8d039d12461c93c4ac8babbfb631dc73021a3cd Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Tue, 27 May 2025 10:30:34 +0200 Subject: [PATCH 10/51] Local environment configuration --- .../partner-chains-node-1/entrypoint.sh | 1 + .../partner-chains-node-1/keys/beefy.skey | 1 + .../partner-chains-node-1/keys/beefy.vkey | 1 + .../partner-chains-node-2/keys/beefy.skey | 1 + .../partner-chains-node-2/keys/beefy.vkey | 1 + .../partner-chains-node-3/keys/beefy.skey | 1 + .../partner-chains-node-3/keys/beefy.vkey | 1 + .../partner-chains-node-4/keys/beefy.skey | 1 + .../partner-chains-node-4/keys/beefy.vkey | 1 + ...caa455dade51b13ed16f23cdad11d1ad6af20103391180 | 1 + .../partner-chains-node-5/keys/beefy.skey | 1 + .../partner-chains-node-5/keys/beefy.vkey | 1 + ...bc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af | 1 + .../partner-chains-setup/entrypoint.sh | 15 ++++++++++++--- 14 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keystore/62656566039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keystore/626565660364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh index 07e69b9099..a1aa249c2a 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh @@ -21,6 +21,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --base-path=/data \ --unsafe-rpc-external \ --rpc-port=9933 \ + -lbeefy=trace \ --rpc-cors=all \ --prometheus-port=9615 \ --prometheus-external \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey new file mode 100644 index 0000000000..cb37714818 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey @@ -0,0 +1 @@ +cb6df9de1efca7a3998a8ead4e02159d5fa99c3e0d4fd6432667390bb4726854 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey new file mode 100644 index 0000000000..1e919d457e --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey @@ -0,0 +1 @@ +020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey new file mode 100644 index 0000000000..13f8860716 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey @@ -0,0 +1 @@ +79c3b7fc0b7697b9414cb87adcb37317d1cab32818ae18c0e97ad76395d1fdcf \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey new file mode 100644 index 0000000000..bd97f2a6e6 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey @@ -0,0 +1 @@ +0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey new file mode 100644 index 0000000000..7103679de5 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey @@ -0,0 +1 @@ +f8d74108dbe199c4a6e4ef457046db37c325ba3f709b14cabfa1885663e4c589 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey new file mode 100644 index 0000000000..a46a184c80 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey @@ -0,0 +1 @@ +0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey new file mode 100644 index 0000000000..f643ed3d6d --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey @@ -0,0 +1 @@ +94770ab89fcddc8d3df4c81e730124e31779861f1e7805e716b1595e8372bf86 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey new file mode 100644 index 0000000000..4717d70be2 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey @@ -0,0 +1 @@ +039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keystore/62656566039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keystore/62656566039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 new file mode 100644 index 0000000000..83ba8240b9 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keystore/62656566039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 @@ -0,0 +1 @@ +"volume wire damp response scene tape truck easily enjoy shaft face message" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey new file mode 100644 index 0000000000..d8825cd2e1 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey @@ -0,0 +1 @@ +8a8c8a48b0838155fbb024f198f87cff8dc08fadac7bc8037f8420c74c2d8ac4 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey new file mode 100644 index 0000000000..b190f842d7 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey @@ -0,0 +1 @@ +0364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keystore/626565660364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keystore/626565660364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af new file mode 100644 index 0000000000..88ecf2a3f2 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keystore/626565660364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af @@ -0,0 +1 @@ +"victory horse scatter empty silly live royal differ friend nurse poverty benefit" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index 070eb478a9..758565d261 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -87,15 +87,17 @@ echo "Inserting permissioned candidates for Alice and Bob..." alice_sidechain_vkey=$(cat /partner-chains-nodes/partner-chains-node-1/keys/sidechain.vkey) alice_aura_vkey=$(cat /partner-chains-nodes/partner-chains-node-1/keys/aura.vkey) +alice_beefy_vkey=$(cat /partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey) alice_grandpa_vkey=$(cat /partner-chains-nodes/partner-chains-node-1/keys/grandpa.vkey) bob_sidechain_vkey=$(cat /partner-chains-nodes/partner-chains-node-2/keys/sidechain.vkey) bob_aura_vkey=$(cat /partner-chains-nodes/partner-chains-node-2/keys/aura.vkey) +bob_beefy_vkey=$(cat /partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey) bob_grandpa_vkey=$(cat /partner-chains-nodes/partner-chains-node-2/keys/grandpa.vkey) cat < permissioned_candidates.csv -$alice_sidechain_vkey:$alice_aura_vkey:$alice_grandpa_vkey -$bob_sidechain_vkey:$bob_aura_vkey:$bob_grandpa_vkey +$alice_sidechain_vkey:$alice_aura_vkey:$alice_beefy_vkey:$alice_grandpa_vkey +$bob_sidechain_vkey:$bob_aura_vkey:$bob_beefy_vkey:$bob_grandpa_vkey EOF ./partner-chains-node smart-contracts upsert-permissioned-candidates \ @@ -131,6 +133,7 @@ dave_spo_signature=$(echo "$dave_output" | jq -r ".spo_signature") dave_sidechain_public_key=$(echo "$dave_output" | jq -r ".sidechain_public_key") dave_sidechain_signature=$(echo "$dave_output" | jq -r ".sidechain_signature") dave_aura_vkey=$(cat /partner-chains-nodes/partner-chains-node-4/keys/aura.vkey) +dave_beefy_vkey=$(cat /partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey) dave_grandpa_vkey=$(cat /partner-chains-nodes/partner-chains-node-4/keys/grandpa.vkey) # Register Dave @@ -139,7 +142,7 @@ dave_grandpa_vkey=$(cat /partner-chains-nodes/partner-chains-node-4/keys/grandpa --genesis-utxo $GENESIS_UTXO \ --spo-public-key $dave_spo_public_key \ --spo-signature $dave_spo_signature \ - --sidechain-public-keys $dave_sidechain_public_key:$dave_aura_vkey:$dave_grandpa_vkey \ + --sidechain-public-keys $dave_sidechain_public_key:$dave_aura_vkey:$dave_beefy_vkey:$dave_grandpa_vkey \ --sidechain-signature $dave_sidechain_signature \ --registration-utxo $dave_utxo \ --payment-key-file /partner-chains-nodes/partner-chains-node-4/keys/payment.skey @@ -200,6 +203,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5C7C2Z5sWbytvHpuLTvzKunnnRwQxft1jiqrLD5rhucQ5S9X", { "aura": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "beefy": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", "grandpa": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu" } ], @@ -207,6 +211,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5DVskgSC9ncWQpxFMeUn45NU43RUq93ByEge6ApbnLk6BR9N", { "aura": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", "grandpa": "5GoNkf6WdbxCFnPdAnYYQyCjAKPJgLNxXwPjwTh6DGg6gN3E" } ], @@ -214,6 +219,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5EP2cMaCxLzhfD3aFAqqgu3kfXH7GcwweEv6JXZRP6ysRHkQ", { "aura": "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + "beefy": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", "grandpa": "5DbKjhNLpqX3zqZdNBc9BGb4fHU1cRBaDhJUskrvkwfraDi6" } ] @@ -226,6 +232,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", "keys": { "aura": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", + "beefy": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", "grandpa": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu" } } @@ -235,6 +242,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", "keys": { "aura": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", + "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", "grandpa": "5GoNkf6WdbxCFnPdAnYYQyCjAKPJgLNxXwPjwTh6DGg6gN3E" } } @@ -244,6 +252,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", "keys": { "aura": "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", + "beefy": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", "grandpa": "5DbKjhNLpqX3zqZdNBc9BGb4fHU1cRBaDhJUskrvkwfraDi6" } } From c611d05e323a2f18b44abc0efcc925e0ea7910a2 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Wed, 28 May 2025 10:20:47 +0200 Subject: [PATCH 11/51] Removed redundant code --- demo/node/src/service.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index f75dcb61bc..4bede08518 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -441,17 +441,13 @@ pub async fn new_full Date: Wed, 28 May 2025 10:22:06 +0200 Subject: [PATCH 12/51] Additional logs for other nodes --- .../partner-chains-nodes/partner-chains-node-2/entrypoint.sh | 1 + .../partner-chains-nodes/partner-chains-node-3/entrypoint.sh | 1 + .../partner-chains-nodes/partner-chains-node-4/entrypoint.sh | 1 + .../partner-chains-nodes/partner-chains-node-5/entrypoint.sh | 1 + 4 files changed, 4 insertions(+) diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh index 1a3eba7b74..a265133626 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh @@ -23,6 +23,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --unsafe-rpc-external \ --rpc-port=9934 \ --rpc-cors=all \ + -lbeefy=trace \ --prometheus-port=9616 \ --prometheus-external \ --state-pruning=archive \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/entrypoint.sh index d7ec789b04..a0f978d333 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/entrypoint.sh @@ -23,6 +23,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --unsafe-rpc-external \ --rpc-port=9935 \ --rpc-cors=all \ + -lbeefy=trace \ --prometheus-port=9617 \ --prometheus-external \ --state-pruning=archive \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/entrypoint.sh index 6a97cc01aa..a2d1915fe2 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/entrypoint.sh @@ -24,6 +24,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --unsafe-rpc-external \ --rpc-port=9936 \ --rpc-cors=all \ + -lbeefy=trace \ --prometheus-port=9618 \ --prometheus-external \ --state-pruning=archive \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/entrypoint.sh index e15d9c54cc..68b9774056 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/entrypoint.sh @@ -24,6 +24,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --unsafe-rpc-external \ --rpc-port=9937 \ --rpc-cors=all \ + -lbeefy=trace \ --prometheus-port=9619 \ --prometheus-external \ --state-pruning=archive \ From 24385ff2b7dad019db78bf05b9f2da52d1d8c195 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Wed, 28 May 2025 10:53:24 +0200 Subject: [PATCH 13/51] Reduce committee to 2 permissioned 0 registered to avoid duplicated authorities --- .../partner-chains-setup/entrypoint.sh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index 758565d261..f5c3a50ba5 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -214,14 +214,6 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", "grandpa": "5GoNkf6WdbxCFnPdAnYYQyCjAKPJgLNxXwPjwTh6DGg6gN3E" } - ], - [ - "5EP2cMaCxLzhfD3aFAqqgu3kfXH7GcwweEv6JXZRP6ysRHkQ", - { - "aura": "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - "beefy": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", - "grandpa": "5DbKjhNLpqX3zqZdNBc9BGb4fHU1cRBaDhJUskrvkwfraDi6" - } ] ]' chain-spec.json > tmp.json && mv tmp.json chain-spec.json @@ -246,16 +238,6 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "grandpa": "5GoNkf6WdbxCFnPdAnYYQyCjAKPJgLNxXwPjwTh6DGg6gN3E" } } - }, - { - "Permissioned": { - "id": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", - "keys": { - "aura": "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y", - "beefy": "KWBpGtyJLBkJERdZT1a1uu19c2uPpZm9nFd8SGtCfRUAT3Y4w", - "grandpa": "5DbKjhNLpqX3zqZdNBc9BGb4fHU1cRBaDhJUskrvkwfraDi6" - } - } } ]' chain-spec.json > tmp.json && mv tmp.json chain-spec.json From db5d1b7f9533ff9f34bfa26b515968e9c383aed7 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Wed, 28 May 2025 22:10:47 +0200 Subject: [PATCH 14/51] Bump spec_version --- demo/runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index 5bf47def78..dffcddd349 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -201,7 +201,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 170, + spec_version: 171, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 088aab90f06b39a340456be66f1934894e69e141 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Thu, 29 May 2025 19:06:10 +0200 Subject: [PATCH 15/51] Integrate BeefyMmrApi --- demo/runtime/src/lib.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index dffcddd349..14e2da9154 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -659,8 +659,8 @@ impl pallet_beefy::Config for Runtime { type MaxAuthorities = MaxValidators; type MaxNominators = ConstU32<0>; type MaxSetIdSessionEntries = BeefySetIdSessionEntries; - type OnNewValidatorSet = MmrLeaf; - type AncestryHelper = MmrLeaf; + type OnNewValidatorSet = BeefyMmrLeaf; + type AncestryHelper = BeefyMmrLeaf; type WeightInfo = (); type KeyOwnerProof = sp_session::MembershipProof; // TODO: disabled equivocations, they require additional modules like Offences and full Session pallet @@ -734,7 +734,7 @@ construct_runtime!( Mmr: pallet_mmr, // MMR leaf construction must be after session in order to have a leaf's next_auth_set // refer to block. See issue polkadot-fellows/runtimes#160 for details. - MmrLeaf: pallet_beefy_mmr, + BeefyMmrLeaf: pallet_beefy_mmr, TestHelperPallet: crate::test_helper_pallet, } ); @@ -1048,7 +1048,7 @@ impl_runtime_apis! { ) -> Option { use sp_consensus_beefy::AncestryHelper; - MmrLeaf::generate_proof(prev_block_number, best_known_block_number) + BeefyMmrLeaf::generate_proof(prev_block_number, best_known_block_number) .map(|p| p.encode()) .map(sp_runtime::OpaqueValue::new) } @@ -1104,6 +1104,16 @@ impl_runtime_apis! { } } + impl pallet_beefy_mmr::BeefyMmrApi for RuntimeApi { + fn authority_set_proof() -> sp_consensus_beefy::mmr::BeefyAuthoritySet { + BeefyMmrLeaf::authority_set_proof() + } + + fn next_authority_set_proof() -> sp_consensus_beefy::mmr::BeefyNextAuthoritySet { + BeefyMmrLeaf::next_authority_set_proof() + } + } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata(extra: bool) -> ( From de9f411b7fb407bfd77a20810638b3d6aa4e9c0b Mon Sep 17 00:00:00 2001 From: Taylor Gunnoe Date: Tue, 6 May 2025 10:09:09 -0400 Subject: [PATCH 16/51] feat: add nix build --- dev/nix/nixos/default.nix | 3 + dev/nix/nixos/module-list.nix | 4 + dev/nix/nixos/partner-chains-service.nix | 257 +++++++++++++++++++++++ dev/nix/packages/default.nix | 113 ++++++++++ dev/nix/shell.nix | 123 +++++++++++ rust-toolchain.toml | 2 +- 6 files changed, 501 insertions(+), 1 deletion(-) create mode 100644 dev/nix/nixos/default.nix create mode 100644 dev/nix/nixos/module-list.nix create mode 100644 dev/nix/nixos/partner-chains-service.nix create mode 100644 dev/nix/packages/default.nix create mode 100644 dev/nix/shell.nix diff --git a/dev/nix/nixos/default.nix b/dev/nix/nixos/default.nix new file mode 100644 index 0000000000..a3bd251517 --- /dev/null +++ b/dev/nix/nixos/default.nix @@ -0,0 +1,3 @@ +{ + imports = import ./module-list.nix; +} diff --git a/dev/nix/nixos/module-list.nix b/dev/nix/nixos/module-list.nix new file mode 100644 index 0000000000..48e75ab4be --- /dev/null +++ b/dev/nix/nixos/module-list.nix @@ -0,0 +1,4 @@ + +[ + ./partner-chains-service.nix +] diff --git a/dev/nix/nixos/partner-chains-service.nix b/dev/nix/nixos/partner-chains-service.nix new file mode 100644 index 0000000000..ee65fc38c2 --- /dev/null +++ b/dev/nix/nixos/partner-chains-service.nix @@ -0,0 +1,257 @@ +# Partner Chains Node NixOS module +{self, ...}: +{ + flake.nixosModules.partner-chains = + { config, lib, pkgs, ... }: + + with lib; + + let + cfg = config.services.partner-chains; + in { + options.services.partner-chains = { + enable = mkEnableOption "Partner Chains Node"; + + # Common environment variables + environment = mkOption { + type = types.attrsOf types.str; + default = { + CARDANO_SECURITY_PARAMETER = "432"; + CARDANO_ACTIVE_SLOTS_COEFF = "0.05"; + DB_SYNC_POSTGRES_CONNECTION_STRING = "postgresql://cexplorer:password@localhost:5432/cexplorer"; + MC__FIRST_EPOCH_TIMESTAMP_MILLIS = "1666656000000"; + MC__EPOCH_DURATION_MILLIS = "86400000"; + MC__SLOT_DURATION_MILLIS = "1000"; + MC__FIRST_EPOCH_NUMBER = "0"; + MC__FIRST_SLOT_NUMBER = "0"; + BLOCK_STABILITY_MARGIN = "0"; + }; + description = "Environment variables for the partner chains node"; + }; + + # Node-specific options + nodeName = mkOption { + type = types.nullOr types.str; + default = null; + example = "alice"; + description = "Node name flag (--alice, --bob, --charlie, etc.)"; + }; + + nodeKey = mkOption { + type = types.str; + example = "0a04cb23cff606facb13ddd43655840e9f6f32bd7b432809620d461596e188e9"; + description = "Node key for identification"; + }; + + chainSpecPath = mkOption { + type = types.path; + default = "/var/lib/partner-chains/chain-spec.json"; + description = "Path to the chain specification file"; + }; + + keystorePath = mkOption { + type = types.path; + default = "/var/lib/partner-chains/keystore"; + description = "Path to the keystore directory"; + }; + + listenAddr = mkOption { + type = types.str; + default = "/ip4/0.0.0.0/tcp/30333"; + description = "Address to listen on"; + }; + + prometheusPort = mkOption { + type = types.int; + default = 9615; + description = "Prometheus metrics port"; + }; + + rpcPort = mkOption { + type = types.int; + default = 9944; + description = "RPC server port"; + }; + + logLevel = mkOption { + type = types.str; + default = "runtime=debug"; + description = "Log level configuration"; + }; + + reservedNodes = mkOption { + type = types.listOf types.str; + default = []; + example = ["/dns/dave.node.sc.iog.io/tcp/30333/p2p/12D3KooWH4LhgJDUbYbXsksQef4jTpDjA64ecUBjBVJprNzF64hE"]; + description = "List of reserved nodes"; + }; + + bootNodes = mkOption { + type = types.listOf types.str; + default = []; + example = ["/dns/eve.node.sc.iog.io/tcp/30333/p2p/12D3KooWN3YiYbk9nMZJ2VG7uk9iKfFWb1Kwrj7PoMdadfnAsRJm"]; + description = "List of boot nodes"; + }; + + extraArgs = mkOption { + type = types.listOf types.str; + default = []; + example = ["--rpc-methods=unsafe" "--rpc-max-connections" "1000"]; + description = "Additional command line arguments"; + }; + + enableRpc = mkOption { + type = types.bool; + default = false; + description = "Enable RPC server"; + }; + + rpcCors = mkOption { + type = types.str; + default = "all"; + description = "RPC CORS setting"; + }; + + blockBeneficiary = mkOption { + type = types.str; + example = "0a04cb23cff606facb13ddd43655840e9f6f32bd7b432809620d461596e188e9"; + description = "Sidechain block beneficiary address"; + }; + + package = mkOption { + type = types.package; + default = pkgs.partner-chains.packages.x86_64-linux.partner-chains; + description = "The partner-chains package to use"; + }; + + # New options + enableValidator = mkOption { + type = types.bool; + default = false; + description = "Enable validator mode"; + }; + + pruning = mkOption { + type = types.enum [ "default" "archive" ]; + default = "default"; + description = "Pruning mode for the blockchain data"; + }; + }; + + config = mkIf cfg.enable { + systemd.services.partner-chains = { + description = "Partner Chains Node"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + # Combine the default environment with any overrides + environment = cfg.environment // { + SIDECHAIN_BLOCK_BENEFICIARY = cfg.blockBeneficiary; + }; + + preStart = '' + # Ensure directories exist + mkdir -p ${dirOf cfg.chainSpecPath} + mkdir -p ${cfg.keystorePath} + + # Create a default chain spec if it doesn't exist + if [ ! -f "${cfg.chainSpecPath}" ]; then + echo "Chain spec file does not exist at ${cfg.chainSpecPath}" + echo "Creating a minimal placeholder. Please ensure a proper chain spec is configured." + echo '{"name": "partner-chains", "id": "partner-chains"}' > ${cfg.chainSpecPath} + fi + + # Set proper permissions + chown -R partner-chains:partner-chains ${dirOf cfg.chainSpecPath} + chown -R partner-chains:partner-chains ${cfg.keystorePath} + chmod 750 ${dirOf cfg.chainSpecPath} + chmod 750 ${cfg.keystorePath} + chmod 640 ${cfg.chainSpecPath} + + # Create data directories with proper permissions + DATA_DIR=$(dirname ${cfg.keystorePath}) + if [ ! -d "$DATA_DIR" ]; then + mkdir -p $DATA_DIR + chown -R partner-chains:partner-chains $DATA_DIR + chmod -R 750 $DATA_DIR + fi + ''; + + serviceConfig = let + # Node name flag (--alice, --bob, etc.) + nodeNameFlag = if cfg.nodeName != null then "--${cfg.nodeName}" else ""; + + # Reserved nodes flags + reservedNodesFlags = if cfg.reservedNodes != [] + then ["--reserved-only"] ++ (flatten (map (node: ["--reserved-nodes" node]) cfg.reservedNodes)) + else []; + + # Boot nodes flags + bootNodesFlags = flatten (map (node: ["--bootnodes" node]) cfg.bootNodes); + + # RPC flags + rpcFlags = if cfg.enableRpc + then ["--rpc-external" "--rpc-cors=${cfg.rpcCors}" "--rpc-port" (toString cfg.rpcPort)] + else []; + + # Pruning flags + pruningFlags = if cfg.pruning == "archive" + then ["--state-pruning" "archive" "--blocks-pruning" "archive"] + else []; + + # Combine all arguments + allArgs = + [nodeNameFlag] + ++ (optional cfg.enableValidator "--validator") + ++ ["--node-key" cfg.nodeKey] + ++ ["--chain" cfg.chainSpecPath] + ++ reservedNodesFlags + ++ bootNodesFlags + ++ ["-llibp2p=debug"] + ++ ["--listen-addr" cfg.listenAddr] + ++ ["--keystore-path" cfg.keystorePath] + ++ ["--log" cfg.logLevel] + ++ ["--prometheus-port" (toString cfg.prometheusPort)] + ++ ["--prometheus-external"] + ++ rpcFlags + ++ pruningFlags + ++ cfg.extraArgs; + + # Filter out empty strings (from nodeNameFlag if it's empty) + cleanArgs = filter (arg: arg != "") allArgs; + in { + ExecStart = "${cfg.package}/bin/partner-chains-node ${concatStringsSep " " cleanArgs}"; + + # Important! Create a StateDirectory for persistent storage + StateDirectory = "partner-chains"; + + # This ensures systemd captures all stdout/stderr + StandardOutput = "journal"; + StandardError = "journal"; + + # Security hardening + User = "partner-chains"; + Group = "partner-chains"; + Restart = "always"; + RestartSec = "10s"; + LimitNOFILE = 65535; + }; + }; + + # Create the user/group + users.users.partner-chains = { + isSystemUser = true; + group = "partner-chains"; + home = "/var/lib/partner-chains"; + createHome = true; + }; + users.groups.partner-chains = {}; + + # Open firewall ports + networking.firewall.allowedTCPPorts = [ + 30333 # P2P port + cfg.prometheusPort + ] ++ (optionals cfg.enableRpc [ cfg.rpcPort ]); + }; + }; +} \ No newline at end of file diff --git a/dev/nix/packages/default.nix b/dev/nix/packages/default.nix new file mode 100644 index 0000000000..e054a2eff8 --- /dev/null +++ b/dev/nix/packages/default.nix @@ -0,0 +1,113 @@ +{ + self, + inputs, + system, + ... +}: { + perSystem = { + inputs', + self', + lib, + pkgs, + system, + ... + }: let + flake-compat = import inputs.flake-compat; + cardanoPackages = (flake-compat { src = inputs.cardano-node; }).defaultNix.packages.${system}; + dbSyncPackages = (flake-compat { src = inputs.cardano-dbsync; }).defaultNix.packages.${system}; + fenixPkgs = inputs'.fenix.packages; + rustToolchain = with fenixPkgs; + fromToolchainFile { + file = ../../../rust-toolchain.toml; + sha256 = "X/4ZBHO3iW0fOenQ3foEvscgAPJYl2abspaBThDOukI="; + }; + customRustPlatform = pkgs.makeRustPlatform { + cargo = rustToolchain; + rustc = rustToolchain; + }; + + in { + packages = { + inherit (cardanoPackages) cardano-node cardano-cli cardano-testnet; + inherit (dbSyncPackages) "cardano-db-sync:exe:cardano-db-sync"; + ogmios = pkgs.callPackage ./ogmios.nix { }; + process-compose = pkgs.process-compose.overrideAttrs (oldAttrs: { + patches = [ ./pc.patch ]; + }); + partnerchains-stack = pkgs.callPackage ./partnerchains-stack { inherit (self'.packages) partnerchains-stack-unwrapped; }; + partnerchains-stack-unwrapped = pkgs.callPackage ./partnerchains-stack-unwrapped { }; + partner-chains = customRustPlatform.buildRustPackage rec { + pname = "partner-chains"; + version = "1.6"; + src = ../../../.; + preBuild = '' + export SUBSTRATE_CLI_GIT_COMMIT_HASH=${self.dirtyShortRev or self.shortRev} + ''; + + useFetchCargoVendor = true; + cargoHash = "sha256-y0sHdHicouV3rRw2i17kfFXKQJlFcu0rtsKXs2SNVX0="; + buildType = "production"; + #buildAndTestSubdir = dir; + doCheck = false; + patches = []; + + nativeBuildInputs = [ + pkgs.pkg-config + pkgs.protobuf + + pkgs.llvmPackages.lld + customRustPlatform.bindgenHook + ]; + buildInputs = [ + pkgs.rocksdb + pkgs.openssl + pkgs.libclang.lib + ] ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [ + pkgs.rust-jemalloc-sys-unprefixed + ] ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.SystemConfiguration + pkgs.darwin.apple_sdk.frameworks.Security + ]; + + postFixup = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux '' + patchelf --set-rpath "${pkgs.rocksdb}/lib:${pkgs.stdenv.cc.cc.lib}/lib" $out/bin/partner-chains-demo-node + ''; + + # Force skip support check in CC crate + #CRATE_CC_NO_DEFAULTS = "1"; + + # Platform-specific features + RUSTFLAGS = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isDarwin + "--cfg unwinding_backport --cfg unwinding_apple"; + + # Existing environment variables + CC_ENABLE_DEBUG_OUTPUT = "1"; + #CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "${pkgs.llvmPackages.lld}/bin/lld"; + #RUST_SRC_PATH = "${customRustPlatform.rustLibSrc}"; + LIBCLANG_PATH = "${pkgs.libclang.lib}/lib"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + rustToolchain + pkgs.stdenv.cc.cc + pkgs.libz + pkgs.clang + ]; + + # Platform-specific flags + CFLAGS = + if pkgs.lib.hasSuffix "linux" system then + "-DJEMALLOC_STRERROR_R_RETURNS_CHAR_WITH_GNU_SOURCE" + else + ""; + + PROTOC = "${pkgs.protobuf}/bin/protoc"; + ROCKSDB_LIB_DIR = "${pkgs.rocksdb}/lib/"; + OPENSSL_NO_VENDOR = 1; + OPENSSL_DIR = "${pkgs.openssl.dev}"; + OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include"; + OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.stdenv.cc.cc}/include -std=c++17"; + + }; + }; + }; +} diff --git a/dev/nix/shell.nix b/dev/nix/shell.nix new file mode 100644 index 0000000000..e703075d3a --- /dev/null +++ b/dev/nix/shell.nix @@ -0,0 +1,123 @@ +{ self, inputs, ... }: +{ + perSystem = + { + inputs', + self', + pkgs, + system, + ... + }: + let + isLinux = pkgs.lib.hasSuffix "linux" system; + isDarwin = pkgs.lib.hasSuffix "darwin" system; + fenixPkgs = inputs'.fenix.packages; + + rustToolchain = fenixPkgs.fromToolchainFile { + file = ../../rust-toolchain.toml; + sha256 = "X/4ZBHO3iW0fOenQ3foEvscgAPJYl2abspaBThDOukI="; + }; + + nightlyToolchain = + (fenixPkgs.toolchainOf { + channel = "nightly"; + date = "2025-04-27"; + sha256 = "sha256-DnyK5MS+xYySA+csnnMogu2gtEfyiy10W0ATmAvmjGg="; + }).withComponents + [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]; + + gen-cargo-docs = pkgs.writeScriptBin "gen-cargo-docs" '' + export PATH=${nightlyToolchain}/bin:$PATH + export RUST_SRC_PATH="${nightlyToolchain}/lib/rustlib/src/rust/library"; + export LD_LIBRARY_PATH=${ + pkgs.lib.makeLibraryPath [ + nightlyToolchain + pkgs.stdenv.cc.cc + pkgs.libz + ] + } + cargo --version + rustc --version + RUSTDOCFLAGS="--enable-index-page -Zunstable-options" SKIP_WASM_BUILD=1 ${nightlyToolchain}/bin/cargo doc --no-deps + ''; + + in + { + devShells = { + default = pkgs.mkShell { + # envs needed for rust toochain + RUST_SRC_PATH = "${rustToolchain}/lib/rustlib/src/rust/library"; + LIBCLANG_PATH = "${pkgs.libclang.lib}/lib"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + rustToolchain + pkgs.stdenv.cc.cc + pkgs.libz + ]; + # https://github.com/NixOS/nixpkgs/issues/370494#issuecomment-2625163369 + CFLAGS = if isLinux then "-DJEMALLOC_STRERROR_R_RETURNS_CHAR_WITH_GNU_SOURCE" else ""; + + # envs needed in order to construct some of the rust crates + ROCKSDB_LIB_DIR = "${pkgs.rocksdb}/lib/"; + OPENSSL_NO_VENDOR = 1; + OPENSSL_DIR = "${pkgs.openssl.dev}"; + OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include"; + OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib"; + + # Force skip support check of c++17 in CC crate +# CRATE_CC_NO_DEFAULTS = "1"; + + packages = + with pkgs; + [ + bashInteractive + + # core tooling to share across linux/macos + coreutils + pkg-config + protobuf + libiconv + openssl + gnumake + + # tools for e2e testing + docker-compose + python312 + python312Packages.pip + python312Packages.virtualenv + sops + + # local development tools + rustToolchain + gawk + cargo-edit + cargo-license + nixfmt-rfc-style + gen-cargo-docs + + # infra packages + earthly + awscli2 + kubectl + + # our local packages + self'.packages.cardano-cli + ] + ++ (if isDarwin then [ pkgs.darwin.apple_sdk.frameworks.SystemConfiguration ] else [ pkgs.clang ]); + }; + process-compose = pkgs.mkShell { + inputsFrom = [ self'.devShells.default ]; + packages = [ self'.packages.partnerchains-stack ]; + shellHook = '' + echo "Partner Chains dependency stack devshell"; + echo "useage: -n to specify networks." + ''; + }; + }; + }; +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b11c082ac5..16b2cd699c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -10,5 +10,5 @@ components = [ "rustc", "rustfmt", ] -targets = ["wasm32-unknown-unknown"] +targets = ["wasm32v1-none"] profile = "minimal" From af650457a8d67534c4782fed466badf3e1b2a6fa Mon Sep 17 00:00:00 2001 From: Taylor Gunnoe Date: Mon, 2 Jun 2025 11:21:08 -0400 Subject: [PATCH 17/51] Update nix build to reflect recent changes on master --- flake.nix | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/flake.nix b/flake.nix index 4c6461af08..79e4d39f2f 100644 --- a/flake.nix +++ b/flake.nix @@ -43,8 +43,84 @@ isLinux = pkgs.stdenv.isLinux; isDarwin = pkgs.stdenv.isDarwin; + customRustPlatform = pkgs.makeRustPlatform { + cargo = rustToolchain; + rustc = rustToolchain; + }; in { + packages.partner-chains = customRustPlatform.buildRustPackage rec { + pname = "partner-chains"; + version = "1.7"; + src = ./.; + # preBuild = '' + # export SUBSTRATE_CLI_GIT_COMMIT_HASH=${dirtyShortRev or shortRev} + # ''; + + useFetchCargoVendor = true; + cargoHash = "sha256-evSP89WBwPl2jL43/ddZWyt+CgxRR9Xst1mGn8bKKgo="; + buildType = "production"; + #buildAndTestSubdir = dir; + doCheck = false; + patches = []; + + nativeBuildInputs = [ + pkgs.pkg-config + pkgs.protobuf + + pkgs.llvmPackages.lld + customRustPlatform.bindgenHook + ]; + buildInputs = [ + pkgs.rocksdb + pkgs.openssl + pkgs.libclang.lib + ] ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [ + pkgs.rust-jemalloc-sys-unprefixed + ] ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [ + pkgs.darwin.apple_sdk.frameworks.SystemConfiguration + pkgs.darwin.apple_sdk.frameworks.Security + ]; + + postFixup = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux '' + patchelf --set-rpath "${pkgs.rocksdb}/lib:${pkgs.stdenv.cc.cc.lib}/lib" $out/bin/partner-chains-demo-node + ''; + + # Force skip support check in CC crate + #CRATE_CC_NO_DEFAULTS = "1"; + + # Platform-specific features + RUSTFLAGS = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isDarwin + "--cfg unwinding_backport --cfg unwinding_apple"; + + # Existing environment variables + CC_ENABLE_DEBUG_OUTPUT = "1"; + #CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "${pkgs.llvmPackages.lld}/bin/lld"; + #RUST_SRC_PATH = "${customRustPlatform.rustLibSrc}"; + LIBCLANG_PATH = "${pkgs.libclang.lib}/lib"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + rustToolchain + pkgs.stdenv.cc.cc + pkgs.libz + pkgs.clang + ]; + + # Platform-specific flags + CFLAGS = + if pkgs.lib.hasSuffix "linux" system then + "-DJEMALLOC_STRERROR_R_RETURNS_CHAR_WITH_GNU_SOURCE" + else + ""; + + PROTOC = "${pkgs.protobuf}/bin/protoc"; + ROCKSDB_LIB_DIR = "${pkgs.rocksdb}/lib/"; + OPENSSL_NO_VENDOR = 1; + OPENSSL_DIR = "${pkgs.openssl.dev}"; + OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include"; + OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.stdenv.cc.cc}/include -std=c++17"; + + }; devShells.default = pkgs.mkShell { packages = with pkgs; From 7eb3b03169bcafe398e0971adc573c781f5fa9f7 Mon Sep 17 00:00:00 2001 From: Taylor Gunnoe Date: Mon, 2 Jun 2025 11:45:51 -0400 Subject: [PATCH 18/51] Update sha of cargo vendor dir --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 79e4d39f2f..4955146312 100644 --- a/flake.nix +++ b/flake.nix @@ -58,7 +58,7 @@ # ''; useFetchCargoVendor = true; - cargoHash = "sha256-evSP89WBwPl2jL43/ddZWyt+CgxRR9Xst1mGn8bKKgo="; + cargoHash = "sha256-k1GYY0eB/fRmAuWYlxLCGaAgJW89KLOiyiLBO2wtsZM="; buildType = "production"; #buildAndTestSubdir = dir; doCheck = false; From 5f561c0a667afd121096350f59063f723d01087b Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Thu, 5 Jun 2025 11:44:08 +0200 Subject: [PATCH 19/51] Moved from polkadot-stable2503-5 to custom hash from polkadot-sdk repo --- Cargo.lock | 1240 ++++++++++++++++++++++++++++++---------------------- Cargo.toml | 150 +++---- 2 files changed, 788 insertions(+), 602 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 781ccf2ad0..aa2b1c7200 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -116,9 +116,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -131,36 +131,36 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "once_cell", + "once_cell_polyfill", "windows-sys 0.59.0", ] @@ -504,6 +504,16 @@ version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" +[[package]] +name = "array-bytes" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d55334c98d756b32dcceb60248647ab34f027690f87f9a362fd292676ee927" +dependencies = [ + "smallvec", + "thiserror 2.0.12", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -618,9 +628,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" dependencies = [ "async-lock", "cfg-if", @@ -629,7 +639,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.44", + "rustix 1.0.7", "slab", "tracing", "windows-sys 0.59.0", @@ -824,9 +834,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bech32" @@ -861,8 +871,8 @@ dependencies = [ [[package]] name = "binary-merkle-tree" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "hash-db", "log", @@ -980,7 +990,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" dependencies = [ "byte-tools", - "crypto-mac 0.7.0", + "crypto-mac", "digest 0.8.1", "opaque-debug 0.2.3", ] @@ -1180,18 +1190,18 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ "serde", ] [[package]] name = "cardano-serialization-lib" -version = "14.1.1" +version = "14.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "259122c48b54ab1057c2cc65216171c5b3e3639df22f5ef07186ed7e131a373c" +checksum = "70a894086cb078655b52a9478ae50e1f7b11f3a16fb02e2f11fe63b63644462c" dependencies = [ "bech32 0.7.3", "cbor_event", @@ -1252,9 +1262,9 @@ checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" [[package]] name = "cc" -version = "1.2.22" +version = "1.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" +checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" dependencies = [ "jobserver", "libc", @@ -1409,9 +1419,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" dependencies = [ "clap_builder", "clap_derive", @@ -1419,9 +1429,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" dependencies = [ "anstream", "anstyle", @@ -1508,9 +1518,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" @@ -1561,9 +1571,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" dependencies = [ "cfg-if", "cpufeatures", @@ -1642,9 +1652,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -1805,6 +1815,21 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" version = "0.8.6" @@ -1849,7 +1874,7 @@ dependencies = [ "crossterm_winapi", "libc", "mio 0.8.11", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "signal-hook", "signal-hook-mio", "winapi", @@ -1903,16 +1928,6 @@ dependencies = [ "subtle 1.0.0", ] -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array 0.14.7", - "subtle 2.6.1", -] - [[package]] name = "cryptoxide" version = "0.4.4" @@ -2075,7 +2090,7 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -2435,27 +2450,6 @@ version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7454e41ff9012c00d53cf7f475c5e3afa3b91b7c90568495495e8d9bf47a1055" -[[package]] -name = "dyn-clonable" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a36efbb9bfd58e1723780aa04b61aba95ace6a05d9ffabfdb0b43672552f0805" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "dyn-clone" version = "1.0.19" @@ -2676,9 +2670,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -2797,7 +2791,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3" dependencies = [ "atomic", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pear", "serde", "tempfile", @@ -2849,7 +2843,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "scale-info", ] @@ -2896,8 +2890,8 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" -version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", ] @@ -2940,8 +2934,8 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" -version = "40.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "frame-support-procedural", @@ -2964,8 +2958,8 @@ dependencies = [ [[package]] name = "frame-executive" -version = "40.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "aquamarine", "frame-support", @@ -2982,9 +2976,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "20.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26de808fa6461f2485dc51811aefed108850064994fb4a62b3ac21ffa62ac8df" +checksum = "d8c26fcb0454397c522c05fdad5380c4e622f8a875638af33bff5a320d1fc965" dependencies = [ "cfg-if", "parity-scale-codec", @@ -2994,10 +2988,10 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "const-hex", "docify", "frame-support", @@ -3010,11 +3004,11 @@ dependencies = [ [[package]] name = "frame-support" -version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "aquamarine", - "array-bytes", + "array-bytes 6.2.3", "binary-merkle-tree", "bitflags 1.3.2", "docify", @@ -3051,8 +3045,8 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "33.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "Inflector", "cfg-expr", @@ -3071,8 +3065,8 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" -version = "13.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", @@ -3083,8 +3077,8 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "proc-macro2", "quote", @@ -3093,8 +3087,8 @@ dependencies = [ [[package]] name = "frame-system" -version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "cfg-if", "docify", @@ -3112,8 +3106,8 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-benchmarking", "frame-support", @@ -3126,8 +3120,8 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "parity-scale-codec", @@ -3136,8 +3130,8 @@ dependencies = [ [[package]] name = "frame-try-runtime" -version = "0.46.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "parity-scale-codec", @@ -3237,7 +3231,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -3332,6 +3326,20 @@ dependencies = [ "byteorder", ] +[[package]] +name = "generator" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +dependencies = [ + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.61.1", +] + [[package]] name = "generic-array" version = "0.12.4" @@ -3436,7 +3444,7 @@ dependencies = [ "futures-timer", "no-std-compat", "nonzero_ext", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "portable-atomic", "quanta", "rand 0.8.5", @@ -3605,12 +3613,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hermit-abi" version = "0.5.1" @@ -3675,6 +3677,31 @@ dependencies = [ "url", ] +[[package]] +name = "hickory-proto" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.9.1", + "ring 0.17.14", + "thiserror 2.0.12", + "tinyvec", + "tokio", + "tracing", + "url", +] + [[package]] name = "hickory-resolver" version = "0.24.4" @@ -3683,11 +3710,11 @@ checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" dependencies = [ "cfg-if", "futures-util", - "hickory-proto", + "hickory-proto 0.24.4", "ipconfig", "lru-cache", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "resolv-conf", "smallvec", @@ -3697,22 +3724,33 @@ dependencies = [ ] [[package]] -name = "hkdf" -version = "0.12.4" +name = "hickory-resolver" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ - "hmac 0.12.1", + "cfg-if", + "futures-util", + "hickory-proto 0.25.2", + "ipconfig", + "moka", + "once_cell", + "parking_lot 0.12.4", + "rand 0.9.1", + "resolv-conf", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tracing", ] [[package]] -name = "hmac" -version = "0.8.1" +name = "hkdf" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", + "hmac", ] [[package]] @@ -3724,17 +3762,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array 0.14.7", - "hmac 0.8.1", -] - [[package]] name = "home" version = "0.5.11" @@ -3865,11 +3892,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" dependencies = [ - "futures-util", "http 1.3.1", "hyper 1.6.0", "hyper-util", @@ -3883,12 +3909,13 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body 1.0.1", @@ -3913,7 +3940,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.0", + "windows-core 0.61.2", ] [[package]] @@ -3974,9 +4001,9 @@ checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", @@ -3990,9 +4017,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" @@ -4068,7 +4095,7 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows", + "windows 0.53.0", ] [[package]] @@ -4325,9 +4352,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806" +checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" dependencies = [ "jiff-static", "log", @@ -4338,9 +4365,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48" +checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" dependencies = [ "proc-macro2", "quote", @@ -4441,7 +4468,7 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "jsonrpsee-types", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "rustc-hash 2.1.1", @@ -4589,7 +4616,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] @@ -4600,7 +4627,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "regex", "rocksdb", "smallvec", @@ -4629,9 +4656,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libloading" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", "windows-targets 0.53.0", @@ -4717,7 +4744,7 @@ dependencies = [ "multihash 0.19.3", "multistream-select", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "quick-protobuf", "rand 0.8.5", @@ -4738,10 +4765,10 @@ checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" dependencies = [ "async-trait", "futures", - "hickory-resolver", + "hickory-resolver 0.24.4", "libp2p-core", "libp2p-identity", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "smallvec", "tracing", ] @@ -4824,7 +4851,7 @@ checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" dependencies = [ "data-encoding", "futures", - "hickory-proto", + "hickory-proto 0.24.4", "if-watch", "libp2p-core", "libp2p-identity", @@ -4912,7 +4939,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-tls", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "quinn", "rand 0.8.5", "ring 0.17.14", @@ -5042,7 +5069,7 @@ dependencies = [ "futures-rustls", "libp2p-core", "libp2p-identity", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project-lite", "rw-stream-sink", "soketto", @@ -5102,14 +5129,12 @@ dependencies = [ "arrayref", "base64 0.22.1", "digest 0.9.0", - "hmac-drbg", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.8.5", "serde", "sha2 0.9.9", - "typenum", ] [[package]] @@ -5233,9 +5258,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "litep2p" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71056c23c896bb0e18113b2d2f1989be95135e6bdeedb0b757422ee21a073eb" +checksum = "14fb10e63363204b89d91e1292df83322fd9de5d7fa76c3d5c78ddc2f8f3efa9" dependencies = [ "async-trait", "bs58", @@ -5244,14 +5269,14 @@ dependencies = [ "ed25519-dalek", "futures", "futures-timer", - "hickory-resolver", + "hickory-resolver 0.25.2", "indexmap 2.9.0", "libc", "mockall", "multiaddr 0.17.1", "multihash 0.17.0", "network-interface", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "prost 0.13.5", "prost-build", @@ -5280,9 +5305,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -5319,7 +5344,7 @@ dependencies = [ "log", "log-mdc", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "serde", "serde-value", @@ -5331,6 +5356,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + [[package]] name = "lru" version = "0.12.5" @@ -5507,20 +5545,21 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +checksum = "c6da20dba965bd218a14c3b335b90d3e07c09ede190c7c19b50deb23d418a322" dependencies = [ "hash-db", + "hashbrown 0.15.3", ] [[package]] name = "merkleized-metadata" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc9b7ac0ce054412d9a85ff39bac27aec27483b06cef8756b57d9c29d448d081" +checksum = "b3e3e3f549d27d2dc054372f320ddf68045a833fab490563ff70d4cf1b9d91ea" dependencies = [ - "array-bytes", + "array-bytes 9.3.0", "blake3", "frame-metadata", "parity-scale-codec", @@ -5613,13 +5652,13 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5638,7 +5677,7 @@ dependencies = [ "hashlink 0.8.4", "lioness", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "rand_chacha 0.3.1", "rand_distr", @@ -5673,6 +5712,25 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "moka" +version = "0.12.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "loom", + "parking_lot 0.12.4", + "portable-atomic", + "rustc_version", + "smallvec", + "tagptr", + "thiserror 1.0.69", + "uuid", +] + [[package]] name = "multiaddr" version = "0.17.1" @@ -5943,6 +6001,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -6076,11 +6143,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.5.1", "libc", ] @@ -6146,6 +6213,16 @@ name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +dependencies = [ + "critical-section", + "portable-atomic", +] + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "opaque-debug" @@ -6283,8 +6360,8 @@ dependencies = [ [[package]] name = "pallet-aura" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "frame-system", @@ -6299,8 +6376,8 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "frame-system", @@ -6312,8 +6389,8 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-benchmarking", "frame-support", @@ -6335,8 +6412,8 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "41.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "frame-benchmarking", @@ -6351,8 +6428,8 @@ dependencies = [ [[package]] name = "pallet-beefy" -version = "41.1.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "frame-system", @@ -6370,10 +6447,10 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" -version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "binary-merkle-tree", "frame-benchmarking", "frame-support", @@ -6519,8 +6596,8 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-benchmarking", "frame-support", @@ -6541,8 +6618,8 @@ dependencies = [ [[package]] name = "pallet-mmr" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "parity-scale-codec", @@ -6586,8 +6663,8 @@ dependencies = [ [[package]] name = "pallet-session" -version = "40.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-support", "frame-system", @@ -6705,8 +6782,8 @@ dependencies = [ [[package]] name = "pallet-sudo" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "frame-benchmarking", @@ -6720,8 +6797,8 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "frame-benchmarking", @@ -6731,7 +6808,6 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io", "sp-runtime", "sp-storage", "sp-timestamp", @@ -6739,8 +6815,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-benchmarking", "frame-support", @@ -6748,15 +6824,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", "sp-io", "sp-runtime", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6771,8 +6846,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6808,7 +6883,7 @@ dependencies = [ "log", "lz4", "memmap2 0.5.10", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "siphasher", "snap", @@ -6817,9 +6892,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -6834,9 +6909,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -6869,12 +6944,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.11", ] [[package]] @@ -6893,9 +6968,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -7475,8 +7550,8 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" -version = "0.9.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "frame-benchmarking", @@ -7510,9 +7585,9 @@ dependencies = [ [[package]] name = "polkavm" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd044ab1d3b11567ab6b98ca71259a992b4034220d5972988a0e96518e5d343d" +checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" dependencies = [ "libc", "log", @@ -7523,18 +7598,18 @@ dependencies = [ [[package]] name = "polkavm-assembler" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaad38dc420bfed79e6f731471c973ce5ff5e47ab403e63cf40358fef8a6368f" +checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" dependencies = [ "log", ] [[package]] name = "polkavm-common" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102" +checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" dependencies = [ "log", "polkavm-assembler", @@ -7542,18 +7617,18 @@ dependencies = [ [[package]] name = "polkavm-derive" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2eb703f3b6404c13228402e98a5eae063fd16b8f58afe334073ec105ee4117e" +checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" dependencies = [ "polkavm-derive-impl-macro", ] [[package]] name = "polkavm-derive-impl" -version = "0.18.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f2116a92e6e96220a398930f4c8a6cda1264206f3e2034fc9982bfd93f261f7" +checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" dependencies = [ "polkavm-common", "proc-macro2", @@ -7563,9 +7638,9 @@ dependencies = [ [[package]] name = "polkavm-derive-impl-macro" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b" +checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" dependencies = [ "polkavm-derive-impl", "syn 2.0.101", @@ -7573,9 +7648,9 @@ dependencies = [ [[package]] name = "polkavm-linker" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9bfe793b094d9ea5c99b7c43ba46e277b0f8f48f4bbfdbabf8d3ebf701a4bd3" +checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" dependencies = [ "dirs", "gimli 0.31.1", @@ -7589,21 +7664,21 @@ dependencies = [ [[package]] name = "polkavm-linux-raw" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23eff02c070c70f31878a3d915e88a914ecf3e153741e2fb572dde28cce20fde" +checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" [[package]] name = "polling" -version = "3.7.4" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi 0.5.1", "pin-project-lite", - "rustix 0.38.44", + "rustix 1.0.7", "tracing", "windows-sys 0.59.0", ] @@ -7721,9 +7796,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.32" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" dependencies = [ "proc-macro2", "syn 2.0.101", @@ -7829,7 +7904,7 @@ dependencies = [ "fnv", "lazy_static", "memchr", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "thiserror 1.0.69", ] @@ -7841,7 +7916,7 @@ checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "prometheus-client-derive-encode", ] @@ -8410,7 +8485,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", + "hmac", "subtle 2.6.1", ] @@ -8643,7 +8718,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ - "core-foundation 0.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "jni", "log", @@ -8687,9 +8762,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "rusty-fork" @@ -8740,8 +8815,8 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "sp-core", @@ -8751,8 +8826,8 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "futures", "log", @@ -8772,8 +8847,8 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "sp-api", @@ -8787,10 +8862,10 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "docify", "memmap2 0.9.5", "parity-scale-codec", @@ -8813,8 +8888,8 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -8824,10 +8899,10 @@ dependencies = [ [[package]] name = "sc-cli" -version = "0.51.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "chrono", "clap", "fdlimit", @@ -8866,14 +8941,14 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -8892,8 +8967,8 @@ dependencies = [ [[package]] name = "sc-client-db" -version = "0.46.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "hash-db", "kvdb", @@ -8903,7 +8978,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-state-db", "schnellru", @@ -8914,18 +8989,20 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-trie", + "substrate-prometheus-endpoint", + "sysinfo", ] [[package]] name = "sc-consensus" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", "log", "mockall", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-network-types", "sc-utils", @@ -8941,8 +9018,8 @@ dependencies = [ [[package]] name = "sc-consensus-aura" -version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", @@ -8970,16 +9047,16 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel", "async-trait", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-consensus", "sc-network", @@ -9004,14 +9081,14 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-consensus-beefy", "sc-rpc", "serde", @@ -9024,11 +9101,11 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "ahash", - "array-bytes", + "array-bytes 6.2.3", "async-trait", "dyn-clone", "finality-grandpa", @@ -9037,7 +9114,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "sc-block-builder", "sc-chain-spec", @@ -9068,8 +9145,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "finality-grandpa", "futures", @@ -9088,8 +9165,8 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", @@ -9111,11 +9188,11 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-executor-common", "sc-executor-polkavm", "sc-executor-wasmtime", @@ -9134,8 +9211,8 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "polkavm", "sc-allocator", @@ -9147,8 +9224,8 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "polkavm", @@ -9158,12 +9235,12 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" -version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "anyhow", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rustix 0.36.17", "sc-allocator", "sc-executor-common", @@ -9174,8 +9251,8 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "console", "futures", @@ -9190,11 +9267,11 @@ dependencies = [ [[package]] name = "sc-keystore" -version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", - "parking_lot 0.12.3", + "array-bytes 6.2.3", + "parking_lot 0.12.4", "serde_json", "sp-application-crypto", "sp-core", @@ -9204,10 +9281,10 @@ dependencies = [ [[package]] name = "sc-mixnet" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "arrayvec 0.7.6", "blake2 0.10.6", "bytes", @@ -9216,7 +9293,7 @@ dependencies = [ "log", "mixnet", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-network", "sc-network-types", @@ -9232,10 +9309,10 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.49.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel", "async-trait", "asynchronous-codec 0.6.2", @@ -9252,7 +9329,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "partial_sort", "pin-project", "prost 0.12.6", @@ -9282,8 +9359,8 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9292,8 +9369,8 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.49.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "ahash", "futures", @@ -9311,10 +9388,10 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel", "futures", "log", @@ -9332,10 +9409,10 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-channel", "async-trait", "fork-tree", @@ -9368,7 +9445,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-channel", "async-trait", @@ -9376,7 +9453,7 @@ dependencies = [ "futures-timer", "libp2p", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "sc-block-builder", "sc-client-api", @@ -9400,10 +9477,10 @@ dependencies = [ [[package]] name = "sc-network-transactions" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "futures", "log", "parity-scale-codec", @@ -9419,8 +9496,8 @@ dependencies = [ [[package]] name = "sc-network-types" -version = "0.15.3" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "bs58", "bytes", @@ -9444,7 +9521,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -9477,8 +9554,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.20.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9486,14 +9563,14 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "44.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -9518,8 +9595,8 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.48.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9538,8 +9615,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9562,10 +9639,10 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.49.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "futures", "futures-util", "hex", @@ -9573,7 +9650,7 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "sc-chain-spec", "sc-client-api", @@ -9587,6 +9664,7 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-version", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -9594,8 +9672,8 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.50.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "directories", @@ -9605,7 +9683,7 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "sc-chain-spec", @@ -9658,19 +9736,19 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.38.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.30.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sp-core", ] [[package]] name = "sc-sysinfo" -version = "42.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "derive_more 0.99.20", "futures", @@ -9689,14 +9767,14 @@ dependencies = [ [[package]] name = "sc-telemetry" -version = "28.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "sc-utils", @@ -9708,8 +9786,8 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "chrono", "console", @@ -9717,7 +9795,7 @@ dependencies = [ "libc", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rustc-hash 1.1.0", "sc-client-api", "sc-tracing-proc-macro", @@ -9736,8 +9814,8 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" -version = "11.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -9747,8 +9825,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", @@ -9756,9 +9834,8 @@ dependencies = [ "indexmap 2.9.0", "itertools 0.11.0", "linked-hash-map", - "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -9779,8 +9856,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", @@ -9796,23 +9873,23 @@ dependencies = [ [[package]] name = "sc-utils" -version = "18.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-channel", "futures", "futures-timer", "log", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "prometheus", "sp-arithmetic", ] [[package]] name = "scale-bits" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" +checksum = "27243ab0d2d6235072b017839c5f0cd1a3b1ce45c0f7a715363b0c7d36c76c94" dependencies = [ "parity-scale-codec", "scale-type-resolver", @@ -9820,15 +9897,15 @@ dependencies = [ [[package]] name = "scale-decode" -version = "0.13.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" +checksum = "4d78196772d25b90a98046794ce0fe2588b39ebdfbdc1e45b4c6c85dd43bebad" dependencies = [ - "derive_more 0.99.20", "parity-scale-codec", "scale-bits", "scale-type-resolver", "smallvec", + "thiserror 2.0.12", ] [[package]] @@ -9926,6 +10003,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -10025,7 +10108,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ "bitflags 2.9.1", - "core-foundation 0.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -10493,9 +10576,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -10519,8 +10602,8 @@ dependencies = [ [[package]] name = "sp-api" -version = "36.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "hash-db", @@ -10541,8 +10624,8 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "22.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10555,8 +10638,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "40.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -10567,8 +10650,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "26.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "integer-sqrt", @@ -10581,8 +10664,8 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "sp-api", "sp-inherents", @@ -10644,12 +10727,12 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "futures", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "schnellru", "sp-api", "sp-consensus", @@ -10663,8 +10746,8 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "futures", @@ -10677,8 +10760,8 @@ dependencies = [ [[package]] name = "sp-consensus-aura" -version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "parity-scale-codec", @@ -10693,8 +10776,8 @@ dependencies = [ [[package]] name = "sp-consensus-babe" -version = "0.42.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "parity-scale-codec", @@ -10711,8 +10794,8 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" -version = "24.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -10731,8 +10814,8 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" -version = "23.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "finality-grandpa", "log", @@ -10748,8 +10831,8 @@ dependencies = [ [[package]] name = "sp-consensus-slots" -version = "0.42.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -10759,16 +10842,16 @@ dependencies = [ [[package]] name = "sp-core" -version = "36.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "ark-vrf", - "array-bytes", + "array-bytes 6.2.3", "bitflags 1.3.2", "blake2 0.10.6", "bounded-collections", "bs58", - "dyn-clonable", + "dyn-clone", "ed25519-zebra", "futures", "hash-db", @@ -10781,7 +10864,7 @@ dependencies = [ "merlin", "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "paste", "primitive-types", "rand 0.8.5", @@ -10790,6 +10873,7 @@ dependencies = [ "secp256k1 0.28.2", "secrecy", "serde", + "sha2 0.10.9", "sp-crypto-hashing", "sp-debug-derive", "sp-externalities", @@ -10807,7 +10891,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "blake2b_simd", "byteorder", @@ -10820,7 +10904,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "quote", "sp-crypto-hashing", @@ -10830,16 +10914,16 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot 0.12.4", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "proc-macro2", "quote", @@ -10848,8 +10932,8 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "environmental", "parity-scale-codec", @@ -10858,8 +10942,8 @@ dependencies = [ [[package]] name = "sp-genesis-builder" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -10888,8 +10972,8 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -10901,8 +10985,8 @@ dependencies = [ [[package]] name = "sp-io" -version = "40.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "bytes", "docify", @@ -10927,8 +11011,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "41.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "sp-core", "sp-runtime", @@ -10937,11 +11021,11 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "sp-core", "sp-externalities", ] @@ -10949,7 +11033,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -10957,8 +11041,8 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -10967,8 +11051,8 @@ dependencies = [ [[package]] name = "sp-mixnet" -version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -10978,8 +11062,8 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" -version = "36.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "log", "parity-scale-codec", @@ -11014,8 +11098,8 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "sp-api", "sp-core", @@ -11024,8 +11108,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "13.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "backtrace", "regex", @@ -11045,8 +11129,8 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11055,8 +11139,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "41.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "31.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "binary-merkle-tree", "docify", @@ -11084,8 +11168,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "29.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11103,8 +11187,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "Inflector", "expander", @@ -11116,8 +11200,8 @@ dependencies = [ [[package]] name = "sp-session" -version = "38.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "scale-info", @@ -11189,8 +11273,8 @@ dependencies = [ [[package]] name = "sp-staking" -version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11202,13 +11286,13 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "smallvec", "sp-core", @@ -11222,8 +11306,8 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "20.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11247,12 +11331,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" [[package]] name = "sp-storage" -version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11263,8 +11347,8 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "parity-scale-codec", @@ -11275,8 +11359,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "tracing", @@ -11286,8 +11370,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "sp-api", "sp-runtime", @@ -11295,8 +11379,8 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "36.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "async-trait", "parity-scale-codec", @@ -11309,20 +11393,21 @@ dependencies = [ [[package]] name = "sp-trie" -version = "39.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "ahash", "hash-db", "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "rand 0.8.5", "scale-info", "schnellru", "sp-core", "sp-externalities", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing", "trie-db", @@ -11331,8 +11416,8 @@ dependencies = [ [[package]] name = "sp-version" -version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11348,8 +11433,8 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -11360,8 +11445,8 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "21.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11372,8 +11457,8 @@ dependencies = [ [[package]] name = "sp-weights" -version = "31.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11420,9 +11505,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -11433,9 +11518,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ "base64 0.22.1", "bigdecimal", @@ -11471,9 +11556,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", @@ -11484,9 +11569,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", @@ -11503,16 +11588,15 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn 2.0.101", - "tempfile", "tokio", "url", ] [[package]] name = "sqlx-mysql" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0afdd3aa7a629683c2d750c2df343025545087081ab5942593a5288855b1b7a7" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" dependencies = [ "atoi", "base64 0.22.1", @@ -11532,7 +11616,7 @@ dependencies = [ "generic-array 0.14.7", "hex", "hkdf", - "hmac 0.12.1", + "hmac", "itoa", "log", "md-5", @@ -11554,9 +11638,9 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64 0.22.1", @@ -11572,7 +11656,7 @@ dependencies = [ "futures-util", "hex", "hkdf", - "hmac 0.12.1", + "hmac", "home", "itoa", "log", @@ -11594,9 +11678,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "chrono", @@ -11646,15 +11730,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "static_init" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" dependencies = [ "bitflags 1.3.2", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "libc", - "parking_lot 0.11.2", - "parking_lot_core 0.8.6", + "parking_lot 0.12.4", + "parking_lot_core 0.9.11", "static_init_macro", "winapi", ] @@ -11738,10 +11822,10 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.4.7" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "hmac 0.12.1", + "hmac", "pbkdf2", "schnorrkel", "sha2 0.10.9", @@ -11751,12 +11835,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" [[package]] name = "substrate-frame-rpc-system" -version = "43.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11775,8 +11859,8 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.17.2" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11790,9 +11874,9 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "async-trait", "futures", "parity-scale-codec", @@ -11815,9 +11899,9 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "frame-executive", "frame-metadata-hash-extension", "frame-support", @@ -11839,6 +11923,7 @@ dependencies = [ "sp-consensus-grandpa", "sp-core", "sp-crypto-hashing", + "sp-debug-derive", "sp-externalities", "sp-genesis-builder", "sp-inherents", @@ -11859,7 +11944,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ "futures", "sc-block-builder", @@ -11876,10 +11961,10 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "26.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-5#f4dba53bfac614b054735aa725d2b0c44efda414" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" dependencies = [ - "array-bytes", + "array-bytes 6.2.3", "build-helper", "cargo_metadata", "console", @@ -11961,6 +12046,21 @@ dependencies = [ "syn 2.0.101", ] +[[package]] +name = "sysinfo" +version = "0.30.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +dependencies = [ + "cfg-if", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "rayon", + "windows 0.52.0", +] + [[package]] name = "system-configuration" version = "0.6.1" @@ -11982,6 +12082,12 @@ dependencies = [ "libc", ] +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + [[package]] name = "tap" version = "1.0.1" @@ -12041,7 +12147,7 @@ dependencies = [ "bollard-stubs", "futures", "hex", - "hmac 0.12.1", + "hmac", "log", "rand 0.8.5", "serde", @@ -12208,15 +12314,15 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.3", - "parking_lot 0.12.3", + "mio 1.0.4", + "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", "socket2", @@ -12467,7 +12573,7 @@ dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "regex", "sharded-slab", "smallvec", @@ -12781,6 +12887,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +[[package]] +name = "uuid" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +dependencies = [ + "getrandom 0.3.3", +] + [[package]] name = "valuable" version = "0.1.1" @@ -13376,6 +13491,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.53.0" @@ -13386,6 +13511,37 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.53.0" @@ -13398,17 +13554,28 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", "windows-link", - "windows-result 0.3.2", + "windows-result 0.3.4", "windows-strings", ] +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link", + "windows-threading", +] + [[package]] name = "windows-implement" version = "0.60.0" @@ -13437,6 +13604,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -13448,18 +13625,18 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ "windows-link", ] @@ -13562,6 +13739,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -13855,7 +14041,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.8.5", "static_assertions", @@ -13870,7 +14056,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot 0.12.4", "pin-project", "rand 0.9.1", "static_assertions", diff --git a/Cargo.toml b/Cargo.toml index 99544d6d67..c0f029e5ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -185,81 +185,81 @@ sqlx = { version = "0.8.5", default-features = false, features = [ derive-where = { version = "1.2.7", default-features = false } # substrate dependencies -frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } -substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2503-5" } +frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v7.2.1" } # local dependencies From b9a4e480c94a12da254eaaea1f0e42fe46e5e1bd Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Wed, 11 Jun 2025 09:30:22 +0200 Subject: [PATCH 20/51] Stub of historical --- demo/runtime/Cargo.toml | 2 +- demo/runtime/src/lib.rs | 18 ++++++++++++------ .../src/pallet_session_compat.rs | 16 ++++++++++++++-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/demo/runtime/Cargo.toml b/demo/runtime/Cargo.toml index bc231fa240..f49c9863d6 100644 --- a/demo/runtime/Cargo.toml +++ b/demo/runtime/Cargo.toml @@ -35,7 +35,7 @@ pallet-grandpa = { workspace = true } pallet-partner-chains-session = { workspace = true, features = [ "pallet-session-compat", ] } -pallet-session = { workspace = true } +pallet-session = { workspace = true, features = ["historical"] } pallet-sudo = { workspace = true } frame-system = { workspace = true } frame-try-runtime = { workspace = true, optional = true } diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index 14e2da9154..f7877c2300 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -20,6 +20,7 @@ use authority_selection_inherents::filter_invalid_candidates::{ use authority_selection_inherents::select_authorities::select_authorities; use frame_support::genesis_builder_helper::{build_state, get_preset}; use frame_support::inherent::ProvideInherent; +use frame_support::traits::KeyOwnerProofSystem; use frame_support::weights::constants::RocksDbWeight as RuntimeDbWeight; use frame_support::{ BoundedVec, construct_runtime, parameter_types, @@ -319,6 +320,12 @@ impl pallet_aura::Config for Runtime { pallet_partner_chains_session::impl_pallet_session_config!(Runtime); +impl pallet_session::historical::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type FullIdentification = (); + type FullIdentificationOf = (); +} + impl pallet_grandpa::Config for Runtime { type RuntimeEvent = RuntimeEvent; @@ -726,6 +733,7 @@ construct_runtime!( // Partner Chains session_manager ValidatorManagementSessionManager writes to pallet_session::pallet::CurrentIndex. // ValidatorManagementSessionManager is wired in by pallet_partner_chains_session. PalletSession: pallet_session, + Historical: pallet_session::historical, // The order matters!! pallet_partner_chains_session needs to come last for correct initialization order Session: pallet_partner_chains_session, NativeTokenManagement: pallet_native_token_management, @@ -1033,13 +1041,11 @@ impl_runtime_apis! { fn generate_key_ownership_proof( _set_id: sp_consensus_beefy::ValidatorSetId, - _authority_id: BeefyId, + authority_id: BeefyId, ) -> Option { - // TODO: right now we don't have historical module of session pallet - None - // Historical::prove((sp_consensus_beefy::KEY_TYPE, authority_id)) - // .map(|p| p.encode()) - // .map(sp_consensus_beefy::OpaqueKeyOwnershipProof::new) + Historical::prove((sp_consensus_beefy::KEY_TYPE, authority_id)) + .map(|p| p.encode()) + .map(sp_consensus_beefy::OpaqueKeyOwnershipProof::new) } fn generate_ancestry_proof( diff --git a/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs b/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs index bf1a306d38..802dcf8076 100644 --- a/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs +++ b/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs @@ -22,6 +22,16 @@ impl pallet_session::SessionManager for PalletSessionStubImpls { fn start_session(_: SessionIndex) {} } +impl pallet_session::historical::SessionManager for PalletSessionStubImpls { + fn new_session(_: SessionIndex) -> Option> { + None + } + + fn end_session(_: SessionIndex) {} + + fn start_session(_: SessionIndex) {} +} + impl sp_runtime::traits::Convert> for PalletSessionStubImpls { fn convert(t: T) -> Option { Some(t) @@ -44,8 +54,10 @@ macro_rules! impl_pallet_session_config { type ShouldEndSession = pallet_partner_chains_session::pallet_session_compat::PalletSessionStubImpls; type NextSessionRotation = (); - type SessionManager = - pallet_partner_chains_session::pallet_session_compat::PalletSessionStubImpls; + type SessionManager = pallet_session::historical::NoteHistoricalRoot< + Self, + pallet_partner_chains_session::pallet_session_compat::PalletSessionStubImpls, + >; type SessionHandler = <$type as pallet_partner_chains_session::Config>::SessionHandler; type Keys = <$type as pallet_partner_chains_session::Config>::Keys; type DisablingStrategy = (); From 9362864502c244661fbe5124c07f4496f1dd4612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1igo=20Querejeta=20Azurmendi?= <31273774+iquerejeta@users.noreply.github.com> Date: Thu, 12 Jun 2025 09:58:41 +0200 Subject: [PATCH 21/51] Iquerejeta/beefy poc (#858) * Upgraded docker base images * Implement Schnorr * Use Schnorr in BEEFY * Using Schnorr for Beefy some other parts of the workspace that I did not touch upon before. * Implement hash traits for Poseidon --------- Co-authored-by: Tomasz Bartos --- Cargo.lock | 267 ++++++++++++- Cargo.toml | 8 + demo/node/Cargo.toml | 3 + demo/node/src/service.rs | 2 +- demo/node/src/staging.rs | 4 +- demo/node/src/testnet.rs | 2 +- demo/runtime/Cargo.toml | 9 +- demo/runtime/src/genesis_config_presets.rs | 2 +- demo/runtime/src/lib.rs | 12 +- dev/docker/Dockerfile | 10 +- dev/docker/builder.Dockerfile | 2 +- .../authority-selection-inherents/Cargo.toml | 2 + .../src/filter_invalid_candidates.rs | 15 +- .../src/select_authorities.rs | 3 +- toolkit/data-sources/mock/Cargo.toml | 2 + toolkit/sidechain/domain/Cargo.toml | 2 + toolkit/sidechain/domain/src/lib.rs | 6 +- .../smart-contracts/plutus-data/Cargo.toml | 2 + toolkit/utils/schnorr_jubjub/Cargo.toml | 36 ++ .../schnorr_jubjub/src/beefy_structures.rs | 354 ++++++++++++++++++ toolkit/utils/schnorr_jubjub/src/keystore.rs | 159 ++++++++ toolkit/utils/schnorr_jubjub/src/lib.rs | 12 + toolkit/utils/schnorr_jubjub/src/poseidon.rs | 123 ++++++ toolkit/utils/schnorr_jubjub/src/primitive.rs | 257 +++++++++++++ toolkit/utils/schnorr_jubjub/src/runtime.rs | 125 +++++++ 25 files changed, 1391 insertions(+), 28 deletions(-) create mode 100644 toolkit/utils/schnorr_jubjub/Cargo.toml create mode 100644 toolkit/utils/schnorr_jubjub/src/beefy_structures.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/keystore.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/lib.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/primitive.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/runtime.rs diff --git a/Cargo.lock b/Cargo.lock index a8f7f0d583..eef627b85c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -476,7 +476,7 @@ dependencies = [ "ark-std 0.5.0", "digest 0.10.7", "rand_core 0.6.4", - "sha3", + "sha3 0.10.8", ] [[package]] @@ -766,6 +766,7 @@ dependencies = [ "plutus", "plutus-datum-derive", "scale-info", + "schnorr_jubjub", "selection", "serde", "sidechain-domain", @@ -820,6 +821,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + [[package]] name = "base64" version = "0.21.7" @@ -1045,6 +1052,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ + "block-padding", "generic-array 0.14.7", ] @@ -1057,6 +1065,12 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + [[package]] name = "blst" version = "0.3.14" @@ -1069,6 +1083,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "blstrs" +version = "0.7.1" +source = "git+https://github.com/davidnevadoc/blstrs?rev=3dfe5bf#3dfe5bf15d7b1fa4f898b1a286a9d43d5669b48e" +dependencies = [ + "bitvec", + "blst", + "byte-slice-cast", + "ff", + "getrandom 0.2.16", + "group", + "halo2curves", + "num-bigint", + "pairing", + "pasta_curves", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "subtle 2.6.1", +] + [[package]] name = "bollard-stubs" version = "1.42.0-rc.3" @@ -1628,6 +1663,35 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "const_num_bigint" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ddae0ac5d546ee2446704bc529e011d584921305af4f0ae27590accc8cf9251" +dependencies = [ + "const_num_bigint_derive", + "const_std_vec", + "num-bigint", +] + +[[package]] +name = "const_num_bigint_derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1b18965eb9d280ddde32faf948cfe5c6e5bf6885cbf98fadacc28278b8f331f" +dependencies = [ + "num-bigint", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "const_std_vec" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee6a4701b947a8608d1991b1db0cf5bab74164bf2627e5cecc9aa69dd33f172" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -2774,6 +2838,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ + "bitvec", "rand_core 0.6.4", "subtle 2.6.1", ] @@ -3459,7 +3524,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", + "rand 0.8.5", "rand_core 0.6.4", + "rand_xorshift", "subtle 2.6.1", ] @@ -3511,6 +3578,71 @@ dependencies = [ "crunchy", ] +[[package]] +name = "halo2_proofs" +version = "0.3.0" +source = "git+https://github.com/input-output-hk/halo2?rev=319af9be#319af9befa3ce7ff79b759b7b54031b7f8a70ba1" +dependencies = [ + "blake2b_simd", + "blstrs", + "ff", + "getrandom 0.2.16", + "group", + "halo2curves", + "num-bigint", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "rayon", + "serde", + "serde_derive", + "sha3 0.9.1", + "tracing", +] + +[[package]] +name = "halo2curves" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d380afeef3f1d4d3245b76895172018cfb087d9976a7cabcd5597775b2933e07" +dependencies = [ + "blake2 0.10.6", + "digest 0.10.7", + "ff", + "group", + "halo2derive", + "hex", + "lazy_static", + "num-bigint", + "num-integer", + "num-traits", + "pairing", + "pasta_curves", + "paste", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "serde", + "serde_arrays", + "sha2 0.10.9", + "static_assertions", + "subtle 2.6.1", + "unroll", +] + +[[package]] +name = "halo2derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb99e7492b4f5ff469d238db464131b86c2eaac814a78715acba369f64d2c76" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "hamming" version = "0.1.3" @@ -3624,6 +3756,9 @@ name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-conservative" @@ -5579,6 +5714,33 @@ dependencies = [ "zeroize", ] +[[package]] +name = "midnight-circuits" +version = "3.0.0" +source = "git+https://github.com/midnightntwrk/midnight-circuits?branch=iquerejeta%2Fcommittee_proof#091cd9f118bdc665ee884713e89dd76b41e15930" +dependencies = [ + "arrayvec 0.7.6", + "base64 0.13.1", + "bitvec", + "blake2b_simd", + "blstrs", + "const_num_bigint", + "ff", + "group", + "halo2_proofs", + "halo2curves", + "lazy_static", + "num-bigint", + "num-integer", + "num-traits", + "pasta_curves", + "rand 0.8.5", + "rand_core 0.6.4", + "sha2 0.10.9", + "subtle 2.6.1", + "uint 0.9.5", +] + [[package]] name = "miette" version = "5.10.0" @@ -5793,7 +5955,7 @@ dependencies = [ "digest 0.10.7", "multihash-derive", "sha2 0.10.9", - "sha3", + "sha3 0.10.8", "unsigned-varint 0.7.2", ] @@ -6263,6 +6425,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] + [[package]] name = "pallas-addresses" version = "0.32.0" @@ -7151,6 +7322,7 @@ dependencies = [ "sc-telemetry", "sc-transaction-pool", "sc-transaction-pool-api", + "schnorr_jubjub", "serde", "serde_json", "sidechain-domain", @@ -7192,7 +7364,9 @@ name = "partner-chains-demo-runtime" version = "1.7.0" dependencies = [ "authority-selection-inherents", + "blstrs", "derive-new", + "ff", "frame-benchmarking", "frame-executive", "frame-support", @@ -7200,9 +7374,12 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", + "group", + "halo2curves", "hex", "hex-literal 1.0.0", "log", + "midnight-circuits", "minicbor", "pallet-address-associations", "pallet-aura", @@ -7230,6 +7407,7 @@ dependencies = [ "plutus", "pretty_assertions", "scale-info", + "schnorr_jubjub", "serde", "serde_json", "sidechain-domain", @@ -7276,6 +7454,7 @@ dependencies = [ "log", "pallet-sidechain-rpc", "rand 0.9.1", + "schnorr_jubjub", "serde", "serde_json", "sidechain-domain", @@ -7323,6 +7502,7 @@ dependencies = [ "log", "pretty_assertions", "raw-scripts", + "schnorr_jubjub", "serde_json", "sidechain-domain", "thiserror 2.0.12", @@ -7355,6 +7535,23 @@ dependencies = [ "subtle 2.6.1", ] +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd", + "ff", + "group", + "hex", + "lazy_static", + "rand 0.8.5", + "serde", + "static_assertions", + "subtle 2.6.1", +] + [[package]] name = "paste" version = "1.0.15" @@ -9985,6 +10182,36 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "schnorr_jubjub" +version = "1.7.0" +dependencies = [ + "blstrs", + "ff", + "frame-support", + "group", + "halo2curves", + "hash256-std-hasher", + "hex", + "midnight-circuits", + "pallet-beefy-mmr", + "parity-scale-codec", + "rand_core 0.6.4", + "sc-keystore", + "scale-info", + "serde", + "sha2 0.10.9", + "sp-application-crypto", + "sp-consensus-beefy", + "sp-core", + "sp-externalities", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-runtime-interface", + "sp-trie", +] + [[package]] name = "schnorrkel" version = "0.11.4" @@ -10189,6 +10416,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "serde_arrays" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38636132857f68ec3d5f3eb121166d2af33cb55174c4d5ff645db6165cbef0fd" +dependencies = [ + "serde", +] + [[package]] name = "serde_bytes" version = "0.11.17" @@ -10342,6 +10578,18 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "keccak", + "opaque-debug 0.3.1", +] + [[package]] name = "sha3" version = "0.10.8" @@ -10408,6 +10656,7 @@ dependencies = [ "plutus", "plutus-datum-derive", "scale-info", + "schnorr_jubjub", "secp256k1 0.30.0", "serde", "serde_json", @@ -10898,7 +11147,7 @@ dependencies = [ "byteorder", "digest 0.10.7", "sha2 0.10.9", - "sha3", + "sha3 0.10.8", "twox-hash", ] @@ -12777,6 +13026,16 @@ dependencies = [ "subtle 2.6.1", ] +[[package]] +name = "unroll" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "unsafe-any-ors" version = "1.0.0" @@ -12939,7 +13198,7 @@ dependencies = [ "rand_chacha 0.3.1", "rand_core 0.6.4", "sha2 0.10.9", - "sha3", + "sha3 0.10.8", "zeroize", ] diff --git a/Cargo.toml b/Cargo.toml index 66d113498c..a640be58a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,6 +54,7 @@ members = [ "toolkit/block-producer-metadata/primitives", "toolkit/block-producer-metadata/rpc", "toolkit/utils/db-sync-sqlx", + "toolkit/utils/schnorr_jubjub", "toolkit/governed-map/primitives", "toolkit/governed-map/pallet", ] @@ -240,6 +241,7 @@ sp-consensus-grandpa = { default-features = false, git = "https://github.com/par sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } @@ -247,8 +249,10 @@ sp-keyring = { default-features = false, git = "https://github.com/paritytech/po sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } @@ -337,3 +341,7 @@ pallet-governed-map = { path = "toolkit/governed-map/pallet", default-features = # demo node partner-chains-demo-runtime = { path = "demo/runtime" } + +# Schnorr experiments +schnorr_jubjub = { path = "toolkit/utils/schnorr_jubjub", default-features = false } +hash256-std-hasher = { version = "0.15.2", default-features = false } \ No newline at end of file diff --git a/demo/node/Cargo.toml b/demo/node/Cargo.toml index 17848ef6e3..c4114a8cbd 100644 --- a/demo/node/Cargo.toml +++ b/demo/node/Cargo.toml @@ -118,6 +118,9 @@ sp-block-producer-metadata = { workspace = true, features = ["std"] } pallet-block-producer-metadata-rpc = { workspace = true } sp-governed-map = { workspace = true, features = ["std"] } +# Dependency for Schnorr crypto +schnorr_jubjub = { workspace = true } + [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index 4bede08518..d3f8b838c7 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -19,7 +19,7 @@ use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sidechain_domain::mainchain_epoch::MainchainEpochConfig; use sidechain_mc_hash::McHashInherentDigest; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; -use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; +use schnorr_jubjub::Public as BeefyId; use sp_partner_chains_consensus_aura::block_proposal::PartnerChainsProposerFactory; use sp_runtime::traits::Block as BlockT; diff --git a/demo/node/src/staging.rs b/demo/node/src/staging.rs index 7704d7a57e..014bef9cb9 100644 --- a/demo/node/src/staging.rs +++ b/demo/node/src/staging.rs @@ -9,7 +9,7 @@ use partner_chains_demo_runtime::{ use sc_service::ChainType; use sidechain_domain::*; use sp_core::bytes::from_hex; -use sp_core::{ecdsa, ed25519, sr25519}; +use sp_core::{ed25519, sr25519}; use std::str::FromStr; pub fn authority_keys( @@ -19,7 +19,7 @@ pub fn authority_keys( sidechain_pub_key: &str, ) -> AuthorityKeys { let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); - let beefy_pk = ecdsa::Public::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap()); + let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap())); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 0ec12e276c..a640ac6e8a 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -21,7 +21,7 @@ pub fn authority_keys( let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); - let beefy_pk = ecdsa::Public::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap()); + let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap())); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); let session_keys = (aura_pk, beefy_pk, granda_pk).into(); diff --git a/demo/runtime/Cargo.toml b/demo/runtime/Cargo.toml index f49c9863d6..7a44953f12 100644 --- a/demo/runtime/Cargo.toml +++ b/demo/runtime/Cargo.toml @@ -98,8 +98,15 @@ sp-governed-map = { workspace = true } sp-block-producer-fees = { workspace = true } pallet-block-producer-fees = { workspace = true } -[dev-dependencies] sp-io = { workspace = true } +schnorr_jubjub = { workspace = true } +midnight-circuits = { git = "https://github.com/midnightntwrk/midnight-circuits", branch = "iquerejeta/committee_proof"} +halo2curves = { version = "0.7.0", features = ["derive_serde"] } +blstrs = { git = "https://github.com/davidnevadoc/blstrs", rev = "3dfe5bf" } +group = "0.13" +ff = "0.13" + +[dev-dependencies] sp-keyring = { workspace = true } # we actually don't need it, cause in dev we can use full sp-keyring, but its usage gives a good example of how to create accountIds in WASM hex = { workspace = true } diff --git a/demo/runtime/src/genesis_config_presets.rs b/demo/runtime/src/genesis_config_presets.rs index 4b8f165be7..3af00c4acd 100644 --- a/demo/runtime/src/genesis_config_presets.rs +++ b/demo/runtime/src/genesis_config_presets.rs @@ -22,7 +22,7 @@ use crate::{ use alloc::{vec, vec::Vec}; use serde_json::Value; use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_consensus_beefy::ecdsa_crypto::AuthorityId as BeefyId; +use schnorr_jubjub::Public as BeefyId; use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::crypto::get_public_from_string_or_panic; use sp_genesis_builder::{self, PresetId}; diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index f7877c2300..8f3c87780d 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -8,6 +8,7 @@ extern crate frame_benchmarking; extern crate alloc; +extern crate core; use alloc::collections::BTreeMap; use alloc::string::String; @@ -46,12 +47,12 @@ use sp_api::impl_runtime_apis; use sp_block_participation::AsCardanoSPO; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_consensus_beefy::{ - ecdsa_crypto::{AuthorityId as BeefyId, Signature as BeefySignature}, mmr::MmrLeafVersion, }; +use schnorr_jubjub as schnorr; +use schnorr::{Public as BeefyId, Public, Signature as BeefySignature}; #[cfg(feature = "runtime-benchmarks")] use sp_core::ByteArray; -use sp_core::ecdsa; use sp_core::{OpaqueMetadata, crypto::KeyTypeId}; use sp_governed_map::MainChainScriptsV1; use sp_inherents::InherentIdentifier; @@ -175,8 +176,8 @@ pub mod opaque { pub grandpa: Grandpa, } } - impl From<(sr25519::Public, ecdsa::Public, ed25519::Public)> for SessionKeys { - fn from((aura, beefy, grandpa): (sr25519::Public, ecdsa::Public, ed25519::Public)) -> Self { + impl From<(sr25519::Public, schnorr::Public, ed25519::Public)> for SessionKeys { + fn from((aura, beefy, grandpa): (sr25519::Public, schnorr::Public, ed25519::Public)) -> Self { Self { aura: aura.into(), beefy: beefy.into(), grandpa: grandpa.into() } } } @@ -703,7 +704,8 @@ parameter_types! { impl pallet_beefy_mmr::Config for Runtime { type LeafVersion = LeafVersion; - type BeefyAuthorityToMerkleLeaf = pallet_beefy_mmr::BeefyEcdsaToEthereum; + // todo: THIS SHOULD BE A FIELD ELEMENT IF WE USE POSEIDON + type BeefyAuthorityToMerkleLeaf = Public; type LeafExtra = Vec; type BeefyDataProvider = (); type WeightInfo = (); diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index cc37c1864d..3818e222c0 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -1,14 +1,20 @@ FROM partner-chains-node-builder:latest AS builder -FROM docker.io/library/ubuntu:20.04 +FROM docker.io/library/ubuntu:25.10 + COPY --from=builder /partner-chains-node/docker-build/target/release/partner-chains-demo-node /usr/local/bin/partner-chains-node -RUN useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate && \ +USER root + +RUN useradd -m -u 1001 -U -s /bin/sh -d /substrate substrate && \ mkdir -p /data /substrate/.local/share/partner-chains-node && \ chown -R substrate:substrate /data && \ ln -s /data /substrate/.local/share/partner-chains-node && \ # Sanity checks ldd /usr/local/bin/partner-chains-node && \ + # Unclutter and minimize the attack surface + rm -rf /usr/bin /usr/sbin && \ + # Check if executable works in this container /usr/local/bin/partner-chains-node --version USER substrate diff --git a/dev/docker/builder.Dockerfile b/dev/docker/builder.Dockerfile index dd7913b075..bf72dd5698 100644 --- a/dev/docker/builder.Dockerfile +++ b/dev/docker/builder.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558 AS builder +FROM docker.io/paritytech/ci-unified:bullseye-1.85.0-2025-01-28 AS builder WORKDIR /partner-chains-node COPY . /partner-chains-node diff --git a/toolkit/committee-selection/authority-selection-inherents/Cargo.toml b/toolkit/committee-selection/authority-selection-inherents/Cargo.toml index 367547f163..36697bdf08 100644 --- a/toolkit/committee-selection/authority-selection-inherents/Cargo.toml +++ b/toolkit/committee-selection/authority-selection-inherents/Cargo.toml @@ -34,6 +34,8 @@ thiserror = { workspace = true, optional = true } serde = { workspace = true } sp-consensus-slots = { workspace = true } +schnorr_jubjub = {workspace = true} + [dev-dependencies] hex = { workspace = true } hex-literal = { workspace = true } diff --git a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs index a127e92185..3b975f9f80 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs @@ -9,6 +9,7 @@ use plutus_datum_derive::ToDatum; use serde::{Deserialize, Serialize}; use sidechain_domain::*; use sp_core::{ecdsa, ed25519, sr25519}; +use schnorr_jubjub; use sp_runtime::traits::Verify; /// Signed Message of the Authority Candidate to register @@ -106,7 +107,7 @@ pub fn filter_trustless_candidates_registrations( genesis_utxo: UtxoId, ) -> Vec<(Candidate, selection::Weight)> where - TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, TAccountId: From, { candidate_registrations @@ -125,7 +126,7 @@ pub fn filter_invalid_permissioned_candidates( permissioned_candidates: Vec, ) -> Vec> where - TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, TAccountId: TryFrom, { permissioned_candidates @@ -145,7 +146,7 @@ fn select_latest_valid_candidate( ) -> Option> where TAccountId: From, - TAccountKeys: From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, { let stake_delegation = validate_stake(candidate_registrations.stake_delegation).ok()?; let stake_pool_pub_key = candidate_registrations.stake_pool_public_key; @@ -240,7 +241,7 @@ pub enum PermissionedCandidateDataError { pub fn validate_permissioned_candidate_data>( candidate: PermissionedCandidateData, ) -> Result< - (AccountId, sr25519::Public, ecdsa::Public, ed25519::Public), + (AccountId, sr25519::Public, schnorr_jubjub::Public, ed25519::Public), PermissionedCandidateDataError, > { Ok(( @@ -254,7 +255,7 @@ pub fn validate_permissioned_candidate_data Result<(ecdsa::Public, (sr25519::Public, ecdsa::Public, ed25519::Public)), RegistrationDataError> +) -> Result<(ecdsa::Public, (sr25519::Public, schnorr_jubjub::Public, ed25519::Public)), RegistrationDataError> { let aura_pub_key = registration_data .aura_pub_key @@ -282,7 +283,7 @@ pub fn validate_registration_data( .ok_or(RegistrationDataError::InvalidAuraKey)?; let beefy_pub_key = registration_data .beefy_pub_key - .try_into_ecdsa() + .try_into_schnorr() .ok_or(RegistrationDataError::InvalidBeefyKey)?; let grandpa_pub_key = registration_data .grandpa_pub_key diff --git a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs index f3e4b62764..8f4b050bcc 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs @@ -8,12 +8,13 @@ use log::{info, warn}; use plutus::*; use sidechain_domain::{EpochNonce, ScEpochNumber, UtxoId}; use sp_core::{U256, ecdsa, ed25519, sr25519}; +use schnorr_jubjub; /// Selects authorities using the Ariadne selection algorithm and data sourced from Partner Chains smart contracts on Cardano. /// Seed is constructed from the MC epoch nonce and the sidechain epoch. pub fn select_authorities< TAccountId: Clone + Ord + TryFrom + From, - TAccountKeys: Clone + Ord + From<(sr25519::Public, ecdsa::Public, ed25519::Public)>, + TAccountKeys: Clone + Ord + From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, >( genesis_utxo: UtxoId, input: AuthoritySelectionInputs, diff --git a/toolkit/data-sources/mock/Cargo.toml b/toolkit/data-sources/mock/Cargo.toml index 362157a132..b6a859d598 100644 --- a/toolkit/data-sources/mock/Cargo.toml +++ b/toolkit/data-sources/mock/Cargo.toml @@ -30,6 +30,8 @@ sp-block-participation = { workspace = true, optional = true } pallet-sidechain-rpc = { workspace = true, optional = true } authority-selection-inherents = { workspace = true, optional = true } +schnorr_jubjub = { workspace = true } + [features] default = ["std", "block-source", "candidate-source", "governed-map", "native-token"] std = [ diff --git a/toolkit/sidechain/domain/Cargo.toml b/toolkit/sidechain/domain/Cargo.toml index 45297bc648..2011bec7b8 100644 --- a/toolkit/sidechain/domain/Cargo.toml +++ b/toolkit/sidechain/domain/Cargo.toml @@ -35,6 +35,8 @@ ed25519-zebra = { workspace = true, optional = true } k256 = { workspace = true } derive-where = { workspace = true } +schnorr_jubjub = { workspace = true } + [dev-dependencies] serde_json = { workspace = true } hex-literal = { workspace = true } diff --git a/toolkit/sidechain/domain/src/lib.rs b/toolkit/sidechain/domain/src/lib.rs index 48c1ebb357..2c347861d5 100644 --- a/toolkit/sidechain/domain/src/lib.rs +++ b/toolkit/sidechain/domain/src/lib.rs @@ -36,6 +36,8 @@ use { serde::{Deserialize, Deserializer, Serialize, Serializer}, }; +use schnorr_jubjub; + /// The number of main chain epochs back a Partner Chain queries for committee selection inputs. /// This offset is necessary to ensure that data is present and stable. const DATA_MC_EPOCH_OFFSET: u32 = 2; @@ -1049,8 +1051,8 @@ impl From for AuraPublicKey { pub struct BeefyPublicKey(pub Vec); impl BeefyPublicKey { /// Attempts to cast this public key to a valid [ecdsa::Public] - pub fn try_into_ecdsa(&self) -> Option { - Some(ecdsa::Public::from_raw(self.0.clone().try_into().ok()?)) + pub fn try_into_schnorr(&self) -> Option { + Some(schnorr_jubjub::Public::try_from(self.0.as_slice()).ok()?) } } diff --git a/toolkit/smart-contracts/plutus-data/Cargo.toml b/toolkit/smart-contracts/plutus-data/Cargo.toml index ce0fd6969c..b61290c8d2 100644 --- a/toolkit/smart-contracts/plutus-data/Cargo.toml +++ b/toolkit/smart-contracts/plutus-data/Cargo.toml @@ -18,6 +18,8 @@ sidechain-domain = { workspace = true, features = ["std"] } cardano-serialization-lib = { workspace = true } thiserror = { workspace = true } +schnorr_jubjub = { workspace = true } + [dev-dependencies] raw-scripts = { workspace = true } serde_json = { workspace = true } diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml new file mode 100644 index 0000000000..eac7744bde --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "schnorr_jubjub" +authors.workspace = true +edition.workspace = true +homepage.workspace = true +repository.workspace = true +version.workspace = true + +[dependencies] +midnight-circuits = { git = "https://github.com/midnightntwrk/midnight-circuits", branch = "iquerejeta/committee_proof"} +halo2curves = { version = "0.7.0", features = ["derive_serde"] } +blstrs = { git = "https://github.com/davidnevadoc/blstrs", rev = "3dfe5bf" } +group = "0.13" +ff = "0.13" +frame-support = { workspace = true } +pallet-beefy-mmr = { workspace = true } +parity-scale-codec = { workspace = true } +rand_core = "0.6.4" +scale-info = {workspace = true} +sc-keystore = { workspace = true } +sp-core = { workspace = true } +sp-application-crypto = { workspace = true } +sp-consensus-beefy = { workspace = true } +sp-runtime = { workspace = true } +sp-runtime-interface = { workspace = true } +sp-io = { workspace = true } +sp-keystore = { workspace = true } +sp-externalities = { workspace = true } +sha2 = "0.10.9" +serde = {workspace = true } +hex = {workspace = true } +hash256-std-hasher = { workspace = true } +sp-trie = { workspace = true } + +[lints] +workspace = true diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs new file mode 100644 index 0000000000..4539be1aad --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -0,0 +1,354 @@ +//! Implements traits and supporting structures to enable the use of Schnorr +//! signatures over JubJub in BEEFY. +//! +//! This module provides the necessary abstractions and integrations for +//! leveraging JubJub-based Schnorr signatures within the BEEFY consensus +//! protocol, ensuring compatibility with Substrate's runtime and cryptographic +//! infrastructure. + +use core::fmt::{Debug, Formatter}; +use std::{convert::TryInto, hash::Hash, fmt::Display}; + +use blstrs::{Fr, JubjubSubgroup}; +use group::{Group, GroupEncoding}; +use rand_core::OsRng; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use sha2::Digest; +use sp_consensus_beefy::{BeefyAuthorityId, BeefySignatureHasher, AuthorityIdBound}; +use sp_core::{ + ByteArray, Decode, DecodeWithMemTracking, DeriveJunction, Encode, MaxEncodedLen, + Pair as TraitPair, + crypto::{ + CryptoType, CryptoTypeId, Derive, DeriveError, KeyTypeId, PublicBytes, SecretStringError, + }, + crypto_bytes::SignatureBytes, +}; +use sp_runtime::{ + RuntimeAppPublic, + app_crypto::{AppCrypto, AppPair, AppPublic, AppSignature}, + traits::Convert, +}; +use crate::poseidon::PoseidonJubjub; + +use crate::primitive::{SchnorrSignature, VerifyingKey}; + +/// Constant to represent the primitive of Schnorr over JubJub +pub const CRYPTO_ID: CryptoTypeId = CryptoTypeId(*b"jubP"); + +/// Constant to represent the primitive of Schnorr over JubJub +pub const SCHNORR_KEYTYPE_ID: KeyTypeId = KeyTypeId(*b"jubP"); + +/// The byte length of secret key seed. +pub const SEED_SERIALIZED_SIZE: usize = 32; + +/// The byte length of serialized public key. +pub const PUBLIC_SERIALIZED_SIZE: usize = 32; + +/// The byte length of serialized signature. +pub const SIGNATURE_SERIALIZED_SIZE: usize = 64; + +#[doc(hidden)] +pub struct SchnorrJubJubTag; + +pub type InnerPublicBytes = PublicBytes; + +/// Schnorr over JubJub public key +#[derive( + Clone, + Eq, + Hash, + PartialEq, + PartialOrd, + Ord, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub struct Public(pub InnerPublicBytes); + +impl Display for Public { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "0x{}", hex::encode(self.as_slice())) + } +} + +impl Convert> for Public { + fn convert(beefy_id: Public) -> Vec { + beefy_id.as_slice().to_vec() + } +} + +impl Serialize for Public { + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + serializer.serialize_bytes(self.0.as_ref()) + } +} + +impl<'de> Deserialize<'de> for Public { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + let bytes: &[u8] = Deserialize::deserialize(deserializer)?; + let key = Self::try_from(bytes) + .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; + Ok(key) + } +} + +impl Debug for Public { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + write!(f, "Public({:?})", self.as_slice()) + } +} + +impl AuthorityIdBound for Public { + type BoundedSignature = Signature; +} + +impl<'a> TryFrom<&'a [u8]> for Public { + type Error = + as TryFrom<&'a [u8]>>::Error; + + fn try_from(value: &'a [u8]) -> Result { + Ok(Self( + PublicBytes::::try_from(value)?, + )) + } +} + +impl AsMut<[u8]> for Public { + fn as_mut(&mut self) -> &mut [u8] { + self.0.as_mut() + } +} + +impl AsRef<[u8]> for Public { + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } +} + +impl ByteArray for Public { + const LEN: usize = PUBLIC_SERIALIZED_SIZE; +} + +impl Derive for Public {} + +impl sp_core::Public for Public {} + +impl CryptoType for Public { + type Pair = crate::primitive::KeyPair; +} + +impl AppCrypto for Public { + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; +} + +impl AsRef for Public { + fn as_ref(&self) -> &Public { + self + } +} + +impl AsMut for Public { + fn as_mut(&mut self) -> &mut Public { + self + } +} + +impl AppPublic for Public { + type Generic = Public; +} + +pub type InnerSignatureBytes = SignatureBytes; + +/// Schnorr signature over JubJub +#[derive( + Clone, + Eq, + Hash, + PartialEq, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, + scale_info::TypeInfo, +)] +pub struct Signature(InnerSignatureBytes); + +impl Debug for Signature { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + write!(f, "Public({:?})", self.as_slice()) + } +} + +impl CryptoType for Signature { + type Pair = crate::primitive::KeyPair; +} + +impl ByteArray for Signature { + const LEN: usize = SIGNATURE_SERIALIZED_SIZE; +} + +impl AsRef<[u8]> for Signature { + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } +} + +impl AsMut<[u8]> for Signature { + fn as_mut(&mut self) -> &mut [u8] { + self.0.as_mut() + } +} + +impl<'a> TryFrom<&'a [u8]> for Signature { + type Error = + as TryFrom<&'a [u8]>>::Error; + + fn try_from(value: &'a [u8]) -> Result { + Ok(Self(SignatureBytes::< + SIGNATURE_SERIALIZED_SIZE, + SchnorrJubJubTag, + >::try_from(value)?)) + } +} + +impl AppCrypto for Signature { + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; +} + +impl AsRef for Signature { + fn as_ref(&self) -> &Signature { + self + } +} + +impl AsMut for Signature { + fn as_mut(&mut self) -> &mut Signature { + self + } +} + +impl AppSignature for Signature { + type Generic = Signature; +} + +impl sp_core::crypto::Signature for Signature {} + +impl CryptoType for crate::primitive::KeyPair { + type Pair = crate::primitive::KeyPair; +} + +impl TraitPair for crate::primitive::KeyPair { + type Public = Public; + type Seed = Seed; + type Signature = Signature; + + fn derive>( + &self, + _path: Iter, + _seed: Option, + ) -> Result<(Self, Option), DeriveError> { + unimplemented!() + } + + fn from_seed_slice(seed: &[u8]) -> Result { + if seed.len() != SEED_SERIALIZED_SIZE { + return Err(SecretStringError::InvalidSeedLength); + } + + let h = sha2::Sha512::digest(&seed); + + let secret = Fr::from_bytes_wide(&h.as_slice().try_into().unwrap()); + Ok(Self { + 0: secret, + 1: JubjubSubgroup::generator() * &secret, + }) + } + + fn sign(&self, message: &[u8]) -> Self::Signature { + let msg = PoseidonJubjub::msg_from_bytes(message, false) + .expect("With flag set to false, this should not fail. Report a bug."); + let shcnorr_sig = self.sign(&msg, &mut OsRng); + + let bytes = shcnorr_sig.to_bytes(); + + Signature(SignatureBytes::from_raw(bytes)) + } + + fn verify>(sig: &Self::Signature, message: M, pubkey: &Self::Public) -> bool { + let msg = PoseidonJubjub::msg_from_bytes(message.as_ref(), false) + .expect("With flag set to false, this should not fail. Report a bug."); + + let sig = SchnorrSignature::from_bytes(sig.as_ref()); + let pubkey = VerifyingKey::from_bytes(pubkey.as_ref()); + + match (sig, pubkey) { + (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), + (_, _) => false, + } + } + + fn public(&self) -> Self::Public { + let bytes: [u8; 32] = self.1.to_bytes().try_into().unwrap(); + + Public(PublicBytes::from(bytes)) + } + + fn to_raw_vec(&self) -> Vec { + let mut res = Vec::with_capacity(64); + res.extend_from_slice(&self.0.to_bytes()); + res.extend_from_slice(&self.1.to_bytes()); + + res + } +} + +impl AppCrypto for crate::primitive::KeyPair { + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; +} + +impl AsRef for crate::primitive::KeyPair { + fn as_ref(&self) -> &crate::primitive::KeyPair { + self + } +} + +impl AsMut for crate::primitive::KeyPair { + fn as_mut(&mut self) -> &mut crate::primitive::KeyPair { + self + } +} + +impl AppPair for crate::primitive::KeyPair { + type Generic = crate::primitive::KeyPair; +} + +/// The raw secret seed, which can be used to reconstruct the secret +/// [`crate::primitive::KeyPair`]. +type Seed = [u8; SEED_SERIALIZED_SIZE]; + +impl BeefyAuthorityId for Public { + fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { + ::verify(signature, msg, self) + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs new file mode 100644 index 0000000000..0d76640269 --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -0,0 +1,159 @@ +//! Wrapper around the `LocalKeystore`. +//! +//! This keystore delegates to the underlying `LocalKeystore` for most +//! functionality, but re-implements the `sign_with` method to support Schnorr +//! signatures over the JubJub curve, which the default implementation does not +//! support due to lack of genericity. + +use sc_keystore::LocalKeystore; +use sp_application_crypto::Pair as TraitPair; +use sp_core::{ + crypto::{ByteArray, CryptoTypeId, KeyTypeId}, + ecdsa, ed25519, sr25519, +}; +use sp_keystore::{Error, Keystore}; + +use crate::{ + beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public}, + primitive::KeyPair as Pair, +}; + +/// Wrapper of the LocalKeystore +pub struct SchnorrKeystore(pub LocalKeystore); + +impl Keystore for SchnorrKeystore { + fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.sr25519_public_keys(key_type) + } + + fn sr25519_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.sr25519_generate_new(key_type, seed) + } + + fn sr25519_sign( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.sr25519_sign(key_type, public, msg) + } + + fn sr25519_vrf_sign( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + data: &sr25519::vrf::VrfSignData, + ) -> Result, Error> { + self.0.sr25519_vrf_sign(key_type, public, data) + } + + fn sr25519_vrf_pre_output( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + input: &sr25519::vrf::VrfInput, + ) -> Result, Error> { + self.0.sr25519_vrf_pre_output(key_type, public, input) + } + + fn ed25519_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.ed25519_public_keys(key_type) + } + + fn ed25519_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.ed25519_generate_new(key_type, seed) + } + + fn ed25519_sign( + &self, + key_type: KeyTypeId, + public: &ed25519::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.ed25519_sign(key_type, public, msg) + } + + fn ecdsa_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.ecdsa_public_keys(key_type) + } + + fn ecdsa_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.ecdsa_generate_new(key_type, seed) + } + + fn ecdsa_sign( + &self, + key_type: KeyTypeId, + public: &ecdsa::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.ecdsa_sign(key_type, public, msg) + } + + fn ecdsa_sign_prehashed( + &self, + key_type: KeyTypeId, + public: &ecdsa::Public, + msg: &[u8; 32], + ) -> Result, Error> { + self.0.ecdsa_sign_prehashed(key_type, public, msg) + } + + /// Insert a new secret key. + fn insert(&self, key_type: KeyTypeId, suri: &str, public: &[u8]) -> Result<(), ()> { + self.0.insert(key_type, suri, public) + } + + /// List all supported keys of a given type. + /// + /// Returns a set of public keys the signer supports in raw format. + fn keys(&self, key_type: KeyTypeId) -> Result>, Error> { + self.0.keys(key_type) + } + + /// Checks if the private keys for the given public key and key type + /// combinations exist. + /// + /// Returns `true` iff all private keys could be found. + fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { + self.0.has_keys(public_keys) + } + + fn sign_with( + &self, + id: KeyTypeId, + crypto_id: CryptoTypeId, + public: &[u8], + msg: &[u8], + ) -> Result>, Error> { + let signature = match crypto_id { + CRYPTO_ID => { + let pk_bytes: [u8; 32] = public.try_into().expect("Invalid PK format"); + let pk = Public(InnerPublicBytes::from(pk_bytes)); + if let Some(pair) = self.0.key_pair(&pk).unwrap() { + let shcnorr_sig: Vec = + ::sign(&pair, msg).as_slice().to_vec(); + Some(shcnorr_sig) + } else { + None + } + } + _ => self.0.sign_with(id, crypto_id, public, msg)?, + }; + + Ok(signature) + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs new file mode 100644 index 0000000000..189278433e --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -0,0 +1,12 @@ +//! This crate implements the Schnorr signature scheme over the JubJub elliptic +//! curve, using the Poseidon hash function defined over the JubJub base field. +//! +//! It is intended exclusively for use within the BEEFY protocol. + +mod beefy_structures; +mod keystore; +mod primitive; +mod runtime; +mod poseidon; + +pub use beefy_structures::{Public, InnerPublicBytes, Signature}; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon.rs b/toolkit/utils/schnorr_jubjub/src/poseidon.rs new file mode 100644 index 0000000000..b732ad66ac --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon.rs @@ -0,0 +1,123 @@ +//! Implementation of Poseidon over JubJub (using midnight-circuits implementation). +// Need to figure out if we can assume that the bytes are canonical, i.e., if we are always hashing something that +// was a Scalar field element. + +use blstrs::Scalar; +use midnight_circuits::hash::poseidon::PoseidonChip; +use midnight_circuits::instructions::SpongeCPU; + +use scale_info::TypeInfo; +use sp_runtime::{traits::Hash, StateVersion}; +use sp_core::Hasher; +use sp_core::H256; +use sp_runtime::RuntimeDebug; +use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; +use hash256_std_hasher::Hash256StdHasher; +use serde::{Serialize, Deserialize}; +use sp_runtime_interface::runtime_interface; +use sp_runtime_interface::pass_by::{AllocateAndReturnPointer, PassAs, PassFatPointerAndDecode}; + +#[derive(Debug)] +pub enum PoseidonError { + /// Error produced when trying to convert bytes to field element + NotCanonical, +} + +#[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo)] +#[derive(Serialize, Deserialize)] +pub struct PoseidonJubjub; + +sp_core::impl_maybe_marker_std_or_serde!( + /// A type that implements Serialize when in std environment or serde feature is activated. + trait MaybeSerialize: Serialize; + + /// A type that implements Serialize, DeserializeOwned and Debug when in std environment or serde feature is activated. + trait MaybeSerializeDeserialize: DeserializeOwned, Serialize; +); + +impl PoseidonJubjub { + /// Converts a byte slice into a vector of `Scalar` field elements suitable + /// for Poseidon hashing. + /// + /// Poseidon operates over field elements, so this function transforms raw + /// bytes into `Scalar`s. + /// + /// - If `format_scalars` is `true`, the input is assumed to already contain + /// valid field elements. Each 32-byte chunk is interpreted as a canonical + /// `Scalar`. + /// + /// - If `format_scalars` is `false`, the input is processed in 31-byte + /// chunks to ensure that each resulting value falls within the canonical + /// range of the field. + /// + /// Returns a `Vec` on success, or an `Error` if canonical + /// conversion fails. + pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { + let chunk_len = if format_scalars { 32 } else { 31 }; + + msg.chunks(chunk_len) + .map(|scalar| { + let mut bytes = [0u8; 32]; + bytes[..scalar.len()].copy_from_slice(scalar); + Scalar::from_bytes_le(&bytes) + .into_option() + .ok_or(PoseidonError::NotCanonical) + }) + .collect::, PoseidonError>>() + } +} + +impl Hasher for PoseidonJubjub { + type Out = sp_core::H256; + type StdHasher = Hash256StdHasher; + const LENGTH: usize = 32; + + fn hash(s: &[u8]) -> Self::Out { + // TODO: we are assuming false - would be ideal if we could assume true + let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); + + let mut hasher = as SpongeCPU>::init(Some(msg.len())); + as SpongeCPU>::absorb(&mut hasher, &msg); + + let out_fr = as SpongeCPU>::squeeze(&mut hasher); + + out_fr.to_bytes_le().into() + } +} + +#[runtime_interface] +pub trait PoseidonTrie { + /// A trie root formed from the iterated items using Poseidon + fn poseidon_jubjub_root( + input: PassFatPointerAndDecode, Vec)>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::trie_root(input), + StateVersion::V1 => LayoutV1::::trie_root(input), + } + } + + /// A trie root formed from the enumerated items using Poseidon + fn poseidon_jubjub_ordered_root( + input: PassFatPointerAndDecode>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::ordered_trie_root(input), + StateVersion::V1 => LayoutV1::::ordered_trie_root(input), + } + } +} + +impl Hash for PoseidonJubjub { + type Output = H256; + + fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_ordered_root(input, version) + } + + fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_root(input, version) + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs new file mode 100644 index 0000000000..8d2e6f8fa9 --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -0,0 +1,257 @@ +#![allow(non_snake_case)] +//! Implementation of the Schnorr signature scheme over the JubJub elliptic +//! curve, using Poseidon as the hash function. +//! +//! This crate provides the core cryptographic primitives needed to generate and +//! verify Schnorr signatures in zero-knowledge-friendly environments. By +//! leveraging the Poseidon hash, it is optimized for use in SNARK-based systems +//! where efficiency in constraint systems is critical. + +use core::fmt::Debug; + +use blstrs::{Fr, JubjubExtended, JubjubSubgroup as Point, Scalar}; +use ff::Field; +use group::{Group, GroupEncoding}; +use midnight_circuits::{ + ecc::curves::CircuitCurve, hash::poseidon::PoseidonChip, instructions::SpongeCPU, +}; +use rand_core::{CryptoRng, RngCore}; +use crate::poseidon::PoseidonError; + +/// Poseidon hash function +pub type Poseidon = PoseidonChip; + +/// A Schnorr private key is a scalar from the Jubjub scalar field. +#[derive(Clone, Debug)] +pub struct KeyPair(pub(crate) Fr, pub(crate) Point); + +/// A Schnorr public key is a point on the Jubjub curve. +#[derive(Clone, PartialEq, Eq, Debug)] +pub struct VerifyingKey(Point); + +/// A Schnorr signature contains the announcement (nonce commitment) `A` and the +/// signature response `r`. +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct SchnorrSignature { + A: Point, + r: Fr, +} + +#[derive(Debug)] +/// Error type used in Schnorr signatures +pub enum SchnorrError { + /// Error converting a message represented in bytes to its field + /// representation. + InvalidMsgFormat, + /// Error converting bytes to a signature. + InvalidSignatureFormat, + /// Error converting bytes to a public key. + InvalidPkFormat, + /// Error verifying a signature. + InvalidSignature, +} + +impl From for SchnorrError { + fn from(value: PoseidonError) -> Self { + match value { + PoseidonError::NotCanonical => Self::InvalidMsgFormat + } + } +} + +impl KeyPair { + /// Returns the verifying key + pub fn vk(&self) -> VerifyingKey { + VerifyingKey(self.1) + } + + /// Generate a Schnorr keypair from a random number generator. + pub fn generate(rng: &mut R) -> Self { + let sk = Fr::random(rng); + let pk = Point::generator() * sk; + Self(sk, pk) + } + + /// Generates a Schnorr keypair from a seed. + pub fn generate_from_seed(seed: [u8; 64]) -> Self { + let sk = Fr::from_bytes_wide(&seed); + let pk = Point::generator() * sk; + Self(sk, pk) + } + + /// Sign a message using this private key. + /// + /// # Arguments + /// - `msg`: byte slice representing the message + /// - `poseidon`: instance of the Poseidon hash function (preconfigured) + /// + /// # Returns + /// A Schnorr `Signature`. + pub fn sign(&self, msg: &[Scalar], rng: &mut (impl RngCore + CryptoRng)) -> SchnorrSignature { + // Generate a random nonce + let a = Fr::random(rng); + let A = Point::generator() * a; + + // Compute challenge e = H(R || PK || msg) + let c_input = [&to_coords(&A), &to_coords(&self.1), msg].concat(); + let c = hash_to_jj_scalar(&c_input); + + // Compute the response, r = a + c * sk + let r = a + c * self.0; + + SchnorrSignature { A, r } + } +} + +impl SchnorrSignature { + /// Verify a Schnorr signature. + /// + /// # Arguments + /// - `msg`: byte slice of the original signed message + /// - `sig`: the `Signature` object to verify + /// - `poseidon`: Poseidon hash function instance + /// + /// # Error + /// Function fails if the signature is not valid + pub fn verify(&self, msg: &[Scalar], pk: &VerifyingKey) -> Result<(), SchnorrError> { + let c_input = [&to_coords(&self.A), &to_coords(&pk.0), msg].concat(); + let c = hash_to_jj_scalar(&c_input); + + if Point::generator() * self.r == self.A + pk.0 * c { + Ok(()) + } else { + Err(SchnorrError::InvalidSignature) + } + } +} + +impl SchnorrSignature { + /// Converts a signature to a byte array. + pub fn to_bytes(&self) -> [u8; 64] { + let mut out = [0u8; 64]; + out[..32].copy_from_slice(&self.A.to_bytes()); + out[32..].copy_from_slice(&self.r.to_bytes()); + + out + } + + /// Converts a slice of bytes to a Signature + /// + /// # Error + /// if the bytes do not represent a canonical `(Point, Scalar)` pair. + pub fn from_bytes(bytes: &[u8]) -> Result { + if bytes.len() != 64 { + return Err(SchnorrError::InvalidSignatureFormat); + } + let A = Point::from_bytes(&bytes[..32].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidSignatureFormat)?; + let r = Fr::from_bytes(&bytes[32..].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidSignatureFormat)?; + + Ok(Self { A, r }) + } +} + +impl VerifyingKey { + /// Converts a verifying key to a byte array. + pub fn to_bytes(&self) -> [u8; 32] { + self.0.to_bytes() + } + + /// Converts a slice of bytes to a VerifyingKey + /// + /// # Error + /// if the bytes do not represent a canonical `Point` pair. + pub fn from_bytes(bytes: &[u8]) -> Result { + if bytes.len() != 32 { + return Err(SchnorrError::InvalidPkFormat); + } + + let pk = Point::from_bytes(&bytes[..32].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidPkFormat)?; + + Ok(Self(pk)) + } +} + +/// Helper function that converts a `JubJubSubgroup` point to its coordinates +fn to_coords(point: &Point) -> Vec { + let extended_point: JubjubExtended = (*point).into(); + let coords = extended_point.coordinates().expect("Cannot be identity"); + + vec![coords.0, coords.1] +} + +/// Helper function that hashes into a JubJub scalar, by taking the mod +/// reduction of the output (which is in the base field, or BLS12-381's scalar +/// field). +fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { + let mut state = Poseidon::init(Some(input.len())); + Poseidon::absorb(&mut state, input); + let e = Poseidon::squeeze(&mut state); + + // Now we need to convert a BLS scalar to a JubJub scalar + let mut bytes_wide = [0u8; 64]; + bytes_wide[..32].copy_from_slice(&e.to_bytes_le()); + + Fr::from_bytes_wide(&bytes_wide) +} + +#[cfg(test)] +mod tests { + use rand_core::OsRng; + + use super::*; + + #[test] + fn schnorr_jubjub() { + let mut rng = OsRng; + + let signing_key = Pair::generate(&mut rng); + let msg = Scalar::random(&mut rng); + + let sig = signing_key.sign(&[msg], &mut rng); + + assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); + } + + #[test] + fn schnorr_jubjub_bytes() { + let mut rng = OsRng; + + let signing_key = Pair::generate(&mut rng); + let msg = Scalar::random(&mut rng).to_bytes_le(); + + let sig = signing_key.sign( + &SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), + &mut rng, + ); + + assert!( + sig.verify( + &SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), + &signing_key.vk() + ) + .is_ok() + ); + + let mut msg = [0u8; 100]; + rng.fill_bytes(&mut msg); + + let sig = signing_key.sign( + &SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), + &mut rng, + ); + + assert!( + sig.verify( + &SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), + &signing_key.vk() + ) + .is_ok() + ); + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs new file mode 100644 index 0000000000..aa3f9052fb --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -0,0 +1,125 @@ +//! Implements runtime traits required by the Substrate framework. +//! +//! This module provides trait implementations that integrate cryptographic +//! primitives and keystore functionality into the Substrate runtime +//! environment, enabling their use in on-chain logic and consensus mechanisms. + +use std::convert::TryInto; + +use rand_core::{OsRng, RngCore}; +use sp_core::{ + ByteArray, Pair as TraitPair, + crypto::{CryptoTypeId, KeyTypeId}, +}; +use sp_externalities::ExternalitiesExt; +use sp_keystore::KeystoreExt; +use sp_runtime::app_crypto::RuntimePublic; +use sp_runtime_interface::{ + pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, + runtime_interface, +}; + +use crate::{ + beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, + primitive::{SchnorrSignature, VerifyingKey}, +}; +use crate::poseidon::PoseidonJubjub; + +#[runtime_interface] +pub trait GenericKeyInterface { + fn keys( + &mut self, + id: PassPointerAndReadCopy, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .keys(id) + .expect("Key type not found in keystore") + } + + fn insert( + &mut self, + id: PassPointerAndReadCopy, + suri: PassPointerAndReadCopy<[u8; 64], 64>, + public: PassPointerAndReadCopy, + ) { + self.extension::() + .expect("No `keystore` associated for the current context!") + .insert(id, &hex::encode(&suri), public.as_ref()) + .expect("Failed to insert key in keystore") + } + + fn sign_with( + &mut self, + id: PassPointerAndReadCopy, + crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, + public: PassPointerAndReadCopy, + msg: PassFatPointerAndRead<&[u8]>, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) + .expect("Failed to produce valid signature") + } +} + +impl RuntimePublic for Public { + type Signature = Signature; + + fn all(key_type: KeyTypeId) -> Vec { + let all = generic_key_interface::keys(key_type); + + all.iter() + .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) + .collect::>() + } + + fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { + let seed: [u8; 64] = seed + .unwrap_or({ + let mut res = [0u8; 64]; + OsRng.fill_bytes(&mut res); + + res.to_vec() + }) + .try_into() + .expect("Invalid seed size."); + + let keypair = crate::primitive::KeyPair::generate_from_seed(seed); + generic_key_interface::insert(key_type, seed, keypair.public().0); + + keypair.public() + } + + fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { + let crypto_id = CRYPTO_ID; + let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; + + Signature::try_from(bytes.as_ref()).ok() + } + + fn verify>(&self, msg: &M, signature: &Self::Signature) -> bool { + let msg = PoseidonJubjub::msg_from_bytes(msg.as_ref(), false) + .expect("With flag set to false, this should not fail. Report a bug."); + + let sig = SchnorrSignature::from_bytes(signature.as_ref()); + let pubkey = VerifyingKey::from_bytes(self.as_ref()); + + match (sig, pubkey) { + (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), + (_, _) => false, + } + } + + fn generate_proof_of_possession(&mut self, _key_type: KeyTypeId) -> Option { + unimplemented!() + } + + fn verify_proof_of_possession(&self, _pop: &Self::Signature) -> bool { + unimplemented!() + } + + fn to_raw_vec(&self) -> Vec { + self.as_slice().to_vec() + } +} From e0ada027a50acd3b3b98b08af732c380234e15d7 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Thu, 12 Jun 2025 10:22:41 +0200 Subject: [PATCH 22/51] cargo fmt --- demo/node/src/service.rs | 2 +- demo/node/src/staging.rs | 4 +- demo/node/src/testnet.rs | 4 +- demo/runtime/src/genesis_config_presets.rs | 2 +- demo/runtime/src/lib.rs | 12 +- .../src/filter_invalid_candidates.rs | 8 +- .../src/select_authorities.rs | 2 +- .../schnorr_jubjub/src/beefy_structures.rs | 350 +++++++++-------- toolkit/utils/schnorr_jubjub/src/keystore.rs | 276 ++++++------- toolkit/utils/schnorr_jubjub/src/lib.rs | 4 +- toolkit/utils/schnorr_jubjub/src/poseidon.rs | 153 ++++---- toolkit/utils/schnorr_jubjub/src/primitive.rs | 362 +++++++++--------- toolkit/utils/schnorr_jubjub/src/runtime.rs | 170 ++++---- 13 files changed, 667 insertions(+), 682 deletions(-) diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index d3f8b838c7..6316ee9249 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -16,10 +16,10 @@ use sc_rpc::SubscriptionTaskExecutor; use sc_service::{Configuration, TaskManager, WarpSyncConfig, error::Error as ServiceError}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; +use schnorr_jubjub::Public as BeefyId; use sidechain_domain::mainchain_epoch::MainchainEpochConfig; use sidechain_mc_hash::McHashInherentDigest; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; -use schnorr_jubjub::Public as BeefyId; use sp_partner_chains_consensus_aura::block_proposal::PartnerChainsProposerFactory; use sp_runtime::traits::Block as BlockT; diff --git a/demo/node/src/staging.rs b/demo/node/src/staging.rs index 014bef9cb9..c93b1bc033 100644 --- a/demo/node/src/staging.rs +++ b/demo/node/src/staging.rs @@ -19,7 +19,9 @@ pub fn authority_keys( sidechain_pub_key: &str, ) -> AuthorityKeys { let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); - let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap())); + let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw( + from_hex(beefy_pub_key).unwrap().try_into().unwrap(), + )); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index a640ac6e8a..f7f4625615 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -21,7 +21,9 @@ pub fn authority_keys( let aura_pk = sr25519::Public::from_raw(from_hex(aura_pub_key).unwrap().try_into().unwrap()); let granda_pk = ed25519::Public::from_raw(from_hex(grandpa_pub_key).unwrap().try_into().unwrap()); - let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw(from_hex(beefy_pub_key).unwrap().try_into().unwrap())); + let beefy_pk = schnorr_jubjub::Public(schnorr_jubjub::InnerPublicBytes::from_raw( + from_hex(beefy_pub_key).unwrap().try_into().unwrap(), + )); let sidechain_pk = sidechain_domain::SidechainPublicKey(from_hex(sidechain_pub_key).unwrap()); let session_keys = (aura_pk, beefy_pk, granda_pk).into(); diff --git a/demo/runtime/src/genesis_config_presets.rs b/demo/runtime/src/genesis_config_presets.rs index 3af00c4acd..906a639a51 100644 --- a/demo/runtime/src/genesis_config_presets.rs +++ b/demo/runtime/src/genesis_config_presets.rs @@ -20,9 +20,9 @@ use crate::{ test_helper_pallet, }; use alloc::{vec, vec::Vec}; +use schnorr_jubjub::Public as BeefyId; use serde_json::Value; use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use schnorr_jubjub::Public as BeefyId; use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::crypto::get_public_from_string_or_panic; use sp_genesis_builder::{self, PresetId}; diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index 8f3c87780d..e997332eee 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -36,6 +36,8 @@ use pallet_session_validator_management::session_manager::ValidatorManagementSes use pallet_transaction_payment::{ConstFeeMultiplier, FungibleAdapter, Multiplier}; use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; use scale_info::TypeInfo; +use schnorr::{Public as BeefyId, Public, Signature as BeefySignature}; +use schnorr_jubjub as schnorr; use serde::{Deserialize, Serialize}; use sidechain_domain::byte_string::{BoundedString, ByteString, SizedByteString}; use sidechain_domain::{ @@ -46,11 +48,7 @@ use sidechain_slots::Slot; use sp_api::impl_runtime_apis; use sp_block_participation::AsCardanoSPO; use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_consensus_beefy::{ - mmr::MmrLeafVersion, -}; -use schnorr_jubjub as schnorr; -use schnorr::{Public as BeefyId, Public, Signature as BeefySignature}; +use sp_consensus_beefy::mmr::MmrLeafVersion; #[cfg(feature = "runtime-benchmarks")] use sp_core::ByteArray; use sp_core::{OpaqueMetadata, crypto::KeyTypeId}; @@ -177,7 +175,9 @@ pub mod opaque { } } impl From<(sr25519::Public, schnorr::Public, ed25519::Public)> for SessionKeys { - fn from((aura, beefy, grandpa): (sr25519::Public, schnorr::Public, ed25519::Public)) -> Self { + fn from( + (aura, beefy, grandpa): (sr25519::Public, schnorr::Public, ed25519::Public), + ) -> Self { Self { aura: aura.into(), beefy: beefy.into(), grandpa: grandpa.into() } } } diff --git a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs index 3b975f9f80..ea5d2c2200 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs @@ -5,11 +5,11 @@ use frame_support::pallet_prelude::TypeInfo; use parity_scale_codec::{Decode, Encode}; use plutus::*; use plutus_datum_derive::ToDatum; +use schnorr_jubjub; #[cfg(feature = "std")] use serde::{Deserialize, Serialize}; use sidechain_domain::*; use sp_core::{ecdsa, ed25519, sr25519}; -use schnorr_jubjub; use sp_runtime::traits::Verify; /// Signed Message of the Authority Candidate to register @@ -275,8 +275,10 @@ pub fn validate_registration_data( stake_pool_pub_key: &StakePoolPublicKey, registration_data: &RegistrationData, genesis_utxo: UtxoId, -) -> Result<(ecdsa::Public, (sr25519::Public, schnorr_jubjub::Public, ed25519::Public)), RegistrationDataError> -{ +) -> Result< + (ecdsa::Public, (sr25519::Public, schnorr_jubjub::Public, ed25519::Public)), + RegistrationDataError, +> { let aura_pub_key = registration_data .aura_pub_key .try_into_sr25519() diff --git a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs index 8f4b050bcc..81ad9d8fdd 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs @@ -6,9 +6,9 @@ use crate::filter_invalid_candidates::{ }; use log::{info, warn}; use plutus::*; +use schnorr_jubjub; use sidechain_domain::{EpochNonce, ScEpochNumber, UtxoId}; use sp_core::{U256, ecdsa, ed25519, sr25519}; -use schnorr_jubjub; /// Selects authorities using the Ariadne selection algorithm and data sourced from Partner Chains smart contracts on Cardano. /// Seed is constructed from the MC epoch nonce and the sidechain epoch. diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index 4539be1aad..6f79211f61 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -7,28 +7,28 @@ //! infrastructure. use core::fmt::{Debug, Formatter}; -use std::{convert::TryInto, hash::Hash, fmt::Display}; +use std::{convert::TryInto, fmt::Display, hash::Hash}; +use crate::poseidon::PoseidonJubjub; use blstrs::{Fr, JubjubSubgroup}; use group::{Group, GroupEncoding}; use rand_core::OsRng; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use sha2::Digest; -use sp_consensus_beefy::{BeefyAuthorityId, BeefySignatureHasher, AuthorityIdBound}; +use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId, BeefySignatureHasher}; use sp_core::{ - ByteArray, Decode, DecodeWithMemTracking, DeriveJunction, Encode, MaxEncodedLen, - Pair as TraitPair, - crypto::{ - CryptoType, CryptoTypeId, Derive, DeriveError, KeyTypeId, PublicBytes, SecretStringError, - }, - crypto_bytes::SignatureBytes, + ByteArray, Decode, DecodeWithMemTracking, DeriveJunction, Encode, MaxEncodedLen, + Pair as TraitPair, + crypto::{ + CryptoType, CryptoTypeId, Derive, DeriveError, KeyTypeId, PublicBytes, SecretStringError, + }, + crypto_bytes::SignatureBytes, }; use sp_runtime::{ - RuntimeAppPublic, - app_crypto::{AppCrypto, AppPair, AppPublic, AppSignature}, - traits::Convert, + RuntimeAppPublic, + app_crypto::{AppCrypto, AppPair, AppPublic, AppSignature}, + traits::Convert, }; -use crate::poseidon::PoseidonJubjub; use crate::primitive::{SchnorrSignature, VerifyingKey}; @@ -54,88 +54,86 @@ pub type InnerPublicBytes = PublicBytes) -> std::fmt::Result { - write!(f, "0x{}", hex::encode(self.as_slice())) - } + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "0x{}", hex::encode(self.as_slice())) + } } impl Convert> for Public { - fn convert(beefy_id: Public) -> Vec { - beefy_id.as_slice().to_vec() - } + fn convert(beefy_id: Public) -> Vec { + beefy_id.as_slice().to_vec() + } } impl Serialize for Public { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_bytes(self.0.as_ref()) - } + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + serializer.serialize_bytes(self.0.as_ref()) + } } impl<'de> Deserialize<'de> for Public { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let bytes: &[u8] = Deserialize::deserialize(deserializer)?; - let key = Self::try_from(bytes) - .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; - Ok(key) - } + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + let bytes: &[u8] = Deserialize::deserialize(deserializer)?; + let key = Self::try_from(bytes) + .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; + Ok(key) + } } impl Debug for Public { - fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { - write!(f, "Public({:?})", self.as_slice()) - } + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + write!(f, "Public({:?})", self.as_slice()) + } } impl AuthorityIdBound for Public { - type BoundedSignature = Signature; + type BoundedSignature = Signature; } impl<'a> TryFrom<&'a [u8]> for Public { - type Error = - as TryFrom<&'a [u8]>>::Error; + type Error = + as TryFrom<&'a [u8]>>::Error; - fn try_from(value: &'a [u8]) -> Result { - Ok(Self( - PublicBytes::::try_from(value)?, - )) - } + fn try_from(value: &'a [u8]) -> Result { + Ok(Self(PublicBytes::::try_from(value)?)) + } } impl AsMut<[u8]> for Public { - fn as_mut(&mut self) -> &mut [u8] { - self.0.as_mut() - } + fn as_mut(&mut self) -> &mut [u8] { + self.0.as_mut() + } } impl AsRef<[u8]> for Public { - fn as_ref(&self) -> &[u8] { - self.0.as_ref() - } + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } } impl ByteArray for Public { - const LEN: usize = PUBLIC_SERIALIZED_SIZE; + const LEN: usize = PUBLIC_SERIALIZED_SIZE; } impl Derive for Public {} @@ -143,204 +141,198 @@ impl Derive for Public {} impl sp_core::Public for Public {} impl CryptoType for Public { - type Pair = crate::primitive::KeyPair; + type Pair = crate::primitive::KeyPair; } impl AppCrypto for Public { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; - const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; - type Public = Public; - type Signature = Signature; - type Pair = crate::primitive::KeyPair; + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; } impl AsRef for Public { - fn as_ref(&self) -> &Public { - self - } + fn as_ref(&self) -> &Public { + self + } } impl AsMut for Public { - fn as_mut(&mut self) -> &mut Public { - self - } + fn as_mut(&mut self) -> &mut Public { + self + } } impl AppPublic for Public { - type Generic = Public; + type Generic = Public; } pub type InnerSignatureBytes = SignatureBytes; /// Schnorr signature over JubJub #[derive( - Clone, - Eq, - Hash, - PartialEq, - Encode, - Decode, - DecodeWithMemTracking, - MaxEncodedLen, - scale_info::TypeInfo, + Clone, + Eq, + Hash, + PartialEq, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, + scale_info::TypeInfo, )] pub struct Signature(InnerSignatureBytes); impl Debug for Signature { - fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { - write!(f, "Public({:?})", self.as_slice()) - } + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { + write!(f, "Public({:?})", self.as_slice()) + } } impl CryptoType for Signature { - type Pair = crate::primitive::KeyPair; + type Pair = crate::primitive::KeyPair; } impl ByteArray for Signature { - const LEN: usize = SIGNATURE_SERIALIZED_SIZE; + const LEN: usize = SIGNATURE_SERIALIZED_SIZE; } impl AsRef<[u8]> for Signature { - fn as_ref(&self) -> &[u8] { - self.0.as_ref() - } + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } } impl AsMut<[u8]> for Signature { - fn as_mut(&mut self) -> &mut [u8] { - self.0.as_mut() - } + fn as_mut(&mut self) -> &mut [u8] { + self.0.as_mut() + } } impl<'a> TryFrom<&'a [u8]> for Signature { - type Error = - as TryFrom<&'a [u8]>>::Error; + type Error = + as TryFrom<&'a [u8]>>::Error; - fn try_from(value: &'a [u8]) -> Result { - Ok(Self(SignatureBytes::< - SIGNATURE_SERIALIZED_SIZE, - SchnorrJubJubTag, - >::try_from(value)?)) - } + fn try_from(value: &'a [u8]) -> Result { + Ok(Self(SignatureBytes::::try_from(value)?)) + } } impl AppCrypto for Signature { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; - const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; - type Public = Public; - type Signature = Signature; - type Pair = crate::primitive::KeyPair; + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; } impl AsRef for Signature { - fn as_ref(&self) -> &Signature { - self - } + fn as_ref(&self) -> &Signature { + self + } } impl AsMut for Signature { - fn as_mut(&mut self) -> &mut Signature { - self - } + fn as_mut(&mut self) -> &mut Signature { + self + } } impl AppSignature for Signature { - type Generic = Signature; + type Generic = Signature; } impl sp_core::crypto::Signature for Signature {} impl CryptoType for crate::primitive::KeyPair { - type Pair = crate::primitive::KeyPair; + type Pair = crate::primitive::KeyPair; } impl TraitPair for crate::primitive::KeyPair { - type Public = Public; - type Seed = Seed; - type Signature = Signature; + type Public = Public; + type Seed = Seed; + type Signature = Signature; - fn derive>( - &self, - _path: Iter, - _seed: Option, - ) -> Result<(Self, Option), DeriveError> { - unimplemented!() - } + fn derive>( + &self, + _path: Iter, + _seed: Option, + ) -> Result<(Self, Option), DeriveError> { + unimplemented!() + } - fn from_seed_slice(seed: &[u8]) -> Result { - if seed.len() != SEED_SERIALIZED_SIZE { - return Err(SecretStringError::InvalidSeedLength); - } + fn from_seed_slice(seed: &[u8]) -> Result { + if seed.len() != SEED_SERIALIZED_SIZE { + return Err(SecretStringError::InvalidSeedLength); + } - let h = sha2::Sha512::digest(&seed); + let h = sha2::Sha512::digest(&seed); - let secret = Fr::from_bytes_wide(&h.as_slice().try_into().unwrap()); - Ok(Self { - 0: secret, - 1: JubjubSubgroup::generator() * &secret, - }) - } + let secret = Fr::from_bytes_wide(&h.as_slice().try_into().unwrap()); + Ok(Self { 0: secret, 1: JubjubSubgroup::generator() * &secret }) + } - fn sign(&self, message: &[u8]) -> Self::Signature { - let msg = PoseidonJubjub::msg_from_bytes(message, false) - .expect("With flag set to false, this should not fail. Report a bug."); - let shcnorr_sig = self.sign(&msg, &mut OsRng); + fn sign(&self, message: &[u8]) -> Self::Signature { + let msg = PoseidonJubjub::msg_from_bytes(message, false) + .expect("With flag set to false, this should not fail. Report a bug."); + let shcnorr_sig = self.sign(&msg, &mut OsRng); - let bytes = shcnorr_sig.to_bytes(); + let bytes = shcnorr_sig.to_bytes(); - Signature(SignatureBytes::from_raw(bytes)) - } + Signature(SignatureBytes::from_raw(bytes)) + } - fn verify>(sig: &Self::Signature, message: M, pubkey: &Self::Public) -> bool { - let msg = PoseidonJubjub::msg_from_bytes(message.as_ref(), false) - .expect("With flag set to false, this should not fail. Report a bug."); + fn verify>(sig: &Self::Signature, message: M, pubkey: &Self::Public) -> bool { + let msg = PoseidonJubjub::msg_from_bytes(message.as_ref(), false) + .expect("With flag set to false, this should not fail. Report a bug."); - let sig = SchnorrSignature::from_bytes(sig.as_ref()); - let pubkey = VerifyingKey::from_bytes(pubkey.as_ref()); + let sig = SchnorrSignature::from_bytes(sig.as_ref()); + let pubkey = VerifyingKey::from_bytes(pubkey.as_ref()); - match (sig, pubkey) { - (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), - (_, _) => false, - } - } + match (sig, pubkey) { + (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), + (_, _) => false, + } + } - fn public(&self) -> Self::Public { - let bytes: [u8; 32] = self.1.to_bytes().try_into().unwrap(); + fn public(&self) -> Self::Public { + let bytes: [u8; 32] = self.1.to_bytes().try_into().unwrap(); - Public(PublicBytes::from(bytes)) - } + Public(PublicBytes::from(bytes)) + } - fn to_raw_vec(&self) -> Vec { - let mut res = Vec::with_capacity(64); - res.extend_from_slice(&self.0.to_bytes()); - res.extend_from_slice(&self.1.to_bytes()); + fn to_raw_vec(&self) -> Vec { + let mut res = Vec::with_capacity(64); + res.extend_from_slice(&self.0.to_bytes()); + res.extend_from_slice(&self.1.to_bytes()); - res - } + res + } } impl AppCrypto for crate::primitive::KeyPair { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; - const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; - type Public = Public; - type Signature = Signature; - type Pair = crate::primitive::KeyPair; + const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; + type Public = Public; + type Signature = Signature; + type Pair = crate::primitive::KeyPair; } impl AsRef for crate::primitive::KeyPair { - fn as_ref(&self) -> &crate::primitive::KeyPair { - self - } + fn as_ref(&self) -> &crate::primitive::KeyPair { + self + } } impl AsMut for crate::primitive::KeyPair { - fn as_mut(&mut self) -> &mut crate::primitive::KeyPair { - self - } + fn as_mut(&mut self) -> &mut crate::primitive::KeyPair { + self + } } impl AppPair for crate::primitive::KeyPair { - type Generic = crate::primitive::KeyPair; + type Generic = crate::primitive::KeyPair; } /// The raw secret seed, which can be used to reconstruct the secret @@ -348,7 +340,7 @@ impl AppPair for crate::primitive::KeyPair { type Seed = [u8; SEED_SERIALIZED_SIZE]; impl BeefyAuthorityId for Public { - fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { - ::verify(signature, msg, self) - } + fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { + ::verify(signature, msg, self) + } } diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs index 0d76640269..3091ee213c 100644 --- a/toolkit/utils/schnorr_jubjub/src/keystore.rs +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -8,152 +8,152 @@ use sc_keystore::LocalKeystore; use sp_application_crypto::Pair as TraitPair; use sp_core::{ - crypto::{ByteArray, CryptoTypeId, KeyTypeId}, - ecdsa, ed25519, sr25519, + crypto::{ByteArray, CryptoTypeId, KeyTypeId}, + ecdsa, ed25519, sr25519, }; use sp_keystore::{Error, Keystore}; use crate::{ - beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public}, - primitive::KeyPair as Pair, + beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public}, + primitive::KeyPair as Pair, }; /// Wrapper of the LocalKeystore pub struct SchnorrKeystore(pub LocalKeystore); impl Keystore for SchnorrKeystore { - fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec { - self.0.sr25519_public_keys(key_type) - } - - fn sr25519_generate_new( - &self, - key_type: KeyTypeId, - seed: Option<&str>, - ) -> Result { - self.0.sr25519_generate_new(key_type, seed) - } - - fn sr25519_sign( - &self, - key_type: KeyTypeId, - public: &sr25519::Public, - msg: &[u8], - ) -> Result, Error> { - self.0.sr25519_sign(key_type, public, msg) - } - - fn sr25519_vrf_sign( - &self, - key_type: KeyTypeId, - public: &sr25519::Public, - data: &sr25519::vrf::VrfSignData, - ) -> Result, Error> { - self.0.sr25519_vrf_sign(key_type, public, data) - } - - fn sr25519_vrf_pre_output( - &self, - key_type: KeyTypeId, - public: &sr25519::Public, - input: &sr25519::vrf::VrfInput, - ) -> Result, Error> { - self.0.sr25519_vrf_pre_output(key_type, public, input) - } - - fn ed25519_public_keys(&self, key_type: KeyTypeId) -> Vec { - self.0.ed25519_public_keys(key_type) - } - - fn ed25519_generate_new( - &self, - key_type: KeyTypeId, - seed: Option<&str>, - ) -> Result { - self.0.ed25519_generate_new(key_type, seed) - } - - fn ed25519_sign( - &self, - key_type: KeyTypeId, - public: &ed25519::Public, - msg: &[u8], - ) -> Result, Error> { - self.0.ed25519_sign(key_type, public, msg) - } - - fn ecdsa_public_keys(&self, key_type: KeyTypeId) -> Vec { - self.0.ecdsa_public_keys(key_type) - } - - fn ecdsa_generate_new( - &self, - key_type: KeyTypeId, - seed: Option<&str>, - ) -> Result { - self.0.ecdsa_generate_new(key_type, seed) - } - - fn ecdsa_sign( - &self, - key_type: KeyTypeId, - public: &ecdsa::Public, - msg: &[u8], - ) -> Result, Error> { - self.0.ecdsa_sign(key_type, public, msg) - } - - fn ecdsa_sign_prehashed( - &self, - key_type: KeyTypeId, - public: &ecdsa::Public, - msg: &[u8; 32], - ) -> Result, Error> { - self.0.ecdsa_sign_prehashed(key_type, public, msg) - } - - /// Insert a new secret key. - fn insert(&self, key_type: KeyTypeId, suri: &str, public: &[u8]) -> Result<(), ()> { - self.0.insert(key_type, suri, public) - } - - /// List all supported keys of a given type. - /// - /// Returns a set of public keys the signer supports in raw format. - fn keys(&self, key_type: KeyTypeId) -> Result>, Error> { - self.0.keys(key_type) - } - - /// Checks if the private keys for the given public key and key type - /// combinations exist. - /// - /// Returns `true` iff all private keys could be found. - fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { - self.0.has_keys(public_keys) - } - - fn sign_with( - &self, - id: KeyTypeId, - crypto_id: CryptoTypeId, - public: &[u8], - msg: &[u8], - ) -> Result>, Error> { - let signature = match crypto_id { - CRYPTO_ID => { - let pk_bytes: [u8; 32] = public.try_into().expect("Invalid PK format"); - let pk = Public(InnerPublicBytes::from(pk_bytes)); - if let Some(pair) = self.0.key_pair(&pk).unwrap() { - let shcnorr_sig: Vec = - ::sign(&pair, msg).as_slice().to_vec(); - Some(shcnorr_sig) - } else { - None - } - } - _ => self.0.sign_with(id, crypto_id, public, msg)?, - }; - - Ok(signature) - } + fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.sr25519_public_keys(key_type) + } + + fn sr25519_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.sr25519_generate_new(key_type, seed) + } + + fn sr25519_sign( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.sr25519_sign(key_type, public, msg) + } + + fn sr25519_vrf_sign( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + data: &sr25519::vrf::VrfSignData, + ) -> Result, Error> { + self.0.sr25519_vrf_sign(key_type, public, data) + } + + fn sr25519_vrf_pre_output( + &self, + key_type: KeyTypeId, + public: &sr25519::Public, + input: &sr25519::vrf::VrfInput, + ) -> Result, Error> { + self.0.sr25519_vrf_pre_output(key_type, public, input) + } + + fn ed25519_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.ed25519_public_keys(key_type) + } + + fn ed25519_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.ed25519_generate_new(key_type, seed) + } + + fn ed25519_sign( + &self, + key_type: KeyTypeId, + public: &ed25519::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.ed25519_sign(key_type, public, msg) + } + + fn ecdsa_public_keys(&self, key_type: KeyTypeId) -> Vec { + self.0.ecdsa_public_keys(key_type) + } + + fn ecdsa_generate_new( + &self, + key_type: KeyTypeId, + seed: Option<&str>, + ) -> Result { + self.0.ecdsa_generate_new(key_type, seed) + } + + fn ecdsa_sign( + &self, + key_type: KeyTypeId, + public: &ecdsa::Public, + msg: &[u8], + ) -> Result, Error> { + self.0.ecdsa_sign(key_type, public, msg) + } + + fn ecdsa_sign_prehashed( + &self, + key_type: KeyTypeId, + public: &ecdsa::Public, + msg: &[u8; 32], + ) -> Result, Error> { + self.0.ecdsa_sign_prehashed(key_type, public, msg) + } + + /// Insert a new secret key. + fn insert(&self, key_type: KeyTypeId, suri: &str, public: &[u8]) -> Result<(), ()> { + self.0.insert(key_type, suri, public) + } + + /// List all supported keys of a given type. + /// + /// Returns a set of public keys the signer supports in raw format. + fn keys(&self, key_type: KeyTypeId) -> Result>, Error> { + self.0.keys(key_type) + } + + /// Checks if the private keys for the given public key and key type + /// combinations exist. + /// + /// Returns `true` iff all private keys could be found. + fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { + self.0.has_keys(public_keys) + } + + fn sign_with( + &self, + id: KeyTypeId, + crypto_id: CryptoTypeId, + public: &[u8], + msg: &[u8], + ) -> Result>, Error> { + let signature = match crypto_id { + CRYPTO_ID => { + let pk_bytes: [u8; 32] = public.try_into().expect("Invalid PK format"); + let pk = Public(InnerPublicBytes::from(pk_bytes)); + if let Some(pair) = self.0.key_pair(&pk).unwrap() { + let shcnorr_sig: Vec = + ::sign(&pair, msg).as_slice().to_vec(); + Some(shcnorr_sig) + } else { + None + } + }, + _ => self.0.sign_with(id, crypto_id, public, msg)?, + }; + + Ok(signature) + } } diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 189278433e..8f1a813dc5 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -5,8 +5,8 @@ mod beefy_structures; mod keystore; +mod poseidon; mod primitive; mod runtime; -mod poseidon; -pub use beefy_structures::{Public, InnerPublicBytes, Signature}; +pub use beefy_structures::{InnerPublicBytes, Public, Signature}; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon.rs b/toolkit/utils/schnorr_jubjub/src/poseidon.rs index b732ad66ac..d6d979074b 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon.rs @@ -6,25 +6,24 @@ use blstrs::Scalar; use midnight_circuits::hash::poseidon::PoseidonChip; use midnight_circuits::instructions::SpongeCPU; +use hash256_std_hasher::Hash256StdHasher; use scale_info::TypeInfo; -use sp_runtime::{traits::Hash, StateVersion}; -use sp_core::Hasher; +use serde::{Deserialize, Serialize}; use sp_core::H256; +use sp_core::Hasher; use sp_runtime::RuntimeDebug; -use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; -use hash256_std_hasher::Hash256StdHasher; -use serde::{Serialize, Deserialize}; -use sp_runtime_interface::runtime_interface; +use sp_runtime::{StateVersion, traits::Hash}; use sp_runtime_interface::pass_by::{AllocateAndReturnPointer, PassAs, PassFatPointerAndDecode}; +use sp_runtime_interface::runtime_interface; +use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; #[derive(Debug)] pub enum PoseidonError { - /// Error produced when trying to convert bytes to field element - NotCanonical, + /// Error produced when trying to convert bytes to field element + NotCanonical, } -#[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo)] -#[derive(Serialize, Deserialize)] +#[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo, Serialize, Deserialize)] pub struct PoseidonJubjub; sp_core::impl_maybe_marker_std_or_serde!( @@ -36,88 +35,86 @@ sp_core::impl_maybe_marker_std_or_serde!( ); impl PoseidonJubjub { - /// Converts a byte slice into a vector of `Scalar` field elements suitable - /// for Poseidon hashing. - /// - /// Poseidon operates over field elements, so this function transforms raw - /// bytes into `Scalar`s. - /// - /// - If `format_scalars` is `true`, the input is assumed to already contain - /// valid field elements. Each 32-byte chunk is interpreted as a canonical - /// `Scalar`. - /// - /// - If `format_scalars` is `false`, the input is processed in 31-byte - /// chunks to ensure that each resulting value falls within the canonical - /// range of the field. - /// - /// Returns a `Vec` on success, or an `Error` if canonical - /// conversion fails. - pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { - let chunk_len = if format_scalars { 32 } else { 31 }; - - msg.chunks(chunk_len) - .map(|scalar| { - let mut bytes = [0u8; 32]; - bytes[..scalar.len()].copy_from_slice(scalar); - Scalar::from_bytes_le(&bytes) - .into_option() - .ok_or(PoseidonError::NotCanonical) - }) - .collect::, PoseidonError>>() - } + /// Converts a byte slice into a vector of `Scalar` field elements suitable + /// for Poseidon hashing. + /// + /// Poseidon operates over field elements, so this function transforms raw + /// bytes into `Scalar`s. + /// + /// - If `format_scalars` is `true`, the input is assumed to already contain + /// valid field elements. Each 32-byte chunk is interpreted as a canonical + /// `Scalar`. + /// + /// - If `format_scalars` is `false`, the input is processed in 31-byte + /// chunks to ensure that each resulting value falls within the canonical + /// range of the field. + /// + /// Returns a `Vec` on success, or an `Error` if canonical + /// conversion fails. + pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { + let chunk_len = if format_scalars { 32 } else { 31 }; + + msg.chunks(chunk_len) + .map(|scalar| { + let mut bytes = [0u8; 32]; + bytes[..scalar.len()].copy_from_slice(scalar); + Scalar::from_bytes_le(&bytes).into_option().ok_or(PoseidonError::NotCanonical) + }) + .collect::, PoseidonError>>() + } } impl Hasher for PoseidonJubjub { - type Out = sp_core::H256; - type StdHasher = Hash256StdHasher; - const LENGTH: usize = 32; + type Out = sp_core::H256; + type StdHasher = Hash256StdHasher; + const LENGTH: usize = 32; - fn hash(s: &[u8]) -> Self::Out { - // TODO: we are assuming false - would be ideal if we could assume true - let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); + fn hash(s: &[u8]) -> Self::Out { + // TODO: we are assuming false - would be ideal if we could assume true + let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); - let mut hasher = as SpongeCPU>::init(Some(msg.len())); - as SpongeCPU>::absorb(&mut hasher, &msg); + let mut hasher = as SpongeCPU>::init(Some(msg.len())); + as SpongeCPU>::absorb(&mut hasher, &msg); - let out_fr = as SpongeCPU>::squeeze(&mut hasher); + let out_fr = as SpongeCPU>::squeeze(&mut hasher); - out_fr.to_bytes_le().into() - } + out_fr.to_bytes_le().into() + } } #[runtime_interface] pub trait PoseidonTrie { - /// A trie root formed from the iterated items using Poseidon - fn poseidon_jubjub_root( - input: PassFatPointerAndDecode, Vec)>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::trie_root(input), - StateVersion::V1 => LayoutV1::::trie_root(input), - } - } - - /// A trie root formed from the enumerated items using Poseidon - fn poseidon_jubjub_ordered_root( - input: PassFatPointerAndDecode>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::ordered_trie_root(input), - StateVersion::V1 => LayoutV1::::ordered_trie_root(input), - } - } + /// A trie root formed from the iterated items using Poseidon + fn poseidon_jubjub_root( + input: PassFatPointerAndDecode, Vec)>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::trie_root(input), + StateVersion::V1 => LayoutV1::::trie_root(input), + } + } + + /// A trie root formed from the enumerated items using Poseidon + fn poseidon_jubjub_ordered_root( + input: PassFatPointerAndDecode>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::ordered_trie_root(input), + StateVersion::V1 => LayoutV1::::ordered_trie_root(input), + } + } } impl Hash for PoseidonJubjub { - type Output = H256; + type Output = H256; - fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_ordered_root(input, version) - } + fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_ordered_root(input, version) + } - fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_root(input, version) - } + fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_root(input, version) + } } diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index 8d2e6f8fa9..27cb9cfd1d 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -9,14 +9,14 @@ use core::fmt::Debug; +use crate::poseidon::PoseidonError; use blstrs::{Fr, JubjubExtended, JubjubSubgroup as Point, Scalar}; use ff::Field; use group::{Group, GroupEncoding}; use midnight_circuits::{ - ecc::curves::CircuitCurve, hash::poseidon::PoseidonChip, instructions::SpongeCPU, + ecc::curves::CircuitCurve, hash::poseidon::PoseidonChip, instructions::SpongeCPU, }; use rand_core::{CryptoRng, RngCore}; -use crate::poseidon::PoseidonError; /// Poseidon hash function pub type Poseidon = PoseidonChip; @@ -33,225 +33,215 @@ pub struct VerifyingKey(Point); /// signature response `r`. #[derive(Clone, Debug, Eq, PartialEq)] pub struct SchnorrSignature { - A: Point, - r: Fr, + A: Point, + r: Fr, } #[derive(Debug)] /// Error type used in Schnorr signatures pub enum SchnorrError { - /// Error converting a message represented in bytes to its field - /// representation. - InvalidMsgFormat, - /// Error converting bytes to a signature. - InvalidSignatureFormat, - /// Error converting bytes to a public key. - InvalidPkFormat, - /// Error verifying a signature. - InvalidSignature, + /// Error converting a message represented in bytes to its field + /// representation. + InvalidMsgFormat, + /// Error converting bytes to a signature. + InvalidSignatureFormat, + /// Error converting bytes to a public key. + InvalidPkFormat, + /// Error verifying a signature. + InvalidSignature, } impl From for SchnorrError { - fn from(value: PoseidonError) -> Self { - match value { - PoseidonError::NotCanonical => Self::InvalidMsgFormat - } - } + fn from(value: PoseidonError) -> Self { + match value { + PoseidonError::NotCanonical => Self::InvalidMsgFormat, + } + } } impl KeyPair { - /// Returns the verifying key - pub fn vk(&self) -> VerifyingKey { - VerifyingKey(self.1) - } - - /// Generate a Schnorr keypair from a random number generator. - pub fn generate(rng: &mut R) -> Self { - let sk = Fr::random(rng); - let pk = Point::generator() * sk; - Self(sk, pk) - } - - /// Generates a Schnorr keypair from a seed. - pub fn generate_from_seed(seed: [u8; 64]) -> Self { - let sk = Fr::from_bytes_wide(&seed); - let pk = Point::generator() * sk; - Self(sk, pk) - } - - /// Sign a message using this private key. - /// - /// # Arguments - /// - `msg`: byte slice representing the message - /// - `poseidon`: instance of the Poseidon hash function (preconfigured) - /// - /// # Returns - /// A Schnorr `Signature`. - pub fn sign(&self, msg: &[Scalar], rng: &mut (impl RngCore + CryptoRng)) -> SchnorrSignature { - // Generate a random nonce - let a = Fr::random(rng); - let A = Point::generator() * a; - - // Compute challenge e = H(R || PK || msg) - let c_input = [&to_coords(&A), &to_coords(&self.1), msg].concat(); - let c = hash_to_jj_scalar(&c_input); - - // Compute the response, r = a + c * sk - let r = a + c * self.0; - - SchnorrSignature { A, r } - } + /// Returns the verifying key + pub fn vk(&self) -> VerifyingKey { + VerifyingKey(self.1) + } + + /// Generate a Schnorr keypair from a random number generator. + pub fn generate(rng: &mut R) -> Self { + let sk = Fr::random(rng); + let pk = Point::generator() * sk; + Self(sk, pk) + } + + /// Generates a Schnorr keypair from a seed. + pub fn generate_from_seed(seed: [u8; 64]) -> Self { + let sk = Fr::from_bytes_wide(&seed); + let pk = Point::generator() * sk; + Self(sk, pk) + } + + /// Sign a message using this private key. + /// + /// # Arguments + /// - `msg`: byte slice representing the message + /// - `poseidon`: instance of the Poseidon hash function (preconfigured) + /// + /// # Returns + /// A Schnorr `Signature`. + pub fn sign(&self, msg: &[Scalar], rng: &mut (impl RngCore + CryptoRng)) -> SchnorrSignature { + // Generate a random nonce + let a = Fr::random(rng); + let A = Point::generator() * a; + + // Compute challenge e = H(R || PK || msg) + let c_input = [&to_coords(&A), &to_coords(&self.1), msg].concat(); + let c = hash_to_jj_scalar(&c_input); + + // Compute the response, r = a + c * sk + let r = a + c * self.0; + + SchnorrSignature { A, r } + } } impl SchnorrSignature { - /// Verify a Schnorr signature. - /// - /// # Arguments - /// - `msg`: byte slice of the original signed message - /// - `sig`: the `Signature` object to verify - /// - `poseidon`: Poseidon hash function instance - /// - /// # Error - /// Function fails if the signature is not valid - pub fn verify(&self, msg: &[Scalar], pk: &VerifyingKey) -> Result<(), SchnorrError> { - let c_input = [&to_coords(&self.A), &to_coords(&pk.0), msg].concat(); - let c = hash_to_jj_scalar(&c_input); - - if Point::generator() * self.r == self.A + pk.0 * c { - Ok(()) - } else { - Err(SchnorrError::InvalidSignature) - } - } + /// Verify a Schnorr signature. + /// + /// # Arguments + /// - `msg`: byte slice of the original signed message + /// - `sig`: the `Signature` object to verify + /// - `poseidon`: Poseidon hash function instance + /// + /// # Error + /// Function fails if the signature is not valid + pub fn verify(&self, msg: &[Scalar], pk: &VerifyingKey) -> Result<(), SchnorrError> { + let c_input = [&to_coords(&self.A), &to_coords(&pk.0), msg].concat(); + let c = hash_to_jj_scalar(&c_input); + + if Point::generator() * self.r == self.A + pk.0 * c { + Ok(()) + } else { + Err(SchnorrError::InvalidSignature) + } + } } impl SchnorrSignature { - /// Converts a signature to a byte array. - pub fn to_bytes(&self) -> [u8; 64] { - let mut out = [0u8; 64]; - out[..32].copy_from_slice(&self.A.to_bytes()); - out[32..].copy_from_slice(&self.r.to_bytes()); - - out - } - - /// Converts a slice of bytes to a Signature - /// - /// # Error - /// if the bytes do not represent a canonical `(Point, Scalar)` pair. - pub fn from_bytes(bytes: &[u8]) -> Result { - if bytes.len() != 64 { - return Err(SchnorrError::InvalidSignatureFormat); - } - let A = Point::from_bytes(&bytes[..32].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidSignatureFormat)?; - let r = Fr::from_bytes(&bytes[32..].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidSignatureFormat)?; - - Ok(Self { A, r }) - } + /// Converts a signature to a byte array. + pub fn to_bytes(&self) -> [u8; 64] { + let mut out = [0u8; 64]; + out[..32].copy_from_slice(&self.A.to_bytes()); + out[32..].copy_from_slice(&self.r.to_bytes()); + + out + } + + /// Converts a slice of bytes to a Signature + /// + /// # Error + /// if the bytes do not represent a canonical `(Point, Scalar)` pair. + pub fn from_bytes(bytes: &[u8]) -> Result { + if bytes.len() != 64 { + return Err(SchnorrError::InvalidSignatureFormat); + } + let A = Point::from_bytes(&bytes[..32].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidSignatureFormat)?; + let r = Fr::from_bytes(&bytes[32..].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidSignatureFormat)?; + + Ok(Self { A, r }) + } } impl VerifyingKey { - /// Converts a verifying key to a byte array. - pub fn to_bytes(&self) -> [u8; 32] { - self.0.to_bytes() - } - - /// Converts a slice of bytes to a VerifyingKey - /// - /// # Error - /// if the bytes do not represent a canonical `Point` pair. - pub fn from_bytes(bytes: &[u8]) -> Result { - if bytes.len() != 32 { - return Err(SchnorrError::InvalidPkFormat); - } - - let pk = Point::from_bytes(&bytes[..32].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidPkFormat)?; - - Ok(Self(pk)) - } + /// Converts a verifying key to a byte array. + pub fn to_bytes(&self) -> [u8; 32] { + self.0.to_bytes() + } + + /// Converts a slice of bytes to a VerifyingKey + /// + /// # Error + /// if the bytes do not represent a canonical `Point` pair. + pub fn from_bytes(bytes: &[u8]) -> Result { + if bytes.len() != 32 { + return Err(SchnorrError::InvalidPkFormat); + } + + let pk = Point::from_bytes(&bytes[..32].try_into().unwrap()) + .into_option() + .ok_or(SchnorrError::InvalidPkFormat)?; + + Ok(Self(pk)) + } } /// Helper function that converts a `JubJubSubgroup` point to its coordinates fn to_coords(point: &Point) -> Vec { - let extended_point: JubjubExtended = (*point).into(); - let coords = extended_point.coordinates().expect("Cannot be identity"); + let extended_point: JubjubExtended = (*point).into(); + let coords = extended_point.coordinates().expect("Cannot be identity"); - vec![coords.0, coords.1] + vec![coords.0, coords.1] } /// Helper function that hashes into a JubJub scalar, by taking the mod /// reduction of the output (which is in the base field, or BLS12-381's scalar /// field). fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { - let mut state = Poseidon::init(Some(input.len())); - Poseidon::absorb(&mut state, input); - let e = Poseidon::squeeze(&mut state); + let mut state = Poseidon::init(Some(input.len())); + Poseidon::absorb(&mut state, input); + let e = Poseidon::squeeze(&mut state); - // Now we need to convert a BLS scalar to a JubJub scalar - let mut bytes_wide = [0u8; 64]; - bytes_wide[..32].copy_from_slice(&e.to_bytes_le()); + // Now we need to convert a BLS scalar to a JubJub scalar + let mut bytes_wide = [0u8; 64]; + bytes_wide[..32].copy_from_slice(&e.to_bytes_le()); - Fr::from_bytes_wide(&bytes_wide) + Fr::from_bytes_wide(&bytes_wide) } #[cfg(test)] mod tests { - use rand_core::OsRng; - - use super::*; - - #[test] - fn schnorr_jubjub() { - let mut rng = OsRng; - - let signing_key = Pair::generate(&mut rng); - let msg = Scalar::random(&mut rng); - - let sig = signing_key.sign(&[msg], &mut rng); - - assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); - } - - #[test] - fn schnorr_jubjub_bytes() { - let mut rng = OsRng; - - let signing_key = Pair::generate(&mut rng); - let msg = Scalar::random(&mut rng).to_bytes_le(); - - let sig = signing_key.sign( - &SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), - &mut rng, - ); - - assert!( - sig.verify( - &SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), - &signing_key.vk() - ) - .is_ok() - ); - - let mut msg = [0u8; 100]; - rng.fill_bytes(&mut msg); - - let sig = signing_key.sign( - &SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), - &mut rng, - ); - - assert!( - sig.verify( - &SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), - &signing_key.vk() - ) - .is_ok() - ); - } + use rand_core::OsRng; + + use super::*; + + #[test] + fn schnorr_jubjub() { + let mut rng = OsRng; + + let signing_key = Pair::generate(&mut rng); + let msg = Scalar::random(&mut rng); + + let sig = signing_key.sign(&[msg], &mut rng); + + assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); + } + + #[test] + fn schnorr_jubjub_bytes() { + let mut rng = OsRng; + + let signing_key = Pair::generate(&mut rng); + let msg = Scalar::random(&mut rng).to_bytes_le(); + + let sig = + signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); + + assert!( + sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) + .is_ok() + ); + + let mut msg = [0u8; 100]; + rng.fill_bytes(&mut msg); + + let sig = + signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); + + assert!( + sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) + .is_ok() + ); + } } diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index aa3f9052fb..ee7d621ce2 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -8,118 +8,118 @@ use std::convert::TryInto; use rand_core::{OsRng, RngCore}; use sp_core::{ - ByteArray, Pair as TraitPair, - crypto::{CryptoTypeId, KeyTypeId}, + ByteArray, Pair as TraitPair, + crypto::{CryptoTypeId, KeyTypeId}, }; use sp_externalities::ExternalitiesExt; use sp_keystore::KeystoreExt; use sp_runtime::app_crypto::RuntimePublic; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, - runtime_interface, + pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, + runtime_interface, }; +use crate::poseidon::PoseidonJubjub; use crate::{ - beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, - primitive::{SchnorrSignature, VerifyingKey}, + beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, + primitive::{SchnorrSignature, VerifyingKey}, }; -use crate::poseidon::PoseidonJubjub; #[runtime_interface] pub trait GenericKeyInterface { - fn keys( - &mut self, - id: PassPointerAndReadCopy, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .keys(id) - .expect("Key type not found in keystore") - } - - fn insert( - &mut self, - id: PassPointerAndReadCopy, - suri: PassPointerAndReadCopy<[u8; 64], 64>, - public: PassPointerAndReadCopy, - ) { - self.extension::() - .expect("No `keystore` associated for the current context!") - .insert(id, &hex::encode(&suri), public.as_ref()) - .expect("Failed to insert key in keystore") - } - - fn sign_with( - &mut self, - id: PassPointerAndReadCopy, - crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, - public: PassPointerAndReadCopy, - msg: PassFatPointerAndRead<&[u8]>, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) - .expect("Failed to produce valid signature") - } + fn keys( + &mut self, + id: PassPointerAndReadCopy, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .keys(id) + .expect("Key type not found in keystore") + } + + fn insert( + &mut self, + id: PassPointerAndReadCopy, + suri: PassPointerAndReadCopy<[u8; 64], 64>, + public: PassPointerAndReadCopy, + ) { + self.extension::() + .expect("No `keystore` associated for the current context!") + .insert(id, &hex::encode(&suri), public.as_ref()) + .expect("Failed to insert key in keystore") + } + + fn sign_with( + &mut self, + id: PassPointerAndReadCopy, + crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, + public: PassPointerAndReadCopy, + msg: PassFatPointerAndRead<&[u8]>, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) + .expect("Failed to produce valid signature") + } } impl RuntimePublic for Public { - type Signature = Signature; + type Signature = Signature; - fn all(key_type: KeyTypeId) -> Vec { - let all = generic_key_interface::keys(key_type); + fn all(key_type: KeyTypeId) -> Vec { + let all = generic_key_interface::keys(key_type); - all.iter() - .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) - .collect::>() - } + all.iter() + .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) + .collect::>() + } - fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let seed: [u8; 64] = seed - .unwrap_or({ - let mut res = [0u8; 64]; - OsRng.fill_bytes(&mut res); + fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { + let seed: [u8; 64] = seed + .unwrap_or({ + let mut res = [0u8; 64]; + OsRng.fill_bytes(&mut res); - res.to_vec() - }) - .try_into() - .expect("Invalid seed size."); + res.to_vec() + }) + .try_into() + .expect("Invalid seed size."); - let keypair = crate::primitive::KeyPair::generate_from_seed(seed); - generic_key_interface::insert(key_type, seed, keypair.public().0); + let keypair = crate::primitive::KeyPair::generate_from_seed(seed); + generic_key_interface::insert(key_type, seed, keypair.public().0); - keypair.public() - } + keypair.public() + } - fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { - let crypto_id = CRYPTO_ID; - let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; + fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { + let crypto_id = CRYPTO_ID; + let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; - Signature::try_from(bytes.as_ref()).ok() - } + Signature::try_from(bytes.as_ref()).ok() + } - fn verify>(&self, msg: &M, signature: &Self::Signature) -> bool { - let msg = PoseidonJubjub::msg_from_bytes(msg.as_ref(), false) - .expect("With flag set to false, this should not fail. Report a bug."); + fn verify>(&self, msg: &M, signature: &Self::Signature) -> bool { + let msg = PoseidonJubjub::msg_from_bytes(msg.as_ref(), false) + .expect("With flag set to false, this should not fail. Report a bug."); - let sig = SchnorrSignature::from_bytes(signature.as_ref()); - let pubkey = VerifyingKey::from_bytes(self.as_ref()); + let sig = SchnorrSignature::from_bytes(signature.as_ref()); + let pubkey = VerifyingKey::from_bytes(self.as_ref()); - match (sig, pubkey) { - (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), - (_, _) => false, - } - } + match (sig, pubkey) { + (Ok(sig), Ok(pubkey)) => sig.verify(&msg, &pubkey).is_ok(), + (_, _) => false, + } + } - fn generate_proof_of_possession(&mut self, _key_type: KeyTypeId) -> Option { - unimplemented!() - } + fn generate_proof_of_possession(&mut self, _key_type: KeyTypeId) -> Option { + unimplemented!() + } - fn verify_proof_of_possession(&self, _pop: &Self::Signature) -> bool { - unimplemented!() - } + fn verify_proof_of_possession(&self, _pop: &Self::Signature) -> bool { + unimplemented!() + } - fn to_raw_vec(&self) -> Vec { - self.as_slice().to_vec() - } + fn to_raw_vec(&self) -> Vec { + self.as_slice().to_vec() + } } From a8d79cd47b06f3aefe5b53426158ed3ff6550b45 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 16 Jun 2025 20:37:52 +0200 Subject: [PATCH 23/51] Updated dependencies --- Cargo.lock | 256 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 158 ++++++++++++++++----------------- 2 files changed, 207 insertions(+), 207 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eef627b85c..703164571b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -879,7 +879,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "hash-db", "log", @@ -2956,7 +2956,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", ] @@ -3000,7 +3000,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "frame-support-procedural", @@ -3024,7 +3024,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "aquamarine", "frame-support", @@ -3054,7 +3054,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3070,7 +3070,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3111,7 +3111,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "Inflector", "cfg-expr", @@ -3131,7 +3131,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", @@ -3143,7 +3143,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "proc-macro2", "quote", @@ -3153,7 +3153,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "cfg-if", "docify", @@ -3172,7 +3172,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-benchmarking", "frame-support", @@ -3186,7 +3186,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "parity-scale-codec", @@ -3196,7 +3196,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "parity-scale-codec", @@ -6532,7 +6532,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "frame-system", @@ -6548,7 +6548,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "frame-system", @@ -6561,7 +6561,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6584,7 +6584,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "frame-benchmarking", @@ -6600,7 +6600,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "frame-system", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6768,7 +6768,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6790,7 +6790,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "parity-scale-codec", @@ -6835,7 +6835,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-support", "frame-system", @@ -6954,7 +6954,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "frame-benchmarking", @@ -6969,7 +6969,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "frame-benchmarking", @@ -6987,7 +6987,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-benchmarking", "frame-support", @@ -7002,7 +7002,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7018,7 +7018,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7749,7 +7749,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "frame-benchmarking", @@ -9014,7 +9014,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "sp-core", @@ -9025,7 +9025,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "futures", "log", @@ -9046,7 +9046,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "sp-api", @@ -9061,7 +9061,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "docify", @@ -9087,7 +9087,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -9098,7 +9098,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -9140,7 +9140,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "fnv", "futures", @@ -9166,7 +9166,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "hash-db", "kvdb", @@ -9194,7 +9194,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -9217,7 +9217,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -9246,7 +9246,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9280,7 +9280,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "futures", "jsonrpsee", @@ -9300,7 +9300,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9344,7 +9344,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "finality-grandpa", "futures", @@ -9364,7 +9364,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -9387,7 +9387,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9410,7 +9410,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "polkavm", "sc-allocator", @@ -9423,7 +9423,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "polkavm", @@ -9434,7 +9434,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "anyhow", "log", @@ -9450,7 +9450,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "console", "futures", @@ -9466,7 +9466,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9480,7 +9480,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9508,7 +9508,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9568,7 +9568,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "ahash", "futures", @@ -9587,7 +9587,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9608,7 +9608,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9643,7 +9643,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-channel", "async-trait", @@ -9676,7 +9676,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9695,7 +9695,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "bs58", "bytes", @@ -9753,7 +9753,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9762,7 +9762,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "futures", "jsonrpsee", @@ -9794,7 +9794,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9814,7 +9814,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9838,7 +9838,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9871,7 +9871,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "directories", @@ -9935,7 +9935,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "parity-scale-codec", @@ -9946,7 +9946,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "derive_more 0.99.20", "futures", @@ -9966,7 +9966,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "chrono", "futures", @@ -9985,7 +9985,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "chrono", "console", @@ -10013,7 +10013,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -10024,7 +10024,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -10055,7 +10055,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -10072,7 +10072,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-channel", "futures", @@ -10853,7 +10853,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "hash-db", @@ -10875,7 +10875,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10889,7 +10889,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10901,7 +10901,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "integer-sqrt", @@ -10915,7 +10915,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "sp-api", "sp-inherents", @@ -10978,7 +10978,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "futures", "parity-scale-codec", @@ -10997,7 +10997,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "futures", @@ -11011,7 +11011,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11027,7 +11027,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11045,7 +11045,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11065,7 +11065,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "finality-grandpa", "log", @@ -11082,7 +11082,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11093,7 +11093,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -11141,7 +11141,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "blake2b_simd", "byteorder", @@ -11154,7 +11154,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "quote", "sp-crypto-hashing", @@ -11164,7 +11164,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -11173,7 +11173,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "proc-macro2", "quote", @@ -11183,7 +11183,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "environmental", "parity-scale-codec", @@ -11193,7 +11193,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11223,7 +11223,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11236,7 +11236,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "bytes", "docify", @@ -11262,7 +11262,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "sp-core", "sp-runtime", @@ -11272,7 +11272,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11283,7 +11283,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11292,7 +11292,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11302,7 +11302,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11313,7 +11313,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "log", "parity-scale-codec", @@ -11349,7 +11349,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "sp-api", "sp-core", @@ -11359,7 +11359,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "backtrace", "regex", @@ -11380,7 +11380,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11390,7 +11390,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "binary-merkle-tree", "docify", @@ -11419,7 +11419,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11438,7 +11438,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "Inflector", "expander", @@ -11451,7 +11451,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11524,7 +11524,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11537,7 +11537,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "hash-db", "log", @@ -11557,7 +11557,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11581,12 +11581,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11598,7 +11598,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11610,7 +11610,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "tracing", @@ -11621,7 +11621,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "sp-api", "sp-runtime", @@ -11630,7 +11630,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11644,7 +11644,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "ahash", "hash-db", @@ -11667,7 +11667,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11684,7 +11684,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -11696,7 +11696,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11708,7 +11708,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -12073,7 +12073,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "hmac", "pbkdf2", @@ -12085,12 +12085,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -12110,7 +12110,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -12124,7 +12124,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -12149,7 +12149,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12194,7 +12194,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "futures", "sc-block-builder", @@ -12212,7 +12212,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=56dac31b63dbc8b639922003233522da573b9a66#56dac31b63dbc8b639922003233522da573b9a66" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" dependencies = [ "array-bytes 6.2.3", "build-helper", diff --git a/Cargo.toml b/Cargo.toml index a640be58a4..c08b68e96e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -187,84 +187,84 @@ derive-where = { version = "1.2.7", default-features = false } once_cell = { version = "1.21.3", default-features = false } # substrate dependencies -frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } -substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "56dac31b63dbc8b639922003233522da573b9a66" } +frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v7.2.2" } # local dependencies @@ -344,4 +344,4 @@ partner-chains-demo-runtime = { path = "demo/runtime" } # Schnorr experiments schnorr_jubjub = { path = "toolkit/utils/schnorr_jubjub", default-features = false } -hash256-std-hasher = { version = "0.15.2", default-features = false } \ No newline at end of file +hash256-std-hasher = { version = "0.15.2", default-features = false } From 584c19314d55356f5710df1bc174936a8325ee40 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Tue, 17 Jun 2025 11:27:09 +0200 Subject: [PATCH 24/51] Update dependencies #2 --- Cargo.lock | 256 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 156 ++++++++++++++++---------------- 2 files changed, 206 insertions(+), 206 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 703164571b..01392fad15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -879,7 +879,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "hash-db", "log", @@ -2956,7 +2956,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", ] @@ -3000,7 +3000,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "frame-support-procedural", @@ -3024,7 +3024,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "aquamarine", "frame-support", @@ -3054,7 +3054,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3070,7 +3070,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3111,7 +3111,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "Inflector", "cfg-expr", @@ -3131,7 +3131,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", @@ -3143,7 +3143,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "proc-macro2", "quote", @@ -3153,7 +3153,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "cfg-if", "docify", @@ -3172,7 +3172,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-benchmarking", "frame-support", @@ -3186,7 +3186,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "parity-scale-codec", @@ -3196,7 +3196,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "parity-scale-codec", @@ -6532,7 +6532,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "frame-system", @@ -6548,7 +6548,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "frame-system", @@ -6561,7 +6561,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-benchmarking", "frame-support", @@ -6584,7 +6584,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "frame-benchmarking", @@ -6600,7 +6600,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "frame-system", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6768,7 +6768,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-benchmarking", "frame-support", @@ -6790,7 +6790,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "parity-scale-codec", @@ -6835,7 +6835,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-support", "frame-system", @@ -6954,7 +6954,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "frame-benchmarking", @@ -6969,7 +6969,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "frame-benchmarking", @@ -6987,7 +6987,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-benchmarking", "frame-support", @@ -7002,7 +7002,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -7018,7 +7018,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7749,7 +7749,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "frame-benchmarking", @@ -9014,7 +9014,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "sp-core", @@ -9025,7 +9025,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "futures", "log", @@ -9046,7 +9046,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "sp-api", @@ -9061,7 +9061,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "docify", @@ -9087,7 +9087,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -9098,7 +9098,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -9140,7 +9140,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "fnv", "futures", @@ -9166,7 +9166,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "hash-db", "kvdb", @@ -9194,7 +9194,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -9217,7 +9217,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -9246,7 +9246,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9280,7 +9280,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "futures", "jsonrpsee", @@ -9300,7 +9300,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9344,7 +9344,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "finality-grandpa", "futures", @@ -9364,7 +9364,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -9387,7 +9387,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9410,7 +9410,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "polkavm", "sc-allocator", @@ -9423,7 +9423,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "polkavm", @@ -9434,7 +9434,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "anyhow", "log", @@ -9450,7 +9450,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "console", "futures", @@ -9466,7 +9466,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9480,7 +9480,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9508,7 +9508,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9568,7 +9568,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "ahash", "futures", @@ -9587,7 +9587,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9608,7 +9608,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9643,7 +9643,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-channel", "async-trait", @@ -9676,7 +9676,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9695,7 +9695,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "bs58", "bytes", @@ -9753,7 +9753,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9762,7 +9762,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "futures", "jsonrpsee", @@ -9794,7 +9794,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9814,7 +9814,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9838,7 +9838,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9871,7 +9871,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "directories", @@ -9935,7 +9935,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "parity-scale-codec", @@ -9946,7 +9946,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "derive_more 0.99.20", "futures", @@ -9966,7 +9966,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "chrono", "futures", @@ -9985,7 +9985,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "chrono", "console", @@ -10013,7 +10013,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -10024,7 +10024,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -10055,7 +10055,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -10072,7 +10072,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-channel", "futures", @@ -10853,7 +10853,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "hash-db", @@ -10875,7 +10875,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10889,7 +10889,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -10901,7 +10901,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "integer-sqrt", @@ -10915,7 +10915,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "sp-api", "sp-inherents", @@ -10978,7 +10978,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "futures", "parity-scale-codec", @@ -10997,7 +10997,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "futures", @@ -11011,7 +11011,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "parity-scale-codec", @@ -11027,7 +11027,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "parity-scale-codec", @@ -11045,7 +11045,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -11065,7 +11065,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "finality-grandpa", "log", @@ -11082,7 +11082,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -11093,7 +11093,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -11141,7 +11141,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "blake2b_simd", "byteorder", @@ -11154,7 +11154,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "quote", "sp-crypto-hashing", @@ -11164,7 +11164,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -11173,7 +11173,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "proc-macro2", "quote", @@ -11183,7 +11183,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "environmental", "parity-scale-codec", @@ -11193,7 +11193,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -11223,7 +11223,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11236,7 +11236,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "bytes", "docify", @@ -11262,7 +11262,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "sp-core", "sp-runtime", @@ -11272,7 +11272,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11283,7 +11283,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11292,7 +11292,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11302,7 +11302,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -11313,7 +11313,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "log", "parity-scale-codec", @@ -11349,7 +11349,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "sp-api", "sp-core", @@ -11359,7 +11359,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "backtrace", "regex", @@ -11380,7 +11380,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11390,7 +11390,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "binary-merkle-tree", "docify", @@ -11419,7 +11419,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11438,7 +11438,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "Inflector", "expander", @@ -11451,7 +11451,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "scale-info", @@ -11524,7 +11524,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11537,7 +11537,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "hash-db", "log", @@ -11557,7 +11557,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11581,12 +11581,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11598,7 +11598,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "parity-scale-codec", @@ -11610,7 +11610,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "tracing", @@ -11621,7 +11621,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "sp-api", "sp-runtime", @@ -11630,7 +11630,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "async-trait", "parity-scale-codec", @@ -11644,7 +11644,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "ahash", "hash-db", @@ -11667,7 +11667,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11684,7 +11684,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -11696,7 +11696,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11708,7 +11708,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -12073,7 +12073,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "hmac", "pbkdf2", @@ -12085,12 +12085,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -12110,7 +12110,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -12124,7 +12124,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -12149,7 +12149,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12194,7 +12194,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "futures", "sc-block-builder", @@ -12212,7 +12212,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=9719b433a068016d5e250e469fcdb97bf83061e9#9719b433a068016d5e250e469fcdb97bf83061e9" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" dependencies = [ "array-bytes 6.2.3", "build-helper", diff --git a/Cargo.toml b/Cargo.toml index c08b68e96e..6dbd6c45e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -187,84 +187,84 @@ derive-where = { version = "1.2.7", default-features = false } once_cell = { version = "1.21.3", default-features = false } # substrate dependencies -frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } -substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "9719b433a068016d5e250e469fcdb97bf83061e9" } +frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v7.2.2" } # local dependencies From 7f8c6ba8b06dfcaaa5788ce6c3623b7c1569f63e Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Tue, 17 Jun 2025 15:30:34 +0200 Subject: [PATCH 25/51] Upgrade to latest master --- demo/runtime/src/lib.rs | 2 +- .../partner-chains-session/src/pallet_session_compat.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index e997332eee..ca83783cb4 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -364,7 +364,7 @@ impl pallet_balances::Config for Runtime { type WeightInfo = pallet_balances::weights::SubstrateWeight; type FreezeIdentifier = (); type MaxFreezes = (); - type RuntimeHoldReason = (); + type RuntimeHoldReason = RuntimeHoldReason; type RuntimeFreezeReason = RuntimeFreezeReason; type DoneSlashHandler = (); } diff --git a/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs b/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs index 802dcf8076..1e340b9118 100644 --- a/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs +++ b/substrate-extensions/partner-chains-session/src/pallet_session_compat.rs @@ -62,6 +62,8 @@ macro_rules! impl_pallet_session_config { type Keys = <$type as pallet_partner_chains_session::Config>::Keys; type DisablingStrategy = (); type WeightInfo = (); + type Currency = Balances; + type KeyDeposit = (); } }; } From 0a6a8672b15f566ca48d5e1e426ee28291adf2fa Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Wed, 18 Jun 2025 08:30:05 +0200 Subject: [PATCH 26/51] Use arkworks to compile in no_std --- Cargo.lock | 14505 ---------------- Cargo.toml | 6 + demo/runtime/Cargo.toml | 8 +- demo/runtime/src/lib.rs | 8 +- .../src/filter_invalid_candidates.rs | 16 +- .../src/select_authorities.rs | 2 +- toolkit/sidechain/domain/src/lib.rs | 4 +- toolkit/utils/schnorr_jubjub/Cargo.toml | 49 +- .../schnorr_jubjub/src/beefy_structures.rs | 31 +- toolkit/utils/schnorr_jubjub/src/keystore.rs | 1 + toolkit/utils/schnorr_jubjub/src/lib.rs | 17 +- toolkit/utils/schnorr_jubjub/src/poseidon.rs | 120 - .../src/poseidon/constants/blstrs.rs | 1454 ++ .../src/poseidon/constants/mod.rs | 26 + .../utils/schnorr_jubjub/src/poseidon/mod.rs | 130 + .../src/poseidon/poseidon_cpu.rs | 204 + .../src/poseidon/round_skips.rs | 248 + toolkit/utils/schnorr_jubjub/src/primitive.rs | 157 +- toolkit/utils/schnorr_jubjub/src/runtime.rs | 4 +- 19 files changed, 2238 insertions(+), 14752 deletions(-) delete mode 100644 Cargo.lock delete mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs create mode 100644 toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 01392fad15..0000000000 --- a/Cargo.lock +++ /dev/null @@ -1,14505 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli 0.27.3", -] - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli 0.31.1", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array 0.14.7", -] - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher 0.4.4", - "cpufeatures", -] - -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead", - "aes", - "cipher 0.4.4", - "ctr", - "ghash", - "subtle 2.6.1", -] - -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom 0.3.3", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anstream" -version = "0.6.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" - -[[package]] -name = "anstyle-parse" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" -dependencies = [ - "anstyle", - "once_cell_polyfill", - "windows-sys 0.59.0", -] - -[[package]] -name = "anyhow" -version = "1.0.98" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" - -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - -[[package]] -name = "aquamarine" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" -dependencies = [ - "include_dir", - "itertools 0.10.5", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "ark-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "ark-bls12-381" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - -[[package]] -name = "ark-bls12-381" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" -dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ec" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" -dependencies = [ - "ahash", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "educe", - "fnv", - "hashbrown 0.15.3", - "itertools 0.13.0", - "num-bigint", - "num-integer", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1786b2e3832f6f0f7c8d62d5d5a282f6952a1ab99981c54cd52b6ac1d8f02df5" -dependencies = [ - "ark-bls12-381 0.5.0", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" -dependencies = [ - "ark-ff-asm 0.5.0", - "ark-ff-macros 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "arrayvec 0.7.6", - "digest 0.10.7", - "educe", - "itertools 0.13.0", - "num-bigint", - "num-traits", - "paste", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-asm" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" -dependencies = [ - "quote", - "syn 2.0.101", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", -] - -[[package]] -name = "ark-poly" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" -dependencies = [ - "ahash", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "educe", - "fnv", - "hashbrown 0.15.3", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive 0.4.2", - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-serialize" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" -dependencies = [ - "ark-serialize-derive 0.5.0", - "ark-std 0.5.0", - "arrayvec 0.7.6", - "digest 0.10.7", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-std" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "ark-transcript" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c1c928edb9d8ff24cb5dcb7651d3a98494fff3099eee95c2404cd813a9139f" -dependencies = [ - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3 0.10.8", -] - -[[package]] -name = "ark-vrf" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9501da18569b2afe0eb934fb7afd5a247d238b94116155af4dd068f319adfe6d" -dependencies = [ - "ark-bls12-381 0.5.0", - "ark-ec 0.5.0", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "digest 0.10.7", - "rand_chacha 0.3.1", - "sha2 0.10.9", - "w3f-ring-proof", - "zeroize", -] - -[[package]] -name = "array-bytes" -version = "6.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" - -[[package]] -name = "array-bytes" -version = "9.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d55334c98d756b32dcceb60248647ab34f027690f87f9a362fd292676ee927" -dependencies = [ - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "asn1-rs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" -dependencies = [ - "asn1-rs-derive 0.5.1", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "asn1-rs" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" -dependencies = [ - "asn1-rs-derive 0.6.0", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 2.0.12", - "time", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "synstructure 0.13.2", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "synstructure 0.13.2", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "assert_cmd" -version = "2.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" -dependencies = [ - "anstyle", - "bstr", - "doc-comment", - "libc", - "predicates", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - -[[package]] -name = "async-io" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix 1.0.7", - "slab", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener 5.4.0", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "async-trait" -version = "0.1.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "asynchronous-codec" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" -dependencies = [ - "bytes", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite", -] - -[[package]] -name = "asynchronous-codec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" -dependencies = [ - "bytes", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "atomic" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "attohttpc" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" -dependencies = [ - "http 0.2.12", - "log", - "url", -] - -[[package]] -name = "authority-selection-inherents" -version = "1.7.0" -dependencies = [ - "async-trait", - "frame-support", - "hex", - "hex-literal 1.0.0", - "log", - "minicbor", - "num-bigint", - "num-traits", - "parity-scale-codec", - "plutus", - "plutus-datum-derive", - "scale-info", - "schnorr_jubjub", - "selection", - "serde", - "sidechain-domain", - "sidechain-slots", - "sp-api", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-session-validator-management", - "sp-std", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line 0.24.2", - "cfg-if", - "libc", - "miniz_oxide", - "object 0.36.7", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base58" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" - -[[package]] -name = "bech32" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dabbe35f96fb9507f7330793dc490461b2962659ac5d427181e451a623751d1" - -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - -[[package]] -name = "bech32" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" - -[[package]] -name = "bigdecimal" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" -dependencies = [ - "autocfg", - "libm", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "binary-merkle-tree" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", -] - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.101", -] - -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitcoin-internals" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" - -[[package]] -name = "bitcoin-io" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" - -[[package]] -name = "bitcoin_hashes" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" -dependencies = [ - "bitcoin-internals", - "hex-conservative 0.1.2", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" -dependencies = [ - "bitcoin-io", - "hex-conservative 0.2.1", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" -dependencies = [ - "serde", -] - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" -dependencies = [ - "byte-tools", - "crypto-mac", - "digest 0.8.1", - "opaque-debug 0.2.3", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "constant_time_eq", -] - -[[package]] -name = "blake2s_simd" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "cc", - "cfg-if", - "constant_time_eq", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding", - "generic-array 0.14.7", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "blst" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" -dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", -] - -[[package]] -name = "blstrs" -version = "0.7.1" -source = "git+https://github.com/davidnevadoc/blstrs?rev=3dfe5bf#3dfe5bf15d7b1fa4f898b1a286a9d43d5669b48e" -dependencies = [ - "bitvec", - "blst", - "byte-slice-cast", - "ff", - "getrandom 0.2.16", - "group", - "halo2curves", - "num-bigint", - "pairing", - "pasta_curves", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "subtle 2.6.1", -] - -[[package]] -name = "bollard-stubs" -version = "1.42.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed59b5c00048f48d7af971b71f800fdf23e858844a6f9e4d32ca72e9399e7864" -dependencies = [ - "serde", - "serde_with", -] - -[[package]] -name = "bounded-collections" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" -dependencies = [ - "log", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "bstr" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" -dependencies = [ - "memchr", - "regex-automata 0.4.9", - "serde", -] - -[[package]] -name = "build-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" -dependencies = [ - "semver 0.6.0", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byte-slice-cast" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" - -[[package]] -name = "byte-string-derive" -version = "1.7.0" -dependencies = [ - "hex", - "quote", - "serde", - "serde_test", - "sp-core", - "syn 2.0.101", -] - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "bytemuck" -version = "1.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "bzip2-sys" -version = "0.1.13+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "c2-chacha" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" -dependencies = [ - "cipher 0.2.5", - "ppv-lite86", -] - -[[package]] -name = "camino" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" -dependencies = [ - "serde", -] - -[[package]] -name = "cardano-serialization-lib" -version = "14.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a894086cb078655b52a9478ae50e1f7b11f3a16fb02e2f11fe63b63644462c" -dependencies = [ - "bech32 0.7.3", - "cbor_event", - "cfg-if", - "clear_on_drop", - "cryptoxide", - "digest 0.9.0", - "ed25519-bip32", - "getrandom 0.2.16", - "hashlink 0.9.1", - "hex", - "itertools 0.10.5", - "js-sys", - "noop_proc_macro", - "num", - "num-bigint", - "num-derive", - "num-integer", - "num-traits", - "rand 0.8.5", - "rand_os", - "schemars", - "serde", - "serde-wasm-bindgen", - "serde_json", - "sha2 0.9.9", - "wasm-bindgen", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.26", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "cbor_event" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" - -[[package]] -name = "cc" -version = "1.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chacha" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf3c081b5fba1e5615640aae998e0fbd10c24cbd897ee39ed754a77601a4862" -dependencies = [ - "byteorder", - "keystream", -] - -[[package]] -name = "chacha20" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" -dependencies = [ - "cfg-if", - "cipher 0.4.4", - "cpufeatures", -] - -[[package]] -name = "chacha20poly1305" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" -dependencies = [ - "aead", - "chacha20", - "cipher 0.4.4", - "poly1305", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - -[[package]] -name = "cid" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" -dependencies = [ - "core2", - "multibase", - "multihash 0.17.0", - "serde", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "cid" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" -dependencies = [ - "core2", - "multibase", - "multihash 0.19.3", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", - "zeroize", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "4.5.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap_builder" -version = "4.5.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim 0.11.1", - "terminal_size", -] - -[[package]] -name = "clap_derive" -version = "4.5.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "clap_lex" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" - -[[package]] -name = "clear_on_drop" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38508a63f4979f0048febc9966fadbd48e5dab31fd0ec6a3f151bbf4a74f7423" -dependencies = [ - "cc", -] - -[[package]] -name = "cli-commands" -version = "1.7.0" -dependencies = [ - "anyhow", - "assert_cmd", - "clap", - "ed25519-zebra", - "hex", - "hex-literal 1.0.0", - "k256", - "pallet-address-associations", - "parity-scale-codec", - "plutus", - "plutus-datum-derive", - "pretty_assertions", - "secp256k1 0.30.0", - "serde", - "serde_json", - "sidechain-domain", - "sp-api", - "sp-block-producer-metadata", - "sp-blockchain", - "sp-io", - "sp-runtime", - "sp-sidechain", - "thiserror 2.0.12", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "codespan-reporting" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" -dependencies = [ - "serde", - "termcolor", - "unicode-width 0.2.0", -] - -[[package]] -name = "colorchoice" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" - -[[package]] -name = "colored" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "common-path" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console" -version = "0.15.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" -dependencies = [ - "encode_unicode", - "libc", - "once_cell", - "unicode-width 0.2.0", - "windows-sys 0.59.0", -] - -[[package]] -name = "const-hex" -version = "1.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" -dependencies = [ - "cfg-if", - "cpufeatures", - "hex", - "proptest", - "serde", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.16", - "once_cell", - "tiny-keccak", -] - -[[package]] -name = "const_format" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "const_num_bigint" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddae0ac5d546ee2446704bc529e011d584921305af4f0ae27590accc8cf9251" -dependencies = [ - "const_num_bigint_derive", - "const_std_vec", - "num-bigint", -] - -[[package]] -name = "const_num_bigint_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1b18965eb9d280ddde32faf948cfe5c6e5bf6885cbf98fadacc28278b8f331f" -dependencies = [ - "num-bigint", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "const_std_vec" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee6a4701b947a8608d1991b1db0cf5bab74164bf2627e5cecc9aa69dd33f172" - -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "cranelift-bforest" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" -dependencies = [ - "bumpalo", - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "cranelift-isle", - "gimli 0.27.3", - "hashbrown 0.13.2", - "log", - "regalloc2 0.6.1", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" - -[[package]] -name = "cranelift-entity" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" -dependencies = [ - "serde", -] - -[[package]] -name = "cranelift-frontend" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-isle" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" - -[[package]] -name = "cranelift-native" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" -dependencies = [ - "cranelift-codegen", - "libc", - "target-lexicon", -] - -[[package]] -name = "cranelift-wasm" -version = "0.95.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools 0.10.5", - "log", - "smallvec", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "crc" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "critical-section" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crossterm" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot 0.12.4", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - -[[package]] -name = "crunchy" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "typenum", -] - -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -dependencies = [ - "generic-array 0.12.4", - "subtle 1.0.0", -] - -[[package]] -name = "cryptoxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382ce8820a5bb815055d3553a610e8cb542b2d767bbacea99038afda96cd760d" - -[[package]] -name = "ctor" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4735f265ba6a1188052ca32d461028a7d1125868be18e287e756019da7607b5" -dependencies = [ - "ctor-proc-macro", - "dtor", -] - -[[package]] -name = "ctor-proc-macro" -version = "0.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f211af61d8efdd104f96e57adf5e426ba1bc3ed7a4ead616e15e5881fd79c4d" - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", - "rustc_version", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "cxx" -version = "1.0.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" -dependencies = [ - "cc", - "cxxbridge-cmd", - "cxxbridge-flags", - "cxxbridge-macro", - "foldhash", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" -dependencies = [ - "cc", - "codespan-reporting", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.101", -] - -[[package]] -name = "cxxbridge-cmd" -version = "1.0.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" -dependencies = [ - "clap", - "codespan-reporting", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" -dependencies = [ - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.101", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core 0.9.11", -] - -[[package]] -name = "data-encoding" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" - -[[package]] -name = "data-encoding-macro" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" -dependencies = [ - "data-encoding", - "data-encoding-macro-internal", -] - -[[package]] -name = "data-encoding-macro-internal" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" -dependencies = [ - "data-encoding", - "syn 2.0.101", -] - -[[package]] -name = "db-sync-sqlx" -version = "1.7.0" -dependencies = [ - "num-traits", - "sidechain-domain", - "sqlx", -] - -[[package]] -name = "der" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "der-parser" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" -dependencies = [ - "asn1-rs 0.6.2", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "der-parser" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" -dependencies = [ - "asn1-rs 0.7.1", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "deranged" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive-new" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "derive-syn-parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "derive-where" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "derive_more" -version = "0.99.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.101", -] - -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl 1.0.0", -] - -[[package]] -name = "derive_more" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" -dependencies = [ - "derive_more-impl 2.0.1", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "derive_more-impl" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "destructure_traitobject" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer 0.10.4", - "const-oid", - "crypto-common", - "subtle 2.6.1", -] - -[[package]] -name = "directories" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "directories-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "docify" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a772b62b1837c8f060432ddcc10b17aae1453ef17617a99bc07789252d2a5896" -dependencies = [ - "docify_macros", -] - -[[package]] -name = "docify_macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e6be249b0a462a14784a99b19bf35a667bb5e09de611738bb7362fa4c95ff7" -dependencies = [ - "common-path", - "derive-syn-parse", - "once_cell", - "proc-macro2", - "quote", - "regex", - "syn 2.0.101", - "termcolor", - "toml 0.8.22", - "walkdir", -] - -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "downcast" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" - -[[package]] -name = "dtoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" - -[[package]] -name = "dtor" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cbdf2ad6846025e8e25df05171abfb30e3ababa12ee0a0e44b9bbe570633a8" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7454e41ff9012c00d53cf7f475c5e3afa3b91b7c90568495495e8d9bf47a1055" - -[[package]] -name = "dyn-clone" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "serdect", - "signature", - "spki", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8", - "serde", - "signature", -] - -[[package]] -name = "ed25519-bip32" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb588f93c0d91b2f668849fd6d030cddb0b2e31f105963be189da5acdf492a21" -dependencies = [ - "cryptoxide", -] - -[[package]] -name = "ed25519-dalek" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core 0.6.4", - "serde", - "sha2 0.10.9", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "ed25519-zebra" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" -dependencies = [ - "curve25519-dalek", - "ed25519", - "hashbrown 0.14.5", - "hex", - "rand_core 0.6.4", - "serde", - "sha2 0.10.9", - "zeroize", -] - -[[package]] -name = "educe" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -dependencies = [ - "serde", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array 0.14.7", - "group", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "serdect", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "enum-ordinalize" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" -dependencies = [ - "enum-ordinalize-derive", -] - -[[package]] -name = "enum-ordinalize-derive" -version = "4.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "env_filter" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "env_logger" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "jiff", - "log", -] - -[[package]] -name = "environmental" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" - -[[package]] -name = "envy" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" -dependencies = [ - "serde", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "etcetera" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" -dependencies = [ - "cfg-if", - "home", - "windows-sys 0.48.0", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener 5.4.0", - "pin-project-lite", -] - -[[package]] -name = "exit-future" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" -dependencies = [ - "futures", -] - -[[package]] -name = "expander" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" -dependencies = [ - "blake2 0.10.6", - "file-guard", - "fs-err", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "fdlimit" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" -dependencies = [ - "libc", - "thiserror 1.0.69", -] - -[[package]] -name = "ff" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "bitvec", - "rand_core 0.6.4", - "subtle 2.6.1", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "figment" -version = "0.10.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3" -dependencies = [ - "atomic", - "parking_lot 0.12.4", - "pear", - "serde", - "tempfile", - "uncased", - "version_check", -] - -[[package]] -name = "file-guard" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "file-per-thread-logger" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" -dependencies = [ - "env_logger 0.10.2", - "log", -] - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "finality-grandpa" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f8f43dc520133541781ec03a8cab158ae8b7f7169cdf22e9050aa6cf0fbdfc" -dependencies = [ - "either", - "futures", - "futures-timer", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot 0.12.4", - "scale-info", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" - -[[package]] -name = "flume" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" -dependencies = [ - "futures-core", - "futures-sink", - "spin 0.9.8", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "fork-tree" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "forwarded-header-value" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" -dependencies = [ - "nonempty", - "thiserror 1.0.69", -] - -[[package]] -name = "fraction" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f158e3ff0a1b334408dc9fb811cd99b446986f4d8b741bb08f9df1604085ae7" -dependencies = [ - "num", - "serde", - "serde_derive", -] - -[[package]] -name = "fragile" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" - -[[package]] -name = "frame-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "frame-support-procedural", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-storage", - "static_assertions", -] - -[[package]] -name = "frame-executive" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "aquamarine", - "frame-support", - "frame-system", - "frame-try-runtime", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-tracing", -] - -[[package]] -name = "frame-metadata" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c26fcb0454397c522c05fdad5380c4e622f8a875638af33bff5a320d1fc965" -dependencies = [ - "cfg-if", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-metadata-hash-extension" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "const-hex", - "docify", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime", -] - -[[package]] -name = "frame-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "aquamarine", - "array-bytes 6.2.3", - "binary-merkle-tree", - "bitflags 1.3.2", - "docify", - "environmental", - "frame-metadata", - "frame-support-procedural", - "impl-trait-for-tuples", - "k256", - "log", - "macro_magic", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "serde_json", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-crypto-hashing-proc-macro", - "sp-debug-derive", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-metadata-ir", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-weights", - "tt-call", -] - -[[package]] -name = "frame-support-procedural" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "Inflector", - "cfg-expr", - "derive-syn-parse", - "docify", - "expander", - "frame-support-procedural-tools", - "itertools 0.11.0", - "macro_magic", - "proc-macro-warning", - "proc-macro2", - "quote", - "sp-crypto-hashing", - "syn 2.0.101", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support-procedural-tools-derive", - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "frame-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "cfg-if", - "docify", - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", - "sp-weights", -] - -[[package]] -name = "frame-system-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "frame-system-rpc-runtime-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "parity-scale-codec", - "sp-api", -] - -[[package]] -name = "frame-try-runtime" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "parity-scale-codec", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-bounded" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91f328e7fb845fc832912fb6a34f40cf6d1888c92f974d1893a54e97b5ff542e" -dependencies = [ - "futures-timer", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", - "num_cpus", -] - -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot 0.12.4", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-lite" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "futures-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb" -dependencies = [ - "futures-io", - "rustls", - "rustls-pki-types", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fuzzy-matcher" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" -dependencies = [ - "thread_local", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "generator" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" -dependencies = [ - "cc", - "cfg-if", - "libc", - "log", - "rustversion", - "windows 0.61.1", -] - -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "getrandom" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", -] - -[[package]] -name = "getrandom_or_panic" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" -dependencies = [ - "rand 0.8.5", - "rand_core 0.6.4", -] - -[[package]] -name = "ghash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" -dependencies = [ - "opaque-debug 0.3.1", - "polyval", -] - -[[package]] -name = "gimli" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -dependencies = [ - "fallible-iterator 0.2.0", - "indexmap 1.9.3", - "stable_deref_trait", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -dependencies = [ - "fallible-iterator 0.3.0", - "stable_deref_trait", -] - -[[package]] -name = "glob" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" - -[[package]] -name = "governor" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" -dependencies = [ - "cfg-if", - "dashmap", - "futures", - "futures-timer", - "no-std-compat", - "nonzero_ext", - "parking_lot 0.12.4", - "portable-atomic", - "quanta", - "rand 0.8.5", - "smallvec", - "spinning_top", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand 0.8.5", - "rand_core 0.6.4", - "rand_xorshift", - "subtle 2.6.1", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.9.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.3.1", - "indexmap 2.9.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "halo2_proofs" -version = "0.3.0" -source = "git+https://github.com/input-output-hk/halo2?rev=319af9be#319af9befa3ce7ff79b759b7b54031b7f8a70ba1" -dependencies = [ - "blake2b_simd", - "blstrs", - "ff", - "getrandom 0.2.16", - "group", - "halo2curves", - "num-bigint", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "rayon", - "serde", - "serde_derive", - "sha3 0.9.1", - "tracing", -] - -[[package]] -name = "halo2curves" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d380afeef3f1d4d3245b76895172018cfb087d9976a7cabcd5597775b2933e07" -dependencies = [ - "blake2 0.10.6", - "digest 0.10.7", - "ff", - "group", - "halo2derive", - "hex", - "lazy_static", - "num-bigint", - "num-integer", - "num-traits", - "pairing", - "pasta_curves", - "paste", - "rand 0.8.5", - "rand_core 0.6.4", - "rayon", - "serde", - "serde_arrays", - "sha2 0.10.9", - "static_assertions", - "subtle 2.6.1", - "unroll", -] - -[[package]] -name = "halo2derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb99e7492b4f5ff469d238db464131b86c2eaac814a78715acba369f64d2c76" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "hamming" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1" - -[[package]] -name = "hash-db" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" - -[[package]] -name = "hash256-std-hasher" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" -dependencies = [ - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashlink" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "hashlink" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" -dependencies = [ - "hashbrown 0.15.3", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] - -[[package]] -name = "hex-conservative" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" - -[[package]] -name = "hex-conservative" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" -dependencies = [ - "arrayvec 0.7.6", -] - -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "hex-literal" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" - -[[package]] -name = "hickory-proto" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.8.5", - "socket2", - "thiserror 1.0.69", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "hickory-proto" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.9.1", - "ring 0.17.14", - "thiserror 2.0.12", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "hickory-resolver" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto 0.24.4", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot 0.12.4", - "rand 0.8.5", - "resolv-conf", - "smallvec", - "thiserror 1.0.69", - "tokio", - "tracing", -] - -[[package]] -name = "hickory-resolver" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto 0.25.2", - "ipconfig", - "moka", - "once_cell", - "parking_lot 0.12.4", - "rand 0.9.1", - "resolv-conf", - "smallvec", - "thiserror 2.0.12", - "tokio", - "tracing", -] - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http 1.3.1", -] - -[[package]] -name = "http-body-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" -dependencies = [ - "bytes", - "futures-core", - "http 1.3.1", - "http-body 1.0.1", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "humantime" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" - -[[package]] -name = "hyper" -version = "0.14.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2 0.4.10", - "http 1.3.1", - "http-body 1.0.1", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" -dependencies = [ - "http 1.3.1", - "hyper 1.6.0", - "hyper-util", - "log", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http 1.3.1", - "http-body 1.0.1", - "hyper 1.6.0", - "libc", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.61.2", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "icu_collections" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" - -[[package]] -name = "icu_properties" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "potential_utf", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" - -[[package]] -name = "icu_provider" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" -dependencies = [ - "displaydoc", - "icu_locale_core", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "if-addrs" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "if-watch" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" -dependencies = [ - "async-io", - "core-foundation 0.9.4", - "fnv", - "futures", - "if-addrs", - "ipnet", - "log", - "netlink-packet-core", - "netlink-packet-route", - "netlink-proto", - "netlink-sys", - "rtnetlink", - "system-configuration", - "tokio", - "windows 0.53.0", -] - -[[package]] -name = "igd-next" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" -dependencies = [ - "async-trait", - "attohttpc", - "bytes", - "futures", - "http 0.2.12", - "hyper 0.14.32", - "log", - "rand 0.8.5", - "tokio", - "url", - "xmltree", -] - -[[package]] -name = "impl-codec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-num-traits" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" -dependencies = [ - "integer-sqrt", - "num-traits", - "uint 0.10.0", -] - -[[package]] -name = "impl-serde" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "include_dir" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" -dependencies = [ - "equivalent", - "hashbrown 0.15.3", -] - -[[package]] -name = "inlinable_string" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" - -[[package]] -name = "inout" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "inquire" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a" -dependencies = [ - "bitflags 2.9.1", - "crossterm", - "dyn-clone", - "fuzzy-matcher", - "fxhash", - "newline-converter", - "once_cell", - "unicode-segmentation", - "unicode-width 0.1.14", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ip_network" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" - -[[package]] -name = "ipconfig" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" -dependencies = [ - "socket2", - "widestring", - "windows-sys 0.48.0", - "winreg", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -[[package]] -name = "is-terminal" -version = "0.4.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" -dependencies = [ - "hermit-abi 0.5.1", - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "jiff" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" -dependencies = [ - "jiff-static", - "log", - "portable-atomic", - "portable-atomic-util", - "serde", -] - -[[package]] -name = "jiff-static" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jobserver" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" -dependencies = [ - "getrandom 0.3.3", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpsee" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" -dependencies = [ - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-ws-client", - "tokio", - "tracing", -] - -[[package]] -name = "jsonrpsee-client-transport" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" -dependencies = [ - "base64 0.22.1", - "futures-util", - "http 1.3.1", - "jsonrpsee-core", - "pin-project", - "rustls", - "rustls-pki-types", - "rustls-platform-verifier", - "soketto", - "thiserror 1.0.69", - "tokio", - "tokio-rustls", - "tokio-util", - "tracing", - "url", -] - -[[package]] -name = "jsonrpsee-core" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" -dependencies = [ - "async-trait", - "bytes", - "futures-timer", - "futures-util", - "http 1.3.1", - "http-body 1.0.1", - "http-body-util", - "jsonrpsee-types", - "parking_lot 0.12.4", - "pin-project", - "rand 0.8.5", - "rustc-hash 2.1.1", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "jsonrpsee-http-client" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c872b6c9961a4ccc543e321bb5b89f6b2d2c7fe8b61906918273a3333c95400c" -dependencies = [ - "async-trait", - "base64 0.22.1", - "http-body 1.0.1", - "hyper 1.6.0", - "hyper-rustls", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "rustls", - "rustls-platform-verifier", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tower", - "tracing", - "url", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" -dependencies = [ - "heck 0.5.0", - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "jsonrpsee-server" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" -dependencies = [ - "futures-util", - "http 1.3.1", - "http-body 1.0.1", - "http-body-util", - "hyper 1.6.0", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "route-recognizer", - "serde", - "serde_json", - "soketto", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tower", - "tracing", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" -dependencies = [ - "http 1.3.1", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "jsonrpsee-ws-client" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" -dependencies = [ - "http 1.3.1", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", - "url", -] - -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "serdect", - "sha2 0.10.9", - "signature", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "keystream" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" - -[[package]] -name = "kvdb" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" -dependencies = [ - "smallvec", -] - -[[package]] -name = "kvdb-memorydb" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" -dependencies = [ - "kvdb", - "parking_lot 0.12.4", -] - -[[package]] -name = "kvdb-rocksdb" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" -dependencies = [ - "kvdb", - "num_cpus", - "parking_lot 0.12.4", - "regex", - "rocksdb", - "smallvec", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin 0.9.8", -] - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.172" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" - -[[package]] -name = "libloading" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" -dependencies = [ - "cfg-if", - "windows-targets 0.53.0", -] - -[[package]] -name = "libm" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" - -[[package]] -name = "libp2p" -version = "0.54.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" -dependencies = [ - "bytes", - "either", - "futures", - "futures-timer", - "getrandom 0.2.16", - "libp2p-allow-block-list", - "libp2p-connection-limits", - "libp2p-core", - "libp2p-dns", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-mdns", - "libp2p-metrics", - "libp2p-noise", - "libp2p-ping", - "libp2p-quic", - "libp2p-request-response", - "libp2p-swarm", - "libp2p-tcp", - "libp2p-upnp", - "libp2p-websocket", - "libp2p-yamux", - "multiaddr 0.18.2", - "pin-project", - "rw-stream-sink", - "thiserror 1.0.69", -] - -[[package]] -name = "libp2p-allow-block-list" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" -dependencies = [ - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "void", -] - -[[package]] -name = "libp2p-connection-limits" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" -dependencies = [ - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "void", -] - -[[package]] -name = "libp2p-core" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "libp2p-identity", - "multiaddr 0.18.2", - "multihash 0.19.3", - "multistream-select", - "once_cell", - "parking_lot 0.12.4", - "pin-project", - "quick-protobuf", - "rand 0.8.5", - "rw-stream-sink", - "smallvec", - "thiserror 1.0.69", - "tracing", - "unsigned-varint 0.8.0", - "void", - "web-time", -] - -[[package]] -name = "libp2p-dns" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" -dependencies = [ - "async-trait", - "futures", - "hickory-resolver 0.24.4", - "libp2p-core", - "libp2p-identity", - "parking_lot 0.12.4", - "smallvec", - "tracing", -] - -[[package]] -name = "libp2p-identify" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1711b004a273be4f30202778856368683bd9a83c4c7dcc8f848847606831a4e3" -dependencies = [ - "asynchronous-codec 0.7.0", - "either", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "lru 0.12.5", - "quick-protobuf", - "quick-protobuf-codec", - "smallvec", - "thiserror 1.0.69", - "tracing", - "void", -] - -[[package]] -name = "libp2p-identity" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" -dependencies = [ - "bs58", - "ed25519-dalek", - "hkdf", - "multihash 0.19.3", - "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.9", - "thiserror 2.0.12", - "tracing", - "zeroize", -] - -[[package]] -name = "libp2p-kad" -version = "0.46.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" -dependencies = [ - "arrayvec 0.7.6", - "asynchronous-codec 0.7.0", - "bytes", - "either", - "fnv", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "sha2 0.10.9", - "smallvec", - "thiserror 1.0.69", - "tracing", - "uint 0.9.5", - "void", - "web-time", -] - -[[package]] -name = "libp2p-mdns" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" -dependencies = [ - "data-encoding", - "futures", - "hickory-proto 0.24.4", - "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "rand 0.8.5", - "smallvec", - "socket2", - "tokio", - "tracing", - "void", -] - -[[package]] -name = "libp2p-metrics" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ebafa94a717c8442d8db8d3ae5d1c6a15e30f2d347e0cd31d057ca72e42566" -dependencies = [ - "futures", - "libp2p-core", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-ping", - "libp2p-swarm", - "pin-project", - "prometheus-client", - "web-time", -] - -[[package]] -name = "libp2p-noise" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b137cb1ae86ee39f8e5d6245a296518912014eaa87427d24e6ff58cfc1b28c" -dependencies = [ - "asynchronous-codec 0.7.0", - "bytes", - "curve25519-dalek", - "futures", - "libp2p-core", - "libp2p-identity", - "multiaddr 0.18.2", - "multihash 0.19.3", - "once_cell", - "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.9", - "snow", - "static_assertions", - "thiserror 1.0.69", - "tracing", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-ping" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005a34420359223b974ee344457095f027e51346e992d1e0dcd35173f4cdd422" -dependencies = [ - "either", - "futures", - "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "rand 0.8.5", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-quic" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" -dependencies = [ - "bytes", - "futures", - "futures-timer", - "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-tls", - "parking_lot 0.12.4", - "quinn", - "rand 0.8.5", - "ring 0.17.14", - "rustls", - "socket2", - "thiserror 1.0.69", - "tokio", - "tracing", -] - -[[package]] -name = "libp2p-request-response" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1356c9e376a94a75ae830c42cdaea3d4fe1290ba409a22c809033d1b7dcab0a6" -dependencies = [ - "async-trait", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "rand 0.8.5", - "smallvec", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-swarm" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm-derive", - "lru 0.12.5", - "multistream-select", - "once_cell", - "rand 0.8.5", - "smallvec", - "tokio", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-swarm-derive" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "libp2p-tcp" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad964f312c59dcfcac840acd8c555de8403e295d39edf96f5240048b5fcaa314" -dependencies = [ - "futures", - "futures-timer", - "if-watch", - "libc", - "libp2p-core", - "libp2p-identity", - "socket2", - "tokio", - "tracing", -] - -[[package]] -name = "libp2p-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b23dddc2b9c355f73c1e36eb0c3ae86f7dc964a3715f0731cfad352db4d847" -dependencies = [ - "futures", - "futures-rustls", - "libp2p-core", - "libp2p-identity", - "rcgen", - "ring 0.17.14", - "rustls", - "rustls-webpki 0.101.7", - "thiserror 1.0.69", - "x509-parser 0.16.0", - "yasna", -] - -[[package]] -name = "libp2p-upnp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01bf2d1b772bd3abca049214a3304615e6a36fa6ffc742bdd1ba774486200b8f" -dependencies = [ - "futures", - "futures-timer", - "igd-next", - "libp2p-core", - "libp2p-swarm", - "tokio", - "tracing", - "void", -] - -[[package]] -name = "libp2p-websocket" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "888b2ff2e5d8dcef97283daab35ad1043d18952b65e05279eecbe02af4c6e347" -dependencies = [ - "either", - "futures", - "futures-rustls", - "libp2p-core", - "libp2p-identity", - "parking_lot 0.12.4", - "pin-project-lite", - "rw-stream-sink", - "soketto", - "thiserror 1.0.69", - "tracing", - "url", - "webpki-roots 0.25.4", -] - -[[package]] -name = "libp2p-yamux" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788b61c80789dba9760d8c669a5bedb642c8267555c803fabd8396e4ca5c5882" -dependencies = [ - "either", - "futures", - "libp2p-core", - "thiserror 1.0.69", - "tracing", - "yamux 0.12.1", - "yamux 0.13.5", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.9.1", - "libc", - "redox_syscall 0.5.12", -] - -[[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "tikv-jemalloc-sys", -] - -[[package]] -name = "libsecp256k1" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" -dependencies = [ - "arrayref", - "base64 0.22.1", - "digest 0.9.0", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.8.5", - "serde", - "sha2 0.9.9", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle 2.6.1", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "link-cplusplus" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212" -dependencies = [ - "cc", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linked_hash_set" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "linregress" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" -dependencies = [ - "nalgebra", -] - -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" - -[[package]] -name = "lioness" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae926706ba42c425c9457121178330d75e273df2e82e28b758faf3de3a9acb9" -dependencies = [ - "arrayref", - "blake2 0.8.1", - "chacha", - "keystream", -] - -[[package]] -name = "litemap" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" - -[[package]] -name = "litep2p" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14fb10e63363204b89d91e1292df83322fd9de5d7fa76c3d5c78ddc2f8f3efa9" -dependencies = [ - "async-trait", - "bs58", - "bytes", - "cid 0.11.1", - "ed25519-dalek", - "futures", - "futures-timer", - "hickory-resolver 0.25.2", - "indexmap 2.9.0", - "libc", - "mockall", - "multiaddr 0.17.1", - "multihash 0.17.0", - "network-interface", - "parking_lot 0.12.4", - "pin-project", - "prost 0.13.5", - "prost-build", - "rand 0.8.5", - "serde", - "sha2 0.10.9", - "simple-dns", - "smallvec", - "snow", - "socket2", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tokio-util", - "tracing", - "uint 0.10.0", - "unsigned-varint 0.8.0", - "url", - "x25519-dalek", - "x509-parser 0.17.0", - "yamux 0.13.5", - "yasna", - "zeroize", -] - -[[package]] -name = "lock_api" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -dependencies = [ - "serde", -] - -[[package]] -name = "log-mdc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" - -[[package]] -name = "log4rs" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6" -dependencies = [ - "anyhow", - "arc-swap", - "chrono", - "derivative", - "fnv", - "humantime", - "libc", - "log", - "log-mdc", - "once_cell", - "parking_lot 0.12.4", - "rand 0.8.5", - "serde", - "serde-value", - "serde_json", - "serde_yaml", - "thiserror 1.0.69", - "thread-id", - "typemap-ors", - "winapi", -] - -[[package]] -name = "loom" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.3", -] - -[[package]] -name = "lru" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" -dependencies = [ - "hashbrown 0.15.3", -] - -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "lz4" -version = "1.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" -dependencies = [ - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "macro_magic" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" -dependencies = [ - "macro_magic_core", - "macro_magic_macros", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "macro_magic_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" -dependencies = [ - "const-random", - "derive-syn-parse", - "macro_magic_core_macros", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "macro_magic_core_macros" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "macro_magic_macros" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" -dependencies = [ - "macro_magic_core", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matrixmultiply" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" -dependencies = [ - "autocfg", - "rawpointer", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest 0.10.7", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memfd" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" -dependencies = [ - "rustix 0.38.44", -] - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memmap2" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory-db" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6da20dba965bd218a14c3b335b90d3e07c09ede190c7c19b50deb23d418a322" -dependencies = [ - "hash-db", - "hashbrown 0.15.3", -] - -[[package]] -name = "merkleized-metadata" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e3e3f549d27d2dc054372f320ddf68045a833fab490563ff70d4cf1b9d91ea" -dependencies = [ - "array-bytes 9.3.0", - "blake3", - "frame-metadata", - "parity-scale-codec", - "scale-decode", - "scale-info", -] - -[[package]] -name = "merlin" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.6.4", - "zeroize", -] - -[[package]] -name = "midnight-circuits" -version = "3.0.0" -source = "git+https://github.com/midnightntwrk/midnight-circuits?branch=iquerejeta%2Fcommittee_proof#091cd9f118bdc665ee884713e89dd76b41e15930" -dependencies = [ - "arrayvec 0.7.6", - "base64 0.13.1", - "bitvec", - "blake2b_simd", - "blstrs", - "const_num_bigint", - "ff", - "group", - "halo2_proofs", - "halo2curves", - "lazy_static", - "num-bigint", - "num-integer", - "num-traits", - "pasta_curves", - "rand 0.8.5", - "rand_core 0.6.4", - "sha2 0.10.9", - "subtle 2.6.1", - "uint 0.9.5", -] - -[[package]] -name = "miette" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" -dependencies = [ - "miette-derive", - "once_cell", - "thiserror 1.0.69", - "unicode-width 0.1.14", -] - -[[package]] -name = "miette-derive" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "minicbor" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0452a60c1863c1f50b5f77cd295e8d2786849f35883f0b9e18e7e6e1b5691b0" -dependencies = [ - "half", - "minicbor-derive", -] - -[[package]] -name = "minicbor-derive" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - -[[package]] -name = "mio" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.59.0", -] - -[[package]] -name = "mixnet" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "bitflags 1.3.2", - "blake2 0.10.6", - "c2-chacha", - "curve25519-dalek", - "either", - "hashlink 0.8.4", - "lioness", - "log", - "parking_lot 0.12.4", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_distr", - "subtle 2.6.1", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "mockall" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" -dependencies = [ - "cfg-if", - "downcast", - "fragile", - "mockall_derive", - "predicates", - "predicates-tree", -] - -[[package]] -name = "mockall_derive" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "moka" -version = "0.12.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" -dependencies = [ - "crossbeam-channel", - "crossbeam-epoch", - "crossbeam-utils", - "loom", - "parking_lot 0.12.4", - "portable-atomic", - "rustc_version", - "smallvec", - "tagptr", - "thiserror 1.0.69", - "uuid", -] - -[[package]] -name = "multiaddr" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "log", - "multibase", - "multihash 0.17.0", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint 0.7.2", - "url", -] - -[[package]] -name = "multiaddr" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash 0.19.3", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint 0.8.0", - "url", -] - -[[package]] -name = "multibase" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" -dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", -] - -[[package]] -name = "multihash" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "core2", - "digest 0.10.7", - "multihash-derive", - "sha2 0.10.9", - "sha3 0.10.8", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "multihash" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" -dependencies = [ - "core2", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "multihash-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" -dependencies = [ - "proc-macro-crate 1.1.3", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure 0.12.6", -] - -[[package]] -name = "multimap" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" - -[[package]] -name = "multistream-select" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" -dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "nalgebra" -version = "0.33.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" -dependencies = [ - "approx", - "matrixmultiply", - "num-complex", - "num-rational", - "num-traits", - "simba", - "typenum", -] - -[[package]] -name = "names" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" -dependencies = [ - "rand 0.8.5", -] - -[[package]] -name = "netlink-packet-core" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" -dependencies = [ - "anyhow", - "byteorder", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-route" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" -dependencies = [ - "anyhow", - "bitflags 1.3.2", - "byteorder", - "libc", - "netlink-packet-core", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-utils" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" -dependencies = [ - "anyhow", - "byteorder", - "paste", - "thiserror 1.0.69", -] - -[[package]] -name = "netlink-proto" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" -dependencies = [ - "bytes", - "futures", - "log", - "netlink-packet-core", - "netlink-sys", - "thiserror 2.0.12", -] - -[[package]] -name = "netlink-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" -dependencies = [ - "bytes", - "futures", - "libc", - "log", - "tokio", -] - -[[package]] -name = "network-interface" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3329f515506e4a2de3aa6e07027a6758e22e0f0e8eaf64fa47261cec2282602" -dependencies = [ - "cc", - "libc", - "thiserror 1.0.69", - "winapi", -] - -[[package]] -name = "newline-converter" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b6b097ecb1cbfed438542d16e84fd7ad9b0c76c8a65b7f9039212a3d14dc7f" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", -] - -[[package]] -name = "no-std-compat" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nonempty" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" - -[[package]] -name = "nonzero_ext" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" - -[[package]] -name = "noop_proc_macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", - "serde", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", - "serde", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec 0.7.6", - "itoa", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", - "serde", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi 0.5.1", - "libc", -] - -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", - "memchr", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "ogmios-client" -version = "1.7.0" -dependencies = [ - "anyhow", - "fraction", - "hex", - "hex-literal 1.0.0", - "jsonrpsee", - "log", - "serde", - "serde_json", - "sidechain-domain", - "thiserror 2.0.12", - "time", - "tokio", -] - -[[package]] -name = "oid-registry" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" -dependencies = [ - "asn1-rs 0.6.2", -] - -[[package]] -name = "oid-registry" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" -dependencies = [ - "asn1-rs 0.7.1", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -dependencies = [ - "critical-section", - "portable-atomic", -] - -[[package]] -name = "once_cell_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "openssl-probe" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "pairing" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" -dependencies = [ - "group", -] - -[[package]] -name = "pallas-addresses" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bd039d7f1618d12ff348dd03eebe38c5d2a010325750e5341526c419b0f8e0" -dependencies = [ - "base58", - "bech32 0.9.1", - "crc", - "cryptoxide", - "hex", - "pallas-codec", - "pallas-crypto", - "thiserror 1.0.69", -] - -[[package]] -name = "pallas-codec" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1584d615857c0a44058fb612e892e9e0cc47b56c3c82cdf7347b5c1d1193598c" -dependencies = [ - "hex", - "minicbor", - "num-bigint", - "serde", - "thiserror 1.0.69", -] - -[[package]] -name = "pallas-crypto" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c1d642326ce402eb9191aeacc3dd0bf2b499848e97a56396c978a6eb9dd31a" -dependencies = [ - "cryptoxide", - "hex", - "pallas-codec", - "rand_core 0.6.4", - "serde", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "pallas-primitives" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d30f5053073554d016a9f009c077f9a84275951a611cce54230de6c54d34d9b" -dependencies = [ - "base58", - "bech32 0.9.1", - "hex", - "log", - "pallas-codec", - "pallas-crypto", - "serde", - "serde_json", -] - -[[package]] -name = "pallas-traverse" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d2572d316883fe866ae648bc3c5357e70cbbe8de5d78b1246f6109520fa52f" -dependencies = [ - "hex", - "itertools 0.13.0", - "pallas-addresses", - "pallas-codec", - "pallas-crypto", - "pallas-primitives", - "paste", - "serde", - "thiserror 1.0.69", -] - -[[package]] -name = "pallet-address-associations" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "hex-literal 1.0.0", - "log", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-aura" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", -] - -[[package]] -name = "pallet-authorship" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime", -] - -[[package]] -name = "pallet-babe" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-babe", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", -] - -[[package]] -name = "pallet-balances" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "pallet-beefy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-consensus-beefy", - "sp-runtime", - "sp-session", - "sp-staking", -] - -[[package]] -name = "pallet-beefy-mmr" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "binary-merkle-tree", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-beefy", - "pallet-mmr", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-consensus-beefy", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "pallet-block-participation" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "pretty_assertions", - "scale-info", - "sp-block-participation", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-block-producer-fees" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-block-producer-fees", - "sp-consensus-slots", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-block-producer-fees-rpc" -version = "1.7.0" -dependencies = [ - "derive-new", - "jsonrpsee", - "parity-scale-codec", - "serde", - "sp-api", - "sp-block-producer-fees", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "pallet-block-producer-metadata" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "hex-literal 1.0.0", - "k256", - "log", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sp-block-producer-metadata", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-block-producer-metadata-rpc" -version = "1.7.0" -dependencies = [ - "derive-new", - "jsonrpsee", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sidechain-domain", - "sp-api", - "sp-block-producer-metadata", - "sp-blockchain", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "pallet-block-production-log" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sp-block-production-log", - "sp-consensus-slots", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-governed-map" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "pretty_assertions", - "scale-info", - "sidechain-domain", - "sp-core", - "sp-governed-map", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-grandpa" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "sp-application-crypto", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", -] - -[[package]] -name = "pallet-mmr" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "parity-scale-codec", - "polkadot-sdk-frame", - "scale-info", - "sp-mmr-primitives", -] - -[[package]] -name = "pallet-native-token-management" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sp-io", - "sp-native-token-management", -] - -[[package]] -name = "pallet-partner-chains-session" -version = "1.7.0" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-session", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-runtime", - "sp-staking", - "sp-std", -] - -[[package]] -name = "pallet-session" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-state-machine", - "sp-trie", -] - -[[package]] -name = "pallet-session-validator-management" -version = "1.7.0" -dependencies = [ - "derive-new", - "frame-support", - "frame-system", - "log", - "pallet-partner-chains-session", - "pallet-session", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session-validator-management", - "sp-std", -] - -[[package]] -name = "pallet-session-validator-management-benchmarking" -version = "1.7.0" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "pallet-aura", - "pallet-session-validator-management", - "pallet-sidechain", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "serde", - "sidechain-domain", - "sidechain-slots", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session-validator-management", - "sp-std", -] - -[[package]] -name = "pallet-session-validator-management-rpc" -version = "1.7.0" -dependencies = [ - "derive-new", - "jsonrpsee", - "sidechain-domain", - "sp-session-validator-management-query", -] - -[[package]] -name = "pallet-sidechain" -version = "1.7.0" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sidechain-domain", - "sidechain-slots", - "sp-core", - "sp-io", - "sp-runtime", - "sp-sidechain", - "sp-std", -] - -[[package]] -name = "pallet-sidechain-rpc" -version = "1.7.0" -dependencies = [ - "derive-new", - "hex", - "jsonrpsee", - "parity-scale-codec", - "pretty_assertions", - "scale-info", - "serde", - "serde_json", - "sidechain-domain", - "sidechain-slots", - "sp-api", - "sp-blockchain", - "sp-consensus-slots", - "sp-core", - "sp-runtime", - "sp-sidechain", - "sp-timestamp", - "time-source", - "tokio", -] - -[[package]] -name = "pallet-sudo" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-timestamp" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents", - "sp-runtime", - "sp-storage", - "sp-timestamp", -] - -[[package]] -name = "pallet-transaction-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-io", - "sp-runtime", -] - -[[package]] -name = "pallet-transaction-payment-rpc" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "jsonrpsee", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-weights", -] - -[[package]] -name = "pallet-transaction-payment-rpc-runtime-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "pallet-transaction-payment", - "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-weights", -] - -[[package]] -name = "parity-bip39" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" -dependencies = [ - "bitcoin_hashes 0.13.0", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", -] - -[[package]] -name = "parity-db" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" -dependencies = [ - "blake2 0.10.6", - "crc32fast", - "fs2", - "hex", - "libc", - "log", - "lz4", - "memmap2 0.5.10", - "parking_lot 0.12.4", - "rand 0.8.5", - "siphasher", - "snap", - "winapi", -] - -[[package]] -name = "parity-scale-codec" -version = "3.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" -dependencies = [ - "arrayvec 0.7.6", - "bitvec", - "byte-slice-cast", - "bytes", - "const_format", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "rustversion", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" -dependencies = [ - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "parity-wasm" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - -[[package]] -name = "parking_lot" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" -dependencies = [ - "lock_api", - "parking_lot_core 0.9.11", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.5.12", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "partial_sort" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" - -[[package]] -name = "partner-chains-cardano-offchain" -version = "1.7.0" -dependencies = [ - "anyhow", - "cardano-serialization-lib", - "cbor_event", - "fraction", - "hex", - "hex-literal 1.0.0", - "itertools 0.14.0", - "log", - "minicbor", - "ogmios-client", - "pallas-primitives", - "partner-chains-plutus-data", - "plutus", - "pretty_assertions", - "proptest", - "raw-scripts", - "secp256k1 0.30.0", - "serde", - "serde_json", - "sidechain-domain", - "testcontainers", - "time", - "tokio", - "tokio-retry", - "uplc", -] - -[[package]] -name = "partner-chains-cli" -version = "1.7.0" -dependencies = [ - "anyhow", - "cardano-serialization-lib", - "clap", - "colored", - "ed25519-zebra", - "hex", - "hex-literal 1.0.0", - "inquire", - "libp2p-identity", - "log", - "ogmios-client", - "pallet-session-validator-management", - "partner-chains-cardano-offchain", - "plutus", - "plutus-datum-derive", - "pretty_assertions", - "secp256k1 0.30.0", - "serde", - "serde_json", - "sidechain-domain", - "sp-core", - "sp-runtime", - "sp-session-validator-management", - "tempfile", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "partner-chains-data-sources-cli" -version = "1.7.0" -dependencies = [ - "authority-selection-inherents", - "clap", - "env_logger 0.11.8", - "log", - "partner-chains-db-sync-data-sources", - "serde", - "serde_json", - "sidechain-domain", - "sp-timestamp", - "tokio", -] - -[[package]] -name = "partner-chains-db-sync-data-sources" -version = "1.7.0" -dependencies = [ - "async-trait", - "authority-selection-inherents", - "bigdecimal", - "blake2b_simd", - "cardano-serialization-lib", - "chrono", - "ctor", - "db-sync-sqlx", - "derive-new", - "figment", - "futures", - "hex", - "hex-literal 1.0.0", - "itertools 0.14.0", - "log", - "lru 0.14.0", - "num-bigint", - "pallet-sidechain-rpc", - "partner-chains-plutus-data", - "pretty_assertions", - "serde", - "serde_json", - "sidechain-domain", - "sidechain-mc-hash", - "sp-block-participation", - "sp-governed-map", - "sp-native-token-management", - "sp-timestamp", - "sqlx", - "substrate-prometheus-endpoint", - "testcontainers-modules", - "thiserror 2.0.12", - "tokio", - "tokio-test", -] - -[[package]] -name = "partner-chains-demo-node" -version = "1.7.0" -dependencies = [ - "assert_cmd", - "async-trait", - "authority-selection-inherents", - "clap", - "derive-new", - "envy", - "frame-benchmarking", - "frame-system", - "futures", - "hex-literal 1.0.0", - "jsonrpsee", - "log", - "pallet-block-producer-fees-rpc", - "pallet-block-producer-metadata-rpc", - "pallet-partner-chains-session", - "pallet-session-validator-management", - "pallet-session-validator-management-rpc", - "pallet-sidechain-rpc", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc", - "partner-chains-db-sync-data-sources", - "partner-chains-demo-runtime", - "partner-chains-mock-data-sources", - "partner-chains-node-commands", - "sc-basic-authorship", - "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-beefy", - "sc-consensus-beefy-rpc", - "sc-consensus-grandpa", - "sc-consensus-grandpa-rpc", - "sc-executor", - "sc-network", - "sc-partner-chains-consensus-aura", - "sc-rpc", - "sc-rpc-api", - "sc-service", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", - "schnorr_jubjub", - "serde", - "serde_json", - "sidechain-domain", - "sidechain-mc-hash", - "sidechain-slots", - "sp-api", - "sp-block-builder", - "sp-block-participation", - "sp-block-producer-fees", - "sp-block-producer-metadata", - "sp-block-production-log", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-core", - "sp-governed-map", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-native-token-management", - "sp-partner-chains-consensus-aura", - "sp-runtime", - "sp-session-validator-management", - "sp-session-validator-management-query", - "sp-sidechain", - "sp-timestamp", - "substrate-build-script-utils", - "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", - "thiserror 2.0.12", - "time-source", - "tokio", -] - -[[package]] -name = "partner-chains-demo-runtime" -version = "1.7.0" -dependencies = [ - "authority-selection-inherents", - "blstrs", - "derive-new", - "ff", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "group", - "halo2curves", - "hex", - "hex-literal 1.0.0", - "log", - "midnight-circuits", - "minicbor", - "pallet-address-associations", - "pallet-aura", - "pallet-balances", - "pallet-beefy", - "pallet-beefy-mmr", - "pallet-block-participation", - "pallet-block-producer-fees", - "pallet-block-producer-metadata", - "pallet-block-production-log", - "pallet-governed-map", - "pallet-grandpa", - "pallet-mmr", - "pallet-native-token-management", - "pallet-partner-chains-session", - "pallet-session", - "pallet-session-validator-management", - "pallet-session-validator-management-benchmarking", - "pallet-sidechain", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", - "plutus", - "pretty_assertions", - "scale-info", - "schnorr_jubjub", - "serde", - "serde_json", - "sidechain-domain", - "sidechain-slots", - "sp-api", - "sp-block-builder", - "sp-block-participation", - "sp-block-producer-fees", - "sp-block-producer-metadata", - "sp-block-production-log", - "sp-consensus-aura", - "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-consensus-slots", - "sp-core", - "sp-genesis-builder", - "sp-governed-map", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-native-token-management", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-session-validator-management", - "sp-sidechain", - "sp-staking", - "sp-std", - "sp-storage", - "sp-transaction-pool", - "sp-version", - "sp-weights", - "substrate-wasm-builder", -] - -[[package]] -name = "partner-chains-mock-data-sources" -version = "1.7.0" -dependencies = [ - "async-trait", - "authority-selection-inherents", - "hex", - "hex-literal 1.0.0", - "log", - "pallet-sidechain-rpc", - "rand 0.9.1", - "schnorr_jubjub", - "serde", - "serde_json", - "sidechain-domain", - "sidechain-mc-hash", - "sp-block-participation", - "sp-governed-map", - "sp-native-token-management", - "sp-timestamp", -] - -[[package]] -name = "partner-chains-node-commands" -version = "1.7.0" -dependencies = [ - "authority-selection-inherents", - "clap", - "cli-commands", - "frame-support", - "log", - "log4rs", - "once_cell", - "parity-scale-codec", - "partner-chains-cli", - "partner-chains-smart-contracts-commands", - "plutus", - "sc-cli", - "sc-service", - "sidechain-domain", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-session-validator-management", - "sp-session-validator-management-query", - "sp-sidechain", - "tokio", -] - -[[package]] -name = "partner-chains-plutus-data" -version = "1.7.0" -dependencies = [ - "cardano-serialization-lib", - "hex-literal 1.0.0", - "log", - "pretty_assertions", - "raw-scripts", - "schnorr_jubjub", - "serde_json", - "sidechain-domain", - "thiserror 2.0.12", -] - -[[package]] -name = "partner-chains-smart-contracts-commands" -version = "1.7.0" -dependencies = [ - "anyhow", - "clap", - "hex", - "hex-literal 1.0.0", - "ogmios-client", - "partner-chains-cardano-offchain", - "serde", - "serde_json", - "sidechain-domain", - "tokio", -] - -[[package]] -name = "password-hash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle 2.6.1", -] - -[[package]] -name = "pasta_curves" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" -dependencies = [ - "blake2b_simd", - "ff", - "group", - "hex", - "lazy_static", - "rand 0.8.5", - "serde", - "static_assertions", - "subtle 2.6.1", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "password-hash", -] - -[[package]] -name = "pear" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467" -dependencies = [ - "inlinable_string", - "pear_codegen", - "yansi", -] - -[[package]] -name = "pear_codegen" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147" -dependencies = [ - "proc-macro2", - "proc-macro2-diagnostics", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "peg" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477" -dependencies = [ - "peg-macros", - "peg-runtime", -] - -[[package]] -name = "peg-macros" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71" -dependencies = [ - "peg-runtime", - "proc-macro2", - "quote", -] - -[[package]] -name = "peg-runtime" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca" - -[[package]] -name = "pem" -version = "3.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" -dependencies = [ - "base64 0.22.1", - "serde", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" -dependencies = [ - "fixedbitset", - "indexmap 2.9.0", -] - -[[package]] -name = "pin-project" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "plutus" -version = "1.7.0" -dependencies = [ - "hex", - "minicbor", - "num-bigint", - "num-traits", -] - -[[package]] -name = "plutus-datum-derive" -version = "1.7.0" -dependencies = [ - "quote", - "syn 2.0.101", -] - -[[package]] -name = "polkadot-ckb-merkle-mountain-range" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221c71b432b38e494a0fdedb5f720e4cb974edf03a0af09e5b2238dbac7e6947" -dependencies = [ - "cfg-if", - "itertools 0.10.5", -] - -[[package]] -name = "polkadot-sdk-frame" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-arithmetic", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage", - "sp-transaction-pool", - "sp-version", -] - -[[package]] -name = "polkavm" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" -dependencies = [ - "libc", - "log", - "polkavm-assembler", - "polkavm-common", - "polkavm-linux-raw", -] - -[[package]] -name = "polkavm-assembler" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" -dependencies = [ - "log", -] - -[[package]] -name = "polkavm-common" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" -dependencies = [ - "log", - "polkavm-assembler", -] - -[[package]] -name = "polkavm-derive" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" -dependencies = [ - "polkavm-derive-impl-macro", -] - -[[package]] -name = "polkavm-derive-impl" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" -dependencies = [ - "polkavm-common", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "polkavm-derive-impl-macro" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" -dependencies = [ - "polkavm-derive-impl", - "syn 2.0.101", -] - -[[package]] -name = "polkavm-linker" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" -dependencies = [ - "dirs", - "gimli 0.31.1", - "hashbrown 0.14.5", - "log", - "object 0.36.7", - "polkavm-common", - "regalloc2 0.9.3", - "rustc-demangle", -] - -[[package]] -name = "polkavm-linux-raw" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" - -[[package]] -name = "polling" -version = "3.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi 0.5.1", - "pin-project-lite", - "rustix 1.0.7", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" -dependencies = [ - "cpufeatures", - "opaque-debug 0.3.1", - "universal-hash", -] - -[[package]] -name = "polyval" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug 0.3.1", - "universal-hash", -] - -[[package]] -name = "portable-atomic" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" - -[[package]] -name = "portable-atomic-util" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" -dependencies = [ - "portable-atomic", -] - -[[package]] -name = "potential_utf" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" -dependencies = [ - "zerovec", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "predicates" -version = "3.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" -dependencies = [ - "anstyle", - "difflib", - "predicates-core", -] - -[[package]] -name = "predicates-core" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" - -[[package]] -name = "predicates-tree" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "pretty" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83f3aa1e3ca87d3b124db7461265ac176b40c277f37e503eaa29c9c75c037846" -dependencies = [ - "arrayvec 0.5.2", - "log", - "typed-arena", - "unicode-segmentation", -] - -[[package]] -name = "pretty_assertions" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" -dependencies = [ - "proc-macro2", - "syn 2.0.101", -] - -[[package]] -name = "primitive-types" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-num-traits", - "impl-serde", - "scale-info", - "uint 0.10.0", -] - -[[package]] -name = "proc-macro-crate" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" -dependencies = [ - "thiserror 1.0.69", - "toml 0.5.11", -] - -[[package]] -name = "proc-macro-crate" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-warning" -version = "1.84.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "proc-macro2" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proc-macro2-diagnostics" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "version_check", - "yansi", -] - -[[package]] -name = "prometheus" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" -dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "memchr", - "parking_lot 0.12.4", - "thiserror 1.0.69", -] - -[[package]] -name = "prometheus-client" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" -dependencies = [ - "dtoa", - "itoa", - "parking_lot 0.12.4", - "prometheus-client-derive-encode", -] - -[[package]] -name = "prometheus-client-derive-encode" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "proptest" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" -dependencies = [ - "bit-set", - "bit-vec", - "bitflags 2.9.1", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax 0.8.5", - "rusty-fork", - "tempfile", - "unarray", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive 0.12.6", -] - -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes", - "prost-derive 0.13.5", -] - -[[package]] -name = "prost-build" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" -dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", - "log", - "multimap", - "once_cell", - "petgraph", - "prettyplease", - "prost 0.13.5", - "prost-types", - "regex", - "syn 2.0.101", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "prost-types" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" -dependencies = [ - "prost 0.13.5", -] - -[[package]] -name = "psm" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" -dependencies = [ - "cc", -] - -[[package]] -name = "quanta" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" -dependencies = [ - "crossbeam-utils", - "libc", - "once_cell", - "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-protobuf" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" -dependencies = [ - "byteorder", -] - -[[package]] -name = "quick-protobuf-codec" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" -dependencies = [ - "asynchronous-codec 0.7.0", - "bytes", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "quickcheck" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" -dependencies = [ - "env_logger 0.8.4", - "log", - "rand 0.8.5", -] - -[[package]] -name = "quickcheck_macros" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "quinn" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" -dependencies = [ - "bytes", - "futures-io", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.1.1", - "rustls", - "socket2", - "thiserror 2.0.12", - "tokio", - "tracing", -] - -[[package]] -name = "quinn-proto" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" -dependencies = [ - "bytes", - "getrandom 0.2.16", - "rand 0.8.5", - "ring 0.17.14", - "rustc-hash 2.1.1", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.12", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" -dependencies = [ - "cfg_aliases 0.2.1", - "libc", - "once_cell", - "socket2", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.3", -] - -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc", - "rand_core 0.4.2", - "rdrand", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "rand_pcg" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "raw-cpuid" -version = "11.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" -dependencies = [ - "bitflags 2.9.1", -] - -[[package]] -name = "raw-scripts" -version = "7.2.1" -source = "git+https://github.com/input-output-hk/partner-chains-smart-contracts.git?tag=v7.2.2#d2286eb2ac4c158c5147e32125336eabf67f139e" -dependencies = [ - "hex-literal 0.4.1", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "rcgen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" -dependencies = [ - "bitflags 2.9.1", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.16", - "libredox", - "thiserror 1.0.69", -] - -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "regalloc2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" -dependencies = [ - "fxhash", - "log", - "slice-group-by", - "smallvec", -] - -[[package]] -name = "regalloc2" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" -dependencies = [ - "hashbrown 0.13.2", - "log", - "rustc-hash 1.1.0", - "slice-group-by", - "smallvec", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "resolv-conf" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle 2.6.1", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.16", - "libc", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "rocksdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" -dependencies = [ - "libc", - "librocksdb-sys", -] - -[[package]] -name = "route-recognizer" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" - -[[package]] -name = "rpassword" -version = "7.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.59.0", -] - -[[package]] -name = "rsa" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" -dependencies = [ - "const-oid", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "rtnetlink" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0" -dependencies = [ - "futures", - "log", - "netlink-packet-core", - "netlink-packet-route", - "netlink-packet-utils", - "netlink-proto", - "netlink-sys", - "nix", - "thiserror 1.0.69", - "tokio", -] - -[[package]] -name = "rtoolbox" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver 1.0.26", -] - -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - -[[package]] -name = "rustix" -version = "0.36.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.9.1", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" -dependencies = [ - "bitflags 2.9.1", - "errno", - "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustls" -version = "0.23.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" -dependencies = [ - "log", - "once_cell", - "ring 0.17.14", - "rustls-pki-types", - "rustls-webpki 0.103.3", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "rustls-native-certs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" -dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pki-types" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" -dependencies = [ - "web-time", - "zeroize", -] - -[[package]] -name = "rustls-platform-verifier" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" -dependencies = [ - "core-foundation 0.10.1", - "core-foundation-sys", - "jni", - "log", - "once_cell", - "rustls", - "rustls-native-certs", - "rustls-platform-verifier-android", - "rustls-webpki 0.103.3", - "security-framework", - "security-framework-sys", - "webpki-root-certs 0.26.11", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustls-platform-verifier-android" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.14", - "untrusted 0.9.0", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" -dependencies = [ - "ring 0.17.14", - "rustls-pki-types", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" - -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - -[[package]] -name = "rw-stream-sink" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" -dependencies = [ - "futures", - "pin-project", - "static_assertions", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "safe_arch" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sc-allocator" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "sp-core", - "sp-wasm-interface", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-basic-authorship" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "futures", - "log", - "parity-scale-codec", - "sc-block-builder", - "sc-proposer-metrics", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-block-builder" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", -] - -[[package]] -name = "sc-chain-spec" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "docify", - "memmap2 0.9.5", - "parity-scale-codec", - "sc-chain-spec-derive", - "sc-client-api", - "sc-executor", - "sc-network", - "sc-telemetry", - "serde", - "serde_json", - "sp-blockchain", - "sp-core", - "sp-crypto-hashing", - "sp-genesis-builder", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-tracing", -] - -[[package]] -name = "sc-chain-spec-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sc-cli" -version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "chrono", - "clap", - "fdlimit", - "futures", - "itertools 0.11.0", - "libp2p-identity", - "log", - "names", - "parity-bip39", - "parity-scale-codec", - "rand 0.8.5", - "regex", - "rpassword", - "sc-client-api", - "sc-client-db", - "sc-keystore", - "sc-mixnet", - "sc-network", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-utils", - "serde", - "serde_json", - "sp-blockchain", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", - "sp-version", - "thiserror 1.0.69", - "tokio", -] - -[[package]] -name = "sc-client-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "fnv", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-executor", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-client-db" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "hash-db", - "kvdb", - "kvdb-memorydb", - "kvdb-rocksdb", - "linked-hash-map", - "log", - "parity-db", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-client-api", - "sc-state-db", - "schnellru", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", - "sysinfo", -] - -[[package]] -name = "sc-consensus" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "log", - "mockall", - "parking_lot 0.12.4", - "sc-client-api", - "sc-network-types", - "sc-utils", - "serde", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-aura" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "async-channel", - "async-trait", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-gossip", - "sc-network-sync", - "sc-network-types", - "sc-utils", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-beefy", - "sp-core", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "wasm-timer", -] - -[[package]] -name = "sc-consensus-beefy-rpc" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-consensus-beefy", - "sc-rpc", - "serde", - "sp-application-crypto", - "sp-consensus-beefy", - "sp-core", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-grandpa" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "ahash", - "array-bytes 6.2.3", - "async-trait", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "rand 0.8.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-network-sync", - "sc-network-types", - "sc-telemetry", - "sc-transaction-pool-api", - "sc-utils", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-crypto-hashing", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-grandpa-rpc" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "finality-grandpa", - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-consensus-grandpa", - "sc-rpc", - "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-slots" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-telemetry", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", -] - -[[package]] -name = "sc-executor" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", - "schnellru", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-trie", - "sp-version", - "sp-wasm-interface", - "tracing", -] - -[[package]] -name = "sc-executor-common" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "polkavm", - "sc-allocator", - "sp-maybe-compressed-blob", - "sp-wasm-interface", - "thiserror 1.0.69", - "wasm-instrument", -] - -[[package]] -name = "sc-executor-polkavm" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "polkavm", - "sc-executor-common", - "sp-wasm-interface", -] - -[[package]] -name = "sc-executor-wasmtime" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "anyhow", - "log", - "parking_lot 0.12.4", - "rustix 0.36.17", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmtime", -] - -[[package]] -name = "sc-informant" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "console", - "futures", - "futures-timer", - "log", - "sc-client-api", - "sc-network", - "sc-network-sync", - "sp-blockchain", - "sp-runtime", -] - -[[package]] -name = "sc-keystore" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "parking_lot 0.12.4", - "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "arrayvec 0.7.6", - "blake2 0.10.6", - "bytes", - "futures", - "futures-timer", - "log", - "mixnet", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", - "sp-api", - "sp-consensus", - "sp-core", - "sp-keystore", - "sp-mixnet", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-network" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "async-channel", - "async-trait", - "asynchronous-codec 0.6.2", - "bytes", - "cid 0.9.0", - "either", - "fnv", - "futures", - "futures-timer", - "ip_network", - "libp2p", - "linked_hash_set", - "litep2p", - "log", - "mockall", - "parity-scale-codec", - "parking_lot 0.12.4", - "partial_sort", - "pin-project", - "prost 0.12.6", - "prost-build", - "rand 0.8.5", - "sc-client-api", - "sc-network-common", - "sc-network-types", - "sc-utils", - "schnellru", - "serde", - "serde_json", - "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "unsigned-varint 0.7.2", - "void", - "wasm-timer", - "zeroize", -] - -[[package]] -name = "sc-network-common" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "bitflags 1.3.2", - "parity-scale-codec", - "sp-runtime", -] - -[[package]] -name = "sc-network-gossip" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "ahash", - "futures", - "futures-timer", - "log", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", - "schnellru", - "sp-runtime", - "substrate-prometheus-endpoint", - "tracing", -] - -[[package]] -name = "sc-network-light" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "async-channel", - "futures", - "log", - "parity-scale-codec", - "prost 0.12.6", - "prost-build", - "sc-client-api", - "sc-network", - "sc-network-types", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-network-sync" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "async-channel", - "async-trait", - "fork-tree", - "futures", - "log", - "mockall", - "parity-scale-codec", - "prost 0.12.6", - "prost-build", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-types", - "sc-utils", - "schnellru", - "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "tokio-stream", -] - -[[package]] -name = "sc-network-test" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-channel", - "async-trait", - "futures", - "futures-timer", - "libp2p", - "log", - "parking_lot 0.12.4", - "rand 0.8.5", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-light", - "sc-network-sync", - "sc-network-types", - "sc-service", - "sc-utils", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-tracing", - "substrate-test-runtime", - "substrate-test-runtime-client", - "tokio", -] - -[[package]] -name = "sc-network-transactions" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "futures", - "log", - "parity-scale-codec", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", - "sc-utils", - "sp-consensus", - "sp-runtime", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-network-types" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "bs58", - "bytes", - "ed25519-dalek", - "libp2p-identity", - "libp2p-kad", - "litep2p", - "log", - "multiaddr 0.18.2", - "multihash 0.19.3", - "rand 0.8.5", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "sc-partner-chains-consensus-aura" -version = "1.7.0" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-slots", - "sc-keystore", - "sc-network", - "sc-network-test", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keyring", - "sp-keystore", - "sp-partner-chains-consensus-aura", - "sp-runtime", - "sp-timestamp", - "sp-tracing", - "substrate-test-runtime-client", - "tempfile", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sc-proposer-metrics" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "substrate-prometheus-endpoint", -] - -[[package]] -name = "sc-rpc" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-mixnet", - "sc-rpc-api", - "sc-tracing", - "sc-transaction-pool-api", - "sc-utils", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-offchain", - "sp-rpc", - "sp-runtime", - "sp-session", - "sp-statement-store", - "sp-version", - "tokio", -] - -[[package]] -name = "sc-rpc-api" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "sc-chain-spec", - "sc-mixnet", - "sc-transaction-pool-api", - "scale-info", - "serde", - "serde_json", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-version", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-rpc-server" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "dyn-clone", - "forwarded-header-value", - "futures", - "governor", - "http 1.3.1", - "http-body-util", - "hyper 1.6.0", - "ip_network", - "jsonrpsee", - "log", - "sc-rpc-api", - "serde", - "serde_json", - "substrate-prometheus-endpoint", - "tokio", - "tower", - "tower-http", -] - -[[package]] -name = "sc-rpc-spec-v2" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "futures", - "futures-util", - "hex", - "itertools 0.11.0", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "rand 0.8.5", - "sc-chain-spec", - "sc-client-api", - "sc-rpc", - "sc-transaction-pool-api", - "schnellru", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-version", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "tokio-stream", -] - -[[package]] -name = "sc-service" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "directories", - "exit-future", - "futures", - "futures-timer", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "pin-project", - "rand 0.8.5", - "sc-chain-spec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-informant", - "sc-keystore", - "sc-network", - "sc-network-common", - "sc-network-light", - "sc-network-sync", - "sc-network-transactions", - "sc-network-types", - "sc-rpc", - "sc-rpc-server", - "sc-rpc-spec-v2", - "sc-sysinfo", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", - "schnellru", - "serde", - "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-storage", - "sp-transaction-pool", - "sp-transaction-storage-proof", - "sp-trie", - "sp-version", - "static_init", - "substrate-prometheus-endpoint", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-futures", -] - -[[package]] -name = "sc-state-db" -version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "sp-core", -] - -[[package]] -name = "sc-sysinfo" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "derive_more 0.99.20", - "futures", - "libc", - "log", - "rand 0.8.5", - "rand_pcg", - "regex", - "sc-telemetry", - "serde", - "serde_json", - "sp-core", - "sp-crypto-hashing", - "sp-io", -] - -[[package]] -name = "sc-telemetry" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "chrono", - "futures", - "libp2p", - "log", - "parking_lot 0.12.4", - "pin-project", - "rand 0.8.5", - "sc-utils", - "serde", - "serde_json", - "thiserror 1.0.69", - "wasm-timer", -] - -[[package]] -name = "sc-tracing" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "chrono", - "console", - "is-terminal", - "libc", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "rustc-hash 1.1.0", - "sc-client-api", - "sc-tracing-proc-macro", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-tracing", - "thiserror 1.0.69", - "tracing", - "tracing-log", - "tracing-subscriber", -] - -[[package]] -name = "sc-tracing-proc-macro" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sc-transaction-pool" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "indexmap 2.9.0", - "itertools 0.11.0", - "linked-hash-map", - "parity-scale-codec", - "parking_lot 0.12.4", - "sc-client-api", - "sc-transaction-pool-api", - "sc-utils", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-crypto-hashing", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "sc-transaction-pool-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "indexmap 2.9.0", - "log", - "parity-scale-codec", - "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-utils" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-channel", - "futures", - "futures-timer", - "log", - "parking_lot 0.12.4", - "prometheus", - "sp-arithmetic", -] - -[[package]] -name = "scale-bits" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27243ab0d2d6235072b017839c5f0cd1a3b1ce45c0f7a715363b0c7d36c76c94" -dependencies = [ - "parity-scale-codec", - "scale-type-resolver", -] - -[[package]] -name = "scale-decode" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d78196772d25b90a98046794ce0fe2588b39ebdfbdc1e45b4c6c85dd43bebad" -dependencies = [ - "parity-scale-codec", - "scale-bits", - "scale-type-resolver", - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "scale-info" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" -dependencies = [ - "bitvec", - "cfg-if", - "derive_more 1.0.0", - "parity-scale-codec", - "scale-info-derive", - "serde", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" -dependencies = [ - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "scale-type-resolver" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" - -[[package]] -name = "schannel" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "schemars" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.101", -] - -[[package]] -name = "schnellru" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" -dependencies = [ - "ahash", - "cfg-if", - "hashbrown 0.13.2", -] - -[[package]] -name = "schnorr_jubjub" -version = "1.7.0" -dependencies = [ - "blstrs", - "ff", - "frame-support", - "group", - "halo2curves", - "hash256-std-hasher", - "hex", - "midnight-circuits", - "pallet-beefy-mmr", - "parity-scale-codec", - "rand_core 0.6.4", - "sc-keystore", - "scale-info", - "serde", - "sha2 0.10.9", - "sp-application-crypto", - "sp-consensus-beefy", - "sp-core", - "sp-externalities", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-runtime-interface", - "sp-trie", -] - -[[package]] -name = "schnorrkel" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" -dependencies = [ - "aead", - "arrayref", - "arrayvec 0.7.6", - "curve25519-dalek", - "getrandom_or_panic", - "merlin", - "rand_core 0.6.4", - "serde_bytes", - "sha2 0.10.9", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scratch" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52" - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array 0.14.7", - "pkcs8", - "serdect", - "subtle 2.6.1", - "zeroize", -] - -[[package]] -name = "secp256k1" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" -dependencies = [ - "secp256k1-sys 0.8.1", -] - -[[package]] -name = "secp256k1" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" -dependencies = [ - "secp256k1-sys 0.9.2", -] - -[[package]] -name = "secp256k1" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" -dependencies = [ - "bitcoin_hashes 0.14.0", - "rand 0.8.5", - "secp256k1-sys 0.10.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" -dependencies = [ - "cc", -] - -[[package]] -name = "secp256k1-sys" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" -dependencies = [ - "cc", -] - -[[package]] -name = "secp256k1-sys" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" -dependencies = [ - "cc", -] - -[[package]] -name = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "zeroize", -] - -[[package]] -name = "security-framework" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" -dependencies = [ - "bitflags 2.9.1", - "core-foundation 0.10.1", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "selection" -version = "1.7.0" -dependencies = [ - "quickcheck", - "quickcheck_macros", - "rand 0.9.1", - "rand_chacha 0.9.0", -] - -[[package]] -name = "semver" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -dependencies = [ - "serde", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_arrays" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38636132857f68ec3d5f3eb121166d2af33cb55174c4d5ff645db6165cbef0fd" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_bytes" -version = "0.11.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_test" -version = "1.0.177" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" -dependencies = [ - "serde", - "serde_with_macros", -] - -[[package]] -name = "serde_with_macros" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.9.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serdect" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" -dependencies = [ - "base16ct", - "serde", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.1", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.1", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest 0.10.7", - "keccak", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "sidechain-block-search" -version = "1.7.0" -dependencies = [ - "hex", - "hex-literal 1.0.0", - "parity-scale-codec", - "proptest", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-blockchain", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-runtime", - "sp-sidechain", -] - -[[package]] -name = "sidechain-domain" -version = "1.7.0" -dependencies = [ - "bech32 0.11.0", - "blake2b_simd", - "byte-string-derive", - "derive-where", - "derive_more 2.0.1", - "ed25519-zebra", - "figment", - "hex", - "hex-literal 1.0.0", - "k256", - "num-bigint", - "num-derive", - "num-traits", - "parity-scale-codec", - "plutus", - "plutus-datum-derive", - "scale-info", - "schnorr_jubjub", - "secp256k1 0.30.0", - "serde", - "serde_json", - "sp-core", - "sp-crypto-hashing", - "sp-io", - "sp-std", - "thiserror 2.0.12", -] - -[[package]] -name = "sidechain-mc-hash" -version = "1.7.0" -dependencies = [ - "async-trait", - "derive-new", - "serde", - "sidechain-domain", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-inherents", - "sp-partner-chains-consensus-aura", - "sp-runtime", - "sp-timestamp", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sidechain-slots" -version = "1.7.0" -dependencies = [ - "envy", - "parity-scale-codec", - "proptest", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-blockchain", - "sp-consensus-slots", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "signal-hook" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - -[[package]] -name = "simba" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" -dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", - "wide", -] - -[[package]] -name = "simple-dns" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" -dependencies = [ - "bitflags 2.9.1", -] - -[[package]] -name = "simple-mermaid" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - -[[package]] -name = "smallvec" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" -dependencies = [ - "serde", -] - -[[package]] -name = "snap" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" - -[[package]] -name = "snow" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" -dependencies = [ - "aes-gcm", - "blake2 0.10.6", - "chacha20poly1305", - "curve25519-dalek", - "rand_core 0.6.4", - "ring 0.17.14", - "rustc_version", - "sha2 0.10.9", - "subtle 2.6.1", -] - -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "soketto" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures", - "http 1.3.1", - "httparse", - "log", - "rand 0.8.5", - "sha1", -] - -[[package]] -name = "sp-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro", - "sp-core", - "sp-externalities", - "sp-metadata-ir", - "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-trie", - "sp-version", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-api-proc-macro" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander", - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sp-application-crypto" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", -] - -[[package]] -name = "sp-arithmetic" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "static_assertions", -] - -[[package]] -name = "sp-block-builder" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "sp-api", - "sp-inherents", - "sp-runtime", -] - -[[package]] -name = "sp-block-participation" -version = "1.7.0" -dependencies = [ - "async-trait", - "log", - "parity-scale-codec", - "pretty_assertions", - "scale-info", - "sidechain-domain", - "sp-api", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sp-block-producer-fees" -version = "1.7.0" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-std", -] - -[[package]] -name = "sp-block-producer-metadata" -version = "1.7.0" -dependencies = [ - "hex-literal 1.0.0", - "k256", - "parity-scale-codec", - "sidechain-domain", - "sp-api", -] - -[[package]] -name = "sp-block-production-log" -version = "1.7.0" -dependencies = [ - "async-trait", - "hex", - "parity-scale-codec", - "sidechain-slots", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "thiserror 2.0.12", -] - -[[package]] -name = "sp-blockchain" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "futures", - "parity-scale-codec", - "parking_lot 0.12.4", - "schnellru", - "sp-api", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "thiserror 1.0.69", - "tracing", -] - -[[package]] -name = "sp-consensus" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-consensus-aura" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-application-crypto", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing", - "sp-io", - "sp-keystore", - "sp-mmr-primitives", - "sp-runtime", - "sp-weights", - "strum 0.26.3", -] - -[[package]] -name = "sp-consensus-grandpa" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-timestamp", -] - -[[package]] -name = "sp-core" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "ark-vrf", - "array-bytes 6.2.3", - "bitflags 1.3.2", - "blake2 0.10.6", - "bounded-collections", - "bs58", - "dyn-clone", - "ed25519-zebra", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "itertools 0.11.0", - "k256", - "libsecp256k1", - "log", - "merlin", - "parity-bip39", - "parity-scale-codec", - "parking_lot 0.12.4", - "paste", - "primitive-types", - "rand 0.8.5", - "scale-info", - "schnorrkel", - "secp256k1 0.28.2", - "secrecy", - "serde", - "sha2 0.10.9", - "sp-crypto-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "ss58-registry", - "substrate-bip39", - "thiserror 1.0.69", - "tracing", - "w3f-bls", - "zeroize", -] - -[[package]] -name = "sp-crypto-hashing" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.9", - "sha3 0.10.8", - "twox-hash", -] - -[[package]] -name = "sp-crypto-hashing-proc-macro" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "quote", - "sp-crypto-hashing", - "syn 2.0.101", -] - -[[package]] -name = "sp-database" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "kvdb", - "parking_lot 0.12.4", -] - -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage", -] - -[[package]] -name = "sp-genesis-builder" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde_json", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "sp-governed-map" -version = "1.7.0" -dependencies = [ - "async-trait", - "log", - "parity-scale-codec", - "pretty_assertions", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-inherents", - "sp-runtime", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sp-inherents" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-io" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "bytes", - "docify", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive", - "rustversion", - "secp256k1 0.28.2", - "sp-core", - "sp-crypto-hashing", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-tracing", - "sp-trie", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-keyring" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "sp-core", - "sp-runtime", - "strum 0.26.3", -] - -[[package]] -name = "sp-keystore" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.4", - "sp-core", - "sp-externalities", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "thiserror 1.0.69", - "zstd 0.12.4", -] - -[[package]] -name = "sp-metadata-ir" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "frame-metadata", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "sp-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-application-crypto", -] - -[[package]] -name = "sp-mmr-primitives" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "log", - "parity-scale-codec", - "polkadot-ckb-merkle-mountain-range", - "scale-info", - "serde", - "sp-api", - "sp-core", - "sp-debug-derive", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-native-token-management" -version = "1.7.0" -dependencies = [ - "async-trait", - "derive-new", - "envy", - "parity-scale-codec", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-inherents", - "sp-runtime", - "sp-version", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sp-offchain" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sp-panic-handler" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "backtrace", - "regex", -] - -[[package]] -name = "sp-partner-chains-consensus-aura" -version = "1.7.0" -dependencies = [ - "futures", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", -] - -[[package]] -name = "sp-rpc" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "rustc-hash 1.1.0", - "serde", - "sp-core", -] - -[[package]] -name = "sp-runtime" -version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "binary-merkle-tree", - "docify", - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "paste", - "rand 0.8.5", - "scale-info", - "serde", - "simple-mermaid", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", - "sp-trie", - "sp-weights", - "tracing", - "tuplex", -] - -[[package]] -name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive", - "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sp-session" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-staking", -] - -[[package]] -name = "sp-session-validator-management" -version = "1.7.0" -dependencies = [ - "envy", - "parity-scale-codec", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-std", - "thiserror 2.0.12", -] - -[[package]] -name = "sp-session-validator-management-query" -version = "1.7.0" -dependencies = [ - "async-trait", - "authority-selection-inherents", - "derive-new", - "hex-literal 1.0.0", - "minicbor", - "parity-scale-codec", - "plutus", - "plutus-datum-derive", - "scale-info", - "serde", - "serde_json", - "sidechain-block-search", - "sidechain-domain", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-session-validator-management", - "sp-sidechain", - "sp-std", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "sp-sidechain" -version = "1.7.0" -dependencies = [ - "envy", - "frame-support", - "parity-scale-codec", - "scale-info", - "serde", - "sidechain-domain", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "sp-staking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "sp-state-machine" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.4", - "rand 0.8.5", - "smallvec", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-trie", - "thiserror 1.0.69", - "tracing", - "trie-db", -] - -[[package]] -name = "sp-statement-store" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "aes-gcm", - "curve25519-dalek", - "ed25519-dalek", - "hkdf", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sha2 0.10.9", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing", - "sp-externalities", - "sp-runtime", - "sp-runtime-interface", - "thiserror 1.0.69", - "x25519-dalek", -] - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" - -[[package]] -name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive", -] - -[[package]] -name = "sp-timestamp" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-transaction-pool" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "sp-api", - "sp-runtime", -] - -[[package]] -name = "sp-transaction-storage-proof" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", -] - -[[package]] -name = "sp-trie" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "ahash", - "hash-db", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.4", - "rand 0.8.5", - "scale-info", - "schnellru", - "sp-core", - "sp-externalities", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-version" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-version-proc-macro" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "parity-scale-codec", - "proc-macro-warning", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "wasmtime", -] - -[[package]] -name = "sp-weights" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "bounded-collections", - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic", - "sp-debug-derive", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spinning_top" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "sqlx" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" -dependencies = [ - "base64 0.22.1", - "bigdecimal", - "bytes", - "chrono", - "crc", - "crossbeam-queue", - "either", - "event-listener 5.4.0", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.3", - "hashlink 0.10.0", - "indexmap 2.9.0", - "log", - "memchr", - "once_cell", - "percent-encoding", - "rustls", - "serde", - "serde_json", - "sha2 0.10.9", - "smallvec", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tracing", - "url", - "webpki-roots 0.26.11", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn 2.0.101", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" -dependencies = [ - "dotenvy", - "either", - "heck 0.5.0", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2 0.10.9", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", - "syn 2.0.101", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" -dependencies = [ - "atoi", - "base64 0.22.1", - "bigdecimal", - "bitflags 2.9.1", - "byteorder", - "bytes", - "chrono", - "crc", - "digest 0.10.7", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array 0.14.7", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2 0.10.9", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" -dependencies = [ - "atoi", - "base64 0.22.1", - "bigdecimal", - "bitflags 2.9.1", - "byteorder", - "chrono", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "num-bigint", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2 0.10.9", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" -dependencies = [ - "atoi", - "chrono", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "thiserror 2.0.12", - "tracing", - "url", -] - -[[package]] -name = "ss58-registry" -version = "1.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" -dependencies = [ - "Inflector", - "num-format", - "proc-macro2", - "quote", - "serde", - "serde_json", - "unicode-xid", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "static_init" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" -dependencies = [ - "bitflags 1.3.2", - "cfg_aliases 0.2.1", - "libc", - "parking_lot 0.12.4", - "parking_lot_core 0.9.11", - "static_init_macro", - "winapi", -] - -[[package]] -name = "static_init_macro" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" -dependencies = [ - "cfg_aliases 0.1.1", - "memchr", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.101", -] - -[[package]] -name = "substrate-bip39" -version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "hmac", - "pbkdf2", - "schnorrkel", - "sha2 0.10.9", - "zeroize", -] - -[[package]] -name = "substrate-build-script-utils" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" - -[[package]] -name = "substrate-frame-rpc-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "docify", - "frame-system-rpc-runtime-api", - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "sc-rpc-api", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-runtime", -] - -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "http-body-util", - "hyper 1.6.0", - "hyper-util", - "log", - "prometheus", - "thiserror 1.0.69", - "tokio", -] - -[[package]] -name = "substrate-test-client" -version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "async-trait", - "futures", - "parity-scale-codec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-service", - "serde", - "serde_json", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-runtime", - "tokio", -] - -[[package]] -name = "substrate-test-runtime" -version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "frame-executive", - "frame-metadata-hash-extension", - "frame-support", - "frame-system", - "frame-system-rpc-runtime-api", - "log", - "pallet-babe", - "pallet-balances", - "pallet-timestamp", - "parity-scale-codec", - "sc-service", - "scale-info", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-grandpa", - "sp-core", - "sp-crypto-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-transaction-pool", - "sp-trie", - "sp-version", - "substrate-wasm-builder", - "tracing", - "trie-db", -] - -[[package]] -name = "substrate-test-runtime-client" -version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "futures", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "substrate-test-client", - "substrate-test-runtime", -] - -[[package]] -name = "substrate-wasm-builder" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" -dependencies = [ - "array-bytes 6.2.3", - "build-helper", - "cargo_metadata", - "console", - "filetime", - "frame-metadata", - "jobserver", - "merkleized-metadata", - "parity-scale-codec", - "parity-wasm", - "polkavm-linker", - "sc-executor", - "shlex", - "sp-core", - "sp-io", - "sp-maybe-compressed-blob", - "sp-tracing", - "sp-version", - "strum 0.26.3", - "tempfile", - "toml 0.8.22", - "walkdir", - "wasm-opt", -] - -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", -] - -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "sysinfo" -version = "0.30.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "windows 0.52.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.9.1", - "core-foundation 0.9.4", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tempfile" -version = "3.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" -dependencies = [ - "fastrand", - "getrandom 0.3.3", - "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminal_size" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" -dependencies = [ - "rustix 1.0.7", - "windows-sys 0.59.0", -] - -[[package]] -name = "termtree" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" - -[[package]] -name = "testcontainers" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d2931d7f521af5bae989f716c3fa43a6af9af7ec7a5e21b59ae40878cec00" -dependencies = [ - "bollard-stubs", - "futures", - "hex", - "hmac", - "log", - "rand 0.8.5", - "serde", - "serde_json", - "sha2 0.10.9", -] - -[[package]] -name = "testcontainers-modules" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c405c3757803e54818eaaf6b5b2af485dff4ab89a7130b72f62fd19b8bb6cd" -dependencies = [ - "testcontainers", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "thread-id" -version = "4.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "tikv-jemalloc-sys" -version = "0.5.4+5.3.0-patched" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "time" -version = "0.3.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" - -[[package]] -name = "time-macros" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "time-source" -version = "1.7.0" - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinystr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio 1.0.4", - "parking_lot 0.12.4", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "tokio-retry" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" -dependencies = [ - "pin-project", - "rand 0.8.5", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-test" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7" -dependencies = [ - "async-stream", - "bytes", - "futures-core", - "tokio", - "tokio-stream", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" -dependencies = [ - "futures-util", - "log", - "rustls", - "rustls-native-certs", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tungstenite", -] - -[[package]] -name = "tokio-util" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" -dependencies = [ - "indexmap 2.9.0", - "serde", - "serde_spanned", - "toml_datetime", - "toml_write", - "winnow", -] - -[[package]] -name = "toml_write" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" -dependencies = [ - "bitflags 2.9.1", - "bytes", - "http 1.3.1", - "http-body 1.0.1", - "http-body-util", - "pin-project-lite", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "parking_lot 0.12.4", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "time", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "trie-db" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c0670ab45a6b7002c7df369fee950a27cf29ae0474343fd3a15aa15f691e7a6" -dependencies = [ - "hash-db", - "log", - "rustc-hex", - "smallvec", -] - -[[package]] -name = "trie-root" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" -dependencies = [ - "hash-db", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tt-call" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" - -[[package]] -name = "tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" -dependencies = [ - "bytes", - "data-encoding", - "http 1.3.1", - "httparse", - "log", - "rand 0.9.1", - "rustls", - "rustls-pki-types", - "sha1", - "thiserror 2.0.12", - "url", - "utf-8", -] - -[[package]] -name = "tuplex" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "digest 0.10.7", - "rand 0.8.5", - "static_assertions", -] - -[[package]] -name = "typed-arena" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" - -[[package]] -name = "typemap-ors" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" -dependencies = [ - "unsafe-any-ors", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "uint" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "uncased" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-width" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle 2.6.1", -] - -[[package]] -name = "unroll" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "unsafe-any-ors" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" -dependencies = [ - "destructure_traitobject", -] - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - -[[package]] -name = "unsigned-varint" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" -dependencies = [ - "asynchronous-codec 0.6.2", - "bytes", - "futures-io", - "futures-util", -] - -[[package]] -name = "unsigned-varint" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" -dependencies = [ - "bytes", - "tokio-util", -] - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "uplc" -version = "1.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b403bc5718ac7c2a117242cc9112b2cc375c507eb7338ca9cb2b0405e492178" -dependencies = [ - "bitvec", - "blst", - "cryptoxide", - "hamming", - "hex", - "indexmap 1.9.3", - "itertools 0.10.5", - "k256", - "miette", - "num-bigint", - "num-integer", - "num-traits", - "once_cell", - "pallas-addresses", - "pallas-codec", - "pallas-crypto", - "pallas-primitives", - "pallas-traverse", - "peg", - "pretty", - "secp256k1 0.26.0", - "serde", - "serde_json", - "strum 0.26.3", - "thiserror 1.0.69", -] - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "uuid" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" -dependencies = [ - "getrandom 0.3.3", -] - -[[package]] -name = "valuable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "w3f-bls" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6bfb937b3d12077654a9e43e32a4e9c20177dd9fea0f3aba673e7840bb54f32" -dependencies = [ - "ark-bls12-377", - "ark-bls12-381 0.4.0", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-serialize-derive 0.4.2", - "arrayref", - "digest 0.10.7", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "sha2 0.10.9", - "sha3 0.10.8", - "zeroize", -] - -[[package]] -name = "w3f-pcs" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbe7a8d5c914b69392ab3b267f679a2e546fe29afaddce47981772ac71bd02e1" -dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "merlin", -] - -[[package]] -name = "w3f-plonk-common" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aca389e494fe08c5c108b512e2328309036ee1c0bc7bdfdb743fef54d448c8c" -dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "getrandom_or_panic", - "rand_core 0.6.4", - "w3f-pcs", -] - -[[package]] -name = "w3f-ring-proof" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a639379402ad51504575dbd258740383291ac8147d3b15859bdf1ea48c677de" -dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", - "ark-transcript", - "w3f-pcs", - "w3f-plonk-common", -] - -[[package]] -name = "wait-timeout" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" -dependencies = [ - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.101", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-instrument" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "wasm-opt" -version = "0.116.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" -dependencies = [ - "anyhow", - "libc", - "strum 0.24.1", - "strum_macros 0.24.3", - "tempfile", - "thiserror 1.0.69", - "wasm-opt-cxx-sys", - "wasm-opt-sys", -] - -[[package]] -name = "wasm-opt-cxx-sys" -version = "0.116.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e" -dependencies = [ - "anyhow", - "cxx", - "cxx-build", - "wasm-opt-sys", -] - -[[package]] -name = "wasm-opt-sys" -version = "0.116.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe" -dependencies = [ - "anyhow", - "cc", - "cxx", - "cxx-build", -] - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures", - "js-sys", - "parking_lot 0.11.2", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmparser" -version = "0.102.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" -dependencies = [ - "indexmap 1.9.3", - "url", -] - -[[package]] -name = "wasmtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "object 0.30.4", - "once_cell", - "paste", - "psm", - "rayon", - "serde", - "target-lexicon", - "wasmparser", - "wasmtime-cache", - "wasmtime-cranelift", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-asm-macros" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "wasmtime-cache" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" -dependencies = [ - "anyhow", - "base64 0.21.7", - "bincode", - "directories-next", - "file-per-thread-logger", - "log", - "rustix 0.36.17", - "serde", - "sha2 0.10.9", - "toml 0.5.11", - "windows-sys 0.45.0", - "zstd 0.11.2+zstd.1.5.2", -] - -[[package]] -name = "wasmtime-cranelift" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "cranelift-native", - "cranelift-wasm", - "gimli 0.27.3", - "log", - "object 0.30.4", - "target-lexicon", - "thiserror 1.0.69", - "wasmparser", - "wasmtime-cranelift-shared", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-cranelift-shared" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-native", - "gimli 0.27.3", - "object 0.30.4", - "target-lexicon", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" -dependencies = [ - "anyhow", - "cranelift-entity", - "gimli 0.27.3", - "indexmap 1.9.3", - "log", - "object 0.30.4", - "serde", - "target-lexicon", - "thiserror 1.0.69", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "wasmtime-jit" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" -dependencies = [ - "addr2line 0.19.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli 0.27.3", - "log", - "object 0.30.4", - "rustc-demangle", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" -dependencies = [ - "object 0.30.4", - "once_cell", - "rustix 0.36.17", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" -dependencies = [ - "anyhow", - "cc", - "cfg-if", - "indexmap 1.9.3", - "libc", - "log", - "mach", - "memfd", - "memoffset", - "paste", - "rand 0.8.5", - "rustix 0.36.17", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-jit-debug", - "windows-sys 0.45.0", -] - -[[package]] -name = "wasmtime-types" -version = "8.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" -dependencies = [ - "cranelift-entity", - "serde", - "thiserror 1.0.69", - "wasmparser", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-root-certs" -version = "0.26.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" -dependencies = [ - "webpki-root-certs 1.0.0", -] - -[[package]] -name = "webpki-root-certs" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a83f7e1a9f8712695c03eabe9ed3fbca0feff0152f33f12593e5a6303cb1a4" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "webpki-roots" -version = "0.26.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" -dependencies = [ - "webpki-roots 1.0.0", -] - -[[package]] -name = "webpki-roots" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "whoami" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" -dependencies = [ - "redox_syscall 0.5.12", - "wasite", -] - -[[package]] -name = "wide" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" -dependencies = [ - "bytemuck", - "safe_arch", -] - -[[package]] -name = "widestring" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" -dependencies = [ - "windows-core 0.53.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows" -version = "0.61.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" -dependencies = [ - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result 0.3.4", - "windows-strings", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "windows-interface" -version = "0.59.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "windows-link" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link", -] - -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" -dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", -] - -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - -[[package]] -name = "winnow" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] - -[[package]] -name = "writeable" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "x25519-dalek" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" -dependencies = [ - "curve25519-dalek", - "rand_core 0.6.4", - "serde", - "zeroize", -] - -[[package]] -name = "x509-parser" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" -dependencies = [ - "asn1-rs 0.6.2", - "data-encoding", - "der-parser 9.0.0", - "lazy_static", - "nom", - "oid-registry 0.7.1", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "x509-parser" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" -dependencies = [ - "asn1-rs 0.7.1", - "data-encoding", - "der-parser 10.0.0", - "lazy_static", - "nom", - "oid-registry 0.8.1", - "rusticata-macros", - "thiserror 2.0.12", - "time", -] - -[[package]] -name = "xml-rs" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" - -[[package]] -name = "xmltree" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" -dependencies = [ - "xml-rs", -] - -[[package]] -name = "yamux" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot 0.12.4", - "pin-project", - "rand 0.8.5", - "static_assertions", -] - -[[package]] -name = "yamux" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da1acad1c2dc53f0dde419115a38bd8221d8c3e47ae9aeceaf453266d29307e" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot 0.12.4", - "pin-project", - "rand 0.9.1", - "static_assertions", - "web-time", -] - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time", -] - -[[package]] -name = "yoke" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "synstructure 0.13.2", -] - -[[package]] -name = "zerocopy" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", - "synstructure 0.13.2", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "zerotrie" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe 6.0.6", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/Cargo.toml b/Cargo.toml index 6dbd6c45e4..34c54f5e1c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -345,3 +345,9 @@ partner-chains-demo-runtime = { path = "demo/runtime" } # Schnorr experiments schnorr_jubjub = { path = "toolkit/utils/schnorr_jubjub", default-features = false } hash256-std-hasher = { version = "0.15.2", default-features = false } +ark-ed-on-bls12-381 = { version = "0.5.0", default-features = false } +ark-ff = { version = "0.5.0", default-features = false } +ark-ec = { version = "0.5.0", default-features = false } +ark-serialize = { version = "0.5.0", default-features = false } +rand_core = {version = "0.6.4", default-features = false } +sha2 = {version = "0.10.9", default-features = false } diff --git a/demo/runtime/Cargo.toml b/demo/runtime/Cargo.toml index 7a44953f12..a1450e37da 100644 --- a/demo/runtime/Cargo.toml +++ b/demo/runtime/Cargo.toml @@ -99,12 +99,7 @@ sp-block-producer-fees = { workspace = true } pallet-block-producer-fees = { workspace = true } sp-io = { workspace = true } -schnorr_jubjub = { workspace = true } -midnight-circuits = { git = "https://github.com/midnightntwrk/midnight-circuits", branch = "iquerejeta/committee_proof"} -halo2curves = { version = "0.7.0", features = ["derive_serde"] } -blstrs = { git = "https://github.com/davidnevadoc/blstrs", rev = "3dfe5bf" } -group = "0.13" -ff = "0.13" +#schnorr_jubjub = { workspace = true } [dev-dependencies] sp-keyring = { workspace = true } @@ -187,6 +182,7 @@ std = [ "sp-block-participation/std", "pallet-governed-map/std", "sp-governed-map/std", +# "schnorr_jubjub/std", ] runtime-benchmarks = [ diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index ca83783cb4..8fdc20eafb 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -54,7 +54,6 @@ use sp_core::ByteArray; use sp_core::{OpaqueMetadata, crypto::KeyTypeId}; use sp_governed_map::MainChainScriptsV1; use sp_inherents::InherentIdentifier; -use sp_runtime::traits::Keccak256; use sp_runtime::{ ApplyExtrinsicResult, MultiSignature, Perbill, generic, impl_opaque_keys, traits::{ @@ -67,6 +66,8 @@ use sp_sidechain::SidechainStatus; use sp_std::prelude::*; use sp_version::RuntimeVersion; use sp_weights::Weight; +use schnorr_jubjub::PoseidonJubjub; +use crate::mmr::Hashing; // Make the WASM binary available. #[cfg(feature = "std")] @@ -662,8 +663,10 @@ parameter_types! { pub const BeefySetIdSessionEntries: u32 = BondingDuration::get() * SessionsPerEra::get(); } + impl pallet_beefy::Config for Runtime { type BeefyId = BeefyId; + type SignatureHasher = PoseidonJubjub; type MaxAuthorities = MaxValidators; type MaxNominators = ConstU32<0>; type MaxSetIdSessionEntries = BeefySetIdSessionEntries; @@ -689,7 +692,8 @@ mod mmr { impl pallet_mmr::Config for Runtime { const INDEXING_PREFIX: &'static [u8] = b"mmr"; - type Hashing = Keccak256; + // TODO: Think about changing the leaf data (so that encode/decode can be efficient) + type Hashing = PoseidonJubjub; type LeafData = pallet_mmr::ParentNumberAndHash; type OnNewRoot = pallet_beefy_mmr::DepositBeefyDigest; type BlockHashProvider = pallet_mmr::DefaultBlockHashProvider; diff --git a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs index ea5d2c2200..7f52e54f45 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs @@ -5,7 +5,7 @@ use frame_support::pallet_prelude::TypeInfo; use parity_scale_codec::{Decode, Encode}; use plutus::*; use plutus_datum_derive::ToDatum; -use schnorr_jubjub; +// use schnorr_jubjub; #[cfg(feature = "std")] use serde::{Deserialize, Serialize}; use sidechain_domain::*; @@ -107,7 +107,7 @@ pub fn filter_trustless_candidates_registrations( genesis_utxo: UtxoId, ) -> Vec<(Candidate, selection::Weight)> where - TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, TAccountId: From, { candidate_registrations @@ -126,7 +126,7 @@ pub fn filter_invalid_permissioned_candidates( permissioned_candidates: Vec, ) -> Vec> where - TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, TAccountId: TryFrom, { permissioned_candidates @@ -146,7 +146,7 @@ fn select_latest_valid_candidate( ) -> Option> where TAccountId: From, - TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, { let stake_delegation = validate_stake(candidate_registrations.stake_delegation).ok()?; let stake_pool_pub_key = candidate_registrations.stake_pool_public_key; @@ -241,7 +241,7 @@ pub enum PermissionedCandidateDataError { pub fn validate_permissioned_candidate_data>( candidate: PermissionedCandidateData, ) -> Result< - (AccountId, sr25519::Public, schnorr_jubjub::Public, ed25519::Public), + (AccountId, sr25519::Public, ed25519::Public, ed25519::Public), PermissionedCandidateDataError, > { Ok(( @@ -255,7 +255,7 @@ pub fn validate_permissioned_candidate_data Result< - (ecdsa::Public, (sr25519::Public, schnorr_jubjub::Public, ed25519::Public)), + (ecdsa::Public, (sr25519::Public, ed25519::Public, ed25519::Public)), RegistrationDataError, > { let aura_pub_key = registration_data @@ -285,7 +285,7 @@ pub fn validate_registration_data( .ok_or(RegistrationDataError::InvalidAuraKey)?; let beefy_pub_key = registration_data .beefy_pub_key - .try_into_schnorr() + .try_into_ed25519() .ok_or(RegistrationDataError::InvalidBeefyKey)?; let grandpa_pub_key = registration_data .grandpa_pub_key diff --git a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs index 81ad9d8fdd..b82d4985c1 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs @@ -14,7 +14,7 @@ use sp_core::{U256, ecdsa, ed25519, sr25519}; /// Seed is constructed from the MC epoch nonce and the sidechain epoch. pub fn select_authorities< TAccountId: Clone + Ord + TryFrom + From, - TAccountKeys: Clone + Ord + From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, + TAccountKeys: Clone + Ord + From<(sr25519::Public, ed25519::Public, ed25519::Public)>, >( genesis_utxo: UtxoId, input: AuthoritySelectionInputs, diff --git a/toolkit/sidechain/domain/src/lib.rs b/toolkit/sidechain/domain/src/lib.rs index 2c347861d5..b7e79b4681 100644 --- a/toolkit/sidechain/domain/src/lib.rs +++ b/toolkit/sidechain/domain/src/lib.rs @@ -1051,8 +1051,8 @@ impl From for AuraPublicKey { pub struct BeefyPublicKey(pub Vec); impl BeefyPublicKey { /// Attempts to cast this public key to a valid [ecdsa::Public] - pub fn try_into_schnorr(&self) -> Option { - Some(schnorr_jubjub::Public::try_from(self.0.as_slice()).ok()?) + pub fn try_into_ed25519(&self) -> Option { + Some(ed25519::Public::try_from(self.0.as_slice()).ok()?) } } diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index eac7744bde..3da867ff98 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -7,18 +7,13 @@ repository.workspace = true version.workspace = true [dependencies] -midnight-circuits = { git = "https://github.com/midnightntwrk/midnight-circuits", branch = "iquerejeta/committee_proof"} -halo2curves = { version = "0.7.0", features = ["derive_serde"] } -blstrs = { git = "https://github.com/davidnevadoc/blstrs", rev = "3dfe5bf" } -group = "0.13" -ff = "0.13" frame-support = { workspace = true } pallet-beefy-mmr = { workspace = true } parity-scale-codec = { workspace = true } -rand_core = "0.6.4" +rand_core = { workspace = true } scale-info = {workspace = true} sc-keystore = { workspace = true } -sp-core = { workspace = true } +sp-core = { workspace = true, features = ["serde"] } sp-application-crypto = { workspace = true } sp-consensus-beefy = { workspace = true } sp-runtime = { workspace = true } @@ -26,11 +21,49 @@ sp-runtime-interface = { workspace = true } sp-io = { workspace = true } sp-keystore = { workspace = true } sp-externalities = { workspace = true } -sha2 = "0.10.9" +sha2 = { workspace = true } serde = {workspace = true } hex = {workspace = true } hash256-std-hasher = { workspace = true } sp-trie = { workspace = true } +rand = { version = "0.8.5", default-features = false } +rand_chacha = { version = "0.3.1", default-features = false } +#rand = { workspace = true } +#rand_chacha = { workspace = true } +ark-ed-on-bls12-381 = { workspace = true } +ark-ff = { workspace = true } +ark-ec = { workspace = true } +ark-serialize = { workspace = true } + + +[features] +default = ["std"] +std = [ + "ark-ed-on-bls12-381/std", + "ark-ff/std", + "ark-ec/std", + "ark-serialize/std", + "frame-support/std", + "pallet-beefy-mmr/std", + "parity-scale-codec/std", + "rand_core/std", + "scale-info/std", + "sp-core/std", + "sp-application-crypto/std", + "sp-consensus-beefy/std", + "sp-runtime/std", + "sp-runtime-interface/std", + "sp-io/std", + "sp-keystore/std", + "sp-externalities/std", + "sha2/std", + "serde/std", + "hex/std", + "hash256-std-hasher/std", + "sp-trie/std", + "rand/std", + "rand_chacha/std", +] [lints] workspace = true diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index 6f79211f61..ac2a620417 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -6,16 +6,19 @@ //! protocol, ensuring compatibility with Substrate's runtime and cryptographic //! infrastructure. -use core::fmt::{Debug, Formatter}; -use std::{convert::TryInto, fmt::Display, hash::Hash}; +use alloc::vec::Vec; +use core::fmt::{Debug, Display, Formatter}; +// use std::{convert::TryInto, fmt::Display, hash::Hash}; use crate::poseidon::PoseidonJubjub; -use blstrs::{Fr, JubjubSubgroup}; -use group::{Group, GroupEncoding}; +use ark_ed_on_bls12_381::{Fr, EdwardsAffine}; +use ark_ff::fields::Field; +use ark_ec::AffineRepr; +use ark_serialize::CanonicalSerialize; use rand_core::OsRng; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use sha2::Digest; -use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId, BeefySignatureHasher}; +use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId}; use sp_core::{ ByteArray, Decode, DecodeWithMemTracking, DeriveJunction, Encode, MaxEncodedLen, Pair as TraitPair, @@ -29,6 +32,7 @@ use sp_runtime::{ app_crypto::{AppCrypto, AppPair, AppPublic, AppSignature}, traits::Convert, }; +use sp_runtime::biguint::BigUint; use crate::primitive::{SchnorrSignature, VerifyingKey}; @@ -69,7 +73,7 @@ pub type InnerPublicBytes = PublicBytes) -> std::fmt::Result { + fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { write!(f, "0x{}", hex::encode(self.as_slice())) } } @@ -108,6 +112,7 @@ impl Debug for Public { } impl AuthorityIdBound for Public { + type SignatureHasher = PoseidonJubjub; type BoundedSignature = Signature; } @@ -269,8 +274,8 @@ impl TraitPair for crate::primitive::KeyPair { let h = sha2::Sha512::digest(&seed); - let secret = Fr::from_bytes_wide(&h.as_slice().try_into().unwrap()); - Ok(Self { 0: secret, 1: JubjubSubgroup::generator() * &secret }) + let secret = Fr::from_random_bytes(h.as_slice()).expect("Failed to deserialize random bytes. This is a bug."); + Ok(Self { 0: secret, 1: (EdwardsAffine::generator() * &secret).into() }) } fn sign(&self, message: &[u8]) -> Self::Signature { @@ -297,15 +302,17 @@ impl TraitPair for crate::primitive::KeyPair { } fn public(&self) -> Self::Public { - let bytes: [u8; 32] = self.1.to_bytes().try_into().unwrap(); + let mut writer = Vec::new(); + self.1.serialize_compressed(&mut writer).expect("Serialisation should not fail - writer is big enough"); + let bytes: [u8; 32] = writer.try_into().unwrap(); Public(PublicBytes::from(bytes)) } fn to_raw_vec(&self) -> Vec { let mut res = Vec::with_capacity(64); - res.extend_from_slice(&self.0.to_bytes()); - res.extend_from_slice(&self.1.to_bytes()); + self.0.serialize_compressed(&mut res); + self.1.serialize_compressed(&mut res); res } @@ -339,7 +346,7 @@ impl AppPair for crate::primitive::KeyPair { /// [`crate::primitive::KeyPair`]. type Seed = [u8; SEED_SERIALIZED_SIZE]; -impl BeefyAuthorityId for Public { +impl BeefyAuthorityId for Public { fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { ::verify(signature, msg, self) } diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs index 3091ee213c..0ea99897bc 100644 --- a/toolkit/utils/schnorr_jubjub/src/keystore.rs +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -5,6 +5,7 @@ //! signatures over the JubJub curve, which the default implementation does not //! support due to lack of genericity. +use alloc::vec::Vec; use sc_keystore::LocalKeystore; use sp_application_crypto::Pair as TraitPair; use sp_core::{ diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 8f1a813dc5..ba14a4167c 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -1,12 +1,17 @@ +#![cfg_attr(not(feature = "std"), no_std)] //! This crate implements the Schnorr signature scheme over the JubJub elliptic //! curve, using the Poseidon hash function defined over the JubJub base field. //! //! It is intended exclusively for use within the BEEFY protocol. -mod beefy_structures; -mod keystore; -mod poseidon; -mod primitive; -mod runtime; +extern crate alloc; -pub use beefy_structures::{InnerPublicBytes, Public, Signature}; +// mod beefy_structures; +// mod keystore; +// mod poseidon; +// mod primitive; +// mod runtime; +// +// pub use beefy_structures::{InnerPublicBytes, Public, Signature}; +// +// pub use poseidon::{PoseidonJubjub,}; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon.rs b/toolkit/utils/schnorr_jubjub/src/poseidon.rs deleted file mode 100644 index d6d979074b..0000000000 --- a/toolkit/utils/schnorr_jubjub/src/poseidon.rs +++ /dev/null @@ -1,120 +0,0 @@ -//! Implementation of Poseidon over JubJub (using midnight-circuits implementation). -// Need to figure out if we can assume that the bytes are canonical, i.e., if we are always hashing something that -// was a Scalar field element. - -use blstrs::Scalar; -use midnight_circuits::hash::poseidon::PoseidonChip; -use midnight_circuits::instructions::SpongeCPU; - -use hash256_std_hasher::Hash256StdHasher; -use scale_info::TypeInfo; -use serde::{Deserialize, Serialize}; -use sp_core::H256; -use sp_core::Hasher; -use sp_runtime::RuntimeDebug; -use sp_runtime::{StateVersion, traits::Hash}; -use sp_runtime_interface::pass_by::{AllocateAndReturnPointer, PassAs, PassFatPointerAndDecode}; -use sp_runtime_interface::runtime_interface; -use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; - -#[derive(Debug)] -pub enum PoseidonError { - /// Error produced when trying to convert bytes to field element - NotCanonical, -} - -#[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo, Serialize, Deserialize)] -pub struct PoseidonJubjub; - -sp_core::impl_maybe_marker_std_or_serde!( - /// A type that implements Serialize when in std environment or serde feature is activated. - trait MaybeSerialize: Serialize; - - /// A type that implements Serialize, DeserializeOwned and Debug when in std environment or serde feature is activated. - trait MaybeSerializeDeserialize: DeserializeOwned, Serialize; -); - -impl PoseidonJubjub { - /// Converts a byte slice into a vector of `Scalar` field elements suitable - /// for Poseidon hashing. - /// - /// Poseidon operates over field elements, so this function transforms raw - /// bytes into `Scalar`s. - /// - /// - If `format_scalars` is `true`, the input is assumed to already contain - /// valid field elements. Each 32-byte chunk is interpreted as a canonical - /// `Scalar`. - /// - /// - If `format_scalars` is `false`, the input is processed in 31-byte - /// chunks to ensure that each resulting value falls within the canonical - /// range of the field. - /// - /// Returns a `Vec` on success, or an `Error` if canonical - /// conversion fails. - pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { - let chunk_len = if format_scalars { 32 } else { 31 }; - - msg.chunks(chunk_len) - .map(|scalar| { - let mut bytes = [0u8; 32]; - bytes[..scalar.len()].copy_from_slice(scalar); - Scalar::from_bytes_le(&bytes).into_option().ok_or(PoseidonError::NotCanonical) - }) - .collect::, PoseidonError>>() - } -} - -impl Hasher for PoseidonJubjub { - type Out = sp_core::H256; - type StdHasher = Hash256StdHasher; - const LENGTH: usize = 32; - - fn hash(s: &[u8]) -> Self::Out { - // TODO: we are assuming false - would be ideal if we could assume true - let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); - - let mut hasher = as SpongeCPU>::init(Some(msg.len())); - as SpongeCPU>::absorb(&mut hasher, &msg); - - let out_fr = as SpongeCPU>::squeeze(&mut hasher); - - out_fr.to_bytes_le().into() - } -} - -#[runtime_interface] -pub trait PoseidonTrie { - /// A trie root formed from the iterated items using Poseidon - fn poseidon_jubjub_root( - input: PassFatPointerAndDecode, Vec)>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::trie_root(input), - StateVersion::V1 => LayoutV1::::trie_root(input), - } - } - - /// A trie root formed from the enumerated items using Poseidon - fn poseidon_jubjub_ordered_root( - input: PassFatPointerAndDecode>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::ordered_trie_root(input), - StateVersion::V1 => LayoutV1::::ordered_trie_root(input), - } - } -} - -impl Hash for PoseidonJubjub { - type Output = H256; - - fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_ordered_root(input, version) - } - - fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_root(input, version) - } -} diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs new file mode 100644 index 0000000000..68f8974e1d --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs @@ -0,0 +1,1454 @@ +//! Constants for using Poseidon with the BLS scalar field. +//! +//! The constants can be reproduced by running the following Sage script from +//! [this repository](https://github.com/daira/pasta-hadeshash): +//! +//! ```text +//! $ sage generate_parameters_grain.sage 1 0 255 3 8 60 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 +//! ``` + +use super::{PoseidonField, NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, WIDTH}; +use ark_ed_on_bls12_381::Fq; +use ark_ff::BigInteger256; + +impl PoseidonField for Fq { + // Number of round constants: 204 = (8 + 60) * 3 + // Round constants for GF(p): + const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS] = [ + [ + Fq::new(BigInteger256::new([ + 0x118a_2e2f_6554_8257, + 0x429e_b149_5835_f5d0, + 0xe678_9030_868b_74da, + 0x0a59_176c_702e_80bd, + ])), + Fq::new(BigInteger256::new([ + 0x933a_2a02_fe51_cfbd, + 0xd304_dbbf_2412_7d23, + 0xcd8e_8a5a_5bab_4bf2, + 0x1f04_ee09_b99d_7d10, + ])), + Fq::new(BigInteger256::new([ + 0xaf52_80f5_0adc_5473, + 0x9f1a_2e78_0aa1_0c20, + 0x2918_8d63_9e30_1a4c, + 0x053b_0aee_6a9e_41f5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xaef7_d488_79bf_3f9c, + 0x67ea_ba96_e239_1951, + 0xe456_a0c7_f190_fb81, + 0x607f_c613_870d_7f56, + ])), + Fq::new(BigInteger256::new([ + 0xb5a4_cb05_daa7_f2fb, + 0xa697_ec84_b5de_486e, + 0x13f9_9939_a0e3_4559, + 0x6593_4d47_f091_e181, + ])), + Fq::new(BigInteger256::new([ + 0xa853_bcd1_196b_63f9, + 0x4fec_1372_8d5a_cad5, + 0x8efa_f9a4_eed1_4789, + 0x18e8_96fa_20c6_21a9, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe336_be30_a84f_d950, + 0xe47a_7c26_8147_96d2, + 0x17c4_ed67_2631_48c9, + 0x69fa_9afc_f3c3_ad00, + ])), + Fq::new(BigInteger256::new([ + 0x8e58_cfb6_41a9_262d, + 0x1247_d3bc_f972_cbd7, + 0x5c97_6e45_6bfb_407b, + 0x7176_d3b8_2879_39b9, + ])), + Fq::new(BigInteger256::new([ + 0x63e6_6973_ddc3_9a01, + 0x41f2_02d7_ef0b_284a, + 0xffc0_5e3b_37ba_7f8b, + 0x036d_041c_5ebe_fe99, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x732d_042e_df0a_816f, + 0x5057_1632_9ffb_e5a2, + 0x013b_15ae_b4c2_0921, + 0x5d05_42cc_31de_7433, + ])), + Fq::new(BigInteger256::new([ + 0x42f9_09f2_538a_8c12, + 0xf2fa_23b3_7fde_b25f, + 0xb804_665d_8913_be00, + 0x2665_fb26_ccc6_8131, + ])), + Fq::new(BigInteger256::new([ + 0x9d08_3d3c_6f9a_8ba7, + 0x6977_3c31_bb4d_95af, + 0xe7bb_046e_5c80_0ecb, + 0x3ce3_705a_685c_5889, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xaf1e_7963_d544_963d, + 0xd4fd_b7fd_68c0_2865, + 0xfa91_25e2_d774_16e3, + 0x4ec6_ec86_094a_a88e, + ])), + Fq::new(BigInteger256::new([ + 0xc2fd_db51_c3d7_fb35, + 0xa2ab_da9e_8406_0420, + 0xdcce_adee_1deb_edf9, + 0x04c0_b32a_aec6_f011, + ])), + Fq::new(BigInteger256::new([ + 0x4f78_b499_7d6a_fe55, + 0x024d_20b0_43ff_21f8, + 0x6a22_0541_769c_55e1, + 0x1627_5c92_29fa_151e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc103_27cc_a38b_8745, + 0xb4f7_a931_40b4_37b8, + 0xaf94_baf5_7d0f_8b00, + 0x1508_13e5_512f_10ef, + ])), + Fq::new(BigInteger256::new([ + 0xfefd_9fdb_ef63_43c2, + 0x3692_3304_dd5d_f570, + 0x4363_df56_9ee3_60ec, + 0x5f06_6147_b29d_b1e2, + ])), + Fq::new(BigInteger256::new([ + 0x8f7a_2080_7166_60d5, + 0xc4fb_015d_e0ef_9f5d, + 0x3fcf_9218_725a_5b20, + 0x115a_e3a3_1ce2_45ba, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe5e1_4b22_a414_394e, + 0x937b_b2db_f2f9_3d69, + 0x0389_50c0_fd5d_79e3, + 0x3276_de65_c29a_45f3, + ])), + Fq::new(BigInteger256::new([ + 0x92f8_ad5a_d2b5_48bf, + 0x133e_e041_cc42_b62d, + 0x35f4_77af_6855_cca6, + 0x4c50_4980_0ceb_eb0b, + ])), + Fq::new(BigInteger256::new([ + 0xb21c_db49_1fae_2b78, + 0x2d0f_8b3d_41c9_3057, + 0x4196_c8ae_c67a_4bba, + 0x252e_1b54_9c72_eaf3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xedad_c783_79d2_2a7c, + 0xbe3f_87e7_4ae1_c0a0, + 0x3469_5560_858c_35d6, + 0x5a0a_0f27_cfbc_fe7f, + ])), + Fq::new(BigInteger256::new([ + 0xb551_ed86_d4e0_1199, + 0x0ac1_98dc_b303_64d8, + 0xfd33_4689_e12a_ebf2, + 0x5aef_41fe_39ff_bd0b, + ])), + Fq::new(BigInteger256::new([ + 0x538a_eb06_16da_4db9, + 0xbdc6_6933_87a4_566a, + 0xd4cd_5d83_9e7f_ce4f, + 0x2ff7_ee57_4d7a_9680, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4252_d5a5_60fb_7c44, + 0x05ba_fbb6_1e57_b5fe, + 0x3fde_df2e_4269_82ce, + 0x5995_30bb_bca9_c791, + ])), + Fq::new(BigInteger256::new([ + 0x0436_dd18_bc6b_3086, + 0xa88d_f20c_ee45_6886, + 0x0bb9_a8bc_21a2_56d4, + 0x594a_fd99_c63e_0741, + ])), + Fq::new(BigInteger256::new([ + 0x8cbc_be42_1122_bf2c, + 0xc7c9_b266_eeb9_1eb4, + 0xab6a_cf32_7ffc_b56a, + 0x561b_c2bc_056a_1ddb, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x1850_53e3_9b03_e4c0, + 0x95f8_9028_8588_a97b, + 0x6973_71a1_5b9f_3110, + 0x44b0_f629_fee3_0f4a, + ])), + Fq::new(BigInteger256::new([ + 0x9b13_ecce_3f00_a744, + 0xe908_13d9_42f6_e482, + 0x1b78_e5d5_9762_4815, + 0x6666_bc36_2a76_00c8, + ])), + Fq::new(BigInteger256::new([ + 0x2020_eb73_65b7_7289, + 0xd3fa_35f5_bfe2_8c4a, + 0x2deb_b002_12d2_1c6a, + 0x3949_1594_d7ad_8049, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5638_3a59_fba6_582c, + 0x38ab_7313_3269_c2a8, + 0xabeb_c0ea_d026_3afa, + 0x687a_baf4_8490_7604, + ])), + Fq::new(BigInteger256::new([ + 0x6a4e_6b1e_7b15_16ce, + 0x3773_b560_616a_25cc, + 0x7a29_4f24_d0ff_b886, + 0x31a9_20a0_d66d_0d37, + ])), + Fq::new(BigInteger256::new([ + 0x3103_a411_a588_4a28, + 0xf844_de5b_3ced_fedf, + 0xc628_f5fc_5c7b_67b4, + 0x43d0_f81a_73aa_dd11, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x289d_d944_0136_b819, + 0x5c45_7a53_f502_e257, + 0x1871_a5a4_ed87_4d58, + 0x3eb3_c82b_aba6_cffa, + ])), + Fq::new(BigInteger256::new([ + 0x797c_6d0b_5057_7e09, + 0xd75e_5a25_7ba1_53ae, + 0x9bed_66b6_b26f_69c8, + 0x3319_6ede_d0ba_d874, + ])), + Fq::new(BigInteger256::new([ + 0xcad2_9b7a_3a54_9811, + 0x7a18_3c0a_e3c6_c806, + 0x7bc0_731a_b785_e50e, + 0x43d2_6aaf_7d30_8dd3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc2f6_f153_37ed_a387, + 0x25e5_4c55_c39f_4333, + 0x053d_44d3_4d5f_0a8c, + 0x53ca_d412_4a93_4629, + ])), + Fq::new(BigInteger256::new([ + 0x793e_1f4c_d575_f356, + 0xcc88_5e01_e325_f8c5, + 0xf707_e4f2_6f51_2bb4, + 0x3eaf_d6b7_77c1_020a, + ])), + Fq::new(BigInteger256::new([ + 0xb7be_9040_ab9f_0930, + 0x6693_89e8_ec35_3453, + 0x195b_afc2_e7b8_e3b0, + 0x5320_202e_c430_6a0e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x0888_ad8e_0d0b_26b0, + 0xa984_e319_26da_934d, + 0xb03d_4e4a_a99d_28d6, + 0x587b_91df_800f_3b96, + ])), + Fq::new(BigInteger256::new([ + 0x1bdb_88d1_f3f9_8f82, + 0x2553_aa69_e165_0b00, + 0x0367_bba6_16b6_f15e, + 0x2bfc_cc7e_b787_5847, + ])), + Fq::new(BigInteger256::new([ + 0xe12d_bb3f_4381_9d4a, + 0xdb3c_e9b7_d78e_7f5e, + 0x6d17_b675_d5ab_9c20, + 0x1422_f2e0_c548_74cf, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xf715_2a0e_b0b4_9c4c, + 0x7183_fc00_c7e6_03cb, + 0x063d_9fcf_2540_42dd, + 0x28fd_84a2_ea3a_1a2f, + ])), + Fq::new(BigInteger256::new([ + 0x2381_25d5_4411_4b57, + 0x391a_cf13_f9d2_133c, + 0x13da_f41f_ff09_5dfe, + 0x28bf_cd29_b81c_11eb, + ])), + Fq::new(BigInteger256::new([ + 0xcc54_df70_f7ab_ff3f, + 0xc988_26b5_0905_03fd, + 0x3503_8bab_8fa6_7760, + 0x5586_c4c0_ed8e_b5ea, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xfa49_8415_a68b_ab26, + 0x8742_5d23_bf73_e9ed, + 0x7315_5b2c_65e8_f343, + 0x1209_367f_03ec_6216, + ])), + Fq::new(BigInteger256::new([ + 0xdf79_0964_b607_b733, + 0x7b3e_8a41_7376_bef1, + 0x7dee_00fd_7eb2_3b5e, + 0x2235_6b2d_3215_f6d3, + ])), + Fq::new(BigInteger256::new([ + 0x3bef_b040_fd22_6672, + 0x09c8_c0c1_f268_4a7f, + 0xc480_8135_d3da_4a6a, + 0x6c16_3cb4_eb4d_8c5f, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6759_a09c_9e48_c33a, + 0x6a6c_81f2_9516_4f5d, + 0xbd3e_5e4c_78b4_95a4, + 0x4dc3_c04e_25fd_48f7, + ])), + Fq::new(BigInteger256::new([ + 0xada0_faf9_dd9a_e7fb, + 0x3665_1145_e9bc_baf2, + 0xa719_6e06_f669_ba88, + 0x590d_9df4_29eb_3511, + ])), + Fq::new(BigInteger256::new([ + 0xb8ed_94c2_dbca_098a, + 0x13d1_ff2a_c6c2_4257, + 0x7b47_0554_86d6_811d, + 0x2ff2_9368_10a3_df28, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd178_be88_6991_fa0c, + 0x40b5_2f60_797e_3e32, + 0xc4bc_95b4_e2ad_56e7, + 0x5f52_49a7_71d9_e4b1, + ])), + Fq::new(BigInteger256::new([ + 0xe1ba_7cc3_4e02_fb27, + 0x2d98_8d1b_18e9_bb54, + 0x0ec4_e316_7db3_da0e, + 0x67f7_8e07_cf6e_bbee, + ])), + Fq::new(BigInteger256::new([ + 0xa0b4_e9fb_1bb7_a762, + 0x61f9_be1c_5583_d9fe, + 0x63a1_6b72_d95e_2b00, + 0x2b9e_a3bd_9788_c6aa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4a43_73eb_f0ee_59d2, + 0xbd8f_0407_342a_67fe, + 0xf041_5f5e_01d4_33bb, + 0x0a1b_af17_cbed_21cc, + ])), + Fq::new(BigInteger256::new([ + 0x7849_62ef_b0de_7977, + 0xf856_d3c9_0b04_ee14, + 0xe620_a26b_7a5e_3074, + 0x1cbf_cea2_eb30_561d, + ])), + Fq::new(BigInteger256::new([ + 0xc86f_d84b_8a51_045f, + 0xe7fc_90a2_25c1_ce9f, + 0x4afe_f268_48cd_ce06, + 0x39c9_cb51_d258_0680, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc0bf_cb72_88a4_d9e9, + 0x2165_dadc_a284_ac55, + 0x899a_7c2c_2e7e_f043, + 0x424d_5e34_e4c1_77e2, + ])), + Fq::new(BigInteger256::new([ + 0xd792_3e77_a03c_082c, + 0x3dd9_6b9f_afd3_50ba, + 0xd2ba_7618_e011_4429, + 0x3387_e8c6_5f28_3718, + ])), + Fq::new(BigInteger256::new([ + 0x27e1_fd2a_26c6_e775, + 0x50bf_20b7_a3bf_d8e6, + 0x03b2_121d_350d_d4c4, + 0x6526_f124_7e74_5f80, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5f21_9a42_81d6_9dd3, + 0x18d1_60d0_faf5_cbbc, + 0x4b7b_fbef_c8e9_9ebb, + 0x22c7_394d_df71_26e5, + ])), + Fq::new(BigInteger256::new([ + 0x4cfd_81fe_2ae7_54a1, + 0x1403_b733_6638_1dcb, + 0x69b7_8b0a_ccae_1092, + 0x2ef6_ac9b_e994_b37b, + ])), + Fq::new(BigInteger256::new([ + 0x0269_3c4c_3175_d977, + 0x7fd8_222c_3e3b_ed25, + 0x8424_7e7f_b84e_1154, + 0x4be6_a5c7_d2f3_dd44, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2918_5e69_2885_09d2, + 0xe7e3_e070_e6bb_88fa, + 0x4b5b_c325_e153_609c, + 0x273a_ca31_807e_d5dc, + ])), + Fq::new(BigInteger256::new([ + 0xad22_4692_567a_0137, + 0xf0ed_cc30_ab79_e42e, + 0x23b6_f505_7c3a_1bf9, + 0x2db3_21ca_e3a1_aeb3, + ])), + Fq::new(BigInteger256::new([ + 0x7099_1fb1_a95a_88cf, + 0x3036_3687_0911_84b9, + 0x3533_01a4_48e0_30ab, + 0x4597_4424_f4c1_2e52, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x64f1_399d_2ebe_30c8, + 0x28d7_5a68_3adc_61b3, + 0xbfe5_8c8e_4eb3_9739, + 0x4dbc_8f30_94c0_b370, + ])), + Fq::new(BigInteger256::new([ + 0xc4ba_12cc_2eb5_c170, + 0x905d_a077_fb2b_f95d, + 0x91a7_410e_1926_b577, + 0x1b1c_10f0_e13f_3c0f, + ])), + Fq::new(BigInteger256::new([ + 0x160c_ab9b_f172_c001, + 0x73a1_056d_daac_586b, + 0x369b_e5d6_0ead_765e, + 0x1abb_a699_7ed7_1e4e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7cec_7e37_a606_146b, + 0x5e40_6373_b070_2df6, + 0x784f_66e2_7846_140a, + 0x3ffa_9ffc_e044_d6ed, + ])), + Fq::new(BigInteger256::new([ + 0xfb64_a2cd_7cde_1f3c, + 0x2068_1c98_73e8_a6bb, + 0xf2ba_11f5_1954_b80f, + 0x172d_1efb_d333_e2e3, + ])), + Fq::new(BigInteger256::new([ + 0xbd9c_09b8_93d2_6e7e, + 0x8e24_9c51_0f30_5766, + 0x3149_1ded_baaf_880b, + 0x2544_4915_82a9_1b80, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8134_aa24_1672_ba80, + 0xf39e_54b1_ce60_3d0f, + 0x52a0_0a5c_e729_1a5c, + 0x598e_a1d2_111d_e9b9, + ])), + Fq::new(BigInteger256::new([ + 0xb32f_3aef_037d_58e5, + 0xab4b_4cb9_38ed_769e, + 0xc18f_31a9_956b_d45f, + 0x30d0_1564_a8f6_e2c8, + ])), + Fq::new(BigInteger256::new([ + 0x076c_a06f_98c9_3ef9, + 0xc16d_26ce_4cd2_f348, + 0x4f9c_c5e8_44bb_2af3, + 0x58e0_de1f_fa9f_39d5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xa488_fe7f_7f05_8bab, + 0x49d8_570c_351d_6cf8, + 0xe264_673e_a5fc_f9ff, + 0x45b8_9204_3e1e_1258, + ])), + Fq::new(BigInteger256::new([ + 0xac90_de86_0b79_4521, + 0x20d2_2d5a_211e_162c, + 0xaff5_d3fe_cc45_1b73, + 0x2b80_d5a4_800e_de3e, + ])), + Fq::new(BigInteger256::new([ + 0x5835_9366_dfb7_da17, + 0x05f3_5e4f_26e9_ef74, + 0x411d_441c_46eb_b464, + 0x419d_0620_2b19_0907, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x3ab5_4a62_d2d8_2d42, + 0x373b_cf0d_9b94_9e16, + 0x24e1_8f11_b727_6d17, + 0x3d07_5534_3ed4_09e2, + ])), + Fq::new(BigInteger256::new([ + 0xd5ce_8fd4_13ed_1b84, + 0xc6bb_7933_ee65_6745, + 0xaac8_dbba_1b9d_9558, + 0x53cb_0d8f_5428_a5dc, + ])), + Fq::new(BigInteger256::new([ + 0xf189_c94a_c782_d122, + 0xb476_17d6_3649_e1b8, + 0xcd2e_3667_78c3_fcda, + 0x0b07_c5e9_35d3_cd60, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x98a8_f239_4624_e738, + 0xf97a_ab56_f5d0_3db8, + 0x0466_97b1_dd6d_31c4, + 0x2e5e_97fa_75da_2aaa, + ])), + Fq::new(BigInteger256::new([ + 0x37f0_8614_0354_cafa, + 0xab07_290e_b1e7_2781, + 0x511c_620e_69dc_f4c1, + 0x0a04_8ff9_4cd9_e028, + ])), + Fq::new(BigInteger256::new([ + 0x556b_3730_6cb7_147c, + 0x8e96_693f_8e35_37fc, + 0x5282_ce32_c734_068b, + 0x1743_4368_32d1_570b, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x295f_6395_1707_cba9, + 0x688b_24f2_9140_490b, + 0x3c04_b8cf_b889_e8bb, + 0x28f3_ea48_6b86_e75b, + ])), + Fq::new(BigInteger256::new([ + 0xb843_1e2a_7d6d_2eac, + 0x91e6_1be6_f4cd_acd7, + 0x1392_8401_b81d_e81c, + 0x150d_bfb6_9d9f_cdf9, + ])), + Fq::new(BigInteger256::new([ + 0x243f_a129_5cea_4402, + 0x2db5_e0ea_bd2b_f735, + 0xa0d5_de42_7b22_1374, + 0x29ca_3439_450d_a375, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2156_0893_7a66_4dcb, + 0x86b6_cdde_0cb9_50da, + 0xfbc8_c210_d7b2_7bf2, + 0x48a1_b62b_76a6_5fcb, + ])), + Fq::new(BigInteger256::new([ + 0xa562_ce22_3e9f_38ed, + 0x4d0a_e206_ec6a_690a, + 0xd69c_266e_697c_027b, + 0x0218_eb6a_f243_41ec, + ])), + Fq::new(BigInteger256::new([ + 0xe409_1ddb_34f3_d8bc, + 0x5124_a9f8_2bce_00ed, + 0x5078_15d5_5883_ca47, + 0x09a3_b38e_f1e1_3493, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6d6c_b7f2_0f63_881b, + 0x5dba_d9b3_2a84_8587, + 0x2d65_9c85_dacf_e7f8, + 0x1740_86a2_d189_6a82, + ])), + Fq::new(BigInteger256::new([ + 0x1a35_3ba6_f85f_f3cf, + 0x1d32_f285_241a_7e35, + 0x3e1f_efb8_196e_aa6f, + 0x23fd_11b6_eefb_f765, + ])), + Fq::new(BigInteger256::new([ + 0x4dc9_8314_05a3_333b, + 0x9e5e_1b77_03c1_cc2f, + 0x0043_83cc_d61a_9059, + 0x4928_18ba_0240_1999, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xb2bb_26a8_e035_e725, + 0x68ea_3272_531b_097f, + 0xa318_85b0_1843_abf5, + 0x0173_b890_5492_a145, + ])), + Fq::new(BigInteger256::new([ + 0x40de_b8d0_9888_e12c, + 0xda2f_2947_79df_27e0, + 0xaf5c_9bdb_eef0_a4d4, + 0x43d5_7042_f3bb_c227, + ])), + Fq::new(BigInteger256::new([ + 0xa813_6fdf_837e_d979, + 0x85a8_b3ff_611c_d0d2, + 0xbaba_fac1_66eb_1410, + 0x17ef_e956_b72e_ec83, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x83d8_f04a_a042_cf9a, + 0xf86e_5510_b509_2fd8, + 0x317b_45c2_27c1_554e, + 0x0269_9986_2ad4_01ae, + ])), + Fq::new(BigInteger256::new([ + 0x88e4_8d34_bb69_b85b, + 0x9180_1d1a_c156_55ef, + 0x1e05_dd23_9aaa_e3fb, + 0x0778_1051_8418_0434, + ])), + Fq::new(BigInteger256::new([ + 0x13d1_7ad8_1b96_abc5, + 0x0ecb_ffd7_d2e0_82ee, + 0xfa48_3b5b_f6b0_00e9, + 0x6946_1896_429e_17f3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4fec_48b8_8341_dd4a, + 0x197d_8928_0f16_bd6d, + 0xb0f1_68ee_033b_365a, + 0x0318_eb69_0fba_a314, + ])), + Fq::new(BigInteger256::new([ + 0x397a_f4b7_0433_d509, + 0x0ac0_14d1_78f2_d32c, + 0xd680_77fa_25b7_6d56, + 0x23ee_6efb_f70b_755e, + ])), + Fq::new(BigInteger256::new([ + 0x39d1_b1f5_091e_b0f4, + 0x8442_455a_6605_e054, + 0xe775_9558_5d4a_2b2e, + 0x6029_a2c1_fc7a_f40d, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xb5a5_f74e_c6ba_b5ed, + 0x4e20_9344_021c_d7e0, + 0xe794_73af_ca0a_254d, + 0x6585_fcc2_a5d8_911d, + ])), + Fq::new(BigInteger256::new([ + 0xb168_1f7a_565c_241a, + 0x06db_76c7_2111_9e4a, + 0x8ee9_76c1_f8b7_2dc7, + 0x6ec3_a9ed_afd9_8f35, + ])), + Fq::new(BigInteger256::new([ + 0xa8cb_7d6f_3a4b_6fbd, + 0x7c74_fc83_01b0_13ac, + 0x6dca_a9c5_0bdb_bc3d, + 0x2c9c_9202_2887_a2eb, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe4b7_86bf_d6db_1b7e, + 0x8d47_9077_5a12_ce8b, + 0x8e5e_0029_a10e_5f83, + 0x087f_dbf0_7402_d34f, + ])), + Fq::new(BigInteger256::new([ + 0x3a8d_88e0_1b9e_7400, + 0x6152_ac3a_c547_d85e, + 0x5baf_0e07_b102_b45e, + 0x05a8_33fd_dca8_7817, + ])), + Fq::new(BigInteger256::new([ + 0x52dc_6334_f7ac_d315, + 0x9ff5_fcba_8203_2eef, + 0x2d02_3f3b_9fc0_ffc6, + 0x6de1_5cd7_bd3e_51f5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd389_dbd1_66ad_ee91, + 0x6c12_b3b1_2b70_f319, + 0x0360_bea6_b324_b189, + 0x2e4e_3978_e7aa_100b, + ])), + Fq::new(BigInteger256::new([ + 0x601f_620e_ecdd_6ea5, + 0x4335_b585_27d8_ff6a, + 0xf202_f74b_70d0_1725, + 0x59d4_6aa1_6cc7_b82b, + ])), + Fq::new(BigInteger256::new([ + 0xe90c_3ff5_8f2e_3186, + 0x352b_0b95_52d7_cc42, + 0x5dd5_ae14_87fe_b5dc, + 0x47b0_4fb8_3795_a3ad, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x51b0_f50e_a729_062e, + 0xe685_74d9_806e_339e, + 0xa89f_435a_f48b_ab23, + 0x72eb_9aab_40a2_d32f, + ])), + Fq::new(BigInteger256::new([ + 0xbe97_290f_563f_c237, + 0x12f2_66a8_a759_4ace, + 0xa6f0_1a12_16b4_4d46, + 0x52b5_ba58_1b50_4f06, + ])), + Fq::new(BigInteger256::new([ + 0x0c87_0a17_e0bc_0960, + 0x6ec2_ae83_2c85_13de, + 0x06f0_38ac_0bf6_a36e, + 0x2092_ffa4_f790_8df3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4244_f2b4_4cde_4d4d, + 0xeb6b_d985_d874_07ab, + 0x515a_cac5_052d_3e1d, + 0x29fe_3fb0_741e_8e21, + ])), + Fq::new(BigInteger256::new([ + 0x3645_ed78_7d1a_d236, + 0x5fd6_7b54_fdb5_c38f, + 0x7890_654d_3115_ccac, + 0x47d8_89a4_289e_f4a6, + ])), + Fq::new(BigInteger256::new([ + 0xeb39_d01c_eb65_595c, + 0x004b_84db_2f2d_f5ed, + 0xa0fe_ce14_50b0_a5b6, + 0x40e5_e494_2ceb_c127, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7c3f_cf3a_f6f4_b389, + 0x2309_d0c4_c1fb_80d8, + 0x8671_2c50_b1ea_963e, + 0x5603_5841_aac5_c659, + ])), + Fq::new(BigInteger256::new([ + 0x4424_5189_7806_d131, + 0x921f_4f6d_3b1c_0e0b, + 0x07f6_02b3_24f9_2b3e, + 0x261e_6f49_75a7_12e9, + ])), + Fq::new(BigInteger256::new([ + 0xe46f_6eda_2eda_4a56, + 0xb717_7d48_8031_ac1e, + 0xa49c_63f1_dff1_49da, + 0x18bd_7110_cfeb_bef4, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x48f6_8eed_1d60_4a85, + 0xe0e4_81d3_24d2_056b, + 0xe651_1c03_bba0_20a2, + 0x6c06_ac40_7bee_2048, + ])), + Fq::new(BigInteger256::new([ + 0xc920_3b16_fd56_092f, + 0xcee4_012a_dc69_abaf, + 0x6b39_fc3b_05b0_cfb5, + 0x4eec_84a8_6e66_bc09, + ])), + Fq::new(BigInteger256::new([ + 0xaee9_3d10_f362_a1e7, + 0x8682_5e2b_c42e_c161, + 0xa65b_8082_c738_2d73, + 0x70e6_9933_021a_ed26, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x087e_6fcb_6513_50d4, + 0xcb03_5273_58f6_b730, + 0xc58f_a9e2_711b_ea36, + 0x6663_6fdf_9c44_45ea, + ])), + Fq::new(BigInteger256::new([ + 0x5dba_9774_ab09_bc2c, + 0x3e3c_dbb7_6d72_3e53, + 0x1455_7ca1_29ce_ae00, + 0x4585_347a_49f6_d01d, + ])), + Fq::new(BigInteger256::new([ + 0x25d1_b3d7_0abc_b9fd, + 0xddae_df7a_e41b_7e26, + 0x0e58_a693_5932_4501, + 0x1858_cf26_643e_a1b6, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xadcc_9911_36bd_8afc, + 0x47ea_c18f_2268_69a4, + 0xcd81_08ae_dcfb_530e, + 0x678f_451d_c983_1f6d, + ])), + Fq::new(BigInteger256::new([ + 0xacce_bf1a_6089_d552, + 0x85a8_0566_dc3f_6f97, + 0x6c67_646e_c528_5891, + 0x0e77_c6cd_c6c0_6d5d, + ])), + Fq::new(BigInteger256::new([ + 0xb373_84a8_80fb_6cb1, + 0xacef_8af8_ac7d_accc, + 0xa2d3_2916_fc45_227a, + 0x136f_33c7_2bbc_c8b0, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7845_3c72_2025_930c, + 0xa178_6f0f_fd7d_09ac, + 0x503d_9a55_0e3a_9e63, + 0x02ca_fabf_1acc_2e27, + ])), + Fq::new(BigInteger256::new([ + 0xf28d_d694_19cc_0258, + 0x709b_c667_1ac0_e3c5, + 0x1c48_1caa_15d9_0621, + 0x13c5_05ee_9b01_a5de, + ])), + Fq::new(BigInteger256::new([ + 0x051d_cc91_6c64_0c54, + 0x7d15_2983_4dc9_baa4, + 0xd9f9_633c_9f82_8b20, + 0x633b_e5c8_77b5_df79, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x607f_932b_132c_86c3, + 0x280e_97eb_2cf2_a32d, + 0x8789_3b68_4732_b3f7, + 0x2910_a536_8e54_f10a, + ])), + Fq::new(BigInteger256::new([ + 0x7f4b_c322_a0e9_6559, + 0x4cdd_8ded_9d4e_9740, + 0xe4b3_dd28_16b3_d02b, + 0x5cb6_ad2f_1e64_242e, + ])), + Fq::new(BigInteger256::new([ + 0xbbbb_2a0f_0803_0b0a, + 0xebd9_0859_46d6_4024, + 0xdd59_95ef_99ed_e54f, + 0x3ef0_3ac7_0868_7736, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x0ed9_b34b_932c_9110, + 0xa175_c7c8_e757_6f66, + 0x7ce7_7378_89e4_2cdc, + 0x32c2_f6f2_8415_ba95, + ])), + Fq::new(BigInteger256::new([ + 0x0817_973b_2d1b_fc54, + 0x7116_64a9_dcff_920f, + 0x1a8d_adda_feb8_e875, + 0x2c18_9965_a7cf_df22, + ])), + Fq::new(BigInteger256::new([ + 0xcb3e_5d9f_7f5c_8cbb, + 0x18ee_100a_9d5c_3a7c, + 0x27c1_bc73_5ae7_88a3, + 0x6154_9e70_76bc_0ec8, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8c8d_2871_12de_d73c, + 0x0a43_db78_9407_19a9, + 0x9f81_d2f3_ec2c_75c3, + 0x25d4_de96_dc1f_b748, + ])), + Fq::new(BigInteger256::new([ + 0x0823_1132_de50_3a87, + 0x6457_5b51_4200_b701, + 0x2d22_bf5f_ca5a_898d, + 0x660b_1914_98f9_8f6d, + ])), + Fq::new(BigInteger256::new([ + 0x9025_65cf_298c_bdee, + 0x45e8_d1ce_6a67_b6b2, + 0x1dc3_c4c5_68a8_57e3, + 0x1cc5_27b5_ad13_ce38, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8df3_d7f7_7ada_1c1b, + 0x04a3_4ad3_f42a_6c12, + 0x1e1c_2b9e_79d6_91d6, + 0x321f_f3c8_d2e9_2d6b, + ])), + Fq::new(BigInteger256::new([ + 0xd91d_f895_d330_781f, + 0x313e_5c31_aa32_d76f, + 0xe357_ac34_363c_594e, + 0x1d8f_0042_34f9_f2c1, + ])), + Fq::new(BigInteger256::new([ + 0x3585_becf_c3dc_fcb7, + 0xcfc0_0a28_96c9_67ee, + 0x0446_287d_24d2_38ff, + 0x4544_d6c8_fd4c_7876, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5720_4bc1_fdbe_e339, + 0xe46d_8b80_2537_90e9, + 0xbcb0_0e5f_af8f_4b4f, + 0x20a0_8d0a_5324_8fb2, + ])), + Fq::new(BigInteger256::new([ + 0xe3e3_05cd_94d7_6d8f, + 0x666c_4722_ed13_bdc1, + 0x5e04_5363_9ad0_b521, + 0x36b5_c215_7325_963c, + ])), + Fq::new(BigInteger256::new([ + 0xbb6d_545b_4937_6a47, + 0x4ff3_b60f_8528_fbd1, + 0x72a7_fde9_0260_833a, + 0x43b1_2f2b_4650_dcf1, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x320c_3448_eb45_ed06, + 0x2642_839d_25d3_847a, + 0x3f3c_d7f8_8337_202b, + 0x0195_8c4c_97a4_591e, + ])), + Fq::new(BigInteger256::new([ + 0x6eda_b928_444b_3e7e, + 0x3296_3af1_0441_62db, + 0xcbd3_257a_1777_5b5c, + 0x53c4_6439_3bb5_0b0b, + ])), + Fq::new(BigInteger256::new([ + 0x1738_552f_f738_4841, + 0x6b65_ec6a_a08b_e908, + 0x521d_2b97_39df_85d8, + 0x483f_8c11_8f74_a356, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x40f1_35eb_397b_7ec6, + 0xfe74_399d_501e_034a, + 0xa99e_39bd_a430_5282, + 0x3663_c6a8_1bd8_8aff, + ])), + Fq::new(BigInteger256::new([ + 0x66f7_1916_c8d3_5cab, + 0x5e1e_184b_3cc2_6a94, + 0x9abb_42a1_414e_53c9, + 0x1b9f_ba69_5a3d_96ba, + ])), + Fq::new(BigInteger256::new([ + 0xd905_b9d0_2e65_88fb, + 0x50e5_0ce5_3ed8_c5ef, + 0x24a3_2f4f_86c6_92b9, + 0x6bb3_e27e_0010_b3fa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x313a_0c5b_67b5_8178, + 0x00a2_35d0_0fbf_4aa0, + 0x0ce2_46da_6fbd_3615, + 0x5381_1e5c_7199_4932, + ])), + Fq::new(BigInteger256::new([ + 0x4dab_78e7_5496_8366, + 0x16d2_513e_975e_e91a, + 0x8041_d085_5320_d5c4, + 0x5933_55b8_0017_775f, + ])), + Fq::new(BigInteger256::new([ + 0xfa6e_496c_38df_5908, + 0x5286_193b_33a6_4fa4, + 0x33f2_c514_891a_6b80, + 0x0b21_0ab6_3ae1_ef17, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4188_a810_d03e_27a1, + 0x07f1_1774_9030_02a4, + 0x03f8_5e7b_8274_358b, + 0x26f1_380e_7749_5976, + ])), + Fq::new(BigInteger256::new([ + 0xf4ca_a6b4_4957_75ac, + 0xc70f_b3bd_b2a8_a94d, + 0x77ed_c64f_72fa_fc3b, + 0x0351_d89c_1323_6332, + ])), + Fq::new(BigInteger256::new([ + 0xaf04_eaa9_71b3_5cef, + 0x9d37_d706_23ab_6c5c, + 0xb802_9606_6480_671e, + 0x39a7_7941_4a82_3f70, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xbab9_8527_f60e_1dd5, + 0x3578_5179_0c21_f2e4, + 0x7d3f_c14a_0952_e330, + 0x33f8_e694_1a0b_05b7, + ])), + Fq::new(BigInteger256::new([ + 0x3f97_eddc_2d38_f4dc, + 0x955e_3cb2_8fe4_4d5f, + 0xf2a5_70f8_7857_377a, + 0x3936_d272_db72_a892, + ])), + Fq::new(BigInteger256::new([ + 0x8c33_154f_3259_e6c9, + 0x23bc_6365_cbab_5050, + 0xc428_242a_7866_3859, + 0x2584_83d9_d19d_0c37, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x9547_9a05_9076_fcee, + 0x8c07_4903_8bfa_99de, + 0x45e1_3680_8fee_e64d, + 0x7306_e10d_bdde_8985, + ])), + Fq::new(BigInteger256::new([ + 0x8406_39e7_4ed0_7fb1, + 0x7c4b_5119_d9ef_c7d1, + 0xd48b_8b39_2fea_fbc5, + 0x3a0a_3284_577a_03ce, + ])), + Fq::new(BigInteger256::new([ + 0x2b16_b05a_cd01_f76a, + 0x9298_076d_925d_b5ed, + 0xdd79_6b7d_976b_e2eb, + 0x4d88_3dca_9111_02d3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x11d1_c754_7016_db87, + 0x2c70_71a7_e4a7_1ded, + 0x916e_3b79_474c_f2f5, + 0x27fb_982b_0401_726a, + ])), + Fq::new(BigInteger256::new([ + 0x24ea_a276_c65e_c2e6, + 0xfa8a_e838_5e37_fbba, + 0x89ed_68ed_a04d_6b90, + 0x72bb_4b20_ab85_f6fd, + ])), + Fq::new(BigInteger256::new([ + 0x4d05_97fb_5667_90f2, + 0xc81a_18ea_b76c_eebc, + 0x23dd_f59d_a272_d1c3, + 0x2376_bf81_cbff_ac7a, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4ecf_ab38_67ef_bcd5, + 0x1f3c_8e92_e863_5f7b, + 0x9614_b4df_fab8_57fc, + 0x09fb_7dca_a11f_7198, + ])), + Fq::new(BigInteger256::new([ + 0x3dd3_09af_c72d_d3f4, + 0xe410_bff7_3f01_7e5b, + 0x13ba_ef99_9cf1_e919, + 0x37d7_a768_4484_8c05, + ])), + Fq::new(BigInteger256::new([ + 0xa843_26df_8777_ea61, + 0xcf0f_921f_7ac1_0ca0, + 0xb08a_aa90_0cc8_63b1, + 0x6c28_ac72_a608_db7c, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x464d_14ec_76b5_9fbf, + 0x0d40_fb8a_8512_d534, + 0x013e_ac3b_ab7a_9307, + 0x6ac3_0872_fb7a_aee2, + ])), + Fq::new(BigInteger256::new([ + 0x202d_5203_5979_6171, + 0xa7fa_51e7_cbaf_b0d4, + 0xa97f_6f3c_3ba9_66c2, + 0x1588_e343_d1f2_7071, + ])), + Fq::new(BigInteger256::new([ + 0x553a_f379_cd3c_ab09, + 0x74e8_ceb0_3175_5422, + 0x2f25_2972_bbd5_7761, + 0x11dc_280a_b49a_8737, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xdcb4_8f05_38b3_47ba, + 0xde83_000e_588a_7845, + 0x9b4b_3ce5_8861_c713, + 0x41fa_c88d_9768_38fd, + ])), + Fq::new(BigInteger256::new([ + 0x8b55_784d_ba75_b3a1, + 0x44fb_a761_9d24_75e7, + 0xaf0e_3620_06f1_deda, + 0x10b2_70ab_826c_c8a6, + ])), + Fq::new(BigInteger256::new([ + 0xfa6a_928e_390e_e657, + 0x4014_f66c_4f7d_e094, + 0xd9b5_04d0_41a0_4933, + 0x357d_03d4_99c5_b0bc, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd4d1_bcad_440f_a453, + 0xc4fc_22f8_ff0f_5868, + 0xd8e5_b912_fdba_2ab4, + 0x2b56_bb5f_cde0_25a8, + ])), + Fq::new(BigInteger256::new([ + 0x9b4b_3212_efbf_d684, + 0x08e5_c84a_24c4_8f36, + 0x55d3_75f0_bb19_efda, + 0x37b4_060a_506b_89de, + ])), + Fq::new(BigInteger256::new([ + 0xf302_9bbd_4aa3_e834, + 0x4392_5004_d2e5_ccff, + 0xf634_8a0f_efc4_8ac0, + 0x6b16_708a_c85a_d545, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x1ee7_05df_4d63_dd2e, + 0x2016_3ef6_981c_e0a6, + 0x498b_2265_8e8a_b19c, + 0x040e_0736_3e32_d188, + ])), + Fq::new(BigInteger256::new([ + 0x09dc_c60d_6057_12ca, + 0x6d6d_4d9f_b29b_3b42, + 0xa753_e090_bd99_46d3, + 0x01f7_0819_c567_2b60, + ])), + Fq::new(BigInteger256::new([ + 0xda93_2c87_ac1a_fa27, + 0xd47e_c241_2eb1_a648, + 0x8c27_c96c_f1d4_edc7, + 0x49f4_01e0_19b5_dfae, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6805_55a6_6575_68c8, + 0x0eff_83e4_d07b_5daa, + 0xec1c_b87f_fe25_a5ca, + 0x6cda_350d_bb4c_836a, + ])), + Fq::new(BigInteger256::new([ + 0x0e50_9f26_a38b_2eb1, + 0xe94c_34fc_7cc8_546e, + 0x81eb_a9c1_2cb1_8ce1, + 0x5e9b_6c88_8742_7743, + ])), + Fq::new(BigInteger256::new([ + 0xf675_7e2c_0db9_86c2, + 0xc958_b01a_974c_fc81, + 0x1974_b72f_8e07_0b9c, + 0x64e4_b6b6_c69c_55d7, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x3084_add5_4402_7211, + 0x2598_3357_d70c_e29b, + 0x5bc4_cad7_c234_fb3c, + 0x5e70_bb0b_9149_8488, + ])), + Fq::new(BigInteger256::new([ + 0x67e7_49a8_12a5_0492, + 0x0fda_6002_abba_22f7, + 0xe2c1_b370_7b47_1754, + 0x04d5_a142_a22a_8104, + ])), + Fq::new(BigInteger256::new([ + 0x1350_b3c4_d134_9d0b, + 0xecbb_a1bc_2d0d_6c4e, + 0x90af_53ad_9780_8dce, + 0x432d_2c0a_5d1a_ca34, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x42b5_2b6b_85a9_5adb, + 0xe65a_376f_204e_f211, + 0x0dc1_5d10_3038_792b, + 0x47d4_be89_1ce2_eac0, + ])), + Fq::new(BigInteger256::new([ + 0xafe4_9f2b_748b_15df, + 0xa087_25bd_fdf9_77ad, + 0xd7b1_ff1c_33df_ae8d, + 0x6a58_dff9_65c9_36f7, + ])), + Fq::new(BigInteger256::new([ + 0xcda2_906b_9bde_9033, + 0xea16_016a_a11e_04a8, + 0x9295_6418_c5db_8fd0, + 0x0ca6_3d92_e3a6_ab11, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x82b9_848f_dfda_72d2, + 0xf629_7809_ede7_8709, + 0xd8d6_b235_0a2b_957d, + 0x3860_7712_05e0_b4da, + ])), + Fq::new(BigInteger256::new([ + 0xc443_7b4d_8646_9281, + 0x12f9_997b_38f9_7dd8, + 0xc2b4_cebf_388e_e564, + 0x3b1d_dca5_7831_b77f, + ])), + Fq::new(BigInteger256::new([ + 0xf601_a059_1f25_26a6, + 0xb120_292b_f198_fc89, + 0x1498_2c23_568b_1a2c, + 0x2893_0fbc_794c_cfa4, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2aab_ec12_2b3b_fbc1, + 0x1d70_7b8a_d740_7ada, + 0x5d35_c74b_aebc_1cc8, + 0x0525_502d_91ad_c731, + ])), + Fq::new(BigInteger256::new([ + 0x2802_09e6_3f70_0a87, + 0xc9c6_f9ec_10a3_52e0, + 0x04bb_fb3d_55e8_cfe5, + 0x38d5_f073_61b5_1536, + ])), + Fq::new(BigInteger256::new([ + 0x5a1d_c88c_b052_7837, + 0x42b5_e2d7_8287_19c1, + 0x5a26_aff1_bab0_7f50, + 0x2909_6840_d2d9_661a, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6ff9_f888_5e43_99e2, + 0x32ed_663e_eca4_cd34, + 0xf55e_9cf6_80b3_6871, + 0x5288_306a_eaf6_3127, + ])), + Fq::new(BigInteger256::new([ + 0x84bd_2ac8_620b_1590, + 0x7063_8c1a_79b9_2d05, + 0xa166_64c2_f7aa_ec2e, + 0x5b76_b9de_abc3_55b3, + ])), + Fq::new(BigInteger256::new([ + 0x576d_e696_122a_21d0, + 0x4e4b_1643_7d98_67e4, + 0xd592_1194_bd47_72e4, + 0x5765_c36e_c081_5219, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xceab_1a0f_2ed2_2c92, + 0x8e54_aee2_cb9a_eb3d, + 0x6fee_7c5e_ab52_bbe2, + 0x63bd_27f4_1673_61b7, + ])), + Fq::new(BigInteger256::new([ + 0x3c11_3f68_1e5c_c463, + 0x6c78_c753_af39_cbe9, + 0x6c9f_cb5c_8ddc_8a5c, + 0x025e_8ea5_0072_3857, + ])), + Fq::new(BigInteger256::new([ + 0xb5ef_ab3c_32c8_b4a0, + 0xc1ff_831f_5fff_2c1c, + 0x3444_e04b_9310_3593, + 0x276a_4461_2816_867d, + ])), + ], + ]; + + // n: 255 + // t: 3 + // N: 765 + // Result Algorithm 1: + // [True, 0] + // Result Algorithm 2: + // [True, None] + // Result Algorithm 3: + // [True, None] + // Prime number: + // 0x0x73_ed_a_753__299d_7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 + + const MDS: [[ark_ed_on_bls12_381::Fq; WIDTH]; WIDTH] = [ + [ + Fq::new(BigInteger256::new([ + 0x6118_de41_07b5_1ace, + 0x8ad5_7440_53ba_9e77, + 0x5d6d_2412_10e2_d8a6, + 0x1b81_14c3_81b9_22fd, + ])), + Fq::new(BigInteger256::new([ + 0xe371_7213_fcc0_d763, + 0x7599_0cca_ec4c_09b4, + 0x0e5d_2189_9cf5_3317, + 0x3df3_2e4c_c4cb_2ed2, + ])), + Fq::new(BigInteger256::new([ + 0x3ecd_34ae_a0e1_edc1, + 0x007f_3360_1591_080b, + 0xbe25_8779_bf54_8eb4, + 0x3f05_c4df_7a66_64da, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd7f5_01cd_31a8_b374, + 0xca74_314b_950f_e7b1, + 0x432a_4ad7_6d3f_ae06, + 0x404d_2107_3985_d14e, + ])), + Fq::new(BigInteger256::new([ + 0xf7fa_1603_9556_49f1, + 0x73e9_b231_7679_422f, + 0x81bc_620e_9e52_4d4b, + 0x0b2c_c870_4264_c6bd, + ])), + Fq::new(BigInteger256::new([ + 0xe2a8_fc8c_637f_1a1f, + 0x6d0b_b519_8343_48b4, + 0x5a93_88c6_4103_5d49, + 0x0fdf_664d_a550_59fa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xf95d_c57e_90c4_9140, + 0x3197_ad01_b65a_730a, + 0x43e2_4a47_f45c_5d03, + 0x5e1d_3dbe_cda6_2143, + ])), + Fq::new(BigInteger256::new([ + 0x7dc7_b900_2f5a_a78a, + 0x44cb_6d5f_ae89_54f3, + 0x9318_96e7_7ea5_c612, + 0x6bd7_2f9c_fc53_af9d, + ])), + Fq::new(BigInteger256::new([ + 0xbb4f_b88e_f99d_e0db, + 0x1eff_bd9c_d58e_46d9, + 0xcaf8_80a9_054b_ef83, + 0x4997_c5aa_3a5f_a07b, + ])), + ], + ]; +} diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs new file mode 100644 index 0000000000..b9da265e8c --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs @@ -0,0 +1,26 @@ +use core::ops::{AddAssign, Mul}; + +/// Length of Poseidon's state. +pub(crate) const WIDTH: usize = 3; + +/// Hash rate of Poseidon. +pub(crate) const RATE: usize = 2; + +/// Number of full rounds of the Poseidon permutation. +pub(crate) const NB_FULL_ROUNDS: usize = 8; + +/// Number of partial rounds of the Poseidon permutation. +pub(crate) const NB_PARTIAL_ROUNDS: usize = 60; + +/// A PrimeField with the constants needed to compute Poseidon's permutation +/// (MDS matrix and round constants). +pub trait PoseidonField: ark_ff::Field +{ + /// The MDS matrix used for the linear layer at each round of Poseidon. + const MDS: [[Self; WIDTH]; WIDTH]; + + /// The constants added to Poseidon's state on every round. + const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS]; +} + +mod blstrs; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs new file mode 100644 index 0000000000..36df2e90d3 --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs @@ -0,0 +1,130 @@ +// Copied code from midnight-circuits +pub mod constants; + +pub mod poseidon_cpu; + +pub mod round_skips; + +use constants::{PoseidonField, WIDTH}; +pub use poseidon_cpu::*; + +// Implementation of Poseidon over JubJub (using midnight-circuits implementation). +// Need to figure out if we can assume that the bytes are canonical, i.e., if we are always hashing something that +// was a Scalar field element. + +use alloc::vec::Vec; +use ark_ed_on_bls12_381::{Fq as Scalar}; +use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; + +use hash256_std_hasher::Hash256StdHasher; +use scale_info::TypeInfo; +use serde::{Deserialize, Serialize}; +use sp_core::H256; +use sp_core::Hasher; +use sp_runtime::RuntimeDebug; +use sp_runtime::{StateVersion, traits::Hash}; +use sp_runtime_interface::pass_by::{AllocateAndReturnPointer, PassAs, PassFatPointerAndDecode}; +use sp_runtime_interface::runtime_interface; +use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; +use sp_runtime::DeserializeOwned; + +#[derive(Debug)] +pub enum PoseidonError { + /// Error produced when trying to convert bytes to field element + NotCanonical, +} + +#[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo, Serialize, Deserialize)] +pub struct PoseidonJubjub; + +sp_core::impl_maybe_marker_std_or_serde!( + /// A type that implements Serialize when in std environment or serde feature is activated. + trait MaybeSerialize: Serialize; + + /// A type that implements Serialize, DeserializeOwned and Debug when in std environment or serde feature is activated. + trait MaybeSerializeDeserialize: DeserializeOwned, Serialize; +); + +impl PoseidonJubjub { + /// Converts a byte slice into a vector of `Scalar` field elements suitable + /// for Poseidon hashing. + /// + /// Poseidon operates over field elements, so this function transforms raw + /// bytes into `Scalar`s. + /// + /// - If `format_scalars` is `true`, the input is assumed to already contain + /// valid field elements. Each 32-byte chunk is interpreted as a canonical + /// `Scalar`. + /// + /// - If `format_scalars` is `false`, the input is processed in 31-byte + /// chunks to ensure that each resulting value falls within the canonical + /// range of the field. + /// + /// Returns a `Vec` on success, or an `Error` if canonical + /// conversion fails. + pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { + let chunk_len = if format_scalars { 32 } else { 31 }; + + msg.chunks(chunk_len) + .map(|scalar| { + let mut bytes = [0u8; 32]; + bytes[..scalar.len()].copy_from_slice(scalar); + Scalar::deserialize_compressed(&bytes[..]).map_err(|_| PoseidonError::NotCanonical) + }) + .collect::, PoseidonError>>() + } +} + +impl Hasher for PoseidonJubjub { + type Out = sp_core::H256; + type StdHasher = Hash256StdHasher; + const LENGTH: usize = 32; + + fn hash(s: &[u8]) -> Self::Out { + // TODO: we are assuming false - would be ideal if we could assume true + let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); + + let out_fr = Self::hash(&msg); + + let mut out = [0u8; 32]; + out_fr.serialize_compressed(out.as_mut_slice()); + out.into() + } +} + +#[runtime_interface] +pub trait PoseidonTrie { + /// A trie root formed from the iterated items using Poseidon + fn poseidon_jubjub_root( + input: PassFatPointerAndDecode, Vec)>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::trie_root(input), + StateVersion::V1 => LayoutV1::::trie_root(input), + } + } + + /// A trie root formed from the enumerated items using Poseidon + fn poseidon_jubjub_ordered_root( + input: PassFatPointerAndDecode>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::ordered_trie_root(input), + StateVersion::V1 => LayoutV1::::ordered_trie_root(input), + } + } +} + +impl Hash for PoseidonJubjub { + type Output = H256; + + fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_ordered_root(input, version) + } + + fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_root(input, version) + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs new file mode 100644 index 0000000000..61f0fd84d0 --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs @@ -0,0 +1,204 @@ +use alloc::vec::Vec; +use ark_ed_on_bls12_381::{Fq as Scalar}; +use ark_ff::Field; +use ark_ec::AdditiveGroup; +use crate::PoseidonJubjub; + +use super::{ + constants::{PoseidonField, NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, RATE, WIDTH}, + round_skips::{PreComputedRoundCPU}, +}; + +/// Number of times the linear part of the partial rounds is skipped in the +/// Poseidon cpu implemetation (0 is the default implementation without skips at +/// all). +pub(crate) const NB_SKIPS_CPU: usize = 2; + +/// Off-circuit Poseidon state. +#[derive(Clone, Debug)] +pub struct PoseidonState { + pre_computed: PreComputedRoundCPU, + register: [Scalar; WIDTH], + queue: Vec, + squeeze_position: usize, + input_len: Option, +} + +// Applies the MDS matrix to a state and adds the round constants. All arguments +// have length `WIDTH`. To save the addition cost, the implementation is done by +// mutating the `constants` slice, and eventually copying it into `state`. +fn linear_layer(state: &mut [F], constants: &mut [F]) { + #[allow(clippy::needless_range_loop)] + for i in 0..WIDTH { + for j in 0..WIDTH { + constants[i] += F::MDS[i][j] * state[j]; + } + } + state.copy_from_slice(constants); +} + +/// A cpu version of the full round of Poseidon's permutation. Operates by +/// mutating the `state` argument (length `WIDTH`). +pub(crate) fn full_round_cpu(round: usize, state: &mut [F]) { + state.iter_mut().for_each(|x| *x = x.square().square() * *x); + let mut new_state = if round == NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS - 1 { + [F::ZERO; WIDTH] + } else { + F::ROUND_CONSTANTS[round + 1] + }; + linear_layer(state, &mut new_state); +} + +// A cpu version of Poseidon with `1 + NB_SKIPS_CIRCUIT` partial rounds. +fn partial_round_cpu( + pre_computed: &PreComputedRoundCPU, + round: usize, + state: &mut [Scalar], // Length `WIDTH`. +) { + pre_computed + .partial_round_id + .eval::(&pre_computed.round_constants[round], state); +} + +// Alternative partial round version, without any skips. +fn partial_round_cpu_raw(round: usize, state: &mut [Scalar]) { + state[WIDTH - 1] *= state[WIDTH - 1].square().square(); + let mut new_state = Scalar::ROUND_CONSTANTS[round + 1]; + linear_layer(state, &mut new_state) +} + +/// A cpu version of the full Poseidon's permutation with partial-round skips. +pub fn permutation_cpu(pre_computed: &PreComputedRoundCPU, state: &mut [Scalar]) { + let nb_skips = pre_computed.partial_round_id.nb_skips; + let nb_main_partial_rounds = NB_PARTIAL_ROUNDS / (1 + nb_skips); + let remainder_partial_rounds = NB_PARTIAL_ROUNDS % (1 + nb_skips); + + for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { + *x += k0; + } + (0..NB_FULL_ROUNDS / 2).for_each(|round| full_round_cpu(round, state)); + (0..nb_main_partial_rounds).for_each(|round| partial_round_cpu(pre_computed, round, state)); + (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS - remainder_partial_rounds..) + .take(remainder_partial_rounds) + .for_each(|round| partial_round_cpu_raw(round, state)); + (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..) + .take(NB_FULL_ROUNDS / 2) + .for_each(|round| { + full_round_cpu(round, state); + }) +} + +// A cpu implementation of the sponge operations, building on the Poseidon's +// permutation. +impl PoseidonJubjub { + pub(crate) fn init(input_len: Option) -> PoseidonState { + let mut register = [Scalar::ZERO; WIDTH]; + register[RATE] = Scalar::from(input_len.map(|l| l as u128).unwrap_or(1 << 64)); + let pre_computed = PreComputedRoundCPU::init(); + PoseidonState { + pre_computed, + register, + queue: Vec::new(), + squeeze_position: 0, + input_len, + } + } + + pub(crate) fn absorb(state: &mut PoseidonState, inputs: &[Scalar]) { + state.queue.extend(inputs); + state.squeeze_position = 0; + } + + pub(crate) fn squeeze(state: &mut PoseidonState) -> Scalar { + if state.squeeze_position > 0 { + // If `input_len` was specified, we only allow 1 squeeze. + if state.input_len.is_some() { + panic!("Attempting to squeeze multiple times a fixed-size Poseidon sponge (CPU).") + }; + debug_assert!(state.queue.is_empty()); + let output = state.register[state.squeeze_position % RATE]; + state.squeeze_position = (state.squeeze_position + 1) % RATE; + return output; + } + + match state.input_len { + None => { + let padding = Scalar::from(state.queue.len() as u64); + state.queue.push(padding); + } + Some(len) => { + if state.queue.len() != len { + panic!("Inconsistent lengths in fixed-size Poseidon sponge (CPU). Expected: {}, found: {}.", len, state.queue.len()) + }; + } + } + + for chunk in state.queue.chunks(RATE) { + for (entry, value) in state.register.iter_mut().zip(chunk.iter()) { + *entry += value; + } + permutation_cpu(&state.pre_computed, &mut state.register); + } + + state.queue = Vec::new(); + state.squeeze_position = 1 % RATE; + state.register[0] + } + + pub(crate) fn hash(inputs: &[Scalar]) -> Scalar { + let mut state = Self::init(Some(inputs.len())); + Self::absorb(&mut state, inputs); + Self::squeeze(&mut state) + } +} + +#[cfg(test)] +mod tests { + use rand::SeedableRng; + use rand_chacha::ChaCha12Rng; + use ark_ff::UniformRand; + + use super::*; + + // A version of Poseidon's permutation, without round skips. Has been tested + // against the previous version of Poseidon (replaced since Merge request #521). + fn permutation_cpu_raw(state: &mut [Scalar]) { + for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { + *x += k0; + } + for round in 0..NB_FULL_ROUNDS / 2 { + full_round_cpu(round, state); + } + for round in (NB_FULL_ROUNDS / 2..).take(NB_PARTIAL_ROUNDS) { + partial_round_cpu_raw(round, state); + } + for round in (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..).take(NB_FULL_ROUNDS / 2) { + full_round_cpu(round, state); + } + } + // Tests the performances of the cpu version of Poseidon. In debug mode, also + // tests the consistency between the version with and without round skips. + fn consistency_cpu(nb_samples: usize) { + let pre_computed = PreComputedRoundCPU::init(); + let mut rng = ChaCha12Rng::seed_from_u64(0xf007ba11); + (0..nb_samples) + .for_each(|_| { + let input: [Scalar; WIDTH] = + core::array::from_fn(|_| Scalar::rand(&mut rng)); + let mut res1 = input; + let mut res2 = input; + permutation_cpu_raw(&mut res1); + permutation_cpu(&pre_computed, &mut res2); + if res1 != res2 { + panic!("=> Inconsistencies between the cpu implementations of the permutations.\n\nOn input x = {:?},\n\npermutation_cpu_no_skip(x) = {:?}\n\npermutation_cpu_with_skips(x) = {:?}\n", input, res1, res2) + } + }); + } + + #[test] + fn cpu_test() { + // Testing cpu performances. In debug mode, also tests the consistency between + // the optimised and non-optimised cpu implementations of the permutation. + consistency_cpu(1); + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs new file mode 100644 index 0000000000..f1cb14dcfb --- /dev/null +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs @@ -0,0 +1,248 @@ +use alloc::vec::Vec; +use core::iter::repeat; +use ark_ed_on_bls12_381::Fq as Scalar; +use ark_ec::AdditiveGroup; +use ark_ff::Field; +use super::{PoseidonField, NB_SKIPS_CPU}; +use super::{ + constants::{NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, WIDTH}, +}; + +/// Maximal number of partial-round skips performed during Poseidon. +pub(crate) const NB_SKIPS_MAX: usize = NB_SKIPS_CPU; + +// Pre-generated partial-round constants for CPU implementations. +type RoundContantsCPU = [[Scalar; WIDTH + NB_SKIPS_CPU]; NB_PARTIAL_ROUNDS / (1 + NB_SKIPS_CPU)]; + +/// Represents a combination +/// `a1 x1 + ... + an xn + b1 y1^5 + ... + bp yp^5 + c1 z1 + ... + cq zq` +/// where the `ai` and `bi` are the field elements stored `var_coeffs`, and the +/// `ci` those in `const_coeffs`. Each index implictly corresponds to a variable +/// `xi` or `yi`, or a round constant `zi`. The slices `var_coeffs[..WIDTH-1]` +/// and `constants` correspond to linear variables/constants `xi`, while +/// `var_coeffs[WIDTH-1..]` is for the variables `yi` that are exponentiated. +/// +/// Note: the size of the array are overapproximated by using `NB_SKIPS_MAX` to +/// avoid having to deal with different types for `NB_SKIPS_CPU` and +/// `NB_SKIPS_CIRCUIT`. This will be the case for all similar types that are +/// only used in precomputations. +#[derive(Clone, Copy, Debug)] +pub(crate) struct RoundVarId { + var_coeffs: [Scalar; WIDTH + NB_SKIPS_MAX], // Length WIDTH + number of round skips. + const_coeffs: [Scalar; WIDTH * (1 + NB_SKIPS_MAX)], // Length 1 + number of round skips. +} + +/// A set of linear combinations representing a set of polynomial identities +/// characterising partial rounds. Identities in `ids[..WIDTH-1]` are for the +/// cells that do not go through an exponentiation, unlike those in +/// `ids[WIDTH-1..]`. +/// +/// Note: Unlike the field `var_coeffs` which has `WIDTH + nb_skips` elements, +/// `ids` contains `WIDTH + nb_skips + 1` identities. The additional element (at +/// index 0) represents the last input of the round (which is a trivial +/// identity, simply here for the convenience of the computation). +#[derive(Clone, Copy, Debug)] +pub(crate) struct RoundId { + pub nb_skips: usize, + ids: [RoundVarId; WIDTH + 1 + NB_SKIPS_MAX], // Real length `WIDTH + 1 + self.nb_skips`. +} + +/// Precomputed data for cpu partial rounds (round constants and round +/// identities). The `round_constants` field has dimension `[[F; WIDTH + +/// self.partial_round_id.nb_skips]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS / (1 + +/// self.partial_round_id.nb_skips)]`. +#[derive(Clone, Copy, Debug)] +pub struct PreComputedRoundCPU { + pub(crate) round_constants: RoundContantsCPU, + pub(crate) partial_round_id: RoundId, +} + +impl RoundVarId { + // `id1.add_and_mul(id2,c)` adds `c * id2` to `id1`. + fn add_and_mul(&mut self, rhs: &Self, c: &Scalar) { + self.var_coeffs + .iter_mut() + .chain(self.const_coeffs.iter_mut()) + .zip(rhs.var_coeffs.iter().chain(rhs.const_coeffs.iter())) + .for_each(|(a, b)| *a += *b * *c) + } + + // Generates a null linear combination. + fn init() -> Self { + RoundVarId { + var_coeffs: [Scalar::ZERO; WIDTH + NB_SKIPS_MAX], + const_coeffs: [Scalar::ZERO; WIDTH * (1 + NB_SKIPS_MAX)], + } + } + + // Generates a linear combination equal to a given constant, modelled by its + // indexes in the field `constants`. + fn from_constant_index(round_offset: &usize, column: &usize) -> Self { + let mut id = Self::init(); + id.const_coeffs[*round_offset * WIDTH + *column] = Scalar::ONE; + id + } + + // Takes a valuation for each variable of the `constants` field, and returns the + // evaluation of the linear combination when evaluating all other variables as + // zero. The argument `instances` has length `1 + self.nb_skips`. + fn eval_constants(&self, instances: &[[Scalar; WIDTH]]) -> Scalar { + self.const_coeffs + .iter() + .zip(instances.iter().flatten()) + .fold(Scalar::ZERO, |accu, (x1, x2)| accu + *x1 * x2) + } + + // Takes a valuation for each variable of `self.var_coeffs` and returns the + // evaluation of the linear combination when evaluating all variables of + // `self.constants` as zero. This function assumes that all non-linear + // variables have already been exponentiated. + fn eval_vars( + &self, + instances: &[Scalar], // Has length `WIDTH + self.nb_skips`. + constant: Scalar, + ) -> Scalar { + self.var_coeffs + .iter() + .zip(instances.iter()) + .fold(constant, |accu, (v1, v2)| accu + *v1 * v2) + } +} + +impl RoundId { + // Generates a new trivial identity. The linear variables are initialised to + // themselves ("x = x"), and the exponentiated variables are initialised to 0 + // ("x = 0"). The latter will be overwritten during the identity generation + // anyway, so their initialisation does not matter. + fn init(nb_skips: usize) -> Self { + RoundId { + nb_skips, + ids: core::array::from_fn(|i| { + if i < WIDTH + 1 + nb_skips { + let mut id = RoundVarId::init(); + if i < WIDTH { + id.var_coeffs[i] = Scalar::ONE + }; + id + } else { + RoundVarId::init() + } + }), + } + } + + // Reconstructs the identity of the current row, assuming that the identities of + // its linear variables are stored in `self.ids[..WIDTH-1]`. This function + // basically copies `self.ids[..WIDTH-1]` in the first `WIDTH-1` elements of the + // result, and adds a trivial identity ("x = x") in the last exponentiated slot. + fn row_id(&self, row: &usize) -> [RoundVarId; WIDTH] { + let mut last = RoundVarId::init(); + last.var_coeffs[WIDTH - 1 + *row] = Scalar::ONE; + core::array::from_fn(|i| if i == WIDTH - 1 { last } else { self.ids[i] }) + } + + // Updates the identity from the current row to the next one by applying a + // partial round. + fn update_row(self: &mut RoundId, round_offset: &usize) { + let current_row = self.row_id(round_offset); + #[allow(clippy::needless_range_loop)] + for i in 0..WIDTH - 1 { + self.ids[i] = RoundVarId::from_constant_index(round_offset, &i); + for j in 0..WIDTH { + self.ids[i].add_and_mul(¤t_row[j], &Scalar::MDS[i][j]); + } + } + self.ids[WIDTH + *round_offset] = + RoundVarId::from_constant_index(round_offset, &(WIDTH - 1)); + #[allow(clippy::needless_range_loop)] + for j in 0..WIDTH { + self.ids[WIDTH + *round_offset].add_and_mul(¤t_row[j], &Scalar::MDS[WIDTH - 1][j]); + } + } + + /// Generates the final identities for an optimised partial rounds, i.e., + /// applies `1+nb_skips` times the function `ids.update_row`. + fn generate(nb_skips: usize) -> Self { + let mut ids = RoundId::init(nb_skips); + for row in 0..1 + nb_skips { + ids.update_row(&row); + } + ids + } + + // Uplifting of the function `RoundVarId::eval_constants` to sets of + // identities. The `instances` argument has length `1 + self.nb_skips`, and the + // result has length `WIDTH + self.nb_skips`. Mutates the `arg` argument to + // store the result. + fn eval_constants(&self, round: usize, arg: &mut [Scalar]) { + let instances = &Scalar::ROUND_CONSTANTS[round + 1..round + 2 + self.nb_skips]; + self.ids[..WIDTH - 1] + .iter() + .chain(self.ids[WIDTH..].iter()) + .map(|id| id.eval_constants(instances)) + .zip(arg.iter_mut()) + .for_each(|(c, x)| *x = c) + } + + /// Uplifting of the function `RoundVarId::eval_vars` to sets of + /// identities, and adds the output of `self.eval_constants` to the result + /// (taken as the `round_constants` argument). Returns the value of + /// the last column of the skipped rows (length `self.nb_skips`, passed as + /// the parameter `NB_SKIPS` so that it can be used as array's length). + pub(crate) fn eval( + &self, + round_constants: &[Scalar], // Length `WIDTH + self.nb_skips`. + instances: &mut [Scalar], // Length `WIDTH`. + ) -> [Scalar; NB_SKIPS] { + let mut pow_instances = [Scalar::ZERO; NB_SKIPS]; + instances[WIDTH - 1] *= instances[WIDTH - 1].square().square(); + let mut pow_instances_exp = instances + .iter() + .chain(repeat(&Scalar::ZERO).take(NB_SKIPS)) + .copied() + .collect::>(); + + #[allow(clippy::reversed_empty_ranges)] + for i in 0..self.nb_skips { + let next = + self.ids[WIDTH + i].eval_vars(&pow_instances_exp, round_constants[WIDTH - 1 + i]); + pow_instances[i] = next; + pow_instances_exp[WIDTH + i] = next.square().square() * next; + } + let mut output = [Scalar::ZERO; WIDTH]; + for i in 0..WIDTH - 1 { + output[i] = self.ids[i].eval_vars(&pow_instances_exp, round_constants[i]); + } + output[WIDTH - 1] = self.ids[WIDTH + NB_SKIPS] + .eval_vars(&pow_instances_exp, round_constants[WIDTH + NB_SKIPS - 1]); + instances.copy_from_slice(&output); + pow_instances + } + + // Computes the round constants necessary for partial-round (cpu) with + // round skips. + fn round_constants_cpu(&self) -> RoundContantsCPU { + let mut v = [[Scalar::ZERO; WIDTH + NB_SKIPS_CPU]; NB_PARTIAL_ROUNDS / (1 + NB_SKIPS_CPU)]; + for (round, main_round) in (NB_FULL_ROUNDS / 2..) + .take(NB_PARTIAL_ROUNDS - NB_PARTIAL_ROUNDS % (1 + NB_SKIPS_CPU)) + .step_by(1 + NB_SKIPS_CPU) + .zip(0..) + { + self.eval_constants(round, &mut v[main_round]) + } + v + } +} + +impl PreComputedRoundCPU { + /// Pre-computes partial rounds and the associated round contants for + /// Poseidon's using NB_SKIPS_CPU round skips. + pub fn init() -> Self { + let partial_round_id = RoundId::generate(NB_SKIPS_CPU); + let round_constants = partial_round_id.round_constants_cpu(); + PreComputedRoundCPU { + partial_round_id, + round_constants, + } + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index 27cb9cfd1d..81f0b37c8d 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -7,20 +7,17 @@ //! leveraging the Poseidon hash, it is optimized for use in SNARK-based systems //! where efficiency in constraint systems is critical. +use alloc::vec; +use alloc::vec::Vec; use core::fmt::Debug; -use crate::poseidon::PoseidonError; -use blstrs::{Fr, JubjubExtended, JubjubSubgroup as Point, Scalar}; -use ff::Field; -use group::{Group, GroupEncoding}; -use midnight_circuits::{ - ecc::curves::CircuitCurve, hash::poseidon::PoseidonChip, instructions::SpongeCPU, -}; +use crate::poseidon::{PoseidonError, PoseidonJubjub}; +use ark_ed_on_bls12_381::{Fr, EdwardsAffine as Point, EdwardsProjective, Fq as Scalar}; +use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; +use ark_ff::{Field, UniformRand}; +use ark_ec::AffineRepr; use rand_core::{CryptoRng, RngCore}; -/// Poseidon hash function -pub type Poseidon = PoseidonChip; - /// A Schnorr private key is a scalar from the Jubjub scalar field. #[derive(Clone, Debug)] pub struct KeyPair(pub(crate) Fr, pub(crate) Point); @@ -67,16 +64,16 @@ impl KeyPair { /// Generate a Schnorr keypair from a random number generator. pub fn generate(rng: &mut R) -> Self { - let sk = Fr::random(rng); + let sk = Fr::rand(rng); let pk = Point::generator() * sk; - Self(sk, pk) + Self(sk, pk.into()) } /// Generates a Schnorr keypair from a seed. pub fn generate_from_seed(seed: [u8; 64]) -> Self { - let sk = Fr::from_bytes_wide(&seed); + let sk = Fr::from_random_bytes(&seed).expect("Failed to construct Fr from bytes. This is a bug."); let pk = Point::generator() * sk; - Self(sk, pk) + Self(sk, pk.into()) } /// Sign a message using this private key. @@ -89,8 +86,8 @@ impl KeyPair { /// A Schnorr `Signature`. pub fn sign(&self, msg: &[Scalar], rng: &mut (impl RngCore + CryptoRng)) -> SchnorrSignature { // Generate a random nonce - let a = Fr::random(rng); - let A = Point::generator() * a; + let a = Fr::rand(rng); + let A = (Point::generator() * a).into(); // Compute challenge e = H(R || PK || msg) let c_input = [&to_coords(&A), &to_coords(&self.1), msg].concat(); @@ -129,8 +126,8 @@ impl SchnorrSignature { /// Converts a signature to a byte array. pub fn to_bytes(&self) -> [u8; 64] { let mut out = [0u8; 64]; - out[..32].copy_from_slice(&self.A.to_bytes()); - out[32..].copy_from_slice(&self.r.to_bytes()); + self.A.serialize_compressed(out.as_mut_slice()); + self.r.serialize_compressed(out.as_mut_slice()); out } @@ -143,12 +140,10 @@ impl SchnorrSignature { if bytes.len() != 64 { return Err(SchnorrError::InvalidSignatureFormat); } - let A = Point::from_bytes(&bytes[..32].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidSignatureFormat)?; - let r = Fr::from_bytes(&bytes[32..].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidSignatureFormat)?; + + let mut buffer = bytes.to_vec(); + let A = Point::deserialize_compressed(&buffer[..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; + let r = Fr::deserialize_compressed(&buffer[..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; Ok(Self { A, r }) } @@ -157,7 +152,9 @@ impl SchnorrSignature { impl VerifyingKey { /// Converts a verifying key to a byte array. pub fn to_bytes(&self) -> [u8; 32] { - self.0.to_bytes() + let mut out = [0u8; 32]; + self.0.serialize_compressed(out.as_mut_slice()); + out } /// Converts a slice of bytes to a VerifyingKey @@ -169,9 +166,7 @@ impl VerifyingKey { return Err(SchnorrError::InvalidPkFormat); } - let pk = Point::from_bytes(&bytes[..32].try_into().unwrap()) - .into_option() - .ok_or(SchnorrError::InvalidPkFormat)?; + let pk = Point::deserialize_compressed(bytes).map_err(|_| SchnorrError::InvalidPkFormat)?; Ok(Self(pk)) } @@ -179,69 +174,69 @@ impl VerifyingKey { /// Helper function that converts a `JubJubSubgroup` point to its coordinates fn to_coords(point: &Point) -> Vec { - let extended_point: JubjubExtended = (*point).into(); - let coords = extended_point.coordinates().expect("Cannot be identity"); + // TODO: is this a reasonable assumption? + let (x, y) = point.xy().expect("We shouldn't have the identity"); - vec![coords.0, coords.1] + vec![x, y] } /// Helper function that hashes into a JubJub scalar, by taking the mod /// reduction of the output (which is in the base field, or BLS12-381's scalar /// field). fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { - let mut state = Poseidon::init(Some(input.len())); - Poseidon::absorb(&mut state, input); - let e = Poseidon::squeeze(&mut state); + let mut state = PoseidonJubjub::init(Some(input.len())); + PoseidonJubjub::absorb(&mut state, input); + let e = PoseidonJubjub::squeeze(&mut state); // Now we need to convert a BLS scalar to a JubJub scalar let mut bytes_wide = [0u8; 64]; - bytes_wide[..32].copy_from_slice(&e.to_bytes_le()); + e.serialize_compressed(bytes_wide.as_mut_slice()); - Fr::from_bytes_wide(&bytes_wide) + Fr::from_random_bytes(&bytes_wide).expect("Failed to compute Fr from bytes. This is a bug.") } -#[cfg(test)] -mod tests { - use rand_core::OsRng; - - use super::*; - - #[test] - fn schnorr_jubjub() { - let mut rng = OsRng; - - let signing_key = Pair::generate(&mut rng); - let msg = Scalar::random(&mut rng); - - let sig = signing_key.sign(&[msg], &mut rng); - - assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); - } - - #[test] - fn schnorr_jubjub_bytes() { - let mut rng = OsRng; - - let signing_key = Pair::generate(&mut rng); - let msg = Scalar::random(&mut rng).to_bytes_le(); - - let sig = - signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); - - assert!( - sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) - .is_ok() - ); - - let mut msg = [0u8; 100]; - rng.fill_bytes(&mut msg); - - let sig = - signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); - - assert!( - sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) - .is_ok() - ); - } -} +// #[cfg(test)] +// mod tests { +// use rand_core::OsRng; +// +// use super::*; +// +// #[test] +// fn schnorr_jubjub() { +// let mut rng = OsRng; +// +// let signing_key = Pair::generate(&mut rng); +// let msg = Scalar::random(&mut rng); +// +// let sig = signing_key.sign(&[msg], &mut rng); +// +// assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); +// } +// +// #[test] +// fn schnorr_jubjub_bytes() { +// let mut rng = OsRng; +// +// let signing_key = Pair::generate(&mut rng); +// let msg = Scalar::random(&mut rng).to_bytes_le(); +// +// let sig = +// signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); +// +// assert!( +// sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) +// .is_ok() +// ); +// +// let mut msg = [0u8; 100]; +// rng.fill_bytes(&mut msg); +// +// let sig = +// signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); +// +// assert!( +// sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) +// .is_ok() +// ); +// } +// } diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index ee7d621ce2..827a035881 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -4,8 +4,10 @@ //! primitives and keystore functionality into the Substrate runtime //! environment, enabling their use in on-chain logic and consensus mechanisms. -use std::convert::TryInto; +// use std::convert::TryInto; +use alloc::vec::Vec; +use core::panic; use rand_core::{OsRng, RngCore}; use sp_core::{ ByteArray, Pair as TraitPair, From 0245dfd48abd483e07183c8b25ce8c5c94990211 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Mon, 23 Jun 2025 11:29:03 +0200 Subject: [PATCH 27/51] WIP --- demo/node/Cargo.toml | 2 +- demo/node/src/testnet.rs | 2 +- demo/runtime/Cargo.toml | 4 +-- demo/runtime/src/lib.rs | 10 ++++-- .../src/filter_invalid_candidates.rs | 14 ++++----- .../src/select_authorities.rs | 2 +- toolkit/partner-chains-cli/Cargo.toml | 1 + .../src/permissioned_candidates.rs | 20 +++++++----- .../src/runtime_bindings.rs | 2 +- toolkit/sidechain/domain/Cargo.toml | 1 + toolkit/sidechain/domain/src/lib.rs | 6 ++-- toolkit/utils/schnorr_jubjub/Cargo.toml | 7 +++-- .../schnorr_jubjub/src/beefy_structures.rs | 11 +++---- toolkit/utils/schnorr_jubjub/src/lib.rs | 16 +++++----- .../src/poseidon/constants/mod.rs | 2 -- .../utils/schnorr_jubjub/src/poseidon/mod.rs | 4 +-- toolkit/utils/schnorr_jubjub/src/primitive.rs | 31 ++++++++++++------- toolkit/utils/schnorr_jubjub/src/runtime.rs | 10 +----- 18 files changed, 79 insertions(+), 66 deletions(-) diff --git a/demo/node/Cargo.toml b/demo/node/Cargo.toml index c4114a8cbd..4a9346d6f1 100644 --- a/demo/node/Cargo.toml +++ b/demo/node/Cargo.toml @@ -119,7 +119,7 @@ pallet-block-producer-metadata-rpc = { workspace = true } sp-governed-map = { workspace = true, features = ["std"] } # Dependency for Schnorr crypto -schnorr_jubjub = { workspace = true } +schnorr_jubjub = { workspace = true, features = ["std"] } [build-dependencies] substrate-build-script-utils = { workspace = true } diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index f7f4625615..7083a157a8 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -9,7 +9,7 @@ use sc_service::ChainType; use sidechain_domain::*; use sidechain_slots::SlotsPerEpoch; use sp_core::bytes::from_hex; -use sp_core::{ecdsa, ed25519, sr25519}; +use sp_core::{ed25519, sr25519}; use std::str::FromStr; pub fn authority_keys( diff --git a/demo/runtime/Cargo.toml b/demo/runtime/Cargo.toml index a1450e37da..92d8d6b054 100644 --- a/demo/runtime/Cargo.toml +++ b/demo/runtime/Cargo.toml @@ -99,7 +99,7 @@ sp-block-producer-fees = { workspace = true } pallet-block-producer-fees = { workspace = true } sp-io = { workspace = true } -#schnorr_jubjub = { workspace = true } +schnorr_jubjub = { workspace = true, features = ["full_crypto"] } [dev-dependencies] sp-keyring = { workspace = true } @@ -182,7 +182,7 @@ std = [ "sp-block-participation/std", "pallet-governed-map/std", "sp-governed-map/std", -# "schnorr_jubjub/std", + "schnorr_jubjub/std", ] runtime-benchmarks = [ diff --git a/demo/runtime/src/lib.rs b/demo/runtime/src/lib.rs index 8fdc20eafb..b331ee2e0f 100644 --- a/demo/runtime/src/lib.rs +++ b/demo/runtime/src/lib.rs @@ -38,6 +38,7 @@ use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use schnorr::{Public as BeefyId, Public, Signature as BeefySignature}; use schnorr_jubjub as schnorr; +use schnorr_jubjub::PoseidonJubjub; use serde::{Deserialize, Serialize}; use sidechain_domain::byte_string::{BoundedString, ByteString, SizedByteString}; use sidechain_domain::{ @@ -66,13 +67,17 @@ use sp_sidechain::SidechainStatus; use sp_std::prelude::*; use sp_version::RuntimeVersion; use sp_weights::Weight; -use schnorr_jubjub::PoseidonJubjub; -use crate::mmr::Hashing; // Make the WASM binary available. #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); +#[cfg(all(not(feature = "std"), target_arch = "wasm32"))] +#[panic_handler] +fn panic(_info: &core::panic::PanicInfo) -> ! { + loop {} +} + pub mod genesis_config_presets; #[cfg(test)] @@ -663,7 +668,6 @@ parameter_types! { pub const BeefySetIdSessionEntries: u32 = BondingDuration::get() * SessionsPerEra::get(); } - impl pallet_beefy::Config for Runtime { type BeefyId = BeefyId; type SignatureHasher = PoseidonJubjub; diff --git a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs index 7f52e54f45..e70435cb37 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/filter_invalid_candidates.rs @@ -107,7 +107,7 @@ pub fn filter_trustless_candidates_registrations( genesis_utxo: UtxoId, ) -> Vec<(Candidate, selection::Weight)> where - TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, TAccountId: From, { candidate_registrations @@ -126,7 +126,7 @@ pub fn filter_invalid_permissioned_candidates( permissioned_candidates: Vec, ) -> Vec> where - TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, TAccountId: TryFrom, { permissioned_candidates @@ -146,7 +146,7 @@ fn select_latest_valid_candidate( ) -> Option> where TAccountId: From, - TAccountKeys: From<(sr25519::Public, ed25519::Public, ed25519::Public)>, + TAccountKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, { let stake_delegation = validate_stake(candidate_registrations.stake_delegation).ok()?; let stake_pool_pub_key = candidate_registrations.stake_pool_public_key; @@ -241,7 +241,7 @@ pub enum PermissionedCandidateDataError { pub fn validate_permissioned_candidate_data>( candidate: PermissionedCandidateData, ) -> Result< - (AccountId, sr25519::Public, ed25519::Public, ed25519::Public), + (AccountId, sr25519::Public, schnorr_jubjub::Public, ed25519::Public), PermissionedCandidateDataError, > { Ok(( @@ -255,7 +255,7 @@ pub fn validate_permissioned_candidate_data Result< - (ecdsa::Public, (sr25519::Public, ed25519::Public, ed25519::Public)), + (ecdsa::Public, (sr25519::Public, schnorr_jubjub::Public, ed25519::Public)), RegistrationDataError, > { let aura_pub_key = registration_data @@ -285,7 +285,7 @@ pub fn validate_registration_data( .ok_or(RegistrationDataError::InvalidAuraKey)?; let beefy_pub_key = registration_data .beefy_pub_key - .try_into_ed25519() + .try_into_schnorr() .ok_or(RegistrationDataError::InvalidBeefyKey)?; let grandpa_pub_key = registration_data .grandpa_pub_key diff --git a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs index b82d4985c1..81ad9d8fdd 100644 --- a/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs +++ b/toolkit/committee-selection/authority-selection-inherents/src/select_authorities.rs @@ -14,7 +14,7 @@ use sp_core::{U256, ecdsa, ed25519, sr25519}; /// Seed is constructed from the MC epoch nonce and the sidechain epoch. pub fn select_authorities< TAccountId: Clone + Ord + TryFrom + From, - TAccountKeys: Clone + Ord + From<(sr25519::Public, ed25519::Public, ed25519::Public)>, + TAccountKeys: Clone + Ord + From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, >( genesis_utxo: UtxoId, input: AuthoritySelectionInputs, diff --git a/toolkit/partner-chains-cli/Cargo.toml b/toolkit/partner-chains-cli/Cargo.toml index a0be9c002e..7a26e74a15 100644 --- a/toolkit/partner-chains-cli/Cargo.toml +++ b/toolkit/partner-chains-cli/Cargo.toml @@ -40,6 +40,7 @@ plutus-datum-derive = { workspace = true } ed25519-zebra = { workspace = true } sp-session-validator-management = { workspace = true, features = ["std"] } pallet-session-validator-management = { workspace = true, features = ["std"] } +schnorr_jubjub = { workspace = true } [dev-dependencies] pretty_assertions = { workspace = true } diff --git a/toolkit/partner-chains-cli/src/permissioned_candidates.rs b/toolkit/partner-chains-cli/src/permissioned_candidates.rs index 4e6e53f195..b46e3ef028 100644 --- a/toolkit/partner-chains-cli/src/permissioned_candidates.rs +++ b/toolkit/partner-chains-cli/src/permissioned_candidates.rs @@ -1,3 +1,4 @@ + use ogmios_client::query_ledger_state::{QueryLedgerState, QueryUtxoByUtxoId}; use ogmios_client::query_network::QueryNetwork; use ogmios_client::transactions::Transactions; @@ -10,7 +11,7 @@ use partner_chains_cardano_offchain::permissioned_candidates::{ }; use serde::{Deserialize, Serialize}; use sidechain_domain::{PermissionedCandidateData, UtxoId}; -use sp_core::crypto::AccountId32; +use sp_core::crypto::{AccountId32, PublicBytes}; use sp_core::{ecdsa, ed25519, sr25519}; use sp_runtime::traits::IdentifyAccount; use std::fmt::{Display, Formatter}; @@ -54,17 +55,17 @@ impl From<&sidechain_domain::PermissionedCandidateData> for PermissionedCandidat pub(crate) struct ParsedPermissionedCandidatesKeys { pub sidechain: ecdsa::Public, pub aura: sr25519::Public, - pub beefy: ecdsa::Public, + pub beefy: schnorr_jubjub::Public, pub grandpa: ed25519::Public, } impl ParsedPermissionedCandidatesKeys { - pub fn session_keys>( + pub fn session_keys>( &self, ) -> SessionKeys { SessionKeys::from(( sr25519::Public::from(self.aura), - ecdsa::Public::from(self.beefy), + schnorr_jubjub::Public::from(self.beefy.clone()), ed25519::Public::from(self.grandpa), )) } @@ -85,9 +86,9 @@ impl TryFrom<&PermissionedCandidateKeys> for ParsedPermissionedCandidatesKeys { "{} is invalid sr25519 public key", value.aura_pub_key )))?; - let beefy = parse_ecdsa(&value.beefy_pub_key).ok_or(anyhow::Error::msg(format!( - "{} is invalid ecdsa public key", - value.aura_pub_key + let beefy = parse_jubjub(&value.beefy_pub_key).ok_or(anyhow::Error::msg(format!( + "{} is invalid beefy public key", + value.beefy_pub_key )))?; let grandpa = parse_ed25519(&value.grandpa_pub_key).ok_or(anyhow::Error::msg(format!( "{} is invalid Ed25519 public key", @@ -118,6 +119,11 @@ fn parse_sr25519(value: &str) -> Option { Some(sr25519::Public::from(<[u8; 32]>::try_from(bytes).ok()?)) } +fn parse_jubjub(value: &str) -> Option { + let bytes = sp_core::bytes::from_hex(value).ok()?; + Some(schnorr_jubjub::Public(PublicBytes::from(<[u8; 32]>::try_from(bytes).ok()?))) +} + fn parse_ed25519(value: &str) -> Option { let bytes = sp_core::bytes::from_hex(value).ok()?; Some(ed25519::Public::from(<[u8; 32]>::try_from(bytes).ok()?)) diff --git a/toolkit/partner-chains-cli/src/runtime_bindings.rs b/toolkit/partner-chains-cli/src/runtime_bindings.rs index 08200f95d4..b7f6a7f3fe 100644 --- a/toolkit/partner-chains-cli/src/runtime_bindings.rs +++ b/toolkit/partner-chains-cli/src/runtime_bindings.rs @@ -15,7 +15,7 @@ pub trait PartnerChainRuntime { type AuthorityKeys: Send + Sync + 'static - + From<(sr25519::Public, ecdsa::Public, ed25519::Public)> + + From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)> + Serialize; /// Partner Chain committee member type type CommitteeMember: Serialize; diff --git a/toolkit/sidechain/domain/Cargo.toml b/toolkit/sidechain/domain/Cargo.toml index 2011bec7b8..bd0a26cbab 100644 --- a/toolkit/sidechain/domain/Cargo.toml +++ b/toolkit/sidechain/domain/Cargo.toml @@ -57,5 +57,6 @@ std = [ "secp256k1/global-context", "ed25519-zebra", "ed25519-zebra/std", + "schnorr_jubjub/std", ] serde = ["dep:serde", "scale-info/serde", "sp-core/serde"] diff --git a/toolkit/sidechain/domain/src/lib.rs b/toolkit/sidechain/domain/src/lib.rs index b7e79b4681..74f02d17b7 100644 --- a/toolkit/sidechain/domain/src/lib.rs +++ b/toolkit/sidechain/domain/src/lib.rs @@ -36,7 +36,7 @@ use { serde::{Deserialize, Deserializer, Serialize, Serializer}, }; -use schnorr_jubjub; +// use schnorr_jubjub; /// The number of main chain epochs back a Partner Chain queries for committee selection inputs. /// This offset is necessary to ensure that data is present and stable. @@ -1051,8 +1051,8 @@ impl From for AuraPublicKey { pub struct BeefyPublicKey(pub Vec); impl BeefyPublicKey { /// Attempts to cast this public key to a valid [ecdsa::Public] - pub fn try_into_ed25519(&self) -> Option { - Some(ed25519::Public::try_from(self.0.as_slice()).ok()?) + pub fn try_into_schnorr(&self) -> Option { + Some(schnorr_jubjub::Public::try_from(self.0.as_slice()).ok()?) } } diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index 3da867ff98..bd0878877f 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -12,7 +12,6 @@ pallet-beefy-mmr = { workspace = true } parity-scale-codec = { workspace = true } rand_core = { workspace = true } scale-info = {workspace = true} -sc-keystore = { workspace = true } sp-core = { workspace = true, features = ["serde"] } sp-application-crypto = { workspace = true } sp-consensus-beefy = { workspace = true } @@ -37,7 +36,11 @@ ark-serialize = { workspace = true } [features] -default = ["std"] +default = ["std", "full_crypto"] +full_crypto = [ + "sp-application-crypto/full_crypto", + "sp-core/full_crypto" +] std = [ "ark-ed-on-bls12-381/std", "ark-ff/std", diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index ac2a620417..e8b9be629c 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -8,14 +8,12 @@ use alloc::vec::Vec; use core::fmt::{Debug, Display, Formatter}; -// use std::{convert::TryInto, fmt::Display, hash::Hash}; use crate::poseidon::PoseidonJubjub; use ark_ed_on_bls12_381::{Fr, EdwardsAffine}; use ark_ff::fields::Field; use ark_ec::AffineRepr; use ark_serialize::CanonicalSerialize; -use rand_core::OsRng; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use sha2::Digest; use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId}; @@ -32,7 +30,6 @@ use sp_runtime::{ app_crypto::{AppCrypto, AppPair, AppPublic, AppSignature}, traits::Convert, }; -use sp_runtime::biguint::BigUint; use crate::primitive::{SchnorrSignature, VerifyingKey}; @@ -278,10 +275,12 @@ impl TraitPair for crate::primitive::KeyPair { Ok(Self { 0: secret, 1: (EdwardsAffine::generator() * &secret).into() }) } + #[cfg(feature = "full_crypto")] fn sign(&self, message: &[u8]) -> Self::Signature { let msg = PoseidonJubjub::msg_from_bytes(message, false) .expect("With flag set to false, this should not fail. Report a bug."); - let shcnorr_sig = self.sign(&msg, &mut OsRng); + + let shcnorr_sig = self.sign(&msg); let bytes = shcnorr_sig.to_bytes(); @@ -311,8 +310,8 @@ impl TraitPair for crate::primitive::KeyPair { fn to_raw_vec(&self) -> Vec { let mut res = Vec::with_capacity(64); - self.0.serialize_compressed(&mut res); - self.1.serialize_compressed(&mut res); + self.0.serialize_compressed(&mut res).expect("Failed to serialize."); + self.1.serialize_compressed(&mut res).expect("Failed to serialize."); res } diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index ba14a4167c..17bf05e435 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -6,12 +6,12 @@ extern crate alloc; -// mod beefy_structures; +mod beefy_structures; // mod keystore; -// mod poseidon; -// mod primitive; -// mod runtime; -// -// pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -// -// pub use poseidon::{PoseidonJubjub,}; +mod poseidon; +mod primitive; +mod runtime; + +pub use beefy_structures::{InnerPublicBytes, Public, Signature}; + +pub use poseidon::{PoseidonJubjub,}; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs index b9da265e8c..fb9521352b 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs @@ -1,5 +1,3 @@ -use core::ops::{AddAssign, Mul}; - /// Length of Poseidon's state. pub(crate) const WIDTH: usize = 3; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs index 36df2e90d3..8c22259d8a 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs @@ -5,7 +5,7 @@ pub mod poseidon_cpu; pub mod round_skips; -use constants::{PoseidonField, WIDTH}; +use constants::{PoseidonField}; pub use poseidon_cpu::*; // Implementation of Poseidon over JubJub (using midnight-circuits implementation). @@ -87,7 +87,7 @@ impl Hasher for PoseidonJubjub { let out_fr = Self::hash(&msg); let mut out = [0u8; 32]; - out_fr.serialize_compressed(out.as_mut_slice()); + out_fr.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); out.into() } } diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index 81f0b37c8d..57c32c90d2 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -10,13 +10,14 @@ use alloc::vec; use alloc::vec::Vec; use core::fmt::Debug; +use rand_chacha::rand_core::{RngCore}; +use sha2::Digest; use crate::poseidon::{PoseidonError, PoseidonJubjub}; -use ark_ed_on_bls12_381::{Fr, EdwardsAffine as Point, EdwardsProjective, Fq as Scalar}; +use ark_ed_on_bls12_381::{Fr, EdwardsAffine as Point, Fq as Scalar}; use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; use ark_ff::{Field, UniformRand}; use ark_ec::AffineRepr; -use rand_core::{CryptoRng, RngCore}; /// A Schnorr private key is a scalar from the Jubjub scalar field. #[derive(Clone, Debug)] @@ -84,9 +85,18 @@ impl KeyPair { /// /// # Returns /// A Schnorr `Signature`. - pub fn sign(&self, msg: &[Scalar], rng: &mut (impl RngCore + CryptoRng)) -> SchnorrSignature { + pub fn sign(&self, msg: &[Scalar]) -> SchnorrSignature { + let mut bytes_nonce = [0u8; 32]; + self.0.serialize_compressed(bytes_nonce.as_mut_slice()).expect("Failed to serialize."); + + for scalar in msg { + scalar.serialize_compressed(bytes_nonce.as_mut_slice()).expect("Failed to serialize."); + } + // Generate a random nonce - let a = Fr::rand(rng); + // TODO: We compute it deterministically (as done in ed25519) to avoid needing a RNG + let h = sha2::Sha512::digest(&bytes_nonce); + let a = Fr::from_random_bytes(&h).expect("Failed to generate number from bytes. This is a bug."); let A = (Point::generator() * a).into(); // Compute challenge e = H(R || PK || msg) @@ -126,8 +136,8 @@ impl SchnorrSignature { /// Converts a signature to a byte array. pub fn to_bytes(&self) -> [u8; 64] { let mut out = [0u8; 64]; - self.A.serialize_compressed(out.as_mut_slice()); - self.r.serialize_compressed(out.as_mut_slice()); + self.A.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); + self.r.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); out } @@ -141,9 +151,8 @@ impl SchnorrSignature { return Err(SchnorrError::InvalidSignatureFormat); } - let mut buffer = bytes.to_vec(); - let A = Point::deserialize_compressed(&buffer[..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; - let r = Fr::deserialize_compressed(&buffer[..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; + let A = Point::deserialize_compressed(&bytes[..32]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; + let r = Fr::deserialize_compressed(&bytes[32..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; Ok(Self { A, r }) } @@ -153,7 +162,7 @@ impl VerifyingKey { /// Converts a verifying key to a byte array. pub fn to_bytes(&self) -> [u8; 32] { let mut out = [0u8; 32]; - self.0.serialize_compressed(out.as_mut_slice()); + self.0.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize"); out } @@ -190,7 +199,7 @@ fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { // Now we need to convert a BLS scalar to a JubJub scalar let mut bytes_wide = [0u8; 64]; - e.serialize_compressed(bytes_wide.as_mut_slice()); + e.serialize_compressed(bytes_wide.as_mut_slice()).expect("Failed to serialize"); Fr::from_random_bytes(&bytes_wide).expect("Failed to compute Fr from bytes. This is a bug.") } diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 827a035881..b012882e71 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -7,8 +7,6 @@ // use std::convert::TryInto; use alloc::vec::Vec; -use core::panic; -use rand_core::{OsRng, RngCore}; use sp_core::{ ByteArray, Pair as TraitPair, crypto::{CryptoTypeId, KeyTypeId}, @@ -77,13 +75,7 @@ impl RuntimePublic for Public { } fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let seed: [u8; 64] = seed - .unwrap_or({ - let mut res = [0u8; 64]; - OsRng.fill_bytes(&mut res); - - res.to_vec() - }) + let seed: [u8; 64] = seed.expect("Only support key generation from given seed.") .try_into() .expect("Invalid seed size."); From 74ec123599c152e7e3f43b676ceb787afa28ae28 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Mon, 23 Jun 2025 11:44:22 +0200 Subject: [PATCH 28/51] Fmt --- .../src/permissioned_candidates.rs | 5 +- .../schnorr_jubjub/src/beefy_structures.rs | 11 +- toolkit/utils/schnorr_jubjub/src/lib.rs | 2 +- .../src/poseidon/constants/blstrs.rs | 2876 ++++++++--------- .../src/poseidon/constants/mod.rs | 11 +- .../utils/schnorr_jubjub/src/poseidon/mod.rs | 144 +- .../src/poseidon/poseidon_cpu.rs | 288 +- .../src/poseidon/round_skips.rs | 382 ++- toolkit/utils/schnorr_jubjub/src/primitive.rs | 28 +- toolkit/utils/schnorr_jubjub/src/runtime.rs | 3 +- 10 files changed, 1878 insertions(+), 1872 deletions(-) diff --git a/toolkit/partner-chains-cli/src/permissioned_candidates.rs b/toolkit/partner-chains-cli/src/permissioned_candidates.rs index b46e3ef028..1c19263369 100644 --- a/toolkit/partner-chains-cli/src/permissioned_candidates.rs +++ b/toolkit/partner-chains-cli/src/permissioned_candidates.rs @@ -1,4 +1,3 @@ - use ogmios_client::query_ledger_state::{QueryLedgerState, QueryUtxoByUtxoId}; use ogmios_client::query_network::QueryNetwork; use ogmios_client::transactions::Transactions; @@ -60,7 +59,9 @@ pub(crate) struct ParsedPermissionedCandidatesKeys { } impl ParsedPermissionedCandidatesKeys { - pub fn session_keys>( + pub fn session_keys< + SessionKeys: From<(sr25519::Public, schnorr_jubjub::Public, ed25519::Public)>, + >( &self, ) -> SessionKeys { SessionKeys::from(( diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index e8b9be629c..d4d6aa8e78 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -10,9 +10,9 @@ use alloc::vec::Vec; use core::fmt::{Debug, Display, Formatter}; use crate::poseidon::PoseidonJubjub; -use ark_ed_on_bls12_381::{Fr, EdwardsAffine}; -use ark_ff::fields::Field; use ark_ec::AffineRepr; +use ark_ed_on_bls12_381::{EdwardsAffine, Fr}; +use ark_ff::fields::Field; use ark_serialize::CanonicalSerialize; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use sha2::Digest; @@ -271,7 +271,8 @@ impl TraitPair for crate::primitive::KeyPair { let h = sha2::Sha512::digest(&seed); - let secret = Fr::from_random_bytes(h.as_slice()).expect("Failed to deserialize random bytes. This is a bug."); + let secret = Fr::from_random_bytes(h.as_slice()) + .expect("Failed to deserialize random bytes. This is a bug."); Ok(Self { 0: secret, 1: (EdwardsAffine::generator() * &secret).into() }) } @@ -302,7 +303,9 @@ impl TraitPair for crate::primitive::KeyPair { fn public(&self) -> Self::Public { let mut writer = Vec::new(); - self.1.serialize_compressed(&mut writer).expect("Serialisation should not fail - writer is big enough"); + self.1 + .serialize_compressed(&mut writer) + .expect("Serialisation should not fail - writer is big enough"); let bytes: [u8; 32] = writer.try_into().unwrap(); Public(PublicBytes::from(bytes)) diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 17bf05e435..152e334b71 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -14,4 +14,4 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -pub use poseidon::{PoseidonJubjub,}; +pub use poseidon::PoseidonJubjub; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs index 68f8974e1d..3ea583250e 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/blstrs.rs @@ -7,1448 +7,1448 @@ //! $ sage generate_parameters_grain.sage 1 0 255 3 8 60 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 //! ``` -use super::{PoseidonField, NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, WIDTH}; +use super::{NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, PoseidonField, WIDTH}; use ark_ed_on_bls12_381::Fq; use ark_ff::BigInteger256; impl PoseidonField for Fq { - // Number of round constants: 204 = (8 + 60) * 3 - // Round constants for GF(p): - const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS] = [ - [ - Fq::new(BigInteger256::new([ - 0x118a_2e2f_6554_8257, - 0x429e_b149_5835_f5d0, - 0xe678_9030_868b_74da, - 0x0a59_176c_702e_80bd, - ])), - Fq::new(BigInteger256::new([ - 0x933a_2a02_fe51_cfbd, - 0xd304_dbbf_2412_7d23, - 0xcd8e_8a5a_5bab_4bf2, - 0x1f04_ee09_b99d_7d10, - ])), - Fq::new(BigInteger256::new([ - 0xaf52_80f5_0adc_5473, - 0x9f1a_2e78_0aa1_0c20, - 0x2918_8d63_9e30_1a4c, - 0x053b_0aee_6a9e_41f5, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xaef7_d488_79bf_3f9c, - 0x67ea_ba96_e239_1951, - 0xe456_a0c7_f190_fb81, - 0x607f_c613_870d_7f56, - ])), - Fq::new(BigInteger256::new([ - 0xb5a4_cb05_daa7_f2fb, - 0xa697_ec84_b5de_486e, - 0x13f9_9939_a0e3_4559, - 0x6593_4d47_f091_e181, - ])), - Fq::new(BigInteger256::new([ - 0xa853_bcd1_196b_63f9, - 0x4fec_1372_8d5a_cad5, - 0x8efa_f9a4_eed1_4789, - 0x18e8_96fa_20c6_21a9, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xe336_be30_a84f_d950, - 0xe47a_7c26_8147_96d2, - 0x17c4_ed67_2631_48c9, - 0x69fa_9afc_f3c3_ad00, - ])), - Fq::new(BigInteger256::new([ - 0x8e58_cfb6_41a9_262d, - 0x1247_d3bc_f972_cbd7, - 0x5c97_6e45_6bfb_407b, - 0x7176_d3b8_2879_39b9, - ])), - Fq::new(BigInteger256::new([ - 0x63e6_6973_ddc3_9a01, - 0x41f2_02d7_ef0b_284a, - 0xffc0_5e3b_37ba_7f8b, - 0x036d_041c_5ebe_fe99, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x732d_042e_df0a_816f, - 0x5057_1632_9ffb_e5a2, - 0x013b_15ae_b4c2_0921, - 0x5d05_42cc_31de_7433, - ])), - Fq::new(BigInteger256::new([ - 0x42f9_09f2_538a_8c12, - 0xf2fa_23b3_7fde_b25f, - 0xb804_665d_8913_be00, - 0x2665_fb26_ccc6_8131, - ])), - Fq::new(BigInteger256::new([ - 0x9d08_3d3c_6f9a_8ba7, - 0x6977_3c31_bb4d_95af, - 0xe7bb_046e_5c80_0ecb, - 0x3ce3_705a_685c_5889, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xaf1e_7963_d544_963d, - 0xd4fd_b7fd_68c0_2865, - 0xfa91_25e2_d774_16e3, - 0x4ec6_ec86_094a_a88e, - ])), - Fq::new(BigInteger256::new([ - 0xc2fd_db51_c3d7_fb35, - 0xa2ab_da9e_8406_0420, - 0xdcce_adee_1deb_edf9, - 0x04c0_b32a_aec6_f011, - ])), - Fq::new(BigInteger256::new([ - 0x4f78_b499_7d6a_fe55, - 0x024d_20b0_43ff_21f8, - 0x6a22_0541_769c_55e1, - 0x1627_5c92_29fa_151e, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xc103_27cc_a38b_8745, - 0xb4f7_a931_40b4_37b8, - 0xaf94_baf5_7d0f_8b00, - 0x1508_13e5_512f_10ef, - ])), - Fq::new(BigInteger256::new([ - 0xfefd_9fdb_ef63_43c2, - 0x3692_3304_dd5d_f570, - 0x4363_df56_9ee3_60ec, - 0x5f06_6147_b29d_b1e2, - ])), - Fq::new(BigInteger256::new([ - 0x8f7a_2080_7166_60d5, - 0xc4fb_015d_e0ef_9f5d, - 0x3fcf_9218_725a_5b20, - 0x115a_e3a3_1ce2_45ba, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xe5e1_4b22_a414_394e, - 0x937b_b2db_f2f9_3d69, - 0x0389_50c0_fd5d_79e3, - 0x3276_de65_c29a_45f3, - ])), - Fq::new(BigInteger256::new([ - 0x92f8_ad5a_d2b5_48bf, - 0x133e_e041_cc42_b62d, - 0x35f4_77af_6855_cca6, - 0x4c50_4980_0ceb_eb0b, - ])), - Fq::new(BigInteger256::new([ - 0xb21c_db49_1fae_2b78, - 0x2d0f_8b3d_41c9_3057, - 0x4196_c8ae_c67a_4bba, - 0x252e_1b54_9c72_eaf3, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xedad_c783_79d2_2a7c, - 0xbe3f_87e7_4ae1_c0a0, - 0x3469_5560_858c_35d6, - 0x5a0a_0f27_cfbc_fe7f, - ])), - Fq::new(BigInteger256::new([ - 0xb551_ed86_d4e0_1199, - 0x0ac1_98dc_b303_64d8, - 0xfd33_4689_e12a_ebf2, - 0x5aef_41fe_39ff_bd0b, - ])), - Fq::new(BigInteger256::new([ - 0x538a_eb06_16da_4db9, - 0xbdc6_6933_87a4_566a, - 0xd4cd_5d83_9e7f_ce4f, - 0x2ff7_ee57_4d7a_9680, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4252_d5a5_60fb_7c44, - 0x05ba_fbb6_1e57_b5fe, - 0x3fde_df2e_4269_82ce, - 0x5995_30bb_bca9_c791, - ])), - Fq::new(BigInteger256::new([ - 0x0436_dd18_bc6b_3086, - 0xa88d_f20c_ee45_6886, - 0x0bb9_a8bc_21a2_56d4, - 0x594a_fd99_c63e_0741, - ])), - Fq::new(BigInteger256::new([ - 0x8cbc_be42_1122_bf2c, - 0xc7c9_b266_eeb9_1eb4, - 0xab6a_cf32_7ffc_b56a, - 0x561b_c2bc_056a_1ddb, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x1850_53e3_9b03_e4c0, - 0x95f8_9028_8588_a97b, - 0x6973_71a1_5b9f_3110, - 0x44b0_f629_fee3_0f4a, - ])), - Fq::new(BigInteger256::new([ - 0x9b13_ecce_3f00_a744, - 0xe908_13d9_42f6_e482, - 0x1b78_e5d5_9762_4815, - 0x6666_bc36_2a76_00c8, - ])), - Fq::new(BigInteger256::new([ - 0x2020_eb73_65b7_7289, - 0xd3fa_35f5_bfe2_8c4a, - 0x2deb_b002_12d2_1c6a, - 0x3949_1594_d7ad_8049, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x5638_3a59_fba6_582c, - 0x38ab_7313_3269_c2a8, - 0xabeb_c0ea_d026_3afa, - 0x687a_baf4_8490_7604, - ])), - Fq::new(BigInteger256::new([ - 0x6a4e_6b1e_7b15_16ce, - 0x3773_b560_616a_25cc, - 0x7a29_4f24_d0ff_b886, - 0x31a9_20a0_d66d_0d37, - ])), - Fq::new(BigInteger256::new([ - 0x3103_a411_a588_4a28, - 0xf844_de5b_3ced_fedf, - 0xc628_f5fc_5c7b_67b4, - 0x43d0_f81a_73aa_dd11, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x289d_d944_0136_b819, - 0x5c45_7a53_f502_e257, - 0x1871_a5a4_ed87_4d58, - 0x3eb3_c82b_aba6_cffa, - ])), - Fq::new(BigInteger256::new([ - 0x797c_6d0b_5057_7e09, - 0xd75e_5a25_7ba1_53ae, - 0x9bed_66b6_b26f_69c8, - 0x3319_6ede_d0ba_d874, - ])), - Fq::new(BigInteger256::new([ - 0xcad2_9b7a_3a54_9811, - 0x7a18_3c0a_e3c6_c806, - 0x7bc0_731a_b785_e50e, - 0x43d2_6aaf_7d30_8dd3, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xc2f6_f153_37ed_a387, - 0x25e5_4c55_c39f_4333, - 0x053d_44d3_4d5f_0a8c, - 0x53ca_d412_4a93_4629, - ])), - Fq::new(BigInteger256::new([ - 0x793e_1f4c_d575_f356, - 0xcc88_5e01_e325_f8c5, - 0xf707_e4f2_6f51_2bb4, - 0x3eaf_d6b7_77c1_020a, - ])), - Fq::new(BigInteger256::new([ - 0xb7be_9040_ab9f_0930, - 0x6693_89e8_ec35_3453, - 0x195b_afc2_e7b8_e3b0, - 0x5320_202e_c430_6a0e, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x0888_ad8e_0d0b_26b0, - 0xa984_e319_26da_934d, - 0xb03d_4e4a_a99d_28d6, - 0x587b_91df_800f_3b96, - ])), - Fq::new(BigInteger256::new([ - 0x1bdb_88d1_f3f9_8f82, - 0x2553_aa69_e165_0b00, - 0x0367_bba6_16b6_f15e, - 0x2bfc_cc7e_b787_5847, - ])), - Fq::new(BigInteger256::new([ - 0xe12d_bb3f_4381_9d4a, - 0xdb3c_e9b7_d78e_7f5e, - 0x6d17_b675_d5ab_9c20, - 0x1422_f2e0_c548_74cf, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xf715_2a0e_b0b4_9c4c, - 0x7183_fc00_c7e6_03cb, - 0x063d_9fcf_2540_42dd, - 0x28fd_84a2_ea3a_1a2f, - ])), - Fq::new(BigInteger256::new([ - 0x2381_25d5_4411_4b57, - 0x391a_cf13_f9d2_133c, - 0x13da_f41f_ff09_5dfe, - 0x28bf_cd29_b81c_11eb, - ])), - Fq::new(BigInteger256::new([ - 0xcc54_df70_f7ab_ff3f, - 0xc988_26b5_0905_03fd, - 0x3503_8bab_8fa6_7760, - 0x5586_c4c0_ed8e_b5ea, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xfa49_8415_a68b_ab26, - 0x8742_5d23_bf73_e9ed, - 0x7315_5b2c_65e8_f343, - 0x1209_367f_03ec_6216, - ])), - Fq::new(BigInteger256::new([ - 0xdf79_0964_b607_b733, - 0x7b3e_8a41_7376_bef1, - 0x7dee_00fd_7eb2_3b5e, - 0x2235_6b2d_3215_f6d3, - ])), - Fq::new(BigInteger256::new([ - 0x3bef_b040_fd22_6672, - 0x09c8_c0c1_f268_4a7f, - 0xc480_8135_d3da_4a6a, - 0x6c16_3cb4_eb4d_8c5f, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x6759_a09c_9e48_c33a, - 0x6a6c_81f2_9516_4f5d, - 0xbd3e_5e4c_78b4_95a4, - 0x4dc3_c04e_25fd_48f7, - ])), - Fq::new(BigInteger256::new([ - 0xada0_faf9_dd9a_e7fb, - 0x3665_1145_e9bc_baf2, - 0xa719_6e06_f669_ba88, - 0x590d_9df4_29eb_3511, - ])), - Fq::new(BigInteger256::new([ - 0xb8ed_94c2_dbca_098a, - 0x13d1_ff2a_c6c2_4257, - 0x7b47_0554_86d6_811d, - 0x2ff2_9368_10a3_df28, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xd178_be88_6991_fa0c, - 0x40b5_2f60_797e_3e32, - 0xc4bc_95b4_e2ad_56e7, - 0x5f52_49a7_71d9_e4b1, - ])), - Fq::new(BigInteger256::new([ - 0xe1ba_7cc3_4e02_fb27, - 0x2d98_8d1b_18e9_bb54, - 0x0ec4_e316_7db3_da0e, - 0x67f7_8e07_cf6e_bbee, - ])), - Fq::new(BigInteger256::new([ - 0xa0b4_e9fb_1bb7_a762, - 0x61f9_be1c_5583_d9fe, - 0x63a1_6b72_d95e_2b00, - 0x2b9e_a3bd_9788_c6aa, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4a43_73eb_f0ee_59d2, - 0xbd8f_0407_342a_67fe, - 0xf041_5f5e_01d4_33bb, - 0x0a1b_af17_cbed_21cc, - ])), - Fq::new(BigInteger256::new([ - 0x7849_62ef_b0de_7977, - 0xf856_d3c9_0b04_ee14, - 0xe620_a26b_7a5e_3074, - 0x1cbf_cea2_eb30_561d, - ])), - Fq::new(BigInteger256::new([ - 0xc86f_d84b_8a51_045f, - 0xe7fc_90a2_25c1_ce9f, - 0x4afe_f268_48cd_ce06, - 0x39c9_cb51_d258_0680, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xc0bf_cb72_88a4_d9e9, - 0x2165_dadc_a284_ac55, - 0x899a_7c2c_2e7e_f043, - 0x424d_5e34_e4c1_77e2, - ])), - Fq::new(BigInteger256::new([ - 0xd792_3e77_a03c_082c, - 0x3dd9_6b9f_afd3_50ba, - 0xd2ba_7618_e011_4429, - 0x3387_e8c6_5f28_3718, - ])), - Fq::new(BigInteger256::new([ - 0x27e1_fd2a_26c6_e775, - 0x50bf_20b7_a3bf_d8e6, - 0x03b2_121d_350d_d4c4, - 0x6526_f124_7e74_5f80, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x5f21_9a42_81d6_9dd3, - 0x18d1_60d0_faf5_cbbc, - 0x4b7b_fbef_c8e9_9ebb, - 0x22c7_394d_df71_26e5, - ])), - Fq::new(BigInteger256::new([ - 0x4cfd_81fe_2ae7_54a1, - 0x1403_b733_6638_1dcb, - 0x69b7_8b0a_ccae_1092, - 0x2ef6_ac9b_e994_b37b, - ])), - Fq::new(BigInteger256::new([ - 0x0269_3c4c_3175_d977, - 0x7fd8_222c_3e3b_ed25, - 0x8424_7e7f_b84e_1154, - 0x4be6_a5c7_d2f3_dd44, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x2918_5e69_2885_09d2, - 0xe7e3_e070_e6bb_88fa, - 0x4b5b_c325_e153_609c, - 0x273a_ca31_807e_d5dc, - ])), - Fq::new(BigInteger256::new([ - 0xad22_4692_567a_0137, - 0xf0ed_cc30_ab79_e42e, - 0x23b6_f505_7c3a_1bf9, - 0x2db3_21ca_e3a1_aeb3, - ])), - Fq::new(BigInteger256::new([ - 0x7099_1fb1_a95a_88cf, - 0x3036_3687_0911_84b9, - 0x3533_01a4_48e0_30ab, - 0x4597_4424_f4c1_2e52, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x64f1_399d_2ebe_30c8, - 0x28d7_5a68_3adc_61b3, - 0xbfe5_8c8e_4eb3_9739, - 0x4dbc_8f30_94c0_b370, - ])), - Fq::new(BigInteger256::new([ - 0xc4ba_12cc_2eb5_c170, - 0x905d_a077_fb2b_f95d, - 0x91a7_410e_1926_b577, - 0x1b1c_10f0_e13f_3c0f, - ])), - Fq::new(BigInteger256::new([ - 0x160c_ab9b_f172_c001, - 0x73a1_056d_daac_586b, - 0x369b_e5d6_0ead_765e, - 0x1abb_a699_7ed7_1e4e, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x7cec_7e37_a606_146b, - 0x5e40_6373_b070_2df6, - 0x784f_66e2_7846_140a, - 0x3ffa_9ffc_e044_d6ed, - ])), - Fq::new(BigInteger256::new([ - 0xfb64_a2cd_7cde_1f3c, - 0x2068_1c98_73e8_a6bb, - 0xf2ba_11f5_1954_b80f, - 0x172d_1efb_d333_e2e3, - ])), - Fq::new(BigInteger256::new([ - 0xbd9c_09b8_93d2_6e7e, - 0x8e24_9c51_0f30_5766, - 0x3149_1ded_baaf_880b, - 0x2544_4915_82a9_1b80, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x8134_aa24_1672_ba80, - 0xf39e_54b1_ce60_3d0f, - 0x52a0_0a5c_e729_1a5c, - 0x598e_a1d2_111d_e9b9, - ])), - Fq::new(BigInteger256::new([ - 0xb32f_3aef_037d_58e5, - 0xab4b_4cb9_38ed_769e, - 0xc18f_31a9_956b_d45f, - 0x30d0_1564_a8f6_e2c8, - ])), - Fq::new(BigInteger256::new([ - 0x076c_a06f_98c9_3ef9, - 0xc16d_26ce_4cd2_f348, - 0x4f9c_c5e8_44bb_2af3, - 0x58e0_de1f_fa9f_39d5, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xa488_fe7f_7f05_8bab, - 0x49d8_570c_351d_6cf8, - 0xe264_673e_a5fc_f9ff, - 0x45b8_9204_3e1e_1258, - ])), - Fq::new(BigInteger256::new([ - 0xac90_de86_0b79_4521, - 0x20d2_2d5a_211e_162c, - 0xaff5_d3fe_cc45_1b73, - 0x2b80_d5a4_800e_de3e, - ])), - Fq::new(BigInteger256::new([ - 0x5835_9366_dfb7_da17, - 0x05f3_5e4f_26e9_ef74, - 0x411d_441c_46eb_b464, - 0x419d_0620_2b19_0907, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x3ab5_4a62_d2d8_2d42, - 0x373b_cf0d_9b94_9e16, - 0x24e1_8f11_b727_6d17, - 0x3d07_5534_3ed4_09e2, - ])), - Fq::new(BigInteger256::new([ - 0xd5ce_8fd4_13ed_1b84, - 0xc6bb_7933_ee65_6745, - 0xaac8_dbba_1b9d_9558, - 0x53cb_0d8f_5428_a5dc, - ])), - Fq::new(BigInteger256::new([ - 0xf189_c94a_c782_d122, - 0xb476_17d6_3649_e1b8, - 0xcd2e_3667_78c3_fcda, - 0x0b07_c5e9_35d3_cd60, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x98a8_f239_4624_e738, - 0xf97a_ab56_f5d0_3db8, - 0x0466_97b1_dd6d_31c4, - 0x2e5e_97fa_75da_2aaa, - ])), - Fq::new(BigInteger256::new([ - 0x37f0_8614_0354_cafa, - 0xab07_290e_b1e7_2781, - 0x511c_620e_69dc_f4c1, - 0x0a04_8ff9_4cd9_e028, - ])), - Fq::new(BigInteger256::new([ - 0x556b_3730_6cb7_147c, - 0x8e96_693f_8e35_37fc, - 0x5282_ce32_c734_068b, - 0x1743_4368_32d1_570b, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x295f_6395_1707_cba9, - 0x688b_24f2_9140_490b, - 0x3c04_b8cf_b889_e8bb, - 0x28f3_ea48_6b86_e75b, - ])), - Fq::new(BigInteger256::new([ - 0xb843_1e2a_7d6d_2eac, - 0x91e6_1be6_f4cd_acd7, - 0x1392_8401_b81d_e81c, - 0x150d_bfb6_9d9f_cdf9, - ])), - Fq::new(BigInteger256::new([ - 0x243f_a129_5cea_4402, - 0x2db5_e0ea_bd2b_f735, - 0xa0d5_de42_7b22_1374, - 0x29ca_3439_450d_a375, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x2156_0893_7a66_4dcb, - 0x86b6_cdde_0cb9_50da, - 0xfbc8_c210_d7b2_7bf2, - 0x48a1_b62b_76a6_5fcb, - ])), - Fq::new(BigInteger256::new([ - 0xa562_ce22_3e9f_38ed, - 0x4d0a_e206_ec6a_690a, - 0xd69c_266e_697c_027b, - 0x0218_eb6a_f243_41ec, - ])), - Fq::new(BigInteger256::new([ - 0xe409_1ddb_34f3_d8bc, - 0x5124_a9f8_2bce_00ed, - 0x5078_15d5_5883_ca47, - 0x09a3_b38e_f1e1_3493, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x6d6c_b7f2_0f63_881b, - 0x5dba_d9b3_2a84_8587, - 0x2d65_9c85_dacf_e7f8, - 0x1740_86a2_d189_6a82, - ])), - Fq::new(BigInteger256::new([ - 0x1a35_3ba6_f85f_f3cf, - 0x1d32_f285_241a_7e35, - 0x3e1f_efb8_196e_aa6f, - 0x23fd_11b6_eefb_f765, - ])), - Fq::new(BigInteger256::new([ - 0x4dc9_8314_05a3_333b, - 0x9e5e_1b77_03c1_cc2f, - 0x0043_83cc_d61a_9059, - 0x4928_18ba_0240_1999, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xb2bb_26a8_e035_e725, - 0x68ea_3272_531b_097f, - 0xa318_85b0_1843_abf5, - 0x0173_b890_5492_a145, - ])), - Fq::new(BigInteger256::new([ - 0x40de_b8d0_9888_e12c, - 0xda2f_2947_79df_27e0, - 0xaf5c_9bdb_eef0_a4d4, - 0x43d5_7042_f3bb_c227, - ])), - Fq::new(BigInteger256::new([ - 0xa813_6fdf_837e_d979, - 0x85a8_b3ff_611c_d0d2, - 0xbaba_fac1_66eb_1410, - 0x17ef_e956_b72e_ec83, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x83d8_f04a_a042_cf9a, - 0xf86e_5510_b509_2fd8, - 0x317b_45c2_27c1_554e, - 0x0269_9986_2ad4_01ae, - ])), - Fq::new(BigInteger256::new([ - 0x88e4_8d34_bb69_b85b, - 0x9180_1d1a_c156_55ef, - 0x1e05_dd23_9aaa_e3fb, - 0x0778_1051_8418_0434, - ])), - Fq::new(BigInteger256::new([ - 0x13d1_7ad8_1b96_abc5, - 0x0ecb_ffd7_d2e0_82ee, - 0xfa48_3b5b_f6b0_00e9, - 0x6946_1896_429e_17f3, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4fec_48b8_8341_dd4a, - 0x197d_8928_0f16_bd6d, - 0xb0f1_68ee_033b_365a, - 0x0318_eb69_0fba_a314, - ])), - Fq::new(BigInteger256::new([ - 0x397a_f4b7_0433_d509, - 0x0ac0_14d1_78f2_d32c, - 0xd680_77fa_25b7_6d56, - 0x23ee_6efb_f70b_755e, - ])), - Fq::new(BigInteger256::new([ - 0x39d1_b1f5_091e_b0f4, - 0x8442_455a_6605_e054, - 0xe775_9558_5d4a_2b2e, - 0x6029_a2c1_fc7a_f40d, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xb5a5_f74e_c6ba_b5ed, - 0x4e20_9344_021c_d7e0, - 0xe794_73af_ca0a_254d, - 0x6585_fcc2_a5d8_911d, - ])), - Fq::new(BigInteger256::new([ - 0xb168_1f7a_565c_241a, - 0x06db_76c7_2111_9e4a, - 0x8ee9_76c1_f8b7_2dc7, - 0x6ec3_a9ed_afd9_8f35, - ])), - Fq::new(BigInteger256::new([ - 0xa8cb_7d6f_3a4b_6fbd, - 0x7c74_fc83_01b0_13ac, - 0x6dca_a9c5_0bdb_bc3d, - 0x2c9c_9202_2887_a2eb, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xe4b7_86bf_d6db_1b7e, - 0x8d47_9077_5a12_ce8b, - 0x8e5e_0029_a10e_5f83, - 0x087f_dbf0_7402_d34f, - ])), - Fq::new(BigInteger256::new([ - 0x3a8d_88e0_1b9e_7400, - 0x6152_ac3a_c547_d85e, - 0x5baf_0e07_b102_b45e, - 0x05a8_33fd_dca8_7817, - ])), - Fq::new(BigInteger256::new([ - 0x52dc_6334_f7ac_d315, - 0x9ff5_fcba_8203_2eef, - 0x2d02_3f3b_9fc0_ffc6, - 0x6de1_5cd7_bd3e_51f5, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xd389_dbd1_66ad_ee91, - 0x6c12_b3b1_2b70_f319, - 0x0360_bea6_b324_b189, - 0x2e4e_3978_e7aa_100b, - ])), - Fq::new(BigInteger256::new([ - 0x601f_620e_ecdd_6ea5, - 0x4335_b585_27d8_ff6a, - 0xf202_f74b_70d0_1725, - 0x59d4_6aa1_6cc7_b82b, - ])), - Fq::new(BigInteger256::new([ - 0xe90c_3ff5_8f2e_3186, - 0x352b_0b95_52d7_cc42, - 0x5dd5_ae14_87fe_b5dc, - 0x47b0_4fb8_3795_a3ad, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x51b0_f50e_a729_062e, - 0xe685_74d9_806e_339e, - 0xa89f_435a_f48b_ab23, - 0x72eb_9aab_40a2_d32f, - ])), - Fq::new(BigInteger256::new([ - 0xbe97_290f_563f_c237, - 0x12f2_66a8_a759_4ace, - 0xa6f0_1a12_16b4_4d46, - 0x52b5_ba58_1b50_4f06, - ])), - Fq::new(BigInteger256::new([ - 0x0c87_0a17_e0bc_0960, - 0x6ec2_ae83_2c85_13de, - 0x06f0_38ac_0bf6_a36e, - 0x2092_ffa4_f790_8df3, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4244_f2b4_4cde_4d4d, - 0xeb6b_d985_d874_07ab, - 0x515a_cac5_052d_3e1d, - 0x29fe_3fb0_741e_8e21, - ])), - Fq::new(BigInteger256::new([ - 0x3645_ed78_7d1a_d236, - 0x5fd6_7b54_fdb5_c38f, - 0x7890_654d_3115_ccac, - 0x47d8_89a4_289e_f4a6, - ])), - Fq::new(BigInteger256::new([ - 0xeb39_d01c_eb65_595c, - 0x004b_84db_2f2d_f5ed, - 0xa0fe_ce14_50b0_a5b6, - 0x40e5_e494_2ceb_c127, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x7c3f_cf3a_f6f4_b389, - 0x2309_d0c4_c1fb_80d8, - 0x8671_2c50_b1ea_963e, - 0x5603_5841_aac5_c659, - ])), - Fq::new(BigInteger256::new([ - 0x4424_5189_7806_d131, - 0x921f_4f6d_3b1c_0e0b, - 0x07f6_02b3_24f9_2b3e, - 0x261e_6f49_75a7_12e9, - ])), - Fq::new(BigInteger256::new([ - 0xe46f_6eda_2eda_4a56, - 0xb717_7d48_8031_ac1e, - 0xa49c_63f1_dff1_49da, - 0x18bd_7110_cfeb_bef4, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x48f6_8eed_1d60_4a85, - 0xe0e4_81d3_24d2_056b, - 0xe651_1c03_bba0_20a2, - 0x6c06_ac40_7bee_2048, - ])), - Fq::new(BigInteger256::new([ - 0xc920_3b16_fd56_092f, - 0xcee4_012a_dc69_abaf, - 0x6b39_fc3b_05b0_cfb5, - 0x4eec_84a8_6e66_bc09, - ])), - Fq::new(BigInteger256::new([ - 0xaee9_3d10_f362_a1e7, - 0x8682_5e2b_c42e_c161, - 0xa65b_8082_c738_2d73, - 0x70e6_9933_021a_ed26, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x087e_6fcb_6513_50d4, - 0xcb03_5273_58f6_b730, - 0xc58f_a9e2_711b_ea36, - 0x6663_6fdf_9c44_45ea, - ])), - Fq::new(BigInteger256::new([ - 0x5dba_9774_ab09_bc2c, - 0x3e3c_dbb7_6d72_3e53, - 0x1455_7ca1_29ce_ae00, - 0x4585_347a_49f6_d01d, - ])), - Fq::new(BigInteger256::new([ - 0x25d1_b3d7_0abc_b9fd, - 0xddae_df7a_e41b_7e26, - 0x0e58_a693_5932_4501, - 0x1858_cf26_643e_a1b6, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xadcc_9911_36bd_8afc, - 0x47ea_c18f_2268_69a4, - 0xcd81_08ae_dcfb_530e, - 0x678f_451d_c983_1f6d, - ])), - Fq::new(BigInteger256::new([ - 0xacce_bf1a_6089_d552, - 0x85a8_0566_dc3f_6f97, - 0x6c67_646e_c528_5891, - 0x0e77_c6cd_c6c0_6d5d, - ])), - Fq::new(BigInteger256::new([ - 0xb373_84a8_80fb_6cb1, - 0xacef_8af8_ac7d_accc, - 0xa2d3_2916_fc45_227a, - 0x136f_33c7_2bbc_c8b0, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x7845_3c72_2025_930c, - 0xa178_6f0f_fd7d_09ac, - 0x503d_9a55_0e3a_9e63, - 0x02ca_fabf_1acc_2e27, - ])), - Fq::new(BigInteger256::new([ - 0xf28d_d694_19cc_0258, - 0x709b_c667_1ac0_e3c5, - 0x1c48_1caa_15d9_0621, - 0x13c5_05ee_9b01_a5de, - ])), - Fq::new(BigInteger256::new([ - 0x051d_cc91_6c64_0c54, - 0x7d15_2983_4dc9_baa4, - 0xd9f9_633c_9f82_8b20, - 0x633b_e5c8_77b5_df79, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x607f_932b_132c_86c3, - 0x280e_97eb_2cf2_a32d, - 0x8789_3b68_4732_b3f7, - 0x2910_a536_8e54_f10a, - ])), - Fq::new(BigInteger256::new([ - 0x7f4b_c322_a0e9_6559, - 0x4cdd_8ded_9d4e_9740, - 0xe4b3_dd28_16b3_d02b, - 0x5cb6_ad2f_1e64_242e, - ])), - Fq::new(BigInteger256::new([ - 0xbbbb_2a0f_0803_0b0a, - 0xebd9_0859_46d6_4024, - 0xdd59_95ef_99ed_e54f, - 0x3ef0_3ac7_0868_7736, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x0ed9_b34b_932c_9110, - 0xa175_c7c8_e757_6f66, - 0x7ce7_7378_89e4_2cdc, - 0x32c2_f6f2_8415_ba95, - ])), - Fq::new(BigInteger256::new([ - 0x0817_973b_2d1b_fc54, - 0x7116_64a9_dcff_920f, - 0x1a8d_adda_feb8_e875, - 0x2c18_9965_a7cf_df22, - ])), - Fq::new(BigInteger256::new([ - 0xcb3e_5d9f_7f5c_8cbb, - 0x18ee_100a_9d5c_3a7c, - 0x27c1_bc73_5ae7_88a3, - 0x6154_9e70_76bc_0ec8, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x8c8d_2871_12de_d73c, - 0x0a43_db78_9407_19a9, - 0x9f81_d2f3_ec2c_75c3, - 0x25d4_de96_dc1f_b748, - ])), - Fq::new(BigInteger256::new([ - 0x0823_1132_de50_3a87, - 0x6457_5b51_4200_b701, - 0x2d22_bf5f_ca5a_898d, - 0x660b_1914_98f9_8f6d, - ])), - Fq::new(BigInteger256::new([ - 0x9025_65cf_298c_bdee, - 0x45e8_d1ce_6a67_b6b2, - 0x1dc3_c4c5_68a8_57e3, - 0x1cc5_27b5_ad13_ce38, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x8df3_d7f7_7ada_1c1b, - 0x04a3_4ad3_f42a_6c12, - 0x1e1c_2b9e_79d6_91d6, - 0x321f_f3c8_d2e9_2d6b, - ])), - Fq::new(BigInteger256::new([ - 0xd91d_f895_d330_781f, - 0x313e_5c31_aa32_d76f, - 0xe357_ac34_363c_594e, - 0x1d8f_0042_34f9_f2c1, - ])), - Fq::new(BigInteger256::new([ - 0x3585_becf_c3dc_fcb7, - 0xcfc0_0a28_96c9_67ee, - 0x0446_287d_24d2_38ff, - 0x4544_d6c8_fd4c_7876, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x5720_4bc1_fdbe_e339, - 0xe46d_8b80_2537_90e9, - 0xbcb0_0e5f_af8f_4b4f, - 0x20a0_8d0a_5324_8fb2, - ])), - Fq::new(BigInteger256::new([ - 0xe3e3_05cd_94d7_6d8f, - 0x666c_4722_ed13_bdc1, - 0x5e04_5363_9ad0_b521, - 0x36b5_c215_7325_963c, - ])), - Fq::new(BigInteger256::new([ - 0xbb6d_545b_4937_6a47, - 0x4ff3_b60f_8528_fbd1, - 0x72a7_fde9_0260_833a, - 0x43b1_2f2b_4650_dcf1, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x320c_3448_eb45_ed06, - 0x2642_839d_25d3_847a, - 0x3f3c_d7f8_8337_202b, - 0x0195_8c4c_97a4_591e, - ])), - Fq::new(BigInteger256::new([ - 0x6eda_b928_444b_3e7e, - 0x3296_3af1_0441_62db, - 0xcbd3_257a_1777_5b5c, - 0x53c4_6439_3bb5_0b0b, - ])), - Fq::new(BigInteger256::new([ - 0x1738_552f_f738_4841, - 0x6b65_ec6a_a08b_e908, - 0x521d_2b97_39df_85d8, - 0x483f_8c11_8f74_a356, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x40f1_35eb_397b_7ec6, - 0xfe74_399d_501e_034a, - 0xa99e_39bd_a430_5282, - 0x3663_c6a8_1bd8_8aff, - ])), - Fq::new(BigInteger256::new([ - 0x66f7_1916_c8d3_5cab, - 0x5e1e_184b_3cc2_6a94, - 0x9abb_42a1_414e_53c9, - 0x1b9f_ba69_5a3d_96ba, - ])), - Fq::new(BigInteger256::new([ - 0xd905_b9d0_2e65_88fb, - 0x50e5_0ce5_3ed8_c5ef, - 0x24a3_2f4f_86c6_92b9, - 0x6bb3_e27e_0010_b3fa, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x313a_0c5b_67b5_8178, - 0x00a2_35d0_0fbf_4aa0, - 0x0ce2_46da_6fbd_3615, - 0x5381_1e5c_7199_4932, - ])), - Fq::new(BigInteger256::new([ - 0x4dab_78e7_5496_8366, - 0x16d2_513e_975e_e91a, - 0x8041_d085_5320_d5c4, - 0x5933_55b8_0017_775f, - ])), - Fq::new(BigInteger256::new([ - 0xfa6e_496c_38df_5908, - 0x5286_193b_33a6_4fa4, - 0x33f2_c514_891a_6b80, - 0x0b21_0ab6_3ae1_ef17, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4188_a810_d03e_27a1, - 0x07f1_1774_9030_02a4, - 0x03f8_5e7b_8274_358b, - 0x26f1_380e_7749_5976, - ])), - Fq::new(BigInteger256::new([ - 0xf4ca_a6b4_4957_75ac, - 0xc70f_b3bd_b2a8_a94d, - 0x77ed_c64f_72fa_fc3b, - 0x0351_d89c_1323_6332, - ])), - Fq::new(BigInteger256::new([ - 0xaf04_eaa9_71b3_5cef, - 0x9d37_d706_23ab_6c5c, - 0xb802_9606_6480_671e, - 0x39a7_7941_4a82_3f70, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xbab9_8527_f60e_1dd5, - 0x3578_5179_0c21_f2e4, - 0x7d3f_c14a_0952_e330, - 0x33f8_e694_1a0b_05b7, - ])), - Fq::new(BigInteger256::new([ - 0x3f97_eddc_2d38_f4dc, - 0x955e_3cb2_8fe4_4d5f, - 0xf2a5_70f8_7857_377a, - 0x3936_d272_db72_a892, - ])), - Fq::new(BigInteger256::new([ - 0x8c33_154f_3259_e6c9, - 0x23bc_6365_cbab_5050, - 0xc428_242a_7866_3859, - 0x2584_83d9_d19d_0c37, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x9547_9a05_9076_fcee, - 0x8c07_4903_8bfa_99de, - 0x45e1_3680_8fee_e64d, - 0x7306_e10d_bdde_8985, - ])), - Fq::new(BigInteger256::new([ - 0x8406_39e7_4ed0_7fb1, - 0x7c4b_5119_d9ef_c7d1, - 0xd48b_8b39_2fea_fbc5, - 0x3a0a_3284_577a_03ce, - ])), - Fq::new(BigInteger256::new([ - 0x2b16_b05a_cd01_f76a, - 0x9298_076d_925d_b5ed, - 0xdd79_6b7d_976b_e2eb, - 0x4d88_3dca_9111_02d3, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x11d1_c754_7016_db87, - 0x2c70_71a7_e4a7_1ded, - 0x916e_3b79_474c_f2f5, - 0x27fb_982b_0401_726a, - ])), - Fq::new(BigInteger256::new([ - 0x24ea_a276_c65e_c2e6, - 0xfa8a_e838_5e37_fbba, - 0x89ed_68ed_a04d_6b90, - 0x72bb_4b20_ab85_f6fd, - ])), - Fq::new(BigInteger256::new([ - 0x4d05_97fb_5667_90f2, - 0xc81a_18ea_b76c_eebc, - 0x23dd_f59d_a272_d1c3, - 0x2376_bf81_cbff_ac7a, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x4ecf_ab38_67ef_bcd5, - 0x1f3c_8e92_e863_5f7b, - 0x9614_b4df_fab8_57fc, - 0x09fb_7dca_a11f_7198, - ])), - Fq::new(BigInteger256::new([ - 0x3dd3_09af_c72d_d3f4, - 0xe410_bff7_3f01_7e5b, - 0x13ba_ef99_9cf1_e919, - 0x37d7_a768_4484_8c05, - ])), - Fq::new(BigInteger256::new([ - 0xa843_26df_8777_ea61, - 0xcf0f_921f_7ac1_0ca0, - 0xb08a_aa90_0cc8_63b1, - 0x6c28_ac72_a608_db7c, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x464d_14ec_76b5_9fbf, - 0x0d40_fb8a_8512_d534, - 0x013e_ac3b_ab7a_9307, - 0x6ac3_0872_fb7a_aee2, - ])), - Fq::new(BigInteger256::new([ - 0x202d_5203_5979_6171, - 0xa7fa_51e7_cbaf_b0d4, - 0xa97f_6f3c_3ba9_66c2, - 0x1588_e343_d1f2_7071, - ])), - Fq::new(BigInteger256::new([ - 0x553a_f379_cd3c_ab09, - 0x74e8_ceb0_3175_5422, - 0x2f25_2972_bbd5_7761, - 0x11dc_280a_b49a_8737, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xdcb4_8f05_38b3_47ba, - 0xde83_000e_588a_7845, - 0x9b4b_3ce5_8861_c713, - 0x41fa_c88d_9768_38fd, - ])), - Fq::new(BigInteger256::new([ - 0x8b55_784d_ba75_b3a1, - 0x44fb_a761_9d24_75e7, - 0xaf0e_3620_06f1_deda, - 0x10b2_70ab_826c_c8a6, - ])), - Fq::new(BigInteger256::new([ - 0xfa6a_928e_390e_e657, - 0x4014_f66c_4f7d_e094, - 0xd9b5_04d0_41a0_4933, - 0x357d_03d4_99c5_b0bc, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xd4d1_bcad_440f_a453, - 0xc4fc_22f8_ff0f_5868, - 0xd8e5_b912_fdba_2ab4, - 0x2b56_bb5f_cde0_25a8, - ])), - Fq::new(BigInteger256::new([ - 0x9b4b_3212_efbf_d684, - 0x08e5_c84a_24c4_8f36, - 0x55d3_75f0_bb19_efda, - 0x37b4_060a_506b_89de, - ])), - Fq::new(BigInteger256::new([ - 0xf302_9bbd_4aa3_e834, - 0x4392_5004_d2e5_ccff, - 0xf634_8a0f_efc4_8ac0, - 0x6b16_708a_c85a_d545, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x1ee7_05df_4d63_dd2e, - 0x2016_3ef6_981c_e0a6, - 0x498b_2265_8e8a_b19c, - 0x040e_0736_3e32_d188, - ])), - Fq::new(BigInteger256::new([ - 0x09dc_c60d_6057_12ca, - 0x6d6d_4d9f_b29b_3b42, - 0xa753_e090_bd99_46d3, - 0x01f7_0819_c567_2b60, - ])), - Fq::new(BigInteger256::new([ - 0xda93_2c87_ac1a_fa27, - 0xd47e_c241_2eb1_a648, - 0x8c27_c96c_f1d4_edc7, - 0x49f4_01e0_19b5_dfae, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x6805_55a6_6575_68c8, - 0x0eff_83e4_d07b_5daa, - 0xec1c_b87f_fe25_a5ca, - 0x6cda_350d_bb4c_836a, - ])), - Fq::new(BigInteger256::new([ - 0x0e50_9f26_a38b_2eb1, - 0xe94c_34fc_7cc8_546e, - 0x81eb_a9c1_2cb1_8ce1, - 0x5e9b_6c88_8742_7743, - ])), - Fq::new(BigInteger256::new([ - 0xf675_7e2c_0db9_86c2, - 0xc958_b01a_974c_fc81, - 0x1974_b72f_8e07_0b9c, - 0x64e4_b6b6_c69c_55d7, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x3084_add5_4402_7211, - 0x2598_3357_d70c_e29b, - 0x5bc4_cad7_c234_fb3c, - 0x5e70_bb0b_9149_8488, - ])), - Fq::new(BigInteger256::new([ - 0x67e7_49a8_12a5_0492, - 0x0fda_6002_abba_22f7, - 0xe2c1_b370_7b47_1754, - 0x04d5_a142_a22a_8104, - ])), - Fq::new(BigInteger256::new([ - 0x1350_b3c4_d134_9d0b, - 0xecbb_a1bc_2d0d_6c4e, - 0x90af_53ad_9780_8dce, - 0x432d_2c0a_5d1a_ca34, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x42b5_2b6b_85a9_5adb, - 0xe65a_376f_204e_f211, - 0x0dc1_5d10_3038_792b, - 0x47d4_be89_1ce2_eac0, - ])), - Fq::new(BigInteger256::new([ - 0xafe4_9f2b_748b_15df, - 0xa087_25bd_fdf9_77ad, - 0xd7b1_ff1c_33df_ae8d, - 0x6a58_dff9_65c9_36f7, - ])), - Fq::new(BigInteger256::new([ - 0xcda2_906b_9bde_9033, - 0xea16_016a_a11e_04a8, - 0x9295_6418_c5db_8fd0, - 0x0ca6_3d92_e3a6_ab11, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x82b9_848f_dfda_72d2, - 0xf629_7809_ede7_8709, - 0xd8d6_b235_0a2b_957d, - 0x3860_7712_05e0_b4da, - ])), - Fq::new(BigInteger256::new([ - 0xc443_7b4d_8646_9281, - 0x12f9_997b_38f9_7dd8, - 0xc2b4_cebf_388e_e564, - 0x3b1d_dca5_7831_b77f, - ])), - Fq::new(BigInteger256::new([ - 0xf601_a059_1f25_26a6, - 0xb120_292b_f198_fc89, - 0x1498_2c23_568b_1a2c, - 0x2893_0fbc_794c_cfa4, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x2aab_ec12_2b3b_fbc1, - 0x1d70_7b8a_d740_7ada, - 0x5d35_c74b_aebc_1cc8, - 0x0525_502d_91ad_c731, - ])), - Fq::new(BigInteger256::new([ - 0x2802_09e6_3f70_0a87, - 0xc9c6_f9ec_10a3_52e0, - 0x04bb_fb3d_55e8_cfe5, - 0x38d5_f073_61b5_1536, - ])), - Fq::new(BigInteger256::new([ - 0x5a1d_c88c_b052_7837, - 0x42b5_e2d7_8287_19c1, - 0x5a26_aff1_bab0_7f50, - 0x2909_6840_d2d9_661a, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0x6ff9_f888_5e43_99e2, - 0x32ed_663e_eca4_cd34, - 0xf55e_9cf6_80b3_6871, - 0x5288_306a_eaf6_3127, - ])), - Fq::new(BigInteger256::new([ - 0x84bd_2ac8_620b_1590, - 0x7063_8c1a_79b9_2d05, - 0xa166_64c2_f7aa_ec2e, - 0x5b76_b9de_abc3_55b3, - ])), - Fq::new(BigInteger256::new([ - 0x576d_e696_122a_21d0, - 0x4e4b_1643_7d98_67e4, - 0xd592_1194_bd47_72e4, - 0x5765_c36e_c081_5219, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xceab_1a0f_2ed2_2c92, - 0x8e54_aee2_cb9a_eb3d, - 0x6fee_7c5e_ab52_bbe2, - 0x63bd_27f4_1673_61b7, - ])), - Fq::new(BigInteger256::new([ - 0x3c11_3f68_1e5c_c463, - 0x6c78_c753_af39_cbe9, - 0x6c9f_cb5c_8ddc_8a5c, - 0x025e_8ea5_0072_3857, - ])), - Fq::new(BigInteger256::new([ - 0xb5ef_ab3c_32c8_b4a0, - 0xc1ff_831f_5fff_2c1c, - 0x3444_e04b_9310_3593, - 0x276a_4461_2816_867d, - ])), - ], - ]; + // Number of round constants: 204 = (8 + 60) * 3 + // Round constants for GF(p): + const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS] = [ + [ + Fq::new(BigInteger256::new([ + 0x118a_2e2f_6554_8257, + 0x429e_b149_5835_f5d0, + 0xe678_9030_868b_74da, + 0x0a59_176c_702e_80bd, + ])), + Fq::new(BigInteger256::new([ + 0x933a_2a02_fe51_cfbd, + 0xd304_dbbf_2412_7d23, + 0xcd8e_8a5a_5bab_4bf2, + 0x1f04_ee09_b99d_7d10, + ])), + Fq::new(BigInteger256::new([ + 0xaf52_80f5_0adc_5473, + 0x9f1a_2e78_0aa1_0c20, + 0x2918_8d63_9e30_1a4c, + 0x053b_0aee_6a9e_41f5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xaef7_d488_79bf_3f9c, + 0x67ea_ba96_e239_1951, + 0xe456_a0c7_f190_fb81, + 0x607f_c613_870d_7f56, + ])), + Fq::new(BigInteger256::new([ + 0xb5a4_cb05_daa7_f2fb, + 0xa697_ec84_b5de_486e, + 0x13f9_9939_a0e3_4559, + 0x6593_4d47_f091_e181, + ])), + Fq::new(BigInteger256::new([ + 0xa853_bcd1_196b_63f9, + 0x4fec_1372_8d5a_cad5, + 0x8efa_f9a4_eed1_4789, + 0x18e8_96fa_20c6_21a9, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe336_be30_a84f_d950, + 0xe47a_7c26_8147_96d2, + 0x17c4_ed67_2631_48c9, + 0x69fa_9afc_f3c3_ad00, + ])), + Fq::new(BigInteger256::new([ + 0x8e58_cfb6_41a9_262d, + 0x1247_d3bc_f972_cbd7, + 0x5c97_6e45_6bfb_407b, + 0x7176_d3b8_2879_39b9, + ])), + Fq::new(BigInteger256::new([ + 0x63e6_6973_ddc3_9a01, + 0x41f2_02d7_ef0b_284a, + 0xffc0_5e3b_37ba_7f8b, + 0x036d_041c_5ebe_fe99, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x732d_042e_df0a_816f, + 0x5057_1632_9ffb_e5a2, + 0x013b_15ae_b4c2_0921, + 0x5d05_42cc_31de_7433, + ])), + Fq::new(BigInteger256::new([ + 0x42f9_09f2_538a_8c12, + 0xf2fa_23b3_7fde_b25f, + 0xb804_665d_8913_be00, + 0x2665_fb26_ccc6_8131, + ])), + Fq::new(BigInteger256::new([ + 0x9d08_3d3c_6f9a_8ba7, + 0x6977_3c31_bb4d_95af, + 0xe7bb_046e_5c80_0ecb, + 0x3ce3_705a_685c_5889, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xaf1e_7963_d544_963d, + 0xd4fd_b7fd_68c0_2865, + 0xfa91_25e2_d774_16e3, + 0x4ec6_ec86_094a_a88e, + ])), + Fq::new(BigInteger256::new([ + 0xc2fd_db51_c3d7_fb35, + 0xa2ab_da9e_8406_0420, + 0xdcce_adee_1deb_edf9, + 0x04c0_b32a_aec6_f011, + ])), + Fq::new(BigInteger256::new([ + 0x4f78_b499_7d6a_fe55, + 0x024d_20b0_43ff_21f8, + 0x6a22_0541_769c_55e1, + 0x1627_5c92_29fa_151e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc103_27cc_a38b_8745, + 0xb4f7_a931_40b4_37b8, + 0xaf94_baf5_7d0f_8b00, + 0x1508_13e5_512f_10ef, + ])), + Fq::new(BigInteger256::new([ + 0xfefd_9fdb_ef63_43c2, + 0x3692_3304_dd5d_f570, + 0x4363_df56_9ee3_60ec, + 0x5f06_6147_b29d_b1e2, + ])), + Fq::new(BigInteger256::new([ + 0x8f7a_2080_7166_60d5, + 0xc4fb_015d_e0ef_9f5d, + 0x3fcf_9218_725a_5b20, + 0x115a_e3a3_1ce2_45ba, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe5e1_4b22_a414_394e, + 0x937b_b2db_f2f9_3d69, + 0x0389_50c0_fd5d_79e3, + 0x3276_de65_c29a_45f3, + ])), + Fq::new(BigInteger256::new([ + 0x92f8_ad5a_d2b5_48bf, + 0x133e_e041_cc42_b62d, + 0x35f4_77af_6855_cca6, + 0x4c50_4980_0ceb_eb0b, + ])), + Fq::new(BigInteger256::new([ + 0xb21c_db49_1fae_2b78, + 0x2d0f_8b3d_41c9_3057, + 0x4196_c8ae_c67a_4bba, + 0x252e_1b54_9c72_eaf3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xedad_c783_79d2_2a7c, + 0xbe3f_87e7_4ae1_c0a0, + 0x3469_5560_858c_35d6, + 0x5a0a_0f27_cfbc_fe7f, + ])), + Fq::new(BigInteger256::new([ + 0xb551_ed86_d4e0_1199, + 0x0ac1_98dc_b303_64d8, + 0xfd33_4689_e12a_ebf2, + 0x5aef_41fe_39ff_bd0b, + ])), + Fq::new(BigInteger256::new([ + 0x538a_eb06_16da_4db9, + 0xbdc6_6933_87a4_566a, + 0xd4cd_5d83_9e7f_ce4f, + 0x2ff7_ee57_4d7a_9680, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4252_d5a5_60fb_7c44, + 0x05ba_fbb6_1e57_b5fe, + 0x3fde_df2e_4269_82ce, + 0x5995_30bb_bca9_c791, + ])), + Fq::new(BigInteger256::new([ + 0x0436_dd18_bc6b_3086, + 0xa88d_f20c_ee45_6886, + 0x0bb9_a8bc_21a2_56d4, + 0x594a_fd99_c63e_0741, + ])), + Fq::new(BigInteger256::new([ + 0x8cbc_be42_1122_bf2c, + 0xc7c9_b266_eeb9_1eb4, + 0xab6a_cf32_7ffc_b56a, + 0x561b_c2bc_056a_1ddb, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x1850_53e3_9b03_e4c0, + 0x95f8_9028_8588_a97b, + 0x6973_71a1_5b9f_3110, + 0x44b0_f629_fee3_0f4a, + ])), + Fq::new(BigInteger256::new([ + 0x9b13_ecce_3f00_a744, + 0xe908_13d9_42f6_e482, + 0x1b78_e5d5_9762_4815, + 0x6666_bc36_2a76_00c8, + ])), + Fq::new(BigInteger256::new([ + 0x2020_eb73_65b7_7289, + 0xd3fa_35f5_bfe2_8c4a, + 0x2deb_b002_12d2_1c6a, + 0x3949_1594_d7ad_8049, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5638_3a59_fba6_582c, + 0x38ab_7313_3269_c2a8, + 0xabeb_c0ea_d026_3afa, + 0x687a_baf4_8490_7604, + ])), + Fq::new(BigInteger256::new([ + 0x6a4e_6b1e_7b15_16ce, + 0x3773_b560_616a_25cc, + 0x7a29_4f24_d0ff_b886, + 0x31a9_20a0_d66d_0d37, + ])), + Fq::new(BigInteger256::new([ + 0x3103_a411_a588_4a28, + 0xf844_de5b_3ced_fedf, + 0xc628_f5fc_5c7b_67b4, + 0x43d0_f81a_73aa_dd11, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x289d_d944_0136_b819, + 0x5c45_7a53_f502_e257, + 0x1871_a5a4_ed87_4d58, + 0x3eb3_c82b_aba6_cffa, + ])), + Fq::new(BigInteger256::new([ + 0x797c_6d0b_5057_7e09, + 0xd75e_5a25_7ba1_53ae, + 0x9bed_66b6_b26f_69c8, + 0x3319_6ede_d0ba_d874, + ])), + Fq::new(BigInteger256::new([ + 0xcad2_9b7a_3a54_9811, + 0x7a18_3c0a_e3c6_c806, + 0x7bc0_731a_b785_e50e, + 0x43d2_6aaf_7d30_8dd3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc2f6_f153_37ed_a387, + 0x25e5_4c55_c39f_4333, + 0x053d_44d3_4d5f_0a8c, + 0x53ca_d412_4a93_4629, + ])), + Fq::new(BigInteger256::new([ + 0x793e_1f4c_d575_f356, + 0xcc88_5e01_e325_f8c5, + 0xf707_e4f2_6f51_2bb4, + 0x3eaf_d6b7_77c1_020a, + ])), + Fq::new(BigInteger256::new([ + 0xb7be_9040_ab9f_0930, + 0x6693_89e8_ec35_3453, + 0x195b_afc2_e7b8_e3b0, + 0x5320_202e_c430_6a0e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x0888_ad8e_0d0b_26b0, + 0xa984_e319_26da_934d, + 0xb03d_4e4a_a99d_28d6, + 0x587b_91df_800f_3b96, + ])), + Fq::new(BigInteger256::new([ + 0x1bdb_88d1_f3f9_8f82, + 0x2553_aa69_e165_0b00, + 0x0367_bba6_16b6_f15e, + 0x2bfc_cc7e_b787_5847, + ])), + Fq::new(BigInteger256::new([ + 0xe12d_bb3f_4381_9d4a, + 0xdb3c_e9b7_d78e_7f5e, + 0x6d17_b675_d5ab_9c20, + 0x1422_f2e0_c548_74cf, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xf715_2a0e_b0b4_9c4c, + 0x7183_fc00_c7e6_03cb, + 0x063d_9fcf_2540_42dd, + 0x28fd_84a2_ea3a_1a2f, + ])), + Fq::new(BigInteger256::new([ + 0x2381_25d5_4411_4b57, + 0x391a_cf13_f9d2_133c, + 0x13da_f41f_ff09_5dfe, + 0x28bf_cd29_b81c_11eb, + ])), + Fq::new(BigInteger256::new([ + 0xcc54_df70_f7ab_ff3f, + 0xc988_26b5_0905_03fd, + 0x3503_8bab_8fa6_7760, + 0x5586_c4c0_ed8e_b5ea, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xfa49_8415_a68b_ab26, + 0x8742_5d23_bf73_e9ed, + 0x7315_5b2c_65e8_f343, + 0x1209_367f_03ec_6216, + ])), + Fq::new(BigInteger256::new([ + 0xdf79_0964_b607_b733, + 0x7b3e_8a41_7376_bef1, + 0x7dee_00fd_7eb2_3b5e, + 0x2235_6b2d_3215_f6d3, + ])), + Fq::new(BigInteger256::new([ + 0x3bef_b040_fd22_6672, + 0x09c8_c0c1_f268_4a7f, + 0xc480_8135_d3da_4a6a, + 0x6c16_3cb4_eb4d_8c5f, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6759_a09c_9e48_c33a, + 0x6a6c_81f2_9516_4f5d, + 0xbd3e_5e4c_78b4_95a4, + 0x4dc3_c04e_25fd_48f7, + ])), + Fq::new(BigInteger256::new([ + 0xada0_faf9_dd9a_e7fb, + 0x3665_1145_e9bc_baf2, + 0xa719_6e06_f669_ba88, + 0x590d_9df4_29eb_3511, + ])), + Fq::new(BigInteger256::new([ + 0xb8ed_94c2_dbca_098a, + 0x13d1_ff2a_c6c2_4257, + 0x7b47_0554_86d6_811d, + 0x2ff2_9368_10a3_df28, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd178_be88_6991_fa0c, + 0x40b5_2f60_797e_3e32, + 0xc4bc_95b4_e2ad_56e7, + 0x5f52_49a7_71d9_e4b1, + ])), + Fq::new(BigInteger256::new([ + 0xe1ba_7cc3_4e02_fb27, + 0x2d98_8d1b_18e9_bb54, + 0x0ec4_e316_7db3_da0e, + 0x67f7_8e07_cf6e_bbee, + ])), + Fq::new(BigInteger256::new([ + 0xa0b4_e9fb_1bb7_a762, + 0x61f9_be1c_5583_d9fe, + 0x63a1_6b72_d95e_2b00, + 0x2b9e_a3bd_9788_c6aa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4a43_73eb_f0ee_59d2, + 0xbd8f_0407_342a_67fe, + 0xf041_5f5e_01d4_33bb, + 0x0a1b_af17_cbed_21cc, + ])), + Fq::new(BigInteger256::new([ + 0x7849_62ef_b0de_7977, + 0xf856_d3c9_0b04_ee14, + 0xe620_a26b_7a5e_3074, + 0x1cbf_cea2_eb30_561d, + ])), + Fq::new(BigInteger256::new([ + 0xc86f_d84b_8a51_045f, + 0xe7fc_90a2_25c1_ce9f, + 0x4afe_f268_48cd_ce06, + 0x39c9_cb51_d258_0680, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xc0bf_cb72_88a4_d9e9, + 0x2165_dadc_a284_ac55, + 0x899a_7c2c_2e7e_f043, + 0x424d_5e34_e4c1_77e2, + ])), + Fq::new(BigInteger256::new([ + 0xd792_3e77_a03c_082c, + 0x3dd9_6b9f_afd3_50ba, + 0xd2ba_7618_e011_4429, + 0x3387_e8c6_5f28_3718, + ])), + Fq::new(BigInteger256::new([ + 0x27e1_fd2a_26c6_e775, + 0x50bf_20b7_a3bf_d8e6, + 0x03b2_121d_350d_d4c4, + 0x6526_f124_7e74_5f80, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5f21_9a42_81d6_9dd3, + 0x18d1_60d0_faf5_cbbc, + 0x4b7b_fbef_c8e9_9ebb, + 0x22c7_394d_df71_26e5, + ])), + Fq::new(BigInteger256::new([ + 0x4cfd_81fe_2ae7_54a1, + 0x1403_b733_6638_1dcb, + 0x69b7_8b0a_ccae_1092, + 0x2ef6_ac9b_e994_b37b, + ])), + Fq::new(BigInteger256::new([ + 0x0269_3c4c_3175_d977, + 0x7fd8_222c_3e3b_ed25, + 0x8424_7e7f_b84e_1154, + 0x4be6_a5c7_d2f3_dd44, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2918_5e69_2885_09d2, + 0xe7e3_e070_e6bb_88fa, + 0x4b5b_c325_e153_609c, + 0x273a_ca31_807e_d5dc, + ])), + Fq::new(BigInteger256::new([ + 0xad22_4692_567a_0137, + 0xf0ed_cc30_ab79_e42e, + 0x23b6_f505_7c3a_1bf9, + 0x2db3_21ca_e3a1_aeb3, + ])), + Fq::new(BigInteger256::new([ + 0x7099_1fb1_a95a_88cf, + 0x3036_3687_0911_84b9, + 0x3533_01a4_48e0_30ab, + 0x4597_4424_f4c1_2e52, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x64f1_399d_2ebe_30c8, + 0x28d7_5a68_3adc_61b3, + 0xbfe5_8c8e_4eb3_9739, + 0x4dbc_8f30_94c0_b370, + ])), + Fq::new(BigInteger256::new([ + 0xc4ba_12cc_2eb5_c170, + 0x905d_a077_fb2b_f95d, + 0x91a7_410e_1926_b577, + 0x1b1c_10f0_e13f_3c0f, + ])), + Fq::new(BigInteger256::new([ + 0x160c_ab9b_f172_c001, + 0x73a1_056d_daac_586b, + 0x369b_e5d6_0ead_765e, + 0x1abb_a699_7ed7_1e4e, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7cec_7e37_a606_146b, + 0x5e40_6373_b070_2df6, + 0x784f_66e2_7846_140a, + 0x3ffa_9ffc_e044_d6ed, + ])), + Fq::new(BigInteger256::new([ + 0xfb64_a2cd_7cde_1f3c, + 0x2068_1c98_73e8_a6bb, + 0xf2ba_11f5_1954_b80f, + 0x172d_1efb_d333_e2e3, + ])), + Fq::new(BigInteger256::new([ + 0xbd9c_09b8_93d2_6e7e, + 0x8e24_9c51_0f30_5766, + 0x3149_1ded_baaf_880b, + 0x2544_4915_82a9_1b80, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8134_aa24_1672_ba80, + 0xf39e_54b1_ce60_3d0f, + 0x52a0_0a5c_e729_1a5c, + 0x598e_a1d2_111d_e9b9, + ])), + Fq::new(BigInteger256::new([ + 0xb32f_3aef_037d_58e5, + 0xab4b_4cb9_38ed_769e, + 0xc18f_31a9_956b_d45f, + 0x30d0_1564_a8f6_e2c8, + ])), + Fq::new(BigInteger256::new([ + 0x076c_a06f_98c9_3ef9, + 0xc16d_26ce_4cd2_f348, + 0x4f9c_c5e8_44bb_2af3, + 0x58e0_de1f_fa9f_39d5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xa488_fe7f_7f05_8bab, + 0x49d8_570c_351d_6cf8, + 0xe264_673e_a5fc_f9ff, + 0x45b8_9204_3e1e_1258, + ])), + Fq::new(BigInteger256::new([ + 0xac90_de86_0b79_4521, + 0x20d2_2d5a_211e_162c, + 0xaff5_d3fe_cc45_1b73, + 0x2b80_d5a4_800e_de3e, + ])), + Fq::new(BigInteger256::new([ + 0x5835_9366_dfb7_da17, + 0x05f3_5e4f_26e9_ef74, + 0x411d_441c_46eb_b464, + 0x419d_0620_2b19_0907, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x3ab5_4a62_d2d8_2d42, + 0x373b_cf0d_9b94_9e16, + 0x24e1_8f11_b727_6d17, + 0x3d07_5534_3ed4_09e2, + ])), + Fq::new(BigInteger256::new([ + 0xd5ce_8fd4_13ed_1b84, + 0xc6bb_7933_ee65_6745, + 0xaac8_dbba_1b9d_9558, + 0x53cb_0d8f_5428_a5dc, + ])), + Fq::new(BigInteger256::new([ + 0xf189_c94a_c782_d122, + 0xb476_17d6_3649_e1b8, + 0xcd2e_3667_78c3_fcda, + 0x0b07_c5e9_35d3_cd60, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x98a8_f239_4624_e738, + 0xf97a_ab56_f5d0_3db8, + 0x0466_97b1_dd6d_31c4, + 0x2e5e_97fa_75da_2aaa, + ])), + Fq::new(BigInteger256::new([ + 0x37f0_8614_0354_cafa, + 0xab07_290e_b1e7_2781, + 0x511c_620e_69dc_f4c1, + 0x0a04_8ff9_4cd9_e028, + ])), + Fq::new(BigInteger256::new([ + 0x556b_3730_6cb7_147c, + 0x8e96_693f_8e35_37fc, + 0x5282_ce32_c734_068b, + 0x1743_4368_32d1_570b, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x295f_6395_1707_cba9, + 0x688b_24f2_9140_490b, + 0x3c04_b8cf_b889_e8bb, + 0x28f3_ea48_6b86_e75b, + ])), + Fq::new(BigInteger256::new([ + 0xb843_1e2a_7d6d_2eac, + 0x91e6_1be6_f4cd_acd7, + 0x1392_8401_b81d_e81c, + 0x150d_bfb6_9d9f_cdf9, + ])), + Fq::new(BigInteger256::new([ + 0x243f_a129_5cea_4402, + 0x2db5_e0ea_bd2b_f735, + 0xa0d5_de42_7b22_1374, + 0x29ca_3439_450d_a375, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2156_0893_7a66_4dcb, + 0x86b6_cdde_0cb9_50da, + 0xfbc8_c210_d7b2_7bf2, + 0x48a1_b62b_76a6_5fcb, + ])), + Fq::new(BigInteger256::new([ + 0xa562_ce22_3e9f_38ed, + 0x4d0a_e206_ec6a_690a, + 0xd69c_266e_697c_027b, + 0x0218_eb6a_f243_41ec, + ])), + Fq::new(BigInteger256::new([ + 0xe409_1ddb_34f3_d8bc, + 0x5124_a9f8_2bce_00ed, + 0x5078_15d5_5883_ca47, + 0x09a3_b38e_f1e1_3493, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6d6c_b7f2_0f63_881b, + 0x5dba_d9b3_2a84_8587, + 0x2d65_9c85_dacf_e7f8, + 0x1740_86a2_d189_6a82, + ])), + Fq::new(BigInteger256::new([ + 0x1a35_3ba6_f85f_f3cf, + 0x1d32_f285_241a_7e35, + 0x3e1f_efb8_196e_aa6f, + 0x23fd_11b6_eefb_f765, + ])), + Fq::new(BigInteger256::new([ + 0x4dc9_8314_05a3_333b, + 0x9e5e_1b77_03c1_cc2f, + 0x0043_83cc_d61a_9059, + 0x4928_18ba_0240_1999, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xb2bb_26a8_e035_e725, + 0x68ea_3272_531b_097f, + 0xa318_85b0_1843_abf5, + 0x0173_b890_5492_a145, + ])), + Fq::new(BigInteger256::new([ + 0x40de_b8d0_9888_e12c, + 0xda2f_2947_79df_27e0, + 0xaf5c_9bdb_eef0_a4d4, + 0x43d5_7042_f3bb_c227, + ])), + Fq::new(BigInteger256::new([ + 0xa813_6fdf_837e_d979, + 0x85a8_b3ff_611c_d0d2, + 0xbaba_fac1_66eb_1410, + 0x17ef_e956_b72e_ec83, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x83d8_f04a_a042_cf9a, + 0xf86e_5510_b509_2fd8, + 0x317b_45c2_27c1_554e, + 0x0269_9986_2ad4_01ae, + ])), + Fq::new(BigInteger256::new([ + 0x88e4_8d34_bb69_b85b, + 0x9180_1d1a_c156_55ef, + 0x1e05_dd23_9aaa_e3fb, + 0x0778_1051_8418_0434, + ])), + Fq::new(BigInteger256::new([ + 0x13d1_7ad8_1b96_abc5, + 0x0ecb_ffd7_d2e0_82ee, + 0xfa48_3b5b_f6b0_00e9, + 0x6946_1896_429e_17f3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4fec_48b8_8341_dd4a, + 0x197d_8928_0f16_bd6d, + 0xb0f1_68ee_033b_365a, + 0x0318_eb69_0fba_a314, + ])), + Fq::new(BigInteger256::new([ + 0x397a_f4b7_0433_d509, + 0x0ac0_14d1_78f2_d32c, + 0xd680_77fa_25b7_6d56, + 0x23ee_6efb_f70b_755e, + ])), + Fq::new(BigInteger256::new([ + 0x39d1_b1f5_091e_b0f4, + 0x8442_455a_6605_e054, + 0xe775_9558_5d4a_2b2e, + 0x6029_a2c1_fc7a_f40d, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xb5a5_f74e_c6ba_b5ed, + 0x4e20_9344_021c_d7e0, + 0xe794_73af_ca0a_254d, + 0x6585_fcc2_a5d8_911d, + ])), + Fq::new(BigInteger256::new([ + 0xb168_1f7a_565c_241a, + 0x06db_76c7_2111_9e4a, + 0x8ee9_76c1_f8b7_2dc7, + 0x6ec3_a9ed_afd9_8f35, + ])), + Fq::new(BigInteger256::new([ + 0xa8cb_7d6f_3a4b_6fbd, + 0x7c74_fc83_01b0_13ac, + 0x6dca_a9c5_0bdb_bc3d, + 0x2c9c_9202_2887_a2eb, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xe4b7_86bf_d6db_1b7e, + 0x8d47_9077_5a12_ce8b, + 0x8e5e_0029_a10e_5f83, + 0x087f_dbf0_7402_d34f, + ])), + Fq::new(BigInteger256::new([ + 0x3a8d_88e0_1b9e_7400, + 0x6152_ac3a_c547_d85e, + 0x5baf_0e07_b102_b45e, + 0x05a8_33fd_dca8_7817, + ])), + Fq::new(BigInteger256::new([ + 0x52dc_6334_f7ac_d315, + 0x9ff5_fcba_8203_2eef, + 0x2d02_3f3b_9fc0_ffc6, + 0x6de1_5cd7_bd3e_51f5, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd389_dbd1_66ad_ee91, + 0x6c12_b3b1_2b70_f319, + 0x0360_bea6_b324_b189, + 0x2e4e_3978_e7aa_100b, + ])), + Fq::new(BigInteger256::new([ + 0x601f_620e_ecdd_6ea5, + 0x4335_b585_27d8_ff6a, + 0xf202_f74b_70d0_1725, + 0x59d4_6aa1_6cc7_b82b, + ])), + Fq::new(BigInteger256::new([ + 0xe90c_3ff5_8f2e_3186, + 0x352b_0b95_52d7_cc42, + 0x5dd5_ae14_87fe_b5dc, + 0x47b0_4fb8_3795_a3ad, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x51b0_f50e_a729_062e, + 0xe685_74d9_806e_339e, + 0xa89f_435a_f48b_ab23, + 0x72eb_9aab_40a2_d32f, + ])), + Fq::new(BigInteger256::new([ + 0xbe97_290f_563f_c237, + 0x12f2_66a8_a759_4ace, + 0xa6f0_1a12_16b4_4d46, + 0x52b5_ba58_1b50_4f06, + ])), + Fq::new(BigInteger256::new([ + 0x0c87_0a17_e0bc_0960, + 0x6ec2_ae83_2c85_13de, + 0x06f0_38ac_0bf6_a36e, + 0x2092_ffa4_f790_8df3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4244_f2b4_4cde_4d4d, + 0xeb6b_d985_d874_07ab, + 0x515a_cac5_052d_3e1d, + 0x29fe_3fb0_741e_8e21, + ])), + Fq::new(BigInteger256::new([ + 0x3645_ed78_7d1a_d236, + 0x5fd6_7b54_fdb5_c38f, + 0x7890_654d_3115_ccac, + 0x47d8_89a4_289e_f4a6, + ])), + Fq::new(BigInteger256::new([ + 0xeb39_d01c_eb65_595c, + 0x004b_84db_2f2d_f5ed, + 0xa0fe_ce14_50b0_a5b6, + 0x40e5_e494_2ceb_c127, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7c3f_cf3a_f6f4_b389, + 0x2309_d0c4_c1fb_80d8, + 0x8671_2c50_b1ea_963e, + 0x5603_5841_aac5_c659, + ])), + Fq::new(BigInteger256::new([ + 0x4424_5189_7806_d131, + 0x921f_4f6d_3b1c_0e0b, + 0x07f6_02b3_24f9_2b3e, + 0x261e_6f49_75a7_12e9, + ])), + Fq::new(BigInteger256::new([ + 0xe46f_6eda_2eda_4a56, + 0xb717_7d48_8031_ac1e, + 0xa49c_63f1_dff1_49da, + 0x18bd_7110_cfeb_bef4, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x48f6_8eed_1d60_4a85, + 0xe0e4_81d3_24d2_056b, + 0xe651_1c03_bba0_20a2, + 0x6c06_ac40_7bee_2048, + ])), + Fq::new(BigInteger256::new([ + 0xc920_3b16_fd56_092f, + 0xcee4_012a_dc69_abaf, + 0x6b39_fc3b_05b0_cfb5, + 0x4eec_84a8_6e66_bc09, + ])), + Fq::new(BigInteger256::new([ + 0xaee9_3d10_f362_a1e7, + 0x8682_5e2b_c42e_c161, + 0xa65b_8082_c738_2d73, + 0x70e6_9933_021a_ed26, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x087e_6fcb_6513_50d4, + 0xcb03_5273_58f6_b730, + 0xc58f_a9e2_711b_ea36, + 0x6663_6fdf_9c44_45ea, + ])), + Fq::new(BigInteger256::new([ + 0x5dba_9774_ab09_bc2c, + 0x3e3c_dbb7_6d72_3e53, + 0x1455_7ca1_29ce_ae00, + 0x4585_347a_49f6_d01d, + ])), + Fq::new(BigInteger256::new([ + 0x25d1_b3d7_0abc_b9fd, + 0xddae_df7a_e41b_7e26, + 0x0e58_a693_5932_4501, + 0x1858_cf26_643e_a1b6, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xadcc_9911_36bd_8afc, + 0x47ea_c18f_2268_69a4, + 0xcd81_08ae_dcfb_530e, + 0x678f_451d_c983_1f6d, + ])), + Fq::new(BigInteger256::new([ + 0xacce_bf1a_6089_d552, + 0x85a8_0566_dc3f_6f97, + 0x6c67_646e_c528_5891, + 0x0e77_c6cd_c6c0_6d5d, + ])), + Fq::new(BigInteger256::new([ + 0xb373_84a8_80fb_6cb1, + 0xacef_8af8_ac7d_accc, + 0xa2d3_2916_fc45_227a, + 0x136f_33c7_2bbc_c8b0, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x7845_3c72_2025_930c, + 0xa178_6f0f_fd7d_09ac, + 0x503d_9a55_0e3a_9e63, + 0x02ca_fabf_1acc_2e27, + ])), + Fq::new(BigInteger256::new([ + 0xf28d_d694_19cc_0258, + 0x709b_c667_1ac0_e3c5, + 0x1c48_1caa_15d9_0621, + 0x13c5_05ee_9b01_a5de, + ])), + Fq::new(BigInteger256::new([ + 0x051d_cc91_6c64_0c54, + 0x7d15_2983_4dc9_baa4, + 0xd9f9_633c_9f82_8b20, + 0x633b_e5c8_77b5_df79, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x607f_932b_132c_86c3, + 0x280e_97eb_2cf2_a32d, + 0x8789_3b68_4732_b3f7, + 0x2910_a536_8e54_f10a, + ])), + Fq::new(BigInteger256::new([ + 0x7f4b_c322_a0e9_6559, + 0x4cdd_8ded_9d4e_9740, + 0xe4b3_dd28_16b3_d02b, + 0x5cb6_ad2f_1e64_242e, + ])), + Fq::new(BigInteger256::new([ + 0xbbbb_2a0f_0803_0b0a, + 0xebd9_0859_46d6_4024, + 0xdd59_95ef_99ed_e54f, + 0x3ef0_3ac7_0868_7736, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x0ed9_b34b_932c_9110, + 0xa175_c7c8_e757_6f66, + 0x7ce7_7378_89e4_2cdc, + 0x32c2_f6f2_8415_ba95, + ])), + Fq::new(BigInteger256::new([ + 0x0817_973b_2d1b_fc54, + 0x7116_64a9_dcff_920f, + 0x1a8d_adda_feb8_e875, + 0x2c18_9965_a7cf_df22, + ])), + Fq::new(BigInteger256::new([ + 0xcb3e_5d9f_7f5c_8cbb, + 0x18ee_100a_9d5c_3a7c, + 0x27c1_bc73_5ae7_88a3, + 0x6154_9e70_76bc_0ec8, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8c8d_2871_12de_d73c, + 0x0a43_db78_9407_19a9, + 0x9f81_d2f3_ec2c_75c3, + 0x25d4_de96_dc1f_b748, + ])), + Fq::new(BigInteger256::new([ + 0x0823_1132_de50_3a87, + 0x6457_5b51_4200_b701, + 0x2d22_bf5f_ca5a_898d, + 0x660b_1914_98f9_8f6d, + ])), + Fq::new(BigInteger256::new([ + 0x9025_65cf_298c_bdee, + 0x45e8_d1ce_6a67_b6b2, + 0x1dc3_c4c5_68a8_57e3, + 0x1cc5_27b5_ad13_ce38, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x8df3_d7f7_7ada_1c1b, + 0x04a3_4ad3_f42a_6c12, + 0x1e1c_2b9e_79d6_91d6, + 0x321f_f3c8_d2e9_2d6b, + ])), + Fq::new(BigInteger256::new([ + 0xd91d_f895_d330_781f, + 0x313e_5c31_aa32_d76f, + 0xe357_ac34_363c_594e, + 0x1d8f_0042_34f9_f2c1, + ])), + Fq::new(BigInteger256::new([ + 0x3585_becf_c3dc_fcb7, + 0xcfc0_0a28_96c9_67ee, + 0x0446_287d_24d2_38ff, + 0x4544_d6c8_fd4c_7876, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x5720_4bc1_fdbe_e339, + 0xe46d_8b80_2537_90e9, + 0xbcb0_0e5f_af8f_4b4f, + 0x20a0_8d0a_5324_8fb2, + ])), + Fq::new(BigInteger256::new([ + 0xe3e3_05cd_94d7_6d8f, + 0x666c_4722_ed13_bdc1, + 0x5e04_5363_9ad0_b521, + 0x36b5_c215_7325_963c, + ])), + Fq::new(BigInteger256::new([ + 0xbb6d_545b_4937_6a47, + 0x4ff3_b60f_8528_fbd1, + 0x72a7_fde9_0260_833a, + 0x43b1_2f2b_4650_dcf1, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x320c_3448_eb45_ed06, + 0x2642_839d_25d3_847a, + 0x3f3c_d7f8_8337_202b, + 0x0195_8c4c_97a4_591e, + ])), + Fq::new(BigInteger256::new([ + 0x6eda_b928_444b_3e7e, + 0x3296_3af1_0441_62db, + 0xcbd3_257a_1777_5b5c, + 0x53c4_6439_3bb5_0b0b, + ])), + Fq::new(BigInteger256::new([ + 0x1738_552f_f738_4841, + 0x6b65_ec6a_a08b_e908, + 0x521d_2b97_39df_85d8, + 0x483f_8c11_8f74_a356, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x40f1_35eb_397b_7ec6, + 0xfe74_399d_501e_034a, + 0xa99e_39bd_a430_5282, + 0x3663_c6a8_1bd8_8aff, + ])), + Fq::new(BigInteger256::new([ + 0x66f7_1916_c8d3_5cab, + 0x5e1e_184b_3cc2_6a94, + 0x9abb_42a1_414e_53c9, + 0x1b9f_ba69_5a3d_96ba, + ])), + Fq::new(BigInteger256::new([ + 0xd905_b9d0_2e65_88fb, + 0x50e5_0ce5_3ed8_c5ef, + 0x24a3_2f4f_86c6_92b9, + 0x6bb3_e27e_0010_b3fa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x313a_0c5b_67b5_8178, + 0x00a2_35d0_0fbf_4aa0, + 0x0ce2_46da_6fbd_3615, + 0x5381_1e5c_7199_4932, + ])), + Fq::new(BigInteger256::new([ + 0x4dab_78e7_5496_8366, + 0x16d2_513e_975e_e91a, + 0x8041_d085_5320_d5c4, + 0x5933_55b8_0017_775f, + ])), + Fq::new(BigInteger256::new([ + 0xfa6e_496c_38df_5908, + 0x5286_193b_33a6_4fa4, + 0x33f2_c514_891a_6b80, + 0x0b21_0ab6_3ae1_ef17, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4188_a810_d03e_27a1, + 0x07f1_1774_9030_02a4, + 0x03f8_5e7b_8274_358b, + 0x26f1_380e_7749_5976, + ])), + Fq::new(BigInteger256::new([ + 0xf4ca_a6b4_4957_75ac, + 0xc70f_b3bd_b2a8_a94d, + 0x77ed_c64f_72fa_fc3b, + 0x0351_d89c_1323_6332, + ])), + Fq::new(BigInteger256::new([ + 0xaf04_eaa9_71b3_5cef, + 0x9d37_d706_23ab_6c5c, + 0xb802_9606_6480_671e, + 0x39a7_7941_4a82_3f70, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xbab9_8527_f60e_1dd5, + 0x3578_5179_0c21_f2e4, + 0x7d3f_c14a_0952_e330, + 0x33f8_e694_1a0b_05b7, + ])), + Fq::new(BigInteger256::new([ + 0x3f97_eddc_2d38_f4dc, + 0x955e_3cb2_8fe4_4d5f, + 0xf2a5_70f8_7857_377a, + 0x3936_d272_db72_a892, + ])), + Fq::new(BigInteger256::new([ + 0x8c33_154f_3259_e6c9, + 0x23bc_6365_cbab_5050, + 0xc428_242a_7866_3859, + 0x2584_83d9_d19d_0c37, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x9547_9a05_9076_fcee, + 0x8c07_4903_8bfa_99de, + 0x45e1_3680_8fee_e64d, + 0x7306_e10d_bdde_8985, + ])), + Fq::new(BigInteger256::new([ + 0x8406_39e7_4ed0_7fb1, + 0x7c4b_5119_d9ef_c7d1, + 0xd48b_8b39_2fea_fbc5, + 0x3a0a_3284_577a_03ce, + ])), + Fq::new(BigInteger256::new([ + 0x2b16_b05a_cd01_f76a, + 0x9298_076d_925d_b5ed, + 0xdd79_6b7d_976b_e2eb, + 0x4d88_3dca_9111_02d3, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x11d1_c754_7016_db87, + 0x2c70_71a7_e4a7_1ded, + 0x916e_3b79_474c_f2f5, + 0x27fb_982b_0401_726a, + ])), + Fq::new(BigInteger256::new([ + 0x24ea_a276_c65e_c2e6, + 0xfa8a_e838_5e37_fbba, + 0x89ed_68ed_a04d_6b90, + 0x72bb_4b20_ab85_f6fd, + ])), + Fq::new(BigInteger256::new([ + 0x4d05_97fb_5667_90f2, + 0xc81a_18ea_b76c_eebc, + 0x23dd_f59d_a272_d1c3, + 0x2376_bf81_cbff_ac7a, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x4ecf_ab38_67ef_bcd5, + 0x1f3c_8e92_e863_5f7b, + 0x9614_b4df_fab8_57fc, + 0x09fb_7dca_a11f_7198, + ])), + Fq::new(BigInteger256::new([ + 0x3dd3_09af_c72d_d3f4, + 0xe410_bff7_3f01_7e5b, + 0x13ba_ef99_9cf1_e919, + 0x37d7_a768_4484_8c05, + ])), + Fq::new(BigInteger256::new([ + 0xa843_26df_8777_ea61, + 0xcf0f_921f_7ac1_0ca0, + 0xb08a_aa90_0cc8_63b1, + 0x6c28_ac72_a608_db7c, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x464d_14ec_76b5_9fbf, + 0x0d40_fb8a_8512_d534, + 0x013e_ac3b_ab7a_9307, + 0x6ac3_0872_fb7a_aee2, + ])), + Fq::new(BigInteger256::new([ + 0x202d_5203_5979_6171, + 0xa7fa_51e7_cbaf_b0d4, + 0xa97f_6f3c_3ba9_66c2, + 0x1588_e343_d1f2_7071, + ])), + Fq::new(BigInteger256::new([ + 0x553a_f379_cd3c_ab09, + 0x74e8_ceb0_3175_5422, + 0x2f25_2972_bbd5_7761, + 0x11dc_280a_b49a_8737, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xdcb4_8f05_38b3_47ba, + 0xde83_000e_588a_7845, + 0x9b4b_3ce5_8861_c713, + 0x41fa_c88d_9768_38fd, + ])), + Fq::new(BigInteger256::new([ + 0x8b55_784d_ba75_b3a1, + 0x44fb_a761_9d24_75e7, + 0xaf0e_3620_06f1_deda, + 0x10b2_70ab_826c_c8a6, + ])), + Fq::new(BigInteger256::new([ + 0xfa6a_928e_390e_e657, + 0x4014_f66c_4f7d_e094, + 0xd9b5_04d0_41a0_4933, + 0x357d_03d4_99c5_b0bc, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd4d1_bcad_440f_a453, + 0xc4fc_22f8_ff0f_5868, + 0xd8e5_b912_fdba_2ab4, + 0x2b56_bb5f_cde0_25a8, + ])), + Fq::new(BigInteger256::new([ + 0x9b4b_3212_efbf_d684, + 0x08e5_c84a_24c4_8f36, + 0x55d3_75f0_bb19_efda, + 0x37b4_060a_506b_89de, + ])), + Fq::new(BigInteger256::new([ + 0xf302_9bbd_4aa3_e834, + 0x4392_5004_d2e5_ccff, + 0xf634_8a0f_efc4_8ac0, + 0x6b16_708a_c85a_d545, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x1ee7_05df_4d63_dd2e, + 0x2016_3ef6_981c_e0a6, + 0x498b_2265_8e8a_b19c, + 0x040e_0736_3e32_d188, + ])), + Fq::new(BigInteger256::new([ + 0x09dc_c60d_6057_12ca, + 0x6d6d_4d9f_b29b_3b42, + 0xa753_e090_bd99_46d3, + 0x01f7_0819_c567_2b60, + ])), + Fq::new(BigInteger256::new([ + 0xda93_2c87_ac1a_fa27, + 0xd47e_c241_2eb1_a648, + 0x8c27_c96c_f1d4_edc7, + 0x49f4_01e0_19b5_dfae, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6805_55a6_6575_68c8, + 0x0eff_83e4_d07b_5daa, + 0xec1c_b87f_fe25_a5ca, + 0x6cda_350d_bb4c_836a, + ])), + Fq::new(BigInteger256::new([ + 0x0e50_9f26_a38b_2eb1, + 0xe94c_34fc_7cc8_546e, + 0x81eb_a9c1_2cb1_8ce1, + 0x5e9b_6c88_8742_7743, + ])), + Fq::new(BigInteger256::new([ + 0xf675_7e2c_0db9_86c2, + 0xc958_b01a_974c_fc81, + 0x1974_b72f_8e07_0b9c, + 0x64e4_b6b6_c69c_55d7, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x3084_add5_4402_7211, + 0x2598_3357_d70c_e29b, + 0x5bc4_cad7_c234_fb3c, + 0x5e70_bb0b_9149_8488, + ])), + Fq::new(BigInteger256::new([ + 0x67e7_49a8_12a5_0492, + 0x0fda_6002_abba_22f7, + 0xe2c1_b370_7b47_1754, + 0x04d5_a142_a22a_8104, + ])), + Fq::new(BigInteger256::new([ + 0x1350_b3c4_d134_9d0b, + 0xecbb_a1bc_2d0d_6c4e, + 0x90af_53ad_9780_8dce, + 0x432d_2c0a_5d1a_ca34, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x42b5_2b6b_85a9_5adb, + 0xe65a_376f_204e_f211, + 0x0dc1_5d10_3038_792b, + 0x47d4_be89_1ce2_eac0, + ])), + Fq::new(BigInteger256::new([ + 0xafe4_9f2b_748b_15df, + 0xa087_25bd_fdf9_77ad, + 0xd7b1_ff1c_33df_ae8d, + 0x6a58_dff9_65c9_36f7, + ])), + Fq::new(BigInteger256::new([ + 0xcda2_906b_9bde_9033, + 0xea16_016a_a11e_04a8, + 0x9295_6418_c5db_8fd0, + 0x0ca6_3d92_e3a6_ab11, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x82b9_848f_dfda_72d2, + 0xf629_7809_ede7_8709, + 0xd8d6_b235_0a2b_957d, + 0x3860_7712_05e0_b4da, + ])), + Fq::new(BigInteger256::new([ + 0xc443_7b4d_8646_9281, + 0x12f9_997b_38f9_7dd8, + 0xc2b4_cebf_388e_e564, + 0x3b1d_dca5_7831_b77f, + ])), + Fq::new(BigInteger256::new([ + 0xf601_a059_1f25_26a6, + 0xb120_292b_f198_fc89, + 0x1498_2c23_568b_1a2c, + 0x2893_0fbc_794c_cfa4, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x2aab_ec12_2b3b_fbc1, + 0x1d70_7b8a_d740_7ada, + 0x5d35_c74b_aebc_1cc8, + 0x0525_502d_91ad_c731, + ])), + Fq::new(BigInteger256::new([ + 0x2802_09e6_3f70_0a87, + 0xc9c6_f9ec_10a3_52e0, + 0x04bb_fb3d_55e8_cfe5, + 0x38d5_f073_61b5_1536, + ])), + Fq::new(BigInteger256::new([ + 0x5a1d_c88c_b052_7837, + 0x42b5_e2d7_8287_19c1, + 0x5a26_aff1_bab0_7f50, + 0x2909_6840_d2d9_661a, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0x6ff9_f888_5e43_99e2, + 0x32ed_663e_eca4_cd34, + 0xf55e_9cf6_80b3_6871, + 0x5288_306a_eaf6_3127, + ])), + Fq::new(BigInteger256::new([ + 0x84bd_2ac8_620b_1590, + 0x7063_8c1a_79b9_2d05, + 0xa166_64c2_f7aa_ec2e, + 0x5b76_b9de_abc3_55b3, + ])), + Fq::new(BigInteger256::new([ + 0x576d_e696_122a_21d0, + 0x4e4b_1643_7d98_67e4, + 0xd592_1194_bd47_72e4, + 0x5765_c36e_c081_5219, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xceab_1a0f_2ed2_2c92, + 0x8e54_aee2_cb9a_eb3d, + 0x6fee_7c5e_ab52_bbe2, + 0x63bd_27f4_1673_61b7, + ])), + Fq::new(BigInteger256::new([ + 0x3c11_3f68_1e5c_c463, + 0x6c78_c753_af39_cbe9, + 0x6c9f_cb5c_8ddc_8a5c, + 0x025e_8ea5_0072_3857, + ])), + Fq::new(BigInteger256::new([ + 0xb5ef_ab3c_32c8_b4a0, + 0xc1ff_831f_5fff_2c1c, + 0x3444_e04b_9310_3593, + 0x276a_4461_2816_867d, + ])), + ], + ]; - // n: 255 - // t: 3 - // N: 765 - // Result Algorithm 1: - // [True, 0] - // Result Algorithm 2: - // [True, None] - // Result Algorithm 3: - // [True, None] - // Prime number: - // 0x0x73_ed_a_753__299d_7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 + // n: 255 + // t: 3 + // N: 765 + // Result Algorithm 1: + // [True, 0] + // Result Algorithm 2: + // [True, None] + // Result Algorithm 3: + // [True, None] + // Prime number: + // 0x0x73_ed_a_753__299d_7d483339d80809a1d80553bda402fffe5bfeffffffff00000001 - const MDS: [[ark_ed_on_bls12_381::Fq; WIDTH]; WIDTH] = [ - [ - Fq::new(BigInteger256::new([ - 0x6118_de41_07b5_1ace, - 0x8ad5_7440_53ba_9e77, - 0x5d6d_2412_10e2_d8a6, - 0x1b81_14c3_81b9_22fd, - ])), - Fq::new(BigInteger256::new([ - 0xe371_7213_fcc0_d763, - 0x7599_0cca_ec4c_09b4, - 0x0e5d_2189_9cf5_3317, - 0x3df3_2e4c_c4cb_2ed2, - ])), - Fq::new(BigInteger256::new([ - 0x3ecd_34ae_a0e1_edc1, - 0x007f_3360_1591_080b, - 0xbe25_8779_bf54_8eb4, - 0x3f05_c4df_7a66_64da, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xd7f5_01cd_31a8_b374, - 0xca74_314b_950f_e7b1, - 0x432a_4ad7_6d3f_ae06, - 0x404d_2107_3985_d14e, - ])), - Fq::new(BigInteger256::new([ - 0xf7fa_1603_9556_49f1, - 0x73e9_b231_7679_422f, - 0x81bc_620e_9e52_4d4b, - 0x0b2c_c870_4264_c6bd, - ])), - Fq::new(BigInteger256::new([ - 0xe2a8_fc8c_637f_1a1f, - 0x6d0b_b519_8343_48b4, - 0x5a93_88c6_4103_5d49, - 0x0fdf_664d_a550_59fa, - ])), - ], - [ - Fq::new(BigInteger256::new([ - 0xf95d_c57e_90c4_9140, - 0x3197_ad01_b65a_730a, - 0x43e2_4a47_f45c_5d03, - 0x5e1d_3dbe_cda6_2143, - ])), - Fq::new(BigInteger256::new([ - 0x7dc7_b900_2f5a_a78a, - 0x44cb_6d5f_ae89_54f3, - 0x9318_96e7_7ea5_c612, - 0x6bd7_2f9c_fc53_af9d, - ])), - Fq::new(BigInteger256::new([ - 0xbb4f_b88e_f99d_e0db, - 0x1eff_bd9c_d58e_46d9, - 0xcaf8_80a9_054b_ef83, - 0x4997_c5aa_3a5f_a07b, - ])), - ], - ]; + const MDS: [[ark_ed_on_bls12_381::Fq; WIDTH]; WIDTH] = [ + [ + Fq::new(BigInteger256::new([ + 0x6118_de41_07b5_1ace, + 0x8ad5_7440_53ba_9e77, + 0x5d6d_2412_10e2_d8a6, + 0x1b81_14c3_81b9_22fd, + ])), + Fq::new(BigInteger256::new([ + 0xe371_7213_fcc0_d763, + 0x7599_0cca_ec4c_09b4, + 0x0e5d_2189_9cf5_3317, + 0x3df3_2e4c_c4cb_2ed2, + ])), + Fq::new(BigInteger256::new([ + 0x3ecd_34ae_a0e1_edc1, + 0x007f_3360_1591_080b, + 0xbe25_8779_bf54_8eb4, + 0x3f05_c4df_7a66_64da, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xd7f5_01cd_31a8_b374, + 0xca74_314b_950f_e7b1, + 0x432a_4ad7_6d3f_ae06, + 0x404d_2107_3985_d14e, + ])), + Fq::new(BigInteger256::new([ + 0xf7fa_1603_9556_49f1, + 0x73e9_b231_7679_422f, + 0x81bc_620e_9e52_4d4b, + 0x0b2c_c870_4264_c6bd, + ])), + Fq::new(BigInteger256::new([ + 0xe2a8_fc8c_637f_1a1f, + 0x6d0b_b519_8343_48b4, + 0x5a93_88c6_4103_5d49, + 0x0fdf_664d_a550_59fa, + ])), + ], + [ + Fq::new(BigInteger256::new([ + 0xf95d_c57e_90c4_9140, + 0x3197_ad01_b65a_730a, + 0x43e2_4a47_f45c_5d03, + 0x5e1d_3dbe_cda6_2143, + ])), + Fq::new(BigInteger256::new([ + 0x7dc7_b900_2f5a_a78a, + 0x44cb_6d5f_ae89_54f3, + 0x9318_96e7_7ea5_c612, + 0x6bd7_2f9c_fc53_af9d, + ])), + Fq::new(BigInteger256::new([ + 0xbb4f_b88e_f99d_e0db, + 0x1eff_bd9c_d58e_46d9, + 0xcaf8_80a9_054b_ef83, + 0x4997_c5aa_3a5f_a07b, + ])), + ], + ]; } diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs index fb9521352b..c11b345d8e 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/constants/mod.rs @@ -12,13 +12,12 @@ pub(crate) const NB_PARTIAL_ROUNDS: usize = 60; /// A PrimeField with the constants needed to compute Poseidon's permutation /// (MDS matrix and round constants). -pub trait PoseidonField: ark_ff::Field -{ - /// The MDS matrix used for the linear layer at each round of Poseidon. - const MDS: [[Self; WIDTH]; WIDTH]; +pub trait PoseidonField: ark_ff::Field { + /// The MDS matrix used for the linear layer at each round of Poseidon. + const MDS: [[Self; WIDTH]; WIDTH]; - /// The constants added to Poseidon's state on every round. - const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS]; + /// The constants added to Poseidon's state on every round. + const ROUND_CONSTANTS: [[Self; WIDTH]; NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS]; } mod blstrs; diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs index 8c22259d8a..26dd59bc7e 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/mod.rs @@ -5,7 +5,7 @@ pub mod poseidon_cpu; pub mod round_skips; -use constants::{PoseidonField}; +use constants::PoseidonField; pub use poseidon_cpu::*; // Implementation of Poseidon over JubJub (using midnight-circuits implementation). @@ -13,25 +13,25 @@ pub use poseidon_cpu::*; // was a Scalar field element. use alloc::vec::Vec; -use ark_ed_on_bls12_381::{Fq as Scalar}; -use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; +use ark_ed_on_bls12_381::Fq as Scalar; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; use hash256_std_hasher::Hash256StdHasher; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; use sp_core::H256; use sp_core::Hasher; +use sp_runtime::DeserializeOwned; use sp_runtime::RuntimeDebug; use sp_runtime::{StateVersion, traits::Hash}; use sp_runtime_interface::pass_by::{AllocateAndReturnPointer, PassAs, PassFatPointerAndDecode}; use sp_runtime_interface::runtime_interface; use sp_trie::{LayoutV0, LayoutV1, TrieConfiguration}; -use sp_runtime::DeserializeOwned; #[derive(Debug)] pub enum PoseidonError { - /// Error produced when trying to convert bytes to field element - NotCanonical, + /// Error produced when trying to convert bytes to field element + NotCanonical, } #[derive(PartialEq, Eq, Clone, RuntimeDebug, TypeInfo, Serialize, Deserialize)] @@ -46,85 +46,85 @@ sp_core::impl_maybe_marker_std_or_serde!( ); impl PoseidonJubjub { - /// Converts a byte slice into a vector of `Scalar` field elements suitable - /// for Poseidon hashing. - /// - /// Poseidon operates over field elements, so this function transforms raw - /// bytes into `Scalar`s. - /// - /// - If `format_scalars` is `true`, the input is assumed to already contain - /// valid field elements. Each 32-byte chunk is interpreted as a canonical - /// `Scalar`. - /// - /// - If `format_scalars` is `false`, the input is processed in 31-byte - /// chunks to ensure that each resulting value falls within the canonical - /// range of the field. - /// - /// Returns a `Vec` on success, or an `Error` if canonical - /// conversion fails. - pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { - let chunk_len = if format_scalars { 32 } else { 31 }; - - msg.chunks(chunk_len) - .map(|scalar| { - let mut bytes = [0u8; 32]; - bytes[..scalar.len()].copy_from_slice(scalar); - Scalar::deserialize_compressed(&bytes[..]).map_err(|_| PoseidonError::NotCanonical) - }) - .collect::, PoseidonError>>() - } + /// Converts a byte slice into a vector of `Scalar` field elements suitable + /// for Poseidon hashing. + /// + /// Poseidon operates over field elements, so this function transforms raw + /// bytes into `Scalar`s. + /// + /// - If `format_scalars` is `true`, the input is assumed to already contain + /// valid field elements. Each 32-byte chunk is interpreted as a canonical + /// `Scalar`. + /// + /// - If `format_scalars` is `false`, the input is processed in 31-byte + /// chunks to ensure that each resulting value falls within the canonical + /// range of the field. + /// + /// Returns a `Vec` on success, or an `Error` if canonical + /// conversion fails. + pub fn msg_from_bytes(msg: &[u8], format_scalars: bool) -> Result, PoseidonError> { + let chunk_len = if format_scalars { 32 } else { 31 }; + + msg.chunks(chunk_len) + .map(|scalar| { + let mut bytes = [0u8; 32]; + bytes[..scalar.len()].copy_from_slice(scalar); + Scalar::deserialize_compressed(&bytes[..]).map_err(|_| PoseidonError::NotCanonical) + }) + .collect::, PoseidonError>>() + } } impl Hasher for PoseidonJubjub { - type Out = sp_core::H256; - type StdHasher = Hash256StdHasher; - const LENGTH: usize = 32; + type Out = sp_core::H256; + type StdHasher = Hash256StdHasher; + const LENGTH: usize = 32; - fn hash(s: &[u8]) -> Self::Out { - // TODO: we are assuming false - would be ideal if we could assume true - let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); + fn hash(s: &[u8]) -> Self::Out { + // TODO: we are assuming false - would be ideal if we could assume true + let msg = Self::msg_from_bytes(s, false).expect("Conversion should not fail."); - let out_fr = Self::hash(&msg); + let out_fr = Self::hash(&msg); - let mut out = [0u8; 32]; - out_fr.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); - out.into() - } + let mut out = [0u8; 32]; + out_fr.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); + out.into() + } } #[runtime_interface] pub trait PoseidonTrie { - /// A trie root formed from the iterated items using Poseidon - fn poseidon_jubjub_root( - input: PassFatPointerAndDecode, Vec)>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::trie_root(input), - StateVersion::V1 => LayoutV1::::trie_root(input), - } - } - - /// A trie root formed from the enumerated items using Poseidon - fn poseidon_jubjub_ordered_root( - input: PassFatPointerAndDecode>>, - version: PassAs, - ) -> AllocateAndReturnPointer { - match version { - StateVersion::V0 => LayoutV0::::ordered_trie_root(input), - StateVersion::V1 => LayoutV1::::ordered_trie_root(input), - } - } + /// A trie root formed from the iterated items using Poseidon + fn poseidon_jubjub_root( + input: PassFatPointerAndDecode, Vec)>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::trie_root(input), + StateVersion::V1 => LayoutV1::::trie_root(input), + } + } + + /// A trie root formed from the enumerated items using Poseidon + fn poseidon_jubjub_ordered_root( + input: PassFatPointerAndDecode>>, + version: PassAs, + ) -> AllocateAndReturnPointer { + match version { + StateVersion::V0 => LayoutV0::::ordered_trie_root(input), + StateVersion::V1 => LayoutV1::::ordered_trie_root(input), + } + } } impl Hash for PoseidonJubjub { - type Output = H256; + type Output = H256; - fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_ordered_root(input, version) - } + fn ordered_trie_root(input: Vec>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_ordered_root(input, version) + } - fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { - poseidon_trie::poseidon_jubjub_root(input, version) - } + fn trie_root(input: Vec<(Vec, Vec)>, version: StateVersion) -> Self::Output { + poseidon_trie::poseidon_jubjub_root(input, version) + } } diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs index 61f0fd84d0..b5d8a706e8 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/poseidon_cpu.rs @@ -1,12 +1,12 @@ +use crate::PoseidonJubjub; use alloc::vec::Vec; -use ark_ed_on_bls12_381::{Fq as Scalar}; -use ark_ff::Field; use ark_ec::AdditiveGroup; -use crate::PoseidonJubjub; +use ark_ed_on_bls12_381::Fq as Scalar; +use ark_ff::Field; use super::{ - constants::{PoseidonField, NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, RATE, WIDTH}, - round_skips::{PreComputedRoundCPU}, + constants::{NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, PoseidonField, RATE, WIDTH}, + round_skips::PreComputedRoundCPU, }; /// Number of times the linear part of the partial rounds is skipped in the @@ -17,171 +17,169 @@ pub(crate) const NB_SKIPS_CPU: usize = 2; /// Off-circuit Poseidon state. #[derive(Clone, Debug)] pub struct PoseidonState { - pre_computed: PreComputedRoundCPU, - register: [Scalar; WIDTH], - queue: Vec, - squeeze_position: usize, - input_len: Option, + pre_computed: PreComputedRoundCPU, + register: [Scalar; WIDTH], + queue: Vec, + squeeze_position: usize, + input_len: Option, } // Applies the MDS matrix to a state and adds the round constants. All arguments // have length `WIDTH`. To save the addition cost, the implementation is done by // mutating the `constants` slice, and eventually copying it into `state`. fn linear_layer(state: &mut [F], constants: &mut [F]) { - #[allow(clippy::needless_range_loop)] - for i in 0..WIDTH { - for j in 0..WIDTH { - constants[i] += F::MDS[i][j] * state[j]; - } - } - state.copy_from_slice(constants); + #[allow(clippy::needless_range_loop)] + for i in 0..WIDTH { + for j in 0..WIDTH { + constants[i] += F::MDS[i][j] * state[j]; + } + } + state.copy_from_slice(constants); } /// A cpu version of the full round of Poseidon's permutation. Operates by /// mutating the `state` argument (length `WIDTH`). pub(crate) fn full_round_cpu(round: usize, state: &mut [F]) { - state.iter_mut().for_each(|x| *x = x.square().square() * *x); - let mut new_state = if round == NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS - 1 { - [F::ZERO; WIDTH] - } else { - F::ROUND_CONSTANTS[round + 1] - }; - linear_layer(state, &mut new_state); + state.iter_mut().for_each(|x| *x = x.square().square() * *x); + let mut new_state = if round == NB_FULL_ROUNDS + NB_PARTIAL_ROUNDS - 1 { + [F::ZERO; WIDTH] + } else { + F::ROUND_CONSTANTS[round + 1] + }; + linear_layer(state, &mut new_state); } // A cpu version of Poseidon with `1 + NB_SKIPS_CIRCUIT` partial rounds. fn partial_round_cpu( - pre_computed: &PreComputedRoundCPU, - round: usize, - state: &mut [Scalar], // Length `WIDTH`. + pre_computed: &PreComputedRoundCPU, + round: usize, + state: &mut [Scalar], // Length `WIDTH`. ) { - pre_computed - .partial_round_id - .eval::(&pre_computed.round_constants[round], state); + pre_computed + .partial_round_id + .eval::(&pre_computed.round_constants[round], state); } // Alternative partial round version, without any skips. fn partial_round_cpu_raw(round: usize, state: &mut [Scalar]) { - state[WIDTH - 1] *= state[WIDTH - 1].square().square(); - let mut new_state = Scalar::ROUND_CONSTANTS[round + 1]; - linear_layer(state, &mut new_state) + state[WIDTH - 1] *= state[WIDTH - 1].square().square(); + let mut new_state = Scalar::ROUND_CONSTANTS[round + 1]; + linear_layer(state, &mut new_state) } /// A cpu version of the full Poseidon's permutation with partial-round skips. pub fn permutation_cpu(pre_computed: &PreComputedRoundCPU, state: &mut [Scalar]) { - let nb_skips = pre_computed.partial_round_id.nb_skips; - let nb_main_partial_rounds = NB_PARTIAL_ROUNDS / (1 + nb_skips); - let remainder_partial_rounds = NB_PARTIAL_ROUNDS % (1 + nb_skips); - - for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { - *x += k0; - } - (0..NB_FULL_ROUNDS / 2).for_each(|round| full_round_cpu(round, state)); - (0..nb_main_partial_rounds).for_each(|round| partial_round_cpu(pre_computed, round, state)); - (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS - remainder_partial_rounds..) - .take(remainder_partial_rounds) - .for_each(|round| partial_round_cpu_raw(round, state)); - (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..) - .take(NB_FULL_ROUNDS / 2) - .for_each(|round| { - full_round_cpu(round, state); - }) + let nb_skips = pre_computed.partial_round_id.nb_skips; + let nb_main_partial_rounds = NB_PARTIAL_ROUNDS / (1 + nb_skips); + let remainder_partial_rounds = NB_PARTIAL_ROUNDS % (1 + nb_skips); + + for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { + *x += k0; + } + (0..NB_FULL_ROUNDS / 2).for_each(|round| full_round_cpu(round, state)); + (0..nb_main_partial_rounds).for_each(|round| partial_round_cpu(pre_computed, round, state)); + (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS - remainder_partial_rounds..) + .take(remainder_partial_rounds) + .for_each(|round| partial_round_cpu_raw(round, state)); + (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..) + .take(NB_FULL_ROUNDS / 2) + .for_each(|round| { + full_round_cpu(round, state); + }) } // A cpu implementation of the sponge operations, building on the Poseidon's // permutation. impl PoseidonJubjub { - pub(crate) fn init(input_len: Option) -> PoseidonState { - let mut register = [Scalar::ZERO; WIDTH]; - register[RATE] = Scalar::from(input_len.map(|l| l as u128).unwrap_or(1 << 64)); - let pre_computed = PreComputedRoundCPU::init(); - PoseidonState { - pre_computed, - register, - queue: Vec::new(), - squeeze_position: 0, - input_len, - } - } - - pub(crate) fn absorb(state: &mut PoseidonState, inputs: &[Scalar]) { - state.queue.extend(inputs); - state.squeeze_position = 0; - } - - pub(crate) fn squeeze(state: &mut PoseidonState) -> Scalar { - if state.squeeze_position > 0 { - // If `input_len` was specified, we only allow 1 squeeze. - if state.input_len.is_some() { - panic!("Attempting to squeeze multiple times a fixed-size Poseidon sponge (CPU).") - }; - debug_assert!(state.queue.is_empty()); - let output = state.register[state.squeeze_position % RATE]; - state.squeeze_position = (state.squeeze_position + 1) % RATE; - return output; - } - - match state.input_len { - None => { - let padding = Scalar::from(state.queue.len() as u64); - state.queue.push(padding); - } - Some(len) => { - if state.queue.len() != len { - panic!("Inconsistent lengths in fixed-size Poseidon sponge (CPU). Expected: {}, found: {}.", len, state.queue.len()) - }; - } - } - - for chunk in state.queue.chunks(RATE) { - for (entry, value) in state.register.iter_mut().zip(chunk.iter()) { - *entry += value; - } - permutation_cpu(&state.pre_computed, &mut state.register); - } - - state.queue = Vec::new(); - state.squeeze_position = 1 % RATE; - state.register[0] - } - - pub(crate) fn hash(inputs: &[Scalar]) -> Scalar { - let mut state = Self::init(Some(inputs.len())); - Self::absorb(&mut state, inputs); - Self::squeeze(&mut state) - } + pub(crate) fn init(input_len: Option) -> PoseidonState { + let mut register = [Scalar::ZERO; WIDTH]; + register[RATE] = Scalar::from(input_len.map(|l| l as u128).unwrap_or(1 << 64)); + let pre_computed = PreComputedRoundCPU::init(); + PoseidonState { pre_computed, register, queue: Vec::new(), squeeze_position: 0, input_len } + } + + pub(crate) fn absorb(state: &mut PoseidonState, inputs: &[Scalar]) { + state.queue.extend(inputs); + state.squeeze_position = 0; + } + + pub(crate) fn squeeze(state: &mut PoseidonState) -> Scalar { + if state.squeeze_position > 0 { + // If `input_len` was specified, we only allow 1 squeeze. + if state.input_len.is_some() { + panic!("Attempting to squeeze multiple times a fixed-size Poseidon sponge (CPU).") + }; + debug_assert!(state.queue.is_empty()); + let output = state.register[state.squeeze_position % RATE]; + state.squeeze_position = (state.squeeze_position + 1) % RATE; + return output; + } + + match state.input_len { + None => { + let padding = Scalar::from(state.queue.len() as u64); + state.queue.push(padding); + }, + Some(len) => { + if state.queue.len() != len { + panic!( + "Inconsistent lengths in fixed-size Poseidon sponge (CPU). Expected: {}, found: {}.", + len, + state.queue.len() + ) + }; + }, + } + + for chunk in state.queue.chunks(RATE) { + for (entry, value) in state.register.iter_mut().zip(chunk.iter()) { + *entry += value; + } + permutation_cpu(&state.pre_computed, &mut state.register); + } + + state.queue = Vec::new(); + state.squeeze_position = 1 % RATE; + state.register[0] + } + + pub(crate) fn hash(inputs: &[Scalar]) -> Scalar { + let mut state = Self::init(Some(inputs.len())); + Self::absorb(&mut state, inputs); + Self::squeeze(&mut state) + } } #[cfg(test)] mod tests { - use rand::SeedableRng; - use rand_chacha::ChaCha12Rng; - use ark_ff::UniformRand; - - use super::*; - - // A version of Poseidon's permutation, without round skips. Has been tested - // against the previous version of Poseidon (replaced since Merge request #521). - fn permutation_cpu_raw(state: &mut [Scalar]) { - for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { - *x += k0; - } - for round in 0..NB_FULL_ROUNDS / 2 { - full_round_cpu(round, state); - } - for round in (NB_FULL_ROUNDS / 2..).take(NB_PARTIAL_ROUNDS) { - partial_round_cpu_raw(round, state); - } - for round in (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..).take(NB_FULL_ROUNDS / 2) { - full_round_cpu(round, state); - } - } - // Tests the performances of the cpu version of Poseidon. In debug mode, also - // tests the consistency between the version with and without round skips. - fn consistency_cpu(nb_samples: usize) { - let pre_computed = PreComputedRoundCPU::init(); - let mut rng = ChaCha12Rng::seed_from_u64(0xf007ba11); - (0..nb_samples) + use ark_ff::UniformRand; + use rand::SeedableRng; + use rand_chacha::ChaCha12Rng; + + use super::*; + + // A version of Poseidon's permutation, without round skips. Has been tested + // against the previous version of Poseidon (replaced since Merge request #521). + fn permutation_cpu_raw(state: &mut [Scalar]) { + for (x, k0) in state.iter_mut().zip(Scalar::ROUND_CONSTANTS[0]) { + *x += k0; + } + for round in 0..NB_FULL_ROUNDS / 2 { + full_round_cpu(round, state); + } + for round in (NB_FULL_ROUNDS / 2..).take(NB_PARTIAL_ROUNDS) { + partial_round_cpu_raw(round, state); + } + for round in (NB_FULL_ROUNDS / 2 + NB_PARTIAL_ROUNDS..).take(NB_FULL_ROUNDS / 2) { + full_round_cpu(round, state); + } + } + // Tests the performances of the cpu version of Poseidon. In debug mode, also + // tests the consistency between the version with and without round skips. + fn consistency_cpu(nb_samples: usize) { + let pre_computed = PreComputedRoundCPU::init(); + let mut rng = ChaCha12Rng::seed_from_u64(0xf007ba11); + (0..nb_samples) .for_each(|_| { let input: [Scalar; WIDTH] = core::array::from_fn(|_| Scalar::rand(&mut rng)); @@ -193,12 +191,12 @@ mod tests { panic!("=> Inconsistencies between the cpu implementations of the permutations.\n\nOn input x = {:?},\n\npermutation_cpu_no_skip(x) = {:?}\n\npermutation_cpu_with_skips(x) = {:?}\n", input, res1, res2) } }); - } - - #[test] - fn cpu_test() { - // Testing cpu performances. In debug mode, also tests the consistency between - // the optimised and non-optimised cpu implementations of the permutation. - consistency_cpu(1); - } + } + + #[test] + fn cpu_test() { + // Testing cpu performances. In debug mode, also tests the consistency between + // the optimised and non-optimised cpu implementations of the permutation. + consistency_cpu(1); + } } diff --git a/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs b/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs index f1cb14dcfb..e141864bdf 100644 --- a/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs +++ b/toolkit/utils/schnorr_jubjub/src/poseidon/round_skips.rs @@ -1,12 +1,10 @@ +use super::constants::{NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, WIDTH}; +use super::{NB_SKIPS_CPU, PoseidonField}; use alloc::vec::Vec; -use core::iter::repeat; -use ark_ed_on_bls12_381::Fq as Scalar; use ark_ec::AdditiveGroup; +use ark_ed_on_bls12_381::Fq as Scalar; use ark_ff::Field; -use super::{PoseidonField, NB_SKIPS_CPU}; -use super::{ - constants::{NB_FULL_ROUNDS, NB_PARTIAL_ROUNDS, WIDTH}, -}; +use core::iter::repeat; /// Maximal number of partial-round skips performed during Poseidon. pub(crate) const NB_SKIPS_MAX: usize = NB_SKIPS_CPU; @@ -28,8 +26,8 @@ type RoundContantsCPU = [[Scalar; WIDTH + NB_SKIPS_CPU]; NB_PARTIAL_ROUNDS / (1 /// only used in precomputations. #[derive(Clone, Copy, Debug)] pub(crate) struct RoundVarId { - var_coeffs: [Scalar; WIDTH + NB_SKIPS_MAX], // Length WIDTH + number of round skips. - const_coeffs: [Scalar; WIDTH * (1 + NB_SKIPS_MAX)], // Length 1 + number of round skips. + var_coeffs: [Scalar; WIDTH + NB_SKIPS_MAX], // Length WIDTH + number of round skips. + const_coeffs: [Scalar; WIDTH * (1 + NB_SKIPS_MAX)], // Length 1 + number of round skips. } /// A set of linear combinations representing a set of polynomial identities @@ -43,8 +41,8 @@ pub(crate) struct RoundVarId { /// identity, simply here for the convenience of the computation). #[derive(Clone, Copy, Debug)] pub(crate) struct RoundId { - pub nb_skips: usize, - ids: [RoundVarId; WIDTH + 1 + NB_SKIPS_MAX], // Real length `WIDTH + 1 + self.nb_skips`. + pub nb_skips: usize, + ids: [RoundVarId; WIDTH + 1 + NB_SKIPS_MAX], // Real length `WIDTH + 1 + self.nb_skips`. } /// Precomputed data for cpu partial rounds (round constants and round @@ -53,196 +51,194 @@ pub(crate) struct RoundId { /// self.partial_round_id.nb_skips)]`. #[derive(Clone, Copy, Debug)] pub struct PreComputedRoundCPU { - pub(crate) round_constants: RoundContantsCPU, - pub(crate) partial_round_id: RoundId, + pub(crate) round_constants: RoundContantsCPU, + pub(crate) partial_round_id: RoundId, } impl RoundVarId { - // `id1.add_and_mul(id2,c)` adds `c * id2` to `id1`. - fn add_and_mul(&mut self, rhs: &Self, c: &Scalar) { - self.var_coeffs - .iter_mut() - .chain(self.const_coeffs.iter_mut()) - .zip(rhs.var_coeffs.iter().chain(rhs.const_coeffs.iter())) - .for_each(|(a, b)| *a += *b * *c) - } - - // Generates a null linear combination. - fn init() -> Self { - RoundVarId { - var_coeffs: [Scalar::ZERO; WIDTH + NB_SKIPS_MAX], - const_coeffs: [Scalar::ZERO; WIDTH * (1 + NB_SKIPS_MAX)], - } - } - - // Generates a linear combination equal to a given constant, modelled by its - // indexes in the field `constants`. - fn from_constant_index(round_offset: &usize, column: &usize) -> Self { - let mut id = Self::init(); - id.const_coeffs[*round_offset * WIDTH + *column] = Scalar::ONE; - id - } - - // Takes a valuation for each variable of the `constants` field, and returns the - // evaluation of the linear combination when evaluating all other variables as - // zero. The argument `instances` has length `1 + self.nb_skips`. - fn eval_constants(&self, instances: &[[Scalar; WIDTH]]) -> Scalar { - self.const_coeffs - .iter() - .zip(instances.iter().flatten()) - .fold(Scalar::ZERO, |accu, (x1, x2)| accu + *x1 * x2) - } - - // Takes a valuation for each variable of `self.var_coeffs` and returns the - // evaluation of the linear combination when evaluating all variables of - // `self.constants` as zero. This function assumes that all non-linear - // variables have already been exponentiated. - fn eval_vars( - &self, - instances: &[Scalar], // Has length `WIDTH + self.nb_skips`. - constant: Scalar, - ) -> Scalar { - self.var_coeffs - .iter() - .zip(instances.iter()) - .fold(constant, |accu, (v1, v2)| accu + *v1 * v2) - } + // `id1.add_and_mul(id2,c)` adds `c * id2` to `id1`. + fn add_and_mul(&mut self, rhs: &Self, c: &Scalar) { + self.var_coeffs + .iter_mut() + .chain(self.const_coeffs.iter_mut()) + .zip(rhs.var_coeffs.iter().chain(rhs.const_coeffs.iter())) + .for_each(|(a, b)| *a += *b * *c) + } + + // Generates a null linear combination. + fn init() -> Self { + RoundVarId { + var_coeffs: [Scalar::ZERO; WIDTH + NB_SKIPS_MAX], + const_coeffs: [Scalar::ZERO; WIDTH * (1 + NB_SKIPS_MAX)], + } + } + + // Generates a linear combination equal to a given constant, modelled by its + // indexes in the field `constants`. + fn from_constant_index(round_offset: &usize, column: &usize) -> Self { + let mut id = Self::init(); + id.const_coeffs[*round_offset * WIDTH + *column] = Scalar::ONE; + id + } + + // Takes a valuation for each variable of the `constants` field, and returns the + // evaluation of the linear combination when evaluating all other variables as + // zero. The argument `instances` has length `1 + self.nb_skips`. + fn eval_constants(&self, instances: &[[Scalar; WIDTH]]) -> Scalar { + self.const_coeffs + .iter() + .zip(instances.iter().flatten()) + .fold(Scalar::ZERO, |accu, (x1, x2)| accu + *x1 * x2) + } + + // Takes a valuation for each variable of `self.var_coeffs` and returns the + // evaluation of the linear combination when evaluating all variables of + // `self.constants` as zero. This function assumes that all non-linear + // variables have already been exponentiated. + fn eval_vars( + &self, + instances: &[Scalar], // Has length `WIDTH + self.nb_skips`. + constant: Scalar, + ) -> Scalar { + self.var_coeffs + .iter() + .zip(instances.iter()) + .fold(constant, |accu, (v1, v2)| accu + *v1 * v2) + } } impl RoundId { - // Generates a new trivial identity. The linear variables are initialised to - // themselves ("x = x"), and the exponentiated variables are initialised to 0 - // ("x = 0"). The latter will be overwritten during the identity generation - // anyway, so their initialisation does not matter. - fn init(nb_skips: usize) -> Self { - RoundId { - nb_skips, - ids: core::array::from_fn(|i| { - if i < WIDTH + 1 + nb_skips { - let mut id = RoundVarId::init(); - if i < WIDTH { - id.var_coeffs[i] = Scalar::ONE - }; - id - } else { - RoundVarId::init() - } - }), - } - } - - // Reconstructs the identity of the current row, assuming that the identities of - // its linear variables are stored in `self.ids[..WIDTH-1]`. This function - // basically copies `self.ids[..WIDTH-1]` in the first `WIDTH-1` elements of the - // result, and adds a trivial identity ("x = x") in the last exponentiated slot. - fn row_id(&self, row: &usize) -> [RoundVarId; WIDTH] { - let mut last = RoundVarId::init(); - last.var_coeffs[WIDTH - 1 + *row] = Scalar::ONE; - core::array::from_fn(|i| if i == WIDTH - 1 { last } else { self.ids[i] }) - } - - // Updates the identity from the current row to the next one by applying a - // partial round. - fn update_row(self: &mut RoundId, round_offset: &usize) { - let current_row = self.row_id(round_offset); - #[allow(clippy::needless_range_loop)] - for i in 0..WIDTH - 1 { - self.ids[i] = RoundVarId::from_constant_index(round_offset, &i); - for j in 0..WIDTH { - self.ids[i].add_and_mul(¤t_row[j], &Scalar::MDS[i][j]); - } - } - self.ids[WIDTH + *round_offset] = - RoundVarId::from_constant_index(round_offset, &(WIDTH - 1)); - #[allow(clippy::needless_range_loop)] - for j in 0..WIDTH { - self.ids[WIDTH + *round_offset].add_and_mul(¤t_row[j], &Scalar::MDS[WIDTH - 1][j]); - } - } - - /// Generates the final identities for an optimised partial rounds, i.e., - /// applies `1+nb_skips` times the function `ids.update_row`. - fn generate(nb_skips: usize) -> Self { - let mut ids = RoundId::init(nb_skips); - for row in 0..1 + nb_skips { - ids.update_row(&row); - } - ids - } - - // Uplifting of the function `RoundVarId::eval_constants` to sets of - // identities. The `instances` argument has length `1 + self.nb_skips`, and the - // result has length `WIDTH + self.nb_skips`. Mutates the `arg` argument to - // store the result. - fn eval_constants(&self, round: usize, arg: &mut [Scalar]) { - let instances = &Scalar::ROUND_CONSTANTS[round + 1..round + 2 + self.nb_skips]; - self.ids[..WIDTH - 1] - .iter() - .chain(self.ids[WIDTH..].iter()) - .map(|id| id.eval_constants(instances)) - .zip(arg.iter_mut()) - .for_each(|(c, x)| *x = c) - } - - /// Uplifting of the function `RoundVarId::eval_vars` to sets of - /// identities, and adds the output of `self.eval_constants` to the result - /// (taken as the `round_constants` argument). Returns the value of - /// the last column of the skipped rows (length `self.nb_skips`, passed as - /// the parameter `NB_SKIPS` so that it can be used as array's length). - pub(crate) fn eval( - &self, - round_constants: &[Scalar], // Length `WIDTH + self.nb_skips`. - instances: &mut [Scalar], // Length `WIDTH`. - ) -> [Scalar; NB_SKIPS] { - let mut pow_instances = [Scalar::ZERO; NB_SKIPS]; - instances[WIDTH - 1] *= instances[WIDTH - 1].square().square(); - let mut pow_instances_exp = instances - .iter() - .chain(repeat(&Scalar::ZERO).take(NB_SKIPS)) - .copied() - .collect::>(); - - #[allow(clippy::reversed_empty_ranges)] - for i in 0..self.nb_skips { - let next = - self.ids[WIDTH + i].eval_vars(&pow_instances_exp, round_constants[WIDTH - 1 + i]); - pow_instances[i] = next; - pow_instances_exp[WIDTH + i] = next.square().square() * next; - } - let mut output = [Scalar::ZERO; WIDTH]; - for i in 0..WIDTH - 1 { - output[i] = self.ids[i].eval_vars(&pow_instances_exp, round_constants[i]); - } - output[WIDTH - 1] = self.ids[WIDTH + NB_SKIPS] - .eval_vars(&pow_instances_exp, round_constants[WIDTH + NB_SKIPS - 1]); - instances.copy_from_slice(&output); - pow_instances - } - - // Computes the round constants necessary for partial-round (cpu) with - // round skips. - fn round_constants_cpu(&self) -> RoundContantsCPU { - let mut v = [[Scalar::ZERO; WIDTH + NB_SKIPS_CPU]; NB_PARTIAL_ROUNDS / (1 + NB_SKIPS_CPU)]; - for (round, main_round) in (NB_FULL_ROUNDS / 2..) - .take(NB_PARTIAL_ROUNDS - NB_PARTIAL_ROUNDS % (1 + NB_SKIPS_CPU)) - .step_by(1 + NB_SKIPS_CPU) - .zip(0..) - { - self.eval_constants(round, &mut v[main_round]) - } - v - } + // Generates a new trivial identity. The linear variables are initialised to + // themselves ("x = x"), and the exponentiated variables are initialised to 0 + // ("x = 0"). The latter will be overwritten during the identity generation + // anyway, so their initialisation does not matter. + fn init(nb_skips: usize) -> Self { + RoundId { + nb_skips, + ids: core::array::from_fn(|i| { + if i < WIDTH + 1 + nb_skips { + let mut id = RoundVarId::init(); + if i < WIDTH { + id.var_coeffs[i] = Scalar::ONE + }; + id + } else { + RoundVarId::init() + } + }), + } + } + + // Reconstructs the identity of the current row, assuming that the identities of + // its linear variables are stored in `self.ids[..WIDTH-1]`. This function + // basically copies `self.ids[..WIDTH-1]` in the first `WIDTH-1` elements of the + // result, and adds a trivial identity ("x = x") in the last exponentiated slot. + fn row_id(&self, row: &usize) -> [RoundVarId; WIDTH] { + let mut last = RoundVarId::init(); + last.var_coeffs[WIDTH - 1 + *row] = Scalar::ONE; + core::array::from_fn(|i| if i == WIDTH - 1 { last } else { self.ids[i] }) + } + + // Updates the identity from the current row to the next one by applying a + // partial round. + fn update_row(self: &mut RoundId, round_offset: &usize) { + let current_row = self.row_id(round_offset); + #[allow(clippy::needless_range_loop)] + for i in 0..WIDTH - 1 { + self.ids[i] = RoundVarId::from_constant_index(round_offset, &i); + for j in 0..WIDTH { + self.ids[i].add_and_mul(¤t_row[j], &Scalar::MDS[i][j]); + } + } + self.ids[WIDTH + *round_offset] = + RoundVarId::from_constant_index(round_offset, &(WIDTH - 1)); + #[allow(clippy::needless_range_loop)] + for j in 0..WIDTH { + self.ids[WIDTH + *round_offset] + .add_and_mul(¤t_row[j], &Scalar::MDS[WIDTH - 1][j]); + } + } + + /// Generates the final identities for an optimised partial rounds, i.e., + /// applies `1+nb_skips` times the function `ids.update_row`. + fn generate(nb_skips: usize) -> Self { + let mut ids = RoundId::init(nb_skips); + for row in 0..1 + nb_skips { + ids.update_row(&row); + } + ids + } + + // Uplifting of the function `RoundVarId::eval_constants` to sets of + // identities. The `instances` argument has length `1 + self.nb_skips`, and the + // result has length `WIDTH + self.nb_skips`. Mutates the `arg` argument to + // store the result. + fn eval_constants(&self, round: usize, arg: &mut [Scalar]) { + let instances = &Scalar::ROUND_CONSTANTS[round + 1..round + 2 + self.nb_skips]; + self.ids[..WIDTH - 1] + .iter() + .chain(self.ids[WIDTH..].iter()) + .map(|id| id.eval_constants(instances)) + .zip(arg.iter_mut()) + .for_each(|(c, x)| *x = c) + } + + /// Uplifting of the function `RoundVarId::eval_vars` to sets of + /// identities, and adds the output of `self.eval_constants` to the result + /// (taken as the `round_constants` argument). Returns the value of + /// the last column of the skipped rows (length `self.nb_skips`, passed as + /// the parameter `NB_SKIPS` so that it can be used as array's length). + pub(crate) fn eval( + &self, + round_constants: &[Scalar], // Length `WIDTH + self.nb_skips`. + instances: &mut [Scalar], // Length `WIDTH`. + ) -> [Scalar; NB_SKIPS] { + let mut pow_instances = [Scalar::ZERO; NB_SKIPS]; + instances[WIDTH - 1] *= instances[WIDTH - 1].square().square(); + let mut pow_instances_exp = instances + .iter() + .chain(repeat(&Scalar::ZERO).take(NB_SKIPS)) + .copied() + .collect::>(); + + #[allow(clippy::reversed_empty_ranges)] + for i in 0..self.nb_skips { + let next = + self.ids[WIDTH + i].eval_vars(&pow_instances_exp, round_constants[WIDTH - 1 + i]); + pow_instances[i] = next; + pow_instances_exp[WIDTH + i] = next.square().square() * next; + } + let mut output = [Scalar::ZERO; WIDTH]; + for i in 0..WIDTH - 1 { + output[i] = self.ids[i].eval_vars(&pow_instances_exp, round_constants[i]); + } + output[WIDTH - 1] = self.ids[WIDTH + NB_SKIPS] + .eval_vars(&pow_instances_exp, round_constants[WIDTH + NB_SKIPS - 1]); + instances.copy_from_slice(&output); + pow_instances + } + + // Computes the round constants necessary for partial-round (cpu) with + // round skips. + fn round_constants_cpu(&self) -> RoundContantsCPU { + let mut v = [[Scalar::ZERO; WIDTH + NB_SKIPS_CPU]; NB_PARTIAL_ROUNDS / (1 + NB_SKIPS_CPU)]; + for (round, main_round) in (NB_FULL_ROUNDS / 2..) + .take(NB_PARTIAL_ROUNDS - NB_PARTIAL_ROUNDS % (1 + NB_SKIPS_CPU)) + .step_by(1 + NB_SKIPS_CPU) + .zip(0..) + { + self.eval_constants(round, &mut v[main_round]) + } + v + } } impl PreComputedRoundCPU { - /// Pre-computes partial rounds and the associated round contants for - /// Poseidon's using NB_SKIPS_CPU round skips. - pub fn init() -> Self { - let partial_round_id = RoundId::generate(NB_SKIPS_CPU); - let round_constants = partial_round_id.round_constants_cpu(); - PreComputedRoundCPU { - partial_round_id, - round_constants, - } - } + /// Pre-computes partial rounds and the associated round contants for + /// Poseidon's using NB_SKIPS_CPU round skips. + pub fn init() -> Self { + let partial_round_id = RoundId::generate(NB_SKIPS_CPU); + let round_constants = partial_round_id.round_constants_cpu(); + PreComputedRoundCPU { partial_round_id, round_constants } + } } diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index 57c32c90d2..ed314c4477 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -10,14 +10,14 @@ use alloc::vec; use alloc::vec::Vec; use core::fmt::Debug; -use rand_chacha::rand_core::{RngCore}; +use rand_chacha::rand_core::RngCore; use sha2::Digest; use crate::poseidon::{PoseidonError, PoseidonJubjub}; -use ark_ed_on_bls12_381::{Fr, EdwardsAffine as Point, Fq as Scalar}; -use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; -use ark_ff::{Field, UniformRand}; use ark_ec::AffineRepr; +use ark_ed_on_bls12_381::{EdwardsAffine as Point, Fq as Scalar, Fr}; +use ark_ff::{Field, UniformRand}; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; /// A Schnorr private key is a scalar from the Jubjub scalar field. #[derive(Clone, Debug)] @@ -72,7 +72,8 @@ impl KeyPair { /// Generates a Schnorr keypair from a seed. pub fn generate_from_seed(seed: [u8; 64]) -> Self { - let sk = Fr::from_random_bytes(&seed).expect("Failed to construct Fr from bytes. This is a bug."); + let sk = Fr::from_random_bytes(&seed) + .expect("Failed to construct Fr from bytes. This is a bug."); let pk = Point::generator() * sk; Self(sk, pk.into()) } @@ -87,16 +88,21 @@ impl KeyPair { /// A Schnorr `Signature`. pub fn sign(&self, msg: &[Scalar]) -> SchnorrSignature { let mut bytes_nonce = [0u8; 32]; - self.0.serialize_compressed(bytes_nonce.as_mut_slice()).expect("Failed to serialize."); + self.0 + .serialize_compressed(bytes_nonce.as_mut_slice()) + .expect("Failed to serialize."); for scalar in msg { - scalar.serialize_compressed(bytes_nonce.as_mut_slice()).expect("Failed to serialize."); + scalar + .serialize_compressed(bytes_nonce.as_mut_slice()) + .expect("Failed to serialize."); } // Generate a random nonce // TODO: We compute it deterministically (as done in ed25519) to avoid needing a RNG let h = sha2::Sha512::digest(&bytes_nonce); - let a = Fr::from_random_bytes(&h).expect("Failed to generate number from bytes. This is a bug."); + let a = Fr::from_random_bytes(&h) + .expect("Failed to generate number from bytes. This is a bug."); let A = (Point::generator() * a).into(); // Compute challenge e = H(R || PK || msg) @@ -151,8 +157,10 @@ impl SchnorrSignature { return Err(SchnorrError::InvalidSignatureFormat); } - let A = Point::deserialize_compressed(&bytes[..32]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; - let r = Fr::deserialize_compressed(&bytes[32..]).map_err(|_| SchnorrError::InvalidSignatureFormat)?; + let A = Point::deserialize_compressed(&bytes[..32]) + .map_err(|_| SchnorrError::InvalidSignatureFormat)?; + let r = Fr::deserialize_compressed(&bytes[32..]) + .map_err(|_| SchnorrError::InvalidSignatureFormat)?; Ok(Self { A, r }) } diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index b012882e71..04f4a34167 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -75,7 +75,8 @@ impl RuntimePublic for Public { } fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let seed: [u8; 64] = seed.expect("Only support key generation from given seed.") + let seed: [u8; 64] = seed + .expect("Only support key generation from given seed.") .try_into() .expect("Invalid seed size."); From c93cbd286d926308a957a3d4ba64a288b7dc56f7 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Mon, 23 Jun 2025 11:49:30 +0200 Subject: [PATCH 29/51] Add cargo lock --- Cargo.lock | 14317 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 14317 insertions(+) create mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..fb1dd19aea --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,14317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.3", +] + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli 0.31.1", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher 0.4.4", + "ctr", + "ghash", + "subtle 2.6.1", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.3", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" + +[[package]] +name = "anstyle-parse" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.59.0", +] + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "aquamarine" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "ark-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-381" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.4", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ed-on-bls12-381" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba93ca6e75e5f589c139e5a41ebd783ebf2153de0025cd2b00da2963929c92ec" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1786b2e3832f6f0f7c8d62d5d5a282f6952a1ab99981c54cd52b6ac1d8f02df5" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.103", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.4", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive 0.4.2", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-transcript" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c1c928edb9d8ff24cb5dcb7651d3a98494fff3099eee95c2404cd813a9139f" +dependencies = [ + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", +] + +[[package]] +name = "ark-vrf" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9501da18569b2afe0eb934fb7afd5a247d238b94116155af4dd068f319adfe6d" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-ec 0.5.0", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "digest 0.10.7", + "rand_chacha 0.3.1", + "sha2 0.10.9", + "w3f-ring-proof", + "zeroize", +] + +[[package]] +name = "array-bytes" +version = "6.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" + +[[package]] +name = "array-bytes" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d55334c98d756b32dcceb60248647ab34f027690f87f9a362fd292676ee927" +dependencies = [ + "smallvec", + "thiserror 2.0.12", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "asn1-rs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +dependencies = [ + "asn1-rs-derive 0.5.1", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "asn1-rs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +dependencies = [ + "asn1-rs-derive 0.6.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror 2.0.12", + "time", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "synstructure 0.13.2", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "synstructure 0.13.2", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "assert_cmd" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" +dependencies = [ + "anstyle", + "bstr", + "doc-comment", + "libc", + "predicates", + "predicates-core", + "predicates-tree", + "wait-timeout", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-io" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 1.0.7", + "slab", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener 5.4.0", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "asynchronous-codec" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", +] + +[[package]] +name = "asynchronous-codec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "attohttpc" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +dependencies = [ + "http 0.2.12", + "log", + "url", +] + +[[package]] +name = "authority-selection-inherents" +version = "1.7.0" +dependencies = [ + "async-trait", + "frame-support", + "hex", + "hex-literal 1.0.0", + "log", + "minicbor", + "num-bigint", + "num-traits", + "parity-scale-codec", + "plutus", + "plutus-datum-derive", + "scale-info", + "schnorr_jubjub", + "selection", + "serde", + "sidechain-domain", + "sidechain-slots", + "sp-api", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-session-validator-management", + "sp-std", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "backtrace" +version = "0.3.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +dependencies = [ + "addr2line 0.24.2", + "cfg-if", + "libc", + "miniz_oxide", + "object 0.36.7", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base-x" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + +[[package]] +name = "bech32" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dabbe35f96fb9507f7330793dc490461b2962659ac5d427181e451a623751d1" + +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + +[[package]] +name = "bech32" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" + +[[package]] +name = "bigdecimal" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" +dependencies = [ + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "binary-merkle-tree" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.103", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + +[[package]] +name = "bitcoin-io" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" + +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative 0.1.2", +] + +[[package]] +name = "bitcoin_hashes" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +dependencies = [ + "bitcoin-io", + "hex-conservative 0.2.1", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" +dependencies = [ + "byte-tools", + "crypto-mac", + "digest 0.8.1", + "opaque-debug 0.2.3", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "constant_time_eq", +] + +[[package]] +name = "blake2s_simd" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "cc", + "cfg-if", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "blst" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fd49896f12ac9b6dcd7a5998466b9b58263a695a3dd1ecc1aaca2e12a90b080" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bollard-stubs" +version = "1.42.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed59b5c00048f48d7af971b71f800fdf23e858844a6f9e4d32ca72e9399e7864" +dependencies = [ + "serde", + "serde_with", +] + +[[package]] +name = "bounded-collections" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" +dependencies = [ + "log", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bstr" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +dependencies = [ + "memchr", + "regex-automata 0.4.9", + "serde", +] + +[[package]] +name = "build-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" +dependencies = [ + "semver 0.6.0", +] + +[[package]] +name = "bumpalo" +version = "3.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" + +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + +[[package]] +name = "byte-string-derive" +version = "1.7.0" +dependencies = [ + "hex", + "quote", + "serde", + "serde_test", + "sp-core", + "syn 2.0.103", +] + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "bytemuck" +version = "1.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher 0.2.5", + "ppv-lite86", +] + +[[package]] +name = "camino" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +dependencies = [ + "serde", +] + +[[package]] +name = "cardano-serialization-lib" +version = "14.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a894086cb078655b52a9478ae50e1f7b11f3a16fb02e2f11fe63b63644462c" +dependencies = [ + "bech32 0.7.3", + "cbor_event", + "cfg-if", + "clear_on_drop", + "cryptoxide", + "digest 0.9.0", + "ed25519-bip32", + "getrandom 0.2.16", + "hashlink 0.9.1", + "hex", + "itertools 0.10.5", + "js-sys", + "noop_proc_macro", + "num", + "num-bigint", + "num-derive", + "num-integer", + "num-traits", + "rand 0.8.5", + "rand_os", + "schemars", + "serde", + "serde-wasm-bindgen", + "serde_json", + "sha2 0.9.9", + "wasm-bindgen", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "cbor_event" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" + +[[package]] +name = "cc" +version = "1.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-if" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf3c081b5fba1e5615640aae998e0fbd10c24cbd897ee39ed754a77601a4862" +dependencies = [ + "byteorder", + "keystream", +] + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20", + "cipher 0.4.4", + "poly1305", + "zeroize", +] + +[[package]] +name = "chrono" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "cid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" +dependencies = [ + "core2", + "multibase", + "multihash 0.17.0", + "serde", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "cid" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" +dependencies = [ + "core2", + "multibase", + "multihash 0.19.3", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "clap" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", + "terminal_size", +] + +[[package]] +name = "clap_derive" +version = "4.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "clap_lex" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" + +[[package]] +name = "clear_on_drop" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38508a63f4979f0048febc9966fadbd48e5dab31fd0ec6a3f151bbf4a74f7423" +dependencies = [ + "cc", +] + +[[package]] +name = "cli-commands" +version = "1.7.0" +dependencies = [ + "anyhow", + "assert_cmd", + "clap", + "ed25519-zebra", + "hex", + "hex-literal 1.0.0", + "k256", + "pallet-address-associations", + "parity-scale-codec", + "plutus", + "plutus-datum-derive", + "pretty_assertions", + "secp256k1 0.30.0", + "serde", + "serde_json", + "sidechain-domain", + "sp-api", + "sp-block-producer-metadata", + "sp-blockchain", + "sp-io", + "sp-runtime", + "sp-sidechain", + "thiserror 2.0.12", +] + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "codespan-reporting" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" +dependencies = [ + "serde", + "termcolor", + "unicode-width 0.2.1", +] + +[[package]] +name = "colorchoice" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + +[[package]] +name = "colored" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "common-path" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width 0.2.1", + "windows-sys 0.59.0", +] + +[[package]] +name = "const-hex" +version = "1.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.16", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "cranelift-bforest" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" +dependencies = [ + "bumpalo", + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-entity", + "cranelift-isle", + "gimli 0.27.3", + "hashbrown 0.13.2", + "log", + "regalloc2 0.6.1", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" +dependencies = [ + "cranelift-codegen-shared", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" + +[[package]] +name = "cranelift-entity" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" +dependencies = [ + "serde", +] + +[[package]] +name = "cranelift-frontend" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-isle" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" + +[[package]] +name = "cranelift-native" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" +dependencies = [ + "cranelift-codegen", + "libc", + "target-lexicon", +] + +[[package]] +name = "cranelift-wasm" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "itertools 0.10.5", + "log", + "smallvec", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crossterm" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", + "mio 0.8.11", + "parking_lot 0.12.4", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.4", + "subtle 1.0.0", +] + +[[package]] +name = "cryptoxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382ce8820a5bb815055d3553a610e8cb542b2d767bbacea99038afda96cd760d" + +[[package]] +name = "ctor" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4735f265ba6a1188052ca32d461028a7d1125868be18e287e756019da7607b5" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f211af61d8efdd104f96e57adf5e426ba1bc3ed7a4ead616e15e5881fd79c4d" + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher 0.4.4", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rustc_version", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "cxx" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" +dependencies = [ + "cc", + "cxxbridge-cmd", + "cxxbridge-flags", + "cxxbridge-macro", + "foldhash", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" +dependencies = [ + "cc", + "codespan-reporting", + "proc-macro2", + "quote", + "scratch", + "syn 2.0.103", +] + +[[package]] +name = "cxxbridge-cmd" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" +dependencies = [ + "clap", + "codespan-reporting", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" +dependencies = [ + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.103", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.11", +] + +[[package]] +name = "data-encoding" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" + +[[package]] +name = "data-encoding-macro" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" +dependencies = [ + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" +dependencies = [ + "data-encoding", + "syn 2.0.103", +] + +[[package]] +name = "db-sync-sqlx" +version = "1.7.0" +dependencies = [ + "num-traits", + "sidechain-domain", + "sqlx", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "der-parser" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +dependencies = [ + "asn1-rs 0.6.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +dependencies = [ + "asn1-rs 0.7.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "deranged" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive-new" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "derive-syn-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "derive-where" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "derive_more" +version = "0.99.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.103", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "destructure_traitobject" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle 2.6.1", +] + +[[package]] +name = "directories" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "docify" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a772b62b1837c8f060432ddcc10b17aae1453ef17617a99bc07789252d2a5896" +dependencies = [ + "docify_macros", +] + +[[package]] +name = "docify_macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60e6be249b0a462a14784a99b19bf35a667bb5e09de611738bb7362fa4c95ff7" +dependencies = [ + "common-path", + "derive-syn-parse", + "once_cell", + "proc-macro2", + "quote", + "regex", + "syn 2.0.103", + "termcolor", + "toml 0.8.23", + "walkdir", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + +[[package]] +name = "dtoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" + +[[package]] +name = "dtor" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cbdf2ad6846025e8e25df05171abfb30e3ababa12ee0a0e44b9bbe570633a8" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7454e41ff9012c00d53cf7f475c5e3afa3b91b7c90568495495e8d9bf47a1055" + +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "serdect", + "signature", + "spki", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "serde", + "signature", +] + +[[package]] +name = "ed25519-bip32" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb588f93c0d91b2f668849fd6d030cddb0b2e31f105963be189da5acdf492a21" +dependencies = [ + "cryptoxide", +] + +[[package]] +name = "ed25519-dalek" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2 0.10.9", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "ed25519-zebra" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "hashbrown 0.14.5", + "hex", + "rand_core 0.6.4", + "serde", + "sha2 0.10.9", + "zeroize", +] + +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array 0.14.7", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "serdect", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "env_filter" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + +[[package]] +name = "environmental" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" + +[[package]] +name = "envy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener 5.4.0", + "pin-project-lite", +] + +[[package]] +name = "exit-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" +dependencies = [ + "futures", +] + +[[package]] +name = "expander" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" +dependencies = [ + "blake2 0.10.6", + "file-guard", + "fs-err", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fdlimit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" +dependencies = [ + "libc", + "thiserror 1.0.69", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle 2.6.1", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "figment" +version = "0.10.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3" +dependencies = [ + "atomic", + "parking_lot 0.12.4", + "pear", + "serde", + "tempfile", + "uncased", + "version_check", +] + +[[package]] +name = "file-guard" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "file-per-thread-logger" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" +dependencies = [ + "env_logger 0.10.2", + "log", +] + +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "finality-grandpa" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4f8f43dc520133541781ec03a8cab158ae8b7f7169cdf22e9050aa6cf0fbdfc" +dependencies = [ + "either", + "futures", + "futures-timer", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.4", + "scale-info", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin 0.9.8", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "fork-tree" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "forwarded-header-value" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror 1.0.69", +] + +[[package]] +name = "fraction" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f158e3ff0a1b334408dc9fb811cd99b446986f4d8b741bb08f9df1604085ae7" +dependencies = [ + "num", + "serde", + "serde_derive", +] + +[[package]] +name = "fragile" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" + +[[package]] +name = "frame-benchmarking" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "frame-support-procedural", + "frame-system", + "linregress", + "log", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-storage", + "static_assertions", +] + +[[package]] +name = "frame-executive" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "aquamarine", + "frame-support", + "frame-system", + "frame-try-runtime", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-tracing", +] + +[[package]] +name = "frame-metadata" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8c26fcb0454397c522c05fdad5380c4e622f8a875638af33bff5a320d1fc965" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "frame-metadata-hash-extension" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "const-hex", + "docify", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + +[[package]] +name = "frame-support" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "aquamarine", + "array-bytes 6.2.3", + "binary-merkle-tree", + "bitflags 1.3.2", + "docify", + "environmental", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "k256", + "log", + "macro_magic", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "serde_json", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-weights", + "tt-call", +] + +[[package]] +name = "frame-support-procedural" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "Inflector", + "cfg-expr", + "derive-syn-parse", + "docify", + "expander", + "frame-support-procedural-tools", + "itertools 0.11.0", + "macro_magic", + "proc-macro-warning", + "proc-macro2", + "quote", + "sp-crypto-hashing", + "syn 2.0.103", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "frame-system" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "cfg-if", + "docify", + "frame-support", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", + "sp-weights", +] + +[[package]] +name = "frame-system-benchmarking" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "frame-system-rpc-runtime-api" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "frame-try-runtime" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "parity-scale-codec", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-bounded" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91f328e7fb845fc832912fb6a34f40cf6d1888c92f974d1893a54e97b5ff542e" +dependencies = [ + "futures-timer", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.12.4", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "futures-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb" +dependencies = [ + "futures-io", + "rustls", + "rustls-pki-types", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generator" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +dependencies = [ + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.61.3", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "getrandom_or_panic" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" +dependencies = [ + "rand 0.8.5", + "rand_core 0.6.4", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug 0.3.1", + "polyval", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +dependencies = [ + "fallible-iterator 0.2.0", + "indexmap 1.9.3", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +dependencies = [ + "fallible-iterator 0.3.0", + "stable_deref_trait", +] + +[[package]] +name = "glob" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" + +[[package]] +name = "governor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +dependencies = [ + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.4", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle 2.6.1", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.9.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.3.1", + "indexmap 2.9.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hamming" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1" + +[[package]] +name = "hash-db" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" + +[[package]] +name = "hash256-std-hasher" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.4", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + +[[package]] +name = "hex-conservative" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" +dependencies = [ + "arrayvec 0.7.6", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hex-literal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" + +[[package]] +name = "hickory-proto" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.8.5", + "socket2", + "thiserror 1.0.69", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-proto" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.9.1", + "ring 0.17.14", + "thiserror 2.0.12", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto 0.24.4", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot 0.12.4", + "rand 0.8.5", + "resolv-conf", + "smallvec", + "thiserror 1.0.69", + "tokio", + "tracing", +] + +[[package]] +name = "hickory-resolver" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto 0.25.2", + "ipconfig", + "moka", + "once_cell", + "parking_lot 0.12.4", + "rand 0.9.1", + "resolv-conf", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tracing", +] + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" + +[[package]] +name = "hyper" +version = "0.14.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.10", + "http 1.3.1", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http 1.3.1", + "hyper 1.6.0", + "hyper-util", + "log", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "hyper 1.6.0", + "libc", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.61.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "if-addrs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "if-watch" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" +dependencies = [ + "async-io", + "core-foundation 0.9.4", + "fnv", + "futures", + "if-addrs", + "ipnet", + "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-proto", + "netlink-sys", + "rtnetlink", + "system-configuration", + "tokio", + "windows 0.53.0", +] + +[[package]] +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures", + "http 0.2.12", + "hyper 0.14.32", + "log", + "rand 0.8.5", + "tokio", + "url", + "xmltree", +] + +[[package]] +name = "impl-codec" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint 0.10.0", +] + +[[package]] +name = "impl-serde" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "include_dir" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown 0.15.4", +] + +[[package]] +name = "inlinable_string" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "inquire" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a" +dependencies = [ + "bitflags 2.9.1", + "crossterm", + "dyn-clone", + "fuzzy-matcher", + "fxhash", + "newline-converter", + "once_cell", + "unicode-segmentation", + "unicode-width 0.1.14", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ip_network" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" + +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2", + "widestring", + "windows-sys 0.48.0", + "winreg", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "is-terminal" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi 0.5.2", + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +dependencies = [ + "getrandom 0.3.3", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpsee" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" +dependencies = [ + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-server", + "jsonrpsee-types", + "jsonrpsee-ws-client", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.3.1", + "jsonrpsee-core", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" +dependencies = [ + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types", + "parking_lot 0.12.4", + "pin-project", + "rand 0.8.5", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c872b6c9961a4ccc543e321bb5b89f6b2d2c7fe8b61906918273a3333c95400c" +dependencies = [ + "async-trait", + "base64 0.22.1", + "http-body 1.0.1", + "hyper 1.6.0", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types", + "rustls", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" +dependencies = [ + "heck 0.5.0", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" +dependencies = [ + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.6.0", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "route-recognizer", + "serde", + "serde_json", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" +dependencies = [ + "http 1.3.1", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" +dependencies = [ + "http 1.3.1", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", + "url", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "serdect", + "sha2 0.10.9", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keystream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" + +[[package]] +name = "kvdb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" +dependencies = [ + "smallvec", +] + +[[package]] +name = "kvdb-memorydb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" +dependencies = [ + "kvdb", + "parking_lot 0.12.4", +] + +[[package]] +name = "kvdb-rocksdb" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" +dependencies = [ + "kvdb", + "num_cpus", + "parking_lot 0.12.4", + "regex", + "rocksdb", + "smallvec", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.174" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" + +[[package]] +name = "libloading" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +dependencies = [ + "cfg-if", + "windows-targets 0.53.2", +] + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libp2p" +version = "0.54.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" +dependencies = [ + "bytes", + "either", + "futures", + "futures-timer", + "getrandom 0.2.16", + "libp2p-allow-block-list", + "libp2p-connection-limits", + "libp2p-core", + "libp2p-dns", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", + "libp2p-noise", + "libp2p-ping", + "libp2p-quic", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-tcp", + "libp2p-upnp", + "libp2p-websocket", + "libp2p-yamux", + "multiaddr 0.18.2", + "pin-project", + "rw-stream-sink", + "thiserror 1.0.69", +] + +[[package]] +name = "libp2p-allow-block-list" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-core" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-identity", + "multiaddr 0.18.2", + "multihash 0.19.3", + "multistream-select", + "once_cell", + "parking_lot 0.12.4", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink", + "smallvec", + "thiserror 1.0.69", + "tracing", + "unsigned-varint 0.8.0", + "void", + "web-time", +] + +[[package]] +name = "libp2p-dns" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" +dependencies = [ + "async-trait", + "futures", + "hickory-resolver 0.24.4", + "libp2p-core", + "libp2p-identity", + "parking_lot 0.12.4", + "smallvec", + "tracing", +] + +[[package]] +name = "libp2p-identify" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1711b004a273be4f30202778856368683bd9a83c4c7dcc8f848847606831a4e3" +dependencies = [ + "asynchronous-codec 0.7.0", + "either", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "lru 0.12.5", + "quick-protobuf", + "quick-protobuf-codec", + "smallvec", + "thiserror 1.0.69", + "tracing", + "void", +] + +[[package]] +name = "libp2p-identity" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" +dependencies = [ + "bs58", + "ed25519-dalek", + "hkdf", + "multihash 0.19.3", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.9", + "thiserror 2.0.12", + "tracing", + "zeroize", +] + +[[package]] +name = "libp2p-kad" +version = "0.46.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" +dependencies = [ + "arrayvec 0.7.6", + "asynchronous-codec 0.7.0", + "bytes", + "either", + "fnv", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "sha2 0.10.9", + "smallvec", + "thiserror 1.0.69", + "tracing", + "uint 0.9.5", + "void", + "web-time", +] + +[[package]] +name = "libp2p-mdns" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" +dependencies = [ + "data-encoding", + "futures", + "hickory-proto 0.24.4", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand 0.8.5", + "smallvec", + "socket2", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-metrics" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ebafa94a717c8442d8db8d3ae5d1c6a15e30f2d347e0cd31d057ca72e42566" +dependencies = [ + "futures", + "libp2p-core", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-ping", + "libp2p-swarm", + "pin-project", + "prometheus-client", + "web-time", +] + +[[package]] +name = "libp2p-noise" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36b137cb1ae86ee39f8e5d6245a296518912014eaa87427d24e6ff58cfc1b28c" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "curve25519-dalek", + "futures", + "libp2p-core", + "libp2p-identity", + "multiaddr 0.18.2", + "multihash 0.19.3", + "once_cell", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.9", + "snow", + "static_assertions", + "thiserror 1.0.69", + "tracing", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-ping" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "005a34420359223b974ee344457095f027e51346e992d1e0dcd35173f4cdd422" +dependencies = [ + "either", + "futures", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand 0.8.5", + "tracing", + "void", + "web-time", +] + +[[package]] +name = "libp2p-quic" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", + "parking_lot 0.12.4", + "quinn", + "rand 0.8.5", + "ring 0.17.14", + "rustls", + "socket2", + "thiserror 1.0.69", + "tokio", + "tracing", +] + +[[package]] +name = "libp2p-request-response" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1356c9e376a94a75ae830c42cdaea3d4fe1290ba409a22c809033d1b7dcab0a6" +dependencies = [ + "async-trait", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand 0.8.5", + "smallvec", + "tracing", + "void", + "web-time", +] + +[[package]] +name = "libp2p-swarm" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm-derive", + "lru 0.12.5", + "multistream-select", + "once_cell", + "rand 0.8.5", + "smallvec", + "tokio", + "tracing", + "void", + "web-time", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "libp2p-tcp" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad964f312c59dcfcac840acd8c555de8403e295d39edf96f5240048b5fcaa314" +dependencies = [ + "futures", + "futures-timer", + "if-watch", + "libc", + "libp2p-core", + "libp2p-identity", + "socket2", + "tokio", + "tracing", +] + +[[package]] +name = "libp2p-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b23dddc2b9c355f73c1e36eb0c3ae86f7dc964a3715f0731cfad352db4d847" +dependencies = [ + "futures", + "futures-rustls", + "libp2p-core", + "libp2p-identity", + "rcgen", + "ring 0.17.14", + "rustls", + "rustls-webpki 0.101.7", + "thiserror 1.0.69", + "x509-parser 0.16.0", + "yasna", +] + +[[package]] +name = "libp2p-upnp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01bf2d1b772bd3abca049214a3304615e6a36fa6ffc742bdd1ba774486200b8f" +dependencies = [ + "futures", + "futures-timer", + "igd-next", + "libp2p-core", + "libp2p-swarm", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-websocket" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "888b2ff2e5d8dcef97283daab35ad1043d18952b65e05279eecbe02af4c6e347" +dependencies = [ + "either", + "futures", + "futures-rustls", + "libp2p-core", + "libp2p-identity", + "parking_lot 0.12.4", + "pin-project-lite", + "rw-stream-sink", + "soketto", + "thiserror 1.0.69", + "tracing", + "url", + "webpki-roots 0.25.4", +] + +[[package]] +name = "libp2p-yamux" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "788b61c80789dba9760d8c669a5bedb642c8267555c803fabd8396e4ca5c5882" +dependencies = [ + "either", + "futures", + "libp2p-core", + "thiserror 1.0.69", + "tracing", + "yamux 0.12.1", + "yamux 0.13.5", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.1", + "libc", + "redox_syscall 0.5.13", +] + +[[package]] +name = "librocksdb-sys" +version = "0.11.0+8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "tikv-jemalloc-sys", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" +dependencies = [ + "arrayref", + "base64 0.22.1", + "digest 0.9.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle 2.6.1", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "link-cplusplus" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212" +dependencies = [ + "cc", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linked_hash_set" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "linregress" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" +dependencies = [ + "nalgebra", +] + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "lioness" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae926706ba42c425c9457121178330d75e273df2e82e28b758faf3de3a9acb9" +dependencies = [ + "arrayref", + "blake2 0.8.1", + "chacha", + "keystream", +] + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "litep2p" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14fb10e63363204b89d91e1292df83322fd9de5d7fa76c3d5c78ddc2f8f3efa9" +dependencies = [ + "async-trait", + "bs58", + "bytes", + "cid 0.11.1", + "ed25519-dalek", + "futures", + "futures-timer", + "hickory-resolver 0.25.2", + "indexmap 2.9.0", + "libc", + "mockall", + "multiaddr 0.17.1", + "multihash 0.17.0", + "network-interface", + "parking_lot 0.12.4", + "pin-project", + "prost 0.13.5", + "prost-build", + "rand 0.8.5", + "serde", + "sha2 0.10.9", + "simple-dns", + "smallvec", + "snow", + "socket2", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tokio-util", + "tracing", + "uint 0.10.0", + "unsigned-varint 0.8.0", + "url", + "x25519-dalek", + "x509-parser 0.17.0", + "yamux 0.13.5", + "yasna", + "zeroize", +] + +[[package]] +name = "lock_api" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +dependencies = [ + "serde", +] + +[[package]] +name = "log-mdc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" + +[[package]] +name = "log4rs" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6" +dependencies = [ + "anyhow", + "arc-swap", + "chrono", + "derivative", + "fnv", + "humantime", + "libc", + "log", + "log-mdc", + "once_cell", + "parking_lot 0.12.4", + "rand 0.8.5", + "serde", + "serde-value", + "serde_json", + "serde_yaml", + "thiserror 1.0.69", + "thread-id", + "typemap-ors", + "winapi", +] + +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.4", +] + +[[package]] +name = "lru" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" +dependencies = [ + "hashbrown 0.15.4", +] + +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "lz4" +version = "1.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" +dependencies = [ + "lz4-sys", +] + +[[package]] +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "macro_magic" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" +dependencies = [ + "macro_magic_core", + "macro_magic_macros", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "macro_magic_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" +dependencies = [ + "const-random", + "derive-syn-parse", + "macro_magic_core_macros", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "macro_magic_core_macros" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "macro_magic_macros" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" +dependencies = [ + "macro_magic_core", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "memfd" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +dependencies = [ + "rustix 0.38.44", +] + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memory-db" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6da20dba965bd218a14c3b335b90d3e07c09ede190c7c19b50deb23d418a322" +dependencies = [ + "hash-db", + "hashbrown 0.15.4", +] + +[[package]] +name = "merkleized-metadata" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e3e3f549d27d2dc054372f320ddf68045a833fab490563ff70d4cf1b9d91ea" +dependencies = [ + "array-bytes 9.3.0", + "blake3", + "frame-metadata", + "parity-scale-codec", + "scale-decode", + "scale-info", +] + +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "miette" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +dependencies = [ + "miette-derive", + "once_cell", + "thiserror 1.0.69", + "unicode-width 0.1.14", +] + +[[package]] +name = "miette-derive" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "minicbor" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0452a60c1863c1f50b5f77cd295e8d2786849f35883f0b9e18e7e6e1b5691b0" +dependencies = [ + "half", + "minicbor-derive", +] + +[[package]] +name = "minicbor-derive" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "mio" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", +] + +[[package]] +name = "mixnet" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "bitflags 1.3.2", + "blake2 0.10.6", + "c2-chacha", + "curve25519-dalek", + "either", + "hashlink 0.8.4", + "lioness", + "log", + "parking_lot 0.12.4", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_distr", + "subtle 2.6.1", + "thiserror 1.0.69", + "zeroize", +] + +[[package]] +name = "mockall" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "moka" +version = "0.12.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "loom", + "parking_lot 0.12.4", + "portable-atomic", + "rustc_version", + "smallvec", + "tagptr", + "thiserror 1.0.69", + "uuid", +] + +[[package]] +name = "multiaddr" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "log", + "multibase", + "multihash 0.17.0", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.2", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.3", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.8.0", + "url", +] + +[[package]] +name = "multibase" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive", + "sha2 0.10.9", + "sha3", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multihash" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +dependencies = [ + "core2", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "multihash-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" +dependencies = [ + "proc-macro-crate 1.1.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure 0.12.6", +] + +[[package]] +name = "multimap" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" + +[[package]] +name = "multistream-select" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" +dependencies = [ + "bytes", + "futures", + "log", + "pin-project", + "smallvec", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "nalgebra" +version = "0.33.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" +dependencies = [ + "approx", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "names" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" +dependencies = [ + "rand 0.8.5", +] + +[[package]] +name = "netlink-packet-core" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" +dependencies = [ + "anyhow", + "byteorder", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-utils" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +dependencies = [ + "anyhow", + "byteorder", + "paste", + "thiserror 1.0.69", +] + +[[package]] +name = "netlink-proto" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" +dependencies = [ + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror 2.0.12", +] + +[[package]] +name = "netlink-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" +dependencies = [ + "bytes", + "futures", + "libc", + "log", + "tokio", +] + +[[package]] +name = "network-interface" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3329f515506e4a2de3aa6e07027a6758e22e0f0e8eaf64fa47261cec2282602" +dependencies = [ + "cc", + "libc", + "thiserror 1.0.69", + "winapi", +] + +[[package]] +name = "newline-converter" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b6b097ecb1cbfed438542d16e84fd7ad9b0c76c8a65b7f9039212a3d14dc7f" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", +] + +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", + "serde", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec 0.7.6", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi 0.5.2", + "libc", +] + +[[package]] +name = "object" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap 1.9.3", + "memchr", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "ogmios-client" +version = "1.7.0" +dependencies = [ + "anyhow", + "fraction", + "hex", + "hex-literal 1.0.0", + "jsonrpsee", + "log", + "serde", + "serde_json", + "sidechain-domain", + "thiserror 2.0.12", + "time", + "tokio", +] + +[[package]] +name = "oid-registry" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +dependencies = [ + "asn1-rs 0.6.2", +] + +[[package]] +name = "oid-registry" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" +dependencies = [ + "asn1-rs 0.7.1", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +dependencies = [ + "critical-section", + "portable-atomic", +] + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pallas-addresses" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7bd039d7f1618d12ff348dd03eebe38c5d2a010325750e5341526c419b0f8e0" +dependencies = [ + "base58", + "bech32 0.9.1", + "crc", + "cryptoxide", + "hex", + "pallas-codec", + "pallas-crypto", + "thiserror 1.0.69", +] + +[[package]] +name = "pallas-codec" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1584d615857c0a44058fb612e892e9e0cc47b56c3c82cdf7347b5c1d1193598c" +dependencies = [ + "hex", + "minicbor", + "num-bigint", + "serde", + "thiserror 1.0.69", +] + +[[package]] +name = "pallas-crypto" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37c1d642326ce402eb9191aeacc3dd0bf2b499848e97a56396c978a6eb9dd31a" +dependencies = [ + "cryptoxide", + "hex", + "pallas-codec", + "rand_core 0.6.4", + "serde", + "thiserror 1.0.69", + "zeroize", +] + +[[package]] +name = "pallas-primitives" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d30f5053073554d016a9f009c077f9a84275951a611cce54230de6c54d34d9b" +dependencies = [ + "base58", + "bech32 0.9.1", + "hex", + "log", + "pallas-codec", + "pallas-crypto", + "serde", + "serde_json", +] + +[[package]] +name = "pallas-traverse" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d2572d316883fe866ae648bc3c5357e70cbbe8de5d78b1246f6109520fa52f" +dependencies = [ + "hex", + "itertools 0.13.0", + "pallas-addresses", + "pallas-codec", + "pallas-crypto", + "pallas-primitives", + "paste", + "serde", + "thiserror 1.0.69", +] + +[[package]] +name = "pallet-address-associations" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "hex-literal 1.0.0", + "log", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-aura" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", +] + +[[package]] +name = "pallet-authorship" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + +[[package]] +name = "pallet-babe" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-application-crypto", + "sp-consensus-babe", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", +] + +[[package]] +name = "pallet-balances" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "pallet-beefy" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-consensus-beefy", + "sp-runtime", + "sp-session", + "sp-staking", +] + +[[package]] +name = "pallet-beefy-mmr" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "binary-merkle-tree", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-beefy", + "pallet-mmr", + "pallet-session", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-consensus-beefy", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "pallet-block-participation" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "pretty_assertions", + "scale-info", + "sp-block-participation", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-block-producer-fees" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-block-producer-fees", + "sp-consensus-slots", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-block-producer-fees-rpc" +version = "1.7.0" +dependencies = [ + "derive-new", + "jsonrpsee", + "parity-scale-codec", + "serde", + "sp-api", + "sp-block-producer-fees", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "pallet-block-producer-metadata" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "hex-literal 1.0.0", + "k256", + "log", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sp-block-producer-metadata", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-block-producer-metadata-rpc" +version = "1.7.0" +dependencies = [ + "derive-new", + "jsonrpsee", + "parity-scale-codec", + "scale-info", + "serde", + "serde_json", + "sidechain-domain", + "sp-api", + "sp-block-producer-metadata", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "pallet-block-production-log" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sp-block-production-log", + "sp-consensus-slots", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-governed-map" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "pretty_assertions", + "scale-info", + "sidechain-domain", + "sp-core", + "sp-governed-map", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-grandpa" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "scale-info", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", +] + +[[package]] +name = "pallet-mmr" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "parity-scale-codec", + "polkadot-sdk-frame", + "scale-info", + "sp-mmr-primitives", +] + +[[package]] +name = "pallet-native-token-management" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sp-io", + "sp-native-token-management", +] + +[[package]] +name = "pallet-partner-chains-session" +version = "1.7.0" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-runtime", + "sp-staking", + "sp-std", +] + +[[package]] +name = "pallet-session" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "pallet-balances", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-state-machine", + "sp-trie", +] + +[[package]] +name = "pallet-session-validator-management" +version = "1.7.0" +dependencies = [ + "derive-new", + "frame-support", + "frame-system", + "log", + "pallet-partner-chains-session", + "pallet-session", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session-validator-management", + "sp-std", +] + +[[package]] +name = "pallet-session-validator-management-benchmarking" +version = "1.7.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-aura", + "pallet-session-validator-management", + "pallet-sidechain", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "serde", + "sidechain-domain", + "sidechain-slots", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session-validator-management", + "sp-std", +] + +[[package]] +name = "pallet-session-validator-management-rpc" +version = "1.7.0" +dependencies = [ + "derive-new", + "jsonrpsee", + "sidechain-domain", + "sp-session-validator-management-query", +] + +[[package]] +name = "pallet-sidechain" +version = "1.7.0" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sidechain-domain", + "sidechain-slots", + "sp-core", + "sp-io", + "sp-runtime", + "sp-sidechain", + "sp-std", +] + +[[package]] +name = "pallet-sidechain-rpc" +version = "1.7.0" +dependencies = [ + "derive-new", + "hex", + "jsonrpsee", + "parity-scale-codec", + "pretty_assertions", + "scale-info", + "serde", + "serde_json", + "sidechain-domain", + "sidechain-slots", + "sp-api", + "sp-blockchain", + "sp-consensus-slots", + "sp-core", + "sp-runtime", + "sp-sidechain", + "sp-timestamp", + "time-source", + "tokio", +] + +[[package]] +name = "pallet-sudo" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-timestamp" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-inherents", + "sp-runtime", + "sp-storage", + "sp-timestamp", +] + +[[package]] +name = "pallet-transaction-payment" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-transaction-payment-rpc" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "jsonrpsee", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-weights", +] + +[[package]] +name = "pallet-transaction-payment-rpc-runtime-api" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-weights", +] + +[[package]] +name = "pallet-utility" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes 0.13.0", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + +[[package]] +name = "parity-db" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" +dependencies = [ + "blake2 0.10.6", + "crc32fast", + "fs2", + "hex", + "libc", + "log", + "lz4", + "memmap2 0.5.10", + "parking_lot 0.12.4", + "rand 0.8.5", + "siphasher", + "snap", + "winapi", +] + +[[package]] +name = "parity-scale-codec" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" +dependencies = [ + "arrayvec 0.7.6", + "bitvec", + "byte-slice-cast", + "bytes", + "const_format", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "rustversion", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.11", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.13", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "partial_sort" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" + +[[package]] +name = "partner-chains-cardano-offchain" +version = "1.7.0" +dependencies = [ + "anyhow", + "cardano-serialization-lib", + "cbor_event", + "fraction", + "hex", + "hex-literal 1.0.0", + "itertools 0.14.0", + "log", + "minicbor", + "ogmios-client", + "pallas-primitives", + "partner-chains-plutus-data", + "plutus", + "pretty_assertions", + "proptest", + "raw-scripts", + "secp256k1 0.30.0", + "serde", + "serde_json", + "sidechain-domain", + "testcontainers", + "time", + "tokio", + "tokio-retry", + "uplc", +] + +[[package]] +name = "partner-chains-cli" +version = "1.7.0" +dependencies = [ + "anyhow", + "cardano-serialization-lib", + "clap", + "colored", + "ed25519-zebra", + "hex", + "hex-literal 1.0.0", + "inquire", + "libp2p-identity", + "log", + "ogmios-client", + "pallet-session-validator-management", + "partner-chains-cardano-offchain", + "plutus", + "plutus-datum-derive", + "pretty_assertions", + "schnorr_jubjub", + "secp256k1 0.30.0", + "serde", + "serde_json", + "sidechain-domain", + "sp-core", + "sp-runtime", + "sp-session-validator-management", + "tempfile", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "partner-chains-data-sources-cli" +version = "1.7.0" +dependencies = [ + "authority-selection-inherents", + "clap", + "env_logger 0.11.8", + "log", + "partner-chains-db-sync-data-sources", + "serde", + "serde_json", + "sidechain-domain", + "sp-timestamp", + "tokio", +] + +[[package]] +name = "partner-chains-db-sync-data-sources" +version = "1.7.0" +dependencies = [ + "async-trait", + "authority-selection-inherents", + "bigdecimal", + "blake2b_simd", + "cardano-serialization-lib", + "chrono", + "ctor", + "db-sync-sqlx", + "derive-new", + "figment", + "futures", + "hex", + "hex-literal 1.0.0", + "itertools 0.14.0", + "log", + "lru 0.14.0", + "num-bigint", + "pallet-sidechain-rpc", + "partner-chains-plutus-data", + "pretty_assertions", + "serde", + "serde_json", + "sidechain-domain", + "sidechain-mc-hash", + "sp-block-participation", + "sp-governed-map", + "sp-native-token-management", + "sp-timestamp", + "sqlx", + "substrate-prometheus-endpoint", + "testcontainers-modules", + "thiserror 2.0.12", + "tokio", + "tokio-test", +] + +[[package]] +name = "partner-chains-demo-node" +version = "1.7.0" +dependencies = [ + "assert_cmd", + "async-trait", + "authority-selection-inherents", + "clap", + "derive-new", + "envy", + "frame-benchmarking", + "frame-system", + "futures", + "hex-literal 1.0.0", + "jsonrpsee", + "log", + "pallet-block-producer-fees-rpc", + "pallet-block-producer-metadata-rpc", + "pallet-partner-chains-session", + "pallet-session-validator-management", + "pallet-session-validator-management-rpc", + "pallet-sidechain-rpc", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc", + "partner-chains-db-sync-data-sources", + "partner-chains-demo-runtime", + "partner-chains-mock-data-sources", + "partner-chains-node-commands", + "sc-basic-authorship", + "sc-cli", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-beefy", + "sc-consensus-beefy-rpc", + "sc-consensus-grandpa", + "sc-consensus-grandpa-rpc", + "sc-executor", + "sc-network", + "sc-partner-chains-consensus-aura", + "sc-rpc", + "sc-rpc-api", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", + "schnorr_jubjub", + "serde", + "serde_json", + "sidechain-domain", + "sidechain-mc-hash", + "sidechain-slots", + "sp-api", + "sp-block-builder", + "sp-block-participation", + "sp-block-producer-fees", + "sp-block-producer-metadata", + "sp-block-production-log", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-beefy", + "sp-consensus-grandpa", + "sp-core", + "sp-governed-map", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-native-token-management", + "sp-partner-chains-consensus-aura", + "sp-runtime", + "sp-session-validator-management", + "sp-session-validator-management-query", + "sp-sidechain", + "sp-timestamp", + "substrate-build-script-utils", + "substrate-frame-rpc-system", + "substrate-prometheus-endpoint", + "thiserror 2.0.12", + "time-source", + "tokio", +] + +[[package]] +name = "partner-chains-demo-runtime" +version = "1.7.0" +dependencies = [ + "authority-selection-inherents", + "derive-new", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex", + "hex-literal 1.0.0", + "log", + "minicbor", + "pallet-address-associations", + "pallet-aura", + "pallet-balances", + "pallet-beefy", + "pallet-beefy-mmr", + "pallet-block-participation", + "pallet-block-producer-fees", + "pallet-block-producer-metadata", + "pallet-block-production-log", + "pallet-governed-map", + "pallet-grandpa", + "pallet-mmr", + "pallet-native-token-management", + "pallet-partner-chains-session", + "pallet-session", + "pallet-session-validator-management", + "pallet-session-validator-management-benchmarking", + "pallet-sidechain", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "plutus", + "pretty_assertions", + "scale-info", + "schnorr_jubjub", + "serde", + "serde_json", + "sidechain-domain", + "sidechain-slots", + "sp-api", + "sp-block-builder", + "sp-block-participation", + "sp-block-producer-fees", + "sp-block-producer-metadata", + "sp-block-production-log", + "sp-consensus-aura", + "sp-consensus-beefy", + "sp-consensus-grandpa", + "sp-consensus-slots", + "sp-core", + "sp-genesis-builder", + "sp-governed-map", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-native-token-management", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-session-validator-management", + "sp-sidechain", + "sp-staking", + "sp-std", + "sp-storage", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "substrate-wasm-builder", +] + +[[package]] +name = "partner-chains-mock-data-sources" +version = "1.7.0" +dependencies = [ + "async-trait", + "authority-selection-inherents", + "hex", + "hex-literal 1.0.0", + "log", + "pallet-sidechain-rpc", + "rand 0.9.1", + "schnorr_jubjub", + "serde", + "serde_json", + "sidechain-domain", + "sidechain-mc-hash", + "sp-block-participation", + "sp-governed-map", + "sp-native-token-management", + "sp-timestamp", +] + +[[package]] +name = "partner-chains-node-commands" +version = "1.7.0" +dependencies = [ + "authority-selection-inherents", + "clap", + "cli-commands", + "frame-support", + "log", + "log4rs", + "once_cell", + "parity-scale-codec", + "partner-chains-cli", + "partner-chains-smart-contracts-commands", + "plutus", + "sc-cli", + "sc-service", + "sidechain-domain", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-session-validator-management", + "sp-session-validator-management-query", + "sp-sidechain", + "tokio", +] + +[[package]] +name = "partner-chains-plutus-data" +version = "1.7.0" +dependencies = [ + "cardano-serialization-lib", + "hex-literal 1.0.0", + "log", + "pretty_assertions", + "raw-scripts", + "schnorr_jubjub", + "serde_json", + "sidechain-domain", + "thiserror 2.0.12", +] + +[[package]] +name = "partner-chains-smart-contracts-commands" +version = "1.7.0" +dependencies = [ + "anyhow", + "clap", + "hex", + "hex-literal 1.0.0", + "ogmios-client", + "partner-chains-cardano-offchain", + "serde", + "serde_json", + "sidechain-domain", + "tokio", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.6.1", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "password-hash", +] + +[[package]] +name = "pear" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467" +dependencies = [ + "inlinable_string", + "pear_codegen", + "yansi", +] + +[[package]] +name = "pear_codegen" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "peg" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477" +dependencies = [ + "peg-macros", + "peg-runtime", +] + +[[package]] +name = "peg-macros" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71" +dependencies = [ + "peg-runtime", + "proc-macro2", + "quote", +] + +[[package]] +name = "peg-runtime" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca" + +[[package]] +name = "pem" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +dependencies = [ + "base64 0.22.1", + "serde", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset", + "indexmap 2.9.0", +] + +[[package]] +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plutus" +version = "1.7.0" +dependencies = [ + "hex", + "minicbor", + "num-bigint", + "num-traits", +] + +[[package]] +name = "plutus-datum-derive" +version = "1.7.0" +dependencies = [ + "quote", + "syn 2.0.103", +] + +[[package]] +name = "polkadot-ckb-merkle-mountain-range" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "221c71b432b38e494a0fdedb5f720e4cb974edf03a0af09e5b2238dbac7e6947" +dependencies = [ + "cfg-if", + "itertools 0.10.5", +] + +[[package]] +name = "polkadot-sdk-frame" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "sp-version", +] + +[[package]] +name = "polkavm" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" +dependencies = [ + "libc", + "log", + "polkavm-assembler", + "polkavm-common", + "polkavm-linux-raw", +] + +[[package]] +name = "polkavm-assembler" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" +dependencies = [ + "log", +] + +[[package]] +name = "polkavm-common" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" +dependencies = [ + "log", + "polkavm-assembler", +] + +[[package]] +name = "polkavm-derive" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" +dependencies = [ + "polkavm-derive-impl-macro", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" +dependencies = [ + "polkavm-common", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" +dependencies = [ + "polkavm-derive-impl", + "syn 2.0.103", +] + +[[package]] +name = "polkavm-linker" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" +dependencies = [ + "dirs", + "gimli 0.31.1", + "hashbrown 0.14.5", + "log", + "object 0.36.7", + "polkavm-common", + "regalloc2 0.9.3", + "rustc-demangle", +] + +[[package]] +name = "polkavm-linux-raw" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" + +[[package]] +name = "polling" +version = "3.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.5.2", + "pin-project-lite", + "rustix 1.0.7", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug 0.3.1", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug 0.3.1", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "predicates" +version = "3.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" +dependencies = [ + "anstyle", + "difflib", + "predicates-core", +] + +[[package]] +name = "predicates-core" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" + +[[package]] +name = "predicates-tree" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "pretty" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83f3aa1e3ca87d3b124db7461265ac176b40c277f37e503eaa29c9c75c037846" +dependencies = [ + "arrayvec 0.5.2", + "log", + "typed-arena", + "unicode-segmentation", +] + +[[package]] +name = "pretty_assertions" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +dependencies = [ + "diff", + "yansi", +] + +[[package]] +name = "prettyplease" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" +dependencies = [ + "proc-macro2", + "syn 2.0.103", +] + +[[package]] +name = "primitive-types" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-num-traits", + "impl-serde", + "scale-info", + "uint 0.10.0", +] + +[[package]] +name = "proc-macro-crate" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +dependencies = [ + "thiserror 1.0.69", + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-warning" +version = "1.84.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "version_check", + "yansi", +] + +[[package]] +name = "prometheus" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "memchr", + "parking_lot 0.12.4", + "thiserror 1.0.69", +] + +[[package]] +name = "prometheus-client" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" +dependencies = [ + "dtoa", + "itoa", + "parking_lot 0.12.4", + "prometheus-client-derive-encode", +] + +[[package]] +name = "prometheus-client-derive-encode" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "proptest" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.9.1", + "lazy_static", + "num-traits", + "rand 0.9.1", + "rand_chacha 0.9.0", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive 0.12.6", +] + +[[package]] +name = "prost" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +dependencies = [ + "bytes", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost-build" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +dependencies = [ + "heck 0.5.0", + "itertools 0.14.0", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost 0.13.5", + "prost-types", + "regex", + "syn 2.0.103", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "prost-derive" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "prost-types" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +dependencies = [ + "prost 0.13.5", +] + +[[package]] +name = "psm" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" +dependencies = [ + "cc", +] + +[[package]] +name = "quanta" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.1+wasi-snapshot-preview1", + "web-sys", + "winapi", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "quick-protobuf-codec" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "quick-protobuf", + "thiserror 1.0.69", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "quickcheck" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +dependencies = [ + "env_logger 0.8.4", + "log", + "rand 0.8.5", +] + +[[package]] +name = "quickcheck_macros" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "quinn" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +dependencies = [ + "bytes", + "futures-io", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.1", + "rustls", + "socket2", + "thiserror 2.0.12", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom 0.2.16", + "rand 0.8.5", + "ring 0.17.14", + "rustc-hash 2.1.1", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" +dependencies = [ + "cfg_aliases 0.2.1", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +dependencies = [ + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.4.2", + "rdrand", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "rand_pcg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +dependencies = [ + "rand_core 0.9.3", +] + +[[package]] +name = "raw-cpuid" +version = "11.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "raw-scripts" +version = "7.2.1" +source = "git+https://github.com/input-output-hk/partner-chains-smart-contracts.git?tag=v7.2.2#d2286eb2ac4c158c5147e32125336eabf67f139e" +dependencies = [ + "hex-literal 0.4.1", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rcgen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" +dependencies = [ + "pem", + "ring 0.16.20", + "time", + "yasna", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "regalloc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" +dependencies = [ + "fxhash", + "log", + "slice-group-by", + "smallvec", +] + +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash 1.1.0", + "slice-group-by", + "smallvec", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "resolv-conf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle 2.6.1", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "rocksdb" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" +dependencies = [ + "libc", + "librocksdb-sys", +] + +[[package]] +name = "route-recognizer" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" + +[[package]] +name = "rpassword" +version = "7.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.59.0", +] + +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "rtnetlink" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "rtoolbox" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.26", +] + +[[package]] +name = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom", +] + +[[package]] +name = "rustix" +version = "0.36.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" +dependencies = [ + "log", + "once_cell", + "ring 0.17.14", + "rustls-pki-types", + "rustls-webpki 0.103.3", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pki-types" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.3", + "security-framework", + "security-framework-sys", + "webpki-root-certs 0.26.11", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.14", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +dependencies = [ + "ring 0.17.14", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "rw-stream-sink" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" +dependencies = [ + "futures", + "pin-project", + "static_assertions", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sc-allocator" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "sp-core", + "sp-wasm-interface", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-basic-authorship" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "futures", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-proposer-metrics", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-block-builder" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", +] + +[[package]] +name = "sc-chain-spec" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "docify", + "memmap2 0.9.5", + "parity-scale-codec", + "sc-chain-spec-derive", + "sc-client-api", + "sc-executor", + "sc-network", + "sc-telemetry", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-crypto-hashing", + "sp-genesis-builder", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-tracing", +] + +[[package]] +name = "sc-chain-spec-derive" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sc-cli" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "chrono", + "clap", + "fdlimit", + "futures", + "itertools 0.11.0", + "libp2p-identity", + "log", + "names", + "parity-bip39", + "parity-scale-codec", + "rand 0.8.5", + "regex", + "rpassword", + "sc-client-api", + "sc-client-db", + "sc-keystore", + "sc-mixnet", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-utils", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", + "sp-version", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "sc-client-api" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "fnv", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-executor", + "sc-transaction-pool-api", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-externalities", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-client-db" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-client-api", + "sc-state-db", + "schnellru", + "sp-arithmetic", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "substrate-prometheus-endpoint", + "sysinfo", +] + +[[package]] +name = "sc-consensus" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "log", + "mockall", + "parking_lot 0.12.4", + "sc-client-api", + "sc-network-types", + "sc-utils", + "serde", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-aura" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "log", + "parity-scale-codec", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-consensus-slots", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-beefy" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "async-channel", + "async-trait", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-gossip", + "sc-network-sync", + "sc-network-types", + "sc-utils", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-beefy", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "wasm-timer", +] + +[[package]] +name = "sc-consensus-beefy-rpc" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-consensus-beefy", + "sc-rpc", + "serde", + "sp-application-crypto", + "sp-consensus-beefy", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-grandpa" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "ahash", + "array-bytes 6.2.3", + "async-trait", + "dyn-clone", + "finality-grandpa", + "fork-tree", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "rand 0.8.5", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-gossip", + "sc-network-sync", + "sc-network-types", + "sc-telemetry", + "sc-transaction-pool-api", + "sc-utils", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-crypto-hashing", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-grandpa-rpc" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "finality-grandpa", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-consensus-grandpa", + "sc-rpc", + "serde", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sc-telemetry", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "sc-executor" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-executor-common", + "sc-executor-polkavm", + "sc-executor-wasmtime", + "schnellru", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-trie", + "sp-version", + "sp-wasm-interface", + "tracing", +] + +[[package]] +name = "sc-executor-common" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "polkavm", + "sc-allocator", + "sp-maybe-compressed-blob", + "sp-wasm-interface", + "thiserror 1.0.69", + "wasm-instrument", +] + +[[package]] +name = "sc-executor-polkavm" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "polkavm", + "sc-executor-common", + "sp-wasm-interface", +] + +[[package]] +name = "sc-executor-wasmtime" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "anyhow", + "log", + "parking_lot 0.12.4", + "rustix 0.36.17", + "sc-allocator", + "sc-executor-common", + "sp-runtime-interface", + "sp-wasm-interface", + "wasmtime", +] + +[[package]] +name = "sc-informant" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "console", + "futures", + "futures-timer", + "log", + "sc-client-api", + "sc-network", + "sc-network-sync", + "sp-blockchain", + "sp-runtime", +] + +[[package]] +name = "sc-keystore" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "parking_lot 0.12.4", + "serde_json", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-mixnet" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "arrayvec 0.7.6", + "blake2 0.10.6", + "bytes", + "futures", + "futures-timer", + "log", + "mixnet", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-keystore", + "sp-mixnet", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-network" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "async-channel", + "async-trait", + "asynchronous-codec 0.6.2", + "bytes", + "cid 0.9.0", + "either", + "fnv", + "futures", + "futures-timer", + "ip_network", + "libp2p", + "linked_hash_set", + "litep2p", + "log", + "mockall", + "parity-scale-codec", + "parking_lot 0.12.4", + "partial_sort", + "pin-project", + "prost 0.12.6", + "prost-build", + "rand 0.8.5", + "sc-client-api", + "sc-network-common", + "sc-network-types", + "sc-utils", + "schnellru", + "serde", + "serde_json", + "smallvec", + "sp-arithmetic", + "sp-blockchain", + "sp-core", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "unsigned-varint 0.7.2", + "void", + "wasm-timer", + "zeroize", +] + +[[package]] +name = "sc-network-common" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "bitflags 1.3.2", + "parity-scale-codec", + "sp-runtime", +] + +[[package]] +name = "sc-network-gossip" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "ahash", + "futures", + "futures-timer", + "log", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", + "schnellru", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "sc-network-light" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "async-channel", + "futures", + "log", + "parity-scale-codec", + "prost 0.12.6", + "prost-build", + "sc-client-api", + "sc-network", + "sc-network-types", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-network-sync" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "async-channel", + "async-trait", + "fork-tree", + "futures", + "log", + "mockall", + "parity-scale-codec", + "prost 0.12.6", + "prost-build", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-types", + "sc-utils", + "schnellru", + "smallvec", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "tokio-stream", +] + +[[package]] +name = "sc-network-test" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-channel", + "async-trait", + "futures", + "futures-timer", + "libp2p", + "log", + "parking_lot 0.12.4", + "rand 0.8.5", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-light", + "sc-network-sync", + "sc-network-types", + "sc-service", + "sc-utils", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-tracing", + "substrate-test-runtime", + "substrate-test-runtime-client", + "tokio", +] + +[[package]] +name = "sc-network-transactions" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "futures", + "log", + "parity-scale-codec", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", + "sc-utils", + "sp-consensus", + "sp-runtime", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-network-types" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "bs58", + "bytes", + "ed25519-dalek", + "libp2p-identity", + "libp2p-kad", + "litep2p", + "log", + "multiaddr 0.18.2", + "multihash 0.19.3", + "rand 0.8.5", + "thiserror 1.0.69", + "zeroize", +] + +[[package]] +name = "sc-partner-chains-consensus-aura" +version = "1.7.0" +dependencies = [ + "async-trait", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-slots", + "sc-keystore", + "sc-network", + "sc-network-test", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keyring", + "sp-keystore", + "sp-partner-chains-consensus-aura", + "sp-runtime", + "sp-timestamp", + "sp-tracing", + "substrate-test-runtime-client", + "tempfile", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sc-proposer-metrics" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "sc-rpc" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-mixnet", + "sc-rpc-api", + "sc-tracing", + "sc-transaction-pool-api", + "sc-utils", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-offchain", + "sp-rpc", + "sp-runtime", + "sp-session", + "sp-statement-store", + "sp-version", + "tokio", +] + +[[package]] +name = "sc-rpc-api" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec", + "sc-mixnet", + "sc-transaction-pool-api", + "scale-info", + "serde", + "serde_json", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-version", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-rpc-server" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "dyn-clone", + "forwarded-header-value", + "futures", + "governor", + "http 1.3.1", + "http-body-util", + "hyper 1.6.0", + "ip_network", + "jsonrpsee", + "log", + "sc-rpc-api", + "serde", + "serde_json", + "substrate-prometheus-endpoint", + "tokio", + "tower", + "tower-http", +] + +[[package]] +name = "sc-rpc-spec-v2" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "futures", + "futures-util", + "hex", + "itertools 0.11.0", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "rand 0.8.5", + "sc-chain-spec", + "sc-client-api", + "sc-rpc", + "sc-transaction-pool-api", + "schnellru", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-version", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "tokio-stream", +] + +[[package]] +name = "sc-service" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "directories", + "exit-future", + "futures", + "futures-timer", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "pin-project", + "rand 0.8.5", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-informant", + "sc-keystore", + "sc-network", + "sc-network-common", + "sc-network-light", + "sc-network-sync", + "sc-network-transactions", + "sc-network-types", + "sc-rpc", + "sc-rpc-server", + "sc-rpc-spec-v2", + "sc-sysinfo", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-transaction-pool-api", + "sc-utils", + "schnellru", + "serde", + "serde_json", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-transaction-pool", + "sp-transaction-storage-proof", + "sp-trie", + "sp-version", + "static_init", + "substrate-prometheus-endpoint", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "sc-state-db" +version = "0.30.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "sp-core", +] + +[[package]] +name = "sc-sysinfo" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "derive_more 0.99.20", + "futures", + "libc", + "log", + "rand 0.8.5", + "rand_pcg", + "regex", + "sc-telemetry", + "serde", + "serde_json", + "sp-core", + "sp-crypto-hashing", + "sp-io", +] + +[[package]] +name = "sc-telemetry" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "chrono", + "futures", + "libp2p", + "log", + "parking_lot 0.12.4", + "pin-project", + "rand 0.8.5", + "sc-utils", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-timer", +] + +[[package]] +name = "sc-tracing" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "chrono", + "console", + "is-terminal", + "libc", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "rustc-hash 1.1.0", + "sc-client-api", + "sc-tracing-proc-macro", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-tracing", + "thiserror 1.0.69", + "tracing", + "tracing-log", + "tracing-subscriber", +] + +[[package]] +name = "sc-tracing-proc-macro" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sc-transaction-pool" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "indexmap 2.9.0", + "itertools 0.11.0", + "linked-hash-map", + "parity-scale-codec", + "parking_lot 0.12.4", + "sc-client-api", + "sc-transaction-pool-api", + "sc-utils", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-crypto-hashing", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "sc-transaction-pool-api" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "indexmap 2.9.0", + "log", + "parity-scale-codec", + "serde", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-utils" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-channel", + "futures", + "futures-timer", + "log", + "parking_lot 0.12.4", + "prometheus", + "sp-arithmetic", +] + +[[package]] +name = "scale-bits" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27243ab0d2d6235072b017839c5f0cd1a3b1ce45c0f7a715363b0c7d36c76c94" +dependencies = [ + "parity-scale-codec", + "scale-type-resolver", +] + +[[package]] +name = "scale-decode" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d78196772d25b90a98046794ce0fe2588b39ebdfbdc1e45b4c6c85dd43bebad" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-type-resolver", + "smallvec", + "thiserror 2.0.12", +] + +[[package]] +name = "scale-info" +version = "2.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" +dependencies = [ + "bitvec", + "cfg-if", + "derive_more 1.0.0", + "parity-scale-codec", + "scale-info-derive", + "serde", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" + +[[package]] +name = "schannel" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.103", +] + +[[package]] +name = "schnellru" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" +dependencies = [ + "ahash", + "cfg-if", + "hashbrown 0.13.2", +] + +[[package]] +name = "schnorr_jubjub" +version = "1.7.0" +dependencies = [ + "ark-ec 0.5.0", + "ark-ed-on-bls12-381", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "frame-support", + "hash256-std-hasher", + "hex", + "pallet-beefy-mmr", + "parity-scale-codec", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "scale-info", + "serde", + "sha2 0.10.9", + "sp-application-crypto", + "sp-consensus-beefy", + "sp-core", + "sp-externalities", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-runtime-interface", + "sp-trie", +] + +[[package]] +name = "schnorrkel" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "aead", + "arrayref", + "arrayvec 0.7.6", + "curve25519-dalek", + "getrandom_or_panic", + "merlin", + "rand_core 0.6.4", + "serde_bytes", + "sha2 0.10.9", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scratch" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array 0.14.7", + "pkcs8", + "serdect", + "subtle 2.6.1", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" +dependencies = [ + "secp256k1-sys 0.8.1", +] + +[[package]] +name = "secp256k1" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" +dependencies = [ + "secp256k1-sys 0.9.2", +] + +[[package]] +name = "secp256k1" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" +dependencies = [ + "bitcoin_hashes 0.14.0", + "rand 0.8.5", + "secp256k1-sys 0.10.1", +] + +[[package]] +name = "secp256k1-sys" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +dependencies = [ + "cc", +] + +[[package]] +name = "secp256k1-sys" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" +dependencies = [ + "cc", +] + +[[package]] +name = "secp256k1-sys" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" +dependencies = [ + "cc", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "zeroize", +] + +[[package]] +name = "security-framework" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selection" +version = "1.7.0" +dependencies = [ + "quickcheck", + "quickcheck_macros", + "rand 0.9.1", + "rand_chacha 0.9.0", +] + +[[package]] +name = "semver" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +dependencies = [ + "ordered-float", + "serde", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde_bytes" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_test" +version = "1.0.177" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.9.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.1", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "sidechain-block-search" +version = "1.7.0" +dependencies = [ + "hex", + "hex-literal 1.0.0", + "parity-scale-codec", + "proptest", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-blockchain", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-runtime", + "sp-sidechain", +] + +[[package]] +name = "sidechain-domain" +version = "1.7.0" +dependencies = [ + "bech32 0.11.0", + "blake2b_simd", + "byte-string-derive", + "derive-where", + "derive_more 2.0.1", + "ed25519-zebra", + "figment", + "hex", + "hex-literal 1.0.0", + "k256", + "num-bigint", + "num-derive", + "num-traits", + "parity-scale-codec", + "plutus", + "plutus-datum-derive", + "scale-info", + "schnorr_jubjub", + "secp256k1 0.30.0", + "serde", + "serde_json", + "sp-core", + "sp-crypto-hashing", + "sp-io", + "sp-std", + "thiserror 2.0.12", +] + +[[package]] +name = "sidechain-mc-hash" +version = "1.7.0" +dependencies = [ + "async-trait", + "derive-new", + "serde", + "sidechain-domain", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-inherents", + "sp-partner-chains-consensus-aura", + "sp-runtime", + "sp-timestamp", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sidechain-slots" +version = "1.7.0" +dependencies = [ + "envy", + "parity-scale-codec", + "proptest", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-blockchain", + "sp-consensus-slots", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +dependencies = [ + "libc", + "mio 0.8.11", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "simba" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "simple-dns" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "simple-mermaid" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" + +[[package]] +name = "slice-group-by" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "snap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" + +[[package]] +name = "snow" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +dependencies = [ + "aes-gcm", + "blake2 0.10.6", + "chacha20poly1305", + "curve25519-dalek", + "rand_core 0.6.4", + "ring 0.17.14", + "rustc_version", + "sha2 0.10.9", + "subtle 2.6.1", +] + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "soketto" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "http 1.3.1", + "httparse", + "log", + "rand 0.8.5", + "sha1", +] + +[[package]] +name = "sp-api" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro", + "sp-core", + "sp-externalities", + "sp-metadata-ir", + "sp-runtime", + "sp-runtime-interface", + "sp-state-machine", + "sp-trie", + "sp-version", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-api-proc-macro" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "Inflector", + "blake2 0.10.6", + "expander", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sp-application-crypto" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", +] + +[[package]] +name = "sp-arithmetic" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "static_assertions", +] + +[[package]] +name = "sp-block-builder" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "sp-api", + "sp-inherents", + "sp-runtime", +] + +[[package]] +name = "sp-block-participation" +version = "1.7.0" +dependencies = [ + "async-trait", + "log", + "parity-scale-codec", + "pretty_assertions", + "scale-info", + "sidechain-domain", + "sp-api", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sp-block-producer-fees" +version = "1.7.0" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-std", +] + +[[package]] +name = "sp-block-producer-metadata" +version = "1.7.0" +dependencies = [ + "hex-literal 1.0.0", + "k256", + "parity-scale-codec", + "sidechain-domain", + "sp-api", +] + +[[package]] +name = "sp-block-production-log" +version = "1.7.0" +dependencies = [ + "async-trait", + "hex", + "parity-scale-codec", + "sidechain-slots", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "thiserror 2.0.12", +] + +[[package]] +name = "sp-blockchain" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "futures", + "parity-scale-codec", + "parking_lot 0.12.4", + "schnellru", + "sp-api", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "sp-consensus" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "futures", + "log", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-consensus-aura" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", + "sp-timestamp", +] + +[[package]] +name = "sp-consensus-babe" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-timestamp", +] + +[[package]] +name = "sp-consensus-beefy" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing", + "sp-io", + "sp-keystore", + "sp-mmr-primitives", + "sp-runtime", + "sp-weights", + "strum 0.26.3", +] + +[[package]] +name = "sp-consensus-grandpa" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", +] + +[[package]] +name = "sp-consensus-slots" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-timestamp", +] + +[[package]] +name = "sp-core" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "ark-vrf", + "array-bytes 6.2.3", + "bitflags 1.3.2", + "blake2 0.10.6", + "bounded-collections", + "bs58", + "dyn-clone", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.11.0", + "k256", + "libsecp256k1", + "log", + "merlin", + "parity-bip39", + "parity-scale-codec", + "parking_lot 0.12.4", + "paste", + "primitive-types", + "rand 0.8.5", + "scale-info", + "schnorrkel", + "secp256k1 0.28.2", + "secrecy", + "serde", + "sha2 0.10.9", + "sp-crypto-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", + "ss58-registry", + "substrate-bip39", + "thiserror 1.0.69", + "tracing", + "w3f-bls", + "zeroize", +] + +[[package]] +name = "sp-crypto-hashing" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "blake2b_simd", + "byteorder", + "digest 0.10.7", + "sha2 0.10.9", + "sha3", + "twox-hash", +] + +[[package]] +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "quote", + "sp-crypto-hashing", + "syn 2.0.103", +] + +[[package]] +name = "sp-database" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "kvdb", + "parking_lot 0.12.4", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-storage", +] + +[[package]] +name = "sp-genesis-builder" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde_json", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "sp-governed-map" +version = "1.7.0" +dependencies = [ + "async-trait", + "log", + "parity-scale-codec", + "pretty_assertions", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-inherents", + "sp-runtime", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sp-inherents" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-io" +version = "30.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "bytes", + "docify", + "ed25519-dalek", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive", + "rustversion", + "secp256k1 0.28.2", + "sp-core", + "sp-crypto-hashing", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", + "sp-tracing", + "sp-trie", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keyring" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "sp-core", + "sp-runtime", + "strum 0.26.3", +] + +[[package]] +name = "sp-keystore" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.4", + "sp-core", + "sp-externalities", +] + +[[package]] +name = "sp-maybe-compressed-blob" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "thiserror 1.0.69", + "zstd 0.12.4", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "sp-mixnet" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-application-crypto", +] + +[[package]] +name = "sp-mmr-primitives" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "log", + "parity-scale-codec", + "polkadot-ckb-merkle-mountain-range", + "scale-info", + "serde", + "sp-api", + "sp-core", + "sp-debug-derive", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-native-token-management" +version = "1.7.0" +dependencies = [ + "async-trait", + "derive-new", + "envy", + "parity-scale-codec", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-inherents", + "sp-runtime", + "sp-version", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sp-offchain" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "sp-api", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sp-panic-handler" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "backtrace", + "regex", +] + +[[package]] +name = "sp-partner-chains-consensus-aura" +version = "1.7.0" +dependencies = [ + "futures", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", +] + +[[package]] +name = "sp-rpc" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "rustc-hash 1.1.0", + "serde", + "sp-core", +] + +[[package]] +name = "sp-runtime" +version = "31.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "binary-merkle-tree", + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "num-traits", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", + "sp-trie", + "sp-weights", + "tracing", + "tuplex", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive", + "primitive-types", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sp-session" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-staking", +] + +[[package]] +name = "sp-session-validator-management" +version = "1.7.0" +dependencies = [ + "envy", + "parity-scale-codec", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-std", + "thiserror 2.0.12", +] + +[[package]] +name = "sp-session-validator-management-query" +version = "1.7.0" +dependencies = [ + "async-trait", + "authority-selection-inherents", + "derive-new", + "hex-literal 1.0.0", + "minicbor", + "parity-scale-codec", + "plutus", + "plutus-datum-derive", + "scale-info", + "serde", + "serde_json", + "sidechain-block-search", + "sidechain-domain", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-session-validator-management", + "sp-sidechain", + "sp-std", + "thiserror 2.0.12", + "tokio", +] + +[[package]] +name = "sp-sidechain" +version = "1.7.0" +dependencies = [ + "envy", + "frame-support", + "parity-scale-codec", + "scale-info", + "serde", + "sidechain-domain", + "sp-api", + "sp-runtime", +] + +[[package]] +name = "sp-staking" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sp-state-machine" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.4", + "rand 0.8.5", + "smallvec", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-trie", + "thiserror 1.0.69", + "tracing", + "trie-db", +] + +[[package]] +name = "sp-statement-store" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "aes-gcm", + "curve25519-dalek", + "ed25519-dalek", + "hkdf", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sha2 0.10.9", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", + "thiserror 1.0.69", + "x25519-dalek", +] + +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive", +] + +[[package]] +name = "sp-timestamp" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-inherents", + "sp-runtime", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-transaction-pool" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "sp-api", + "sp-runtime", +] + +[[package]] +name = "sp-transaction-storage-proof" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", +] + +[[package]] +name = "sp-trie" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "ahash", + "hash-db", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.4", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core", + "sp-externalities", + "substrate-prometheus-endpoint", + "thiserror 1.0.69", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-version" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro", + "sp-runtime", + "sp-std", + "sp-version-proc-macro", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-version-proc-macro" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "parity-scale-codec", + "proc-macro-warning", + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "wasmtime", +] + +[[package]] +name = "sp-weights" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "bounded-collections", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic", + "sp-debug-derive", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +dependencies = [ + "base64 0.22.1", + "bigdecimal", + "bytes", + "chrono", + "crc", + "crossbeam-queue", + "either", + "event-listener 5.4.0", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.4", + "hashlink 0.10.0", + "indexmap 2.9.0", + "log", + "memchr", + "once_cell", + "percent-encoding", + "rustls", + "serde", + "serde_json", + "sha2 0.10.9", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tracing", + "url", + "webpki-roots 0.26.11", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 2.0.103", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +dependencies = [ + "dotenvy", + "either", + "heck 0.5.0", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.9", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 2.0.103", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +dependencies = [ + "atoi", + "base64 0.22.1", + "bigdecimal", + "bitflags 2.9.1", + "byteorder", + "bytes", + "chrono", + "crc", + "digest 0.10.7", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array 0.14.7", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2 0.10.9", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +dependencies = [ + "atoi", + "base64 0.22.1", + "bigdecimal", + "bitflags 2.9.1", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "num-bigint", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2 0.10.9", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +dependencies = [ + "atoi", + "chrono", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "thiserror 2.0.12", + "tracing", + "url", +] + +[[package]] +name = "ss58-registry" +version = "1.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" +dependencies = [ + "Inflector", + "num-format", + "proc-macro2", + "quote", + "serde", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "static_init" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed" +dependencies = [ + "bitflags 1.3.2", + "cfg_aliases 0.2.1", + "libc", + "parking_lot 0.12.4", + "parking_lot_core 0.9.11", + "static_init_macro", + "winapi", +] + +[[package]] +name = "static_init_macro" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f" +dependencies = [ + "cfg_aliases 0.1.1", + "memchr", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros 0.26.4", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.103", +] + +[[package]] +name = "substrate-bip39" +version = "0.4.7" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "hmac", + "pbkdf2", + "schnorrkel", + "sha2 0.10.9", + "zeroize", +] + +[[package]] +name = "substrate-build-script-utils" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" + +[[package]] +name = "substrate-frame-rpc-system" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "docify", + "frame-system-rpc-runtime-api", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "sc-rpc-api", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "http-body-util", + "hyper 1.6.0", + "hyper-util", + "log", + "prometheus", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "substrate-test-client" +version = "2.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "async-trait", + "futures", + "parity-scale-codec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-service", + "serde", + "serde_json", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-runtime", + "tokio", +] + +[[package]] +name = "substrate-test-runtime" +version = "2.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "frame-executive", + "frame-metadata-hash-extension", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "log", + "pallet-babe", + "pallet-balances", + "pallet-timestamp", + "pallet-utility", + "parity-scale-codec", + "sc-service", + "scale-info", + "serde_json", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-grandpa", + "sp-core", + "sp-crypto-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "substrate-wasm-builder", + "tracing", + "trie-db", +] + +[[package]] +name = "substrate-test-runtime-client" +version = "2.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "futures", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "substrate-test-client", + "substrate-test-runtime", +] + +[[package]] +name = "substrate-wasm-builder" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +dependencies = [ + "array-bytes 6.2.3", + "build-helper", + "cargo_metadata", + "console", + "filetime", + "frame-metadata", + "jobserver", + "merkleized-metadata", + "parity-scale-codec", + "parity-wasm", + "polkavm-linker", + "sc-executor", + "shlex", + "sp-core", + "sp-io", + "sp-maybe-compressed-blob", + "sp-tracing", + "sp-version", + "strum 0.26.3", + "tempfile", + "toml 0.8.23", + "walkdir", + "wasm-opt", +] + +[[package]] +name = "subtle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "sysinfo" +version = "0.30.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +dependencies = [ + "cfg-if", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "rayon", + "windows 0.52.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix 1.0.7", + "windows-sys 0.59.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "terminal_size" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" +dependencies = [ + "rustix 1.0.7", + "windows-sys 0.59.0", +] + +[[package]] +name = "termtree" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + +[[package]] +name = "testcontainers" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d2931d7f521af5bae989f716c3fa43a6af9af7ec7a5e21b59ae40878cec00" +dependencies = [ + "bollard-stubs", + "futures", + "hex", + "hmac", + "log", + "rand 0.8.5", + "serde", + "serde_json", + "sha2 0.10.9", +] + +[[package]] +name = "testcontainers-modules" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c405c3757803e54818eaaf6b5b2af485dff4ab89a7130b72f62fd19b8bb6cd" +dependencies = [ + "testcontainers", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "thread-id" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "tikv-jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + +[[package]] +name = "time-macros" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "time-source" +version = "1.7.0" + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio 1.0.4", + "parking_lot 0.12.4", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand 0.8.5", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-test" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7" +dependencies = [ + "async-stream", + "bytes", + "futures-core", + "tokio", + "tokio-stream", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" +dependencies = [ + "futures-util", + "log", + "rustls", + "rustls-native-certs", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap 2.9.0", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +dependencies = [ + "bitflags 2.9.1", + "bytes", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "parking_lot 0.12.4", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "time", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "trie-db" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c0670ab45a6b7002c7df369fee950a27cf29ae0474343fd3a15aa15f691e7a6" +dependencies = [ + "hash-db", + "log", + "rustc-hex", + "smallvec", +] + +[[package]] +name = "trie-root" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" +dependencies = [ + "hash-db", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tt-call" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" + +[[package]] +name = "tungstenite" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" +dependencies = [ + "bytes", + "data-encoding", + "http 1.3.1", + "httparse", + "log", + "rand 0.9.1", + "rustls", + "rustls-pki-types", + "sha1", + "thiserror 2.0.12", + "url", + "utf-8", +] + +[[package]] +name = "tuplex" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "digest 0.10.7", + "rand 0.8.5", + "static_assertions", +] + +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + +[[package]] +name = "typemap-ors" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" +dependencies = [ + "unsafe-any-ors", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "uint" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "uncased" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle 2.6.1", +] + +[[package]] +name = "unsafe-any-ors" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" +dependencies = [ + "destructure_traitobject", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "unsigned-varint" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" +dependencies = [ + "asynchronous-codec 0.6.2", + "bytes", + "futures-io", + "futures-util", +] + +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "bytes", + "tokio-util", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "uplc" +version = "1.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b403bc5718ac7c2a117242cc9112b2cc375c507eb7338ca9cb2b0405e492178" +dependencies = [ + "bitvec", + "blst", + "cryptoxide", + "hamming", + "hex", + "indexmap 1.9.3", + "itertools 0.10.5", + "k256", + "miette", + "num-bigint", + "num-integer", + "num-traits", + "once_cell", + "pallas-addresses", + "pallas-codec", + "pallas-crypto", + "pallas-primitives", + "pallas-traverse", + "peg", + "pretty", + "secp256k1 0.26.0", + "serde", + "serde_json", + "strum 0.26.3", + "thiserror 1.0.69", +] + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "w3f-bls" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6bfb937b3d12077654a9e43e32a4e9c20177dd9fea0f3aba673e7840bb54f32" +dependencies = [ + "ark-bls12-377", + "ark-bls12-381 0.4.0", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-serialize-derive 0.4.2", + "arrayref", + "digest 0.10.7", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sha2 0.10.9", + "sha3", + "zeroize", +] + +[[package]] +name = "w3f-pcs" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbe7a8d5c914b69392ab3b267f679a2e546fe29afaddce47981772ac71bd02e1" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "merlin", +] + +[[package]] +name = "w3f-plonk-common" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aca389e494fe08c5c108b512e2328309036ee1c0bc7bdfdb743fef54d448c8c" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "getrandom_or_panic", + "rand_core 0.6.4", + "w3f-pcs", +] + +[[package]] +name = "w3f-ring-proof" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a639379402ad51504575dbd258740383291ac8147d3b15859bdf1ea48c677de" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "ark-transcript", + "w3f-pcs", + "w3f-plonk-common", +] + +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.103", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-instrument" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" +dependencies = [ + "parity-wasm", +] + +[[package]] +name = "wasm-opt" +version = "0.116.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" +dependencies = [ + "anyhow", + "libc", + "strum 0.24.1", + "strum_macros 0.24.3", + "tempfile", + "thiserror 1.0.69", + "wasm-opt-cxx-sys", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-cxx-sys" +version = "0.116.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e" +dependencies = [ + "anyhow", + "cxx", + "cxx-build", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-sys" +version = "0.116.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe" +dependencies = [ + "anyhow", + "cc", + "cxx", + "cxx-build", +] + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.102.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" +dependencies = [ + "indexmap 1.9.3", + "url", +] + +[[package]] +name = "wasmtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "object 0.30.4", + "once_cell", + "paste", + "psm", + "rayon", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-cache", + "wasmtime-cranelift", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-cache" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" +dependencies = [ + "anyhow", + "base64 0.21.7", + "bincode", + "directories-next", + "file-per-thread-logger", + "log", + "rustix 0.36.17", + "serde", + "sha2 0.10.9", + "toml 0.5.11", + "windows-sys 0.45.0", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "wasmtime-cranelift" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "cranelift-native", + "cranelift-wasm", + "gimli 0.27.3", + "log", + "object 0.30.4", + "target-lexicon", + "thiserror 1.0.69", + "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-native", + "gimli 0.27.3", + "object 0.30.4", + "target-lexicon", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-environ" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.27.3", + "indexmap 1.9.3", + "log", + "object 0.30.4", + "serde", + "target-lexicon", + "thiserror 1.0.69", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" +dependencies = [ + "addr2line 0.19.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli 0.27.3", + "log", + "object 0.30.4", + "rustc-demangle", + "serde", + "target-lexicon", + "wasmtime-environ", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" +dependencies = [ + "object 0.30.4", + "once_cell", + "rustix 0.36.17", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "mach", + "memfd", + "memoffset", + "paste", + "rand 0.8.5", + "rustix 0.36.17", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-types" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror 1.0.69", + "wasmparser", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-root-certs" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.1", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86138b15b2b7d561bc4469e77027b8dd005a43dc502e9031d1f5afc8ce1f280e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.1", +] + +[[package]] +name = "webpki-roots" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "whoami" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +dependencies = [ + "redox_syscall 0.5.13", + "wasite", +] + +[[package]] +name = "wide" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" +dependencies = [ + "bytemuck", + "safe_arch", +] + +[[package]] +name = "widestring" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" +dependencies = [ + "windows-core 0.53.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" +dependencies = [ + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result 0.3.4", + "windows-strings", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek", + "rand_core 0.6.4", + "serde", + "zeroize", +] + +[[package]] +name = "x509-parser" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" +dependencies = [ + "asn1-rs 0.6.2", + "data-encoding", + "der-parser 9.0.0", + "lazy_static", + "nom", + "oid-registry 0.7.1", + "rusticata-macros", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "x509-parser" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" +dependencies = [ + "asn1-rs 0.7.1", + "data-encoding", + "der-parser 10.0.0", + "lazy_static", + "nom", + "oid-registry 0.8.1", + "rusticata-macros", + "thiserror 2.0.12", + "time", +] + +[[package]] +name = "xml-rs" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "yamux" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot 0.12.4", + "pin-project", + "rand 0.8.5", + "static_assertions", +] + +[[package]] +name = "yamux" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da1acad1c2dc53f0dde419115a38bd8221d8c3e47ae9aeceaf453266d29307e" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot 0.12.4", + "pin-project", + "rand 0.9.1", + "static_assertions", + "web-time", +] + +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time", +] + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "synstructure 0.13.2", +] + +[[package]] +name = "zerocopy" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", + "synstructure 0.13.2", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.103", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe 6.0.6", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.15+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +dependencies = [ + "cc", + "pkg-config", +] From 4860cb349e20cdc398ef9c5098f43c2cf769c45c Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Mon, 23 Jun 2025 12:01:55 +0200 Subject: [PATCH 30/51] Add license to schnorr_jubjub --- toolkit/utils/schnorr_jubjub/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index bd0878877f..58252bb99a 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -1,5 +1,7 @@ [package] name = "schnorr_jubjub" +license = "Apache-2.0" +description = "Implementation of schnorr over JubJub using poseidon." authors.workspace = true edition.workspace = true homepage.workspace = true From d03dd0e645c8dd3f17499236306f39402985ebc2 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 23 Jun 2025 12:23:32 +0200 Subject: [PATCH 31/51] Remove chain_spec generation --- Earthfile | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/Earthfile b/Earthfile index 4ae6c4aaf8..883eb2a782 100644 --- a/Earthfile +++ b/Earthfile @@ -177,27 +177,3 @@ chainspecs: COPY dev/envs/preview-exports.sh dev/envs/preview-exports.sh COPY dev/update-chain-spec.sh dev/update-chain-spec.sh - - # Devnet - COPY dev/envs/devnet/.envrc dev/envs/devnet/.envrc - COPY dev/envs/devnet/addresses.json dev/envs/devnet/addresses.json - RUN . ./dev/envs/devnet/.envrc \ - && partner-chains-node build-spec --chain local --disable-default-bootnode > devnet_chain_spec.json \ - && ./dev/update-chain-spec.sh devnet_chain_spec.json - SAVE ARTIFACT devnet_chain_spec.json AS LOCAL devnet_chain_spec.json - - # ci-preview - COPY dev/envs/ci-preview/.envrc dev/envs/ci-preview/.envrc - COPY dev/envs/ci-preview/addresses.json dev/envs/ci-preview/addresses.json - RUN . ./dev/envs/ci-preview/.envrc \ - && partner-chains-node build-spec --chain staging --disable-default-bootnode > ci_preview_chain_spec.json \ - && ./dev/update-chain-spec.sh ci_preview_chain_spec.json - SAVE ARTIFACT ci_preview_chain_spec.json AS LOCAL ci_preview_chain_spec.json - - # staging-preview - COPY dev/envs/staging-preview/.envrc dev/envs/staging-preview/.envrc - COPY dev/envs/staging-preview/addresses.json dev/envs/staging-preview/addresses.json - RUN . ./dev/envs/staging-preview/.envrc \ - && partner-chains-node build-spec --chain staging --disable-default-bootnode > staging_preview_chain_spec.json \ - && ./dev/update-chain-spec.sh staging_preview_chain_spec.json - SAVE ARTIFACT staging_preview_chain_spec.json AS LOCAL staging_preview_chain_spec.json From 360927cf0dac837e9c70085374234ae2ff5f0add Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 23 Jun 2025 13:18:42 +0200 Subject: [PATCH 32/51] Fix missing key --- .../configurations/partner-chains-setup/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index aa13070991..6704bf58cb 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -182,7 +182,7 @@ node5_grandpa_vkey=$(cat /partner-chains-nodes/partner-chains-node-5/keys/grandp --genesis-utxo $GENESIS_UTXO \ --spo-public-key $node5_spo_public_key \ --spo-signature $node5_spo_signature \ - --sidechain-public-keys $node5_sidechain_public_key:$node5_aura_vkey:$node5_grandpa_vkey \ + --sidechain-public-keys $node5_sidechain_public_key:$node5_aura_vkey:$node5_beefy_vkey:$node5_grandpa_vkey \ --sidechain-signature $node5_sidechain_signature \ --registration-utxo $node5_utxo \ --payment-key-file /partner-chains-nodes/partner-chains-node-5/keys/payment.skey From 0f494d3d5ec20d83fa5b02d449fd73798b9bc1c9 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Tue, 24 Jun 2025 08:42:47 +0200 Subject: [PATCH 33/51] Modify beefy keys --- .../partner-chains-nodes/partner-chains-node-1/keys/beefy.skey | 2 +- .../partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey | 2 +- .../partner-chains-nodes/partner-chains-node-2/keys/beefy.skey | 2 +- .../partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey | 2 +- .../partner-chains-nodes/partner-chains-node-3/keys/beefy.skey | 2 +- .../partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey | 2 +- .../partner-chains-nodes/partner-chains-node-4/keys/beefy.skey | 2 +- .../partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey | 2 +- .../partner-chains-nodes/partner-chains-node-5/keys/beefy.skey | 2 +- .../partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey index cb37714818..43b6593acf 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey @@ -1 +1 @@ -cb6df9de1efca7a3998a8ead4e02159d5fa99c3e0d4fd6432667390bb4726854 \ No newline at end of file +ff04b676b83fff51ecb832b75e3ec315e58dd891b6c60b380d174fdb07dafd41fca3b91ac40a673e79807100c534353ac0de91b1e50e7daa0eed94901d2ab324 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey index 1e919d457e..ce7b0db6c8 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey @@ -1 +1 @@ -020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1 \ No newline at end of file +d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey index 13f8860716..fa17be7f90 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey @@ -1 +1 @@ -79c3b7fc0b7697b9414cb87adcb37317d1cab32818ae18c0e97ad76395d1fdcf \ No newline at end of file +d5e016c1b9662256bca8d6220993a7c5d35ebfa5c49298339552519f3ad85752d93af7e059e8ee6cf2f1dec39730c6b5c4d51392f5b0e60ab75a151f270a4c86 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey index bd97f2a6e6..9a1b224da6 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey @@ -1 +1 @@ -0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27 \ No newline at end of file +13474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey index 7103679de5..dace8f5b46 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.skey @@ -1 +1 @@ -f8d74108dbe199c4a6e4ef457046db37c325ba3f709b14cabfa1885663e4c589 \ No newline at end of file +e385eabeb4f4241533128b4f5932089420ca57a399cbd7a45a68adcad6712e435969f742d41c31a5984aa49144e82eb7eb5f8c1a32ea9811f611328c22248b84 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey index a46a184c80..35177b320c 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-3/keys/beefy.vkey @@ -1 +1 @@ -0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb \ No newline at end of file +001184176befe8deb509fb85d8a627153d52890743832f6e3730b9fe8ad00e87 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey index f643ed3d6d..262846c23e 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.skey @@ -1 +1 @@ -94770ab89fcddc8d3df4c81e730124e31779861f1e7805e716b1595e8372bf86 \ No newline at end of file +5888d33257763f8fd700ad43cb1e44ca619e861000e873d4411dcb004cd5ecb6b98a0eff32e741925a96a53178789f374d371805ae4bbbef279f407820105c6c \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey index 4717d70be2..83c5b975fe 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-4/keys/beefy.vkey @@ -1 +1 @@ -039799ff93d184146deacaa455dade51b13ed16f23cdad11d1ad6af20103391180 \ No newline at end of file +513f0ee171f0b2ac4146a430b01dfff34950e449a537ad2abe0b94dd34edf969 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey index d8825cd2e1..d861620899 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.skey @@ -1 +1 @@ -8a8c8a48b0838155fbb024f198f87cff8dc08fadac7bc8037f8420c74c2d8ac4 \ No newline at end of file +5c5c39e4143b54239233bbdd793689fae781a4ab0a3da4ad37afcf742655f6ac5dc0917322128e5d7371e62d32a29f65600cf81bbea6bfadd0e8694bf37f697a \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey index b190f842d7..7895d97006 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-5/keys/beefy.vkey @@ -1 +1 @@ -0364b1f01f6e803be10abc6dd6fe08ced61cf3eaaef2dbdc72b4e774c4b6a564af \ No newline at end of file +4af8e7fcb9ae85b35d5ded720951a16ff3e0c3ef627d66c9ad4b8681e6b41306 \ No newline at end of file From a9e1cc57a67e290060136a241b62529778bfcfd7 Mon Sep 17 00:00:00 2001 From: Taylor Gunnoe Date: Tue, 24 Jun 2025 22:20:50 -0400 Subject: [PATCH 34/51] fix(temp): ensure local oci image toolchain builds with amd64 --- dev/docker/Dockerfile | 4 ++-- dev/docker/build-images-local.sh | 4 ++-- dev/docker/builder.Dockerfile | 7 ++++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index cc37c1864d..372573af13 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -1,6 +1,6 @@ -FROM partner-chains-node-builder:latest AS builder +FROM --platform=linux/amd64 partner-chains-node-builder:latest AS builder -FROM docker.io/library/ubuntu:20.04 +FROM --platform=linux/amd64 docker.io/library/ubuntu:20.04 COPY --from=builder /partner-chains-node/docker-build/target/release/partner-chains-demo-node /usr/local/bin/partner-chains-node RUN useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate && \ diff --git a/dev/docker/build-images-local.sh b/dev/docker/build-images-local.sh index 4671a1fe80..381a213c2b 100755 --- a/dev/docker/build-images-local.sh +++ b/dev/docker/build-images-local.sh @@ -1,4 +1,4 @@ #!/usr/bin/env sh # This script has to be executed from the root of the repository to enable proper context for the Docker build. `./dev/docker/build-images-local.sh` -docker build --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ -docker build -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker +docker build --platform=linux/amd64 --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ +docker build --platform=linux/amd64 -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker diff --git a/dev/docker/builder.Dockerfile b/dev/docker/builder.Dockerfile index dd7913b075..62ee807fc8 100644 --- a/dev/docker/builder.Dockerfile +++ b/dev/docker/builder.Dockerfile @@ -1,8 +1,13 @@ -FROM docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558 AS builder +FROM --platform=linux/amd64 docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558 AS builder WORKDIR /partner-chains-node COPY . /partner-chains-node +# Set environment variables to reduce memory usage and symlink issues +ENV CARGO_BUILD_JOBS=1 +ENV RUSTFLAGS="-C target-cpu=native" +ENV CARGO_NET_GIT_FETCH_WITH_CLI=true + RUN mkdir -p docker-build/cargo-home || echo "cargo-home already exists" && \ export CARGO_HOME="$(pwd)/docker-build/cargo-home" RUN --mount=type=ssh cargo build --release --target-dir=docker-build/target From 3010eb5c7e83dafa5a82ffd5c84225d0ccb41684 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Thu, 26 Jun 2025 10:17:27 +0200 Subject: [PATCH 35/51] Testing --- demo/node/src/testnet.rs | 8 +++---- dev/envs/devnet/addresses.json | 24 +++++++++---------- .../partner-chains-setup/entrypoint.sh | 8 +++---- .../permissioned_candidates.csv | 2 ++ dev/local-environment/setup.sh | 2 +- .../schnorr_jubjub/src/beefy_structures.rs | 18 ++++++++------ 6 files changed, 34 insertions(+), 28 deletions(-) create mode 100644 dev/local-environment/configurations/permissioned_candidates.csv diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 7083a157a8..00b06d095d 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -40,10 +40,10 @@ pub fn development_config() -> Result { vec![ //alice public keys authority_keys( - "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", - "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", - "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee", - "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", + "0x289c161586d774dda981fdb184d061a28e04bdf81322c545b9c37549e7412f2f", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", + "0x17edf4615819dbe1de4ed887ba0b438190923e14e25de9c6ff25320abcfe7d29", + "0x0258dc1e341e42ba85b393804c1e8a531485ec3b73b2d5cd2b0bf56cbcaf102a7e", ), ], // Sudo account diff --git a/dev/envs/devnet/addresses.json b/dev/envs/devnet/addresses.json index 8f693149da..1f3ab496ad 100644 --- a/dev/envs/devnet/addresses.json +++ b/dev/envs/devnet/addresses.json @@ -1,18 +1,18 @@ { "addresses": { - "CommitteeCandidateValidator": "addr_test1wq8x9nq95dhl3lq95x8wmrc0glkw45ruav8d9lth79ug9wgghly4v", - "DParameterValidator": "addr_test1wqaamq9jrs8h9uyetjv5dnfmp062seeq85l0tp2wc8efc7qrvucrl", - "GovernedMapValidator": "addr_test1wzs744ajcf80f2me8kwqxzmfs2y2nzleqmc2ue7sfxq97ygam70uh", - "IlliquidCirculationSupplyValidator": "addr_test1wz7q8qfln0ff8rs878eadn3j30rnvv3gkqwcqj2l3phrxlqa5kkrt", - "PermissionedCandidatesValidator": "addr_test1wzel4fksh0zj6zzc8kej5ewssfxf09xapnhvadvaa0tdfjcufklsd", - "ReserveValidator": "addr_test1wqjwfcseh6aspnc5ymhhzzd26edtvy3gdwh0sschcn8rlsq80eet7", - "VersionOracleValidator": "addr_test1wrwzqrg7ygk7mpa6ysk2ats0sag76gzgj4g2cd0e63p2tpc4qld9j" + "CommitteeCandidateValidator": "addr_test1wzf6pkk3yetm3l3lp4mvpm0v9kderc2zwvf35n4tkjufk2cx476dt", + "DParameterValidator": "addr_test1wzxrsmqfrhfvqe9cv02jzpg3ram6cfgmpew2cvt06zfdz5s7uu8wm", + "GovernedMapValidator": "addr_test1wzceg35gmcaeeew53elhp88x6ey36ht8x77yt97gj3l8urc8kjy6c", + "IlliquidCirculationSupplyValidator": "addr_test1wq9wsk9gdtjsumsx8gtzr4krk8ay0m3wxtwspdvvq9lyj7sfx5qfe", + "PermissionedCandidatesValidator": "addr_test1wq04v78wzggtrruwpdez8auh9wjzdvrwm9dj83zspnfq5vsg3mp72", + "ReserveValidator": "addr_test1wp5vza08yd3j4r9qt5fx226y7h47wk0v7cvyax5yfz8aungujsna4", + "VersionOracleValidator": "addr_test1wqsm30n96ag6jlmusqte799jup592g36cgnu4hafwtscc0cp6u0yz" }, "policyIds": { - "DParameter": "0x8d79459b9a2a26bd4f7d640ebc165caf2767c19ec7687161ad86c684", - "GovernedMap": "0x4e91636e5d29310d40fc88baa417eb0f383f76697326ba51bc94191f", - "PermissionedCandidates": "0xafbb51b3755a27fc21ae341224f4f682b1e56c3cdb4692948794e9fe", - "ReserveAuth": "0x4e9563c1456f45460e6c29cc2c3611bfec4faa4485c4ba571750cb46", - "VersionOracle": "0x45f2c6fa3cee1180e397e6a29d9507332807d113ec8a5ef7f70a77e6" + "DParameter": "0x83ba30369cf08b0281fdd43b020635e0785e822be5763338a13bc226", + "GovernedMap": "0x0f69e8b76f474296e3d83634df9537173a4896fac352faf2c9952225", + "PermissionedCandidates": "0x58084b4d0b60c0f9774c9f72652fdaa7ec833caf0e6debc4869ac53c", + "ReserveAuth": "0xf30044499aa3e57cd9d50a4229b74a032602adeb18ec5798237116f8", + "VersionOracle": "0xd8b04c4a530e622699f69ed00693a0f4617e3caa276c679bce4438f7" } } diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index 6704bf58cb..8902b1fbd4 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -203,7 +203,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FnXTMg8UnfeGsMaGg24o3NY21VRFRDRdgxuLGmXuYLeZmin", { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", + "beefy": "5DAAnrj7VHTz5z2TZmZ41ZQ7JL2pnGzH9QGQQ5kuGzSi1RuE", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } ], @@ -211,7 +211,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FJMH4MeZgd4fpiiAVLnr4uRop2EDFgzAFcvLmcduQ2cofCi", { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", + "beefy": "5FLSigC9H8N9TnUvmU8bYytPfpz4hF6bFZsXZ7y3ohohT3YQ", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } ] @@ -224,7 +224,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW4wALva83fvah66ufXSxg6r84tTpJmDXna8A1PCYdbZdVL95", "keys": { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", + "beefy": "5DAAnrj7VHTz5z2TZmZ41ZQ7JL2pnGzH9QGQQ5kuGzSi1RuE", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } } @@ -234,7 +234,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW92jBDRydnbyojCVF3USNFgEsrEvDGV3gvdgDvpfnbXvC13q", "keys": { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "KWByAN7WfZABWS5AoWqxriRmF5f2jnDqy3rB5pfHLGkY93ibN", + "beefy": "5FLSigC9H8N9TnUvmU8bYytPfpz4hF6bFZsXZ7y3ohohT3YQ", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } } diff --git a/dev/local-environment/configurations/permissioned_candidates.csv b/dev/local-environment/configurations/permissioned_candidates.csv new file mode 100644 index 0000000000..e45bd67943 --- /dev/null +++ b/dev/local-environment/configurations/permissioned_candidates.csv @@ -0,0 +1,2 @@ +0258dc1e341e42ba85b393804c1e8a531485ec3b73b2d5cd2b0bf56cbcaf102a7e:289c161586d774dda981fdb184d061a28e04bdf81322c545b9c37549e7412f2f:d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de:17edf4615819dbe1de4ed887ba0b438190923e14e25de9c6ff25320abcfe7d29 +030e0bcd9e16d770ade1fb5a5a50f2da012f1ea53713a9ba8aed5f009bc451404d:588c84949c703058577df51caaf82ca81cb1df43928600763a0050d16d2c210f:13474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331:f39299bb0a1d6fab19b4990edaf435edb70f5755983bf63fce3ecd13a6be8ea5 diff --git a/dev/local-environment/setup.sh b/dev/local-environment/setup.sh index f165b058fe..282a23232a 100755 --- a/dev/local-environment/setup.sh +++ b/dev/local-environment/setup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -PARTNER_CHAINS_NODE_IMAGE="ghcr.io/input-output-hk/partner-chains/partner-chains-node-unstable:latest" +PARTNER_CHAINS_NODE_IMAGE="partner-chains-node:latest" CARDANO_IMAGE="ghcr.io/intersectmbo/cardano-node:10.1.4" DBSYNC_IMAGE="ghcr.io/intersectmbo/cardano-db-sync:13.6.0.4" OGMIOS_IMAGE="cardanosolutions/ogmios:v6.11.0" diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index d4d6aa8e78..e1d595e67c 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -6,7 +6,7 @@ //! protocol, ensuring compatibility with Substrate's runtime and cryptographic //! infrastructure. -use alloc::vec::Vec; +use alloc::{format, vec::Vec, string::String}; use core::fmt::{Debug, Display, Formatter}; use crate::poseidon::PoseidonJubjub; @@ -14,7 +14,7 @@ use ark_ec::AffineRepr; use ark_ed_on_bls12_381::{EdwardsAffine, Fr}; use ark_ff::fields::Field; use ark_serialize::CanonicalSerialize; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; use sha2::Digest; use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId}; use sp_core::{ @@ -31,6 +31,8 @@ use sp_runtime::{ traits::Convert, }; +use sp_core::crypto::Ss58Codec; + use crate::primitive::{SchnorrSignature, VerifyingKey}; /// Constant to represent the primitive of Schnorr over JubJub @@ -86,7 +88,7 @@ impl Serialize for Public { where S: Serializer, { - serializer.serialize_bytes(self.0.as_ref()) + serializer.serialize_str(&self.to_ss58check()) } } @@ -95,10 +97,12 @@ impl<'de> Deserialize<'de> for Public { where D: Deserializer<'de>, { - let bytes: &[u8] = Deserialize::deserialize(deserializer)?; - let key = Self::try_from(bytes) - .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; - Ok(key) + Public::from_ss58check(&String::deserialize(deserializer)?) + .map_err(|e| de::Error::custom(format!("{:?}", e))) + // let bytes: &[u8] = Deserialize::deserialize(deserializer)?; + // let key = Self::try_from(bytes) + // .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; + // Ok(key) } } From 764a56a766f6190f435e57361b829ba8d8c3c9b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Thu, 26 Jun 2025 15:01:32 +0200 Subject: [PATCH 36/51] Fix building docker --- dev/docker/Dockerfile | 38 +++++++++++++++++++++++------------ dev/docker/builder.Dockerfile | 10 +++++---- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index cc37c1864d..9b96364704 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -1,25 +1,37 @@ FROM partner-chains-node-builder:latest AS builder -FROM docker.io/library/ubuntu:20.04 -COPY --from=builder /partner-chains-node/docker-build/target/release/partner-chains-demo-node /usr/local/bin/partner-chains-node +FROM ubuntu:24.04 +COPY --from=builder /partner-chains-node/partner-chains-demo-node /usr/local/bin/partner-chains-node -RUN useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate && \ - mkdir -p /data /substrate/.local/share/partner-chains-node && \ - chown -R substrate:substrate /data && \ - ln -s /data /substrate/.local/share/partner-chains-node && \ - # Sanity checks - ldd /usr/local/bin/partner-chains-node && \ - /usr/local/bin/partner-chains-node --version +RUN apt-get update && apt-get install -y \ + ca-certificates \ + libgcc-s1 \ + libstdc++6 \ + libc6 \ + libssl3 \ + zlib1g \ + libgomp1 \ + curl \ + wget \ + vim \ + dnsutils \ + jq \ + htop \ + && rm -rf /var/lib/apt/lists/* + +RUN useradd -m -u 1010 -U -s /bin/sh -d /substrate substrate \ + && mkdir -p /data /substrate/.local/share/partner-chains-node \ + && chown -R substrate:substrate /data /substrate \ + && ln -s /data /substrate/.local/share/partner-chains-node + +RUN /usr/local/bin/partner-chains-node --version +RUN chown substrate:substrate /usr/local/bin/partner-chains-node && chmod +x /usr/local/bin/partner-chains-node USER substrate -#p2p EXPOSE 30333 -#prometheus exporter EXPOSE 9615 -#JSON-RPC HTTP EXPOSE 9933 -#JSON-RPC WS EXPOSE 9944 VOLUME ["/data"] diff --git a/dev/docker/builder.Dockerfile b/dev/docker/builder.Dockerfile index dd7913b075..e58ff562bf 100644 --- a/dev/docker/builder.Dockerfile +++ b/dev/docker/builder.Dockerfile @@ -1,8 +1,10 @@ -FROM docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558 AS builder +FROM docker.io/paritytech/ci-unified:latest AS builder WORKDIR /partner-chains-node COPY . /partner-chains-node -RUN mkdir -p docker-build/cargo-home || echo "cargo-home already exists" && \ - export CARGO_HOME="$(pwd)/docker-build/cargo-home" -RUN --mount=type=ssh cargo build --release --target-dir=docker-build/target +ENV CARGO_HOME="/partner-chains-node/docker-build/cargo-home" +RUN --mount=type=cache,target=/partner-chains-node/docker-build \ + cargo build --release --target-dir=docker-build/target && \ + cp docker-build/target/release/partner-chains-demo-node /partner-chains-node/partner-chains-demo-node && \ + cp -r ${CARGO_HOME} /partner-chains-node From 21de8e97cc8402d8ed96ec3180402d4d28547b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Fri, 27 Jun 2025 10:26:55 +0200 Subject: [PATCH 37/51] Use --platform linux/amd64 to not mix architectures on Mac --- dev/docker/build-images-local.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/docker/build-images-local.sh b/dev/docker/build-images-local.sh index 4671a1fe80..30cf3826e0 100755 --- a/dev/docker/build-images-local.sh +++ b/dev/docker/build-images-local.sh @@ -1,4 +1,4 @@ #!/usr/bin/env sh # This script has to be executed from the root of the repository to enable proper context for the Docker build. `./dev/docker/build-images-local.sh` -docker build --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ -docker build -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker +docker build --platform linux/amd64 --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ +docker build --platform linux/amd64 -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker From 7c267ef08223fc90f0b8e83c4912983699373434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Thu, 26 Jun 2025 15:01:32 +0200 Subject: [PATCH 38/51] Fix building docker --- dev/docker/Dockerfile | 38 +++++++++++++++++++++++------------ dev/docker/builder.Dockerfile | 10 +++++---- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index cc37c1864d..9b96364704 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -1,25 +1,37 @@ FROM partner-chains-node-builder:latest AS builder -FROM docker.io/library/ubuntu:20.04 -COPY --from=builder /partner-chains-node/docker-build/target/release/partner-chains-demo-node /usr/local/bin/partner-chains-node +FROM ubuntu:24.04 +COPY --from=builder /partner-chains-node/partner-chains-demo-node /usr/local/bin/partner-chains-node -RUN useradd -m -u 1000 -U -s /bin/sh -d /substrate substrate && \ - mkdir -p /data /substrate/.local/share/partner-chains-node && \ - chown -R substrate:substrate /data && \ - ln -s /data /substrate/.local/share/partner-chains-node && \ - # Sanity checks - ldd /usr/local/bin/partner-chains-node && \ - /usr/local/bin/partner-chains-node --version +RUN apt-get update && apt-get install -y \ + ca-certificates \ + libgcc-s1 \ + libstdc++6 \ + libc6 \ + libssl3 \ + zlib1g \ + libgomp1 \ + curl \ + wget \ + vim \ + dnsutils \ + jq \ + htop \ + && rm -rf /var/lib/apt/lists/* + +RUN useradd -m -u 1010 -U -s /bin/sh -d /substrate substrate \ + && mkdir -p /data /substrate/.local/share/partner-chains-node \ + && chown -R substrate:substrate /data /substrate \ + && ln -s /data /substrate/.local/share/partner-chains-node + +RUN /usr/local/bin/partner-chains-node --version +RUN chown substrate:substrate /usr/local/bin/partner-chains-node && chmod +x /usr/local/bin/partner-chains-node USER substrate -#p2p EXPOSE 30333 -#prometheus exporter EXPOSE 9615 -#JSON-RPC HTTP EXPOSE 9933 -#JSON-RPC WS EXPOSE 9944 VOLUME ["/data"] diff --git a/dev/docker/builder.Dockerfile b/dev/docker/builder.Dockerfile index dd7913b075..e58ff562bf 100644 --- a/dev/docker/builder.Dockerfile +++ b/dev/docker/builder.Dockerfile @@ -1,8 +1,10 @@ -FROM docker.io/paritytech/ci-unified:bullseye-1.81.0-2024-11-19-v202411281558 AS builder +FROM docker.io/paritytech/ci-unified:latest AS builder WORKDIR /partner-chains-node COPY . /partner-chains-node -RUN mkdir -p docker-build/cargo-home || echo "cargo-home already exists" && \ - export CARGO_HOME="$(pwd)/docker-build/cargo-home" -RUN --mount=type=ssh cargo build --release --target-dir=docker-build/target +ENV CARGO_HOME="/partner-chains-node/docker-build/cargo-home" +RUN --mount=type=cache,target=/partner-chains-node/docker-build \ + cargo build --release --target-dir=docker-build/target && \ + cp docker-build/target/release/partner-chains-demo-node /partner-chains-node/partner-chains-demo-node && \ + cp -r ${CARGO_HOME} /partner-chains-node From 19fb10168cadebd137733f55c04367ece645115c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Fri, 27 Jun 2025 10:26:55 +0200 Subject: [PATCH 39/51] Use --platform linux/amd64 to not mix architectures on Mac --- dev/docker/build-images-local.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/docker/build-images-local.sh b/dev/docker/build-images-local.sh index 4671a1fe80..30cf3826e0 100755 --- a/dev/docker/build-images-local.sh +++ b/dev/docker/build-images-local.sh @@ -1,4 +1,4 @@ #!/usr/bin/env sh # This script has to be executed from the root of the repository to enable proper context for the Docker build. `./dev/docker/build-images-local.sh` -docker build --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ -docker build -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker +docker build --platform linux/amd64 --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ +docker build --platform linux/amd64 -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker From d08b3ae486bbb6cbfb21e396128dc3bf3bdd253b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Fri, 27 Jun 2025 10:57:15 +0200 Subject: [PATCH 40/51] Cache RUSTUP_HOME --- dev/docker/Dockerfile | 7 +++++-- dev/docker/builder.Dockerfile | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index 9b96364704..27fdcbc3c3 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -16,8 +16,7 @@ RUN apt-get update && apt-get install -y \ vim \ dnsutils \ jq \ - htop \ - && rm -rf /var/lib/apt/lists/* + htop RUN useradd -m -u 1010 -U -s /bin/sh -d /substrate substrate \ && mkdir -p /data /substrate/.local/share/partner-chains-node \ @@ -29,9 +28,13 @@ RUN chown substrate:substrate /usr/local/bin/partner-chains-node && chmod +x /us USER substrate +#p2p EXPOSE 30333 +#prometheus exporter EXPOSE 9615 +#JSON-RPC HTTP EXPOSE 9933 +#JSON-RPC WS EXPOSE 9944 VOLUME ["/data"] diff --git a/dev/docker/builder.Dockerfile b/dev/docker/builder.Dockerfile index e58ff562bf..143ac5ddd0 100644 --- a/dev/docker/builder.Dockerfile +++ b/dev/docker/builder.Dockerfile @@ -3,8 +3,8 @@ FROM docker.io/paritytech/ci-unified:latest AS builder WORKDIR /partner-chains-node COPY . /partner-chains-node +ENV RUSTUP_HOME="/partner-chains-node/docker-build/rustup-home" ENV CARGO_HOME="/partner-chains-node/docker-build/cargo-home" RUN --mount=type=cache,target=/partner-chains-node/docker-build \ cargo build --release --target-dir=docker-build/target && \ - cp docker-build/target/release/partner-chains-demo-node /partner-chains-node/partner-chains-demo-node && \ - cp -r ${CARGO_HOME} /partner-chains-node + cp docker-build/target/release/partner-chains-demo-node /partner-chains-node/partner-chains-demo-node From 8c9aa5fcee6cb61779386576c579b57d82d214a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Fri, 27 Jun 2025 11:24:38 +0200 Subject: [PATCH 41/51] Extract runner base image to avoid rebuilds --- dev/docker/Dockerfile | 22 +--------------------- dev/docker/build-images-local.sh | 1 + dev/docker/runner.Dockerfile | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 dev/docker/runner.Dockerfile diff --git a/dev/docker/Dockerfile b/dev/docker/Dockerfile index 27fdcbc3c3..162eeda398 100644 --- a/dev/docker/Dockerfile +++ b/dev/docker/Dockerfile @@ -1,28 +1,8 @@ FROM partner-chains-node-builder:latest AS builder +FROM partner-chains-node-runner:latest -FROM ubuntu:24.04 COPY --from=builder /partner-chains-node/partner-chains-demo-node /usr/local/bin/partner-chains-node -RUN apt-get update && apt-get install -y \ - ca-certificates \ - libgcc-s1 \ - libstdc++6 \ - libc6 \ - libssl3 \ - zlib1g \ - libgomp1 \ - curl \ - wget \ - vim \ - dnsutils \ - jq \ - htop - -RUN useradd -m -u 1010 -U -s /bin/sh -d /substrate substrate \ - && mkdir -p /data /substrate/.local/share/partner-chains-node \ - && chown -R substrate:substrate /data /substrate \ - && ln -s /data /substrate/.local/share/partner-chains-node - RUN /usr/local/bin/partner-chains-node --version RUN chown substrate:substrate /usr/local/bin/partner-chains-node && chmod +x /usr/local/bin/partner-chains-node diff --git a/dev/docker/build-images-local.sh b/dev/docker/build-images-local.sh index 30cf3826e0..33a86d150c 100755 --- a/dev/docker/build-images-local.sh +++ b/dev/docker/build-images-local.sh @@ -1,4 +1,5 @@ #!/usr/bin/env sh # This script has to be executed from the root of the repository to enable proper context for the Docker build. `./dev/docker/build-images-local.sh` docker build --platform linux/amd64 --pull -f dev/docker/builder.Dockerfile -t "partner-chains-node-builder:latest" --ssh default . && \ +docker build --platform linux/amd64 --pull -f dev/docker/runner.Dockerfile -t "partner-chains-node-runner:latest" --ssh default . && \ docker build --platform linux/amd64 -f dev/docker/Dockerfile -t partner-chains-node:latest dev/docker diff --git a/dev/docker/runner.Dockerfile b/dev/docker/runner.Dockerfile new file mode 100644 index 0000000000..88009e9865 --- /dev/null +++ b/dev/docker/runner.Dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:24.04 + +RUN apt-get update && apt-get install -y \ + ca-certificates \ + libgcc-s1 \ + libstdc++6 \ + libc6 \ + libssl3 \ + zlib1g \ + libgomp1 \ + curl \ + wget \ + vim \ + dnsutils \ + jq \ + htop + +RUN useradd -m -u 1010 -U -s /bin/sh -d /substrate substrate \ + && mkdir -p /data /substrate/.local/share/partner-chains-node \ + && chown -R substrate:substrate /data /substrate \ + && ln -s /data /substrate/.local/share/partner-chains-node From 034f6725b81ffa0b839bcd1a1fe101bff99cacd8 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Mon, 30 Jun 2025 13:54:27 +0200 Subject: [PATCH 42/51] Rebased to input-output-hk/polkadot-sdk with upstream BEEFY PRs --- Cargo.lock | 258 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 156 ++++++++++++++++---------------- 2 files changed, 207 insertions(+), 207 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ba8bf9bdfd..406b118dd9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "log", @@ -2904,7 +2904,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", ] @@ -2948,7 +2948,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-support-procedural", @@ -2972,7 +2972,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aquamarine", "frame-support", @@ -3002,7 +3002,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3018,7 +3018,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3059,7 +3059,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "cfg-expr", @@ -3079,7 +3079,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", @@ -3091,7 +3091,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro2", "quote", @@ -3101,7 +3101,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "cfg-if", "docify", @@ -3120,7 +3120,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -3134,7 +3134,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "parity-scale-codec", @@ -3144,7 +3144,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "parity-scale-codec", @@ -6375,7 +6375,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6391,7 +6391,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6404,7 +6404,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6427,7 +6427,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6443,7 +6443,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6462,7 +6462,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6613,7 +6613,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6635,7 +6635,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -6680,7 +6680,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6800,7 +6800,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6815,7 +6815,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6833,7 +6833,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6848,7 +6848,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6864,7 +6864,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6876,7 +6876,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -7589,7 +7589,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -8854,7 +8854,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "sp-core", @@ -8865,7 +8865,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "log", @@ -8886,7 +8886,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "sp-api", @@ -8901,7 +8901,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "docify", @@ -8927,7 +8927,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -8938,7 +8938,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -8980,7 +8980,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "fnv", "futures", @@ -9006,7 +9006,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "kvdb", @@ -9034,7 +9034,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9057,7 +9057,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9086,7 +9086,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9120,7 +9120,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "jsonrpsee", @@ -9140,7 +9140,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9184,7 +9184,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "finality-grandpa", "futures", @@ -9204,7 +9204,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9227,7 +9227,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9250,7 +9250,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "polkavm", "sc-allocator", @@ -9263,7 +9263,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "polkavm", @@ -9274,7 +9274,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "anyhow", "log", @@ -9290,7 +9290,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "console", "futures", @@ -9306,7 +9306,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9320,7 +9320,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9348,7 +9348,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9398,7 +9398,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9408,7 +9408,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "futures", @@ -9427,7 +9427,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9448,7 +9448,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9483,7 +9483,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-channel", "async-trait", @@ -9516,7 +9516,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9535,7 +9535,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bs58", "bytes", @@ -9593,7 +9593,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9602,7 +9602,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "jsonrpsee", @@ -9634,7 +9634,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9654,7 +9654,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9678,7 +9678,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9711,7 +9711,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "directories", @@ -9775,7 +9775,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -9786,7 +9786,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "derive_more 0.99.20", "futures", @@ -9806,7 +9806,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "chrono", "futures", @@ -9825,7 +9825,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "chrono", "console", @@ -9853,7 +9853,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -9864,7 +9864,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9895,7 +9895,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9912,7 +9912,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-channel", "futures", @@ -10669,7 +10669,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "hash-db", @@ -10691,7 +10691,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10705,7 +10705,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10717,7 +10717,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "integer-sqrt", @@ -10731,7 +10731,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-inherents", @@ -10794,7 +10794,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "parity-scale-codec", @@ -10813,7 +10813,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -10827,7 +10827,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -10843,7 +10843,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -10861,7 +10861,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10881,7 +10881,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "finality-grandpa", "log", @@ -10898,7 +10898,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10909,7 +10909,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -10957,7 +10957,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "blake2b_simd", "byteorder", @@ -10970,7 +10970,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "quote", "sp-crypto-hashing", @@ -10980,7 +10980,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -10989,7 +10989,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro2", "quote", @@ -10999,7 +10999,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "environmental", "parity-scale-codec", @@ -11009,7 +11009,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11039,7 +11039,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11052,7 +11052,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bytes", "docify", @@ -11078,7 +11078,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-core", "sp-runtime", @@ -11088,7 +11088,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11099,7 +11099,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11108,7 +11108,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11118,7 +11118,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11129,7 +11129,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -11165,7 +11165,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-core", @@ -11175,7 +11175,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "backtrace", "regex", @@ -11196,7 +11196,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11206,7 +11206,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "binary-merkle-tree", "docify", @@ -11235,7 +11235,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11254,7 +11254,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "expander", @@ -11267,7 +11267,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11340,7 +11340,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11353,7 +11353,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "log", @@ -11373,7 +11373,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11397,12 +11397,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11414,7 +11414,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -11426,7 +11426,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "tracing", @@ -11437,7 +11437,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-runtime", @@ -11446,7 +11446,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -11460,7 +11460,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "hash-db", @@ -11483,7 +11483,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11500,7 +11500,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -11512,7 +11512,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11524,7 +11524,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11889,7 +11889,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hmac", "pbkdf2", @@ -11901,12 +11901,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11926,7 +11926,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11940,7 +11940,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -11965,7 +11965,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12011,7 +12011,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "sc-block-builder", @@ -12029,7 +12029,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=7dbcab6e2d5ab6a7490c950184815df81c7a8249#7dbcab6e2d5ab6a7490c950184815df81c7a8249" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "build-helper", diff --git a/Cargo.toml b/Cargo.toml index 34c54f5e1c..00defe1860 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -187,84 +187,84 @@ derive-where = { version = "1.2.7", default-features = false } once_cell = { version = "1.21.3", default-features = false } # substrate dependencies -frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-beefy-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-mmr = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-consensus-beefy = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-externalities = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-runtime-interface = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-trie = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } -substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7dbcab6e2d5ab6a7490c950184815df81c7a8249" } +frame-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-executive = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-support = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-system-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-try-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-balances = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-sudo = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-basic-authorship = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-cli = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-client-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-client-db = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-executor = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-network = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-network-test = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-rpc-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-service = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-telemetry = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-transaction-pool-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sc-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-arithmetic = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-application-crypto = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-blockchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-core = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-crypto-hashing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-externalities = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-genesis-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-inherents = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-io = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-keyring = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-runtime-interface = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-tracing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-trie = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-staking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-std = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-version = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-storage = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +sp-weights = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +substrate-build-script-utils = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +substrate-frame-rpc-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +substrate-test-runtime-client = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +substrate-wasm-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v7.2.2" } # local dependencies From f51c173bfed1606f07b04d921a6dafa7a75242ee Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Wed, 2 Jul 2025 13:13:29 +0200 Subject: [PATCH 43/51] Compiling with Schnorr keystore, but not finding the key --- Cargo.lock | 2 ++ demo/node/Cargo.toml | 1 + demo/node/src/service.rs | 14 ++++++++++++-- demo/node/src/testnet.rs | 14 +++++++------- .../partner-chains-node-1/entrypoint.sh | 1 + ...05dae79d64c5427182a2a840af3db4396528d6b87c70b2e | 1 + ...d2c087a03dba939b428939970a1e490886cefd6e77676de | 1 + ...845fb494ac438f50754a822aa74163f3be752346422c2ed | 1 + .../partner-chains-node-2/entrypoint.sh | 1 + ...2513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 | 1 + .../partner-chains-setup/entrypoint.sh | 10 +++++----- .../partner-chains-cli/src/register/register1.rs | 5 +++-- toolkit/utils/schnorr_jubjub/Cargo.toml | 2 ++ toolkit/utils/schnorr_jubjub/src/keystore.rs | 4 +++- toolkit/utils/schnorr_jubjub/src/lib.rs | 7 ++++++- 15 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/61757261584009f3a91d409de05dae79d64c5427182a2a840af3db4396528d6b87c70b2e create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/6372636803324294e1fbb5da35b845fb494ac438f50754a822aa74163f3be752346422c2ed create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 diff --git a/Cargo.lock b/Cargo.lock index 406b118dd9..f09d6a6889 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7176,6 +7176,7 @@ dependencies = [ "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-executor", + "sc-keystore", "sc-network", "sc-partner-chains-consensus-aura", "sc-rpc", @@ -10038,6 +10039,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", + "sc-keystore", "scale-info", "serde", "sha2 0.10.9", diff --git a/demo/node/Cargo.toml b/demo/node/Cargo.toml index 4a9346d6f1..538bf0999e 100644 --- a/demo/node/Cargo.toml +++ b/demo/node/Cargo.toml @@ -40,6 +40,7 @@ sp-consensus = { workspace = true } sc-consensus = { workspace = true } sc-consensus-beefy = { workspace = true } sc-consensus-beefy-rpc = { workspace = true } +sc-keystore = { workspace = true } sp-consensus-beefy = { workspace = true } sc-consensus-grandpa = { workspace = true } sc-consensus-grandpa-rpc = { workspace = true } diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index 6316ee9249..773a72c3b3 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -27,7 +27,13 @@ use std::{sync::Arc, time::Duration}; use time_source::SystemTimeSource; use tokio::task; -type HostFunctions = sp_io::SubstrateHostFunctions; +/// The host functions Substrate provides for the Wasm runtime environment. +/// +/// All these host functions will be callable from inside the Wasm environment. +pub type HostFunctions = ( + sp_io::SubstrateHostFunctions, + schnorr_jubjub::generic_key_interface::HostFunctions, +); pub(crate) type FullClient = sc_service::TFullClient>; @@ -402,7 +408,11 @@ pub async fn new_full) + } else { + None + }; // beefy is enabled if its notification service exists if let Some(notification_service) = beefy_notification_service { diff --git a/demo/node/src/testnet.rs b/demo/node/src/testnet.rs index 00b06d095d..9a8519cadf 100644 --- a/demo/node/src/testnet.rs +++ b/demo/node/src/testnet.rs @@ -74,49 +74,49 @@ pub fn testnet_initial_authorities() -> Vec { //alice public keys authority_keys( "0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d", - "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee", "0x020a1091341fe5664bfa1782d5e04779689068c916b04cb365ec3153755684d9a1", ), //bob public keys authority_keys( "0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48", - "0x0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0xd17c2d7823ebf260fd138f2d7e27d114c0145d968b5ff5006125f2414fadae69", "0x0390084fdbf27d2b79d26a4f13f0ccd982cb755a661969143c37cbc49ef5b91f27", ), //charlie public keys authority_keys( "0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22", - "0x0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0x439660b36c6c03afafca027b910b4fecf99801834c62a5e6006f27d978de234f", "0x0389411795514af1627765eceffcbd002719f031604fadd7d188e2dc585b4e1afb", ), //dave public keys authority_keys( "0x306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20", - "0x03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0x5e639b43e0052c47447dac87d6fd2b6ec50bdd4d0f614e4299c665249bbd09d9", "0x03bc9d0ca094bd5b8b3225d7651eac5d18c1c04bf8ae8f8b263eebca4e1410ed0c", ), //eve public keys authority_keys( "0xe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e", - "0x031d10105e323c4afce225208f71a6441ee327a65b9e646e772500c74d31f669aa", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0x1dfe3e22cc0d45c70779c1095f7489a8ef3cf52d62fbd8c2fa38c9f1723502b5", "0x031d10105e323c4afce225208f71a6441ee327a65b9e646e772500c74d31f669aa", ), //ferdie public keys authority_keys( "0x1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c", - "0x0291f1217d5a04cb83312ee3d88a6e6b33284e053e6ccfc3a90339a0299d12967c", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0x568cb4a574c6d178feb39c27dfc8b3f789e5f5423e19c71633c748b9acf086b5", "0x0291f1217d5a04cb83312ee3d88a6e6b33284e053e6ccfc3a90339a0299d12967c", ), //greg public keys authority_keys( "0x2c4ed1038f6e4131c21b6b89885ed232c5b81bae09009376e9079cc8aa518a1c", - "0x02dacce90fca29ca80404d9b4e8ff3d9dabd03def6a82e412acb2ad04dd734dbfc", + "0xd6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de", "0xfa41bacb202b0529288b05af1b324f85fe561091c2d29d9df1df37c3aa687c23", "0x02dacce90fca29ca80404d9b4e8ff3d9dabd03def6a82e412acb2ad04dd734dbfc", ), diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh index 6a10021aef..ec2728dddd 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/entrypoint.sh @@ -24,6 +24,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --rpc-port=9933 \ -lbeefy=trace \ --rpc-cors=all \ + --rpc-methods=unsafe \ --prometheus-port=9615 \ --prometheus-external \ --state-pruning=archive \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/61757261584009f3a91d409de05dae79d64c5427182a2a840af3db4396528d6b87c70b2e b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/61757261584009f3a91d409de05dae79d64c5427182a2a840af3db4396528d6b87c70b2e new file mode 100644 index 0000000000..a84716ce4d --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/61757261584009f3a91d409de05dae79d64c5427182a2a840af3db4396528d6b87c70b2e @@ -0,0 +1 @@ +"library original aspect latin guitar radar donate reject cluster solve mom swallow" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de new file mode 100644 index 0000000000..43b6593acf --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de @@ -0,0 +1 @@ +ff04b676b83fff51ecb832b75e3ec315e58dd891b6c60b380d174fdb07dafd41fca3b91ac40a673e79807100c534353ac0de91b1e50e7daa0eed94901d2ab324 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/6372636803324294e1fbb5da35b845fb494ac438f50754a822aa74163f3be752346422c2ed b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/6372636803324294e1fbb5da35b845fb494ac438f50754a822aa74163f3be752346422c2ed new file mode 100644 index 0000000000..8213846a63 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/6372636803324294e1fbb5da35b845fb494ac438f50754a822aa74163f3be752346422c2ed @@ -0,0 +1 @@ +"immense salute used boring arrest nature awesome injury detect random wait meat" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh index 22b89297b3..6f051c4a06 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/entrypoint.sh @@ -25,6 +25,7 @@ export MC__FIRST_EPOCH_TIMESTAMP_MILLIS=$(cat /shared/MC__FIRST_EPOCH_TIMESTAMP_ --rpc-port=9934 \ --rpc-cors=all \ -lbeefy=trace \ + --rpc-methods=unsafe \ --prometheus-port=9616 \ --prometheus-external \ --state-pruning=archive \ diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 new file mode 100644 index 0000000000..fa17be7f90 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 @@ -0,0 +1 @@ +d5e016c1b9662256bca8d6220993a7c5d35ebfa5c49298339552519f3ad85752d93af7e059e8ee6cf2f1dec39730c6b5c4d51392f5b0e60ab75a151f270a4c86 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index 8902b1fbd4..fcb759e7c9 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -72,7 +72,7 @@ echo "Inserting D parameter..." --ogmios-url http://ogmios:$OGMIOS_PORT \ --genesis-utxo $GENESIS_UTXO \ --permissioned-candidates-count 3 \ - --registered-candidates-count 2 \ + --registered-candidates-count 0 \ --payment-key-file /keys/funded_address.skey if [ $? -eq 0 ]; then @@ -203,7 +203,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FnXTMg8UnfeGsMaGg24o3NY21VRFRDRdgxuLGmXuYLeZmin", { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5DAAnrj7VHTz5z2TZmZ41ZQ7JL2pnGzH9QGQQ5kuGzSi1RuE", + "beefy": "5GvJgb9y6TAZpiuv3cd4VNU9JKVKptpomd3qBEBhGVtQsgbQ", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } ], @@ -211,7 +211,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FJMH4MeZgd4fpiiAVLnr4uRop2EDFgzAFcvLmcduQ2cofCi", { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5FLSigC9H8N9TnUvmU8bYytPfpz4hF6bFZsXZ7y3ohohT3YQ", + "beefy": "5CVywsHN9SJJkJXCRsrLMZvKVNZir1A7exGPnKvBZRvVdYRP", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } ] @@ -224,7 +224,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW4wALva83fvah66ufXSxg6r84tTpJmDXna8A1PCYdbZdVL95", "keys": { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5DAAnrj7VHTz5z2TZmZ41ZQ7JL2pnGzH9QGQQ5kuGzSi1RuE", + "beefy": "5GvJgb9y6TAZpiuv3cd4VNU9JKVKptpomd3qBEBhGVtQsgbQ", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } } @@ -234,7 +234,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW92jBDRydnbyojCVF3USNFgEsrEvDGV3gvdgDvpfnbXvC13q", "keys": { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5FLSigC9H8N9TnUvmU8bYytPfpz4hF6bFZsXZ7y3ohohT3YQ", + "beefy": "5CVywsHN9SJJkJXCRsrLMZvKVNZir1A7exGPnKvBZRvVdYRP", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } } diff --git a/toolkit/partner-chains-cli/src/register/register1.rs b/toolkit/partner-chains-cli/src/register/register1.rs index 6b93caf038..ce9646bd90 100644 --- a/toolkit/partner-chains-cli/src/register/register1.rs +++ b/toolkit/partner-chains-cli/src/register/register1.rs @@ -29,7 +29,7 @@ impl CmdRun for Register1Cmd { "⚠️ Keystore not found. Please run the `generate-keys` command first" ))?; - let GeneratedKeysFileContent { sidechain_pub_key, aura_pub_key, grandpa_pub_key } = + let GeneratedKeysFileContent { sidechain_pub_key, aura_pub_key, grandpa_pub_key, beefy_pub_key } = read_generated_keys(context).map_err(|e| { context.eprint("⚠️ The keys file `partner-chains-cli-keys.json` is missing or invalid. Please run the `generate-keys` command first"); anyhow!(e) @@ -84,7 +84,7 @@ impl CmdRun for Register1Cmd { let executable = context.current_executable()?; context.print("Run the following command to generate signatures on the next step. It has to be executed on the machine with your SPO cold signing key."); context.print(""); - context.print(&format!("{executable} wizards register2 \\\n --genesis-utxo {genesis_utxo} \\\n --registration-utxo {registration_utxo} \\\n --aura-pub-key {aura_pub_key} \\\n --grandpa-pub-key {grandpa_pub_key} \\\n --sidechain-pub-key {sidechain_pub_key} \\\n --sidechain-signature {sidechain_signature}")); + context.print(&format!("{executable} wizards register2 \\\n --genesis-utxo {genesis_utxo} \\\n --registration-utxo {registration_utxo} \\\n --aura-pub-key {aura_pub_key} \\\n --beefy-pub-key {beefy_pub_key} --grandpa-pub-key {grandpa_pub_key} \\\n --sidechain-pub-key {sidechain_pub_key} \\\n --sidechain-signature {sidechain_signature}")); Ok(()) } @@ -120,6 +120,7 @@ pub struct GeneratedKeysFileContent { pub sidechain_pub_key: String, pub aura_pub_key: String, pub grandpa_pub_key: String, + pub beefy_pub_key: String, } pub fn read_generated_keys(context: &C) -> anyhow::Result { diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index 58252bb99a..fd184864ed 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -14,6 +14,7 @@ pallet-beefy-mmr = { workspace = true } parity-scale-codec = { workspace = true } rand_core = { workspace = true } scale-info = {workspace = true} +sc-keystore = { workspace = true, optional = true } sp-core = { workspace = true, features = ["serde"] } sp-application-crypto = { workspace = true } sp-consensus-beefy = { workspace = true } @@ -68,6 +69,7 @@ std = [ "sp-trie/std", "rand/std", "rand_chacha/std", + "sc-keystore", ] [lints] diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs index 0ea99897bc..2e9ff75201 100644 --- a/toolkit/utils/schnorr_jubjub/src/keystore.rs +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -6,6 +6,7 @@ //! support due to lack of genericity. use alloc::vec::Vec; +use std::sync::Arc; use sc_keystore::LocalKeystore; use sp_application_crypto::Pair as TraitPair; use sp_core::{ @@ -20,7 +21,8 @@ use crate::{ }; /// Wrapper of the LocalKeystore -pub struct SchnorrKeystore(pub LocalKeystore); +// TRY TO CHANGE THIS TO KeyStorePtr +pub struct SchnorrKeystore(pub Arc); impl Keystore for SchnorrKeystore { fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec { diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 152e334b71..ab4b12a1ee 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -7,7 +7,9 @@ extern crate alloc; mod beefy_structures; -// mod keystore; + +#[cfg(feature = "std")] +mod keystore; mod poseidon; mod primitive; mod runtime; @@ -15,3 +17,6 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; pub use poseidon::PoseidonJubjub; +pub use runtime::generic_key_interface; +#[cfg(feature = "std")] +pub use keystore::SchnorrKeystore; \ No newline at end of file From 0a5f6a1196107619cbc1d30b1b0c55c28eb8652e Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Fri, 4 Jul 2025 15:06:02 +0200 Subject: [PATCH 44/51] Switch from rev to beefy_all_features_branch --- Cargo.toml | 160 ++++++++++++++++++++++++++--------------------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 00defe1860..8ef21520ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -187,84 +187,84 @@ derive-where = { version = "1.2.7", default-features = false } once_cell = { version = "1.21.3", default-features = false } # substrate dependencies -frame-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-executive = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-support = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-system-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -frame-try-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-balances = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-beefy-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-sudo = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-basic-authorship = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-cli = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-client-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-client-db = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-executor = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-network = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-network-test = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-rpc-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-service = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-telemetry = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-transaction-pool-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sc-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-arithmetic = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-application-crypto = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-blockchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-core = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-crypto-hashing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-externalities = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-genesis-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-inherents = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-io = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-keyring = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-runtime-interface = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-tracing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-trie = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-staking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-std = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-version = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-storage = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -sp-weights = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -substrate-build-script-utils = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -substrate-frame-rpc-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -substrate-test-runtime-client = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } -substrate-wasm-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", rev = "00f6412b122795daa5e19c073802bcb1aa419113" } +frame-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-executive = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-support = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-system-benchmarking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +frame-try-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-balances = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-beefy-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-mmr = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-sudo = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-basic-authorship = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-cli = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-client-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-client-db = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-beefy-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-executor = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-network = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-network-test = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-rpc = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-rpc-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-service = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-telemetry = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-transaction-pool-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sc-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-api = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-arithmetic = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-application-crypto = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-block-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-blockchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-consensus = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-consensus-aura = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-consensus-beefy = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-consensus-grandpa = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-consensus-slots = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-core = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-crypto-hashing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-externalities = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-genesis-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-inherents = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-io = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-keyring = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-keystore = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-offchain = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-runtime = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-runtime-interface = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-session = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-tracing = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-trie = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-staking = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-std = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-timestamp = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-transaction-pool = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-version = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-storage = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +sp-weights = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +substrate-build-script-utils = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +substrate-frame-rpc-system = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +substrate-test-runtime-client = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } +substrate-wasm-builder = { default-features = false, git = "https://github.com/input-output-hk/polkadot-sdk.git", branch = "beefy_all_features_branch" } raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v7.2.2" } # local dependencies @@ -349,5 +349,5 @@ ark-ed-on-bls12-381 = { version = "0.5.0", default-features = false } ark-ff = { version = "0.5.0", default-features = false } ark-ec = { version = "0.5.0", default-features = false } ark-serialize = { version = "0.5.0", default-features = false } -rand_core = {version = "0.6.4", default-features = false } -sha2 = {version = "0.10.9", default-features = false } +rand_core = { version = "0.6.4", default-features = false } +sha2 = { version = "0.10.9", default-features = false } From ea953e38765130033b0f1854b00500bf494ba1a9 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Fri, 4 Jul 2025 15:32:43 +0200 Subject: [PATCH 45/51] Switched to GenericCrypto --- Cargo.lock | 619 +++++++++++--------- demo/node/src/service.rs | 8 +- toolkit/utils/schnorr_jubjub/src/lib.rs | 5 +- toolkit/utils/schnorr_jubjub/src/runtime.rs | 45 +- 4 files changed, 341 insertions(+), 336 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f09d6a6889..6c17ebb94e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -190,7 +190,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -353,7 +353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -379,7 +379,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -454,7 +454,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -584,7 +584,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -596,7 +596,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -608,7 +608,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -687,7 +687,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -698,7 +698,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "log", @@ -919,7 +919,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1094,10 +1094,11 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.2.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" +checksum = "dee8eddd066a8825ec5570528e6880471210fd5d88cb6abbe1cfdd51ca249c33" dependencies = [ + "jam-codec", "log", "parity-scale-codec", "scale-info", @@ -1135,9 +1136,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.18.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -1154,7 +1155,7 @@ dependencies = [ "serde", "serde_test", "sp-core", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1275,9 +1276,9 @@ checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" [[package]] name = "cc" -version = "1.2.27" +version = "1.2.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +checksum = "4ad45f4f74e4e20eaa392913b7b33a7091c87e59628f4dd27888205ad888843c" dependencies = [ "jobserver", "libc", @@ -1462,7 +1463,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1904,9 +1905,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1996,14 +1997,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxx" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" +checksum = "be1149bab7a5580cb267215751389597c021bfad13c0bb00c54e19559333764c" dependencies = [ "cc", "cxxbridge-cmd", @@ -2015,47 +2016,50 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" +checksum = "6aeeaf1aefae8e0f5141920a7ecbc64a22ab038d4b4ac59f2d19e0effafd5b53" dependencies = [ "cc", "codespan-reporting", + "indexmap 2.10.0", "proc-macro2", "quote", "scratch", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" +checksum = "c36ac1f9a72064b1f41fd7b49a4c1b3bf33b9ccb1274874dda6d264f57c55964" dependencies = [ "clap", "codespan-reporting", + "indexmap 2.10.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxxbridge-flags" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" +checksum = "170c6ff5d009663866857a91ebee55b98ea4d4b34e7d7aba6dc4a4c95cc7b748" [[package]] name = "cxxbridge-macro" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" +checksum = "4984a142211026786011a7e79fa22faa1eca1e9cbf0e60bffecfd57fd3db88f1" dependencies = [ + "indexmap 2.10.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2129,7 +2133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2209,7 +2213,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2220,7 +2224,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2231,7 +2235,7 @@ checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2244,7 +2248,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2273,7 +2277,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2284,7 +2288,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2394,7 +2398,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2424,7 +2428,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.103", + "syn 2.0.104", "termcolor", "toml 0.8.23", "walkdir", @@ -2544,7 +2548,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2591,7 +2595,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2611,7 +2615,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2750,7 +2754,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2904,7 +2908,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", ] @@ -2948,7 +2952,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-support-procedural", @@ -2972,7 +2976,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aquamarine", "frame-support", @@ -3002,7 +3006,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3018,7 +3022,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3059,7 +3063,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "cfg-expr", @@ -3073,35 +3077,35 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "cfg-if", "docify", @@ -3120,7 +3124,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -3134,7 +3138,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "parity-scale-codec", @@ -3144,7 +3148,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "parity-scale-codec", @@ -3271,7 +3275,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -3488,7 +3492,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3497,9 +3501,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -3507,7 +3511,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3891,7 +3895,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.10", + "h2 0.4.11", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -4167,7 +4171,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4202,9 +4206,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown 0.15.4", @@ -4271,6 +4275,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "ip_network" version = "0.4.1" @@ -4363,6 +4378,34 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +[[package]] +name = "jam-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d72f2fb8cfd27f6c52ea7d0528df594f7f2ed006feac153e9393ec567aafea98" +dependencies = [ + "arrayvec 0.7.6", + "bitvec", + "byte-slice-cast", + "const_format", + "impl-trait-for-tuples", + "jam-codec-derive", + "rustversion", + "serde", +] + +[[package]] +name = "jam-codec-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09985146f40378e13af626964ac9c206d9d9b67c40c70805898d9954f709bcf5" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "jiff" version = "0.2.15" @@ -4384,7 +4427,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4528,7 +4571,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4811,9 +4854,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "bs58", "ed25519-dalek", @@ -5016,7 +5059,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5109,9 +5152,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ "bitflags 2.9.1", "libc", @@ -5283,7 +5326,7 @@ dependencies = [ "futures", "futures-timer", "hickory-resolver 0.25.2", - "indexmap 2.9.0", + "indexmap 2.10.0", "libc", "mockall", "multiaddr 0.17.1", @@ -5446,7 +5489,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5460,7 +5503,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5471,7 +5514,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5482,7 +5525,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5612,7 +5655,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5633,7 +5676,7 @@ checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5722,7 +5765,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -6099,7 +6142,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -6278,9 +6321,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallas-addresses" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bd039d7f1618d12ff348dd03eebe38c5d2a010325750e5341526c419b0f8e0" +checksum = "45a7e0425ec22afe8e80c9f9dfb086cbad569fd2ba3e51d6ab8caa20423b7488" dependencies = [ "base58", "bech32 0.9.1", @@ -6294,9 +6337,9 @@ dependencies = [ [[package]] name = "pallas-codec" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1584d615857c0a44058fb612e892e9e0cc47b56c3c82cdf7347b5c1d1193598c" +checksum = "e344b3e39ca3bd79bb7547b65b980869c3c377a00c48ece70430f4611c32a18b" dependencies = [ "hex", "minicbor", @@ -6307,9 +6350,9 @@ dependencies = [ [[package]] name = "pallas-crypto" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c1d642326ce402eb9191aeacc3dd0bf2b499848e97a56396c978a6eb9dd31a" +checksum = "59c89ea16190a87a1d8bd36923093740a2b659ed6129f4636329319a70cc4db3" dependencies = [ "cryptoxide", "hex", @@ -6322,9 +6365,9 @@ dependencies = [ [[package]] name = "pallas-primitives" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d30f5053073554d016a9f009c077f9a84275951a611cce54230de6c54d34d9b" +checksum = "1912f4f4a0719e36ac061f7f3557b687e8ef7285b573608fb5c71eba64c1b04c" dependencies = [ "base58", "bech32 0.9.1", @@ -6338,9 +6381,9 @@ dependencies = [ [[package]] name = "pallas-traverse" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d2572d316883fe866ae648bc3c5357e70cbbe8de5d78b1246f6109520fa52f" +checksum = "be7fbb1db75a0b6b32d1808b2cc5c7ba6dd261f289491bb86998b987b4716883" dependencies = [ "hex", "itertools 0.13.0", @@ -6375,7 +6418,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6391,7 +6434,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6404,7 +6447,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6427,7 +6470,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6443,7 +6486,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6462,7 +6505,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6613,7 +6656,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6635,7 +6678,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -6680,7 +6723,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6800,7 +6843,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6815,7 +6858,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6833,7 +6876,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6848,7 +6891,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6864,7 +6907,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6876,7 +6919,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6948,7 +6991,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7429,7 +7472,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7497,7 +7540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.9.0", + "indexmap 2.10.0", ] [[package]] @@ -7517,7 +7560,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7574,7 +7617,7 @@ name = "plutus-datum-derive" version = "1.7.0" dependencies = [ "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7590,7 +7633,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -7624,9 +7667,9 @@ dependencies = [ [[package]] name = "polkavm" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" +checksum = "643c98b9cb27449cffe54c2b500fe8d55d7aa7f29acdd90c56e5cd196fe3d728" dependencies = [ "libc", "log", @@ -7637,18 +7680,18 @@ dependencies = [ [[package]] name = "polkavm-assembler" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" +checksum = "51fcf86a40f3d2191cc2b65357e774eda67875cbc31843f505a69b70f8679922" dependencies = [ "log", ] [[package]] name = "polkavm-common" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" +checksum = "28732f89f1e730d908fd816db50ee2afcb8368345ded9f9bc78fbd710db7a4be" dependencies = [ "log", "polkavm-assembler", @@ -7656,40 +7699,40 @@ dependencies = [ [[package]] name = "polkavm-derive" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" +checksum = "b5de33a198ef311b3ceb8de476515fbb92b4d2ed56feb23499b0875d0e6a8ce6" dependencies = [ "polkavm-derive-impl-macro", ] [[package]] name = "polkavm-derive-impl" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" +checksum = "dff180bfd5add755ae54197babc79cd6efc3c3d01a5ded643b1ab37a9932deb2" dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "polkavm-derive-impl-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" +checksum = "0105f050c7bce74fa4327a3e8e5c8a6368e39a7c93c5e8e99b33df90c097c859" dependencies = [ "polkavm-derive-impl", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "polkavm-linker" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" +checksum = "5985c1abf240511baab6424a295b64d61e530dd50069588d1486ef24665f8f34" dependencies = [ "dirs", "gimli 0.31.1", @@ -7703,9 +7746,9 @@ dependencies = [ [[package]] name = "polkavm-linux-raw" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" +checksum = "30993b46019e02b9d3de07e09d84f5b4474244ec966028fa95a38547076ffd93" [[package]] name = "polling" @@ -7835,12 +7878,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.34" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" +checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" dependencies = [ "proc-macro2", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7908,7 +7951,7 @@ checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7928,7 +7971,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "version_check", "yansi", ] @@ -7967,7 +8010,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8026,7 +8069,7 @@ dependencies = [ "prost 0.13.5", "prost-types", "regex", - "syn 2.0.103", + "syn 2.0.104", "tempfile", ] @@ -8040,7 +8083,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8053,7 +8096,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8136,7 +8179,7 @@ checksum = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8440,7 +8483,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8855,7 +8898,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "sp-core", @@ -8866,7 +8909,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "log", @@ -8887,7 +8930,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "sp-api", @@ -8902,7 +8945,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "docify", @@ -8928,18 +8971,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -8981,7 +9024,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "fnv", "futures", @@ -9007,7 +9050,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "kvdb", @@ -9035,7 +9078,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9058,7 +9101,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9087,7 +9130,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9121,7 +9164,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "jsonrpsee", @@ -9141,7 +9184,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9185,7 +9228,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "finality-grandpa", "futures", @@ -9205,7 +9248,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9228,7 +9271,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9251,7 +9294,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "polkavm", "sc-allocator", @@ -9264,7 +9307,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "polkavm", @@ -9275,7 +9318,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "anyhow", "log", @@ -9291,7 +9334,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "console", "futures", @@ -9307,7 +9350,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9321,7 +9364,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9349,7 +9392,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9399,7 +9442,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9409,7 +9452,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "futures", @@ -9428,7 +9471,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9449,7 +9492,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9484,7 +9527,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-channel", "async-trait", @@ -9517,7 +9560,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9536,7 +9579,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bs58", "bytes", @@ -9594,7 +9637,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9603,7 +9646,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "jsonrpsee", @@ -9635,7 +9678,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9655,7 +9698,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9679,7 +9722,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9712,7 +9755,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "directories", @@ -9776,7 +9819,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -9787,7 +9830,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "derive_more 0.99.20", "futures", @@ -9807,7 +9850,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "chrono", "futures", @@ -9826,7 +9869,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "chrono", "console", @@ -9854,23 +9897,23 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", "futures-timer", - "indexmap 2.9.0", + "indexmap 2.10.0", "itertools 0.11.0", "linked-hash-map", "parity-scale-codec", @@ -9896,11 +9939,11 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "parity-scale-codec", "serde", @@ -9913,7 +9956,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-channel", "futures", @@ -9970,7 +10013,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10009,7 +10052,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10275,7 +10318,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10286,7 +10329,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10359,7 +10402,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "ryu", "serde", @@ -10671,7 +10714,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "hash-db", @@ -10693,7 +10736,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10701,13 +10744,13 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10719,7 +10762,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "integer-sqrt", @@ -10733,7 +10776,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-inherents", @@ -10796,7 +10839,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "parity-scale-codec", @@ -10815,7 +10858,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -10829,7 +10872,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10845,7 +10888,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10863,7 +10906,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10883,7 +10926,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "finality-grandpa", "log", @@ -10900,7 +10943,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10911,7 +10954,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -10959,7 +11002,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "blake2b_simd", "byteorder", @@ -10972,17 +11015,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -10991,17 +11034,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "environmental", "parity-scale-codec", @@ -11011,7 +11054,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11041,7 +11084,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11054,7 +11097,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bytes", "docify", @@ -11080,7 +11123,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-core", "sp-runtime", @@ -11090,7 +11133,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11101,7 +11144,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11110,7 +11153,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11120,7 +11163,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11131,7 +11174,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -11167,7 +11210,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-core", @@ -11177,7 +11220,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "backtrace", "regex", @@ -11198,7 +11241,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11208,7 +11251,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "binary-merkle-tree", "docify", @@ -11237,7 +11280,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11256,20 +11299,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11342,7 +11385,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11355,7 +11398,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "log", @@ -11375,7 +11418,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11399,12 +11442,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11416,7 +11459,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11428,7 +11471,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "tracing", @@ -11439,7 +11482,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-runtime", @@ -11448,7 +11491,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11462,7 +11505,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "hash-db", @@ -11485,7 +11528,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11502,19 +11545,19 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11526,7 +11569,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11604,7 +11647,7 @@ dependencies = [ "futures-util", "hashbrown 0.15.4", "hashlink 0.10.0", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "memchr", "once_cell", @@ -11632,7 +11675,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -11655,7 +11698,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.103", + "syn 2.0.104", "tokio", "url", ] @@ -11885,13 +11928,13 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hmac", "pbkdf2", @@ -11903,12 +11946,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11928,7 +11971,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11942,7 +11985,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -11967,7 +12010,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12013,7 +12056,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "sc-block-builder", @@ -12031,7 +12074,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -12083,9 +12126,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.103" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -12112,7 +12155,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12259,7 +12302,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12270,7 +12313,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12382,17 +12425,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio 1.0.4", "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -12406,7 +12451,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12521,7 +12566,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "serde", "serde_spanned", "toml_datetime", @@ -12598,7 +12643,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -13126,7 +13171,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "wasm-bindgen-shared", ] @@ -13160,7 +13205,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -13514,9 +13559,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.32" +version = "0.7.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" dependencies = [ "bytemuck", "safe_arch", @@ -13652,7 +13697,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -13663,7 +13708,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14175,7 +14220,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -14196,7 +14241,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14216,7 +14261,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -14237,7 +14282,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14270,7 +14315,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index 773a72c3b3..65c95987fa 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -30,10 +30,7 @@ use tokio::task; /// The host functions Substrate provides for the Wasm runtime environment. /// /// All these host functions will be callable from inside the Wasm environment. -pub type HostFunctions = ( - sp_io::SubstrateHostFunctions, - schnorr_jubjub::generic_key_interface::HostFunctions, -); +pub type HostFunctions = sp_io::SubstrateHostFunctions; pub(crate) type FullClient = sc_service::TFullClient>; @@ -409,7 +406,8 @@ pub async fn new_full) + Some(Arc::new(schnorr_jubjub::SchnorrKeystore(keystore_container.local_keystore())) + as Arc) } else { None }; diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index ab4b12a1ee..5118d059e0 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -16,7 +16,6 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -pub use poseidon::PoseidonJubjub; -pub use runtime::generic_key_interface; #[cfg(feature = "std")] -pub use keystore::SchnorrKeystore; \ No newline at end of file +pub use keystore::SchnorrKeystore; +pub use poseidon::PoseidonJubjub; diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 04f4a34167..02f2470d09 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -25,49 +25,11 @@ use crate::{ primitive::{SchnorrSignature, VerifyingKey}, }; -#[runtime_interface] -pub trait GenericKeyInterface { - fn keys( - &mut self, - id: PassPointerAndReadCopy, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .keys(id) - .expect("Key type not found in keystore") - } - - fn insert( - &mut self, - id: PassPointerAndReadCopy, - suri: PassPointerAndReadCopy<[u8; 64], 64>, - public: PassPointerAndReadCopy, - ) { - self.extension::() - .expect("No `keystore` associated for the current context!") - .insert(id, &hex::encode(&suri), public.as_ref()) - .expect("Failed to insert key in keystore") - } - - fn sign_with( - &mut self, - id: PassPointerAndReadCopy, - crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, - public: PassPointerAndReadCopy, - msg: PassFatPointerAndRead<&[u8]>, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) - .expect("Failed to produce valid signature") - } -} - impl RuntimePublic for Public { type Signature = Signature; fn all(key_type: KeyTypeId) -> Vec { - let all = generic_key_interface::keys(key_type); + let all = sp_io::generic_crypto::keys(key_type); all.iter() .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) @@ -81,14 +43,15 @@ impl RuntimePublic for Public { .expect("Invalid seed size."); let keypair = crate::primitive::KeyPair::generate_from_seed(seed); - generic_key_interface::insert(key_type, seed, keypair.public().0); + let seed = core::str::from_utf8(&seed).expect("Seed contains non-UTF8 characters"); + sp_io::generic_crypto::insert(key_type, seed, &keypair.public().0); keypair.public() } fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { let crypto_id = CRYPTO_ID; - let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; + let bytes = sp_io::generic_crypto::sign_with(key_type, crypto_id.0, &self.0, msg.as_ref())?; Signature::try_from(bytes.as_ref()).ok() } From d3e3fa77da9914d91651d23c532318efe98769a1 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Mon, 7 Jul 2025 15:59:01 +0200 Subject: [PATCH 46/51] Updated keys --- Cargo.lock | 1 + .../partner-chains-node-1/keys/beefy.skey | 2 +- .../partner-chains-node-1/keys/beefy.vkey | 2 +- ...7a03dba939b428939970a1e490886cefd6e77676de | 1 - ...ddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc | 1 + .../partner-chains-node-2/keys/beefy.skey | 2 +- .../partner-chains-node-2/keys/beefy.vkey | 2 +- ...638f0d64ccff8b5e80394c4f9a5794649cc8539331 | 1 - ...adb0650cbc993dedc788a78f66dab10ce9b86ff397 | 1 + .../partner-chains-setup/entrypoint.sh | 8 +- toolkit/utils/schnorr_jubjub/Cargo.toml | 2 + .../schnorr_jubjub/src/beefy_structures.rs | 7 +- toolkit/utils/schnorr_jubjub/src/keystore.rs | 27 +++- toolkit/utils/schnorr_jubjub/src/primitive.rs | 119 ++++++++++-------- toolkit/utils/schnorr_jubjub/src/runtime.rs | 59 ++++++--- 15 files changed, 149 insertions(+), 86 deletions(-) delete mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc delete mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 diff --git a/Cargo.lock b/Cargo.lock index 6c17ebb94e..5707d21df7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10077,6 +10077,7 @@ dependencies = [ "frame-support", "hash256-std-hasher", "hex", + "num-bigint", "pallet-beefy-mmr", "parity-scale-codec", "rand 0.8.5", diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey index 43b6593acf..f3cb904016 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey @@ -1 +1 @@ -ff04b676b83fff51ecb832b75e3ec315e58dd891b6c60b380d174fdb07dafd41fca3b91ac40a673e79807100c534353ac0de91b1e50e7daa0eed94901d2ab324 \ No newline at end of file +736861646f7720637265656b206c6164646572206d656d6f72792069676e69746520776869737065722063616e796f6e2064726966742068616d6d65722073747269706520726573637565 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey index ce7b0db6c8..f3f562ad44 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey @@ -1 +1 @@ -d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de \ No newline at end of file +daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de deleted file mode 100644 index 43b6593acf..0000000000 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d6c531b35a2a88fdcd2c087a03dba939b428939970a1e490886cefd6e77676de +++ /dev/null @@ -1 +0,0 @@ -ff04b676b83fff51ecb832b75e3ec315e58dd891b6c60b380d174fdb07dafd41fca3b91ac40a673e79807100c534353ac0de91b1e50e7daa0eed94901d2ab324 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc new file mode 100644 index 0000000000..5da5c22fb1 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc @@ -0,0 +1 @@ +"shadow creek ladder memory ignite whisper canyon drift hammer stripe rescue" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey index fa17be7f90..814eb96a95 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey @@ -1 +1 @@ -d5e016c1b9662256bca8d6220993a7c5d35ebfa5c49298339552519f3ad85752d93af7e059e8ee6cf2f1dec39730c6b5c4d51392f5b0e60ab75a151f270a4c86 \ No newline at end of file +637261646c65206d616e73696f6e207a6f6f20666c61766f7220676c616e6365206f72626974206375727461696e206c61766120656e76656c6f7065206a6577656c20686f6e6579207461736b \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey index 9a1b224da6..536044843b 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey @@ -1 +1 @@ -13474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 \ No newline at end of file +b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 deleted file mode 100644 index fa17be7f90..0000000000 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/6265656613474c3356308b2662513b638f0d64ccff8b5e80394c4f9a5794649cc8539331 +++ /dev/null @@ -1 +0,0 @@ -d5e016c1b9662256bca8d6220993a7c5d35ebfa5c49298339552519f3ad85752d93af7e059e8ee6cf2f1dec39730c6b5c4d51392f5b0e60ab75a151f270a4c86 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 new file mode 100644 index 0000000000..b6f06fe093 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 @@ -0,0 +1 @@ +"cradle mansion zoo flavor glance orbit curtain lava envelope jewel honey task" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index fcb759e7c9..3016f2c0be 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -203,7 +203,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FnXTMg8UnfeGsMaGg24o3NY21VRFRDRdgxuLGmXuYLeZmin", { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5GvJgb9y6TAZpiuv3cd4VNU9JKVKptpomd3qBEBhGVtQsgbQ", + "beefy": "5H1gBHkF8KaSXpNsfKy8DFswcwB9bXoTooYCsG8qxSvwDPbt", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } ], @@ -211,7 +211,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FJMH4MeZgd4fpiiAVLnr4uRop2EDFgzAFcvLmcduQ2cofCi", { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5CVywsHN9SJJkJXCRsrLMZvKVNZir1A7exGPnKvBZRvVdYRP", + "beefy": "5G8iZCqAUsVzK2GVEhkLwwJsrj8W28wfeYSui3n773AkPjxy", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } ] @@ -224,7 +224,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW4wALva83fvah66ufXSxg6r84tTpJmDXna8A1PCYdbZdVL95", "keys": { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5GvJgb9y6TAZpiuv3cd4VNU9JKVKptpomd3qBEBhGVtQsgbQ", + "beefy": "5H1gBHkF8KaSXpNsfKy8DFswcwB9bXoTooYCsG8qxSvwDPbt", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } } @@ -234,7 +234,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW92jBDRydnbyojCVF3USNFgEsrEvDGV3gvdgDvpfnbXvC13q", "keys": { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5CVywsHN9SJJkJXCRsrLMZvKVNZir1A7exGPnKvBZRvVdYRP", + "beefy": "5G8iZCqAUsVzK2GVEhkLwwJsrj8W28wfeYSui3n773AkPjxy", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } } diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index fd184864ed..4ab90db455 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -36,6 +36,7 @@ ark-ed-on-bls12-381 = { workspace = true } ark-ff = { workspace = true } ark-ec = { workspace = true } ark-serialize = { workspace = true } +num-bigint = { workspace = true } [features] @@ -50,6 +51,7 @@ std = [ "ark-ec/std", "ark-serialize/std", "frame-support/std", + "num-bigint/std", "pallet-beefy-mmr/std", "parity-scale-codec/std", "rand_core/std", diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index e1d595e67c..f4e68321b2 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -108,7 +108,8 @@ impl<'de> Deserialize<'de> for Public { impl Debug for Public { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { - write!(f, "Public({:?})", self.as_slice()) + let s = self.to_ss58check(); + write!(f, "{} ({}...)", sp_core::hexdisplay::HexDisplay::from(&self.as_ref()), &s[0..8]) } } @@ -269,10 +270,6 @@ impl TraitPair for crate::primitive::KeyPair { } fn from_seed_slice(seed: &[u8]) -> Result { - if seed.len() != SEED_SERIALIZED_SIZE { - return Err(SecretStringError::InvalidSeedLength); - } - let h = sha2::Sha512::digest(&seed); let secret = Fr::from_random_bytes(h.as_slice()) diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs index 2e9ff75201..441a694725 100644 --- a/toolkit/utils/schnorr_jubjub/src/keystore.rs +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -132,7 +132,26 @@ impl Keystore for SchnorrKeystore { /// /// Returns `true` iff all private keys could be found. fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { - self.0.has_keys(public_keys) + dbg!("===================> USING THE SCHNORR KEYSTORE"); + for (key, key_id) in public_keys { + dbg!("===================> {}", key_id); + // dbg!("===================> {}", key); + let pk_bytes: [u8; 32] = key.clone().try_into().expect("Invalid PK format"); + let grandpa_key = ed25519::Public::from_slice(key.as_slice()).expect("Failed to create aura key"); + dbg!(&grandpa_key); + // dbg!("===================> {}", self.0.key_pair::(key.as_slice()).unwrap().is_some()); + + let pk = Public(InnerPublicBytes::from_slice(&pk_bytes).expect("Failed to create key from slice")); + dbg!(&pk); + dbg!("===================> {}", self.0.key_pair::(&pk).unwrap()); + + let pk: Vec = >::as_ref(&pk).to_vec(); + let res = self.0.has_keys(&[(pk, key_id.clone())]); + dbg!("Has keys (inner) {}", res); + } + let res = self.0.has_keys(public_keys); + dbg!("Has keys {}", res); + res } fn sign_with( @@ -145,12 +164,14 @@ impl Keystore for SchnorrKeystore { let signature = match crypto_id { CRYPTO_ID => { let pk_bytes: [u8; 32] = public.try_into().expect("Invalid PK format"); - let pk = Public(InnerPublicBytes::from(pk_bytes)); - if let Some(pair) = self.0.key_pair(&pk).unwrap() { + let pk = Public(InnerPublicBytes::from_slice(&pk_bytes).expect("Failed to create key from slice")); + if let Some(pair) = self.0.key_pair(&pk)? { + dbg!("Producing signature"); let shcnorr_sig: Vec = ::sign(&pair, msg).as_slice().to_vec(); Some(shcnorr_sig) } else { + dbg!("NOT Producing signature"); None } }, diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index ed314c4477..8a4e038faf 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -18,6 +18,10 @@ use ark_ec::AffineRepr; use ark_ed_on_bls12_381::{EdwardsAffine as Point, Fq as Scalar, Fr}; use ark_ff::{Field, UniformRand}; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; +use num_bigint::BigUint; +use alloc::str::FromStr; +use alloc::string::ToString; + /// A Schnorr private key is a scalar from the Jubjub scalar field. #[derive(Clone, Debug)] @@ -63,16 +67,11 @@ impl KeyPair { VerifyingKey(self.1) } - /// Generate a Schnorr keypair from a random number generator. - pub fn generate(rng: &mut R) -> Self { - let sk = Fr::rand(rng); - let pk = Point::generator() * sk; - Self(sk, pk.into()) - } - /// Generates a Schnorr keypair from a seed. - pub fn generate_from_seed(seed: [u8; 64]) -> Self { - let sk = Fr::from_random_bytes(&seed) + pub fn generate_from_seed(seed: &[u8]) -> Self { + let hashed_seed: [u8; 64] = sha2::Sha512::digest(&seed).as_slice().try_into().unwrap(); + let biguint = BigUint::from_bytes_be(&hashed_seed); + let sk = Fr::from_str(&biguint.to_string()) .expect("Failed to construct Fr from bytes. This is a bug."); let pk = Point::generator() * sk; Self(sk, pk.into()) @@ -212,48 +211,60 @@ fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { Fr::from_random_bytes(&bytes_wide).expect("Failed to compute Fr from bytes. This is a bug.") } -// #[cfg(test)] -// mod tests { -// use rand_core::OsRng; -// -// use super::*; -// -// #[test] -// fn schnorr_jubjub() { -// let mut rng = OsRng; -// -// let signing_key = Pair::generate(&mut rng); -// let msg = Scalar::random(&mut rng); -// -// let sig = signing_key.sign(&[msg], &mut rng); -// -// assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); -// } -// -// #[test] -// fn schnorr_jubjub_bytes() { -// let mut rng = OsRng; -// -// let signing_key = Pair::generate(&mut rng); -// let msg = Scalar::random(&mut rng).to_bytes_le(); -// -// let sig = -// signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); -// -// assert!( -// sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) -// .is_ok() -// ); -// -// let mut msg = [0u8; 100]; -// rng.fill_bytes(&mut msg); -// -// let sig = -// signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); -// -// assert!( -// sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) -// .is_ok() -// ); -// } -// } +#[cfg(test)] +mod tests { + use rand_core::OsRng; + use sp_core::crypto::Ss58Codec; + + use super::*; + + #[test] + // fn schnorr_jubjub() { + // let mut rng = OsRng; + // + // let signing_key = Pair::generate(&mut rng); + // let msg = Scalar::random(&mut rng); + // + // let sig = signing_key.sign(&[msg], &mut rng); + // + // assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); + // } + // + // #[test] + // fn schnorr_jubjub_bytes() { + // let signing_key = Pair::generate(&mut rng); + // let msg = Scalar::random(&mut rng).to_bytes_le(); + // + // let sig = + // signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); + // + // assert!( + // sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) + // .is_ok() + // ); + // + // let mut msg = [0u8; 100]; + // rng.fill_bytes(&mut msg); + // + // let sig = + // signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); + // + // assert!( + // sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) + // .is_ok() + // ); + // } + + #[test] + fn print_data() { + let seed = b"cradle mansion zoo flavor glance orbit curtain lava envelope jewel honey task"; + println!("{:?}", hex::encode(seed)); + let keypair = KeyPair::generate_from_seed(seed); + + let vk = keypair.vk(); + println!("{}", hex::encode(vk.to_bytes())); + + // let ss58 = vk.to_ss58check(); + // println!("{}", ss58); + } +} diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 02f2470d09..2ce2b2f598 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -9,19 +9,13 @@ use alloc::vec::Vec; use sp_core::{ ByteArray, Pair as TraitPair, - crypto::{CryptoTypeId, KeyTypeId}, + crypto::KeyTypeId, }; -use sp_externalities::ExternalitiesExt; -use sp_keystore::KeystoreExt; use sp_runtime::app_crypto::RuntimePublic; -use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, - runtime_interface, -}; use crate::poseidon::PoseidonJubjub; use crate::{ - beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, + beefy_structures::{CRYPTO_ID, Public, Signature}, primitive::{SchnorrSignature, VerifyingKey}, }; @@ -37,13 +31,9 @@ impl RuntimePublic for Public { } fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let seed: [u8; 64] = seed - .expect("Only support key generation from given seed.") - .try_into() - .expect("Invalid seed size."); + let unwrapped_seed = core::str::from_utf8(&seed.clone().expect("Only support key generation from given seed.")).expect("Seed contains non-UTF8 characters"); - let keypair = crate::primitive::KeyPair::generate_from_seed(seed); - let seed = core::str::from_utf8(&seed).expect("Seed contains non-UTF8 characters"); + let keypair = crate::primitive::KeyPair::generate_from_seed(unwrapped_seed.as_bytes()); sp_io::generic_crypto::insert(key_type, seed, &keypair.public().0); keypair.public() @@ -81,3 +71,44 @@ impl RuntimePublic for Public { self.as_slice().to_vec() } } + +// #[runtime_interface] +// pub trait GenericKeyInterface { +// fn keys( +// &mut self, +// id: PassPointerAndReadCopy, +// ) -> AllocateAndReturnByCodec>> { +// self.extension::() +// .expect("No `keystore` associated for the current context!") +// .keys(id) +// .expect("Key type not found in keystore") +// } +// +// fn insert( +// &mut self, +// id: PassPointerAndReadCopy, +// suri: PassFatPointerAndDecode>>, +// public: PassPointerAndReadCopy, +// ) { +// let seed = suri.expect("Jubjub only working with provided seed"); +// let seed = core::str::from_utf8(&seed).expect("Seed is valid utf8!"); +// self.extension::() +// .expect("No `keystore` associated for the current context!") +// .insert(id, seed, public.as_ref()) +// .expect("Failed to insert key in keystore") +// } +// +// fn sign_with( +// &mut self, +// id: PassPointerAndReadCopy, +// crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, +// public: PassPointerAndReadCopy, +// msg: PassFatPointerAndRead<&[u8]>, +// ) -> AllocateAndReturnByCodec>> { +// self.extension::() +// .expect("No `keystore` associated for the current context!") +// .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) +// .expect("Failed to produce valid signature") +// } +// } + From 5235683ec2f80e4931ea9b09d7ef21b38410f6af Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Tue, 8 Jul 2025 10:04:17 +0200 Subject: [PATCH 47/51] Revert "Switched to GenericCrypto" This reverts commit ea953e38765130033b0f1854b00500bf494ba1a9. --- Cargo.lock | 619 +++++++++----------- demo/node/src/service.rs | 8 +- toolkit/utils/schnorr_jubjub/src/lib.rs | 5 +- toolkit/utils/schnorr_jubjub/src/runtime.rs | 97 +-- 4 files changed, 345 insertions(+), 384 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5707d21df7..34ca030d21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -190,7 +190,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -353,7 +353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -379,7 +379,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -454,7 +454,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -584,7 +584,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "synstructure 0.13.2", ] @@ -596,7 +596,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "synstructure 0.13.2", ] @@ -608,7 +608,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -687,7 +687,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -698,7 +698,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "log", @@ -919,7 +919,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -1094,11 +1094,10 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.3.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee8eddd066a8825ec5570528e6880471210fd5d88cb6abbe1cfdd51ca249c33" +checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" dependencies = [ - "jam-codec", "log", "parity-scale-codec", "scale-info", @@ -1136,9 +1135,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" [[package]] name = "byte-slice-cast" @@ -1155,7 +1154,7 @@ dependencies = [ "serde", "serde_test", "sp-core", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -1276,9 +1275,9 @@ checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" [[package]] name = "cc" -version = "1.2.28" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad45f4f74e4e20eaa392913b7b33a7091c87e59628f4dd27888205ad888843c" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -1463,7 +1462,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -1905,9 +1904,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -1997,14 +1996,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "cxx" -version = "1.0.160" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1149bab7a5580cb267215751389597c021bfad13c0bb00c54e19559333764c" +checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" dependencies = [ "cc", "cxxbridge-cmd", @@ -2016,50 +2015,47 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.160" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeeaf1aefae8e0f5141920a7ecbc64a22ab038d4b4ac59f2d19e0effafd5b53" +checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" dependencies = [ "cc", "codespan-reporting", - "indexmap 2.10.0", "proc-macro2", "quote", "scratch", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.160" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c36ac1f9a72064b1f41fd7b49a4c1b3bf33b9ccb1274874dda6d264f57c55964" +checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" dependencies = [ "clap", "codespan-reporting", - "indexmap 2.10.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "cxxbridge-flags" -version = "1.0.160" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170c6ff5d009663866857a91ebee55b98ea4d4b34e7d7aba6dc4a4c95cc7b748" +checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" [[package]] name = "cxxbridge-macro" -version = "1.0.160" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4984a142211026786011a7e79fa22faa1eca1e9cbf0e60bffecfd57fd3db88f1" +checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" dependencies = [ - "indexmap 2.10.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2133,7 +2129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2213,7 +2209,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2224,7 +2220,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2235,7 +2231,7 @@ checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2248,7 +2244,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2277,7 +2273,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2288,7 +2284,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2398,7 +2394,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2428,7 +2424,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.104", + "syn 2.0.103", "termcolor", "toml 0.8.23", "walkdir", @@ -2548,7 +2544,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2595,7 +2591,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2615,7 +2611,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2754,7 +2750,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -2908,7 +2904,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", ] @@ -2952,7 +2948,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-support-procedural", @@ -2976,7 +2972,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aquamarine", "frame-support", @@ -3006,7 +3002,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3022,7 +3018,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3063,7 +3059,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "cfg-expr", @@ -3077,35 +3073,35 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "cfg-if", "docify", @@ -3124,7 +3120,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -3138,7 +3134,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "parity-scale-codec", @@ -3148,7 +3144,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "parity-scale-codec", @@ -3275,7 +3271,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -3492,7 +3488,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.10.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -3501,9 +3497,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.11" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" dependencies = [ "atomic-waker", "bytes", @@ -3511,7 +3507,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.10.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -3895,7 +3891,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.11", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -4171,7 +4167,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -4206,9 +4202,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.4", @@ -4275,17 +4271,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "io-uring" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" -dependencies = [ - "bitflags 2.9.1", - "cfg-if", - "libc", -] - [[package]] name = "ip_network" version = "0.4.1" @@ -4378,34 +4363,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" -[[package]] -name = "jam-codec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d72f2fb8cfd27f6c52ea7d0528df594f7f2ed006feac153e9393ec567aafea98" -dependencies = [ - "arrayvec 0.7.6", - "bitvec", - "byte-slice-cast", - "const_format", - "impl-trait-for-tuples", - "jam-codec-derive", - "rustversion", - "serde", -] - -[[package]] -name = "jam-codec-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09985146f40378e13af626964ac9c206d9d9b67c40c70805898d9954f709bcf5" -dependencies = [ - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "jiff" version = "0.2.15" @@ -4427,7 +4384,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -4571,7 +4528,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -4854,9 +4811,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.12" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" +checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" dependencies = [ "bs58", "ed25519-dalek", @@ -5059,7 +5016,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5152,9 +5109,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.9.1", "libc", @@ -5326,7 +5283,7 @@ dependencies = [ "futures", "futures-timer", "hickory-resolver 0.25.2", - "indexmap 2.10.0", + "indexmap 2.9.0", "libc", "mockall", "multiaddr 0.17.1", @@ -5489,7 +5446,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5503,7 +5460,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5514,7 +5471,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5525,7 +5482,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5655,7 +5612,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5676,7 +5633,7 @@ checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -5765,7 +5722,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -6142,7 +6099,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -6321,9 +6278,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallas-addresses" -version = "0.32.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a7e0425ec22afe8e80c9f9dfb086cbad569fd2ba3e51d6ab8caa20423b7488" +checksum = "d7bd039d7f1618d12ff348dd03eebe38c5d2a010325750e5341526c419b0f8e0" dependencies = [ "base58", "bech32 0.9.1", @@ -6337,9 +6294,9 @@ dependencies = [ [[package]] name = "pallas-codec" -version = "0.32.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e344b3e39ca3bd79bb7547b65b980869c3c377a00c48ece70430f4611c32a18b" +checksum = "1584d615857c0a44058fb612e892e9e0cc47b56c3c82cdf7347b5c1d1193598c" dependencies = [ "hex", "minicbor", @@ -6350,9 +6307,9 @@ dependencies = [ [[package]] name = "pallas-crypto" -version = "0.32.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c89ea16190a87a1d8bd36923093740a2b659ed6129f4636329319a70cc4db3" +checksum = "37c1d642326ce402eb9191aeacc3dd0bf2b499848e97a56396c978a6eb9dd31a" dependencies = [ "cryptoxide", "hex", @@ -6365,9 +6322,9 @@ dependencies = [ [[package]] name = "pallas-primitives" -version = "0.32.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1912f4f4a0719e36ac061f7f3557b687e8ef7285b573608fb5c71eba64c1b04c" +checksum = "6d30f5053073554d016a9f009c077f9a84275951a611cce54230de6c54d34d9b" dependencies = [ "base58", "bech32 0.9.1", @@ -6381,9 +6338,9 @@ dependencies = [ [[package]] name = "pallas-traverse" -version = "0.32.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be7fbb1db75a0b6b32d1808b2cc5c7ba6dd261f289491bb86998b987b4716883" +checksum = "02d2572d316883fe866ae648bc3c5357e70cbbe8de5d78b1246f6109520fa52f" dependencies = [ "hex", "itertools 0.13.0", @@ -6418,7 +6375,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6434,7 +6391,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6447,7 +6404,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6470,7 +6427,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6486,7 +6443,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6505,7 +6462,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6656,7 +6613,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6678,7 +6635,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -6723,7 +6680,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-support", "frame-system", @@ -6843,7 +6800,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6858,7 +6815,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -6876,7 +6833,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6891,7 +6848,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6907,7 +6864,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6919,7 +6876,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-benchmarking", "frame-support", @@ -6991,7 +6948,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7472,7 +7429,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7540,7 +7497,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.10.0", + "indexmap 2.9.0", ] [[package]] @@ -7560,7 +7517,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7617,7 +7574,7 @@ name = "plutus-datum-derive" version = "1.7.0" dependencies = [ "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7633,7 +7590,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-benchmarking", @@ -7667,9 +7624,9 @@ dependencies = [ [[package]] name = "polkavm" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643c98b9cb27449cffe54c2b500fe8d55d7aa7f29acdd90c56e5cd196fe3d728" +checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" dependencies = [ "libc", "log", @@ -7680,18 +7637,18 @@ dependencies = [ [[package]] name = "polkavm-assembler" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fcf86a40f3d2191cc2b65357e774eda67875cbc31843f505a69b70f8679922" +checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" dependencies = [ "log", ] [[package]] name = "polkavm-common" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28732f89f1e730d908fd816db50ee2afcb8368345ded9f9bc78fbd710db7a4be" +checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" dependencies = [ "log", "polkavm-assembler", @@ -7699,40 +7656,40 @@ dependencies = [ [[package]] name = "polkavm-derive" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5de33a198ef311b3ceb8de476515fbb92b4d2ed56feb23499b0875d0e6a8ce6" +checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" dependencies = [ "polkavm-derive-impl-macro", ] [[package]] name = "polkavm-derive-impl" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff180bfd5add755ae54197babc79cd6efc3c3d01a5ded643b1ab37a9932deb2" +checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "polkavm-derive-impl-macro" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0105f050c7bce74fa4327a3e8e5c8a6368e39a7c93c5e8e99b33df90c097c859" +checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" dependencies = [ "polkavm-derive-impl", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "polkavm-linker" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5985c1abf240511baab6424a295b64d61e530dd50069588d1486ef24665f8f34" +checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" dependencies = [ "dirs", "gimli 0.31.1", @@ -7746,9 +7703,9 @@ dependencies = [ [[package]] name = "polkavm-linux-raw" -version = "0.25.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30993b46019e02b9d3de07e09d84f5b4474244ec966028fa95a38547076ffd93" +checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" [[package]] name = "polling" @@ -7878,12 +7835,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.35" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" +checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" dependencies = [ "proc-macro2", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7951,7 +7908,7 @@ checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -7971,7 +7928,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "version_check", "yansi", ] @@ -8010,7 +7967,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -8069,7 +8026,7 @@ dependencies = [ "prost 0.13.5", "prost-types", "regex", - "syn 2.0.104", + "syn 2.0.103", "tempfile", ] @@ -8083,7 +8040,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -8096,7 +8053,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -8179,7 +8136,7 @@ checksum = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -8483,7 +8440,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -8898,7 +8855,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "sp-core", @@ -8909,7 +8866,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "log", @@ -8930,7 +8887,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "sp-api", @@ -8945,7 +8902,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "docify", @@ -8971,18 +8928,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -9024,7 +8981,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "fnv", "futures", @@ -9050,7 +9007,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "kvdb", @@ -9078,7 +9035,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9101,7 +9058,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9130,7 +9087,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9164,7 +9121,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "jsonrpsee", @@ -9184,7 +9141,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9228,7 +9185,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "finality-grandpa", "futures", @@ -9248,7 +9205,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -9271,7 +9228,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9294,7 +9251,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "polkavm", "sc-allocator", @@ -9307,7 +9264,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "polkavm", @@ -9318,7 +9275,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "anyhow", "log", @@ -9334,7 +9291,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "console", "futures", @@ -9350,7 +9307,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9364,7 +9321,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9392,7 +9349,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9442,7 +9399,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9452,7 +9409,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "futures", @@ -9471,7 +9428,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9492,7 +9449,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9527,7 +9484,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-channel", "async-trait", @@ -9560,7 +9517,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9579,7 +9536,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bs58", "bytes", @@ -9637,7 +9594,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9646,7 +9603,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "jsonrpsee", @@ -9678,7 +9635,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9698,7 +9655,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9722,7 +9679,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9755,7 +9712,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "directories", @@ -9819,7 +9776,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -9830,7 +9787,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "derive_more 0.99.20", "futures", @@ -9850,7 +9807,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "chrono", "futures", @@ -9869,7 +9826,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "chrono", "console", @@ -9897,23 +9854,23 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", "futures-timer", - "indexmap 2.10.0", + "indexmap 2.9.0", "itertools 0.11.0", "linked-hash-map", "parity-scale-codec", @@ -9939,11 +9896,11 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", - "indexmap 2.10.0", + "indexmap 2.9.0", "log", "parity-scale-codec", "serde", @@ -9956,7 +9913,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-channel", "futures", @@ -10013,7 +9970,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -10052,7 +10009,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -10319,7 +10276,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -10330,7 +10287,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -10403,7 +10360,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.9.0", "itoa", "ryu", "serde", @@ -10715,7 +10672,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "hash-db", @@ -10737,7 +10694,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10745,13 +10702,13 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10763,7 +10720,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "integer-sqrt", @@ -10777,7 +10734,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-inherents", @@ -10840,7 +10797,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "parity-scale-codec", @@ -10859,7 +10816,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "futures", @@ -10873,7 +10830,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -10889,7 +10846,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -10907,7 +10864,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10927,7 +10884,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "finality-grandpa", "log", @@ -10944,7 +10901,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -10955,7 +10912,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -11003,7 +10960,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "blake2b_simd", "byteorder", @@ -11016,17 +10973,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -11035,17 +10992,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "environmental", "parity-scale-codec", @@ -11055,7 +11012,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11085,7 +11042,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11098,7 +11055,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bytes", "docify", @@ -11124,7 +11081,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-core", "sp-runtime", @@ -11134,7 +11091,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11145,7 +11102,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11154,7 +11111,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11164,7 +11121,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11175,7 +11132,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "log", "parity-scale-codec", @@ -11211,7 +11168,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-core", @@ -11221,7 +11178,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "backtrace", "regex", @@ -11242,7 +11199,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11252,7 +11209,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "binary-merkle-tree", "docify", @@ -11281,7 +11238,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11300,20 +11257,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "scale-info", @@ -11386,7 +11343,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11399,7 +11356,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hash-db", "log", @@ -11419,7 +11376,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11443,12 +11400,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11460,7 +11417,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -11472,7 +11429,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "tracing", @@ -11483,7 +11440,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "sp-api", "sp-runtime", @@ -11492,7 +11449,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "async-trait", "parity-scale-codec", @@ -11506,7 +11463,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "ahash", "hash-db", @@ -11529,7 +11486,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11546,19 +11503,19 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "parity-scale-codec", "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11570,7 +11527,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11648,7 +11605,7 @@ dependencies = [ "futures-util", "hashbrown 0.15.4", "hashlink 0.10.0", - "indexmap 2.10.0", + "indexmap 2.9.0", "log", "memchr", "once_cell", @@ -11676,7 +11633,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -11699,7 +11656,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.104", + "syn 2.0.103", "tokio", "url", ] @@ -11929,13 +11886,13 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "hmac", "pbkdf2", @@ -11947,12 +11904,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11972,7 +11929,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11986,7 +11943,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -12011,7 +11968,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12057,7 +12014,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "futures", "sc-block-builder", @@ -12075,7 +12032,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -12127,9 +12084,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" dependencies = [ "proc-macro2", "quote", @@ -12156,7 +12113,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -12303,7 +12260,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -12314,7 +12271,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -12426,19 +12383,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.46.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", - "io-uring", "libc", "mio 1.0.4", "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", - "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -12452,7 +12407,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -12567,7 +12522,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", @@ -12644,7 +12599,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -13172,7 +13127,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "wasm-bindgen-shared", ] @@ -13206,7 +13161,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -13560,9 +13515,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.33" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" dependencies = [ "bytemuck", "safe_arch", @@ -13698,7 +13653,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -13709,7 +13664,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -14221,7 +14176,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "synstructure 0.13.2", ] @@ -14242,7 +14197,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -14262,7 +14217,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", "synstructure 0.13.2", ] @@ -14283,7 +14238,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] @@ -14316,7 +14271,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.103", ] [[package]] diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index 65c95987fa..773a72c3b3 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -30,7 +30,10 @@ use tokio::task; /// The host functions Substrate provides for the Wasm runtime environment. /// /// All these host functions will be callable from inside the Wasm environment. -pub type HostFunctions = sp_io::SubstrateHostFunctions; +pub type HostFunctions = ( + sp_io::SubstrateHostFunctions, + schnorr_jubjub::generic_key_interface::HostFunctions, +); pub(crate) type FullClient = sc_service::TFullClient>; @@ -406,8 +409,7 @@ pub async fn new_full) + Some(Arc::new(schnorr_jubjub::SchnorrKeystore(keystore_container.local_keystore())) as Arc) } else { None }; diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 5118d059e0..ab4b12a1ee 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -16,6 +16,7 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -#[cfg(feature = "std")] -pub use keystore::SchnorrKeystore; pub use poseidon::PoseidonJubjub; +pub use runtime::generic_key_interface; +#[cfg(feature = "std")] +pub use keystore::SchnorrKeystore; \ No newline at end of file diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 2ce2b2f598..8b5c7e62b2 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -9,21 +9,65 @@ use alloc::vec::Vec; use sp_core::{ ByteArray, Pair as TraitPair, - crypto::KeyTypeId, + crypto::{CryptoTypeId, KeyTypeId}, }; +use sp_externalities::ExternalitiesExt; +use sp_keystore::KeystoreExt; use sp_runtime::app_crypto::RuntimePublic; +use sp_runtime_interface::{ + pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, + runtime_interface, +}; use crate::poseidon::PoseidonJubjub; use crate::{ - beefy_structures::{CRYPTO_ID, Public, Signature}, + beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, primitive::{SchnorrSignature, VerifyingKey}, }; +#[runtime_interface] +pub trait GenericKeyInterface { + fn keys( + &mut self, + id: PassPointerAndReadCopy, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .keys(id) + .expect("Key type not found in keystore") + } + + fn insert( + &mut self, + id: PassPointerAndReadCopy, + suri: PassPointerAndReadCopy<[u8; 64], 64>, + public: PassPointerAndReadCopy, + ) { + self.extension::() + .expect("No `keystore` associated for the current context!") + .insert(id, &hex::encode(&suri), public.as_ref()) + .expect("Failed to insert key in keystore") + } + + fn sign_with( + &mut self, + id: PassPointerAndReadCopy, + crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, + public: PassPointerAndReadCopy, + msg: PassFatPointerAndRead<&[u8]>, + ) -> AllocateAndReturnByCodec>> { + self.extension::() + .expect("No `keystore` associated for the current context!") + .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) + .expect("Failed to produce valid signature") + } +} + impl RuntimePublic for Public { type Signature = Signature; fn all(key_type: KeyTypeId) -> Vec { - let all = sp_io::generic_crypto::keys(key_type); + let all = generic_key_interface::keys(key_type); all.iter() .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) @@ -33,15 +77,15 @@ impl RuntimePublic for Public { fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { let unwrapped_seed = core::str::from_utf8(&seed.clone().expect("Only support key generation from given seed.")).expect("Seed contains non-UTF8 characters"); - let keypair = crate::primitive::KeyPair::generate_from_seed(unwrapped_seed.as_bytes()); - sp_io::generic_crypto::insert(key_type, seed, &keypair.public().0); + let keypair = crate::primitive::KeyPair::generate_from_seed(seed); + generic_key_interface::insert(key_type, seed, keypair.public().0); keypair.public() } fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { let crypto_id = CRYPTO_ID; - let bytes = sp_io::generic_crypto::sign_with(key_type, crypto_id.0, &self.0, msg.as_ref())?; + let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; Signature::try_from(bytes.as_ref()).ok() } @@ -71,44 +115,3 @@ impl RuntimePublic for Public { self.as_slice().to_vec() } } - -// #[runtime_interface] -// pub trait GenericKeyInterface { -// fn keys( -// &mut self, -// id: PassPointerAndReadCopy, -// ) -> AllocateAndReturnByCodec>> { -// self.extension::() -// .expect("No `keystore` associated for the current context!") -// .keys(id) -// .expect("Key type not found in keystore") -// } -// -// fn insert( -// &mut self, -// id: PassPointerAndReadCopy, -// suri: PassFatPointerAndDecode>>, -// public: PassPointerAndReadCopy, -// ) { -// let seed = suri.expect("Jubjub only working with provided seed"); -// let seed = core::str::from_utf8(&seed).expect("Seed is valid utf8!"); -// self.extension::() -// .expect("No `keystore` associated for the current context!") -// .insert(id, seed, public.as_ref()) -// .expect("Failed to insert key in keystore") -// } -// -// fn sign_with( -// &mut self, -// id: PassPointerAndReadCopy, -// crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, -// public: PassPointerAndReadCopy, -// msg: PassFatPointerAndRead<&[u8]>, -// ) -> AllocateAndReturnByCodec>> { -// self.extension::() -// .expect("No `keystore` associated for the current context!") -// .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) -// .expect("Failed to produce valid signature") -// } -// } - From 2775d229d1f88aa8722f7011753400e28563a536 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Tue, 8 Jul 2025 12:14:59 +0200 Subject: [PATCH 48/51] Fix seed issues in runtime_interface --- Cargo.lock | 323 +++++++++++--------- toolkit/utils/schnorr_jubjub/src/runtime.rs | 12 +- 2 files changed, 183 insertions(+), 152 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34ca030d21..dcad0c8505 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "log", @@ -1094,10 +1094,11 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.2.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" +checksum = "dee8eddd066a8825ec5570528e6880471210fd5d88cb6abbe1cfdd51ca249c33" dependencies = [ + "jam-codec", "log", "parity-scale-codec", "scale-info", @@ -2904,7 +2905,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", ] @@ -2948,7 +2949,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-support-procedural", @@ -2972,7 +2973,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aquamarine", "frame-support", @@ -3002,7 +3003,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3018,7 +3019,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3059,7 +3060,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "cfg-expr", @@ -3079,7 +3080,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", @@ -3091,7 +3092,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro2", "quote", @@ -3101,7 +3102,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "cfg-if", "docify", @@ -3120,7 +3121,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -3134,7 +3135,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "parity-scale-codec", @@ -3144,7 +3145,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "parity-scale-codec", @@ -4363,6 +4364,34 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +[[package]] +name = "jam-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d72f2fb8cfd27f6c52ea7d0528df594f7f2ed006feac153e9393ec567aafea98" +dependencies = [ + "arrayvec 0.7.6", + "bitvec", + "byte-slice-cast", + "const_format", + "impl-trait-for-tuples", + "jam-codec-derive", + "rustversion", + "serde", +] + +[[package]] +name = "jam-codec-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09985146f40378e13af626964ac9c206d9d9b67c40c70805898d9954f709bcf5" +dependencies = [ + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.103", +] + [[package]] name = "jiff" version = "0.2.15" @@ -6375,7 +6404,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6391,7 +6420,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6404,7 +6433,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6427,7 +6456,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6443,7 +6472,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6462,7 +6491,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6613,7 +6642,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6635,7 +6664,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -6680,7 +6709,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-support", "frame-system", @@ -6800,7 +6829,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6815,7 +6844,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -6833,7 +6862,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6848,7 +6877,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6864,7 +6893,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6876,7 +6905,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-benchmarking", "frame-support", @@ -7590,7 +7619,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-benchmarking", @@ -7624,9 +7653,9 @@ dependencies = [ [[package]] name = "polkavm" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a01db119bb3a86572c0641ba6e7c9786fbd2ac89c25b43b688c4e353787526" +checksum = "643c98b9cb27449cffe54c2b500fe8d55d7aa7f29acdd90c56e5cd196fe3d728" dependencies = [ "libc", "log", @@ -7637,18 +7666,18 @@ dependencies = [ [[package]] name = "polkavm-assembler" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea6105f3f344abe0bf0151d67b3de6f5d24353f2393355ecf3f5f6e06d7fd0b" +checksum = "51fcf86a40f3d2191cc2b65357e774eda67875cbc31843f505a69b70f8679922" dependencies = [ "log", ] [[package]] name = "polkavm-common" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed9e5af472f729fcf3b3c1cf17508ddbb3505259dd6e2ee0fb5a29e105d22" +checksum = "28732f89f1e730d908fd816db50ee2afcb8368345ded9f9bc78fbd710db7a4be" dependencies = [ "log", "polkavm-assembler", @@ -7656,18 +7685,18 @@ dependencies = [ [[package]] name = "polkavm-derive" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176144f8661117ea95fa7cf868c9a62d6b143e8a2ebcb7582464c3faade8669a" +checksum = "b5de33a198ef311b3ceb8de476515fbb92b4d2ed56feb23499b0875d0e6a8ce6" dependencies = [ "polkavm-derive-impl-macro", ] [[package]] name = "polkavm-derive-impl" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a21844afdfcc10c92b9ef288ccb926211af27478d1730fcd55e4aec710179d" +checksum = "dff180bfd5add755ae54197babc79cd6efc3c3d01a5ded643b1ab37a9932deb2" dependencies = [ "polkavm-common", "proc-macro2", @@ -7677,9 +7706,9 @@ dependencies = [ [[package]] name = "polkavm-derive-impl-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0ef0f17ad81413ea1ca5b1b67553aedf5650c88269b673d3ba015c83bc2651" +checksum = "0105f050c7bce74fa4327a3e8e5c8a6368e39a7c93c5e8e99b33df90c097c859" dependencies = [ "polkavm-derive-impl", "syn 2.0.103", @@ -7687,9 +7716,9 @@ dependencies = [ [[package]] name = "polkavm-linker" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c95a521a1331024ebe5823ffdfba9ea6df40b934b0804049d5171887579806" +checksum = "5985c1abf240511baab6424a295b64d61e530dd50069588d1486ef24665f8f34" dependencies = [ "dirs", "gimli 0.31.1", @@ -7703,9 +7732,9 @@ dependencies = [ [[package]] name = "polkavm-linux-raw" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec0b13e26ec7234dba213ca17118c70c562809bdce0eefe84f92613d5c8da26" +checksum = "30993b46019e02b9d3de07e09d84f5b4474244ec966028fa95a38547076ffd93" [[package]] name = "polling" @@ -8855,7 +8884,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "sp-core", @@ -8866,7 +8895,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "log", @@ -8887,7 +8916,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "sp-api", @@ -8902,7 +8931,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "docify", @@ -8928,7 +8957,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -8939,7 +8968,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -8981,7 +9010,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "fnv", "futures", @@ -9007,7 +9036,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "kvdb", @@ -9035,7 +9064,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9058,7 +9087,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9087,7 +9116,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9121,7 +9150,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "jsonrpsee", @@ -9141,7 +9170,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9185,7 +9214,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "finality-grandpa", "futures", @@ -9205,7 +9234,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9228,7 +9257,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9251,7 +9280,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "polkavm", "sc-allocator", @@ -9264,7 +9293,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "polkavm", @@ -9275,7 +9304,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "anyhow", "log", @@ -9291,7 +9320,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "console", "futures", @@ -9307,7 +9336,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9321,7 +9350,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9349,7 +9378,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9399,7 +9428,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9409,7 +9438,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "futures", @@ -9428,7 +9457,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9449,7 +9478,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9484,7 +9513,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-channel", "async-trait", @@ -9517,7 +9546,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9536,7 +9565,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bs58", "bytes", @@ -9594,7 +9623,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9603,7 +9632,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "jsonrpsee", @@ -9635,7 +9664,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9655,7 +9684,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9679,7 +9708,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9712,7 +9741,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "directories", @@ -9776,7 +9805,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -9787,7 +9816,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "derive_more 0.99.20", "futures", @@ -9807,7 +9836,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "chrono", "futures", @@ -9826,7 +9855,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "chrono", "console", @@ -9854,7 +9883,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", @@ -9865,7 +9894,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9896,7 +9925,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -9913,7 +9942,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-channel", "futures", @@ -10672,7 +10701,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "hash-db", @@ -10694,7 +10723,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10708,7 +10737,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10720,7 +10749,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "integer-sqrt", @@ -10734,7 +10763,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-inherents", @@ -10797,7 +10826,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "parity-scale-codec", @@ -10816,7 +10845,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "futures", @@ -10830,7 +10859,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10846,7 +10875,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10864,7 +10893,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10884,7 +10913,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "finality-grandpa", "log", @@ -10901,7 +10930,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10912,7 +10941,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -10960,7 +10989,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "blake2b_simd", "byteorder", @@ -10973,7 +11002,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "quote", "sp-crypto-hashing", @@ -10983,7 +11012,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -10992,7 +11021,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "proc-macro2", "quote", @@ -11002,7 +11031,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "environmental", "parity-scale-codec", @@ -11012,7 +11041,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11042,7 +11071,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11055,7 +11084,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bytes", "docify", @@ -11081,7 +11110,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-core", "sp-runtime", @@ -11091,7 +11120,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11102,7 +11131,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11111,7 +11140,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11121,7 +11150,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11132,7 +11161,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "log", "parity-scale-codec", @@ -11168,7 +11197,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-core", @@ -11178,7 +11207,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "backtrace", "regex", @@ -11199,7 +11228,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11209,7 +11238,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "binary-merkle-tree", "docify", @@ -11238,7 +11267,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11257,7 +11286,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "Inflector", "expander", @@ -11270,7 +11299,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11343,7 +11372,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11356,7 +11385,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hash-db", "log", @@ -11376,7 +11405,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11400,12 +11429,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11417,7 +11446,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11429,7 +11458,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "tracing", @@ -11440,7 +11469,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "sp-api", "sp-runtime", @@ -11449,7 +11478,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11463,7 +11492,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "ahash", "hash-db", @@ -11486,7 +11515,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11503,7 +11532,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -11515,7 +11544,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11527,7 +11556,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11892,7 +11921,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "hmac", "pbkdf2", @@ -11904,12 +11933,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11929,7 +11958,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11943,7 +11972,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -11968,7 +11997,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12014,7 +12043,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "futures", "sc-block-builder", @@ -12032,7 +12061,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?rev=00f6412b122795daa5e19c073802bcb1aa419113#00f6412b122795daa5e19c073802bcb1aa419113" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" dependencies = [ "array-bytes 6.2.3", "build-helper", diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 8b5c7e62b2..20869cbb52 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -15,7 +15,7 @@ use sp_externalities::ExternalitiesExt; use sp_keystore::KeystoreExt; use sp_runtime::app_crypto::RuntimePublic; use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndReadCopy}, + pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassFatPointerAndDecode, PassPointerAndReadCopy}, runtime_interface, }; @@ -40,12 +40,14 @@ pub trait GenericKeyInterface { fn insert( &mut self, id: PassPointerAndReadCopy, - suri: PassPointerAndReadCopy<[u8; 64], 64>, + suri: PassFatPointerAndDecode>>, public: PassPointerAndReadCopy, ) { + let unwrapped_seed = suri.expect("Only support insertion of keys with seed"); + let seed = core::str::from_utf8(&unwrapped_seed).expect("Seed is valid utf8!"); self.extension::() .expect("No `keystore` associated for the current context!") - .insert(id, &hex::encode(&suri), public.as_ref()) + .insert(id, &seed, public.as_ref()) .expect("Failed to insert key in keystore") } @@ -75,9 +77,9 @@ impl RuntimePublic for Public { } fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let unwrapped_seed = core::str::from_utf8(&seed.clone().expect("Only support key generation from given seed.")).expect("Seed contains non-UTF8 characters"); + let unwrapped_seed = seed.clone().expect("Only support key generation from given seed."); - let keypair = crate::primitive::KeyPair::generate_from_seed(seed); + let keypair = crate::primitive::KeyPair::generate_from_seed(&unwrapped_seed); generic_key_interface::insert(key_type, seed, keypair.public().0); keypair.public() From 18c62352980a072233d50c029d563f173abca2b7 Mon Sep 17 00:00:00 2001 From: Tomasz Bartos Date: Wed, 9 Jul 2025 12:08:35 +0200 Subject: [PATCH 49/51] Revert "Revert "Switched to GenericCrypto"" This reverts commit 5235683ec2f80e4931ea9b09d7ef21b38410f6af. --- Cargo.lock | 566 ++++++++++---------- demo/node/src/service.rs | 8 +- toolkit/utils/schnorr_jubjub/src/lib.rs | 5 +- toolkit/utils/schnorr_jubjub/src/runtime.rs | 67 +-- 4 files changed, 307 insertions(+), 339 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dcad0c8505..1b5c0f6b33 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -190,7 +190,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -353,7 +353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -379,7 +379,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -454,7 +454,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -584,7 +584,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -596,7 +596,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -608,7 +608,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -687,7 +687,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -698,7 +698,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "hash-db", "log", @@ -919,7 +919,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1136,9 +1136,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.18.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -1155,7 +1155,7 @@ dependencies = [ "serde", "serde_test", "sp-core", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1276,9 +1276,9 @@ checksum = "089a0261d1bc59e54e8e11860031efd88593f0e61b921172c474f1f38c2f2d3c" [[package]] name = "cc" -version = "1.2.27" +version = "1.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" dependencies = [ "jobserver", "libc", @@ -1463,7 +1463,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -1905,9 +1905,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1997,14 +1997,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxx" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" +checksum = "be1149bab7a5580cb267215751389597c021bfad13c0bb00c54e19559333764c" dependencies = [ "cc", "cxxbridge-cmd", @@ -2016,47 +2016,50 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" +checksum = "6aeeaf1aefae8e0f5141920a7ecbc64a22ab038d4b4ac59f2d19e0effafd5b53" dependencies = [ "cc", "codespan-reporting", + "indexmap 2.10.0", "proc-macro2", "quote", "scratch", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" +checksum = "c36ac1f9a72064b1f41fd7b49a4c1b3bf33b9ccb1274874dda6d264f57c55964" dependencies = [ "clap", "codespan-reporting", + "indexmap 2.10.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "cxxbridge-flags" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" +checksum = "170c6ff5d009663866857a91ebee55b98ea4d4b34e7d7aba6dc4a4c95cc7b748" [[package]] name = "cxxbridge-macro" -version = "1.0.158" +version = "1.0.160" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" +checksum = "4984a142211026786011a7e79fa22faa1eca1e9cbf0e60bffecfd57fd3db88f1" dependencies = [ + "indexmap 2.10.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2130,7 +2133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2210,7 +2213,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2221,7 +2224,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2232,7 +2235,7 @@ checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2245,7 +2248,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2274,7 +2277,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2285,7 +2288,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2395,7 +2398,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2425,7 +2428,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.103", + "syn 2.0.104", "termcolor", "toml 0.8.23", "walkdir", @@ -2545,7 +2548,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2592,7 +2595,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2612,7 +2615,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2751,7 +2754,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -2905,7 +2908,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", ] @@ -2949,7 +2952,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "frame-support-procedural", @@ -2973,7 +2976,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "aquamarine", "frame-support", @@ -3003,7 +3006,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -3019,7 +3022,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -3060,7 +3063,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "Inflector", "cfg-expr", @@ -3074,35 +3077,35 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "cfg-if", "docify", @@ -3121,7 +3124,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-benchmarking", "frame-support", @@ -3135,7 +3138,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "parity-scale-codec", @@ -3145,7 +3148,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "parity-scale-codec", @@ -3272,7 +3275,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -3489,7 +3492,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3498,9 +3501,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -3508,7 +3511,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3892,7 +3895,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.10", + "h2 0.4.11", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -3923,9 +3926,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +checksum = "7f66d5bd4c6f02bf0542fad85d626775bab9258cf795a4256dcaf3161114d1df" dependencies = [ "bytes", "futures-channel", @@ -4168,7 +4171,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4203,9 +4206,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown 0.15.4", @@ -4272,6 +4275,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "ip_network" version = "0.4.1" @@ -4389,7 +4403,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4413,7 +4427,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4557,7 +4571,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -4840,9 +4854,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "bs58", "ed25519-dalek", @@ -5045,7 +5059,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5138,9 +5152,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ "bitflags 2.9.1", "libc", @@ -5312,7 +5326,7 @@ dependencies = [ "futures", "futures-timer", "hickory-resolver 0.25.2", - "indexmap 2.9.0", + "indexmap 2.10.0", "libc", "mockall", "multiaddr 0.17.1", @@ -5475,7 +5489,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5489,7 +5503,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5500,7 +5514,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5511,7 +5525,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5641,7 +5655,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5662,7 +5676,7 @@ checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -5751,7 +5765,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -6128,7 +6142,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -6307,9 +6321,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallas-addresses" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bd039d7f1618d12ff348dd03eebe38c5d2a010325750e5341526c419b0f8e0" +checksum = "45a7e0425ec22afe8e80c9f9dfb086cbad569fd2ba3e51d6ab8caa20423b7488" dependencies = [ "base58", "bech32 0.9.1", @@ -6323,9 +6337,9 @@ dependencies = [ [[package]] name = "pallas-codec" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1584d615857c0a44058fb612e892e9e0cc47b56c3c82cdf7347b5c1d1193598c" +checksum = "e344b3e39ca3bd79bb7547b65b980869c3c377a00c48ece70430f4611c32a18b" dependencies = [ "hex", "minicbor", @@ -6336,9 +6350,9 @@ dependencies = [ [[package]] name = "pallas-crypto" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c1d642326ce402eb9191aeacc3dd0bf2b499848e97a56396c978a6eb9dd31a" +checksum = "59c89ea16190a87a1d8bd36923093740a2b659ed6129f4636329319a70cc4db3" dependencies = [ "cryptoxide", "hex", @@ -6351,9 +6365,9 @@ dependencies = [ [[package]] name = "pallas-primitives" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d30f5053073554d016a9f009c077f9a84275951a611cce54230de6c54d34d9b" +checksum = "1912f4f4a0719e36ac061f7f3557b687e8ef7285b573608fb5c71eba64c1b04c" dependencies = [ "base58", "bech32 0.9.1", @@ -6367,9 +6381,9 @@ dependencies = [ [[package]] name = "pallas-traverse" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d2572d316883fe866ae648bc3c5357e70cbbe8de5d78b1246f6109520fa52f" +checksum = "be7fbb1db75a0b6b32d1808b2cc5c7ba6dd261f289491bb86998b987b4716883" dependencies = [ "hex", "itertools 0.13.0", @@ -6404,7 +6418,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "frame-system", @@ -6420,7 +6434,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "frame-system", @@ -6433,7 +6447,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6456,7 +6470,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "frame-benchmarking", @@ -6472,7 +6486,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "frame-system", @@ -6491,7 +6505,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -6642,7 +6656,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6664,7 +6678,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "parity-scale-codec", @@ -6709,7 +6723,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-support", "frame-system", @@ -6829,7 +6843,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "frame-benchmarking", @@ -6844,7 +6858,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "frame-benchmarking", @@ -6862,7 +6876,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6877,7 +6891,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6893,7 +6907,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6905,7 +6919,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-benchmarking", "frame-support", @@ -6977,7 +6991,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7458,7 +7472,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7526,7 +7540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.9.0", + "indexmap 2.10.0", ] [[package]] @@ -7546,7 +7560,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7603,7 +7617,7 @@ name = "plutus-datum-derive" version = "1.7.0" dependencies = [ "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7619,7 +7633,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "frame-benchmarking", @@ -7701,7 +7715,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7711,7 +7725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0105f050c7bce74fa4327a3e8e5c8a6368e39a7c93c5e8e99b33df90c097c859" dependencies = [ "polkavm-derive-impl", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7864,12 +7878,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.34" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" +checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" dependencies = [ "proc-macro2", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7937,7 +7951,7 @@ checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -7957,7 +7971,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "version_check", "yansi", ] @@ -7996,7 +8010,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8055,7 +8069,7 @@ dependencies = [ "prost 0.13.5", "prost-types", "regex", - "syn 2.0.103", + "syn 2.0.104", "tempfile", ] @@ -8069,7 +8083,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8082,7 +8096,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8165,7 +8179,7 @@ checksum = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8469,7 +8483,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -8884,7 +8898,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "sp-core", @@ -8895,7 +8909,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "futures", "log", @@ -8916,7 +8930,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "sp-api", @@ -8931,7 +8945,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "docify", @@ -8957,18 +8971,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -9010,7 +9024,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "fnv", "futures", @@ -9036,7 +9050,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "hash-db", "kvdb", @@ -9064,7 +9078,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", @@ -9087,7 +9101,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", @@ -9116,7 +9130,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9150,7 +9164,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "futures", "jsonrpsee", @@ -9170,7 +9184,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -9214,7 +9228,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "finality-grandpa", "futures", @@ -9234,7 +9248,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", @@ -9257,7 +9271,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -9280,7 +9294,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "polkavm", "sc-allocator", @@ -9293,7 +9307,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "polkavm", @@ -9304,7 +9318,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "anyhow", "log", @@ -9320,7 +9334,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "console", "futures", @@ -9336,7 +9350,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.4", @@ -9350,7 +9364,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -9378,7 +9392,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9428,7 +9442,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9438,7 +9452,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "ahash", "futures", @@ -9457,7 +9471,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9478,7 +9492,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -9513,7 +9527,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-channel", "async-trait", @@ -9546,7 +9560,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9565,7 +9579,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.10.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "bs58", "bytes", @@ -9623,7 +9637,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9632,7 +9646,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "futures", "jsonrpsee", @@ -9664,7 +9678,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9684,7 +9698,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -9708,7 +9722,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "futures", @@ -9741,7 +9755,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "directories", @@ -9805,7 +9819,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "parity-scale-codec", @@ -9816,7 +9830,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "derive_more 0.99.20", "futures", @@ -9836,7 +9850,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "chrono", "futures", @@ -9855,7 +9869,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "chrono", "console", @@ -9883,23 +9897,23 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", "futures-timer", - "indexmap 2.9.0", + "indexmap 2.10.0", "itertools 0.11.0", "linked-hash-map", "parity-scale-codec", @@ -9925,11 +9939,11 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "parity-scale-codec", "serde", @@ -9942,7 +9956,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-channel", "futures", @@ -9999,7 +10013,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10038,7 +10052,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10142,7 +10156,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" dependencies = [ - "secp256k1-sys 0.8.1", + "secp256k1-sys 0.8.2", ] [[package]] @@ -10167,9 +10181,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +checksum = "4473013577ec77b4ee3668179ef1186df3146e2cf2d927bd200974c6fe60fd99" dependencies = [ "cc", ] @@ -10305,7 +10319,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10316,7 +10330,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -10389,7 +10403,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "ryu", "serde", @@ -10701,7 +10715,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "hash-db", @@ -10723,7 +10737,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "Inflector", "blake2 0.10.6", @@ -10731,13 +10745,13 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10749,7 +10763,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "integer-sqrt", @@ -10763,7 +10777,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "sp-api", "sp-inherents", @@ -10826,7 +10840,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "futures", "parity-scale-codec", @@ -10845,7 +10859,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "futures", @@ -10859,7 +10873,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10875,7 +10889,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "parity-scale-codec", @@ -10893,7 +10907,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10913,7 +10927,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "finality-grandpa", "log", @@ -10930,7 +10944,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -10941,7 +10955,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -10989,7 +11003,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "blake2b_simd", "byteorder", @@ -11002,17 +11016,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "kvdb", "parking_lot 0.12.4", @@ -11021,17 +11035,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "environmental", "parity-scale-codec", @@ -11041,7 +11055,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11071,7 +11085,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11084,7 +11098,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "bytes", "docify", @@ -11110,7 +11124,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "sp-core", "sp-runtime", @@ -11120,7 +11134,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "parking_lot 0.12.4", @@ -11131,7 +11145,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11140,7 +11154,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11150,7 +11164,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11161,7 +11175,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "log", "parity-scale-codec", @@ -11197,7 +11211,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "sp-api", "sp-core", @@ -11207,7 +11221,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "backtrace", "regex", @@ -11228,7 +11242,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11238,7 +11252,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "binary-merkle-tree", "docify", @@ -11267,7 +11281,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -11286,20 +11300,20 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "scale-info", @@ -11372,7 +11386,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -11385,7 +11399,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "hash-db", "log", @@ -11405,7 +11419,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -11429,12 +11443,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11446,7 +11460,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11458,7 +11472,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "tracing", @@ -11469,7 +11483,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "sp-api", "sp-runtime", @@ -11478,7 +11492,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "async-trait", "parity-scale-codec", @@ -11492,7 +11506,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "ahash", "hash-db", @@ -11515,7 +11529,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11532,19 +11546,19 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "parity-scale-codec", "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -11556,7 +11570,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -11634,7 +11648,7 @@ dependencies = [ "futures-util", "hashbrown 0.15.4", "hashlink 0.10.0", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "memchr", "once_cell", @@ -11662,7 +11676,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -11685,7 +11699,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.103", + "syn 2.0.104", "tokio", "url", ] @@ -11915,13 +11929,13 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "hmac", "pbkdf2", @@ -11933,12 +11947,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -11958,7 +11972,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "http-body-util", "hyper 1.6.0", @@ -11972,7 +11986,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "async-trait", @@ -11997,7 +12011,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "frame-executive", @@ -12043,7 +12057,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "futures", "sc-block-builder", @@ -12061,7 +12075,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#b34bf1c256cf9cf95902c689340ef8aab0f150a9" +source = "git+https://github.com/input-output-hk/polkadot-sdk.git?branch=beefy_all_features_branch#bd8b97876879d8f9f36ca96bbb974cc4e79b27f9" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -12113,9 +12127,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.103" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -12142,7 +12156,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12289,7 +12303,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12300,7 +12314,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12412,17 +12426,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio 1.0.4", "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -12436,7 +12452,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -12551,7 +12567,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "serde", "serde_spanned", "toml_datetime", @@ -12628,7 +12644,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -13156,7 +13172,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "wasm-bindgen-shared", ] @@ -13190,7 +13206,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -13544,9 +13560,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.32" +version = "0.7.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" dependencies = [ "bytemuck", "safe_arch", @@ -13682,7 +13698,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -13693,7 +13709,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14205,7 +14221,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -14226,7 +14242,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14246,7 +14262,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", "synstructure 0.13.2", ] @@ -14267,7 +14283,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] @@ -14300,7 +14316,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.103", + "syn 2.0.104", ] [[package]] diff --git a/demo/node/src/service.rs b/demo/node/src/service.rs index 773a72c3b3..65c95987fa 100644 --- a/demo/node/src/service.rs +++ b/demo/node/src/service.rs @@ -30,10 +30,7 @@ use tokio::task; /// The host functions Substrate provides for the Wasm runtime environment. /// /// All these host functions will be callable from inside the Wasm environment. -pub type HostFunctions = ( - sp_io::SubstrateHostFunctions, - schnorr_jubjub::generic_key_interface::HostFunctions, -); +pub type HostFunctions = sp_io::SubstrateHostFunctions; pub(crate) type FullClient = sc_service::TFullClient>; @@ -409,7 +406,8 @@ pub async fn new_full) + Some(Arc::new(schnorr_jubjub::SchnorrKeystore(keystore_container.local_keystore())) + as Arc) } else { None }; diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index ab4b12a1ee..5118d059e0 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -16,7 +16,6 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -pub use poseidon::PoseidonJubjub; -pub use runtime::generic_key_interface; #[cfg(feature = "std")] -pub use keystore::SchnorrKeystore; \ No newline at end of file +pub use keystore::SchnorrKeystore; +pub use poseidon::PoseidonJubjub; diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 20869cbb52..9600c3d681 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -7,69 +7,20 @@ // use std::convert::TryInto; use alloc::vec::Vec; -use sp_core::{ - ByteArray, Pair as TraitPair, - crypto::{CryptoTypeId, KeyTypeId}, -}; -use sp_externalities::ExternalitiesExt; -use sp_keystore::KeystoreExt; +use sp_core::{ByteArray, Pair as TraitPair, crypto::KeyTypeId}; use sp_runtime::app_crypto::RuntimePublic; -use sp_runtime_interface::{ - pass_by::{AllocateAndReturnByCodec, PassFatPointerAndRead, PassFatPointerAndDecode, PassPointerAndReadCopy}, - runtime_interface, -}; use crate::poseidon::PoseidonJubjub; use crate::{ - beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public, Signature}, + beefy_structures::{CRYPTO_ID, Public, Signature}, primitive::{SchnorrSignature, VerifyingKey}, }; -#[runtime_interface] -pub trait GenericKeyInterface { - fn keys( - &mut self, - id: PassPointerAndReadCopy, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .keys(id) - .expect("Key type not found in keystore") - } - - fn insert( - &mut self, - id: PassPointerAndReadCopy, - suri: PassFatPointerAndDecode>>, - public: PassPointerAndReadCopy, - ) { - let unwrapped_seed = suri.expect("Only support insertion of keys with seed"); - let seed = core::str::from_utf8(&unwrapped_seed).expect("Seed is valid utf8!"); - self.extension::() - .expect("No `keystore` associated for the current context!") - .insert(id, &seed, public.as_ref()) - .expect("Failed to insert key in keystore") - } - - fn sign_with( - &mut self, - id: PassPointerAndReadCopy, - crypto_id: PassPointerAndReadCopy<[u8; 4], 4>, - public: PassPointerAndReadCopy, - msg: PassFatPointerAndRead<&[u8]>, - ) -> AllocateAndReturnByCodec>> { - self.extension::() - .expect("No `keystore` associated for the current context!") - .sign_with(id, CryptoTypeId(crypto_id), public.as_ref(), msg) - .expect("Failed to produce valid signature") - } -} - impl RuntimePublic for Public { type Signature = Signature; fn all(key_type: KeyTypeId) -> Vec { - let all = generic_key_interface::keys(key_type); + let all = sp_io::generic_crypto::keys(key_type); all.iter() .map(|bytes| Public::try_from(bytes.as_slice()).expect("Invalid format in keystore")) @@ -77,17 +28,21 @@ impl RuntimePublic for Public { } fn generate_pair(key_type: KeyTypeId, seed: Option>) -> Self { - let unwrapped_seed = seed.clone().expect("Only support key generation from given seed."); + let seed: [u8; 64] = seed + .expect("Only support key generation from given seed.") + .try_into() + .expect("Invalid seed size."); - let keypair = crate::primitive::KeyPair::generate_from_seed(&unwrapped_seed); - generic_key_interface::insert(key_type, seed, keypair.public().0); + let keypair = crate::primitive::KeyPair::generate_from_seed(&seed); + let seed = core::str::from_utf8(&seed).expect("Seed contains non-UTF8 characters"); + sp_io::generic_crypto::insert(key_type, seed, &keypair.public().0); keypair.public() } fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { let crypto_id = CRYPTO_ID; - let bytes = generic_key_interface::sign_with(key_type, crypto_id.0, self.0, msg.as_ref())?; + let bytes = sp_io::generic_crypto::sign_with(key_type, crypto_id.0, &self.0, msg.as_ref())?; Signature::try_from(bytes.as_ref()).ok() } From 92a19b45007fc09d29cf2e2963b9e69e9b7546e9 Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Wed, 9 Jul 2025 12:49:49 +0200 Subject: [PATCH 50/51] Fix sig issues and cleanup schnorr mod --- Cargo.lock | 1 + .../partner-chains-node-1/keys/beefy.skey | 2 +- .../partner-chains-node-1/keys/beefy.vkey | 2 +- ...787d63c1cae09d7cc47838290ba7a29e2bfece3451 | 1 + ...ddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc | 1 - .../partner-chains-node-2/keys/beefy.skey | 2 +- .../partner-chains-node-2/keys/beefy.vkey | 2 +- ...adb0650cbc993dedc788a78f66dab10ce9b86ff397 | 1 - ...2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 | 1 + .../partner-chains-setup/entrypoint.sh | 8 +- toolkit/utils/schnorr_jubjub/Cargo.toml | 2 + .../schnorr_jubjub/src/beefy_structures.rs | 70 ++++--- toolkit/utils/schnorr_jubjub/src/keystore.rs | 38 +--- toolkit/utils/schnorr_jubjub/src/lib.rs | 3 +- toolkit/utils/schnorr_jubjub/src/primitive.rs | 197 ++++++++++-------- toolkit/utils/schnorr_jubjub/src/runtime.rs | 12 +- 16 files changed, 182 insertions(+), 161 deletions(-) create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d7e579c22283ae7bd95469787d63c1cae09d7cc47838290ba7a29e2bfece3451 delete mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc delete mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 create mode 100644 dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566ba3155d64939d1f7efdcbd2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 diff --git a/Cargo.lock b/Cargo.lock index 1b5c0f6b33..7d9cc6c394 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10090,6 +10090,7 @@ dependencies = [ "sp-application-crypto", "sp-consensus-beefy", "sp-core", + "sp-crypto-hashing", "sp-externalities", "sp-io", "sp-keystore", diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey index f3cb904016..78bd805f3a 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.skey @@ -1 +1 @@ -736861646f7720637265656b206c6164646572206d656d6f72792069676e69746520776869737065722063616e796f6e2064726966742068616d6d65722073747269706520726573637565 \ No newline at end of file +756e6c6f636b2065717569702074616c656e7420736b696e2070756e63682069636f6e206a75696365206a617220796172642064697665727420636f6f6b2063726577 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey index f3f562ad44..5bf1a50160 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keys/beefy.vkey @@ -1 +1 @@ -daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc \ No newline at end of file +d7e579c22283ae7bd95469787d63c1cae09d7cc47838290ba7a29e2bfece3451 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d7e579c22283ae7bd95469787d63c1cae09d7cc47838290ba7a29e2bfece3451 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d7e579c22283ae7bd95469787d63c1cae09d7cc47838290ba7a29e2bfece3451 new file mode 100644 index 0000000000..f26226a8ce --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566d7e579c22283ae7bd95469787d63c1cae09d7cc47838290ba7a29e2bfece3451 @@ -0,0 +1 @@ +"unlock equip talent skin punch icon juice jar yard divert cook crew" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc deleted file mode 100644 index 5da5c22fb1..0000000000 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-1/keystore/62656566daddc7795a3f1e72d70bddddc9d78ec1e82d3c7ee145a7ceeb1b52fd48ddd4dc +++ /dev/null @@ -1 +0,0 @@ -"shadow creek ladder memory ignite whisper canyon drift hammer stripe rescue" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey index 814eb96a95..00a3f50a64 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.skey @@ -1 +1 @@ -637261646c65206d616e73696f6e207a6f6f20666c61766f7220676c616e6365206f72626974206375727461696e206c61766120656e76656c6f7065206a6577656c20686f6e6579207461736b \ No newline at end of file +62656c742068757274206d6174657269616c2073757276657920736b6174652067726f757020696c6c6e657373206865616c746820656c6563747269632066726f776e206c6976652073776f7264 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey index 536044843b..c47b254766 100644 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keys/beefy.vkey @@ -1 +1 @@ -b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 \ No newline at end of file +ba3155d64939d1f7efdcbd2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 deleted file mode 100644 index b6f06fe093..0000000000 --- a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566b40044a3f97c07ab31bf2aadb0650cbc993dedc788a78f66dab10ce9b86ff397 +++ /dev/null @@ -1 +0,0 @@ -"cradle mansion zoo flavor glance orbit curtain lava envelope jewel honey task" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566ba3155d64939d1f7efdcbd2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566ba3155d64939d1f7efdcbd2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 new file mode 100644 index 0000000000..deb667dad1 --- /dev/null +++ b/dev/local-environment/configurations/partner-chains-nodes/partner-chains-node-2/keystore/62656566ba3155d64939d1f7efdcbd2d8d4e4c204c94a57037e3bf4fcf4eca1d7075e841 @@ -0,0 +1 @@ +"belt hurt material survey skate group illness health electric frown live sword" \ No newline at end of file diff --git a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh index 3016f2c0be..7c09a6f1b0 100644 --- a/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh +++ b/dev/local-environment/configurations/partner-chains-setup/entrypoint.sh @@ -203,7 +203,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FnXTMg8UnfeGsMaGg24o3NY21VRFRDRdgxuLGmXuYLeZmin", { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5H1gBHkF8KaSXpNsfKy8DFswcwB9bXoTooYCsG8qxSvwDPbt", + "beefy": "5GwnKZf8scBkkpi6CBzHvP4TZTJ7R4M7wC7r8bBQvXS8xDDp", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } ], @@ -211,7 +211,7 @@ jq '.genesis.runtimeGenesis.config.session.initialValidators = [ "5FJMH4MeZgd4fpiiAVLnr4uRop2EDFgzAFcvLmcduQ2cofCi", { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5G8iZCqAUsVzK2GVEhkLwwJsrj8W28wfeYSui3n773AkPjxy", + "beefy": "5GGqRGz2xEU1KHm1eJKDaJ9fx6yPkVdrPZTy6XpP6sT7mTvW", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } ] @@ -224,7 +224,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW4wALva83fvah66ufXSxg6r84tTpJmDXna8A1PCYdbZdVL95", "keys": { "aura": "5Cyx94iyji8namhRxvs4mAbURtPsvwjWCb68ZihNzfRysGLZ", - "beefy": "5H1gBHkF8KaSXpNsfKy8DFswcwB9bXoTooYCsG8qxSvwDPbt", + "beefy": "5GwnKZf8scBkkpi6CBzHvP4TZTJ7R4M7wC7r8bBQvXS8xDDp", "grandpa": "5Cc5eQhbPw4CjwZpWqZkWWumMiuZywfWRK2Rh9guXUJ3U89s" } } @@ -234,7 +234,7 @@ jq '.genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities "id": "KW92jBDRydnbyojCVF3USNFgEsrEvDGV3gvdgDvpfnbXvC13q", "keys": { "aura": "5E4op92Z2Di1GoVS9KqnoGVKQXG2R9x1vdh3RW892YLFsLrc", - "beefy": "5G8iZCqAUsVzK2GVEhkLwwJsrj8W28wfeYSui3n773AkPjxy", + "beefy": "5GGqRGz2xEU1KHm1eJKDaJ9fx6yPkVdrPZTy6XpP6sT7mTvW", "grandpa": "5Ha53RXoJjXtcTThFA5XNW7H6f5L39HnTuVSXimxAyhoYLeL" } } diff --git a/toolkit/utils/schnorr_jubjub/Cargo.toml b/toolkit/utils/schnorr_jubjub/Cargo.toml index 4ab90db455..8ac7c554ad 100644 --- a/toolkit/utils/schnorr_jubjub/Cargo.toml +++ b/toolkit/utils/schnorr_jubjub/Cargo.toml @@ -18,6 +18,7 @@ sc-keystore = { workspace = true, optional = true } sp-core = { workspace = true, features = ["serde"] } sp-application-crypto = { workspace = true } sp-consensus-beefy = { workspace = true } +sp-crypto-hashing = { workspace = true } sp-runtime = { workspace = true } sp-runtime-interface = { workspace = true } sp-io = { workspace = true } @@ -59,6 +60,7 @@ std = [ "sp-core/std", "sp-application-crypto/std", "sp-consensus-beefy/std", + "sp-crypto-hashing/std", "sp-runtime/std", "sp-runtime-interface/std", "sp-io/std", diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index f4e68321b2..b61413edc2 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -6,17 +6,21 @@ //! protocol, ensuring compatibility with Substrate's runtime and cryptographic //! infrastructure. -use alloc::{format, vec::Vec, string::String}; +use alloc::{format, string::String, vec::Vec}; use core::fmt::{Debug, Display, Formatter}; +use crate::alloc::string::ToString; use crate::poseidon::PoseidonJubjub; use ark_ec::AffineRepr; use ark_ed_on_bls12_381::{EdwardsAffine, Fr}; use ark_ff::fields::Field; use ark_serialize::CanonicalSerialize; -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; +use core::str::FromStr; +use num_bigint::BigUint; +use serde::{Deserialize, Deserializer, Serialize, Serializer, de}; use sha2::Digest; use sp_consensus_beefy::{AuthorityIdBound, BeefyAuthorityId}; +use sp_core::crypto::key_types::BEEFY; use sp_core::{ ByteArray, Decode, DecodeWithMemTracking, DeriveJunction, Encode, MaxEncodedLen, Pair as TraitPair, @@ -33,17 +37,11 @@ use sp_runtime::{ use sp_core::crypto::Ss58Codec; -use crate::primitive::{SchnorrSignature, VerifyingKey}; +use crate::primitive::{mod_p, SchnorrSignature, VerifyingKey}; /// Constant to represent the primitive of Schnorr over JubJub pub const CRYPTO_ID: CryptoTypeId = CryptoTypeId(*b"jubP"); -/// Constant to represent the primitive of Schnorr over JubJub -pub const SCHNORR_KEYTYPE_ID: KeyTypeId = KeyTypeId(*b"jubP"); - -/// The byte length of secret key seed. -pub const SEED_SERIALIZED_SIZE: usize = 32; - /// The byte length of serialized public key. pub const PUBLIC_SERIALIZED_SIZE: usize = 32; @@ -99,10 +97,6 @@ impl<'de> Deserialize<'de> for Public { { Public::from_ss58check(&String::deserialize(deserializer)?) .map_err(|e| de::Error::custom(format!("{:?}", e))) - // let bytes: &[u8] = Deserialize::deserialize(deserializer)?; - // let key = Self::try_from(bytes) - // .map_err(|_| serde::de::Error::custom("invalid public key bytes"))?; - // Ok(key) } } @@ -152,7 +146,7 @@ impl CryptoType for Public { } impl AppCrypto for Public { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const ID: KeyTypeId = BEEFY; const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; type Public = Public; type Signature = Signature; @@ -227,7 +221,7 @@ impl<'a> TryFrom<&'a [u8]> for Signature { } impl AppCrypto for Signature { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const ID: KeyTypeId = BEEFY; const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; type Public = Public; type Signature = Signature; @@ -263,35 +257,43 @@ impl TraitPair for crate::primitive::KeyPair { fn derive>( &self, - _path: Iter, - _seed: Option, + path: Iter, + seed: Option, ) -> Result<(Self, Option), DeriveError> { - unimplemented!() + let mut acc = + seed.expect("Well this was unexpected. We are assuming we are given the seed."); + + for j in path { + match j { + DeriveJunction::Soft(_cc) => return Err(DeriveError::SoftKeyInPath), + DeriveJunction::Hard(cc) => { + acc = ("SchnorrJubJubHDKD", acc, cc) + .using_encoded(sp_crypto_hashing::blake2_256) + .to_vec(); + }, + } + } + Ok((Self::from_seed(&acc), Some(acc))) } fn from_seed_slice(seed: &[u8]) -> Result { - let h = sha2::Sha512::digest(&seed); + let hashed_seed: [u8; 64] = sha2::Sha512::digest(&seed).as_slice().try_into().unwrap(); - let secret = Fr::from_random_bytes(h.as_slice()) - .expect("Failed to deserialize random bytes. This is a bug."); + let secret = mod_p(&hashed_seed); Ok(Self { 0: secret, 1: (EdwardsAffine::generator() * &secret).into() }) } #[cfg(feature = "full_crypto")] fn sign(&self, message: &[u8]) -> Self::Signature { let msg = PoseidonJubjub::msg_from_bytes(message, false) - .expect("With flag set to false, this should not fail. Report a bug."); + .expect("With flag set to false, this should not fail. Please report a bug."); - let shcnorr_sig = self.sign(&msg); - - let bytes = shcnorr_sig.to_bytes(); - - Signature(SignatureBytes::from_raw(bytes)) + Signature(SignatureBytes::from_raw(self.sign(&msg).to_bytes())) } fn verify>(sig: &Self::Signature, message: M, pubkey: &Self::Public) -> bool { let msg = PoseidonJubjub::msg_from_bytes(message.as_ref(), false) - .expect("With flag set to false, this should not fail. Report a bug."); + .expect("With flag set to false, this should not fail. Please report a bug."); let sig = SchnorrSignature::from_bytes(sig.as_ref()); let pubkey = VerifyingKey::from_bytes(pubkey.as_ref()); @@ -312,6 +314,14 @@ impl TraitPair for crate::primitive::KeyPair { Public(PublicBytes::from(bytes)) } + fn from_string_with_seed( + s: &str, + _password_override: Option<&str>, + ) -> Result<(Self, Option), SecretStringError> { + // TODO: unsure what we need to do here + Ok((Self::from_seed_slice(s.as_bytes())?, Some(s.as_bytes().to_vec()))) + } + fn to_raw_vec(&self) -> Vec { let mut res = Vec::with_capacity(64); self.0.serialize_compressed(&mut res).expect("Failed to serialize."); @@ -322,7 +332,7 @@ impl TraitPair for crate::primitive::KeyPair { } impl AppCrypto for crate::primitive::KeyPair { - const ID: KeyTypeId = SCHNORR_KEYTYPE_ID; + const ID: KeyTypeId = BEEFY; const CRYPTO_ID: CryptoTypeId = CRYPTO_ID; type Public = Public; type Signature = Signature; @@ -347,7 +357,7 @@ impl AppPair for crate::primitive::KeyPair { /// The raw secret seed, which can be used to reconstruct the secret /// [`crate::primitive::KeyPair`]. -type Seed = [u8; SEED_SERIALIZED_SIZE]; +type Seed = Vec; impl BeefyAuthorityId for Public { fn verify(&self, signature: &::Signature, msg: &[u8]) -> bool { diff --git a/toolkit/utils/schnorr_jubjub/src/keystore.rs b/toolkit/utils/schnorr_jubjub/src/keystore.rs index 441a694725..43f3b8c412 100644 --- a/toolkit/utils/schnorr_jubjub/src/keystore.rs +++ b/toolkit/utils/schnorr_jubjub/src/keystore.rs @@ -6,7 +6,6 @@ //! support due to lack of genericity. use alloc::vec::Vec; -use std::sync::Arc; use sc_keystore::LocalKeystore; use sp_application_crypto::Pair as TraitPair; use sp_core::{ @@ -14,6 +13,7 @@ use sp_core::{ ecdsa, ed25519, sr25519, }; use sp_keystore::{Error, Keystore}; +use std::sync::Arc; use crate::{ beefy_structures::{CRYPTO_ID, InnerPublicBytes, Public}, @@ -115,43 +115,16 @@ impl Keystore for SchnorrKeystore { self.0.ecdsa_sign_prehashed(key_type, public, msg) } - /// Insert a new secret key. fn insert(&self, key_type: KeyTypeId, suri: &str, public: &[u8]) -> Result<(), ()> { self.0.insert(key_type, suri, public) } - /// List all supported keys of a given type. - /// - /// Returns a set of public keys the signer supports in raw format. fn keys(&self, key_type: KeyTypeId) -> Result>, Error> { self.0.keys(key_type) } - /// Checks if the private keys for the given public key and key type - /// combinations exist. - /// - /// Returns `true` iff all private keys could be found. fn has_keys(&self, public_keys: &[(Vec, KeyTypeId)]) -> bool { - dbg!("===================> USING THE SCHNORR KEYSTORE"); - for (key, key_id) in public_keys { - dbg!("===================> {}", key_id); - // dbg!("===================> {}", key); - let pk_bytes: [u8; 32] = key.clone().try_into().expect("Invalid PK format"); - let grandpa_key = ed25519::Public::from_slice(key.as_slice()).expect("Failed to create aura key"); - dbg!(&grandpa_key); - // dbg!("===================> {}", self.0.key_pair::(key.as_slice()).unwrap().is_some()); - - let pk = Public(InnerPublicBytes::from_slice(&pk_bytes).expect("Failed to create key from slice")); - dbg!(&pk); - dbg!("===================> {}", self.0.key_pair::(&pk).unwrap()); - - let pk: Vec = >::as_ref(&pk).to_vec(); - let res = self.0.has_keys(&[(pk, key_id.clone())]); - dbg!("Has keys (inner) {}", res); - } - let res = self.0.has_keys(public_keys); - dbg!("Has keys {}", res); - res + self.0.has_keys(public_keys) } fn sign_with( @@ -164,14 +137,15 @@ impl Keystore for SchnorrKeystore { let signature = match crypto_id { CRYPTO_ID => { let pk_bytes: [u8; 32] = public.try_into().expect("Invalid PK format"); - let pk = Public(InnerPublicBytes::from_slice(&pk_bytes).expect("Failed to create key from slice")); + let pk = Public( + InnerPublicBytes::from_slice(&pk_bytes) + .expect("Failed to create key from slice"), + ); if let Some(pair) = self.0.key_pair(&pk)? { - dbg!("Producing signature"); let shcnorr_sig: Vec = ::sign(&pair, msg).as_slice().to_vec(); Some(shcnorr_sig) } else { - dbg!("NOT Producing signature"); None } }, diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 5118d059e0..03f23eb0fb 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -16,6 +16,7 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; +pub use poseidon::PoseidonJubjub; +pub use runtime::generic_key_interface; #[cfg(feature = "std")] pub use keystore::SchnorrKeystore; -pub use poseidon::PoseidonJubjub; diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index 8a4e038faf..e756467d40 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -10,18 +10,15 @@ use alloc::vec; use alloc::vec::Vec; use core::fmt::Debug; -use rand_chacha::rand_core::RngCore; use sha2::Digest; use crate::poseidon::{PoseidonError, PoseidonJubjub}; +use alloc::str::FromStr; +use alloc::string::ToString; use ark_ec::AffineRepr; use ark_ed_on_bls12_381::{EdwardsAffine as Point, Fq as Scalar, Fr}; -use ark_ff::{Field, UniformRand}; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; use num_bigint::BigUint; -use alloc::str::FromStr; -use alloc::string::ToString; - /// A Schnorr private key is a scalar from the Jubjub scalar field. #[derive(Clone, Debug)] @@ -61,6 +58,14 @@ impl From for SchnorrError { } } +/// Helper function to reduce little endian bytes modulo the order +/// of `Fr` +pub(crate) fn mod_p(bytes: &[u8]) -> Fr { + let biguint = BigUint::from_bytes_le(bytes); + Fr::from_str(&biguint.to_string()) + .expect("Failed to reduce bytes modulo Fr::MODULUS. This is a bug.") +} + impl KeyPair { /// Returns the verifying key pub fn vk(&self) -> VerifyingKey { @@ -69,22 +74,14 @@ impl KeyPair { /// Generates a Schnorr keypair from a seed. pub fn generate_from_seed(seed: &[u8]) -> Self { - let hashed_seed: [u8; 64] = sha2::Sha512::digest(&seed).as_slice().try_into().unwrap(); - let biguint = BigUint::from_bytes_be(&hashed_seed); - let sk = Fr::from_str(&biguint.to_string()) - .expect("Failed to construct Fr from bytes. This is a bug."); + let hashed_seed = sha2::Sha512::digest(&seed); + + let sk = mod_p(hashed_seed.as_slice()); let pk = Point::generator() * sk; Self(sk, pk.into()) } /// Sign a message using this private key. - /// - /// # Arguments - /// - `msg`: byte slice representing the message - /// - `poseidon`: instance of the Poseidon hash function (preconfigured) - /// - /// # Returns - /// A Schnorr `Signature`. pub fn sign(&self, msg: &[Scalar]) -> SchnorrSignature { let mut bytes_nonce = [0u8; 32]; self.0 @@ -100,12 +97,16 @@ impl KeyPair { // Generate a random nonce // TODO: We compute it deterministically (as done in ed25519) to avoid needing a RNG let h = sha2::Sha512::digest(&bytes_nonce); - let a = Fr::from_random_bytes(&h) - .expect("Failed to generate number from bytes. This is a bug."); + + let a = mod_p(h.as_slice()); let A = (Point::generator() * a).into(); // Compute challenge e = H(R || PK || msg) - let c_input = [&to_coords(&A), &to_coords(&self.1), msg].concat(); + let c_input = [ + &to_coords(&A).expect("Shouldn't produce a signature with nonce = 0."), + &to_coords(&self.1).expect("Your verifying key is the identity! This is a bug."), + msg + ].concat(); let c = hash_to_jj_scalar(&c_input); // Compute the response, r = a + c * sk @@ -118,15 +119,15 @@ impl KeyPair { impl SchnorrSignature { /// Verify a Schnorr signature. /// - /// # Arguments - /// - `msg`: byte slice of the original signed message - /// - `sig`: the `Signature` object to verify - /// - `poseidon`: Poseidon hash function instance - /// /// # Error /// Function fails if the signature is not valid pub fn verify(&self, msg: &[Scalar], pk: &VerifyingKey) -> Result<(), SchnorrError> { - let c_input = [&to_coords(&self.A), &to_coords(&pk.0), msg].concat(); + let c_input = [ + &to_coords(&self.A).ok_or(SchnorrError::InvalidSignature)?, + &to_coords(&pk.0).ok_or(SchnorrError::InvalidSignature)?, + msg + ].concat(); + let c = hash_to_jj_scalar(&c_input); if Point::generator() * self.r == self.A + pk.0 * c { @@ -142,7 +143,7 @@ impl SchnorrSignature { pub fn to_bytes(&self) -> [u8; 64] { let mut out = [0u8; 64]; self.A.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); - self.r.serialize_compressed(out.as_mut_slice()).expect("Failed to serialize."); + self.r.serialize_compressed(&mut out[32..]).expect("Failed to serialize."); out } @@ -152,10 +153,6 @@ impl SchnorrSignature { /// # Error /// if the bytes do not represent a canonical `(Point, Scalar)` pair. pub fn from_bytes(bytes: &[u8]) -> Result { - if bytes.len() != 64 { - return Err(SchnorrError::InvalidSignatureFormat); - } - let A = Point::deserialize_compressed(&bytes[..32]) .map_err(|_| SchnorrError::InvalidSignatureFormat)?; let r = Fr::deserialize_compressed(&bytes[32..]) @@ -178,10 +175,6 @@ impl VerifyingKey { /// # Error /// if the bytes do not represent a canonical `Point` pair. pub fn from_bytes(bytes: &[u8]) -> Result { - if bytes.len() != 32 { - return Err(SchnorrError::InvalidPkFormat); - } - let pk = Point::deserialize_compressed(bytes).map_err(|_| SchnorrError::InvalidPkFormat)?; Ok(Self(pk)) @@ -189,11 +182,10 @@ impl VerifyingKey { } /// Helper function that converts a `JubJubSubgroup` point to its coordinates -fn to_coords(point: &Point) -> Vec { - // TODO: is this a reasonable assumption? - let (x, y) = point.xy().expect("We shouldn't have the identity"); +fn to_coords(point: &Point) -> Option> { + let (x, y) = point.xy()?; - vec![x, y] + Some(vec![x, y]) } /// Helper function that hashes into a JubJub scalar, by taking the mod @@ -208,63 +200,100 @@ fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { let mut bytes_wide = [0u8; 64]; e.serialize_compressed(bytes_wide.as_mut_slice()).expect("Failed to serialize"); - Fr::from_random_bytes(&bytes_wide).expect("Failed to compute Fr from bytes. This is a bug.") + mod_p(&bytes_wide) } #[cfg(test)] mod tests { - use rand_core::OsRng; - use sp_core::crypto::Ss58Codec; + use rand_core::{OsRng, RngCore}; + use ark_ff::UniformRand; use super::*; #[test] - // fn schnorr_jubjub() { - // let mut rng = OsRng; - // - // let signing_key = Pair::generate(&mut rng); - // let msg = Scalar::random(&mut rng); - // - // let sig = signing_key.sign(&[msg], &mut rng); - // - // assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); - // } - // - // #[test] - // fn schnorr_jubjub_bytes() { - // let signing_key = Pair::generate(&mut rng); - // let msg = Scalar::random(&mut rng).to_bytes_le(); - // - // let sig = - // signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &mut rng); - // - // assert!( - // sig.verify(&SchnorrSignature::msg_from_bytes(&msg, true).unwrap(), &signing_key.vk()) - // .is_ok() - // ); - // - // let mut msg = [0u8; 100]; - // rng.fill_bytes(&mut msg); - // - // let sig = - // signing_key.sign(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &mut rng); - // - // assert!( - // sig.verify(&SchnorrSignature::msg_from_bytes(&msg, false).unwrap(), &signing_key.vk()) - // .is_ok() - // ); - // } + fn schnorr_jubjub() { + let mut rng = OsRng; + let mut seed = [0u8; 32]; + rng.fill_bytes(&mut seed); + + let signing_key = KeyPair::generate_from_seed(&seed); + let msg = Scalar::rand(&mut rng); + + let sig = signing_key.sign(&[msg]); + + assert!(sig.verify(&[msg], &signing_key.vk()).is_ok()); + } + + #[test] + fn schnorr_jubjub_bytes() { + let mut rng = OsRng; + let mut seed = [0u8; 32]; + rng.fill_bytes(&mut seed); + + let signing_key = KeyPair::generate_from_seed(&seed); + + let mut msg = [0u8; 32]; + Scalar::rand(&mut rng).serialize_compressed(msg.as_mut_slice()).unwrap(); + let msg = PoseidonJubjub::msg_from_bytes(&msg, true).unwrap(); + + let sig = + signing_key.sign(&msg); + + assert!( + sig.verify(&msg, &signing_key.vk()) + .is_ok() + ); + + let mut msg = [0u8; 100]; + rng.fill_bytes(&mut msg); + let msg = PoseidonJubjub::msg_from_bytes(&msg, false) + .expect("With flag set to false, this should not fail. Report a bug."); + + let sig = + signing_key.sign(&msg); + + assert!( + sig.verify(&msg, &signing_key.vk()) + .is_ok() + ); + } #[test] - fn print_data() { - let seed = b"cradle mansion zoo flavor glance orbit curtain lava envelope jewel honey task"; - println!("{:?}", hex::encode(seed)); - let keypair = KeyPair::generate_from_seed(seed); + fn serde() { + let mut rng = OsRng; + let mut seed = [0u8; 32]; + rng.fill_bytes(&mut seed); + + let signing_key = KeyPair::generate_from_seed(&seed); + let msg = Scalar::rand(&mut rng); + + let sig = signing_key.sign(&[msg]); + + let vk = signing_key.vk(); + let ser_vk = vk.to_bytes(); + let deser_vk = VerifyingKey::from_bytes(&ser_vk).unwrap(); + + assert!(sig.verify(&[msg], &deser_vk).is_ok()); - let vk = keypair.vk(); - println!("{}", hex::encode(vk.to_bytes())); + let ser_sig = sig.to_bytes(); + let deser_sig = SchnorrSignature::from_bytes(&ser_sig).unwrap(); - // let ss58 = vk.to_ss58check(); - // println!("{}", ss58); + assert!(deser_sig.verify(&[msg], &vk).is_ok()); } + + + // Helper test to generate test-vectors + // #[test] + // fn print_data() { + // let seed = + // b"belt hurt material survey skate group illness health electric frown live sword"; + // println!("{:?}", hex::encode(seed)); + // let keypair = KeyPair::generate_from_seed(seed); + // + // let vk = keypair.vk(); + // println!("{}", hex::encode(vk.to_bytes())); + // + // // let ss58 = vk.to_ss58check(); + // // println!("{}", ss58); + // } } diff --git a/toolkit/utils/schnorr_jubjub/src/runtime.rs b/toolkit/utils/schnorr_jubjub/src/runtime.rs index 9600c3d681..e7be305df1 100644 --- a/toolkit/utils/schnorr_jubjub/src/runtime.rs +++ b/toolkit/utils/schnorr_jubjub/src/runtime.rs @@ -4,11 +4,16 @@ //! primitives and keystore functionality into the Substrate runtime //! environment, enabling their use in on-chain logic and consensus mechanisms. -// use std::convert::TryInto; - use alloc::vec::Vec; use sp_core::{ByteArray, Pair as TraitPair, crypto::KeyTypeId}; use sp_runtime::app_crypto::RuntimePublic; +use sp_runtime_interface::{ + pass_by::{ + AllocateAndReturnByCodec, PassFatPointerAndDecode, PassFatPointerAndRead, + PassPointerAndReadCopy, + }, + runtime_interface, +}; use crate::poseidon::PoseidonJubjub; use crate::{ @@ -41,8 +46,7 @@ impl RuntimePublic for Public { } fn sign>(&self, key_type: KeyTypeId, msg: &M) -> Option { - let crypto_id = CRYPTO_ID; - let bytes = sp_io::generic_crypto::sign_with(key_type, crypto_id.0, &self.0, msg.as_ref())?; + let bytes = sp_io::generic_crypto::sign_with(key_type, CRYPTO_ID.0, &self.0, msg.as_ref())?; Signature::try_from(bytes.as_ref()).ok() } From b44e3cc94318aa8b708af67fdd06033a98764b1b Mon Sep 17 00:00:00 2001 From: iquerejeta Date: Thu, 10 Jul 2025 18:40:53 +0200 Subject: [PATCH 51/51] Working network --- .../schnorr_jubjub/src/beefy_structures.rs | 2 +- toolkit/utils/schnorr_jubjub/src/lib.rs | 3 +- toolkit/utils/schnorr_jubjub/src/primitive.rs | 31 +++++++------------ 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs index b61413edc2..459a7b4da9 100644 --- a/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs +++ b/toolkit/utils/schnorr_jubjub/src/beefy_structures.rs @@ -37,7 +37,7 @@ use sp_runtime::{ use sp_core::crypto::Ss58Codec; -use crate::primitive::{mod_p, SchnorrSignature, VerifyingKey}; +use crate::primitive::{SchnorrSignature, VerifyingKey, mod_p}; /// Constant to represent the primitive of Schnorr over JubJub pub const CRYPTO_ID: CryptoTypeId = CryptoTypeId(*b"jubP"); diff --git a/toolkit/utils/schnorr_jubjub/src/lib.rs b/toolkit/utils/schnorr_jubjub/src/lib.rs index 03f23eb0fb..5118d059e0 100644 --- a/toolkit/utils/schnorr_jubjub/src/lib.rs +++ b/toolkit/utils/schnorr_jubjub/src/lib.rs @@ -16,7 +16,6 @@ mod runtime; pub use beefy_structures::{InnerPublicBytes, Public, Signature}; -pub use poseidon::PoseidonJubjub; -pub use runtime::generic_key_interface; #[cfg(feature = "std")] pub use keystore::SchnorrKeystore; +pub use poseidon::PoseidonJubjub; diff --git a/toolkit/utils/schnorr_jubjub/src/primitive.rs b/toolkit/utils/schnorr_jubjub/src/primitive.rs index e756467d40..cc6c545f7f 100644 --- a/toolkit/utils/schnorr_jubjub/src/primitive.rs +++ b/toolkit/utils/schnorr_jubjub/src/primitive.rs @@ -61,7 +61,7 @@ impl From for SchnorrError { /// Helper function to reduce little endian bytes modulo the order /// of `Fr` pub(crate) fn mod_p(bytes: &[u8]) -> Fr { - let biguint = BigUint::from_bytes_le(bytes); + let biguint = BigUint::from_bytes_be(bytes); Fr::from_str(&biguint.to_string()) .expect("Failed to reduce bytes modulo Fr::MODULUS. This is a bug.") } @@ -105,8 +105,9 @@ impl KeyPair { let c_input = [ &to_coords(&A).expect("Shouldn't produce a signature with nonce = 0."), &to_coords(&self.1).expect("Your verifying key is the identity! This is a bug."), - msg - ].concat(); + msg, + ] + .concat(); let c = hash_to_jj_scalar(&c_input); // Compute the response, r = a + c * sk @@ -125,8 +126,9 @@ impl SchnorrSignature { let c_input = [ &to_coords(&self.A).ok_or(SchnorrError::InvalidSignature)?, &to_coords(&pk.0).ok_or(SchnorrError::InvalidSignature)?, - msg - ].concat(); + msg, + ] + .concat(); let c = hash_to_jj_scalar(&c_input); @@ -205,8 +207,8 @@ fn hash_to_jj_scalar(input: &[Scalar]) -> Fr { #[cfg(test)] mod tests { - use rand_core::{OsRng, RngCore}; use ark_ff::UniformRand; + use rand_core::{OsRng, RngCore}; use super::*; @@ -236,26 +238,18 @@ mod tests { Scalar::rand(&mut rng).serialize_compressed(msg.as_mut_slice()).unwrap(); let msg = PoseidonJubjub::msg_from_bytes(&msg, true).unwrap(); - let sig = - signing_key.sign(&msg); + let sig = signing_key.sign(&msg); - assert!( - sig.verify(&msg, &signing_key.vk()) - .is_ok() - ); + assert!(sig.verify(&msg, &signing_key.vk()).is_ok()); let mut msg = [0u8; 100]; rng.fill_bytes(&mut msg); let msg = PoseidonJubjub::msg_from_bytes(&msg, false) .expect("With flag set to false, this should not fail. Report a bug."); - let sig = - signing_key.sign(&msg); + let sig = signing_key.sign(&msg); - assert!( - sig.verify(&msg, &signing_key.vk()) - .is_ok() - ); + assert!(sig.verify(&msg, &signing_key.vk()).is_ok()); } #[test] @@ -281,7 +275,6 @@ mod tests { assert!(deser_sig.verify(&[msg], &vk).is_ok()); } - // Helper test to generate test-vectors // #[test] // fn print_data() {