chore: regenerate umbrella crate, fix feature propagation

This commit is contained in:
2025-12-16 11:28:32 +03:00
parent dd6d48f528
commit 620b0e3aa0
1358 changed files with 9464 additions and 7656 deletions
@@ -17,8 +17,8 @@
//! Basic runtime calls.
use codec::{Decode, Encode};
use scale_info::TypeInfo;
use pezsp_std::{boxed::Box, vec::Vec};
use scale_info::TypeInfo;
use xcm::{VersionedLocation, VersionedXcm};
@@ -19,22 +19,22 @@ use crate::calls::UtilityCall;
use crate::SimpleRuntimeVersion;
use bp_header_pez_chain::ChainWithGrandpa as ChainWithGrandpaBase;
use bp_messages::ChainWithMessages as ChainWithMessagesBase;
use codec::{Codec, Decode, Encode, MaxEncodedLen};
use jsonrpsee::core::{DeserializeOwned, Serialize};
use num_traits::Zero;
use pezbp_runtime::{
Chain as ChainBase, EncodedOrDecodedCall, HashOf, Teyrchain as TeyrchainBase, TransactionEra,
TransactionEraOf, UnderlyingChainProvider,
};
use codec::{Codec, Decode, Encode, MaxEncodedLen};
use pezframe_support::Parameter;
use jsonrpsee::core::{DeserializeOwned, Serialize};
use num_traits::Zero;
use pezsc_transaction_pool_api::TransactionStatus;
use scale_info::TypeInfo;
use pezsp_core::{storage::StorageKey, Pair};
use pezsp_runtime::{
generic::SignedBlock,
traits::{AtLeast32BitUnsigned, Block as BlockT, Member},
ConsensusEngineId, EncodedJustification,
};
use scale_info::TypeInfo;
use std::{fmt::Debug, time::Duration};
/// Signed block type of given chain.
@@ -128,8 +128,8 @@ pub type CallOf<C> = <C as Chain>::Call;
/// Transaction status of the chain.
pub type TransactionStatusOf<C> = TransactionStatus<HashOf<C>, HashOf<C>>;
/// Bizinikiwi-based chain with `AccountData` generic argument of `pezframe_system::AccountInfo` set to
/// the `pezpallet_balances::AccountData<Balance>`.
/// Bizinikiwi-based chain with `AccountData` generic argument of `pezframe_system::AccountInfo` set
/// to the `pezpallet_balances::AccountData<Balance>`.
pub trait ChainWithBalances: Chain {
/// Return runtime storage key for getting `pezframe_system::AccountInfo` of given account.
fn account_info_storage_key(account_id: &Self::AccountId) -> StorageKey;
@@ -32,9 +32,8 @@ use async_std::{
};
use async_trait::async_trait;
use codec::Encode;
use pezframe_support::weights::Weight;
use futures::{FutureExt, StreamExt};
use quick_cache::unsync::Cache;
use pezframe_support::weights::Weight;
use pezsp_consensus_grandpa::{AuthorityId, OpaqueKeyOwnershipProof, SetId};
use pezsp_core::{
storage::{StorageData, StorageKey},
@@ -43,6 +42,7 @@ use pezsp_core::{
use pezsp_runtime::{traits::Header as _, transaction_validity::TransactionValidity};
use pezsp_trie::StorageProof;
use pezsp_version::RuntimeVersion;
use quick_cache::unsync::Cache;
/// `quick_cache::unsync::Cache` wrapped in async-aware synchronization primitives.
type SyncCache<K, V> = Arc<RwLock<Cache<K, V>>>;
@@ -20,8 +20,8 @@ use crate::{Chain, ConnectionParams};
use caching::CachingClient;
use num_traits::Saturating;
use rpc::RpcClient;
use pezsp_version::RuntimeVersion;
use rpc::RpcClient;
pub mod caching;
pub mod rpc;
@@ -37,17 +37,16 @@ use crate::{
use async_std::sync::{Arc, Mutex, RwLock};
use async_trait::async_trait;
use pezbp_runtime::HeaderIdProvider;
use codec::Encode;
use pezframe_support::weights::Weight;
use futures::TryFutureExt;
use jsonrpsee::{
core::{client::Subscription as RpcSubscription, ClientError},
ws_client::{WsClient, WsClientBuilder},
};
use num_traits::Zero;
use pezbp_runtime::HeaderIdProvider;
use pezframe_support::weights::Weight;
use pezpallet_transaction_payment::RuntimeDispatchInfo;
use relay_utils::{relay_loop::RECONNECT_DELAY, STALL_TIMEOUT};
use pezsp_core::{
storage::{StorageData, StorageKey},
Bytes, Hasher, Pair,
@@ -58,6 +57,7 @@ use pezsp_runtime::{
};
use pezsp_trie::StorageProof;
use pezsp_version::RuntimeVersion;
use relay_utils::{relay_loop::RECONNECT_DELAY, STALL_TIMEOUT};
use std::{cmp::Ordering, future::Future, marker::PhantomData};
const MAX_SUBSCRIPTION_CAPACITY: usize = 4096;
@@ -132,8 +132,8 @@ impl<C: Chain> RpcClient<C> {
}
}
/// Try to connect to Bizinikiwi node over websocket. Returns Bizinikiwi RPC client if connection
/// has been established or error otherwise.
/// Try to connect to Bizinikiwi node over websocket. Returns Bizinikiwi RPC client if
/// connection has been established or error otherwise.
async fn try_connect(params: Arc<ConnectionParams>) -> Result<Self> {
let (tokio, client) = Self::build_client(&params).await?;
@@ -22,8 +22,8 @@ use crate::{
};
use async_trait::async_trait;
use pezbp_runtime::{StorageDoubleMapKeyProvider, StorageMapKeyProvider};
use codec::{Decode, Encode};
use pezbp_runtime::{StorageDoubleMapKeyProvider, StorageMapKeyProvider};
use pezframe_support::weights::Weight;
use pezsp_core::{
storage::{StorageData, StorageKey},
@@ -20,10 +20,10 @@ use crate::{BlockNumberOf, Chain, HashOf, SimpleRuntimeVersion};
use bp_header_pez_chain::SubmitFinalityProofCallExtras;
use bp_pezkuwi_core::teyrchains::ParaId;
use jsonrpsee::core::ClientError as RpcError;
use relay_utils::MaybeConnectionError;
use pezsc_rpc_api::system::Health;
use pezsp_core::{storage::StorageKey, Bytes};
use pezsp_runtime::transaction_validity::TransactionValidityError;
use relay_utils::MaybeConnectionError;
use thiserror::Error;
/// Result type used by Bizinikiwi client.
@@ -20,12 +20,12 @@ use async_std::sync::{Arc, RwLock};
use async_trait::async_trait;
use codec::Decode;
use num_traits::One;
use pezsp_core::storage::{StorageData, StorageKey};
use pezsp_runtime::{traits::UniqueSaturatedInto, FixedPointNumber, FixedU128};
use relay_utils::metrics::{
metric_name, register, F64SharedRef, Gauge, Metric, PrometheusError, Registry,
StandaloneMetric, F64,
};
use pezsp_core::storage::{StorageData, StorageKey};
use pezsp_runtime::{traits::UniqueSaturatedInto, FixedPointNumber, FixedU128};
use std::{marker::PhantomData, time::Duration};
/// Storage value update interval (in blocks).
@@ -26,8 +26,8 @@ use crate::{
Error as BizinikiwiError, SignParam, UnsignedTransaction,
};
use bp_messages::{ChainWithMessages as ChainWithMessagesBase, MessageNonce};
use pezbp_runtime::ChainId;
use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen};
use pezbp_runtime::ChainId;
use pezframe_support::{pezsp_runtime::StateVersion, weights::Weight};
use scale_info::TypeInfo;
use std::time::Duration;
@@ -20,8 +20,8 @@ use crate::{Chain, Error, HashOf, HeaderIdOf, Subscription, TransactionStatusOf}
use async_trait::async_trait;
use futures::{future::Either, Future, FutureExt, Stream, StreamExt};
use relay_utils::{HeaderId, TrackedTransactionStatus};
use pezsp_runtime::traits::Header as _;
use relay_utils::{HeaderId, TrackedTransactionStatus};
use std::time::Duration;
/// Transaction tracker environment.
@@ -20,9 +20,9 @@ use crate::{
};
use bp_header_pez_chain::{FinalityProof, FindEquivocations as FindEquivocationsT};
use pez_finality_relay::FinalityProofsBuf;
use futures::future::{BoxFuture, FutureExt};
use num_traits::Saturating;
use pez_finality_relay::FinalityProofsBuf;
/// First step in the block checking state machine.
///
@@ -20,9 +20,9 @@ use crate::{
};
use crate::block_checker::BlockChecker;
use pez_finality_relay::{FinalityProofsBuf, FinalityProofsStream};
use futures::{select_biased, FutureExt};
use num_traits::Saturating;
use pez_finality_relay::{FinalityProofsBuf, FinalityProofsStream};
use relay_utils::{metrics::MetricsParams, FailedClient};
use std::{future::Future, time::Duration};
+1 -1
View File
@@ -19,8 +19,8 @@
use crate::{EquivocationDetectionPipeline, HeaderFinalityInfo, SourceClient, TargetClient};
use async_trait::async_trait;
use bp_header_pez_chain::{FinalityProof, FindEquivocations};
use pez_finality_relay::{FinalityPipeline, SourceClientBase};
use futures::{Stream, StreamExt};
use pez_finality_relay::{FinalityPipeline, SourceClientBase};
use relay_utils::{
relay_loop::Client as RelayClient, HeaderId, MaybeConnectionError, TrackedTransactionStatus,
TransactionTracker,
@@ -19,7 +19,7 @@
use crate::{
equivocation::BizinikiwiEquivocationDetectionPipeline,
finality::BizinikiwiFinalitySyncPipeline,
messages::{MessagesRelayLimits, BizinikiwiMessageLane},
messages::{BizinikiwiMessageLane, MessagesRelayLimits},
teyrchains::BizinikiwiTeyrchainsPipeline,
};
use bp_teyrchains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
@@ -23,10 +23,10 @@ use crate::{
cli::{bridge::CliBridgeBase, chain_schema::*},
finality_base::engine::Engine,
};
use pezbp_runtime::Chain as ChainBase;
use clap::Parser;
use relay_bizinikiwi_client::{AccountKeyPairOf, Chain, UnsignedTransaction};
use pezbp_runtime::Chain as ChainBase;
use pezsp_core::Pair;
use relay_bizinikiwi_client::{AccountKeyPairOf, Chain, UnsignedTransaction};
/// Bridge initialization params.
#[derive(Parser)]
@@ -17,8 +17,8 @@
//! Deal with CLI args of bizinikiwi-to-bizinikiwi relay.
use clap::Parser;
use rbtag::BuildInfo;
use pezsp_runtime::traits::TryConvert;
use rbtag::BuildInfo;
use std::str::FromStr;
pub mod bridge;
@@ -46,13 +46,13 @@ use crate::{
HeadersToRelay, TaggedAccount, TransactionParams,
};
use pezbp_runtime::BalanceOf;
use pezsp_core::Pair;
use pezsp_runtime::traits::TryConvert;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, Chain, ChainWithBalances, ChainWithMessages,
ChainWithRuntimeVersion, ChainWithTransactions,
};
use relay_utils::metrics::MetricsParams;
use pezsp_core::Pair;
use pezsp_runtime::traits::TryConvert;
/// Parameters that have the same names across all bridges.
#[derive(Debug, PartialEq, Parser)]
@@ -31,10 +31,10 @@ use crate::{
finality::BizinikiwiFinalitySyncPipeline,
on_demand::{headers::OnDemandHeadersRelay, OnDemandRelay},
};
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, ChainWithRuntimeVersion, ChainWithTransactions, Client,
};
use pezsp_core::Pair;
/// A base relay between two standalone (relay) chains.
///
@@ -35,11 +35,11 @@ use crate::{
};
use bp_pezkuwi_core::teyrchains::ParaHash;
use bp_teyrchains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, Chain, ChainWithRuntimeVersion, ChainWithTransactions, Client,
Teyrchain,
};
use pezsp_core::Pair;
/// A base relay between standalone (relay) chain and a teyrchain from another consensus system.
///
@@ -32,11 +32,11 @@ use crate::{
};
use bp_pezkuwi_core::teyrchains::ParaHash;
use bp_teyrchains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, Chain, ChainWithRuntimeVersion, ChainWithTransactions, Client,
Teyrchain,
};
use pezsp_core::Pair;
/// A base relay between two teyrchain from different consensus systems.
///
@@ -28,12 +28,12 @@ use pezsp_core::Pair;
use bp_messages::MessageNonce;
use pezbp_runtime::HeaderIdProvider;
use pezsp_runtime::traits::TryConvert;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, BalanceOf, Chain, ChainWithRuntimeVersion,
ChainWithTransactions, Client,
};
use relay_utils::UniqueSaturatedInto;
use pezsp_runtime::traits::TryConvert;
/// Messages relaying params.
#[derive(Parser)]
@@ -19,8 +19,8 @@
use async_std::sync::Mutex;
use async_trait::async_trait;
use bp_pezkuwi_core::BlockNumber as RelayBlockNumber;
use pezbp_runtime::HeaderIdProvider;
use clap::Parser;
use pezbp_runtime::HeaderIdProvider;
use relay_bizinikiwi_client::{Client, Teyrchain};
use relay_utils::metrics::{GlobalMetrics, StandaloneMetric};
use std::sync::Arc;
@@ -27,14 +27,14 @@ use crate::{
};
use async_trait::async_trait;
use pezbp_runtime::{AccountIdOf, BlockNumberOf, HashOf};
use pez_equivocation_detector::EquivocationDetectionPipeline;
use pez_finality_relay::FinalityPipeline;
use pezbp_runtime::{AccountIdOf, BlockNumberOf, HashOf};
use pezpallet_grandpa::{Call as GrandpaCall, Config as GrandpaConfig};
use relay_bizinikiwi_client::{AccountKeyPairOf, CallOf, Chain, ChainWithTransactions, Client};
use relay_utils::metrics::MetricsParams;
use pezsp_core::Pair;
use pezsp_runtime::traits::{Block, Header};
use relay_bizinikiwi_client::{AccountKeyPairOf, CallOf, Chain, ChainWithTransactions, Client};
use relay_utils::metrics::MetricsParams;
use std::marker::PhantomData;
/// Convenience trait that adds bounds to `BizinikiwiEquivocationDetectionPipeline`.
@@ -18,17 +18,17 @@
use crate::{
equivocation::{
EquivocationDetectionPipelineAdapter, EquivocationProofOf, ReportEquivocationCallBuilder,
BizinikiwiEquivocationDetectionPipeline,
BizinikiwiEquivocationDetectionPipeline, EquivocationDetectionPipelineAdapter,
EquivocationProofOf, ReportEquivocationCallBuilder,
},
finality_base::{engine::Engine, finality_proofs, BizinikiwiFinalityProofsStream},
TransactionParams,
};
use async_trait::async_trait;
use pezbp_runtime::{HashOf, TransactionEra};
use pez_equivocation_detector::SourceClient;
use pez_finality_relay::SourceClientBase;
use pezbp_runtime::{HashOf, TransactionEra};
use relay_bizinikiwi_client::{
AccountKeyPairOf, Client, Error, TransactionTracker, UnsignedTransaction,
};
@@ -18,19 +18,19 @@
use crate::{
equivocation::{
EquivocationDetectionPipelineAdapter, FinalityProoffOf, FinalityVerificationContextfOf,
BizinikiwiEquivocationDetectionPipeline,
BizinikiwiEquivocationDetectionPipeline, EquivocationDetectionPipelineAdapter,
FinalityProoffOf, FinalityVerificationContextfOf,
},
finality_base::{best_synced_header_id, engine::Engine},
};
use async_trait::async_trait;
use bp_header_pez_chain::HeaderFinalityInfo;
use pezbp_runtime::{BlockNumberOf, HashOf};
use pez_equivocation_detector::TargetClient;
use pezbp_runtime::{BlockNumberOf, HashOf};
use pezsp_runtime::traits::Header;
use relay_bizinikiwi_client::{Client, Error};
use relay_utils::relay_loop::Client as RelayClient;
use pezsp_runtime::traits::Header;
use std::marker::PhantomData;
/// Bizinikiwi node as equivocation source.
@@ -16,9 +16,9 @@
//! Relay errors.
use relay_bizinikiwi_client as client;
use pezsp_consensus_grandpa::AuthorityList;
use pezsp_runtime::traits::MaybeDisplay;
use relay_bizinikiwi_client as client;
use std::fmt::Debug;
use thiserror::Error;
@@ -25,12 +25,12 @@ use crate::{error::Error, finality_base::engine::Engine};
use pezsp_core::Pair;
use pezbp_runtime::HeaderIdOf;
use pezsp_runtime::traits::Header as HeaderT;
use relay_bizinikiwi_client::{
AccountKeyPairOf, Chain, ChainWithTransactions, Client, Error as BizinikiwiError,
UnsignedTransaction,
};
use relay_utils::{TrackedTransactionStatus, TransactionTracker};
use pezsp_runtime::traits::Header as HeaderT;
/// Submit headers-bridge initialization transaction.
pub async fn initialize<
@@ -29,12 +29,12 @@ use pez_finality_relay::{
FinalityPipeline, FinalitySyncPipeline, HeadersToRelay, SourceClient, TargetClient,
};
use pezpallet_bridge_grandpa::{Call as BridgeGrandpaCall, Config as BridgeGrandpaConfig};
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
transaction_stall_timeout, AccountIdOf, AccountKeyPairOf, BlockNumberOf, CallOf, Chain,
ChainWithTransactions, Client, HashOf, HeaderOf, SyncHeader,
};
use relay_utils::{metrics::MetricsParams, TrackedTransactionStatus, TransactionTracker};
use pezsp_core::Pair;
use std::{fmt::Debug, marker::PhantomData};
pub mod initialize;
@@ -17,7 +17,7 @@
//! Default generic implementation of finality source for basic Bizinikiwi client.
use crate::{
finality::{FinalitySyncPipelineAdapter, BizinikiwiFinalitySyncPipeline},
finality::{BizinikiwiFinalitySyncPipeline, FinalitySyncPipelineAdapter},
finality_base::{
engine::Engine, finality_proofs, BizinikiwiFinalityProof, BizinikiwiFinalityProofsStream,
},
@@ -27,12 +27,12 @@ use async_std::sync::{Arc, Mutex};
use async_trait::async_trait;
use bp_header_pez_chain::FinalityProof;
use codec::Decode;
use pez_finality_relay::{SourceClient, SourceClientBase};
use futures::{
select,
stream::{try_unfold, Stream, StreamExt, TryStreamExt},
};
use num_traits::One;
use pez_finality_relay::{SourceClient, SourceClientBase};
use relay_bizinikiwi_client::{BlockNumberOf, BlockWithJustification, Client, Error, HeaderOf};
use relay_utils::{relay_loop::Client as RelayClient, UniqueSaturatedInto};
@@ -18,22 +18,22 @@
use crate::{
finality::{
FinalitySyncPipelineAdapter, SubmitFinalityProofCallBuilder, BizinikiwiFinalitySyncPipeline,
BizinikiwiFinalitySyncPipeline, FinalitySyncPipelineAdapter, SubmitFinalityProofCallBuilder,
},
finality_base::{best_synced_header_id, engine::Engine, BizinikiwiFinalityProof},
TransactionParams,
};
use async_trait::async_trait;
use pezbp_runtime::BlockNumberOf;
use pez_finality_relay::TargetClient;
use pezbp_runtime::BlockNumberOf;
use pezsp_core::Pair;
use pezsp_runtime::traits::Header;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, Chain, Client, Error, HeaderIdOf, HeaderOf, SyncHeader,
TransactionEra, TransactionTracker, UnsignedTransaction,
};
use relay_utils::relay_loop::Client as RelayClient;
use pezsp_core::Pair;
use pezsp_runtime::traits::Header;
/// Bizinikiwi client as Bizinikiwi finality target.
pub struct BizinikiwiFinalityTarget<P: BizinikiwiFinalitySyncPipeline, TargetClnt> {
@@ -26,17 +26,17 @@ use bp_header_pez_chain::{
AuthoritySet, ConsensusLogReader, FinalityProof, FindEquivocations, GrandpaConsensusLogReader,
HeaderFinalityInfo, HeaderGrandpaInfo, StoredHeaderGrandpaInfo, SubmitFinalityProofCallExtras,
};
use pezbp_runtime::{BasicOperatingMode, HeaderIdProvider, OperatingMode};
use codec::{Decode, Encode};
use futures::stream::StreamExt;
use num_traits::{One, Zero};
use pezbp_runtime::{BasicOperatingMode, HeaderIdProvider, OperatingMode};
use pezsp_consensus_grandpa::{AuthorityList as GrandpaAuthoritiesSet, GRANDPA_ENGINE_ID};
use pezsp_core::{storage::StorageKey, Bytes};
use pezsp_runtime::{scale_info::TypeInfo, traits::Header, ConsensusEngineId};
use relay_bizinikiwi_client::{
BlockNumberOf, Chain, ChainWithGrandpa, Client, Error as BizinikiwiError, HashOf, HeaderOf,
Subscription,
};
use pezsp_consensus_grandpa::{AuthorityList as GrandpaAuthoritiesSet, GRANDPA_ENGINE_ID};
use pezsp_core::{storage::StorageKey, Bytes};
use pezsp_runtime::{scale_info::TypeInfo, traits::Header, ConsensusEngineId};
use std::{fmt::Debug, marker::PhantomData};
/// Finality engine, used by the Bizinikiwi chain.
@@ -185,7 +185,8 @@ impl<C: ChainWithGrandpa> Engine<C> for Grandpa<C> {
type ConsensusLogReader = GrandpaConsensusLogReader<<C::Header as Header>::Number>;
type FinalityProof = GrandpaJustification<HeaderOf<C>>;
type FinalityVerificationContext = JustificationVerificationContext;
type EquivocationProof = pezsp_consensus_grandpa::EquivocationProof<HashOf<C>, BlockNumberOf<C>>;
type EquivocationProof =
pezsp_consensus_grandpa::EquivocationProof<HashOf<C>, BlockNumberOf<C>>;
type EquivocationsFinder = GrandpaEquivocationsFinder<C>;
type KeyOwnerProof = C::KeyOwnerProof;
type InitializationData = bp_header_pez_chain::InitializationData<C::Header>;
@@ -196,7 +197,9 @@ impl<C: ChainWithGrandpa> Engine<C> for Grandpa<C> {
}
fn pezpallet_operating_mode_key() -> StorageKey {
bp_header_pez_chain::storage_keys::pezpallet_operating_mode_key(C::WITH_CHAIN_GRANDPA_PALLET_NAME)
bp_header_pez_chain::storage_keys::pezpallet_operating_mode_key(
C::WITH_CHAIN_GRANDPA_PALLET_NAME,
)
}
async fn source_finality_proofs(
@@ -247,8 +250,8 @@ impl<C: ChainWithGrandpa> Engine<C> for Grandpa<C> {
source_client: impl Client<C>,
) -> Result<Self::InitializationData, Error<HashOf<C>, BlockNumberOf<C>>> {
// In ideal world we just need to get best finalized header and then to read GRANDPA
// authorities set (`pezpallet_grandpa::CurrentSetId` + `GrandpaApi::grandpa_authorities()`) at
// this header.
// authorities set (`pezpallet_grandpa::CurrentSetId` + `GrandpaApi::grandpa_authorities()`)
// at this header.
//
// But now there are problems with this approach - `CurrentSetId` may return invalid value.
// So here we're waiting for the next justification, read the authorities set and then try
@@ -369,9 +372,10 @@ impl<C: ChainWithGrandpa> Engine<C> for Grandpa<C> {
target_client: &impl Client<TargetChain>,
at: HashOf<TargetChain>,
) -> Result<Self::FinalityVerificationContext, BizinikiwiError> {
let current_authority_set_key = bp_header_pez_chain::storage_keys::current_authority_set_key(
C::WITH_CHAIN_GRANDPA_PALLET_NAME,
);
let current_authority_set_key =
bp_header_pez_chain::storage_keys::current_authority_set_key(
C::WITH_CHAIN_GRANDPA_PALLET_NAME,
);
let authority_set: AuthoritySet = target_client
.storage_value(at, current_authority_set_key)
.await?
@@ -22,9 +22,9 @@ pub mod engine;
use crate::finality_base::engine::Engine;
use async_trait::async_trait;
use pezbp_runtime::{HashOf, HeaderIdOf};
use codec::Decode;
use futures::{stream::unfold, Stream, StreamExt};
use pezbp_runtime::{HashOf, HeaderIdOf};
use relay_bizinikiwi_client::{Chain, Client, Error};
use std::{fmt::Debug, pin::Pin};
@@ -40,9 +40,10 @@ pub trait BizinikiwiFinalityPipeline: 'static + Clone + Debug + Send + Sync {
}
/// Bizinikiwi finality proof. Specific to the used `FinalityEngine`.
pub type BizinikiwiFinalityProof<P> = <<P as BizinikiwiFinalityPipeline>::FinalityEngine as Engine<
<P as BizinikiwiFinalityPipeline>::SourceChain,
>>::FinalityProof;
pub type BizinikiwiFinalityProof<P> =
<<P as BizinikiwiFinalityPipeline>::FinalityEngine as Engine<
<P as BizinikiwiFinalityPipeline>::SourceChain,
>>::FinalityProof;
/// Bizinikiwi finality proofs stream.
pub type BizinikiwiFinalityProofsStream<P> =
@@ -131,8 +131,8 @@ impl<Call> BatchCallBuilder<Call> for () {
/// Module for handling storage proofs compatibility.
pub mod proofs {
use pezbp_runtime::{HashOf, RawStorageProof};
use relay_bizinikiwi_client::Chain;
use pezsp_trie::StorageProof;
use relay_bizinikiwi_client::Chain;
/// Converts proof to `RawStorageProof` type.
pub fn to_raw_storage_proof<SourceChain: Chain>(
@@ -20,17 +20,17 @@ use crate::TaggedAccount;
use bp_relayers::{RewardsAccountOwner, RewardsAccountParams};
use codec::{Decode, EncodeLike};
use pezframe_system::AccountInfo;
use pez_messages_relay::Labeled;
use pezframe_system::AccountInfo;
use pezpallet_balances::AccountData;
use pezsp_core::storage::StorageData;
use pezsp_runtime::{FixedPointNumber, FixedU128};
use relay_bizinikiwi_client::{
metrics::{FixedU128OrOne, FloatStorageValue, FloatStorageValueMetric},
AccountIdOf, BalanceOf, Chain, ChainWithBalances, ChainWithMessages, ChainWithRewards, Client,
Error as BizinikiwiError, NonceOf,
};
use relay_utils::metrics::{MetricsParams, StandaloneMetric};
use pezsp_core::storage::StorageData;
use pezsp_runtime::{FixedPointNumber, FixedU128};
use std::{fmt::Debug, marker::PhantomData};
/// Add relay accounts balance metrics.
@@ -29,11 +29,15 @@ use async_std::sync::Arc;
use bp_messages::{
target_chain::FromBridgedChainMessagesProof, ChainWithMessages as _, MessageNonce,
};
use pezbp_runtime::{AccountIdOf, EncodedOrDecodedCall, HeaderIdOf, TransactionEra, WeightExtraOps};
use codec::{Codec, Encode, EncodeLike};
use pezframe_support::{dispatch::GetDispatchInfo, weights::Weight};
use pez_messages_relay::{message_lane::MessageLane, message_lane_loop::BatchTransaction, Labeled};
use pezbp_runtime::{
AccountIdOf, EncodedOrDecodedCall, HeaderIdOf, TransactionEra, WeightExtraOps,
};
use pezframe_support::{dispatch::GetDispatchInfo, weights::Weight};
use pezpallet_bridge_messages::{Call as BridgeMessagesCall, Config as BridgeMessagesConfig};
use pezsp_core::Pair;
use pezsp_runtime::traits::Zero;
use relay_bizinikiwi_client::{
transaction_stall_timeout, AccountKeyPairOf, BalanceOf, BlockNumberOf, CallOf, Chain,
ChainBase, ChainWithMessages, ChainWithTransactions, Client, Error as BizinikiwiError, HashOf,
@@ -43,8 +47,6 @@ use relay_utils::{
metrics::{GlobalMetrics, MetricsParams, StandaloneMetric},
STALL_TIMEOUT,
};
use pezsp_core::Pair;
use pezsp_runtime::traits::Zero;
use std::{fmt::Debug, marker::PhantomData, ops::RangeInclusive};
pub mod metrics;
@@ -291,8 +293,8 @@ where
.map_err(Into::into)
}
/// Deliver range of Bizinikiwi-to-Bizinikiwi messages. No checks are made to ensure that transaction
/// will succeed.
/// Deliver range of Bizinikiwi-to-Bizinikiwi messages. No checks are made to ensure that
/// transaction will succeed.
pub async fn relay_messages_range<P: BizinikiwiMessageLane>(
source_client: impl Client<P::SourceChain>,
target_client: impl Client<P::TargetChain>,
@@ -396,8 +398,10 @@ where
P: BizinikiwiMessageLane,
R: BridgeMessagesConfig<I, LaneId = P::LaneId>,
I: 'static,
R::BridgedChain:
pezbp_runtime::Chain<AccountId = AccountIdOf<P::SourceChain>, Hash = HashOf<P::SourceChain>>,
R::BridgedChain: pezbp_runtime::Chain<
AccountId = AccountIdOf<P::SourceChain>,
Hash = HashOf<P::SourceChain>,
>,
CallOf<P::TargetChain>: From<BridgeMessagesCall<R, I>> + GetDispatchInfo,
{
fn build_receive_messages_proof_call(
@@ -21,8 +21,8 @@
use crate::{
finality_base::best_synced_header_id,
messages::{
BatchProofTransaction, MessageLaneAdapter, ReceiveMessagesDeliveryProofCallBuilder,
BizinikiwiMessageLane,
BatchProofTransaction, BizinikiwiMessageLane, MessageLaneAdapter,
ReceiveMessagesDeliveryProofCallBuilder,
},
on_demand::OnDemandRelay,
proofs::to_raw_storage_proof,
@@ -37,9 +37,8 @@ use bp_messages::{
ChainWithMessages as _, InboundMessageDetails, MessageNonce, MessagePayload,
MessagesOperatingMode, OutboundMessageDetails,
};
use pezbp_runtime::{BasicOperatingMode, HeaderIdProvider, RangeInclusiveExt};
use codec::{Decode, Encode};
use pezframe_support::weights::Weight;
use num_traits::Zero;
use pez_messages_relay::{
message_lane::{MessageLane, SourceHeaderIdOf, TargetHeaderIdOf},
message_lane_loop::{
@@ -47,14 +46,15 @@ use pez_messages_relay::{
SourceClientState,
},
};
use num_traits::Zero;
use pezbp_runtime::{BasicOperatingMode, HeaderIdProvider, RangeInclusiveExt};
use pezframe_support::weights::Weight;
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, BalanceOf, Chain, ChainWithMessages, Client,
Error as BizinikiwiError, HashOf, HeaderIdOf, TransactionEra, TransactionTracker,
UnsignedTransaction,
};
use relay_utils::relay_loop::Client as RelayClient;
use pezsp_core::Pair;
use std::ops::RangeInclusive;
/// Intermediate message proof returned by the source Bizinikiwi node. Includes everything
@@ -24,8 +24,8 @@ use crate::{
ensure_messages_pallet_active, read_client_state_from_both_chains,
BizinikiwiMessagesProof,
},
BatchProofTransaction, MessageLaneAdapter, ReceiveMessagesProofCallBuilder,
BizinikiwiMessageLane,
BatchProofTransaction, BizinikiwiMessageLane, MessageLaneAdapter,
ReceiveMessagesProofCallBuilder,
},
on_demand::OnDemandRelay,
proofs::to_raw_storage_proof,
@@ -43,12 +43,12 @@ use pez_messages_relay::{
message_lane::{MessageLane, SourceHeaderIdOf, TargetHeaderIdOf},
message_lane_loop::{NoncesSubmitArtifacts, TargetClient, TargetClientState},
};
use pezsp_core::Pair;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, BalanceOf, CallOf, Chain, Client, Error as BizinikiwiError,
HashOf, TransactionEra, TransactionTracker, UnsignedTransaction,
};
use relay_utils::relay_loop::Client as RelayClient;
use pezsp_core::Pair;
use std::{collections::VecDeque, convert::TryFrom, ops::RangeInclusive};
/// Message receiving proof returned by the target Bizinikiwi node.
@@ -21,12 +21,14 @@ use crate::finality::SubmitFinalityProofCallBuilder;
use async_std::sync::{Arc, Mutex};
use async_trait::async_trait;
use bp_header_pez_chain::ConsensusLogReader;
use pezbp_runtime::HeaderIdProvider;
use futures::{select, FutureExt};
use num_traits::{One, Saturating, Zero};
use pezbp_runtime::HeaderIdProvider;
use pezsp_runtime::traits::Header;
use pez_finality_relay::{FinalitySyncParams, HeadersToRelay, TargetClient as FinalityTargetClient};
use pez_finality_relay::{
FinalitySyncParams, HeadersToRelay, TargetClient as FinalityTargetClient,
};
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, BlockNumberOf, CallOf, Chain, Client, Error as BizinikiwiError,
HeaderIdOf,
@@ -38,7 +40,7 @@ use relay_utils::{
use crate::{
finality::{
source::{RequiredHeaderNumberRef, BizinikiwiFinalitySource},
source::{BizinikiwiFinalitySource, RequiredHeaderNumberRef},
target::BizinikiwiFinalityTarget,
BizinikiwiFinalitySyncPipeline, RECENT_FINALITY_PROOFS_LIMIT,
},
@@ -212,7 +214,8 @@ async fn background_task<P: BizinikiwiFinalitySyncPipeline>(
required_header_number: RequiredHeaderNumberRef<P::SourceChain>,
metrics_params: Option<MetricsParams>,
) where
AccountIdOf<P::TargetChain>: From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
AccountIdOf<P::TargetChain>:
From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
{
let relay_task_name = on_demand_headers_relay_name::<P::SourceChain, P::TargetChain>();
let target_transactions_mortality = target_transaction_params.mortality;
@@ -493,7 +496,8 @@ async fn best_finalized_source_header_at_target<P, TargetClnt>(
where
P: BizinikiwiFinalitySyncPipeline,
TargetClnt: Client<P::TargetChain>,
AccountIdOf<P::TargetChain>: From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
AccountIdOf<P::TargetChain>:
From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
{
finality_target
.best_finalized_source_block_id()
@@ -20,8 +20,8 @@ use crate::{
messages::source::best_finalized_peer_header_at_self,
on_demand::OnDemandRelay,
teyrchains::{
source::TeyrchainsSource, target::TeyrchainsTarget, SubmitTeyrchainHeadsCallBuilder,
BizinikiwiTeyrchainsPipeline, TeyrchainsPipelineAdapter,
source::TeyrchainsSource, target::TeyrchainsTarget, BizinikiwiTeyrchainsPipeline,
SubmitTeyrchainHeadsCallBuilder, TeyrchainsPipelineAdapter,
},
TransactionParams,
};
@@ -32,10 +32,10 @@ use async_std::{
};
use async_trait::async_trait;
use bp_pezkuwi_core::teyrchains::{ParaHash, ParaId};
use pezbp_runtime::HeaderIdProvider;
use bp_teyrchains::{RelayBlockHash, RelayBlockHasher, RelayBlockNumber};
use futures::{select, FutureExt};
use num_traits::Zero;
use pezbp_runtime::HeaderIdProvider;
use relay_bizinikiwi_client::{
is_ancient_block, AccountIdOf, AccountKeyPairOf, BlockNumberOf, CallOf, Chain, Client,
Error as BizinikiwiError, HashOf, HeaderIdOf, TeyrchainBase,
@@ -247,7 +247,8 @@ async fn background_task<P: BizinikiwiTeyrchainsPipeline>(
P::SourceTeyrchain: Chain<Hash = ParaHash>,
P::SourceRelayChain:
Chain<BlockNumber = RelayBlockNumber, Hash = RelayBlockHash, Hasher = RelayBlockHasher>,
AccountIdOf<P::TargetChain>: From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
AccountIdOf<P::TargetChain>:
From<<AccountKeyPairOf<P::TargetChain> as pezsp_core::Pair>::Public>,
{
let relay_task_name = on_demand_teyrchains_relay_name::<P::SourceTeyrchain, P::TargetChain>();
let target_transactions_mortality = target_transaction_params.mortality;
@@ -23,9 +23,9 @@ use crate::{
use async_std::sync::{Arc, Mutex};
use async_trait::async_trait;
use bp_pezkuwi_core::teyrchains::{ParaHash, ParaHead, ParaHeadsProof, ParaId};
use pezbp_runtime::HeaderIdProvider;
use bp_teyrchains::teyrchain_head_storage_key_at_source;
use codec::Decode;
use pezbp_runtime::HeaderIdProvider;
use relay_bizinikiwi_client::{
is_ancient_block, Chain, Client, Error as BizinikiwiError, HeaderIdOf, HeaderOf, RelayChain,
TeyrchainBase,
@@ -18,7 +18,7 @@
use crate::{
teyrchains::{
SubmitTeyrchainHeadsCallBuilder, BizinikiwiTeyrchainsPipeline, TeyrchainsPipelineAdapter,
BizinikiwiTeyrchainsPipeline, SubmitTeyrchainHeadsCallBuilder, TeyrchainsPipelineAdapter,
},
TransactionParams,
};
@@ -28,20 +28,20 @@ use bp_pezkuwi_core::{
teyrchains::{ParaHash, ParaHeadsProof, ParaId},
BlockNumber as RelayBlockNumber,
};
use bp_teyrchains::{
ImportedParaHeadsKeyProvider, ParaInfo, ParaStoredHeaderData, ParasInfoKeyProvider,
};
use pezbp_runtime::{
Chain as ChainBase, HeaderId, HeaderIdProvider, StorageDoubleMapKeyProvider,
StorageMapKeyProvider,
};
use bp_teyrchains::{
ImportedParaHeadsKeyProvider, ParaInfo, ParaStoredHeaderData, ParasInfoKeyProvider,
};
use pezsp_core::Pair;
use pezsp_runtime::traits::Header;
use relay_bizinikiwi_client::{
AccountIdOf, AccountKeyPairOf, BlockNumberOf, Chain, Client, Error as BizinikiwiError,
HeaderIdOf, RelayChain, TeyrchainBase, TransactionEra, TransactionTracker, UnsignedTransaction,
};
use relay_utils::relay_loop::Client as RelayClient;
use pezsp_core::Pair;
use pezsp_runtime::traits::Header;
use teyrchains_relay::teyrchains_loop::TargetClient;
/// Bizinikiwi client as teyrchain heads source.
+2 -2
View File
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with Parity Bridges Common. If not, see <http://www.gnu.org/licenses/>.
//! Relaying [`pezpallet-bridge-messages`](../pezpallet_bridge_messages/index.html) application specific
//! data. Message lane allows sending arbitrary messages between bridged chains. This
//! Relaying [`pezpallet-bridge-messages`](../pezpallet_bridge_messages/index.html) application
//! specific data. Message lane allows sending arbitrary messages between bridged chains. This
//! module provides entrypoint that starts reading messages from given message lane
//! of source chain and submits proof-of-message-at-source-chain transactions to the
//! target chain. Additionally, proofs-of-messages-delivery are sent back from the
@@ -21,8 +21,8 @@
use crate::metrics::Labeled;
use num_traits::{SaturatingAdd, Zero};
use relay_utils::{BlockNumberBase, HeaderId};
use pezsp_arithmetic::traits::AtLeast32BitUnsigned;
use relay_utils::{BlockNumberBase, HeaderId};
use std::{fmt::Debug, ops::Sub};
/// One-way message lane.
@@ -688,9 +688,9 @@ mod tests {
use super::*;
use async_std::sync::{Arc, Mutex};
use futures::{SinkExt, StreamExt};
use pezsp_core::H256;
use relay_bizinikiwi_client::test_chain::{TestChain, TestTeyrchain};
use relay_utils::{HeaderId, MaybeConnectionError};
use pezsp_core::H256;
use std::collections::HashMap;
const PARA_10_HASH: ParaHash = H256([10u8; 32]);
+2 -2
View File
@@ -16,10 +16,10 @@
//! Utilities used by different relays.
pub use pezbp_runtime::HeaderId;
pub use error::Error;
pub use relay_loop::{relay_loop, relay_metrics};
pub use pezbp_runtime::HeaderId;
pub use pezsp_runtime::traits::{UniqueSaturatedFrom, UniqueSaturatedInto};
pub use relay_loop::{relay_loop, relay_metrics};
use std::fmt::Debug;
use async_trait::async_trait;