Skip to content

Commit bb8aabd

Browse files
authored
Migrate pieces of x/genutil missed in cosmos#6734 (cosmos#6860)
* Migrate pieces of x/genutil missed in 6734 * Fix tests * Fix lint * Add test
1 parent 359e9a0 commit bb8aabd

File tree

5 files changed

+19
-30
lines changed

5 files changed

+19
-30
lines changed

x/auth/tx/builder.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ func newBuilder(pubkeyCodec types.PublicKeyCodec) *builder {
6060
}
6161

6262
func (t *builder) GetMsgs() []sdk.Msg {
63+
if t.tx == nil || t.tx.Body == nil {
64+
return nil
65+
}
66+
6367
anys := t.tx.Body.Messages
6468
res := make([]sdk.Msg, len(anys))
6569
for i, any := range anys {

x/auth/tx/builder_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ func TestTxBuilder(t *testing.T) {
110110
require.Equal(t, len(msgs), len(tx.GetMsgs()))
111111
require.Equal(t, 1, len(tx.GetPubKeys()))
112112
require.Equal(t, pubkey.Bytes(), tx.GetPubKeys()[0].Bytes())
113+
114+
tx = &builder{}
115+
require.NotPanics(t, func() {
116+
_ = tx.GetMsgs()
117+
})
113118
}
114119

115120
func TestBuilderValidateBasic(t *testing.T) {

x/genutil/types/codec.go

Lines changed: 0 additions & 23 deletions
This file was deleted.

x/genutil/types/genesis_state.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,14 @@ func DefaultGenesisState() GenesisState {
3838

3939
// NewGenesisStateFromTx creates a new GenesisState object
4040
// from auth transactions
41-
func NewGenesisStateFromTx(genTxs []sdk.Tx) GenesisState {
41+
func NewGenesisStateFromTx(txJSONEncoder sdk.TxEncoder, genTxs []sdk.Tx) GenesisState {
4242
genTxsBz := make([]json.RawMessage, len(genTxs))
4343
for i, genTx := range genTxs {
44-
genTxsBz[i] = ModuleCdc.MustMarshalJSON(genTx)
44+
var err error
45+
genTxsBz[i], err = txJSONEncoder(genTx)
46+
if err != nil {
47+
panic(err)
48+
}
4549
}
4650
return NewGenesisState(genTxsBz)
4751
}

x/genutil/types/genesis_state_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/tendermint/tendermint/crypto/ed25519"
1010

1111
"github.com/cosmos/cosmos-sdk/simapp"
12-
"github.com/cosmos/cosmos-sdk/simapp/params"
1312
sdk "github.com/cosmos/cosmos-sdk/types"
1413
"github.com/cosmos/cosmos-sdk/x/genutil/types"
1514
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
@@ -42,13 +41,13 @@ func TestValidateGenesisMultipleMessages(t *testing.T) {
4241
msg2 := stakingtypes.NewMsgCreateValidator(sdk.ValAddress(pk2.Address()), pk2,
4342
sdk.NewInt64Coin(sdk.DefaultBondDenom, 50), desc, comm, sdk.OneInt())
4443

45-
txGen := params.MakeEncodingConfig().TxConfig
44+
txGen := simapp.MakeEncodingConfig().TxConfig
4645
txBuilder := txGen.NewTxBuilder()
4746
err := txBuilder.SetMsgs(msg1, msg2)
4847
require.NoError(t, err)
4948

5049
tx := txBuilder.GetTx()
51-
genesisState := types.NewGenesisStateFromTx([]sdk.Tx{tx})
50+
genesisState := types.NewGenesisStateFromTx(txGen.TxJSONEncoder(), []sdk.Tx{tx})
5251

5352
err = types.ValidateGenesis(genesisState, simapp.MakeEncodingConfig().TxConfig.TxJSONDecoder())
5453
require.Error(t, err)
@@ -59,13 +58,13 @@ func TestValidateGenesisBadMessage(t *testing.T) {
5958

6059
msg1 := stakingtypes.NewMsgEditValidator(sdk.ValAddress(pk1.Address()), desc, nil, nil)
6160

62-
txGen := params.MakeEncodingConfig().TxConfig
61+
txGen := simapp.MakeEncodingConfig().TxConfig
6362
txBuilder := txGen.NewTxBuilder()
6463
err := txBuilder.SetMsgs(msg1)
6564
require.NoError(t, err)
6665

6766
tx := txBuilder.GetTx()
68-
genesisState := types.NewGenesisStateFromTx([]sdk.Tx{tx})
67+
genesisState := types.NewGenesisStateFromTx(txGen.TxJSONEncoder(), []sdk.Tx{tx})
6968

7069
err = types.ValidateGenesis(genesisState, simapp.MakeEncodingConfig().TxConfig.TxJSONDecoder())
7170
require.Error(t, err)

0 commit comments

Comments
 (0)