diff --git a/CHANGELOG.md b/CHANGELOG.md index 87a845c1ea..ef4556a0d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * [\#81](https://github.com/Finschia/wasmd/pull/81) Apply Finschia/finschia-sdk#1063 ### Bug Fixes +* [\#62](https://github.com/Finschia/wasmd/pull/62) fill ContractHistory querier result's Updated field * [\#52](https://github.com/Finschia/wasmd/pull/52) fix cli_test error of wasmplus and add cli_test ci ### Breaking Changes diff --git a/x/wasm/client/testutil/query.go b/x/wasm/client/testutil/query.go index 7cda81cc65..7953c88cf3 100644 --- a/x/wasm/client/testutil/query.go +++ b/x/wasm/client/testutil/query.go @@ -394,6 +394,8 @@ func (s *IntegrationTestSuite) TestGetCmdGetContractHistory() { codeID, err := strconv.ParseUint(s.codeID, 10, 64) s.Require().NoError(err) + s.Require().True(s.setupHeight > 0) + codeUpdateHeight := uint64(s.setupHeight) testCases := map[string]struct { args []string @@ -410,7 +412,7 @@ func (s *IntegrationTestSuite) TestGetCmdGetContractHistory() { { Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: codeID, - Updated: nil, + Updated: &types.AbsoluteTxPosition{BlockHeight: codeUpdateHeight, TxIndex: 0}, Msg: []byte(fmt.Sprintf("{\"verifier\":\"%s\",\"beneficiary\":\"%s\"}", s.verifier, s.beneficiary)), }, }, diff --git a/x/wasm/keeper/legacy_querier.go b/x/wasm/keeper/legacy_querier.go index 058338ac82..db331aa4a5 100644 --- a/x/wasm/keeper/legacy_querier.go +++ b/x/wasm/keeper/legacy_querier.go @@ -144,10 +144,6 @@ func queryCodeList(ctx sdk.Context, keeper types.ViewKeeper) ([]types.CodeInfoRe //nolint:unparam func queryContractHistory(ctx sdk.Context, contractAddr sdk.AccAddress, keeper types.ViewKeeper) ([]types.ContractCodeHistoryEntry, error) { history := keeper.GetContractHistory(ctx, contractAddr) - // redact response - for i := range history { - history[i].Updated = nil - } return history, nil } diff --git a/x/wasm/keeper/legacy_querier_test.go b/x/wasm/keeper/legacy_querier_test.go index 7e856b02a2..92cb539fc2 100644 --- a/x/wasm/keeper/legacy_querier_test.go +++ b/x/wasm/keeper/legacy_querier_test.go @@ -233,12 +233,13 @@ func TestLegacyQueryContractHistory(t *testing.T) { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }}, expContent: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }}, }, @@ -246,30 +247,33 @@ func TestLegacyQueryContractHistory(t *testing.T) { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, Msg: []byte(`"migrate message 1"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 5, TxIndex: 6}, Msg: []byte(`"migrate message 2"`), }}, expContent: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, Msg: []byte(`"migrate message 1"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, + Updated: &types.AbsoluteTxPosition{BlockHeight: 5, TxIndex: 6}, Msg: []byte(`"migrate message 2"`), }}, }, @@ -278,7 +282,7 @@ func TestLegacyQueryContractHistory(t *testing.T) { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }}, expContent: []types.ContractCodeHistoryEntry{}, diff --git a/x/wasm/keeper/querier.go b/x/wasm/keeper/querier.go index 43e11ce9d1..e02d91ca3f 100644 --- a/x/wasm/keeper/querier.go +++ b/x/wasm/keeper/querier.go @@ -68,7 +68,6 @@ func (q grpcQuerier) ContractHistory(c context.Context, req *types.QueryContract if err := q.cdc.Unmarshal(value, &e); err != nil { return false, err } - e.Updated = nil // redact r = append(r, e) } return true, nil diff --git a/x/wasm/keeper/querier_test.go b/x/wasm/keeper/querier_test.go index 0cf21b927a..e2b4bb9f88 100644 --- a/x/wasm/keeper/querier_test.go +++ b/x/wasm/keeper/querier_test.go @@ -330,7 +330,7 @@ func TestQueryContractHistory(t *testing.T) { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }}, req: types.QueryContractHistoryRequest{Address: myContractBech32Addr}, @@ -338,23 +338,24 @@ func TestQueryContractHistory(t *testing.T) { Operation: types.ContractCodeHistoryOperationTypeGenesis, CodeID: firstCodeID, Msg: []byte(`"init message"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, }}, }, "response with multiple entries": { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, Msg: []byte(`"migrate message 1"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 5, TxIndex: 6}, Msg: []byte(`"migrate message 2"`), }}, req: types.QueryContractHistoryRequest{Address: myContractBech32Addr}, @@ -362,26 +363,29 @@ func TestQueryContractHistory(t *testing.T) { Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Msg: []byte(`"init message"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Msg: []byte(`"migrate message 1"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 3, Msg: []byte(`"migrate message 2"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 5, TxIndex: 6}, }}, }, "with pagination offset": { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, Msg: []byte(`"migrate message 1"`), }}, req: types.QueryContractHistoryRequest{ @@ -394,18 +398,19 @@ func TestQueryContractHistory(t *testing.T) { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, Msg: []byte(`"migrate message 1"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, }}, }, "with pagination limit": { srcHistory: []types.ContractCodeHistoryEntry{{ Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, Msg: []byte(`"init message"`), }, { Operation: types.ContractCodeHistoryOperationTypeMigrate, CodeID: 2, - Updated: types.NewAbsoluteTxPosition(ctx), + Updated: &types.AbsoluteTxPosition{BlockHeight: 3, TxIndex: 4}, Msg: []byte(`"migrate message 1"`), }}, req: types.QueryContractHistoryRequest{ @@ -418,6 +423,7 @@ func TestQueryContractHistory(t *testing.T) { Operation: types.ContractCodeHistoryOperationTypeInit, CodeID: firstCodeID, Msg: []byte(`"init message"`), + Updated: &types.AbsoluteTxPosition{BlockHeight: 1, TxIndex: 2}, }}, }, "unknown contract address": {