Skip to content
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

!feat: Intergrate multi-staking module #104

Merged
merged 61 commits into from
Feb 2, 2024
Merged
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
7d17bd4
add multi staking
GNaD13 Dec 26, 2023
aa48f6d
upgrade handler
GNaD13 Dec 29, 2023
a89ddca
go mod
GNaD13 Dec 29, 2023
6776105
upgrade name:
GNaD13 Dec 29, 2023
c9793d2
comment
GNaD13 Dec 29, 2023
3da645e
nit
GNaD13 Jan 3, 2024
7ec63b3
nit
GNaD13 Jan 3, 2024
b729c16
nit
GNaD13 Jan 3, 2024
d3b22b9
step
GNaD13 Jan 3, 2024
aaeeefa
new migrate
GNaD13 Jan 3, 2024
21b213f
comment
GNaD13 Jan 3, 2024
f76d9af
add key to upgrade handler
GNaD13 Jan 3, 2024
c3d4282
migrate staking module
hieuvubk Jan 3, 2024
88c1969
migrate bank
GNaD13 Jan 3, 2024
9ae1519
Merge pull request #1 from decentrio/migrate-bank
GNaD13 Jan 3, 2024
e568450
nit
GNaD13 Jan 3, 2024
6b4b492
upgrade hanlder
GNaD13 Jan 3, 2024
6ababc8
nit
GNaD13 Jan 3, 2024
b0460db
resolve conflict
hieuvubk Jan 3, 2024
5d0e806
change cm
GNaD13 Jan 3, 2024
6f9ab27
tidy
GNaD13 Jan 3, 2024
8af3bf9
go mod
GNaD13 Jan 3, 2024
f1e8c94
nit
GNaD13 Jan 3, 2024
b9fb09e
add log
GNaD13 Jan 3, 2024
8250c6f
nit
GNaD13 Jan 3, 2024
400d376
home
hieuvubk Jan 3, 2024
8880a97
state test
GNaD13 Jan 3, 2024
654d5fd
nit
GNaD13 Jan 3, 2024
2cbe664
Merge branch 'intergrate-multistaking' of https://github.com/decentri…
hieuvubk Jan 3, 2024
fdfaa48
mock types
hieuvubk Jan 3, 2024
64686cb
fix
hieuvubk Jan 3, 2024
4cccb49
no need import
hieuvubk Jan 3, 2024
aaad598
test
GNaD13 Jan 3, 2024
7c02451
nit
GNaD13 Jan 3, 2024
1ed7bb4
add migrate distribution
GNaD13 Jan 5, 2024
5e01c61
use IntermediaryDelegator
hieuvubk Jan 6, 2024
7b77af7
Merge branch 'intergrate-multistaking' of https://github.com/decentri…
hieuvubk Jan 6, 2024
4e69cac
new multi-staking module
GNaD13 Jan 17, 2024
9e212f5
Merge remote-tracking branch 'decent/intergrate-multistaking' into in…
GNaD13 Jan 17, 2024
39b1473
merge
GNaD13 Jan 17, 2024
60194ac
done
GNaD13 Jan 17, 2024
8d1cf1b
remove unused code
GNaD13 Jan 17, 2024
8eca95c
nit
GNaD13 Jan 17, 2024
388ecef
nit
GNaD13 Jan 17, 2024
3914449
nit
GNaD13 Jan 19, 2024
478ccbb
nit
GNaD13 Jan 19, 2024
17fbc06
module permission:
GNaD13 Jan 19, 2024
ca17423
update multi-staking
GNaD13 Jan 19, 2024
9bc1794
create module account in upgrade handler
GNaD13 Jan 19, 2024
c975933
add migrate multistaking unlock:
GNaD13 Jan 19, 2024
105cd03
update multi-staking module
GNaD13 Jan 25, 2024
822c761
release multi staking
GNaD13 Jan 26, 2024
8a65176
fix setup test
GNaD13 Jan 28, 2024
c35fd1b
nit
GNaD13 Jan 28, 2024
afc8a64
nit
GNaD13 Jan 29, 2024
1fddfea
validate genesis
GNaD13 Jan 29, 2024
e6cedb1
Change release version to v1.0.0-rc2
neitdung Jan 30, 2024
27fc5da
Remove unused files
neitdung Jan 31, 2024
951118d
nit
GNaD13 Jan 31, 2024
2815270
nit
GNaD13 Feb 1, 2024
d164330
nit
GNaD13 Feb 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test
GNaD13 committed Jan 3, 2024
commit aaad598660c2d41250f8a425174e34ea99787338
10 changes: 5 additions & 5 deletions app/upgrades/multi-staking/upgrade.go
Original file line number Diff line number Diff line change
@@ -23,9 +23,9 @@ import (
multistakingkeeper "github.com/realio-tech/multi-staking-module/x/multi-staking/keeper"

"cosmossdk.io/math"
types1 "github.com/cosmos/cosmos-sdk/codec/types"
multistakingtypes "github.com/realio-tech/multi-staking-module/x/multi-staking/types"
"github.com/realiotech/realio-network/app/upgrades/multi-staking/legacy"
types1 "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/spf13/cast"
)

@@ -73,7 +73,7 @@ func CreateUpgradeHandler(
fmt.Println("=============UpgradeHandler=============")

if err != nil {
panic("Unable to migrate staking module to multi-staking module")
panic(err)
}
vm[multistakingtypes.ModuleName] = multistaking.AppModule{}.ConsensusVersion()
mm.Modules[multistakingtypes.ModuleName].InitGenesis(ctx, cdc, appState[multistakingtypes.ModuleName])
@@ -169,16 +169,16 @@ type GenesisState struct {
UnbondingDelegations []stakingtypes.UnbondingDelegation `protobuf:"bytes,6,rep,name=unbonding_delegations,json=unbondingDelegations,proto3" json:"unbonding_delegations"`
// redelegations defines the redelegations active at genesis.
Redelegations []stakingtypes.Redelegation `protobuf:"bytes,7,rep,name=redelegations,proto3" json:"redelegations"`
Exported bool `protobuf:"varint,8,opt,name=exported,proto3" json:"exported,omitempty"`
Exported bool `protobuf:"varint,8,opt,name=exported,proto3" json:"exported,omitempty"`
}

type MultiStakingGenesisState struct {
MultiStakingLocks []multistakingtypes.MultiStakingLock `protobuf:"bytes,1,rep,name=multi_staking_locks,json=multiStakingLocks,proto3" json:"multi_staking_locks"`
MultiStakingUnlocks []multistakingtypes.MultiStakingUnlock `protobuf:"bytes,2,rep,name=multi_staking_unlocks,json=multiStakingUnlocks,proto3" json:"multi_staking_unlocks"`
MultiStakingCoinInfo []multistakingtypes.MultiStakingCoinInfo `protobuf:"bytes,3,rep,name=multi_staking_coin_info,json=multiStakingCoinInfo,proto3" json:"multi_staking_coin_info"`
ValidatorMultiStakingCoins []multistakingtypes.ValidatorMultiStakingCoin `protobuf:"bytes,4,rep,name=validator_multi_staking_coins,json=validatorMultiStakingCoins,proto3" json:"validator_multi_staking_coins"`
IntermediaryDelegators []string `protobuf:"bytes,5,rep,name=IntermediaryDelegators,proto3" json:"IntermediaryDelegators,omitempty"`
StakingGenesisState GenesisState `protobuf:"bytes,6,opt,name=staking_genesis_state,json=stakingGenesisState,proto3" json:"staking_genesis_state"`
IntermediaryDelegators []string `protobuf:"bytes,5,rep,name=IntermediaryDelegators,proto3" json:"IntermediaryDelegators,omitempty"`
StakingGenesisState GenesisState `protobuf:"bytes,6,opt,name=staking_genesis_state,json=stakingGenesisState,proto3" json:"staking_genesis_state"`
}

func migrateMultiStaking(appState map[string]json.RawMessage) (map[string]json.RawMessage, error) {
102 changes: 51 additions & 51 deletions scripts/state.json
Original file line number Diff line number Diff line change
@@ -8,11 +8,11 @@
"authorizationRequired": true,
"authorized": [
{
"address": "realio1a6zwdatcwc62kpw4rl47pekfph0hv2fx7tlvd4",
"address": "realio1jzmums53uxlqderxsm8hxezm3334eyrhm88chp",
"authorized": true
}
],
"manager": "realio1a6zwdatcwc62kpw4rl47pekfph0hv2fx7tlvd4",
"manager": "realio1jzmums53uxlqderxsm8hxezm3334eyrhm88chp",
"name": "Realio Security Token",
"symbol": "rst",
"total": "50000000"
@@ -25,10 +25,10 @@
"@type": "/ethermint.types.v1.EthAccount",
"base_account": {
"account_number": "0",
"address": "realio180w824kck05rj6aj9wjah2an7le3z5fdpzdhm5",
"address": "realio1psudxzyxgtru2lqnfdragqw9gcndr3k0k0j3tk",
"pub_key": {
"@type": "/ethermint.crypto.v1.ethsecp256k1.PubKey",
"key": "Ap8vUU5YA/ngCGJhjhyX4nKn1kIL3aEYu8tQlXEPwYoA"
"key": "A414eIHhu6+n+Xp8UxgZjzjpUk0QjCa/IWuG7kKXEGna"
},
"sequence": "3"
},
@@ -75,6 +75,16 @@
"burner"
]
},
{
"@type": "/ethermint.types.v1.EthAccount",
"base_account": {
"account_number": "2",
"address": "realio1jzmums53uxlqderxsm8hxezm3334eyrhm88chp",
"pub_key": null,
"sequence": "0"
},
"code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
{
"@type": "/cosmos.auth.v1beta1.ModuleAccount",
"base_account": {
@@ -90,7 +100,7 @@
"@type": "/ethermint.types.v1.EthAccount",
"base_account": {
"account_number": "1",
"address": "realio16zvg7jf36n2sqav453m62kpxwe63sk3hzwzqnm",
"address": "realio1649y5p6krvrpc57lhrux0wa50m6uxtldw5laxs",
"pub_key": null,
"sequence": "0"
},
@@ -109,16 +119,6 @@
"minter"
]
},
{
"@type": "/ethermint.types.v1.EthAccount",
"base_account": {
"account_number": "2",
"address": "realio1a6zwdatcwc62kpw4rl47pekfph0hv2fx7tlvd4",
"pub_key": null,
"sequence": "0"
},
"code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
{
"@type": "/cosmos.auth.v1beta1.ModuleAccount",
"base_account": {
@@ -145,7 +145,7 @@
"bank": {
"balances": [
{
"address": "realio180w824kck05rj6aj9wjah2an7le3z5fdpzdhm5",
"address": "realio1psudxzyxgtru2lqnfdragqw9gcndr3k0k0j3tk",
"coins": [
{
"amount": "7000000000000000000000000",
@@ -163,33 +163,33 @@
]
},
{
"address": "realio1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8w2qk49",
"address": "realio1jzmums53uxlqderxsm8hxezm3334eyrhm88chp",
"coins": [
{
"amount": "2000044490053756125768777",
"amount": "10000000000000000000000000",
"denom": "ario"
},
{
"amount": "50000000000000000000000000",
"denom": "arst"
}
]
},
{
"address": "realio16zvg7jf36n2sqav453m62kpxwe63sk3hzwzqnm",
"address": "realio1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8w2qk49",
"coins": [
{
"amount": "10000000000000000000000000",
"amount": "2000044490053756125768777",
"denom": "ario"
}
]
},
{
"address": "realio1a6zwdatcwc62kpw4rl47pekfph0hv2fx7tlvd4",
"address": "realio1649y5p6krvrpc57lhrux0wa50m6uxtldw5laxs",
"coins": [
{
"amount": "10000000000000000000000000",
"denom": "ario"
},
{
"amount": "50000000000000000000000000",
"denom": "arst"
}
]
},
@@ -295,13 +295,13 @@
"distribution": {
"delegator_starting_infos": [
{
"delegator_address": "realio180w824kck05rj6aj9wjah2an7le3z5fdpzdhm5",
"delegator_address": "realio1psudxzyxgtru2lqnfdragqw9gcndr3k0k0j3tk",
"starting_info": {
"height": "0",
"previous_period": "1",
"stake": "1000000000000000000000000.000000000000000000"
},
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"delegator_withdraw_infos": [],
@@ -321,7 +321,7 @@
"denom": "ario"
}
],
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"params": {
@@ -330,7 +330,7 @@
"community_tax": "0.020000000000000000",
"withdraw_addr_enabled": true
},
"previous_proposer": "realiovalcons1yvn45s49y50pfgsetyk8s20tehk4thqcf6r7ft",
"previous_proposer": "realiovalcons10c2mnjnkdu664sfw9ku9m3gklk2sj50j62fe5q",
"validator_accumulated_commissions": [
{
"accumulated": {
@@ -341,7 +341,7 @@
}
]
},
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"validator_current_rewards": [
@@ -355,7 +355,7 @@
}
]
},
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"validator_historical_rewards": [
@@ -365,7 +365,7 @@
"cumulative_reward_ratio": [],
"reference_count": 2
},
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"validator_slash_events": []
@@ -376,17 +376,17 @@
"evm": {
"accounts": [
{
"address": "0x3Bdc7556d8b3E8396BB22bA5dbABb3f7F311512D",
"address": "0x0c38d3088642C7C57c134b47d401C54626d1c6Cf",
"code": "",
"storage": []
},
{
"address": "0xd0988F4931d4d5007595A477a558267675185A37",
"address": "0x90B7Cdc291E1Be06e46686cf73645b8c635c9077",
"code": "",
"storage": []
},
{
"address": "0xEe84e6F5787634Ab05d51Febe0E6c90dDf762926",
"address": "0xd54a4a07561B061c53DFb8f867BBB47ef5c32Fed",
"code": "",
"storage": []
}
@@ -451,7 +451,7 @@
"deposits": [],
"proposals": [
{
"deposit_end_time": "2024-01-05T11:09:51.257211Z",
"deposit_end_time": "2024-01-05T14:52:27.582560Z",
"final_tally_result": {
"abstain_count": "0",
"no_count": "0",
@@ -479,15 +479,15 @@
],
"metadata": "",
"status": "PROPOSAL_STATUS_PASSED",
"submit_time": "2024-01-03T11:09:51.257211Z",
"submit_time": "2024-01-03T14:52:27.582560Z",
"total_deposit": [
{
"amount": "10000000",
"denom": "ario"
}
],
"voting_end_time": "2024-01-03T11:10:36.257211Z",
"voting_start_time": "2024-01-03T11:09:51.257211Z"
"voting_end_time": "2024-01-03T14:53:12.582560Z",
"voting_start_time": "2024-01-03T14:52:27.582560Z"
}
],
"starting_proposal_id": "2",
@@ -549,7 +549,7 @@
"slashing": {
"missed_blocks": [
{
"address": "realiovalcons1yvn45s49y50pfgsetyk8s20tehk4thqcf6r7ft",
"address": "realiovalcons10c2mnjnkdu664sfw9ku9m3gklk2sj50j62fe5q",
"missed_blocks": []
}
],
@@ -562,9 +562,9 @@
},
"signing_infos": [
{
"address": "realiovalcons1yvn45s49y50pfgsetyk8s20tehk4thqcf6r7ft",
"address": "realiovalcons10c2mnjnkdu664sfw9ku9m3gklk2sj50j62fe5q",
"validator_signing_info": {
"address": "realiovalcons1yvn45s49y50pfgsetyk8s20tehk4thqcf6r7ft",
"address": "realiovalcons10c2mnjnkdu664sfw9ku9m3gklk2sj50j62fe5q",
"index_offset": "48",
"jailed_until": "1970-01-01T00:00:00Z",
"missed_blocks_counter": "0",
@@ -577,16 +577,16 @@
"staking": {
"delegations": [
{
"delegator_address": "realio180w824kck05rj6aj9wjah2an7le3z5fdpzdhm5",
"delegator_address": "realio1psudxzyxgtru2lqnfdragqw9gcndr3k0k0j3tk",
"shares": "1000000000000000000000000.000000000000000000",
"validator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j"
"validator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s"
}
],
"exported": true,
"last_total_power": "1000000",
"last_validator_powers": [
{
"address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j",
"address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s",
"power": "1000000"
}
],
@@ -609,11 +609,11 @@
"max_rate": "0.200000000000000000",
"rate": "0.100000000000000000"
},
"update_time": "2024-01-03T11:09:40.321392Z"
"update_time": "2024-01-03T14:52:11.630637Z"
},
"consensus_pubkey": {
"@type": "/cosmos.crypto.ed25519.PubKey",
"key": "GvVhyP8HvEBNNPxFR85WQC1ZhkSiqBt2+PXocpOrqz8="
"key": "C/UHI/wcNss88yR3H7k8c4yRxELqfS4MXbv3cT+/93A="
},
"delegator_shares": "1000000000000000000000000.000000000000000000",
"description": {
@@ -625,7 +625,7 @@
},
"jailed": false,
"min_self_delegation": "1",
"operator_address": "realiovaloper180w824kck05rj6aj9wjah2an7le3z5fd4kwd2j",
"operator_address": "realiovaloper1psudxzyxgtru2lqnfdragqw9gcndr3k0zm3t6s",
"status": "BOND_STATUS_BONDED",
"tokens": "1000000000000000000000000",
"unbonding_height": "0",
@@ -663,16 +663,16 @@
},
"version": {}
},
"genesis_time": "2024-01-03T11:09:40.321392Z",
"genesis_time": "2024-01-03T14:52:11.630637Z",
"initial_height": "50",
"validators": [
{
"address": "23275A42A5251E14A219592C7829EBCDED55DC18",
"address": "7E15B9CA766F35AAC12E2DB85DC516FD950951F2",
"name": "realionetworklocal",
"power": "1000000",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "GvVhyP8HvEBNNPxFR85WQC1ZhkSiqBt2+PXocpOrqz8="
"value": "C/UHI/wcNss88yR3H7k8c4yRxELqfS4MXbv3cT+/93A="
}
}
]