mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 15:07:59 +00:00
This PR reverts #2280 which introduced `TransactionExtension` to replace `SignedExtension`. As a result of the discussion [here](https://github.com/paritytech/polkadot-sdk/pull/3623#issuecomment-1986789700), the changes will be reverted for now with plans to reintroduce the concept in the future. --------- Signed-off-by: georgepisaltu <george.pisaltu@parity.io>
This commit is contained in:
@@ -560,7 +560,6 @@ impl pallet_transaction_payment::Config for Runtime {
|
||||
MinimumMultiplier,
|
||||
MaximumMultiplier,
|
||||
>;
|
||||
type WeightInfo = pallet_transaction_payment::weights::SubstrateWeight<Runtime>;
|
||||
}
|
||||
|
||||
impl pallet_asset_tx_payment::Config for Runtime {
|
||||
@@ -570,9 +569,6 @@ impl pallet_asset_tx_payment::Config for Runtime {
|
||||
pallet_assets::BalanceToAssetBalance<Balances, Runtime, ConvertInto, Instance1>,
|
||||
CreditToBlockAuthor,
|
||||
>;
|
||||
type WeightInfo = pallet_asset_tx_payment::weights::SubstrateWeight<Runtime>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
type BenchmarkHelper = AssetTxHelper;
|
||||
}
|
||||
|
||||
impl pallet_asset_conversion_tx_payment::Config for Runtime {
|
||||
@@ -583,9 +579,6 @@ impl pallet_asset_conversion_tx_payment::Config for Runtime {
|
||||
AssetConversion,
|
||||
Native,
|
||||
>;
|
||||
type WeightInfo = pallet_asset_conversion_tx_payment::weights::SubstrateWeight<Runtime>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
type BenchmarkHelper = AssetConversionTxHelper;
|
||||
}
|
||||
|
||||
impl pallet_skip_feeless_payment::Config for Runtime {
|
||||
@@ -1416,33 +1409,29 @@ where
|
||||
// so the actual block number is `n`.
|
||||
.saturating_sub(1);
|
||||
let era = Era::mortal(period, current_block);
|
||||
let tx_ext: TxExtension = (
|
||||
(
|
||||
frame_system::CheckNonZeroSender::<Runtime>::new(),
|
||||
frame_system::CheckSpecVersion::<Runtime>::new(),
|
||||
frame_system::CheckTxVersion::<Runtime>::new(),
|
||||
frame_system::CheckGenesis::<Runtime>::new(),
|
||||
frame_system::CheckEra::<Runtime>::from(era),
|
||||
frame_system::CheckNonce::<Runtime>::from(nonce),
|
||||
frame_system::CheckWeight::<Runtime>::new(),
|
||||
)
|
||||
.into(),
|
||||
let extra = (
|
||||
frame_system::CheckNonZeroSender::<Runtime>::new(),
|
||||
frame_system::CheckSpecVersion::<Runtime>::new(),
|
||||
frame_system::CheckTxVersion::<Runtime>::new(),
|
||||
frame_system::CheckGenesis::<Runtime>::new(),
|
||||
frame_system::CheckEra::<Runtime>::from(era),
|
||||
frame_system::CheckNonce::<Runtime>::from(nonce),
|
||||
frame_system::CheckWeight::<Runtime>::new(),
|
||||
pallet_skip_feeless_payment::SkipCheckIfFeeless::from(
|
||||
pallet_asset_conversion_tx_payment::ChargeAssetTxPayment::<Runtime>::from(
|
||||
tip, None,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
let raw_payload = SignedPayload::new(call, tx_ext)
|
||||
let raw_payload = SignedPayload::new(call, extra)
|
||||
.map_err(|e| {
|
||||
log::warn!("Unable to create signed payload: {:?}", e);
|
||||
})
|
||||
.ok()?;
|
||||
let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?;
|
||||
let address = Indices::unlookup(account);
|
||||
let (call, tx_ext, _) = raw_payload.deconstruct();
|
||||
Some((call, (address, signature, tx_ext)))
|
||||
let (call, extra, _) = raw_payload.deconstruct();
|
||||
Some((call, (address, signature, extra)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2461,21 +2450,19 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
|
||||
pub type SignedBlock = generic::SignedBlock<Block>;
|
||||
/// BlockId type as expected by this runtime.
|
||||
pub type BlockId = generic::BlockId<Block>;
|
||||
/// The TransactionExtension to the basic transaction logic.
|
||||
/// The SignedExtension to the basic transaction logic.
|
||||
///
|
||||
/// When you change this, you **MUST** modify [`sign`] in `bin/node/testing/src/keyring.rs`!
|
||||
///
|
||||
/// [`sign`]: <../../testing/src/keyring.rs.html>
|
||||
pub type TxExtension = (
|
||||
(
|
||||
frame_system::CheckNonZeroSender<Runtime>,
|
||||
frame_system::CheckSpecVersion<Runtime>,
|
||||
frame_system::CheckTxVersion<Runtime>,
|
||||
frame_system::CheckGenesis<Runtime>,
|
||||
frame_system::CheckEra<Runtime>,
|
||||
frame_system::CheckNonce<Runtime>,
|
||||
frame_system::CheckWeight<Runtime>,
|
||||
),
|
||||
pub type SignedExtra = (
|
||||
frame_system::CheckNonZeroSender<Runtime>,
|
||||
frame_system::CheckSpecVersion<Runtime>,
|
||||
frame_system::CheckTxVersion<Runtime>,
|
||||
frame_system::CheckGenesis<Runtime>,
|
||||
frame_system::CheckEra<Runtime>,
|
||||
frame_system::CheckNonce<Runtime>,
|
||||
frame_system::CheckWeight<Runtime>,
|
||||
pallet_skip_feeless_payment::SkipCheckIfFeeless<
|
||||
Runtime,
|
||||
pallet_asset_conversion_tx_payment::ChargeAssetTxPayment<Runtime>,
|
||||
@@ -2484,11 +2471,11 @@ pub type TxExtension = (
|
||||
|
||||
/// Unchecked extrinsic type as expected by this runtime.
|
||||
pub type UncheckedExtrinsic =
|
||||
generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
|
||||
generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
|
||||
/// The payload being signed in transactions.
|
||||
pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
|
||||
pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
|
||||
/// Extrinsic type that has already been checked.
|
||||
pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, RuntimeCall, TxExtension>;
|
||||
pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, RuntimeCall, SignedExtra>;
|
||||
/// Executive: handles dispatch to the various modules.
|
||||
pub type Executive = frame_executive::Executive<
|
||||
Runtime,
|
||||
@@ -2543,106 +2530,6 @@ mod mmr {
|
||||
pub type Hashing = <Runtime as pallet_mmr::Config>::Hashing;
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
pub struct AssetConversionTxHelper;
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
impl pallet_asset_conversion_tx_payment::BenchmarkHelperTrait<AccountId, u32, u32>
|
||||
for AssetConversionTxHelper
|
||||
{
|
||||
fn create_asset_id_parameter(seed: u32) -> (u32, u32) {
|
||||
(seed, seed)
|
||||
}
|
||||
|
||||
fn setup_balances_and_pool(asset_id: u32, account: AccountId) {
|
||||
use frame_support::{assert_ok, traits::fungibles::Mutate};
|
||||
assert_ok!(Assets::force_create(
|
||||
RuntimeOrigin::root(),
|
||||
asset_id.into(),
|
||||
account.clone().into(), /* owner */
|
||||
true, /* is_sufficient */
|
||||
1,
|
||||
));
|
||||
|
||||
let lp_provider = account.clone();
|
||||
let _ = Balances::deposit_creating(&lp_provider, ((u64::MAX as u128) * 100).into());
|
||||
assert_ok!(Assets::mint_into(
|
||||
asset_id.into(),
|
||||
&lp_provider,
|
||||
((u64::MAX as u128) * 100).into()
|
||||
));
|
||||
|
||||
let token_native = Box::new(NativeOrWithId::Native);
|
||||
let token_second = Box::new(NativeOrWithId::WithId(asset_id));
|
||||
|
||||
assert_ok!(AssetConversion::create_pool(
|
||||
RuntimeOrigin::signed(lp_provider.clone()),
|
||||
token_native.clone(),
|
||||
token_second.clone()
|
||||
));
|
||||
|
||||
assert_ok!(AssetConversion::add_liquidity(
|
||||
RuntimeOrigin::signed(lp_provider.clone()),
|
||||
token_native,
|
||||
token_second,
|
||||
u64::MAX.into(), // 1 desired
|
||||
u64::MAX.into(), // 2 desired
|
||||
1, // 1 min
|
||||
1, // 2 min
|
||||
lp_provider,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
pub struct AssetTxHelper;
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
impl pallet_asset_tx_payment::BenchmarkHelperTrait<AccountId, u32, u32> for AssetTxHelper {
|
||||
fn create_asset_id_parameter(seed: u32) -> (u32, u32) {
|
||||
(seed, seed)
|
||||
}
|
||||
|
||||
fn setup_balances_and_pool(asset_id: u32, account: AccountId) {
|
||||
use frame_support::{assert_ok, traits::fungibles::Mutate};
|
||||
assert_ok!(Assets::force_create(
|
||||
RuntimeOrigin::root(),
|
||||
asset_id.into(),
|
||||
account.clone().into(), /* owner */
|
||||
true, /* is_sufficient */
|
||||
1,
|
||||
));
|
||||
|
||||
let lp_provider = account.clone();
|
||||
let _ = Balances::deposit_creating(&lp_provider, ((u64::MAX as u128) * 100).into());
|
||||
assert_ok!(Assets::mint_into(
|
||||
asset_id.into(),
|
||||
&lp_provider,
|
||||
((u64::MAX as u128) * 100).into()
|
||||
));
|
||||
|
||||
let token_native = Box::new(NativeOrWithId::Native);
|
||||
let token_second = Box::new(NativeOrWithId::WithId(asset_id));
|
||||
|
||||
assert_ok!(AssetConversion::create_pool(
|
||||
RuntimeOrigin::signed(lp_provider.clone()),
|
||||
token_native.clone(),
|
||||
token_second.clone()
|
||||
));
|
||||
|
||||
assert_ok!(AssetConversion::add_liquidity(
|
||||
RuntimeOrigin::signed(lp_provider.clone()),
|
||||
token_native,
|
||||
token_second,
|
||||
u64::MAX.into(), // 1 desired
|
||||
u64::MAX.into(), // 2 desired
|
||||
1, // 1 min
|
||||
1, // 2 min
|
||||
lp_provider,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
mod benches {
|
||||
frame_benchmarking::define_benchmarks!(
|
||||
@@ -2663,9 +2550,6 @@ mod benches {
|
||||
[tasks_example, TasksExample]
|
||||
[pallet_democracy, Democracy]
|
||||
[pallet_asset_conversion, AssetConversion]
|
||||
[pallet_asset_conversion_tx_payment, AssetConversionTxPayment]
|
||||
[pallet_asset_tx_payment, AssetTxPayment]
|
||||
[pallet_transaction_payment, TransactionPayment]
|
||||
[pallet_election_provider_multi_phase, ElectionProviderMultiPhase]
|
||||
[pallet_election_provider_support_benchmarking, EPSBench::<Runtime>]
|
||||
[pallet_elections_phragmen, Elections]
|
||||
@@ -2699,7 +2583,6 @@ mod benches {
|
||||
[pallet_state_trie_migration, StateTrieMigration]
|
||||
[pallet_sudo, Sudo]
|
||||
[frame_system, SystemBench::<Runtime>]
|
||||
[frame_system_extensions, SystemExtensionsBench::<Runtime>]
|
||||
[pallet_timestamp, Timestamp]
|
||||
[pallet_tips, Tips]
|
||||
[pallet_transaction_storage, TransactionStorage]
|
||||
@@ -3247,7 +3130,6 @@ impl_runtime_apis! {
|
||||
use pallet_offences_benchmarking::Pallet as OffencesBench;
|
||||
use pallet_election_provider_support_benchmarking::Pallet as EPSBench;
|
||||
use frame_system_benchmarking::Pallet as SystemBench;
|
||||
use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
|
||||
use baseline::Pallet as BaselineBench;
|
||||
use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
|
||||
|
||||
@@ -3272,7 +3154,6 @@ impl_runtime_apis! {
|
||||
use pallet_offences_benchmarking::Pallet as OffencesBench;
|
||||
use pallet_election_provider_support_benchmarking::Pallet as EPSBench;
|
||||
use frame_system_benchmarking::Pallet as SystemBench;
|
||||
use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
|
||||
use baseline::Pallet as BaselineBench;
|
||||
use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user