From a730c41d0a6c12138270557f6039b75db5212c93 Mon Sep 17 00:00:00 2001 From: Yun Yeo Date: Tue, 1 Jun 2021 14:27:25 +0900 Subject: [PATCH 1/3] update migration params for col5 --- app/legacy/migrate.go | 7 +++++++ app/legacy/v05/migrate.go | 18 ++++++++++++++++-- custom/auth/legacy/v040/migrate.go | 15 ++++++++++++++- x/wasm/legacy/v05/migrate.go | 4 ++-- x/wasm/types/params.go | 14 +++++++------- 5 files changed, 46 insertions(+), 12 deletions(-) diff --git a/app/legacy/migrate.go b/app/legacy/migrate.go index 3c0171a1e..a70033b4a 100644 --- a/app/legacy/migrate.go +++ b/app/legacy/migrate.go @@ -63,6 +63,13 @@ $ terrad migrate /path/to/genesis.json --chain-id=cosmoshub-4 --genesis-time=201 return errors.Wrapf(err, "failed to read genesis document from file %s", importGenesis) } + // increase block consensus params + genDoc.ConsensusParams.Block.MaxBytes = int64(3000000) + genDoc.ConsensusParams.Block.MaxGas = int64(100000000) + + // decrease evidence max bytes + genDoc.ConsensusParams.Evidence.MaxBytes = int64(50000) + var initialState types.AppMap if err := json.Unmarshal(genDoc.AppState, &initialState); err != nil { return errors.Wrap(err, "failed to JSON unmarshal initial genesis state") diff --git a/app/legacy/v05/migrate.go b/app/legacy/v05/migrate.go index 4f2879d76..c69a206b1 100644 --- a/app/legacy/v05/migrate.go +++ b/app/legacy/v05/migrate.go @@ -3,6 +3,7 @@ package v05 import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039" v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040" v036supply "github.com/cosmos/cosmos-sdk/x/bank/legacy/v036" @@ -18,7 +19,7 @@ import ( v040genutil "github.com/cosmos/cosmos-sdk/x/genutil/legacy/v040" "github.com/cosmos/cosmos-sdk/x/genutil/types" v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036" - v040gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v040" + v043gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v043" v039mint "github.com/cosmos/cosmos-sdk/x/mint/legacy/v039" v040mint "github.com/cosmos/cosmos-sdk/x/mint/legacy/v040" v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v039" @@ -158,7 +159,7 @@ func Migrate(appState types.AppMap, clientCtx client.Context) types.AppMap { // Migrate relative source genesis application state and marshal it into // the respective key. - appState[v040gov.ModuleName] = v05Codec.MustMarshalJSON(v043govcustom.Migrate(govGenState)) + appState[v043gov.ModuleName] = v05Codec.MustMarshalJSON(v043govcustom.Migrate(govGenState)) } // Migrate x/mint. @@ -184,6 +185,19 @@ func Migrate(appState types.AppMap, clientCtx client.Context) types.AppMap { // delete deprecated x/slashing genesis state delete(appState, v039slashing.ModuleName) + // fill empty cons address + for address, info := range slashingGenState.SigningInfos { + if info.Address.Empty() { + if addr, err := sdk.ConsAddressFromBech32(address); err != nil { + panic(err) + } else { + info.Address = addr + } + + slashingGenState.SigningInfos[address] = info + } + } + // Migrate relative source genesis application state and marshal it into // the respective key. appState[v040slashing.ModuleName] = v05Codec.MustMarshalJSON(v040slashing.Migrate(slashingGenState)) diff --git a/custom/auth/legacy/v040/migrate.go b/custom/auth/legacy/v040/migrate.go index 3482fc6c1..2bb7d5b15 100644 --- a/custom/auth/legacy/v040/migrate.go +++ b/custom/auth/legacy/v040/migrate.go @@ -7,6 +7,7 @@ import ( v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039" v040auth "github.com/cosmos/cosmos-sdk/x/auth/types" v040authvesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + v40mint "github.com/cosmos/cosmos-sdk/x/mint/types" v039authcustom "github.com/terra-money/core/custom/auth/legacy/v039" v040vesting "github.com/terra-money/core/x/vesting/types" @@ -52,13 +53,25 @@ func convertBaseVestingAccount(old *v039auth.BaseVestingAccount) *v040authvestin // - Removing coins from account encoding. // - Re-encode in v0.40 GenesisState. func Migrate(authGenState v039auth.GenesisState) *v040auth.GenesisState { + mintModuleAddress := v040auth.NewModuleAddress(v40mint.ModuleName) + // Convert v0.39 accounts to v0.40 ones. var v040Accounts = make([]v040auth.GenesisAccount, len(authGenState.Accounts)) for i, v039Account := range authGenState.Accounts { switch v039Account := v039Account.(type) { case *v039auth.BaseAccount: { - v040Accounts[i] = convertBaseAccount(v039Account) + // columbus chain has mint address as normal account + // so need to changes this to module account + if !v039Account.GetAddress().Equals(mintModuleAddress) { + v040Accounts[i] = convertBaseAccount(v039Account) + } else { + v040Accounts[i] = &v040auth.ModuleAccount{ + BaseAccount: convertBaseAccount(v039Account), + Name: v40mint.ModuleName, + Permissions: []string{v040auth.Minter}, + } + } } case *v039auth.ModuleAccount: { diff --git a/x/wasm/legacy/v05/migrate.go b/x/wasm/legacy/v05/migrate.go index c88393dba..a9b61abff 100644 --- a/x/wasm/legacy/v05/migrate.go +++ b/x/wasm/legacy/v05/migrate.go @@ -58,8 +58,8 @@ func Migrate( Params: v05wasm.Params{ MaxContractSize: wasmGenState.Params.MaxContractSize, MaxContractMsgSize: wasmGenState.Params.MaxContractMsgSize, - MaxContractGas: wasmGenState.Params.MaxContractGas, - MaxContractDataSize: 256, + MaxContractGas: 20_000_000, + MaxContractDataSize: 1024, EventParams: v05wasm.EventParams{ MaxAttributeNum: 16, MaxAttributeKeyLength: 64, diff --git a/x/wasm/types/params.go b/x/wasm/types/params.go index 8da58a3f9..559094ada 100644 --- a/x/wasm/types/params.go +++ b/x/wasm/types/params.go @@ -10,10 +10,10 @@ import ( // Max params for static check const ( - EnforcedMaxContractSize = uint64(500 * 1024) // 500KB + EnforcedMaxContractSize = uint64(3000 * 1024) // 3MB EnforcedMaxContractGas = uint64(100_000_000) // 100,000,000 - EnforcedMaxContractMsgSize = uint64(10 * 1024) // 10KB - EnforcedMaxContractDataSize = uint64(1024) // 1KB + EnforcedMaxContractMsgSize = uint64(20 * 1024) // 10KB + EnforcedMaxContractDataSize = uint64(5 * 1024) // 5KB ) // Parameter keys @@ -27,10 +27,10 @@ var ( // Default parameter values const ( - DefaultMaxContractSize = EnforcedMaxContractSize // 500 KB - DefaultMaxContractGas = EnforcedMaxContractGas // 100,000,000 - DefaultMaxContractMsgSize = uint64(1 * 1024) // 1KB - DefaultMaxContractDataSize = uint64(256) // 256 bytes + DefaultMaxContractSize = uint64(600 * 1024) // 600 KB + DefaultMaxContractGas = uint64(20_000_000) // 20,000,000 + DefaultMaxContractMsgSize = uint64(4 * 1024) // 4KB + DefaultMaxContractDataSize = uint64(1024) // 1KB ) // Default event parameter values From 2dce66a4951795574557083612335c9b092bcf15 Mon Sep 17 00:00:00 2001 From: Yun Yeo Date: Tue, 1 Jun 2021 14:46:17 +0900 Subject: [PATCH 2/3] fix test --- x/wasm/keeper/recursive_test.go | 6 +++--- x/wasm/legacy/v05/migrate_test.go | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/x/wasm/keeper/recursive_test.go b/x/wasm/keeper/recursive_test.go index 4d6490a10..1e92e3988 100644 --- a/x/wasm/keeper/recursive_test.go +++ b/x/wasm/keeper/recursive_test.go @@ -95,7 +95,7 @@ func initRecurseContract(t *testing.T) (contract sdk.AccAddress, creator sdk.Acc } func TestGasCostOnQuery(t *testing.T) { - GasNoWork := types.InstanceCost + 4_375 + GasNoWork := types.InstanceCost + 4_372 // Note: about 100 SDK gas (10k wasmVM gas) for each round of sha256 GasWork50 := GasNoWork + 5_692 // this is a little shy of 50k gas - to keep an eye on the limit @@ -182,7 +182,7 @@ func TestGasCostOnQuery(t *testing.T) { } func TestGasOnExternalQuery(t *testing.T) { - GasNoWork := types.InstanceCost + 4_375 + GasNoWork := types.InstanceCost + 4_372 // Note: about 100 SDK gas (10k wasmVM gas) for each round of sha256 GasWork50 := GasNoWork + 5_692 // this is a little shy of 50k gas - to keep an eye on the limit @@ -260,7 +260,7 @@ func TestLimitRecursiveQueryGas(t *testing.T) { // This attack would allow us to use far more than the provided gas before // eventually hitting an OutOfGas panic. - GasNoWork := types.InstanceCost + 4_375 + GasNoWork := types.InstanceCost + 4_372 GasWork2k := GasNoWork + 229_495 // This is overhead for calling into a sub-contract diff --git a/x/wasm/legacy/v05/migrate_test.go b/x/wasm/legacy/v05/migrate_test.go index 6ece3d8b9..94f4be03d 100644 --- a/x/wasm/legacy/v05/migrate_test.go +++ b/x/wasm/legacy/v05/migrate_test.go @@ -195,8 +195,8 @@ func TestMigrate(t *testing.T) { "max_attribute_num": "16", "max_attribute_value_length": "256" }, - "max_contract_data_size": "256", - "max_contract_gas": "10000", + "max_contract_data_size": "1024", + "max_contract_gas": "20000000", "max_contract_msg_size": "1024", "max_contract_size": "100" } From 5d280b4be071270d3f829bfb6b579e1a4f650b7e Mon Sep 17 00:00:00 2001 From: Yun Yeo Date: Tue, 1 Jun 2021 15:09:59 +0900 Subject: [PATCH 3/3] increase wasm code size --- x/wasm/legacy/v05/migrate.go | 14 +++++--------- x/wasm/legacy/v05/migrate_test.go | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/x/wasm/legacy/v05/migrate.go b/x/wasm/legacy/v05/migrate.go index a9b61abff..15cf5ec2e 100644 --- a/x/wasm/legacy/v05/migrate.go +++ b/x/wasm/legacy/v05/migrate.go @@ -56,15 +56,11 @@ func Migrate( return &v05wasm.GenesisState{ Params: v05wasm.Params{ - MaxContractSize: wasmGenState.Params.MaxContractSize, - MaxContractMsgSize: wasmGenState.Params.MaxContractMsgSize, - MaxContractGas: 20_000_000, - MaxContractDataSize: 1024, - EventParams: v05wasm.EventParams{ - MaxAttributeNum: 16, - MaxAttributeKeyLength: 64, - MaxAttributeValueLength: 256, - }, + MaxContractSize: v05wasm.DefaultMaxContractSize, + MaxContractMsgSize: v05wasm.DefaultMaxContractMsgSize, + MaxContractGas: v05wasm.DefaultMaxContractGas, + MaxContractDataSize: v05wasm.DefaultMaxContractDataSize, + EventParams: v05wasm.DefaultEventParams, }, Codes: codes, Contracts: contracts, diff --git a/x/wasm/legacy/v05/migrate_test.go b/x/wasm/legacy/v05/migrate_test.go index 94f4be03d..d2339949c 100644 --- a/x/wasm/legacy/v05/migrate_test.go +++ b/x/wasm/legacy/v05/migrate_test.go @@ -197,8 +197,8 @@ func TestMigrate(t *testing.T) { }, "max_contract_data_size": "1024", "max_contract_gas": "20000000", - "max_contract_msg_size": "1024", - "max_contract_size": "100" + "max_contract_msg_size": "4096", + "max_contract_size": "614400" } }` require.Equal(t, expected, string(indentedBz))