migrate: Core-1 vesting accounts to the Charter
Summary
Migrates all Core-1 to new vesting contracts. If the wallet is wolf, send funds to the Core-1 subdao (No more vesting for him)
Uses - https://pastebin.com/raw/89MJms1c - to test manually
SDK v47 now lets us create accounts at runtime
Should also use Osmosis as ref: https://github.com/osmosis-labs/cosmos-sdk/blob/osmo/v0.47.5/x/auth/vesting/types/vesting_account.go#L813-L859
Bumping to v17+ due to complexity. Would rather it be safe and get more testing since we are moving like millions in funds
Bumping to v17+ due to complexity. Would rather it be safe and get more testing since we are moving like millions in funds
Yep, already so much in this release. Absolute huge upgrade and reducing complexity is good.
Needs a signaling proposal via main gov, not just Core-1; per validator comments to me & modification of genesis accounts
Putting this snippet here from the other PR to remove the multisig, as it may be useful (i.e. get the unvested amount, subtract balance, and handle)
func mintUnvestedToCharter(ctx sdk.Context, k *keepers.AppKeepers, CouncilAddr sdk.AccAddress, vestingAcc *vestingtypes.PeriodicVestingAccount) { // nolint:gocritic
unvested := SumPeriodVestingAccountsUnvestedTokensAmount(ctx, vestingAcc)
fmt.Printf("Core1Addr Unvested to mint to the charter: %s\n", unvested)
coins := sdk.NewCoins(sdk.NewCoin("ujuno", unvested))
if err := k.BankKeeper.MintCoins(ctx, "mint", coins); err != nil {
panic(err)
}
if err := k.BankKeeper.SendCoinsFromModuleToAccount(ctx, "mint", CouncilAddr, coins); err != nil {
panic(err)
}
}
FYI:
This pull request provides the logic to send all remaining funds from the core-1 vesting accounts to the council wallet. All core-1 accounts will undergo instant redelegation and unbonding. The only exception is Jack's delegations to his validator at Strangelove will not be unbonded.
All logic takes place in the v20 upgrade handler. Once v20 goes into production, the council will then be required to issue new vesting accounts.
The v20 namespace will be created after this PR is approved and merged.
With Ops Department we decided to put this on hold since not all core-1 members agreed to cancel their vesting
probably should be closed, unless the migration isn't actually done
not done, only the multisig was transfered. doubt it will get through since the charter is against upgrades
thanks for clarifying @Reecepbcups