From 080a19defabe93a5f12d7c6e8beb771f2743255e Mon Sep 17 00:00:00 2001 From: gui Date: Thu, 2 Jan 2025 19:34:07 +0900 Subject: [PATCH] prdoc --- prdoc/pr_7028.prdoc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/prdoc/pr_7028.prdoc b/prdoc/pr_7028.prdoc index d6ac91e97a4f..4bc881557f27 100644 --- a/prdoc/pr_7028.prdoc +++ b/prdoc/pr_7028.prdoc @@ -1,16 +1,17 @@ -title: '[draft] Make `TransactionExtension` tuple of tuple transparent for implication' +title: 'Fix implication order in implementation of `TransactionExtension` for tuple' doc: - audience: - Runtime Dev - Runtime User description: |- - Currently `(A, B, C)` and `((A, B), C)` change the order of implications in the transaction extension pipeline. This order is not accessible in the metadata, because the metadata is just a vector of transaction extension, the nested structure is not visible. + Before this PR, the implications were different in the pipeline `(A, B, C)` and `((A, B), C)`. + This PR fixes this behavior and make nested tuple transparant, the implication order of tuple of + tuple is not same as a single tuple. - This PR make the implementation for tuple of `TransactionExtension` better for tuple of tuple. `(A, B, C)` and `((A, B), C)` don't change the implication for the validation A. - - This is a breaking change but only when using the trait `TransactionExtension` the code implementing the trait is not breaking (surprising rust behavior but fine). + This breaks usage of `TransactionExtension::validate`. + When calling `TransactionExtension::validate` the implication must now implement `Implication` + trait, you can use `TxBaseImplication` to wrap the type and use it as the base implication. + E.g. instead of `&(extension_version, call),` you can write `&TxBaseImplication((extension_version, call))`. crates: -- name: pallet-skip-feeless-payment - bump: major - name: sp-runtime bump: major