mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 12:51:02 +00:00
Use same fmt and clippy configs as in Polkadot (#3004)
* Copy rustfmt.toml from Polkadot master Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Format with new config Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add Polkadot clippy config Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update Cargo.lock Looks like https://github.com/paritytech/polkadot/pull/7611 did not correctly update the lockfile. Maybe a different Rust Version?! Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> --------- Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
committed by
GitHub
parent
61480a1881
commit
6c79b58567
@@ -112,8 +112,10 @@ pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConverte
|
||||
// Ignore `TrustBackedAssets` explicitly
|
||||
StartsWith<TrustBackedAssetsPalletLocation>,
|
||||
// Ignore assets that start explicitly with our `GlobalConsensus(NetworkId)`, means:
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1, X*(Parachain(xyz), ..)}`
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't be accepted here
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1,
|
||||
// X*(Parachain(xyz), ..)}`
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't
|
||||
// be accepted here
|
||||
StartsWithExplicitGlobalConsensus<UniversalLocationNetworkId>,
|
||||
),
|
||||
Balance,
|
||||
@@ -355,7 +357,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
// Allow XCMs with some computed origins to pass through.
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
@@ -455,7 +458,8 @@ impl pallet_xcm::Config for Runtime {
|
||||
type XcmRouter = XcmRouter;
|
||||
// We support local origins dispatching XCM executions in principle...
|
||||
type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are
|
||||
// allowed.
|
||||
type XcmExecuteFilter = Nothing;
|
||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||
type XcmTeleportFilter = Everything;
|
||||
|
||||
@@ -183,7 +183,8 @@ fn test_asset_xcm_trader_with_refund() {
|
||||
assert_ok!(trader.buy_weight(bought, asset.clone().into(), &ctx));
|
||||
|
||||
// Make sure again buy_weight does return an error
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader` tuple chain, which cannot be called twice
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader`
|
||||
// tuple chain, which cannot be called twice
|
||||
assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive);
|
||||
|
||||
// We actually use half of the weight
|
||||
|
||||
@@ -113,8 +113,10 @@ pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConverte
|
||||
// Ignore `TrustBackedAssets` explicitly
|
||||
StartsWith<TrustBackedAssetsPalletLocation>,
|
||||
// Ignore assets that start explicitly with our `GlobalConsensus(NetworkId)`, means:
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1, X*(Parachain(xyz), ..)}`
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't be accepted here
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1,
|
||||
// X*(Parachain(xyz), ..)}`
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` won't
|
||||
// be accepted here
|
||||
StartsWithExplicitGlobalConsensus<UniversalLocationNetworkId>,
|
||||
),
|
||||
Balance,
|
||||
@@ -466,7 +468,8 @@ impl pallet_xcm::Config for Runtime {
|
||||
type XcmRouter = XcmRouter;
|
||||
// We support local origins dispatching XCM executions in principle...
|
||||
type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are
|
||||
// allowed.
|
||||
type XcmExecuteFilter = Nothing;
|
||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||
type XcmTeleportFilter = Everything;
|
||||
|
||||
@@ -190,7 +190,8 @@ fn test_asset_xcm_trader_with_refund() {
|
||||
assert_ok!(trader.buy_weight(bought, asset.clone().into(), &ctx));
|
||||
|
||||
// Make sure again buy_weight does return an error
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader` tuple chain, which cannot be called twice
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader`
|
||||
// tuple chain, which cannot be called twice
|
||||
assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive);
|
||||
|
||||
// We actually use half of the weight
|
||||
|
||||
@@ -1392,8 +1392,9 @@ pub mod migrations {
|
||||
use sp_runtime::{traits::StaticLookup, Saturating};
|
||||
use xcm::latest::prelude::*;
|
||||
|
||||
/// Temporary migration because of bug with native asset, it can be removed once applied on `AssetHubWestend`.
|
||||
/// Migrates pools with `MultiLocation { parents: 0, interior: Here }` to `MultiLocation { parents: 1, interior: Here }`
|
||||
/// Temporary migration because of bug with native asset, it can be removed once applied on
|
||||
/// `AssetHubWestend`. Migrates pools with `MultiLocation { parents: 0, interior: Here }` to
|
||||
/// `MultiLocation { parents: 1, interior: Here }`
|
||||
pub struct NativeAssetParents0ToParents1Migration<T>(sp_std::marker::PhantomData<T>);
|
||||
impl<
|
||||
T: pallet_asset_conversion::Config<
|
||||
|
||||
@@ -118,8 +118,10 @@ pub type ForeignAssetsConvertedConcreteId = assets_common::ForeignAssetsConverte
|
||||
// Ignore `TrustBackedAssets` explicitly
|
||||
StartsWith<TrustBackedAssetsPalletLocation>,
|
||||
// Ignore asset which starts explicitly with our `GlobalConsensus(NetworkId)`, means:
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1, X*(Parachain(xyz), ..)}
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` wont be accepted here
|
||||
// - foreign assets from our consensus should be: `MultiLocation {parents: 1,
|
||||
// X*(Parachain(xyz), ..)}
|
||||
// - foreign assets outside our consensus with the same `GlobalConsensus(NetworkId)` wont
|
||||
// be accepted here
|
||||
StartsWithExplicitGlobalConsensus<UniversalLocationNetworkId>,
|
||||
),
|
||||
Balance,
|
||||
@@ -417,7 +419,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
// Allow XCMs with some computed origins to pass through.
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
|
||||
@@ -193,7 +193,8 @@ fn test_asset_xcm_trader_with_refund() {
|
||||
assert_ok!(trader.buy_weight(bought, asset.clone().into(), &ctx));
|
||||
|
||||
// Make sure again buy_weight does return an error
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader` tuple chain, which cannot be called twice
|
||||
// This assert relies on the fact, that we use `TakeFirstAssetTrader` in `WeightTrader`
|
||||
// tuple chain, which cannot be called twice
|
||||
assert_noop!(trader.buy_weight(bought, asset.into(), &ctx), XcmError::TooExpensive);
|
||||
|
||||
// We actually use half of the weight
|
||||
|
||||
@@ -55,7 +55,8 @@ pub type MultiLocationConvertedConcreteId<MultiLocationFilter, Balance> =
|
||||
JustTry,
|
||||
>;
|
||||
|
||||
/// [`MatchedConvertedConcreteId`] converter dedicated for storing `ForeignAssets` with `AssetId` as `MultiLocation`.
|
||||
/// [`MatchedConvertedConcreteId`] converter dedicated for storing `ForeignAssets` with `AssetId` as
|
||||
/// `MultiLocation`.
|
||||
///
|
||||
/// Excludes by default:
|
||||
/// - parent as relay chain
|
||||
@@ -68,7 +69,8 @@ pub type ForeignAssetsConvertedConcreteId<AdditionalMultiLocationExclusionFilter
|
||||
// Excludes relay/parent chain currency
|
||||
Equals<ParentLocation>,
|
||||
// Here we rely on fact that something like this works:
|
||||
// assert!(MultiLocation::new(1, X1(Parachain(100))).starts_with(&MultiLocation::parent()));
|
||||
// assert!(MultiLocation::new(1,
|
||||
// X1(Parachain(100))).starts_with(&MultiLocation::parent()));
|
||||
// assert!(X1(Parachain(100)).starts_with(&Here));
|
||||
StartsWith<LocalMultiLocationPattern>,
|
||||
// Here we can exclude more stuff or leave it as `()`
|
||||
|
||||
@@ -273,7 +273,8 @@ macro_rules! include_teleports_for_native_asset_works(
|
||||
}
|
||||
);
|
||||
|
||||
/// Test-case makes sure that `Runtime` can receive teleported assets from sibling parachain relay chain
|
||||
/// Test-case makes sure that `Runtime` can receive teleported assets from sibling parachain relay
|
||||
/// chain
|
||||
pub fn teleports_for_foreign_assets_works<
|
||||
Runtime,
|
||||
XcmConfig,
|
||||
@@ -595,7 +596,8 @@ macro_rules! include_teleports_for_foreign_assets_works(
|
||||
}
|
||||
);
|
||||
|
||||
/// Test-case makes sure that `Runtime`'s `xcm::AssetTransactor` can handle native relay chain currency
|
||||
/// Test-case makes sure that `Runtime`'s `xcm::AssetTransactor` can handle native relay chain
|
||||
/// currency
|
||||
pub fn asset_transactor_transfer_with_local_consensus_currency_works<Runtime, XcmConfig>(
|
||||
collator_session_keys: CollatorSessionKeys<Runtime>,
|
||||
source_account: AccountIdOf<Runtime>,
|
||||
@@ -707,7 +709,8 @@ macro_rules! include_asset_transactor_transfer_with_local_consensus_currency_wor
|
||||
}
|
||||
);
|
||||
|
||||
///Test-case makes sure that `Runtime`'s `xcm::AssetTransactor` can handle native relay chain currency
|
||||
///Test-case makes sure that `Runtime`'s `xcm::AssetTransactor` can handle native relay chain
|
||||
/// currency
|
||||
pub fn asset_transactor_transfer_with_pallet_assets_instance_works<
|
||||
Runtime,
|
||||
XcmConfig,
|
||||
@@ -827,7 +830,8 @@ pub fn asset_transactor_transfer_with_pallet_assets_instance_works<
|
||||
);
|
||||
additional_checks_before();
|
||||
|
||||
// transfer_asset (deposit/withdraw) ALICE -> CHARLIE (not ok - Charlie does not have ExistentialDeposit)
|
||||
// transfer_asset (deposit/withdraw) ALICE -> CHARLIE (not ok - Charlie does not have
|
||||
// ExistentialDeposit)
|
||||
assert_noop!(
|
||||
RuntimeHelper::<XcmConfig>::do_transfer(
|
||||
MultiLocation {
|
||||
@@ -1103,7 +1107,8 @@ pub fn create_and_manage_foreign_assets_for_local_consensus_parachain_assets_wor
|
||||
freezer: bob_account.clone().into(),
|
||||
});
|
||||
|
||||
// lets simulate this was triggered by relay chain from local consensus sibling parachain
|
||||
// lets simulate this was triggered by relay chain from local consensus sibling
|
||||
// parachain
|
||||
let xcm = Xcm(vec![
|
||||
WithdrawAsset(buy_execution_fee.clone().into()),
|
||||
BuyExecution { fees: buy_execution_fee.clone(), weight_limit: Unlimited },
|
||||
@@ -1206,7 +1211,8 @@ pub fn create_and_manage_foreign_assets_for_local_consensus_parachain_assets_wor
|
||||
pallet_assets::Error::<Runtime, ForeignAssetsPalletInstance>::NoPermission
|
||||
);
|
||||
|
||||
// lets try create asset for different parachain(3333) (foreign_creator(2222) can create just his assets)
|
||||
// lets try create asset for different parachain(3333) (foreign_creator(2222) can create
|
||||
// just his assets)
|
||||
let foreign_asset_id_multilocation =
|
||||
MultiLocation { parents: 1, interior: X2(Parachain(3333), GeneralIndex(1234567)) };
|
||||
let asset_id = AssetIdConverter::convert(&foreign_asset_id_multilocation).unwrap();
|
||||
|
||||
@@ -163,7 +163,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
AllowKnownQueryResponses<PolkadotXcm>,
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
|
||||
@@ -166,9 +166,11 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
AllowKnownQueryResponses<PolkadotXcm>,
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent, its pluralities (i.e. governance bodies), and the Fellows plurality get free execution.
|
||||
// Parent, its pluralities (i.e. governance bodies), and the Fellows plurality
|
||||
// get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<(ParentOrParentsPlurality, FellowsPlurality)>,
|
||||
// Subscriptions for version tracking are OK.
|
||||
AllowSubscriptionsFrom<ParentOrSiblings>,
|
||||
|
||||
@@ -207,7 +207,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
AllowKnownQueryResponses<PolkadotXcm>,
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
@@ -230,8 +231,8 @@ impl xcm_executor::Config for XcmConfig {
|
||||
type XcmSender = XcmRouter;
|
||||
type AssetTransactor = CurrencyTransactor;
|
||||
type OriginConverter = XcmOriginToTransactDispatchOrigin;
|
||||
// BridgeHub does not recognize a reserve location for any asset. Users must teleport Native token
|
||||
// where allowed (e.g. with the Relay Chain).
|
||||
// BridgeHub does not recognize a reserve location for any asset. Users must teleport Native
|
||||
// token where allowed (e.g. with the Relay Chain).
|
||||
type IsReserve = ();
|
||||
/// Only allow teleportation of NativeToken of relay chain.
|
||||
type IsTeleporter = ConcreteNativeAssetFrom<RelayLocation>;
|
||||
@@ -317,7 +318,8 @@ impl cumulus_pallet_xcm::Config for Runtime {
|
||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||
}
|
||||
|
||||
/// Hacky switch implementation, because we have just one runtime for Rococo and Wococo BridgeHub, so it means we have just one XcmConfig
|
||||
/// Hacky switch implementation, because we have just one runtime for Rococo and Wococo BridgeHub,
|
||||
/// so it means we have just one XcmConfig
|
||||
pub struct BridgeHubRococoOrBridgeHubWococoSwitchExporter;
|
||||
impl ExportXcm for BridgeHubRococoOrBridgeHubWococoSwitchExporter {
|
||||
type Ticket = (NetworkId, (sp_std::prelude::Vec<u8>, XcmHash));
|
||||
|
||||
@@ -243,7 +243,8 @@ pub fn message_dispatch_routing_works<
|
||||
HrmpChannelOpener: frame_support::inherent::ProvideInherent<
|
||||
Call = cumulus_pallet_parachain_system::Call<Runtime>,
|
||||
>,
|
||||
// MessageDispatcher: MessageDispatch<AccountIdOf<Runtime>, DispatchLevelResult = XcmBlobMessageDispatchResult, DispatchPayload = XcmAsPlainPayload>,
|
||||
// MessageDispatcher: MessageDispatch<AccountIdOf<Runtime>, DispatchLevelResult =
|
||||
// XcmBlobMessageDispatchResult, DispatchPayload = XcmAsPlainPayload>,
|
||||
RuntimeNetwork: Get<NetworkId>,
|
||||
BridgedNetwork: Get<NetworkId>,
|
||||
{
|
||||
@@ -839,7 +840,8 @@ pub mod test_data {
|
||||
)
|
||||
}
|
||||
|
||||
/// Helper that creates InitializationData mock data, that can be used to initialize bridge GRANDPA pallet
|
||||
/// Helper that creates InitializationData mock data, that can be used to initialize bridge
|
||||
/// GRANDPA pallet
|
||||
pub fn initialization_data<
|
||||
Runtime: pallet_bridge_grandpa::Config<GrandpaPalletInstance>,
|
||||
GrandpaPalletInstance: 'static,
|
||||
|
||||
+20
-20
@@ -171,43 +171,43 @@ pub mod tests {
|
||||
fn check_fellowship_addresses() {
|
||||
let fellowship_addresses = FellowshipAddresses::get();
|
||||
let kusama_fellowship_ss58: [(Rank, _); 47] = [
|
||||
(6, "16SDAKg9N6kKAbhgDyxBXdHEwpwHUHs2CNEiLNGeZV55qHna"), // proof https://kusama.subscan.io/extrinsic/16832707-4
|
||||
(6, "12MrP337azmkTdfCUKe5XLnSQrbgEKqqfZ4PQC7CZTJKAWR3"), // proof https://kusama.subscan.io/extrinsic/16967809-2
|
||||
(6, "16SDAKg9N6kKAbhgDyxBXdHEwpwHUHs2CNEiLNGeZV55qHna"), /* proof https://kusama.subscan.io/extrinsic/16832707-4 */
|
||||
(6, "12MrP337azmkTdfCUKe5XLnSQrbgEKqqfZ4PQC7CZTJKAWR3"), /* proof https://kusama.subscan.io/extrinsic/16967809-2 */
|
||||
(6, "FFFF3gBSSDFSvK2HBq4qgLH75DHqXWPHeCnR1BSksAMacBs"),
|
||||
(5, "G7YVCdxZb8JLpAm9WMnJdNuojNT84AzU62zmvx5P1FMNtg2"),
|
||||
(5, "15G1iXDLgFyfnJ51FKq1ts44TduMyUtekvzQi9my4hgYt2hs"), // proof https://kusama.subscan.io/extrinsic/16917610-2
|
||||
(5, "15G1iXDLgFyfnJ51FKq1ts44TduMyUtekvzQi9my4hgYt2hs"), /* proof https://kusama.subscan.io/extrinsic/16917610-2 */
|
||||
(5, "Dcm1BqR4N7nHuV43TXdET7pNibt1Nzm42FggPHpxKRven53"),
|
||||
(5, "1363HWTPzDrzAQ6ChFiMU6mP4b6jmQid2ae55JQcKtZnpLGv"), // proof https://kusama.subscan.io/extrinsic/16961180-2
|
||||
(5, "1363HWTPzDrzAQ6ChFiMU6mP4b6jmQid2ae55JQcKtZnpLGv"), /* proof https://kusama.subscan.io/extrinsic/16961180-2 */
|
||||
(4, "EGVQCe73TpFyAZx5uKfE1222XfkT3BSKozjgcqzLBnc5eYo"),
|
||||
(4, "1eTPAR2TuqLyidmPT9rMmuycHVm9s9czu78sePqg2KHMDrE"), // proof https://kusama.subscan.io/extrinsic/16921712-3
|
||||
(4, "14DsLzVyTUTDMm2eP3czwPbH53KgqnQRp3CJJZS9GR7yxGDP"), // proof https://kusama.subscan.io/extrinsic/16917519-2
|
||||
(3, "13aYUFHB3umoPoxBEAHSv451iR3RpsNi3t5yBZjX2trCtTp6"), // proof https://kusama.subscan.io/extrinsic/16917832-3
|
||||
(4, "1eTPAR2TuqLyidmPT9rMmuycHVm9s9czu78sePqg2KHMDrE"), /* proof https://kusama.subscan.io/extrinsic/16921712-3 */
|
||||
(4, "14DsLzVyTUTDMm2eP3czwPbH53KgqnQRp3CJJZS9GR7yxGDP"), /* proof https://kusama.subscan.io/extrinsic/16917519-2 */
|
||||
(3, "13aYUFHB3umoPoxBEAHSv451iR3RpsNi3t5yBZjX2trCtTp6"), /* proof https://kusama.subscan.io/extrinsic/16917832-3 */
|
||||
(3, "H25aCspunTUqAt4D1gC776vKZ8FX3MvQJ3Jde6qDXPQaFxk"),
|
||||
(3, "GtLQoW4ZqcjExMPq6qB22bYc6NaX1yMzRuGWpSRiHqnzRb9"),
|
||||
(3, "15db5ksZgmhWE9U8MDq4wLKUdFivLVBybztWV8nmaJvv3NU1"), // proof https://kusama.subscan.io/extrinsic/16876631-2
|
||||
(3, "15db5ksZgmhWE9U8MDq4wLKUdFivLVBybztWV8nmaJvv3NU1"), /* proof https://kusama.subscan.io/extrinsic/16876631-2 */
|
||||
(3, "HfFpz4QUxfbocHudf8UU7cMgHqkHpf855Me5X846PZAsAYE"),
|
||||
(3, "14ShUZUYUR35RBZW6uVVt1zXDxmSQddkeDdXf1JkMA6P721N"), // proof https://kusama.subscan.io/extrinsic/16918890-8
|
||||
(3, "12YzxR5TvGzfMVZNnhAJ5Hwi5zExpRWMKv2MuMwZTrddvgoi"), // proof https://kusama.subscan.io/extrinsic/16924324-3
|
||||
(3, "14ShUZUYUR35RBZW6uVVt1zXDxmSQddkeDdXf1JkMA6P721N"), /* proof https://kusama.subscan.io/extrinsic/16918890-8 */
|
||||
(3, "12YzxR5TvGzfMVZNnhAJ5Hwi5zExpRWMKv2MuMwZTrddvgoi"), /* proof https://kusama.subscan.io/extrinsic/16924324-3 */
|
||||
(2, "Ddb9puChKMHq4gM6o47E551wAmaNeu6kHngX1jzNNqAw782"),
|
||||
(2, "15DCWHQknBjc5YPFoVj8Pn2KoqrqYywJJ95BYNYJ4Fj3NLqz"), // proof https://kusama.subscan.io/extrinsic/16834952-2
|
||||
(2, "14ajTQdrtCA8wZmC4PgD8Y1B2Gy8L4Z3oi2fodxq9FehcFrM"), // proof https://kusama.subscan.io/extrinsic/16944257-2
|
||||
(2, "15DCWHQknBjc5YPFoVj8Pn2KoqrqYywJJ95BYNYJ4Fj3NLqz"), /* proof https://kusama.subscan.io/extrinsic/16834952-2 */
|
||||
(2, "14ajTQdrtCA8wZmC4PgD8Y1B2Gy8L4Z3oi2fodxq9FehcFrM"), /* proof https://kusama.subscan.io/extrinsic/16944257-2 */
|
||||
(2, "HxhDbS3grLurk1dhDgPiuDaRowHY1xHCU8Vu8on3fdg85tx"),
|
||||
(2, "HTk3eccL7WBkiyxz1gBcqQRghsJigoDMD7mnQaz1UAbMpQV"),
|
||||
(2, "EcNWrSPSDcVBRymwr26kk4JVFg92PdoU5Xwp87W2FgFSt9c"),
|
||||
(2, "D8sM6vKjWaeKy2zCPYWGkLLbWdUtWQrXBTQqr4dSYnVQo21"),
|
||||
(1, "GfbnnEgRU94n9ed4RFZ6Z9dBAWs5obykigJSwXKU9hsT2uU"),
|
||||
(1, "HA5NtttvyZsxo4wGxGoJJSMaWtdEFZAuGUMFHVWD7fgenPv"),
|
||||
(1, "14mDeKZ7qp9hqBjjDg51c8BFrf9o69om8piSSRwj2fT5Yb1i"), // proof https://kusama.subscan.io/extrinsic/16919020-4
|
||||
(1, "16a357f5Sxab3V2ne4emGQvqJaCLeYpTMx3TCjnQhmJQ71DX"), // proof https://kusama.subscan.io/extrinsic/16836396-5
|
||||
(1, "14Ak9rrF6RKHHoLLRUYMnzcvvi1t8E1yAMa7tcmiwUfaqzYK"), // proof https://kusama.subscan.io/extrinsic/16921990-3
|
||||
(1, "14mDeKZ7qp9hqBjjDg51c8BFrf9o69om8piSSRwj2fT5Yb1i"), /* proof https://kusama.subscan.io/extrinsic/16919020-4 */
|
||||
(1, "16a357f5Sxab3V2ne4emGQvqJaCLeYpTMx3TCjnQhmJQ71DX"), /* proof https://kusama.subscan.io/extrinsic/16836396-5 */
|
||||
(1, "14Ak9rrF6RKHHoLLRUYMnzcvvi1t8E1yAMa7tcmiwUfaqzYK"), /* proof https://kusama.subscan.io/extrinsic/16921990-3 */
|
||||
(1, "FJq9JpA9P7EXbmfsN9YiewJaDbQyL6vQyksGtJvzfbn6zf8"),
|
||||
(1, "15oLanodWWweiZJSoDTEBtrX7oGfq6e8ct5y5E6fVRDPhUgj"), // proof https://kusama.subscan.io/extrinsic/16876423-7
|
||||
(1, "15oLanodWWweiZJSoDTEBtrX7oGfq6e8ct5y5E6fVRDPhUgj"), /* proof https://kusama.subscan.io/extrinsic/16876423-7 */
|
||||
(1, "EaBqDJJNsZmYdQ4xn1vomPJVNh7fjA6UztZeEjn7ZzdeT7V"),
|
||||
(1, "HTxCvXKVvUZ7PQq175kCRRLu7XkGfTfErrdNXr1ZuuwVZWv"),
|
||||
(1, "HZe91A6a1xqbKaw6ofx3GFepJjhVXHrwHEwn6YUDDFphpX9"),
|
||||
(1, "GRy2P3kBEzSHCbmDJfquku1cyUyhZaAqojRcNE4A4U3MnLd"),
|
||||
(1, "HYwiBo7Mcv7uUDg4MUoKm2fxzv4dMLAtmmNfzHV8qcQJpAE"),
|
||||
(1, "1ThiBx5DDxFhoD9GY6tz5Fp4Y7Xn1xfLmDddcoFQghDvvjg"), // proof https://kusama.subscan.io/extrinsic/16918130-2
|
||||
(1, "1ThiBx5DDxFhoD9GY6tz5Fp4Y7Xn1xfLmDddcoFQghDvvjg"), /* proof https://kusama.subscan.io/extrinsic/16918130-2 */
|
||||
(1, "DfqY6XQUSETTszBQ1juocTcG9iiDoXhvq1CoVadBSUqTGJS"),
|
||||
(1, "EnpgVWGGQVrFdSB2qeXRVdtccV6U5ZscNELBoERbkFD8Wi6"),
|
||||
(1, "H5BuqCmucJhUUuvjAzPazeVwVCtUSXVQdc5Dnx2q5zD7rVn"),
|
||||
@@ -215,9 +215,9 @@ pub mod tests {
|
||||
(1, "CzuUtvKhZNZBjyAXeYviaRXwrLhVrsupJ9PrWmdq7BJTjGR"),
|
||||
(1, "FCunn2Rx8JqfT5g6noUKKazph4jLDba5rUee7o3ZmJ362Ju"),
|
||||
(1, "HyPMjWRHCpJS7x2SZ2R6M2XG5ZiCiZag4U4r7gBHRsE5mTc"),
|
||||
(1, "1682A5hxfiS1Kn1jrUnMYv14T9EuEnsgnBbujGfYbeEbSK3w"), // proof https://kusama.subscan.io/extrinsic/16919077-2
|
||||
(1, "13xS6fK6MHjApLnjdX7TJYw1niZmiXasSN91bNtiXQjgEtNx"), // proof https://kusama.subscan.io/extrinsic/16918212-7
|
||||
(1, "15qE2YAQCs5Y962RHE7RzNjQxU6Pei21nhkkSM9Sojq1hHps"), // https://kusama.subscan.io/extrinsic/17352973-2
|
||||
(1, "1682A5hxfiS1Kn1jrUnMYv14T9EuEnsgnBbujGfYbeEbSK3w"), /* proof https://kusama.subscan.io/extrinsic/16919077-2 */
|
||||
(1, "13xS6fK6MHjApLnjdX7TJYw1niZmiXasSN91bNtiXQjgEtNx"), /* proof https://kusama.subscan.io/extrinsic/16918212-7 */
|
||||
(1, "15qE2YAQCs5Y962RHE7RzNjQxU6Pei21nhkkSM9Sojq1hHps"), /* https://kusama.subscan.io/extrinsic/17352973-2 */
|
||||
];
|
||||
|
||||
for (index, val) in kusama_fellowship_ss58.iter().enumerate() {
|
||||
|
||||
@@ -113,14 +113,16 @@ impl pallet_ranked_collective::Config<FellowshipCollectiveInstance> for Runtime
|
||||
// Promotions and the induction of new members are serviced by `FellowshipCore` pallet instance.
|
||||
type PromoteOrigin = frame_system::EnsureNever<pallet_ranked_collective::Rank>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
// The maximum value of `u16` set as a success value for the root to ensure the benchmarks will pass.
|
||||
// The maximum value of `u16` set as a success value for the root to ensure the benchmarks will
|
||||
// pass.
|
||||
type PromoteOrigin = EnsureRootWithSuccess<Self::AccountId, ConstU16<65535>>;
|
||||
|
||||
// Demotion is by any of:
|
||||
// - Root can demote arbitrarily.
|
||||
// - the FellowshipAdmin origin (i.e. token holder referendum);
|
||||
//
|
||||
// The maximum value of `u16` set as a success value for the root to ensure the benchmarks will pass.
|
||||
// The maximum value of `u16` set as a success value for the root to ensure the benchmarks will
|
||||
// pass.
|
||||
type DemoteOrigin = EitherOf<
|
||||
EnsureRootWithSuccess<Self::AccountId, ConstU16<65535>>,
|
||||
MapSuccess<
|
||||
|
||||
+2
-1
@@ -68,7 +68,8 @@ impl Convert<TrackId, Rank> for MinRankOfClass {
|
||||
regular @ 1..=9 => regular,
|
||||
// A retention vote; the track ID turns out to be 8 more than the minimum required rank.
|
||||
retention @ 11..=16 => retention - 8,
|
||||
// A promotion vote; the track ID turns out to be 18 more than the minimum required rank.
|
||||
// A promotion vote; the track ID turns out to be 18 more than the minimum required
|
||||
// rank.
|
||||
promotion @ 21..=26 => promotion - 18,
|
||||
_ => Rank::max_value(),
|
||||
}
|
||||
|
||||
@@ -35,7 +35,8 @@ type HashOf<T> = <T as frame_system::Config>::Hash;
|
||||
pub type BalanceOf<T> =
|
||||
<pallet_balances::Pallet<T> as Currency<<T as frame_system::Config>::AccountId>>::Balance;
|
||||
|
||||
/// Implements `OnUnbalanced::on_unbalanced` to teleport slashed assets to relay chain treasury account.
|
||||
/// Implements `OnUnbalanced::on_unbalanced` to teleport slashed assets to relay chain treasury
|
||||
/// account.
|
||||
pub struct ToParentTreasury<TreasuryAccount, PalletAccount, T>(
|
||||
PhantomData<(TreasuryAccount, PalletAccount, T)>,
|
||||
);
|
||||
@@ -187,8 +188,9 @@ pub mod benchmarks {
|
||||
}
|
||||
}
|
||||
|
||||
/// Type that wraps a type implementing the [`Pay`] trait to decorate its [`Pay::ensure_successful`]
|
||||
/// function with a provided implementation of the [`EnsureSuccessful`] trait.
|
||||
/// Type that wraps a type implementing the [`Pay`] trait to decorate its
|
||||
/// [`Pay::ensure_successful`] function with a provided implementation of the
|
||||
/// [`EnsureSuccessful`] trait.
|
||||
pub struct PayWithEnsure<O, E>(PhantomData<(O, E)>);
|
||||
impl<O, E> Pay for PayWithEnsure<O, E>
|
||||
where
|
||||
|
||||
@@ -20,15 +20,14 @@
|
||||
//!
|
||||
//! ### Governance
|
||||
//!
|
||||
//! As a common good parachain, Collectives defers its governance (namely, its `Root` origin), to its
|
||||
//! Relay Chain parent, Polkadot.
|
||||
//! As a common good parachain, Collectives defers its governance (namely, its `Root` origin), to
|
||||
//! its Relay Chain parent, Polkadot.
|
||||
//!
|
||||
//! ### Collator Selection
|
||||
//!
|
||||
//! Collectives uses `pallet-collator-selection`, a simple first-come-first-served registration
|
||||
//! system where collators can reserve a small bond to join the block producer set. There is no
|
||||
//! slashing. Collective members are generally expected to run collators.
|
||||
//!
|
||||
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
#![recursion_limit = "256"]
|
||||
|
||||
@@ -213,7 +213,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
// Allow XCMs with some computed origins to pass through.
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
|
||||
@@ -129,7 +129,8 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
// Allow XCMs with some computed origins to pass through.
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Parent and its pluralities (i.e. governance bodies) get free execution.
|
||||
AllowExplicitUnpaidExecutionFrom<ParentOrParentsPlurality>,
|
||||
@@ -196,7 +197,8 @@ impl pallet_xcm::Config for Runtime {
|
||||
type XcmRouter = XcmRouter;
|
||||
// We support local origins dispatching XCM executions in principle...
|
||||
type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
|
||||
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are
|
||||
// allowed.
|
||||
type XcmExecuteFilter = Nothing;
|
||||
type XcmExecutor = XcmExecutor<XcmConfig>;
|
||||
type XcmTeleportFilter = Everything;
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
//!
|
||||
//! One of the main uses of the penpal chain will be to be a benefactor of reserve asset transfers
|
||||
//! with Asset Hub as the reserve. At present no derivative tokens are minted on receipt of a
|
||||
//! `ReserveAssetTransferDeposited` message but that will but the intension will be to support this soon.
|
||||
//! `ReserveAssetTransferDeposited` message but that will but the intension will be to support this
|
||||
//! soon.
|
||||
use super::{
|
||||
AccountId, AllPalletsWithSystem, AssetId as AssetIdPalletAssets, Assets, Balance, Balances,
|
||||
ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin,
|
||||
@@ -159,9 +160,11 @@ pub type Barrier = TrailingSetTopicAsId<
|
||||
// Allow XCMs with some computed origins to pass through.
|
||||
WithComputedOrigin<
|
||||
(
|
||||
// If the message is one that immediately attemps to pay for execution, then allow it.
|
||||
// If the message is one that immediately attemps to pay for execution, then
|
||||
// allow it.
|
||||
AllowTopLevelPaidExecutionFrom<Everything>,
|
||||
// Common Good Assets parachain, parent and its exec plurality get free execution
|
||||
// Common Good Assets parachain, parent and its exec plurality get free
|
||||
// execution
|
||||
AllowExplicitUnpaidExecutionFrom<(
|
||||
CommonGoodAssetsParachain,
|
||||
ParentOrParentsExecutivePlurality,
|
||||
|
||||
Reference in New Issue
Block a user