-
Notifications
You must be signed in to change notification settings - Fork 15
Apply pectra, weights update on testnet #128
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
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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, |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)")] |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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, |
Copilot
AI
Sep 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.