From d6840df3e76c220169eb55e1ed5db8705348e12a Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Thu, 25 Nov 2021 13:22:12 +0000 Subject: [PATCH] Update substrate and hardcoded default `ChargeAssetTxPayment` extension (#330) * Update balances events * Update node_runtime.scale * Update default extra to include ChargeAssetTxPayment with extra field * Fmt --- src/extrinsic/extra.rs | 19 ++++++++++++++----- src/extrinsic/mod.rs | 2 +- tests/integration/frame/balances.rs | 16 ++++++++++------ tests/integration/node_runtime.scale | Bin 302446 -> 302766 bytes 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/extrinsic/extra.rs b/src/extrinsic/extra.rs index 6388c49517b5d..c4a75ec7bafc9 100644 --- a/src/extrinsic/extra.rs +++ b/src/extrinsic/extra.rs @@ -211,10 +211,16 @@ where /// in the queue. #[derive(Encode, Decode, Clone, Eq, PartialEq, Debug, TypeInfo)] #[scale_info(skip_type_params(T))] -pub struct ChargeTransactionPayment(#[codec(compact)] pub u128); +pub struct ChargeAssetTxPayment { + /// The tip for the block author. + #[codec(compact)] + pub tip: u128, + /// The asset with which to pay the tip. + pub asset_id: Option, +} -impl SignedExtension for ChargeTransactionPayment { - const IDENTIFIER: &'static str = "ChargeTransactionPayment"; +impl SignedExtension for ChargeAssetTxPayment { + const IDENTIFIER: &'static str = "ChargeAssetTxPayment"; type AccountId = u64; type Call = (); type AdditionalSigned = (); @@ -264,7 +270,7 @@ impl SignedExtra for DefaultExt CheckMortality, CheckNonce, CheckWeight, - ChargeTransactionPayment, + ChargeAssetTxPayment, ); type Parameters = (); @@ -291,7 +297,10 @@ impl SignedExtra for DefaultExt CheckMortality((Era::Immortal, PhantomData), self.genesis_hash), CheckNonce(self.nonce), CheckWeight(PhantomData), - ChargeTransactionPayment(u128::default()), + ChargeAssetTxPayment { + tip: u128::default(), + asset_id: None, + }, ) } } diff --git a/src/extrinsic/mod.rs b/src/extrinsic/mod.rs index 376e5b54e1eed..1336c3565b0b8 100644 --- a/src/extrinsic/mod.rs +++ b/src/extrinsic/mod.rs @@ -21,7 +21,7 @@ mod signer; pub use self::{ extra::{ - ChargeTransactionPayment, + ChargeAssetTxPayment, CheckGenesis, CheckMortality, CheckNonce, diff --git a/tests/integration/frame/balances.rs b/tests/integration/frame/balances.rs index 765414d7be4dd..8b12790ffa97f 100644 --- a/tests/integration/frame/balances.rs +++ b/tests/integration/frame/balances.rs @@ -77,11 +77,11 @@ async fn tx_basic_transfer() { .expect("Failed to decode ExtrinisicSuccess") .expect("Failed to find ExtrinisicSuccess"); - let expected_event = balances::events::Transfer( - alice.account_id().clone(), - bob.account_id().clone(), - 10_000, - ); + let expected_event = balances::events::Transfer { + from: alice.account_id().clone(), + to: bob.account_id().clone(), + amount: 10_000, + }; assert_eq!(event, expected_event); let alice_post = api @@ -215,7 +215,11 @@ async fn transfer_subscription() { let event = balances::events::Transfer::decode(&mut &raw.data[..]).unwrap(); assert_eq!( event, - balances::events::Transfer(alice.account_id().clone(), bob.clone(), 10_000,) + balances::events::Transfer { + from: alice.account_id().clone(), + to: bob.clone(), + amount: 10_000 + } ); } diff --git a/tests/integration/node_runtime.scale b/tests/integration/node_runtime.scale index cff019d32c4e1906b0c9afa4de90c857b29cd5a3..2ab10bd2a8df2547377b0f611be6009b4392b158 100644 GIT binary patch delta 27292 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 THv;+g#y+<&mO^`DiT(coVp-Fy delta 27651 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