-
Notifications
You must be signed in to change notification settings - Fork 140
[AHM] OpenGov for Kusama AH #776
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
[AHM] OpenGov for Kusama AH #776
Conversation
| type SpendOrigin = TreasurySpender; | ||
|
|
||
| // TODO: Do we still need `VersionedLocatableAsset`? (Check treasury migration!) | ||
| type AssetKind = VersionedAssetId; |
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.
@muharem I checked how the treasury is migrated and also: https://github.com/polkadot-fellows/runtimes/blob/dev-asset-hub-migration/pallets/rc-migrator/src/treasury.md
With support only for LocalPay and Location { parents: 0, interior: Here }, can we just use VersionedAssetId and VersionedLocation instead of VersionedLocatableAsset and VersionedLocatableAccount?
Instead of this:
type AssetKind = VersionedLocatableAsset;
type Beneficiary = VersionedLocatableAccount;
to use:
type AssetKind = VersionedAssetId;
type Beneficiary = VersionedLocation;
3dc1623 to
83c833d
Compare
…cause we don't send migration start to other system paras
b765d16 to
6903926
Compare
This PR introduces test case scenarios to verify if parachain is able to process `authorize_upgrade` call as if it was send via governance chain (a Relay Chain for purpose of this PR) These test cases were introduced to [polkadot-sdk](https://github.com/search?q=repo%3Aparitytech%2Fpolkadot-sdk%20governance_authorize_upgrade_works&type=code) and suggested via [comment](paritytech/polkadot-sdk#7566 (comment)) that it would be nice to port, so this is just integration of existing testnets cases for production networks This PR also introduces integration tests covering all system chains that simulates real network upgrade using whitelisting (via Collectives chain in case of Polkadot) ### Test Coverage | Chain | Unit Tests | Integration Tests | |-------------------------|--------------------------------------|-------------------------------------| | Polkadot Asset Hub | ✅ | ✅ | | Polkadot Coretime | ✅ | ✅ | | Polkadot Collectives | ✅ | ✅ | | Polkadot Bridge Hub | ✅ | ✅ | | Polkadot People | ✅ | ✅ | | Kusama Asset Hub | ✅ | ✅ | | Kusama Coretime | ✅ | ✅ | | Kusama Bridge Hub | ✅ | ✅ | | Kusama People | ✅ | ✅ | | Kusama Encointer | ✅ |_Lack of mocked network definition_ [here](https://github.com/polkadot-fellows/runtimes/blob/2fb47566718a974c261b68fffaae500be5581820/integration-tests/emulated/networks/kusama-system/src/lib.rs#L40) | | Kusama Relay | _Not applicable_ | ✅ | | Polkadot Relay | _Not applicable_ | ✅ | | Kusama Glutton | _Not supported: `BasicParachainRuntime` not implemented_ | _Lack of mocked network definition_ [here](https://github.com/polkadot-fellows/runtimes/blob/2fb47566718a974c261b68fffaae500be5581820/integration-tests/emulated/networks/kusama-system/src/lib.rs#L40)| ### Follow-up: For AHM, we will add also the tests for OpenGov on AHs: #776 #626 --------- Co-authored-by: Branislav Kontur <[email protected]>
…overnance-tweaks3
…overnance-tweaks3
…aks2 [WIP] sync AHM branch with main
Merging #776 to #856 ## TODO - [x] waiting for @muharem confirmation on several comments bellow - [ ] @karolk91 fix either here or follow-up: https://github.com/polkadot-fellows/runtimes/pull/626/files#r2322701735 --------- Signed-off-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: muharem <[email protected]>
|
closing in favor of #877 (which is already merged) |
Closes: paritytech/polkadot-sdk#7578 Relates: paritytech/polkadot-sdk#7541 Relates: paritytech/polkadot-sdk#7566 This PR introduces all relevant changes and settings for RC and system parachains related to the migration of OpenGov to **Polkadot** AssetHub. The counterpart for **Kusama** AssetHub can be found here: ~#776 #877. ## TODO - [x] check/setup governance origin/root/plurality propagation from migrated AssetHub governance to relaychain (before/during/after AHM) - [x] check/setup governance origin/root/plurality propagation from migrated AssetHub governance to system parachains (before/during/after AHM) - [x] add integration tests that ensure governance can `authorize_upgrade` relay/system chains - [x] Add `LocalPalletOrSignedOriginToLocation` to the AH - [x] All system parachains needs to accept `StakingAdmin` from AH and RC because of `CollatorSelectionUpdateOrigin` - [x] Except AssetHub needs to accept `StakingAdmin` from local OpenGov AH and RC - [x] Add the test that AH's OpenGov RuntimeOrigin:root is propagated to the relaychain as root (should work because of `EnsureXcmOrigin`) --------- Co-authored-by: Karol Kokoszka <[email protected]> Co-authored-by: Karol Kokoszka <[email protected]>
Closes: paritytech/polkadot-sdk#7578
Relates: paritytech/polkadot-sdk#7541
Relates: paritytech/polkadot-sdk#7566
TBD: as a preparation for AHM for Kusama (intentionally not based on
dev-asset-hub-migrationfor now - I will left TODO when needed some migration state or whatever)This PR introduces all relevant changes and settings for RC and system parachains related to the migration of OpenGov to Kusama AssetHub. The counterpart for Polkadot AssetHub can be found here: #626.
Key features
GeneralAdminvoice plurality from AH and RCStakingAdminfrom AH and RC because ofCollatorSelectionUpdateOriginStakingAdminfrom local OpenGov AH and RCPlan
TODO
Questions
type Paymaster =correct impl for local assets/accounts (VersionedAssetId / VersionedLocation is enought instead of locatable ones?)TreasuryInteriorLocationhow is the account with PALLET_ID=18 migrated on AH?pub const GovernanceLocation: Location = Location::parent();usually used for collators selection - search for// TODO: split GovernanceOnRcLocation and GovernanceOnAhLocation - because we don't send migration start to other system parasAssetRateWithNativeon AH?