-
Notifications
You must be signed in to change notification settings - Fork 1.1k
FRAME: Reintroduce TransactionExtension as a replacement for SignedExtension
#3685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
TransactionExtension as a replacement for SignedExtension
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
9 tasks
16 tasks
16 tasks
undercover-cactus
added a commit
to Moonsong-Labs/storage-hub
that referenced
this pull request
Apr 23, 2025
…e biggest change regarding the TransactionExtension (see paritytech/polkadot-sdk#3685)
undercover-cactus
added a commit
to Moonsong-Labs/storage-hub
that referenced
this pull request
Apr 23, 2025
lrazovic
pushed a commit
to Polimec/polimec-node
that referenced
this pull request
May 2, 2025
## What? closes #446 **Tasks** * [x] Review [release notes for stable2412](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-stable2412) for breaking changes. Also check the release notes of the versions before (with a focus on `stable2409` and `1.14.0`). * [x] Update Polkadot SDK dependencies to `stable2412`. * [x] Update [ORML](https://github.com/open-web3-stack/open-runtime-module-library) dependencies to the according version. * [x] Test node and runtime compatibility (e.g., compile-time errors, runtime APIs, storage migrations). * [x] Audit custom pallets for deprecated or changed SDK interfaces. * [x] Update benchmarks (if applicable) for weight calculations. **Additional Context** * The `Treasury::propose_spend(...)` integrations tests needs a rework, since that extrinsic is now deprecated, and it should be replaced by `Treasury::sped_local(...)`. We can ignore these tests for now and re-add them in a later PR. ## Why? Release analysis posts [here](https://forum.polkadot.network/tag/release-analysis). Some notable PRs: - Replaces `SignedExtra` with new `TransactionExtension`. This requires us to reimplement the custom `CheckNonce` as a follow up PR - paritytech/polkadot-sdk#3685 - XCM V5 is now `latest`, so `v4` xcm types are replaced with `v5` - paritytech/polkadot-sdk#4826 - - merges `xcm-fee-payment-runtime-api` module into the new `xcm-runtime-apis` - paritytech/polkadot-sdk#4857 - remove `sp-std` dependency, replace with `alloc` or `core` ## How? ## Testing? * [x] Pallet Unit Testing (e.g. `cargo t -p pallet-funding`) * [x] Integration Tests (e.g. `cargo t -p integration-tests`) * [x] [Try Runtime CLI,](https://github.com/paritytech/try-runtime-cli) to test if we have to run any migration in this upgrade. ## Screenshots (optional) <details> <summary>Syncing with mainnet `polimec`</summary> <img width="1542" alt="Screenshot 2025-02-06 at 1 16 29" src="https://github.com/user-attachments/assets/7d14b32a-498f-4c4c-be5d-ccbda832d362" /> </details>
8 tasks
undercover-cactus
added a commit
to Moonsong-Labs/storage-hub
that referenced
this pull request
May 21, 2025
* rename `state_version` to `system_version` for xcm-simulator * replace 'sp_runtime::RuntimeString' with 'alloc::string::String' (see paritytech/polkadot-sdk#5693) * missed a place to rename state_version to system_version * update dry_run_call to include xcm result version (see paritytech/polkadot-sdk#7438) * introduce SelectCore into the runtime for the parachain system pallet (see paritytech/polkadot-sdk#8153) * introduce DoneSlashHandler in the runtime for the balances pallet and set it empty because we are not using it (see paritytech/polkadot-sdk#5623) * introduce WeightInfo type for transaction pallets which is part of the biggest change regarding the TransactionExtension (see paritytech/polkadot-sdk#3685) * fix conversion from String to str * replicate the changes in xcm-simulator * DispatchInfo is now DispatchEventInfo in the client (see paritytech/polkadot-sdk#3685) * sc_offchain::Offchainworker::new() now return Result fix (see paritytech/polkadot-sdk#5919) * Update TransactionPool build to work with the new pool struct (see paritytech/polkadot-sdk#4639) * fix instant sealing command * enable runtime upgrade in dev mode (see paritytech/polkadot-sdk#6885) * check for default backend network when starting node * fix unresolved import in benchmarking * fix format error in benchmarking * fix mock pallets * fixing xcm simulator * forgot to save file before commit * fix xcm test * upgrade @PolkaDot to 15.10.2; fix typegen; * update utils polkadot deps * attempting to fix zombienet * use a more recent polkadot binary * install stable2412 binary in CI too * fix fee in reaping account test * typegen * fix last test * remove console.log; use rpc_port config everywhere * spec version updated in test --------- Co-authored-by: Facundo Farall <[email protected]>
14 tasks
7 tasks
dnjscksdn98
added a commit
to bifrost-platform/bifrost-node
that referenced
this pull request
Jul 29, 2025
alstjd0921
pushed a commit
to bifrost-platform/bifrost-node
that referenced
this pull request
Sep 10, 2025
alstjd0921
added a commit
to bifrost-platform/bifrost-node
that referenced
this pull request
Sep 10, 2025
* NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]>
alstjd0921
added a commit
to bifrost-platform/bifrost-node
that referenced
this pull request
Sep 10, 2025
* Node 161 pectra update (#126) * NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]> * NODE-80 branch restructure (#127) * NODE-179, feat: init pallet storages * NODE-179, feat: init pallet extrinsics * NODE-179, chore: add locktime * NODE-179, feat: finalize fee rate * NODE-179, feature: impl coin selections * NODE-179, feat: check blaze activation state * NODE-179, feature: impl `remove_outbound_messages` for legacy mode * NODE-80: implement benchmarking (#121) * NODE-80, feature: impl benchmarking.rs & mock.rs * NODE-80, fix: benchmark * NODE-80, fix: benchmark * NODE-80, chore: update weights * fix: zero out proof size in weights * chore: resolve --------- Co-authored-by: dnjscksdn98 <[email protected]> * fix: correctly use mocha with tsx (#133) --------- Co-authored-by: dnjscksdn98 <[email protected]>
alstjd0921
added a commit
to bifrost-platform/bifrost-node
that referenced
this pull request
Sep 11, 2025
* Node 161 pectra update (#126) * NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]> * NODE-80 branch restructure (#127) * NODE-179, feat: init pallet storages * NODE-179, feat: init pallet extrinsics * NODE-179, chore: add locktime * NODE-179, feat: finalize fee rate * NODE-179, feature: impl coin selections * NODE-179, feat: check blaze activation state * NODE-179, feature: impl `remove_outbound_messages` for legacy mode * NODE-80: implement benchmarking (#121) * NODE-80, feature: impl benchmarking.rs & mock.rs * NODE-80, fix: benchmark * NODE-80, fix: benchmark * NODE-80, chore: update weights * fix: zero out proof size in weights * chore: resolve --------- Co-authored-by: dnjscksdn98 <[email protected]> * fix: correctly use mocha with tsx (#133) * chore: version (#134) --------- Co-authored-by: dnjscksdn98 <[email protected]>
margaretphillips96627margaretphillips
added a commit
to margaretphillips96627margaretphillips/storage-hub
that referenced
this pull request
Oct 6, 2025
* rename `state_version` to `system_version` for xcm-simulator * replace 'sp_runtime::RuntimeString' with 'alloc::string::String' (see paritytech/polkadot-sdk#5693) * missed a place to rename state_version to system_version * update dry_run_call to include xcm result version (see paritytech/polkadot-sdk#7438) * introduce SelectCore into the runtime for the parachain system pallet (see paritytech/polkadot-sdk#8153) * introduce DoneSlashHandler in the runtime for the balances pallet and set it empty because we are not using it (see paritytech/polkadot-sdk#5623) * introduce WeightInfo type for transaction pallets which is part of the biggest change regarding the TransactionExtension (see paritytech/polkadot-sdk#3685) * fix conversion from String to str * replicate the changes in xcm-simulator * DispatchInfo is now DispatchEventInfo in the client (see paritytech/polkadot-sdk#3685) * sc_offchain::Offchainworker::new() now return Result fix (see paritytech/polkadot-sdk#5919) * Update TransactionPool build to work with the new pool struct (see paritytech/polkadot-sdk#4639) * fix instant sealing command * enable runtime upgrade in dev mode (see paritytech/polkadot-sdk#6885) * check for default backend network when starting node * fix unresolved import in benchmarking * fix format error in benchmarking * fix mock pallets * fixing xcm simulator * forgot to save file before commit * fix xcm test * upgrade @PolkaDot to 15.10.2; fix typegen; * update utils polkadot deps * attempting to fix zombienet * use a more recent polkadot binary * install stable2412 binary in CI too * fix fee in reaping account test * typegen * fix last test * remove console.log; use rpc_port config everywhere * spec version updated in test --------- Co-authored-by: Facundo Farall <[email protected]>
dominic5perezd
added a commit
to dominic5perezd/storage-hub
that referenced
this pull request
Oct 10, 2025
* rename `state_version` to `system_version` for xcm-simulator * replace 'sp_runtime::RuntimeString' with 'alloc::string::String' (see paritytech/polkadot-sdk#5693) * missed a place to rename state_version to system_version * update dry_run_call to include xcm result version (see paritytech/polkadot-sdk#7438) * introduce SelectCore into the runtime for the parachain system pallet (see paritytech/polkadot-sdk#8153) * introduce DoneSlashHandler in the runtime for the balances pallet and set it empty because we are not using it (see paritytech/polkadot-sdk#5623) * introduce WeightInfo type for transaction pallets which is part of the biggest change regarding the TransactionExtension (see paritytech/polkadot-sdk#3685) * fix conversion from String to str * replicate the changes in xcm-simulator * DispatchInfo is now DispatchEventInfo in the client (see paritytech/polkadot-sdk#3685) * sc_offchain::Offchainworker::new() now return Result fix (see paritytech/polkadot-sdk#5919) * Update TransactionPool build to work with the new pool struct (see paritytech/polkadot-sdk#4639) * fix instant sealing command * enable runtime upgrade in dev mode (see paritytech/polkadot-sdk#6885) * check for default backend network when starting node * fix unresolved import in benchmarking * fix format error in benchmarking * fix mock pallets * fixing xcm simulator * forgot to save file before commit * fix xcm test * upgrade @PolkaDot to 15.10.2; fix typegen; * update utils polkadot deps * attempting to fix zombienet * use a more recent polkadot binary * install stable2412 binary in CI too * fix fee in reaping account test * typegen * fix last test * remove console.log; use rpc_port config everywhere * spec version updated in test --------- Co-authored-by: Facundo Farall <[email protected]>
evm-dragonmm3
added a commit
to evm-dragonmm3/bifrost-node
that referenced
this pull request
Dec 10, 2025
* NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]>
evm-dragonmm3
added a commit
to evm-dragonmm3/bifrost-node
that referenced
this pull request
Dec 10, 2025
* Node 161 pectra update (#126) * NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]> * NODE-80 branch restructure (#127) * NODE-179, feat: init pallet storages * NODE-179, feat: init pallet extrinsics * NODE-179, chore: add locktime * NODE-179, feat: finalize fee rate * NODE-179, feature: impl coin selections * NODE-179, feat: check blaze activation state * NODE-179, feature: impl `remove_outbound_messages` for legacy mode * NODE-80: implement benchmarking (#121) * NODE-80, feature: impl benchmarking.rs & mock.rs * NODE-80, fix: benchmark * NODE-80, fix: benchmark * NODE-80, chore: update weights * fix: zero out proof size in weights * chore: resolve --------- Co-authored-by: dnjscksdn98 <[email protected]> * fix: correctly use mocha with tsx (#133) --------- Co-authored-by: dnjscksdn98 <[email protected]>
evm-dragonmm3
added a commit
to evm-dragonmm3/bifrost-node
that referenced
this pull request
Dec 10, 2025
* Node 161 pectra update (#126) * NODE-161, deps: update to stable2503 * NODE-161, fix: node: Replace TxPool RPC with Frontier implementation #moonbeam-foundation/moonbeam#3218 * NODE-161, fix: runtime: Fix weight limits in evm tracing runtimes (moonbeam-foundation/moonbeam#3210) * NODE-161, deps: update Cargo * NODE-161, fix: Use DecodeWithMemTracking (paritytech/polkadot-sdk#7360) * NODE-161, feat: runtime: upgrade to EIP-7702 new APIs * NODE-161, Introduce a gas-based Storage limit per tx (polkadot-evm/frontier#1142), Support external account provider (polkadot-evm/frontier#1329) * NODE-161, fix: remove sc_transaction_pool * NODE-161, fix: add missing crates * NODE-161, fix: resolve typo * NODE-161, fix: remove Paramter * NODE-161, feat: Allow whitleisting contract deployer (polkadot-evm/frontier#1629) * NODE-161, feat: Update Treasury to Support Relay Chain Block Number Provider (paritytech/polkadot-sdk#3970) * NODE-161, feat: [Identity] Decouple usernames from identities (paritytech/polkadot-sdk#5554) * NODE-161, feat: Collective: dynamic deposit based on number of proposals (paritytech/polkadot-sdk#3151) * NODE-161, fix: add missing DecodeWithMemTracking * NODE-161, feat: Moves disabling logic into pallet-session (paritytech/polkadot-sdk#7581) * NODE-161, feat: Update Scheduler to have a configurable block provider (paritytech/polkadot-sdk#7441) * NODE-161, chore: add WeightInfo to pallet_transaction_payment * NODE-161, fix: add missing authorization_list * NODE-161, fix: replace to new_bare * NODE-161, fix: add missing DecodeWithMemTracking derive * NODE-161, fix: resolve type mismatch * NODE-161, fix: use system_version (paritytech/polkadot-sdk#4257) * NODE-161, fix: use Cow (paritytech/polkadot-sdk#5693) * NODE-161, feat: Generic slashing side-effects (paritytech/polkadot-sdk#5623) * NODE-161, feat: impl create_inherent (paritytech/polkadot-sdk#3685) * NODE-161, fix: remove generic parameter from on_unbalanceds * NODE-161, fix: update storage_at runtime api * NODE-161, fix: node: Remove network starter that is no longer needed (paritytech/polkadot-sdk#6400) * NODE-161, fix: node: update FullNetworkConfiguration params * NODE-161, fix: node: update TransactionPool * NODE-161, fix: node: substrate-offchain: upgrade hyper to v1 (paritytech/polkadot-sdk#5919) * NODE-161, fix: node: update service, rpc * NODE-161, chore: remove unused imports * chore: add cargo feature "metadata-hash" * NODE-161, fix: add cumulus primitives storage proof size HostFunctions * NODE-161, chore: update dependencies branch * NODE-161, chore: update to stable2506 * NODE-161, chore: remove `RuntimeEvent` from pallet::Config * NODE-161, fix: update test code * NODE-161, fix: make node-lts compatible * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, chore: update `test_btc_registration_pool.ts` * NODE-161, fix: use node.kill() * NODE-161, fix: resolve test codes * NODE-161, fix: remove console.log * NODE-161, chore: update tools package.json * feat: init blaze * fix: remove unused crate * import precompile-blaze * NODE-161, chore: add mbm migrator into runtimes * NODE-161, chore: add pallet_session migration * NODE-161, fix: new_full_parts -> new_full_parts_record_import * fix: resolve issues * NODE-161, deps: update runtime version (489) --------- Co-authored-by: dnjscksdn98 <[email protected]> * NODE-80 branch restructure (#127) * NODE-179, feat: init pallet storages * NODE-179, feat: init pallet extrinsics * NODE-179, chore: add locktime * NODE-179, feat: finalize fee rate * NODE-179, feature: impl coin selections * NODE-179, feat: check blaze activation state * NODE-179, feature: impl `remove_outbound_messages` for legacy mode * NODE-80: implement benchmarking (#121) * NODE-80, feature: impl benchmarking.rs & mock.rs * NODE-80, fix: benchmark * NODE-80, fix: benchmark * NODE-80, chore: update weights * fix: zero out proof size in weights * chore: resolve --------- Co-authored-by: dnjscksdn98 <[email protected]> * fix: correctly use mocha with tsx (#133) * chore: version (#134) --------- Co-authored-by: dnjscksdn98 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Original PR #2280 reverted in #3665
This PR reintroduces the reverted functionality with additional changes, related effort here. Description is copied over from the original PR
First part of Extrinsic Horizon
Introduces a new trait
TransactionExtensionto replaceSignedExtension. Introduce the idea of transactions which obey the runtime's extensions and have according Extension data (né Extra data) yet do not have hard-coded signatures.Deprecate the terminology of "Unsigned" when used for transactions/extrinsics owing to there now being "proper" unsigned transactions which obey the extension framework and "old-style" unsigned which do not. Instead we have General for the former and Bare for the latter. (Ultimately, the latter will be phased out as a type of transaction, and Bare will only be used for Inherents.)
Types of extrinsic are now therefore:
ValidateUnsigned(deprecated) and the_bare_compatbits ofTransactionExtension(deprecated).ProvideInherent.TransactionExtension.TransactionExtensiondiffers fromSignedExtensionbecause:pre_dispatchis renamed toprepareand need not contain the checks present invalidate.validateandprepareis passed anOriginrather than aAccountId.validatemay pass arbitrary information intopreparevia a new user-specifiable typeVal.AdditionalSigned/additional_signedis renamed toImplicit/implicit. It is encoded for the entire transaction and passed in to each extension as a new argument tovalidate. This facilitates the ability of extensions to acts as underlying crypto.There is a new
DispatchTransactiontrait which contains only default function impls and is impl'ed for anyTransactionExtensionimpler. It provides several utility functions which reduce some of the tedium from usingTransactionExtension(indeed, none of its regular functions should now need to be called directly).Three transaction version discriminator ("versions") are now permissible (RFC here) in extrinsic version 5:
For the New-school General Transaction, it becomes trivial for authors to publish extensions to the mechanism for authorizing an Origin, e.g. through new kinds of key-signing schemes, ZK proofs, pallet state, mutations over pre-authenticated origins or any combination of the above.
UncheckedExtrinsicstill maintains encode/decode backwards compatibility with extrinsic version 4, where the first byte was encoded as:Now,
UncheckedExtrinsiccontains aPreambleand the actual call. ThePreambledescribes the type of extrinsic as follows:Code Migration
NOW: Getting it to build
Wrap your
SignedExtensions inAsTransactionExtension. This should be accompanied by renaming your aggregate type in line with the new terminology. E.g. Before:After:
You'll also need to alter any transaction building logic to add a
.into()to make the conversion happen. E.g. Before:After:
SOON: Migrating to
TransactionExtensionMost
SignedExtensions can be trivially converted to become aTransactionExtension. There are a few things to know.SignedExtension, you should now implement two traits individually:TransactionExtensionBaseandTransactionExtension.fn weight.TransactionExtensionBaseThis trait takes care of anything which is not dependent on types specific to your runtime, most notably
Call.AdditionalSigned/additional_signedis renamed toImplicit/implicit.weightfunction. If your extension is associated with a pallet, you'll probably want to do this via the pallet's existing benchmarking infrastructure.TransactionExtensionGenerally:
pre_dispatchis nowprepareand you should not reexecute thevalidatefunctionality in there!AsSystemOriginSigner::as_system_origin_signer.Pre, calledVal. This defines data which is passed fromvalidateintoprepare. This is important since you should not be duplicating logic fromvalidatetoprepare, you need a way of passing your working from the former into the latter. This is it.Calltype parameter.Callis the runtime call type which used to be an associated type; you can just move it to become a type parameter for your trait impl.AccountIdassociated type any more. Just remove it.Regarding
validate:validate; all can be ignored when migrating fromSignedExtension.validatereturns a tuple on success; the second item in the tuple is the new ticket typeSelf::Valwhich gets passed in toprepare. If you use any information extracted duringvalidate(off-chain and on-chain, non-mutating) inprepare(on-chain, mutating) then you can pass it through with this. For the tuple's last item, just return theoriginargument.Regarding
prepare:pre_dispatch, but there is one change:validate!!SignedExtensionwhich was required to run the same checks inpre_dispatchas invalidate.)Regarding
post_dispatch:TransactionExtension,Preis always defined, so the first parameter isSelf::Prerather thanOption<Self::Pre>.If you make use of
SignedExtension::validate_unsignedorSignedExtension::pre_dispatch_unsigned, then:originisNone.TransactionExtensions' data.ValidateUnsignedcan still be used (for now) if you need to be able to construct transactions which contain none of the extension data, however these will be phased out in stage 2 of the Transactions Horizon, so you should consider moving to an extension-centric design.