Skip to content

Commit ae169ce

Browse files
authored
Merge pull request cosmos#338 from CosmWasm/fix_genesis_335
Fix param usage issue in genesis import
2 parents 576f620 + b63a149 commit ae169ce

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

x/wasm/internal/keeper/genesis.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import (
1212
//
1313
// CONTRACT: all types of accounts must have been already initialized/created
1414
func InitGenesis(ctx sdk.Context, keeper *Keeper, data types.GenesisState) error {
15+
keeper.setParams(ctx, data.Params)
16+
1517
var maxCodeID uint64
1618
for i, code := range data.Codes {
1719
err := keeper.importCode(ctx, code.CodeID, code.CodeInfo, code.CodeBytes)
@@ -50,7 +52,6 @@ func InitGenesis(ctx sdk.Context, keeper *Keeper, data types.GenesisState) error
5052
if keeper.peekAutoIncrementID(ctx, types.KeyLastInstanceID) <= uint64(maxContractID) {
5153
return sdkerrors.Wrapf(types.ErrInvalid, "seq %s must be greater %d ", string(types.KeyLastInstanceID), maxContractID)
5254
}
53-
keeper.setParams(ctx, data.Params)
5455

5556
return nil
5657
}

x/wasm/internal/keeper/genesis_test.go

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,16 @@ import (
3232
const firstCodeID = 1
3333

3434
func TestGenesisExportImport(t *testing.T) {
35-
srcKeeper, srcCtx, srcStoreKeys, srcCleanup := setupKeeper(t)
36-
defer srcCleanup()
35+
srcKeeper, srcCtx, srcStoreKeys := setupKeeper(t)
36+
3737
wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm")
3838
require.NoError(t, err)
3939

4040
// store some test data
4141
f := fuzz.New().Funcs(ModelFuzzers...)
42+
43+
srcKeeper.setParams(srcCtx, types.DefaultParams())
44+
4245
for i := 0; i < 25; i++ {
4346
var (
4447
codeInfo types.CodeInfo
@@ -88,8 +91,7 @@ func TestGenesisExportImport(t *testing.T) {
8891
})
8992

9093
// re-import
91-
dstKeeper, dstCtx, dstStoreKeys, dstCleanup := setupKeeper(t)
92-
defer dstCleanup()
94+
dstKeeper, dstCtx, dstStoreKeys := setupKeeper(t)
9395

9496
var importState wasmTypes.GenesisState
9597
err = json.Unmarshal(exportedGenesis, &importState)
@@ -357,8 +359,7 @@ func TestFailFastImport(t *testing.T) {
357359

358360
for msg, spec := range specs {
359361
t.Run(msg, func(t *testing.T) {
360-
keeper, ctx, _, cleanup := setupKeeper(t)
361-
defer cleanup()
362+
keeper, ctx, _ := setupKeeper(t)
362363

363364
require.NoError(t, types.ValidateGenesis(spec.src))
364365
got := InitGenesis(ctx, keeper, spec.src)
@@ -413,8 +414,7 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) {
413414
{"id_key": %q, "value": "2"}
414415
]
415416
}`
416-
keeper, ctx, _, dstCleanup := setupKeeper(t)
417-
defer dstCleanup()
417+
keeper, ctx, _ := setupKeeper(t)
418418

419419
wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm")
420420
require.NoError(t, err)
@@ -482,12 +482,11 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) {
482482
assert.Equal(t, expHistory, keeper.GetContractHistory(ctx, contractAddr))
483483
}
484484

485-
func setupKeeper(t *testing.T) (*Keeper, sdk.Context, []sdk.StoreKey, func()) {
485+
func setupKeeper(t *testing.T) (*Keeper, sdk.Context, []sdk.StoreKey) {
486486
t.Helper()
487487
tempDir, err := ioutil.TempDir("", "wasm")
488488
require.NoError(t, err)
489-
cleanup := func() { os.RemoveAll(tempDir) }
490-
//t.Cleanup(cleanup) todo: add with Go 1.14
489+
t.Cleanup(func() { os.RemoveAll(tempDir) })
491490
var (
492491
keyParams = sdk.NewKVStoreKey(paramtypes.StoreKey)
493492
tkeyParams = sdk.NewTransientStoreKey(paramtypes.TStoreKey)
@@ -511,7 +510,5 @@ func setupKeeper(t *testing.T) (*Keeper, sdk.Context, []sdk.StoreKey, func()) {
511510
pk := paramskeeper.NewKeeper(encodingConfig.Marshaler, encodingConfig.Amino, keyParams, tkeyParams)
512511

513512
srcKeeper := NewKeeper(encodingConfig.Marshaler, keyWasm, pk.Subspace(wasmTypes.DefaultParamspace), authkeeper.AccountKeeper{}, nil, stakingkeeper.Keeper{}, distributionkeeper.Keeper{}, nil, tempDir, wasmConfig, "", nil, nil)
514-
srcKeeper.setParams(ctx, wasmTypes.DefaultParams())
515-
516-
return &srcKeeper, ctx, []sdk.StoreKey{keyWasm, keyParams}, cleanup
513+
return &srcKeeper, ctx, []sdk.StoreKey{keyWasm, keyParams}
517514
}

0 commit comments

Comments
 (0)