Apply pectra, weights update on testnet#128
Conversation
* 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-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]>
There was a problem hiding this comment.
Pull Request Overview
This PR applies Pectra specifications and dependency updates for testnet deployment. It modernizes the runtime architecture for substrate-based blockchain development while maintaining backward compatibility and ensuring proper testing infrastructure.
Key changes include:
- Migration from CommonJS to ESNext module system with tsx runtime
- Major dependency updates across the stack (@polkadot/api 10.11.2 → 16.4.4, web3 4.3.0 → 4.16.0)
- Runtime architecture modernization with new transaction extension system and metadata hash support
Reviewed Changes
Copilot reviewed 90 out of 94 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/tsconfig.json | Module system change from commonjs to esnext |
| tools/package.json | Version bump and dependency updates with tsx integration |
| tests/tsconfig.json | ESNext module configuration with ts-node ESM support |
| tests/package.json | Major dependency updates and tsx migration |
| runtime/testnet/src/lib.rs | Runtime modernization with new transaction extensions and spec version bump |
| tests/tests/set_dev_node.ts | Node readiness waiting logic and spelling fix |
| precompiles/bfc-staking/src/lib.rs | Staking precompile API updates for nomination request handling |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| context.rpcPort = init.rpcPort; | ||
|
|
||
| // Context is given prior to this assignement, so doing | ||
| // Context is given prior to this assignment, so doing |
There was a problem hiding this comment.
Fixed typo: 'assignement' has been corrected to 'assignment'.
| const data = content.pending['0xf24ff3a9cf04c71dbc94d0b566f7a27b94566cac'][context.web3.utils.toHex(0)]; | ||
| expect(data).to.include({ | ||
| blockHash: '0x0000000000000000000000000000000000000000000000000000000000000000', | ||
| blockHash: null, |
There was a problem hiding this comment.
The change from '0x0000000000000000000000000000000000000000000000000000000000000000' to null for blockHash aligns better with Ethereum JSON-RPC specifications for pending transactions.
precompiles/bfc-staking/src/lib.rs
Outdated
| #[precompile::public("executeNominationRequest(address,uint256)")] | ||
| #[precompile::public("execute_nomination_request(address,uint256)")] |
There was a problem hiding this comment.
The API change adds a required 'when' parameter to nomination request execution functions. This breaking change improves precision but may affect existing clients that don't provide the when parameter.
| authoring_version: 1, | ||
| // The version of the runtime spec. | ||
| spec_version: 488, | ||
| spec_version: 489, |
There was a problem hiding this comment.
The spec version increment from 488 to 489 properly indicates a runtime upgrade that includes breaking changes and new features.
Description
Type of change
Checklist
cargo-clippyand linted my code.