-
Notifications
You must be signed in to change notification settings - Fork 20
Review boosting code for to plan implementation of committed boosting #2428
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
JoeCap08055
merged 903 commits into
chore/review-boosting-for-committed-boosting
from
main
Jun 3, 2025
Merged
Review boosting code for to plan implementation of committed boosting #2428
JoeCap08055
merged 903 commits into
chore/review-boosting-for-committed-boosting
from
main
Jun 3, 2025
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
The goal of this PR is to upgrade from v1.0.0 to v1.1.0. Benchmarks updated for custom pallets and overhead. References - [Polkadot Forum](https://forum.polkadot.network/t/polkadot-release-analysis-v1-1-0/3988) - [Release Notes](https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.1.0) Closes Issue #1687 Co-authored-by: Enddy Dumbrique <[email protected]> Co-authored-by: Matthew Orris <[email protected]>
# Goal The goal of this PR is enable `engine_createBlock` for Interval Sealing mode. Effectively it uses the should make empty block coming down the command instead of making a special exception for interval sealing. Note: This does reduce the logs in other modes when `engine_createBlock` is called with not making an empty block and no transactions are in the pool.
# Goal The goal of this PR is to improve the e2e tests. NOTE: Parallel testing locally is still flaky. Another PR coming, but wanted to keep these separate for readability Part of #1731 # Discussion - Big Change: `signAndSend` now returns a correctly typed object! - This leads to a large number of basically the same change all over. - the default event (previously the `response[0]` field) now is typed, so no need to use `is` everywhere - Using `?` (`result?.data.msaId` for example) allows for a nice handling of the default event data - Using `!` (`result!.data.msaId` for example) allows for a nice throwing of the default event data when we expect it, but don't have it. (fine for tests) - A few small cleanups like removing unused imports - Additional helpful comments - Fixing an issue with handles test not being able to run more than 90 times in a row
…l review (#1752) # Goal The goal of this PR is clean up a few issues from the polkadot v1.1.0 upgrade. # Discussion - [x] Remove `RUSTSEC-2022-0093` from `.cargo-deny.toml`. - [x] Add `w3f` to `[sources.allow-org]` to eliminate some warnings. - [x] Remove `substrate-wasm-builder` from `[build-dependencies]` in `runtime/common/Cargo.toml` # Checklist - [ ] Chain spec updated - [ ] Custom RPC OR Runtime API added/changed? Updated js/api-augment. - [ ] Design doc(s) updated - [ ] Tests added - [ ] Benchmarks added - [ ] Weights updated
# Goal The goal of this PR is a small set of improvements: - Update e2e readme - Add additional debug logging defaults to the init.sh script for instant and interval sealing - Add a interval param to the interval sealing init.sh runner - Add serial run mode for e2e tests Part of #1731
# Goal The goal of this PR is another pile of small e2e fixes and cleanups Part of #1731 # Discussion - Correctly name time release test - Move some msa tests into a separate file - Staking calls should always use `signAndSend` - Test handles for > 90 runs by using a random number generator - createMsa helper and using it for creating un-permissioned MSAs - Replace the rxjs with the apiPromise for rpc and state queries because they are faster and more reliable - getCapacity and DrainCapacity Improvements and cleanups - Serialize BigInts for Mocha (as sometimes it needs to serialize it)
# Goal The goal of this PR is to make nonce management easy inside of e2e tests. This does it via a module that caches and then keeps a local state up. Part of #1731 # Discussion - RPC errors will NOT increment nonces, so those must use the `current` option - Also split up some of the handles tests to make this easier - Made sure everything was using `function ()` instead of `() =>` for mocha
# Goal The goal of this PR is to fix the bug with calling `StakingAccountDetails#withdraw` with more than what is in `self.active`. Closes #1768
# Goal The goal of this PR is the final misc pieces of getting the e2e tests less flaky. Does this fix all of it? No. Most? Yes. Closes #1731 # Discussion - Correct batch error asserting - Ids used as "bad" should use close to the max - Use Immortal Eras due to issues with speed and [AncientBirthBlock](https://substrate.stackexchange.com/questions/10411/fast-block-production-causes-mortality-checking-failing-with-ancientbirthblock) - Cleanup before funding - Move assertAddNewKey - Add new assertHasMessage
# Goal The goal of this PR is to get e2e tests under formatting and eslint control. Closes #1764
# Goal The goal of this PR is to propose and implement messages v2 compatible with PoV Closes #198 # Discussion - Refactored Messages to minimize used PoV - Added storage migration (single block) # Migration Details - Based on data used in rococo and main-net and calculations we don't need to do a multi-block migration. (only around 15%) of the block is being used. - Was not able to test with upgrading on local due to getting errors when running relay nodes - Was able to successfully run try-run-time cli tool against rococo # Checklist - [x] Chain spec updated - [x] Design doc(s) updated - [x] Tests added - [x] Benchmarks added - [x] Weights updated
# Goal The goal of this PR is to fix GPG binary signing error in the release workflow. Closes #1774
# Goal The goal of this PR is to split schemas and the model into 2 separate storages so that we can limit the size of PoV being accessed from other pallets. Closes #1742 # Checklist - [x] Chain spec updated - [x] Design doc(s) updated - [x] Tests added - [x] Benchmarks added - [x] Weights updated --------- Co-authored-by: Frequency CI [bot] <[email protected]>
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
) # Goal The goal of this PR is to allow the use of interval sealing mode in CI pipelines using GitHub workflows. The following considerations were taken into account: * Since GitHub workflows do not allow overriding the `CMD` of a Docker image, and overriding `ENTRYPOINT` in GitHub likewise does not allow for passing arguments to the new entrypoint, the simplest option left is to use environment variables. * Since it was deemed undesirable to modify the frequency binary itself to honor environment variables, the approach taken was to create a new image, `frequencychain/standalone-node`. The `ENTRYPOINT` of the image is a shell script instead of the `frequency` binary directly. The shell script takes into account the following variables: * `SEALING_MODE`: `instant`, `interval`, or `manual` * `SEALING_INTERVAL`: number of seconds between blocks in `interval` sealing mode * `CREATE_EMPTY_BLOCKS`: `true` means pass `--sealing-create-empty-blocks` to allow interval sealing mode to form empty blocks as in a live chain. Additional arguments passed to the script are passed through to the underlying `frequency` command-line, just as the `CMD` parameter in the old image. Existing use cases of this image should therefore be unaffected. * The existing `frequencychain/instant-seal-node` image is now deprecated and will eventually be discontinued/removed. Closes #1780 # Discussion <!-- List discussion items --> # Checklist - [x] Doc(s) updated - [x] Tested new image for all sealing modes: `instant`, `interval`, `manual` --------- Co-authored-by: Wil Wade <[email protected]>
# Goal Refactor cargo crate dependencies into the workspace. This facilitates updating Polkadot versions. issue #1751 Co-authored-by: Enddy Dumbrique <[email protected]>
# Goal The goal of this PR is to evaluate and minimize PoV consumption by `stateful-storage` pallet. Closes #1782 # Discussion - refactored benchmarks to calculate the max of time and PoV - decreased `additional-trie-layers` number - decreased `MaxItemizedPageSizeBytes ` from 64KiB to around 10KiB (will allow around 292 of 32 bytes itemized public keys) # Improvements - by applying mentioned changes the PoV for `apply_item_actions` got reduced from **45KB** to **15KB** - by applying mentioned changes the PoV for `upsert` and `delete` pages got reduced from **12KB** to **6KB** # Future improvements - by using PoV clawback we can further reduce the PoV sizes. A [PR](paritytech/polkadot-sdk#1462) to track # Checklist - [x] Benchmarks added - [x] Weights updated --------- Co-authored-by: Frequency CI [bot] <[email protected]> Co-authored-by: Wil Wade <[email protected]>
# Goal The goal of this PR is to add support for schema names and versions. Closes #1693 # Design Storing the names in a map such that names are the key and points to the list of different versions and their schema ids for that name  # what is added? - added new storage `SchemaNameToIds` which allows getting schema ids and versions from a schema name - added new `create_schema_v3`, `propose_to_create_schema_v2` and `create_schema_via_governance_v2` extrinsics which support adding an optional name during creation - added new `propose_to_create_schema_name` and `create_schema_name_via_governance` to assign a name to an schema without a name - Added migration to assign dsnp schema names to well-known schemas in rococo and mainnet - Added an RPC which returns the versions and schema ids for a certain schema name or namespace # name limitations - only supporting ascii character of [a-z] [A-Z] or - - name format is : `<namespace>.<descriptor>` - namespace min size 3 characters - descriptor min size is 1 character - name max size 32 characters - namespace must not start or end with - - descriptor must not start or end with - # Checklist - [x] Chain spec updated - [X] Custom RPC OR Runtime API added/changed? Updated js/api-augment. - [X] Tests added - [X] Benchmarks added - [X] Weights updated --------- Co-authored-by: Frequency CI [bot] <[email protected]>
# Goal The goal of this PR is to create a document to guide the public about how and what to report as a security vulnerability. Closes #559 # Discussions - Should we put anything about bounty program even though it's not ready? - How about any legal stuff? # Checklist - [x] Doc(s) updated - [x] PGP key generated
# Goal The goal of this PR is to get Code Coverage results reporting using the internal runners (faster, and more consistent results). Result: https://app.codecov.io/gh/LibertyDSNP/frequency/tree/ci-update%2Fcode-cov-grcov/ # Discussion - grcov reads the results a bit different than llvm-cov, but llvm cov was always running out of memory - Lots of exclusions to get better results, but most of them are the same as from llvm-cov
# Goal The goal of this PR is to change some schema names based on recommendations from dsnp foundation. Related to #1693 # Discussion - renamed `dsnp.public-key` to `dsnp.public-key-key-agreement`
# Goal The goal of this PR is to allow increase of nonce for free transactions on existing accounts Closes #1766 # Checklist - [x] Test added - [x] e2e tests updated
# Goal The goal of this PR is to replace the `Currency` trait with the `fungible` trait in the `capacity` pallet. Closes #942 Closes #1532 # Discussion The following Parity issues/PRs were used as references for changes: [Deprecate Currency - PR 12951](paritytech/substrate#12951) (Explanation of necessary changes.) [FRAME: Move pallets over to use fungible traits](paritytech/polkadot-sdk#226) (Issue to track Parity's efforts to update their pallets.) [pallet vesting / update to use fungible](https://github.com/paritytech/polkadot-sdk/pull/1760/files) (Example of some necessary changes.) [Fungibles: migrate Democracy pallet](paritytech/polkadot-sdk#1861) (Example of storage migration for Locks->Freezes.) # Changes - `.cargo-deny.toml` Added "multiformats" for `cid` crate to fix warning. - `vscode/settings.json` Added script that sets up the source map for the rust std library files for debugging. - `Cargo.lock` cargo updated. - `e2e/package-lock.json` npm updated. - Replaced traits as needed: Use `tokens::fungible::` - `InspectFungible` for `balance()` and `reducible_balance()` - `InspectFreeze` for `balance_frozen()` - `Mutate` for `set_balance()`, `mint_into()` - `MutateFreeze` for `set_freeze()`, and `thaw()` - Added `pub enum FreezeReason` to support `freezes` - Updated error handling as `set_freeze()` and `thaw()` can fail, so errors needed to be propagated. - Updated pallets/mocks to set MaxFreezes to 2, one for Capacity, one for TimeRelease - Updated runtime pallet configs to use BalancesMaxXXXXXs - Updated tests with `.expect()` where `set_freeze()` or `thaw()` can fail. - `FreezeIdentifier` and `RuntimeFreezeReason` configured with defaults. - Added v3 migration to Capacity. # Storage Migrations The value of `BalancesMaxFreezes` has been updated, which will impact the storage of the Balances pallet by changing `T::MaxFreezes`, see the code here: [substrate/frame/balances/src/lib.rs:480](https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.1.0/substrate/frame/balances/src/lib.rs#L480) ```rust /// Freeze locks on account balances. #[pallet::storage] pub type Freezes<T: Config<I>, I: 'static = ()> = StorageMap< _, Blake2_128Concat, T::AccountId, BoundedVec<IdAmount<T::FreezeIdentifier, T::Balance>, T::MaxFreezes>, ValueQuery, >; ``` The previous value of `T::MaxFreezes` was `0` so no data could be stored in `Freezes`, therefore no storage migration for `Freezes` is needed for this change. Even if there was data in storage, it would only need to be migrated if `T::MaxFreezes` is *decreased*. However, the current chain has data in `Locks` that needs to migrated to `Freezes`. Testing has shown that these `Locks` will no longer be accessible once the new traits are in place. The `Balances` pallet is configured to store account data using the `System` pallet. Therefore, these two pallets must be included when using `try-runtime` for testing. The migration for `Capacity` will access its storage to determine which accounts have `Locks` that need to be translated to `Freezes`. Then, the old `Currency` trait is used to remove the `Locks` and the new `fungible` trait is used to set the `Freeze`. # How to Review - [ ] Read through [Deprecate Currency - PR 12951](paritytech/substrate#12951) to understand context and check that Currency traits were properly replaced with fungible traits. - [ ] Check impact of changing to `set_freeze()` and `thaw()` which can now fail and make sure all error states are propagated correctly without possibility for `panic` - [ ] Check if `balance()` is used correctly, or should be changed to `reducible_balance()`. The calculations evaluating the Existential Deposit (ED) have been updated and Parity comments indicate that `reducible_balance()` is most likely the value needed. - [ ] Ensure that the migration weights calculations are correct. (Please let me know if you would like to walk through the migration code path together). # How to Test Runtime Migrations [Install the CLI version of try-runtime](https://paritytech.github.io/try-runtime-cli/try_runtime/#installation), then run try-runtime to test the migration against Frequency Rococo: ```bash cargo build --release --features frequency-rococo-testnet,try-runtime && \ try-runtime --runtime ./target/release/wbuild/frequency-runtime/frequency_runtime.wasm on-runtime-upgrade live --uri wss://rpc.rococo.frequency.xyz:443 -pallet Capacity --pallet Balances --pallet System ``` Alternatively, you can use the non-release version for faster compiles: ```bash cargo build --features frequency-rococo-testnet,try-runtime && \ try-runtime --runtime ./target/debug/wbuild/frequency-runtime/frequency_runtime.wasm on-runtime-upgrade live --uri wss://rpc.rococo.frequency.xyz:443 -pallet Capacity --pallet Balances --pallet System ``` You should see output like this: ```bash [2023-12-16T17:03:57Z INFO runtime::capacity] migrated 344 [2023-12-16T17:03:57Z INFO runtime::capacity] migrated 345 [2023-12-16T17:03:57Z INFO runtime::capacity] migrated 346 [2023-12-16T17:03:57Z INFO runtime::capacity] migrated 347 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migration finished [2023-12-16T17:03:57Z INFO runtime::capacity] Migration calculated weight = Weight { ref_time: 78200000000, proof_size: 0 } [2023-12-16T17:03:57Z INFO runtime::capacity] ✅ migration post_upgrade checks passed // end of Capacity v2 migration, v3 migration follows [2023-12-16T17:03:57Z INFO runtime::capacity] Running pre_upgrade... [2023-12-16T17:03:57Z INFO runtime::capacity] Finish pre_upgrade for 347 records [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 Capacity Locks->Freezes migration started [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0xac4e66be328c4d235be27fcb0af8ccbe12dce375236f9ccc5516780522bc8870, amount:1500000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x3048b40a2e7185e510b695c7ba15f31218a1d4a501c6a71596e4f60317fc180f, amount:800000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x663ea97a6b40a51ed79f3328f9629423e5525c84bb178e63a854e4ce497fde25, amount:900000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x1488b10710285607257cbaa5f2ee273b50613358c50e443b8e43790ba7e15705, amount:900000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x283ac37222b6e34afb4b187e41e8e828c2e2d2b7f5bc027a2bf98eccbca76d47, amount:200000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x1a038c038ece2448a22096697a35905a98cc14138666432a1767142e67f76414, amount:900000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0xa848c35ccb975405ceec7d275d2cbbfe0df577f54a4e87caee5a4bf64f68ad01, amount:500000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x2aa39545e21212127c97ce1059988eb7f8dabe94f61e023bde1b85fd9625a638, amount:1000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x9404948a1b48c6818117f5803e5b868515fc88d1bcbd6fa27a1083089e5b5604, amount:900000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0xa0e340ec2c110a262b3f730c1cd333d52d6bb9fcb0b149bdd7216fb8cd4b2468, amount:100000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x28d9dadd32d1864fa4aa553a74ff82637acb131079bfec5b2777df7dea4a2e5d, amount:900000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0x4c54252a95ae9e334be70375d14d51d4d89a6ae2deeaf9ca47091d797f319620, amount:200000000 [2023-12-16T17:03:57Z INFO runtime::capacity] 🔄 migrated account 0xe2133699b4fdc8444b98f9fddc7039374302a9a41e9ce53eafab113fd236c739, amount:200000000 ``` The total weight calculated for the Capacity migration on testnet: ```bash [2023-12-18T14:50:36Z INFO runtime::capacity] total accounts migrated from locks to freezes: 347 [2023-12-18T14:50:36Z INFO runtime::capacity] 🔄 Capacity Locks->Freezes migration finished [2023-12-18T14:50:36Z INFO runtime::capacity] Capacity Migration calculated weight = Weight { ref_time: 260375000000, proof_size: 0 } [2023-12-18T14:50:36Z INFO runtime::capacity] ✅ migration post_upgrade checks passed ``` The total weight calculated for the Capacity migration on main net: ```bash [2023-12-18T14:57:04Z INFO runtime::capacity] 🔄 Capacity Locks->Freezes migration finished [2023-12-18T14:57:04Z INFO runtime::capacity] Capacity Migration calculated weight = Weight { ref_time: 1625000000, proof_size: 0 } [2023-12-18T14:57:04Z INFO runtime::capacity] ✅ migration post_upgrade checks passed ``` # Upgrade Notes 1. `scripts/upgrade_accounts.py` should be executed to ensure that all accounts have been upgraded before running the migration. # Checklist - [x] Chain spec updated - [ ] Custom RPC OR Runtime API added/changed? Updated js/api-augment. - [ ] Design doc(s) updated - [x] Tests added - [ ] Benchmarks added - [x] Weights updated --------- Co-authored-by: Matthew Orris <--help> Co-authored-by: Enddy Dumbrique <[email protected]> Co-authored-by: Frequency CI [bot] <[email protected]>
# Goal The goal of this PR is to upgrade all the pages dependencies at once. Replaces: - #1821 - #1820 - #1804 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Goal The goal of this PR is to fix the pre migration issue that somehow got slipped into `main` branch. An example of the error is the following: ``` 2023-12-21 20:34:20 Running pre_upgrade... 2023-12-21 20:34:20 (key, value) failed to decode at [238, 198, 243, 193, 61, 38, 174, 37, 7, 201, 155, 103, 81, 225, 158, 118, 13, 72, 203, 53, 182, 108, 220, 238, 63, 151, 213, 0, 114, 204, 79, 216, 6, 164, 163, 214, 215, 161, 241, 20, 108, 0]: Error 2023-12-21 20:34:20 (key, value) failed to decode at [238, 198, 243, 193, 61, 38, 174, 37, 7, 201, 155, 103, 81, 225, 158, 118, 13, 72, 203, 53, 182, 108, 220, 238, 63, 151, 213, 0, 114, 204, 79, 216, 7, 99, 201, 131, 129, 220, 137, 171, 101, 0]: Error [More with other at values] ``` Related to #1693 # Discussion <!-- List discussion items --> # Checklist - [X] try-runtime was updated # verification The try-runtime works as expected 
# Goal Issue #1801 reported that the local parachain wasn't making blocks when following the directions for setting up a local relay chain. `rococo-local.json`, the chain spec file used to setup the local relay chain development environment was out of date with the recent versions of the polkadot-sdk and needed to be updated. Closes #1801 # Checklist - [ ] Chain spec updated - [ ] Custom RPC OR Runtime API added/changed? Updated js/api-augment. - [ ] Design doc(s) updated - [ ] Tests added - [ ] Benchmarks added - [ ] Weights updated
# Goal The goal of this PR is to fix errors related to StorageVersion when running try-runtime Closes #1826 # Discussion - Running try-runtime against mainnet takes hours so instead used the following script which should have the same effect `try-runtime --runtime ./target/release/wbuild/frequency-runtime/frequency_runtime.wasm on-runtime-upgrade live --uri wss://1.rpc.frequency.xyz:443 --pallet Capacity --pallet TimeRelease --pallet Balances --pallet System --pallet Messages --pallet Preimage --pallet Democracy --pallet Scheduler --pallet TransactionPayment --pallet Council --pallet TechnicalCommittee --pallet Treasury --pallet CollatorSelection --pallet Multisig --pallet FrequencyTxPayment --pallet Msa --pallet Messages --pallet ParachainSystem` # Verification on rococo ``` [2023-12-22T18:43:34Z INFO runtime::schemas] Migration Calculated weights=Weight { ref_time: 375000000, proof_size: 0 } [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_preimage [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_democracy [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_scheduler [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_balances [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_collator_selection [2023-12-22T18:43:34Z INFO frequency_runtime] Setting version on pallet_multisig [2023-12-22T18:43:34Z INFO try-runtime::cli] PoV size (zstd-compressed compact proof): 56.2 KB. For parachains, it's your responsibility to verify that a PoV of this size fits within any relaychain constraints. [2023-12-22T18:43:34Z INFO try-runtime::cli] Consumed ref_time: 0.3397s (67.94% of max 0.5s) [2023-12-22T18:43:34Z INFO try-runtime::cli] ✅ TryRuntime_on_runtime_upgrade executed without errors or weight safety warnings. Please note this does not guarantee a successful runtime upgrade. Always test your runtime upgrade with recent state, and ensure that the weight usage of your migrations will not drastically differ between testing and actual on-chain execution. ``` # Verification on mainnet ``` [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_preimage [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_democracy [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_scheduler [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_balances [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_collator_selection [2023-12-22T18:30:34Z INFO frequency_runtime] Setting version on pallet_multisig [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for System [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for ParachainSystem [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Timestamp [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for ParachainInfo [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Preimage [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Democracy [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Scheduler [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Utility [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Balances [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for TransactionPayment [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Council [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for TechnicalCommittee [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Treasury [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Authorship [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for CollatorSelection [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Session [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Aura [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for AuraExt [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Multisig [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for TimeRelease [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Msa [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Messages [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Schemas [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for StatefulStorage [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Capacity [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for FrequencyTxPayment [2023-12-22T18:30:34Z DEBUG runtime::frame-support] ✅ no migration for Handles [2023-12-22T18:30:34Z DEBUG wasm-heap] allocator dropped: AllocationStats { bytes_allocated: 40, bytes_allocated_peak: 792, bytes_allocated_sum: 30048, address_space_used: 1392 } [2023-12-22T18:30:34Z DEBUG try-runtime::cli] Proof: 0x00000000000000000000... / 37 nodes [2023-12-22T18:30:34Z DEBUG try-runtime::cli] Encoded proof size: 5.1 KB [2023-12-22T18:30:34Z DEBUG try-runtime::cli] Compact proof size: 4.0 KB [2023-12-22T18:30:34Z INFO try-runtime::cli] PoV size (zstd-compressed compact proof): 3.5 KB. For parachains, it's your responsibility to verify that a PoV of this size fits within any relaychain constraints. [2023-12-22T18:30:34Z INFO try-runtime::cli] Consumed ref_time: 0.00345s (0.69% of max 0.5s) [2023-12-22T18:30:34Z INFO try-runtime::cli] ✅ TryRuntime_on_runtime_upgrade executed without errors or weight safety warnings. Please note this does not guarantee a successful runtime upgrade. Always test your runtime upgrade with recent state, and ensure that the weight usage of your migrations will not drastically differ between testing and actual on-chain execution. ``` idempotent migrations also work based on latest checks added on try-runtime ``` [2023-12-26T19:34:02Z INFO try_runtime_core::commands::on_runtime_upgrade] ------------------------------------------------------------------- [2023-12-26T19:34:02Z INFO try_runtime_core::commands::on_runtime_upgrade] 🔬 Running TryRuntime_on_runtime_upgrade again to check idempotency: PreAndPost [2023-12-26T19:34:02Z INFO try_runtime_core::commands::on_runtime_upgrade] ------------------------------------------------------------------- [2023-12-26T19:34:02Z INFO frequency_runtime] try-runtime::on_runtime_upgrade frequency. [2023-12-26T19:34:02Z INFO runtime::messages] Running pre_upgrade... [2023-12-26T19:34:02Z INFO runtime::messages] Running storage migration... [2023-12-26T19:34:02Z INFO runtime::messages] onchain_version= StorageVersion(2), current_version=StorageVersion(2) [2023-12-26T19:34:02Z INFO runtime::messages] Migration did not execute. This probably should be removed onchain:StorageVersion(2), current:StorageVersion(2) [2023-12-26T19:34:02Z INFO runtime::messages] Running post_upgrade... [2023-12-26T19:34:02Z INFO runtime::capacity] Old StorageAccountLedger migration attempted to run. Please remove [2023-12-26T19:34:02Z INFO runtime::capacity] Old Capacity Locks->Freezes migration attempted to run. Please remove [2023-12-26T19:34:02Z INFO runtime::schemas] Running pre_upgrade... [2023-12-26T19:34:02Z INFO runtime::schemas] Running storage migration... [2023-12-26T19:34:02Z INFO runtime::schemas] onchain_version= StorageVersion(3), current_version=StorageVersion(3) [2023-12-26T19:34:02Z INFO runtime::schemas] Migration did not execute. This probably should be removed onchain:StorageVersion(3), current:StorageVersion(3) [2023-12-26T19:34:02Z INFO runtime::schemas] Running post_upgrade... [2023-12-26T19:34:02Z INFO try-runtime::cli] PoV size (zstd-compressed compact proof): 3.5 KB. For parachains, it's your responsibility to verify that a PoV of this size fits within any relaychain constraints. [2023-12-26T19:34:02Z INFO try-runtime::cli] Consumed ref_time: 0.00345s (0.69% of max 0.5s) [2023-12-26T19:34:02Z INFO try-runtime::cli] ✅ No weight safety issues detected. Please note this does not guarantee a successful runtime upgrade. Always test your runtime upgrade with recent state, and ensure that the weight usage of your migrations will not drastically differ between testing and actual on-chain execution. ```
\d doesn't work as expected. Using [0-9] instead # Goal The goal of this PR is to fix a release tagging issue Test in bash: ```bash [[ "v1.10.0" =~ ^v([0-9]+)\.(0|([1-9][0-9]+))\.(0|([1-9][0-9]+))(-rc[1-9][0-9]*)?$ ]] && echo "works" [[ "v1.0.0" =~ ^v([0-9]+)\.(0|([1-9][0-9]+))\.(0|([1-9][0-9]+))(-rc[1-9][0-9]*)?$ ]] && echo "works" [[ "v1.01.0" =~ ^v([0-9]+)\.(0|([1-9][0-9]+))\.(0|([1-9][0-9]+))(-rc[1-9][0-9]*)?$ ]] || echo "fails correctly" [[ "v1.1.01" =~ ^v([0-9]+)\.(0|([1-9][0-9]+))\.(0|([1-9][0-9]+))(-rc[1-9][0-9]*)?$ ]] || echo "fails correctly" [[ "v1.1.1-rc0" =~ ^v([0-9]+)\.(0|([1-9][0-9]+))\.(0|([1-9][0-9]+))(-rc[1-9][0-9]*)?$ ]] || echo "fails correctly" ```
# Goal The goal of this PR is to update Rust to 1.84.1 and use the new base image - Re-enable cargo deny (thanks to the version bump) - Update Rust to v1.84.1 - Update nightly version - Update srtool - Update to use new ci base image v1.4.0
# Goal The goal of this PR is to use benchmarks v2 macros Closes #2328 # Checklist - [x] Benchmarks updated
# Goal The goal of this PR is to upgrade Frequency to the latest Polkadot `stable2503` release. In addition to the base changes required by `stable2503`, a couple other fixes/tweaks: * Fix `schemas` pallet benchmarks that were broken by #2321 * Since `stable2512` introduced the requirement for frame system extensions weights to construct the runtime, add `frame_system_extensions` to our benchmarking setup (instead of hard-coding a copy from the polkadot-sdk repo) Closes #2317 # Checklist - [x] Updated Pallet Readme? - [x] Benchmarks added? - [x] Spec version incremented? --------- Co-authored-by: Aramik <[email protected]> Co-authored-by: aramikm <[email protected]>
This updates the way benchmarks are run so that we use less time on the benchmark runner. Benchmark runner time is now < 20 minutes. (Total run is much longer, but this is much easier to use spot instances with) - Update the release workflow - Update the benchmark runner - Switch the benchmark runner to use `m6id.2xlarge` as the benchmark. This is for various reasons, but it mostly is a better equivalent for the Polkadot Validator minimum. - Benchmark runner had been a `c7i` for the last run, so the numbers look like they increase more than they actually did. - Ran all benchmarks --------- Co-authored-by: Joe Caputo <[email protected]> Co-authored-by: wilwade <[email protected]>
) Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.0.9 to 2.2.2. Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5.2.0 (#2344) Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 5.0.1 to 5.2.0. Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Goal The goal of this PR is to update and enable a bunch of Clippy lints. Closes #1855 # Discussion - Most of these things are normal clippy fixes - Highlighted the ones that are strange - Added `make lint-fix` that runs clippy fix # Checklist - [x] Spec version incremented?
# Goal The goal of this PR is to update JS dependencies before the new release - e2e - api-augment - schemas - tools Also: - Removed workerpool as no longer needed
# Goal The goal of this PR is to update the paseo local chain spec. Part of #2333 # Discussion - Updated from https://github.com/paseo-network/runtimes/tree/main/chain-specs/local - This does change the genesis, so it breaks things like `make run-frequency-docker` until the docker images are updated
# Goal The goal of this PR is to modify accounts to be compatible with ETH keys used inn pallet-revive. Closes #2289 # Discussion - This is not a backwards compatible change but it doesn't appear that we have any accounts with previous formatting so it should be safe. # Checklist - [x] Unit Tests added? - [x] e2e modified - [x] Spec version incremented?
# Goal The goal of this PR is to reduce the size of the released wasm for Testnet ## Details Testnet wasm has always been larger than mainnet, as it includes a few more things like the sudo pallet. However in release [v1.14.0](https://github.com/frequency-chain/frequency/releases/tag/v1.14.0) it increased a large amount. This has not been an issue, but in v1.16.0, the wasm increased to over 2.5Mb which caused issues with being able to upgrade cleanly on testnet. A reason for the increase was that the mainnet genesis was also being included in the testnet releases. This was not needed, so this PR removes it from those builds. ## Summary - Fixed release notes template issues - Removed paseo local spec from the build for paseo testnet - Limited the `frequency_genesis_config` to just `frequency` and benchmarks runs - Bumped the spec version ## Result Local builds of the Mainnet wasm are at ~1.7M and Testnet dropped from 2.6M to 2.1M ## Local Testing - Mainnet: `make build-mainnet-release && ls -lah target/release/wbuild/frequency-runtime/frequency_runtime*` - Testnet: `make build-testnet-release && ls -lah target/release/wbuild/frequency-runtime/frequency_runtime*`
# Goal The goal of this PR is to fix the issues with running Paseo-Local, and confirm that there are no issues with fatxpool Part of #2333 # Discussion - Updated the fee test to be a bit looser with the new benchmark runners - Adding missing `with_id` to the `frequnecy-paseo-local` spec generator - Bumped the Paseo-Local spec to the new v1.4.2 - Removed/Fixed the old generate_spec.sh script - Added notes about `setSchedulingLookahead` for the Paseo Local chain - Added a third tech council member for local to break ties # Checklist - [x] Updated Readme? - [x] Spec version incremented?
…#2363) # Goal The goal of this PR is to update the check_handle Runtime RPC to correctly use the whitespace trim and collapse Closes #2362 # Discussion - I thought about updating how this gets the value to be more aligned, but in the end the simple fix won out. # Checklist - [x] Unit Tests added? - [x] Spec version incremented?
# Goal The goal of this PR is to fix the bug in offchain worker Closes #2293 There are 2 kinds of errors: - Some MsaIds have multiple indexed keys which only one of them is valid (ex: 1394377) - Some MsaIds have no indexed keys (ex: 1414115) The main issue is that forks cause overwrites on offchain indexed events so we had to find a way to fix these overwrites. # Attempted solution We are now double indexing any event so that if one of them gets overwritten the other one would most likely get consumed. To do this we are getting a pseudo random index from 1 to 1000 and store that event inside a bucket associated with that block and index. The only tradeoff is that we have to look at all the buckets for each block inside offchain worker to fetch these stored events since there is no `iter_prefix` from inside offchain worker. # Discussion - To fix the existing wrong indices I tried to add a runtime but any code not called from offchain worker context can not access to any offchain worker related features such as locks and timestamps and ... - Since adding an extrinsic was the easiest way to handle it added a new extrinsic (similar to `remark`) which only adds an event to reindexing a certain msa id. This is not the best solution since we have to spend some token to reindex but it was the fastest and easiest to do. Currently it's not free but if desired we can make it free or capacity supported but will need to ensure it's not going to be abused - The other way to fix this is to add a new rpc and refactor the code such that it can be called from this rpc but it was a heavier lift # Further attempts that didn't work - Using the Remark event to inject the reindex data doesn't work since the event only stores the hash of the remark not the data - Using the Remark Extrinsic to inject the reindex data also doesn't work since it is only stored temporarily and if the offchain worker does not run in the the exact time-window that it's available it would be lost. # Checklist - [x] Unit Tests added? - [x] Benchmarks added? - [x] Spec version incremented?
…from an MSA ID (#2358) # Goal This PR adds some internal pallet functions and custom runtime to deterministically generate an Ethereum address from an MSA ID, and vice versa. The general approach is: - Use a domain separator prefix to eliminate any possible conflict with addresses generated by `CREATE2` - Use a salt that is the hash of the string "MSA Generated" - Take the last 20 bytes of the hash of `(prefix + MSA ID + salt)` - If returning a string for the runtime query, pass through an [ERC-55 checksum algorithm](https://github.com/ethereum/ercs/blob/master/ERCS/erc-55.md) to alter the returned hex string Note, although addresses generated in this manner cannot be reversed to recover the related MSA ID, they can be verified (ie, given an address and an MSA ID, we can determine whether or not the address is the result of applying the above algorithm to the MSA ID). It is not envisioned that there would ever be an _on-chain_ requirement to recover the MSA ID from the address; if such a use case was desired for off-chain purposes, it would be relatively trivial to populate a static lookup table mapping all known or possible MSAs to their corresponding address, or vice-versa. Closes #2353 Closes #2352 # Discussion - Q0: Currently returning ASCII bytes; or do we want to return the binary address bytes? - A: Now returning a struct containing both the binary address & checksummed string # Checklist - [x] Updated Pallet Readme? - [ ] Updated js/api-augment for Custom RPC APIs? - [ ] Design doc(s) updated? - [x] Unit Tests added? - [x] e2e Tests added? - [ ] Benchmarks added? - [x] Spec version incremented?
# Goal The goal of this PR is to add support for linux/arm64 in binaries and docker images Closes #779
# Goal The goal of this PR is to allow encoding and verification of EIP-712 signatures for our custom signed payloads. Related to #2278 # Discussion - The frontend side of these changes will be implemented in #2281 - I didn't know which chain ID to use so used the test chainID for pallet revive. We need to set these once we figure out those values. # Checklist - [x] Unit Tests added? - [x] e2e Tests added? - [x] Spec version incremented?
# Goal The goal of this PR is to make the e2e tests work against Testnet on Paseo e2e Run against Testnet-Paseo: https://github.com/frequency-chain/frequency/actions/runs/15022918786 All green except for non-released features! # Discussion The main issue is that many things need to wait until finalization for the next thing to be able to consistently work. - Updated JS packages - Split up several e2e tests to parallelize - Update the setup of many e2e tests to run in parallel - Update the nonce setup to use Atomics so that it is "thread" safe - Increase timeouts as the tests take longer against a chain that takes time to finalize - Suppress expected rpc errors on sendUnsigned
# Goal The goal of this PR is to update the ci image to v1.5.6 (which has gpg installed) Also does a small verify pr commit tweak that speeds up the build by about 1.5 minutes
# Goal The goal of this PR is to create a ethereum utility library which can help us dealing with ethereum addresses and signatures and etc. Closes #2281 ## What is added? - Generates CJS and ESM and browser compatible JS. - Be able to generate EIP-712 signatures and verify them - Generate Ethereum keys with different address encodings # Checklist - [x] Unit Tests added? - [x] e2e Tests modified
# Goal The goal of this PR is just updating the CI image version so that it also has gpg-agent
# Goal The goal of this PR is to fix a typo on `js-ethereum-utils-`
# Goal The goal of this PR is to allow adding a second key to be a <del>free</del> subsidized capacity transaction under specific circumstances. This change reduces the capacity fee by about 70% when there is one key, and the new key is Ethereum-compatible. Most of #2286 # Discussion Note on something easy to miss: the expiration block will default to 0, which means this feature is off by default, until the value is set to a block in the future. There is no on-chain monitoring of the usage of this feature. # Checklist - [x] As Sudo or Council, can set the expiration block for the <del>free</del> subsidized key addition period. - [x] Updated frequency-tx-payment SignedExtension to use a filter for the specific call - [x] frequency-tx-payment uses an Msa call to determine eligibility - [x] Updated Pallet Readme? - [x] Unit Tests added? - [x] e2e Tests added? - [x] Benchmarks added? - [x] Spec version incremented? ### not applicable <del> - [ ] Design doc(s) updated? </del> --------- Co-authored-by: Joe Caputo <[email protected]>
# Goal The goal of this PR is regular updates of JavaScript dependencies.
# Goal The goal of this PR is add some missing functionality into `ethereum-utils` which was required for other apps Related to #2283
# Goal The goal of this PR is to close #2416 # Checklist - [x] Unit Tests added? - [x] Spec version incremented?
f6252b9
into
chore/review-boosting-for-committed-boosting
6 checks passed
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.
Goal
This is a dummy PR to facilitate async paired review of Provider Boosting code, in preparation for a new feature implementation