From df792831a8b664c1fa1f5d15a8e858193c226af5 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 6 Jul 2020 13:13:20 -0400 Subject: [PATCH 1/7] Enable proto tx by default and add test_amino build flag. --- Makefile | 3 +++ simapp/app.go | 2 +- simapp/encoding.go | 4 +--- simapp/params/amino.go | 6 +++--- simapp/params/proto.go | 25 +++++++++++++++++++++++++ 5 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 simapp/params/proto.go diff --git a/Makefile b/Makefile index ddd74b5b7608..80a783d9c3cc 100644 --- a/Makefile +++ b/Makefile @@ -126,6 +126,9 @@ test-ledger: test-ledger-mock test-unit: @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock' +test-unit-amino: + @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock test_amino' + test-race: @VERSION=$(VERSION) go test -mod=readonly -race $(PACKAGES_NOSIMULATION) diff --git a/simapp/app.go b/simapp/app.go index 63615fb3dbac..ee43d2981755 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -369,7 +369,7 @@ func NewSimApp( app.SetAnteHandler( ante.NewAnteHandler( app.AccountKeeper, app.BankKeeper, *app.IBCKeeper, ante.DefaultSigVerificationGasConsumer, - authtypes.LegacyAminoJSONHandler{}, + encodingConfig.TxGenerator.SignModeHandler(), ), ) app.SetEndBlocker(app.EndBlocker) diff --git a/simapp/encoding.go b/simapp/encoding.go index 58f899edd7a5..7bb939bb7773 100644 --- a/simapp/encoding.go +++ b/simapp/encoding.go @@ -5,9 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/std" ) -// MakeEncodingConfig creates an EncodingConfig for an amino based test configuration. -// -// TODO: this file should add a "+build test_amino" flag for #6190 and a proto.go file with a protobuf configuration +// MakeEncodingConfig creates an EncodingConfig for testing func MakeEncodingConfig() params.EncodingConfig { encodingConfig := params.MakeEncodingConfig() std.RegisterCodec(encodingConfig.Amino) diff --git a/simapp/params/amino.go b/simapp/params/amino.go index f16dda4c67fb..c0f26afeb1a7 100644 --- a/simapp/params/amino.go +++ b/simapp/params/amino.go @@ -1,3 +1,5 @@ +// +build test_amino + package params import ( @@ -7,12 +9,10 @@ import ( ) // MakeEncodingConfig creates an EncodingConfig for an amino based test configuration. -// -// TODO: this file should add a "+build test_amino" flag for #6190 and a proto.go file with a protobuf configuration func MakeEncodingConfig() EncodingConfig { cdc := codec.New() interfaceRegistry := types.NewInterfaceRegistry() - marshaler := codec.NewHybridCodec(cdc, interfaceRegistry) + marshaler := codec.NewAminoCodec(cdc) return EncodingConfig{ InterfaceRegistry: interfaceRegistry, diff --git a/simapp/params/proto.go b/simapp/params/proto.go new file mode 100644 index 000000000000..2f0ff8270c41 --- /dev/null +++ b/simapp/params/proto.go @@ -0,0 +1,25 @@ +// +build !test_amino + +package params + +import ( + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/std" + "github.com/cosmos/cosmos-sdk/x/auth/tx" +) + +// MakeEncodingConfig creates an EncodingConfig for an amino based test configuration. +func MakeEncodingConfig() EncodingConfig { + cdc := codec.New() + interfaceRegistry := types.NewInterfaceRegistry() + marshaler := codec.NewHybridCodec(cdc, interfaceRegistry) + txGen := tx.NewTxGenerator(marshaler, std.DefaultPublicKeyCodec{}, tx.DefaultSignModeHandler()) + + return EncodingConfig{ + InterfaceRegistry: interfaceRegistry, + Marshaler: marshaler, + TxGenerator: txGen, + Amino: cdc, + } +} From c0bef55529a5da38ed4ab77bd3daae484ff44035 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 8 Jul 2020 14:18:53 -0400 Subject: [PATCH 2/7] Enable proto TxDecoder --- simapp/app.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simapp/app.go b/simapp/app.go index 863fa3c54157..d2ec2397dc40 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -178,7 +178,7 @@ func NewSimApp( cdc := encodingConfig.Amino interfaceRegistry := encodingConfig.InterfaceRegistry - bApp := baseapp.NewBaseApp(appName, logger, db, authtypes.DefaultTxDecoder(cdc), baseAppOptions...) + bApp := baseapp.NewBaseApp(appName, logger, db, encodingConfig.TxGenerator.TxDecoder(), baseAppOptions...) bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetAppVersion(version.Version) bApp.GRPCQueryRouter().SetAnyUnpacker(interfaceRegistry) From 5afe0af6ce8548efb5ac1573ec017a67b179409e Mon Sep 17 00:00:00 2001 From: sahith-narahari Date: Wed, 22 Jul 2020 20:43:27 +0530 Subject: [PATCH 3/7] update makefile --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4b41205aa791..2fc9943b570c 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,9 @@ test-ledger-mock: test-ledger: test-ledger-mock @go test -mod=readonly -v `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger' -test-unit: +test-unit: test-unit-proto + +test-unit-proto: @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock' test-unit-amino: From ec80ccee378a20c971886f71bf229aa9c0df9aef Mon Sep 17 00:00:00 2001 From: sahith-narahari Date: Wed, 22 Jul 2020 20:49:19 +0530 Subject: [PATCH 4/7] fix conflicts --- simapp/app.go | 2 +- simapp/params/proto.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/simapp/app.go b/simapp/app.go index 69a66e6a640f..6d194a3fd58f 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -365,7 +365,7 @@ func NewSimApp( app.SetBeginBlocker(app.BeginBlocker) app.SetAnteHandler( ante.NewAnteHandler( - app.AccountKeeper, app.BankKeeper, *app.IBCKeeper, ante.DefaultSigVerificationGasConsumer, + app.AccountKeeper, app.BankKeeper, ante.DefaultSigVerificationGasConsumer, encodingConfig.TxConfig.SignModeHandler(), ), ) diff --git a/simapp/params/proto.go b/simapp/params/proto.go index 2f0ff8270c41..dff21037603d 100644 --- a/simapp/params/proto.go +++ b/simapp/params/proto.go @@ -14,12 +14,12 @@ func MakeEncodingConfig() EncodingConfig { cdc := codec.New() interfaceRegistry := types.NewInterfaceRegistry() marshaler := codec.NewHybridCodec(cdc, interfaceRegistry) - txGen := tx.NewTxGenerator(marshaler, std.DefaultPublicKeyCodec{}, tx.DefaultSignModeHandler()) + txGen := tx.NewTxConfig(marshaler, std.DefaultPublicKeyCodec{}, tx.DefaultSignModeHandler()) return EncodingConfig{ InterfaceRegistry: interfaceRegistry, Marshaler: marshaler, - TxGenerator: txGen, + TxConfig: txGen, Amino: cdc, } } From 952dd5e83cb8633f93cce206c52e76c58d124671 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 23 Jul 2020 12:26:58 -0400 Subject: [PATCH 5/7] Revert AminoCodec change --- simapp/params/amino.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/simapp/params/amino.go b/simapp/params/amino.go index e5d540888769..5c327b187352 100644 --- a/simapp/params/amino.go +++ b/simapp/params/amino.go @@ -12,7 +12,8 @@ import ( func MakeEncodingConfig() EncodingConfig { cdc := codec.New() interfaceRegistry := types.NewInterfaceRegistry() - marshaler := codec.NewAminoCodec(cdc) + // TODO: switch to using AminoCodec here once amino compatibility is fixed + marshaler := codec.NewHybridCodec(cdc, interfaceRegistry) return EncodingConfig{ InterfaceRegistry: interfaceRegistry, From 6288035273a72eb44fe3caa85467c34cab7a83a8 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 23 Jul 2020 12:29:30 -0400 Subject: [PATCH 6/7] Make test-unit-amino default for now --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 02e2ba62b2e4..e3099198657e 100644 --- a/Makefile +++ b/Makefile @@ -182,7 +182,7 @@ test-ledger-mock: test-ledger: test-ledger-mock @go test -mod=readonly -v `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger' -test-unit: test-unit-proto +test-unit: test-unit-amino # TODO switch test-unit-proto to be default here after proto Tx is fully tested test-unit-proto: @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock' From 895b31abd48a1549582c9ec7a04852d8f6ca4d14 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 23 Jul 2020 12:33:37 -0400 Subject: [PATCH 7/7] Make test-unit-amino default for now --- Makefile | 4 ++-- simapp/params/amino.go | 3 ++- simapp/params/proto.go | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index e3099198657e..29a7526175e8 100644 --- a/Makefile +++ b/Makefile @@ -185,10 +185,10 @@ test-ledger: test-ledger-mock test-unit: test-unit-amino # TODO switch test-unit-proto to be default here after proto Tx is fully tested test-unit-proto: - @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock' + @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock test_proto' test-unit-amino: - @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock test_amino' + @VERSION=$(VERSION) go test -mod=readonly ./... -tags='ledger test_ledger_mock' test-race: @VERSION=$(VERSION) go test -mod=readonly -race $(PACKAGES_NOSIMULATION) diff --git a/simapp/params/amino.go b/simapp/params/amino.go index 5c327b187352..871dba814e64 100644 --- a/simapp/params/amino.go +++ b/simapp/params/amino.go @@ -1,5 +1,6 @@ -// +build test_amino +// +build !test_proto +// TODO switch to test_amino build flag once proto Tx's are ready package params import ( diff --git a/simapp/params/proto.go b/simapp/params/proto.go index dff21037603d..012361d1dc51 100644 --- a/simapp/params/proto.go +++ b/simapp/params/proto.go @@ -1,5 +1,6 @@ -// +build !test_amino +// +build test_proto +// TODO switch to !test_amino build flag once proto Tx's are ready package params import (