Make `TransactionExtension` tuple of tuple transparent for implication (#7028)
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. 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). --------- Co-authored-by: command-bot <> Co-authored-by:Bastian Köcher <git@kchr.de> (cherry picked from commit b5a5ac44)
Showing
- prdoc/pr_7028.prdoc 25 additions, 0 deletionsprdoc/pr_7028.prdoc
- substrate/frame/system/src/extensions/check_non_zero_sender.rs 2 additions, 2 deletions...rate/frame/system/src/extensions/check_non_zero_sender.rs
- substrate/frame/system/src/extensions/check_nonce.rs 3 additions, 3 deletionssubstrate/frame/system/src/extensions/check_nonce.rs
- substrate/frame/transaction-payment/skip-feeless-payment/src/lib.rs 3 additions, 2 deletions...frame/transaction-payment/skip-feeless-payment/src/lib.rs
- substrate/primitives/runtime/src/traits/mod.rs 2 additions, 1 deletionsubstrate/primitives/runtime/src/traits/mod.rs
- substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs 1 addition, 1 deletion.../src/traits/transaction_extension/dispatch_transaction.rs
- substrate/primitives/runtime/src/traits/transaction_extension/mod.rs 243 additions, 15 deletions...rimitives/runtime/src/traits/transaction_extension/mod.rs
prdoc/pr_7028.prdoc
0 → 100644
Please register or sign in to comment