Conversation
|
|
||
| #[test] | ||
| fn successful_with_stored_v2() { | ||
| #[allow(deprecated)] |
There was a problem hiding this comment.
We still want to check if the components are working with the deprecated version.
| # Cumulus | ||
| cumulus-pallet-aura-ext = { workspace = true } | ||
| cumulus-pallet-parachain-system = { workspace = true, features = ["parameterized-consensus-hook"] } | ||
| cumulus-pallet-parachain-system = { workspace = true } |
There was a problem hiding this comment.
The paremterized-consensus-hook is removed in version: Polkadot v1.13.0
| } | ||
| } | ||
|
|
||
| #[allow(deprecated)] |
There was a problem hiding this comment.
The next major release will already contain the omninode. Therefore, I kept the changes as minimal as possible, as they get anyway dropped in the next polkadot dependency update.
| type HrmpChannelAcceptedHandler = (); | ||
| type HrmpChannelClosingHandler = (); | ||
| type HrmpNewChannelOpenRequestHandler = (); |
There was a problem hiding this comment.
No need for optional extra logic for updating any HRMP channel.
runtimes/spiritnet/src/xcm.rs
Outdated
| type HrmpChannelAcceptedHandler = (); | ||
| type HrmpChannelClosingHandler = (); | ||
| type HrmpNewChannelOpenRequestHandler = (); | ||
| type XcmRecorder = (); |
There was a problem hiding this comment.
New type used for dry runes. Enables a better investigation of received and send XCM messages. The recorded messages are available under Polkadotxcm.
| type OnSlash = Treasury; | ||
| type ProposalBond = ProposalBond; | ||
| type ProposalBondMinimum = ConstU128<{ 20 * KILT }>; | ||
| type ProposalBondMaximum = (); |
There was a problem hiding this comment.
TODO: check treasury changes.
There was a problem hiding this comment.
Removed in: [https://github.com/paritytech/polkadot-sdk/pull/4831] and paritytech/polkadot-sdk@d579b67.
Just use spend_local
There was a problem hiding this comment.
There’s no longer a need to manually bump storage values.
Newly introduced pallets default to the correct storage version.
So, I’ve removed the migration helper.
| #[cfg(not(feature = "runtime-benchmarks"))] | ||
| type PrimeOrigin = frame_support::traits::NeverEnsureOrigin<AccountId>; | ||
| #[cfg(feature = "runtime-benchmarks")] | ||
| type PrimeOrigin = frame_system::EnsureSigned<AccountId>; |
There was a problem hiding this comment.
Required, otherwise benchmarking was not working.
| // along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
|
|
||
| // If you feel like getting in touch with us, you can do so at <hello@kilt.io> | ||
| #![allow(clippy::expect_used)] |
There was a problem hiding this comment.
I do not like this. By moving the mod in a new crate, we can get rid of it.
|
|
||
| fn authorities() -> Vec<AuthorityId> { | ||
| Aura::authorities().into_inner() | ||
| pallet_aura::Authorities::<Runtime>::get().into_inner() |
| //! WORST CASE MAP SIZE: `1000000` | ||
| //! HOSTNAME: `rust-2`, CPU: `12th Gen Intel(R) Core(TM) i9-12900K` | ||
| //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 | ||
| //! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 |
There was a problem hiding this comment.
Strange… I can see in the logs that the chain is set to Development. Not sure why it's showing None here.
None would mean the benchmarks are executed with the default RuntimeGenesis, which is also fine but still....
|
|
||
| pub type RuntimeMigrations = ( | ||
| pallet_xcm::migration::MigrateToLatestXcmVersion<Runtime>, | ||
| frame_support::migrations::RemovePallet<DmpPalletName, <Runtime as frame_system::Config>::DbWeight>, |
There was a problem hiding this comment.
I am not sure anymore, If we already executed the DmpPallet removement. It still does not hurt to execute the migration. Document, when this can be removed
| )); | ||
| System::assert_last_event( | ||
|
|
||
| #[cfg(not(feature = "runtime-benchmarks"))] |
There was a problem hiding this comment.
should be further looked into.
| pub fn get_public_key_from_secret<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public { | ||
| #[allow(clippy::expect_used)] | ||
| TPublic::Pair::from_string(&format!("//{}", seed), None) | ||
| .expect("static values are valid; qed") | ||
| .public() | ||
| } |
There was a problem hiding this comment.
expect here should be dealt with?
|
|
||
| parameter_types! { | ||
| pub const Inflation: &'static str = "Inflation"; | ||
| pub const DmpPalletName: &'static str = "DmpQueue"; |
|
|
||
| [features] | ||
| default = ["std"] | ||
| mock = ["std"] |
There was a problem hiding this comment.
The pallet is using a mock feature, which is not specified in the cargo.toml. Rust was complaining about it now: https://github.com/KILTprotocol/kilt-node/blob/develop/pallets/pallet-configuration/src/lib.rs#L33
There was a problem hiding this comment.
I'm quite sure this is a misconfiguration somewhere, as using mock itself should not require using std. But it's not that important, maybe just add a quick FIXME that we can address later on.
There was a problem hiding this comment.
After cargo clean it seems to work now: 2b62fdd 😃
# Implements ISMP related pallet
Updates Polkadot dependencies to version 2409-05
Versioning
Polkadot dependencies have been updated from version 1.7.0 to 1.16.5.
Versions between 1.7.0 and 1.14.x were skipped due to ambiguity around which tag, branch, crates.io version, or commit to use. Additionally, many intermediate versions were broken, as Parity crates frequently failed to compile.
The main motivation for this update was to ensure compatibility with Hyperbridge, which only supports the current LTS version. LTS version 2407 was also skipped, as internal crates failed to compile (I admit I did not test all possible patch versions).
Notable changes
The pallet-parachain-system no longer exposes the authorize_upgrade and enact_authorized_upgrade extrinsics. According to this PR, parachains should now use the system.setCode extrinsic instead.
The pallet-treasury no longer exposes
propose_spend,reject_proposal, andapprove_proposal. This may pose issues if there are pending proposals during a runtime upgrade.frame-omni-bencher is now available. As a result, the custom benchmarking CLI has been removed from the node. I can reintroduce it if needed.
I removed the genesis builder from the node implementation and moved it into the runtime itself, following the pattern used in the parachain template and other projects.
The RuntimeGenesis is now required by the runtime-api; without it, benchmarking no longer works.
To improve compatibility with the upcoming omni-node, we should consider introducing a separate crate that handles the chain specs and RuntimeGenesis configurations for different chains.
Migrations
Future work
The WASMs diff can be investigated here:
Spiritnet Wasm Diff
Peregrine WASM diff