From 910ca5ae848731ec7e3b2e8cae3772e70700178e Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Wed, 17 May 2023 14:42:46 +0200 Subject: [PATCH 01/15] fix router --- testutil/integration/options.go | 2 +- testutil/integration/router.go | 27 ++++++++++++--------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/testutil/integration/options.go b/testutil/integration/options.go index b93e7bbda18e..d2a6aacdb001 100644 --- a/testutil/integration/options.go +++ b/testutil/integration/options.go @@ -9,7 +9,7 @@ type Config struct { // Option is a function that can be used to configure the integration app. type Option func(*Config) -// WithAutomaticBlockCreation enables begin/end block calls. +// WithAutomaticFinalizeBlock calls ABCI finalize block. func WithAutomaticFinalizeBlock() Option { return func(cfg *Config) { cfg.AutomaticFinalizeBlock = true diff --git a/testutil/integration/router.go b/testutil/integration/router.go index 989482973aa7..70ae52211425 100644 --- a/testutil/integration/router.go +++ b/testutil/integration/router.go @@ -88,17 +88,21 @@ func NewIntegrationApp( if err := bApp.LoadLatestVersion(); err != nil { panic(fmt.Errorf("failed to load application version from store: %w", err)) } - bApp.InitChain(context.TODO(), &cmtabcitypes.RequestInitChain{ChainId: appName, ConsensusParams: simtestutil.DefaultConsensusParams}) + if _, err := bApp.InitChain(sdkCtx, &cmtabcitypes.RequestInitChain{ChainId: appName, ConsensusParams: simtestutil.DefaultConsensusParams}); err != nil { + panic(fmt.Errorf("failed to initialize application: %w", err)) + } } else { if err := bApp.LoadLatestVersion(); err != nil { panic(fmt.Errorf("failed to load application version from store: %w", err)) } - bApp.InitChain(context.TODO(), &cmtabcitypes.RequestInitChain{ChainId: appName}) + + if _, err := bApp.InitChain(sdkCtx, &cmtabcitypes.RequestInitChain{ChainId: appName}); err != nil { + panic(fmt.Errorf("failed to initialize application: %w", err)) + } } - bApp.InitChain(context.Background(), &cmtabcitypes.RequestInitChain{ChainId: appName}) - bApp.Commit(context.TODO(), &cmtabcitypes.RequestCommit{}) + bApp.Commit(sdkCtx, &cmtabcitypes.RequestCommit{}) ctx := sdkCtx.WithBlockHeader(cmtproto.Header{ChainID: appName}).WithIsCheckTx(true) @@ -125,22 +129,15 @@ func (app *App) RunMsg(msg sdk.Msg, option ...Option) (*codectypes.Any, error) { } if cfg.AutomaticCommit { - defer app.Commit(context.TODO(), &cmtabcitypes.RequestCommit{}) + defer app.Commit(app.ctx, &cmtabcitypes.RequestCommit{}) } if cfg.AutomaticFinalizeBlock { height := app.LastBlockHeight() + 1 ctx := app.ctx.WithBlockHeight(height).WithChainID(appName) - - app.FinalizeBlock(context.TODO(), &cmtabcitypes.RequestFinalizeBlock{Height: height}) - - app.logger.Info("Running BeginBlock", "height", height) - app.moduleManager.BeginBlock(ctx) - - defer func() { - app.logger.Info("Running EndBlock", "height", height) - app.moduleManager.EndBlock(ctx) - }() + if _, err := app.FinalizeBlock(ctx, &cmtabcitypes.RequestFinalizeBlock{Height: height}); err != nil { + return nil, fmt.Errorf("failed to run finalize block: %w", err) + } } app.logger.Info("Running msg", "msg", msg.String()) From 42dbdc0911797c22ceba1523597b5d21ea040925 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Wed, 17 May 2023 16:06:12 +0200 Subject: [PATCH 02/15] updates --- simapp/test_helpers.go | 15 ++++++++------- .../integration/store/rootmulti/rollback_test.go | 13 ++++++------- testutil/integration/router.go | 9 ++++----- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 45cb15c96120..920214ca2661 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -142,13 +142,14 @@ func SetupWithGenesisValSet(t *testing.T, valSet *cmttypes.ValidatorSet, genAccs ) // commit genesis changes - app.Commit(context.TODO(), &abci.RequestCommit{}) - // app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{ - // Height: app.LastBlockHeight() + 1, - // AppHash: app.LastCommitID().Hash, - // ValidatorsHash: valSet.Hash(), - // NextValidatorsHash: valSet.Hash(), - // }}) + _, err = app.Commit(context.TODO(), nil) + require.NoError(t, err) + _, err = app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + Height: app.LastBlockHeight() + 1, + Hash: app.LastCommitID().Hash, + NextValidatorsHash: valSet.Hash(), + }) + require.NoError(t, err) return app } diff --git a/tests/integration/store/rootmulti/rollback_test.go b/tests/integration/store/rootmulti/rollback_test.go index 232b03d8cc26..1a2766de51df 100644 --- a/tests/integration/store/rootmulti/rollback_test.go +++ b/tests/integration/store/rootmulti/rollback_test.go @@ -3,6 +3,7 @@ package rootmulti_test import ( "context" "fmt" + "os" "testing" "cosmossdk.io/log" @@ -18,12 +19,12 @@ import ( func TestRollback(t *testing.T) { db := dbm.NewMemDB() options := simapp.SetupOptions{ - Logger: log.NewNopLogger(), + Logger: log.NewLogger(os.Stdout, log.ColorOption(false)), DB: db, AppOpts: simtestutil.NewAppOptionsWithFlagHome(t.TempDir()), } app := simapp.NewSimappWithCustomOptions(t, false, options) - app.Commit(context.TODO(), &abci.RequestCommit{}) + app.Commit(context.TODO(), nil) ver0 := app.LastBlockHeight() // commit 10 blocks for i := int64(1); i <= 10; i++ { @@ -38,7 +39,7 @@ func TestRollback(t *testing.T) { ctx := app.NewContext(false, header) store := ctx.KVStore(app.GetKey("bank")) store.Set([]byte("key"), []byte(fmt.Sprintf("value%d", i))) - app.Commit(context.TODO(), &abci.RequestCommit{}) + app.Commit(context.TODO(), nil) } assert.Equal(t, ver0+10, app.LastBlockHeight()) @@ -61,13 +62,11 @@ func TestRollback(t *testing.T) { Height: ver0 + i, AppHash: app.LastCommitID().Hash, } - app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ - Height: ver0 + i, - }) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: ver0 + i}) ctx := app.NewContext(false, header) store := ctx.KVStore(app.GetKey("bank")) store.Set([]byte("key"), []byte(fmt.Sprintf("VALUE%d", i))) - app.Commit(context.TODO(), &abci.RequestCommit{}) + app.Commit(context.TODO(), nil) } assert.Equal(t, ver0+10, app.LastBlockHeight()) diff --git a/testutil/integration/router.go b/testutil/integration/router.go index 70ae52211425..fc51f7614906 100644 --- a/testutil/integration/router.go +++ b/testutil/integration/router.go @@ -80,7 +80,6 @@ func NewIntegrationApp( bApp.SetMsgServiceRouter(router) if keys[consensusparamtypes.StoreKey] != nil { - // set baseApp param store consensusParamsKeeper := consensusparamkeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[consensusparamtypes.StoreKey]), authtypes.NewModuleAddress("gov").String(), runtime.EventService{}) bApp.SetParamStore(consensusParamsKeeper.ParamsStore) @@ -89,7 +88,7 @@ func NewIntegrationApp( panic(fmt.Errorf("failed to load application version from store: %w", err)) } - if _, err := bApp.InitChain(sdkCtx, &cmtabcitypes.RequestInitChain{ChainId: appName, ConsensusParams: simtestutil.DefaultConsensusParams}); err != nil { + if _, err := bApp.InitChain(context.TODO(), &cmtabcitypes.RequestInitChain{ChainId: appName, ConsensusParams: simtestutil.DefaultConsensusParams}); err != nil { panic(fmt.Errorf("failed to initialize application: %w", err)) } } else { @@ -97,12 +96,12 @@ func NewIntegrationApp( panic(fmt.Errorf("failed to load application version from store: %w", err)) } - if _, err := bApp.InitChain(sdkCtx, &cmtabcitypes.RequestInitChain{ChainId: appName}); err != nil { + if _, err := bApp.InitChain(context.TODO(), &cmtabcitypes.RequestInitChain{ChainId: appName}); err != nil { panic(fmt.Errorf("failed to initialize application: %w", err)) } } - bApp.Commit(sdkCtx, &cmtabcitypes.RequestCommit{}) + bApp.Commit(context.TODO(), nil) ctx := sdkCtx.WithBlockHeader(cmtproto.Header{ChainID: appName}).WithIsCheckTx(true) @@ -129,7 +128,7 @@ func (app *App) RunMsg(msg sdk.Msg, option ...Option) (*codectypes.Any, error) { } if cfg.AutomaticCommit { - defer app.Commit(app.ctx, &cmtabcitypes.RequestCommit{}) + defer app.Commit(context.TODO(), nil) } if cfg.AutomaticFinalizeBlock { From 128958e6578a40bb1a132d54ba7aed24f5231fb9 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Wed, 17 May 2023 16:34:28 +0200 Subject: [PATCH 03/15] revert --- tests/integration/store/rootmulti/rollback_test.go | 3 +-- testutil/sims/app_helpers.go | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/integration/store/rootmulti/rollback_test.go b/tests/integration/store/rootmulti/rollback_test.go index 1a2766de51df..b5916c56b4eb 100644 --- a/tests/integration/store/rootmulti/rollback_test.go +++ b/tests/integration/store/rootmulti/rollback_test.go @@ -3,7 +3,6 @@ package rootmulti_test import ( "context" "fmt" - "os" "testing" "cosmossdk.io/log" @@ -19,7 +18,7 @@ import ( func TestRollback(t *testing.T) { db := dbm.NewMemDB() options := simapp.SetupOptions{ - Logger: log.NewLogger(os.Stdout, log.ColorOption(false)), + Logger: log.NewNopLogger(), DB: db, AppOpts: simtestutil.NewAppOptionsWithFlagHome(t.TempDir()), } diff --git a/testutil/sims/app_helpers.go b/testutil/sims/app_helpers.go index 0d0d9291e709..ef2cc0b7a974 100644 --- a/testutil/sims/app_helpers.go +++ b/testutil/sims/app_helpers.go @@ -169,6 +169,11 @@ func SetupWithConfiguration(appConfig depinject.Config, startupConfig StartupCon // commit genesis changes if !startupConfig.AtGenesis { + _, err = app.Commit(context.TODO(), nil) + if err != nil { + return nil, fmt.Errorf("failed to commit genesis changes: %w", err) + } + _, err = app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ Height: app.LastBlockHeight() + 1, NextValidatorsHash: valSet.Hash(), From 0de818b0ad51fb686cc2285dd51a69f47cff924a Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 18 May 2023 01:18:11 +0200 Subject: [PATCH 04/15] updates --- simapp/test_helpers.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 920214ca2661..2c7f71c013e7 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -134,12 +134,13 @@ func SetupWithGenesisValSet(t *testing.T, valSet *cmttypes.ValidatorSet, genAccs require.NoError(t, err) // init chain will set the validator set and initialize the genesis accounts - app.InitChain(context.TODO(), &abci.RequestInitChain{ + _, err = app.InitChain(context.TODO(), &abci.RequestInitChain{ Validators: []abci.ValidatorUpdate{}, ConsensusParams: simtestutil.DefaultConsensusParams, AppStateBytes: stateBytes, }, ) + require.NoError(t, err) // commit genesis changes _, err = app.Commit(context.TODO(), nil) From e69fcaba671bcfe5df147fda711aa388f1aa8c54 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 11:42:02 +0200 Subject: [PATCH 05/15] fix some integration tests --- simapp/test_helpers.go | 2 -- tests/integration/gov/keeper/keeper_test.go | 6 +++--- tests/integration/store/rootmulti/rollback_test.go | 1 - testutil/sims/app_helpers.go | 5 ----- 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 2c7f71c013e7..77c06fa17f7d 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -142,8 +142,6 @@ func SetupWithGenesisValSet(t *testing.T, valSet *cmttypes.ValidatorSet, genAccs ) require.NoError(t, err) - // commit genesis changes - _, err = app.Commit(context.TODO(), nil) require.NoError(t, err) _, err = app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ Height: app.LastBlockHeight() + 1, diff --git a/tests/integration/gov/keeper/keeper_test.go b/tests/integration/gov/keeper/keeper_test.go index 0ed714818015..8ad424b12ca3 100644 --- a/tests/integration/gov/keeper/keeper_test.go +++ b/tests/integration/gov/keeper/keeper_test.go @@ -50,9 +50,9 @@ func initFixture(t *testing.T) *fixture { assert.NilError(t, err) queryHelper := baseapp.NewQueryServerTestHelper(ctx, app.InterfaceRegistry()) - v1.RegisterQueryServer(queryHelper, keeper.NewQueryServer(*app.GovKeeper)) + v1.RegisterQueryServer(queryHelper, keeper.NewQueryServer(app.GovKeeper)) legacyQueryHelper := baseapp.NewQueryServerTestHelper(ctx, app.InterfaceRegistry()) - v1beta1.RegisterQueryServer(legacyQueryHelper, keeper.NewLegacyQueryServer(app.GovKeeper)) + v1beta1.RegisterQueryServer(legacyQueryHelper, keeper.NewLegacyQueryServer(&app.GovKeeper)) queryClient := v1.NewQueryClient(queryHelper) legacyQueryClient := v1beta1.NewQueryClient(legacyQueryHelper) @@ -60,7 +60,7 @@ func initFixture(t *testing.T) *fixture { f.ctx = ctx f.queryClient = queryClient f.legacyQueryClient = legacyQueryClient - f.msgSrvr = keeper.NewMsgServerImpl(f.app.GovKeeper) + f.msgSrvr = keeper.NewMsgServerImpl(&f.app.GovKeeper) govAcct := f.app.GovKeeper.GetGovernanceAccount(f.ctx).GetAddress() f.legacyMsgSrvr = keeper.NewLegacyMsgServerImpl(govAcct.String(), f.msgSrvr) diff --git a/tests/integration/store/rootmulti/rollback_test.go b/tests/integration/store/rootmulti/rollback_test.go index b5916c56b4eb..96c4abacb69e 100644 --- a/tests/integration/store/rootmulti/rollback_test.go +++ b/tests/integration/store/rootmulti/rollback_test.go @@ -23,7 +23,6 @@ func TestRollback(t *testing.T) { AppOpts: simtestutil.NewAppOptionsWithFlagHome(t.TempDir()), } app := simapp.NewSimappWithCustomOptions(t, false, options) - app.Commit(context.TODO(), nil) ver0 := app.LastBlockHeight() // commit 10 blocks for i := int64(1); i <= 10; i++ { diff --git a/testutil/sims/app_helpers.go b/testutil/sims/app_helpers.go index ef2cc0b7a974..0d0d9291e709 100644 --- a/testutil/sims/app_helpers.go +++ b/testutil/sims/app_helpers.go @@ -169,11 +169,6 @@ func SetupWithConfiguration(appConfig depinject.Config, startupConfig StartupCon // commit genesis changes if !startupConfig.AtGenesis { - _, err = app.Commit(context.TODO(), nil) - if err != nil { - return nil, fmt.Errorf("failed to commit genesis changes: %w", err) - } - _, err = app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ Height: app.LastBlockHeight() + 1, NextValidatorsHash: valSet.Hash(), From f935845630be12276cf9b47a4ffc019e8f266d31 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 11:55:53 +0200 Subject: [PATCH 06/15] fix server e2e tests --- baseapp/abci.go | 6 ++++++ tests/integration/gov/genesis_test.go | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/baseapp/abci.go b/baseapp/abci.go index ce84668f4767..a3dd3402f573 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -726,6 +726,12 @@ func (app *BaseApp) Commit(_ context.Context, _ *abci.RequestCommit) (*abci.Resp rms.SetCommitHeader(header) } + // when calling commit after INIT_CHAIN, the header height will be 0 + // TODO: should we keep this, it replicates previous logic for testing + if header.Height == 0 { + app.finalizeBlockState.ms.Write() + } + app.cms.Commit() resp := &abci.ResponseCommit{ diff --git a/tests/integration/gov/genesis_test.go b/tests/integration/gov/genesis_test.go index a9c0d59edbf0..93896b5c69ea 100644 --- a/tests/integration/gov/genesis_test.go +++ b/tests/integration/gov/genesis_test.go @@ -140,7 +140,6 @@ func TestImportExportQueues(t *testing.T) { }, ) - s2.app.Commit(context.TODO(), &abci.RequestCommit{}) s2.app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ Height: s2.app.LastBlockHeight() + 1, }) From 10108bf9b929b18274159a79c7b9b8f42b36953e Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 12:54:33 +0200 Subject: [PATCH 07/15] testing --- baseapp/abci.go | 6 ------ tests/e2e/gov/cli_test.go | 4 ++-- tests/e2e/gov/deposits.go | 6 +++--- tests/e2e/server/export_test.go | 3 +++ testutil/sims/tx_helpers.go | 4 ---- 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/baseapp/abci.go b/baseapp/abci.go index a3dd3402f573..ce84668f4767 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -726,12 +726,6 @@ func (app *BaseApp) Commit(_ context.Context, _ *abci.RequestCommit) (*abci.Resp rms.SetCommitHeader(header) } - // when calling commit after INIT_CHAIN, the header height will be 0 - // TODO: should we keep this, it replicates previous logic for testing - if header.Height == 0 { - app.finalizeBlockState.ms.Write() - } - app.cms.Commit() resp := &abci.ResponseCommit{ diff --git a/tests/e2e/gov/cli_test.go b/tests/e2e/gov/cli_test.go index 451f76351205..b5fbf9b1d4f7 100644 --- a/tests/e2e/gov/cli_test.go +++ b/tests/e2e/gov/cli_test.go @@ -26,8 +26,8 @@ func TestDepositTestSuite(t *testing.T) { cfg := network.DefaultConfig(simapp.NewTestNetworkFixture) cfg.NumValidators = 1 genesisState := v1.DefaultGenesisState() - maxDepPeriod := time.Duration(20) * time.Second - votingPeriod := time.Duration(8) * time.Second + maxDepPeriod := time.Duration(10) * time.Second + votingPeriod := time.Duration(6) * time.Second genesisState.Params.MaxDepositPeriod = &maxDepPeriod genesisState.Params.VotingPeriod = &votingPeriod bz, err := cfg.Codec.MarshalJSON(genesisState) diff --git a/tests/e2e/gov/deposits.go b/tests/e2e/gov/deposits.go index 4b433aef26de..478c9efcaa97 100644 --- a/tests/e2e/gov/deposits.go +++ b/tests/e2e/gov/deposits.go @@ -124,7 +124,7 @@ func (s *DepositTestSuite) TestQueryDepositsWithInitialDeposit() { func (s *DepositTestSuite) TestQueryProposalAfterVotingPeriod() { val := s.network.Validators[0] - depositAmount := sdk.NewCoin(s.cfg.BondDenom, v1.DefaultMinDepositTokens.Sub(sdk.NewInt(50))) + depositAmount := sdk.NewCoin(s.cfg.BondDenom, v1.DefaultMinDepositTokens) // submit proposal with an initial deposit id := s.submitProposal(val, depositAmount, "TestQueryProposalAfterVotingPeriod") @@ -146,8 +146,8 @@ func (s *DepositTestSuite) TestQueryProposalAfterVotingPeriod() { // query proposal _, err = clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - s.Require().Error(err) - s.Require().Contains(err.Error(), fmt.Sprintf("proposal %s doesn't exist", proposalID)) + // s.Require().Error(err) + // s.Require().Contains(err.Error(), fmt.Sprintf("proposal %s doesn't exist", proposalID)) // query deposits deposits := s.queryDeposits(val, proposalID, true, "proposal 3 doesn't exist") diff --git a/tests/e2e/server/export_test.go b/tests/e2e/server/export_test.go index c72d0a63e440..2f2a2be32a6d 100644 --- a/tests/e2e/server/export_test.go +++ b/tests/e2e/server/export_test.go @@ -189,6 +189,9 @@ func setupApp(t *testing.T, tempDir string) (*simapp.SimApp, context.Context, ge AppStateBytes: appGenesis.AppState, }, ) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + Height: 1, + }) app.Commit(context.TODO(), &abci.RequestCommit{}) cmd := server.ExportCmd( diff --git a/testutil/sims/tx_helpers.go b/testutil/sims/tx_helpers.go index 03e23c137f7d..a74a22475768 100644 --- a/testutil/sims/tx_helpers.go +++ b/testutil/sims/tx_helpers.go @@ -121,10 +121,6 @@ func SignCheckDeliver( require.Nil(t, res) } - // Simulate a sending a transaction and committing a block - // app.BeginBlock(types2.RequestBeginBlock{Header: header}) - // gInfo, res, err := app.SimDeliver(txCfg.TxEncoder(), tx) - bz, err := txCfg.TxEncoder()(tx) require.NoError(t, err) From df36add8cbabe338590b04978c4aa3a0f68ed3ef Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Thu, 18 May 2023 10:18:28 -0400 Subject: [PATCH 08/15] bump dep which fixes time --- tests/go.mod | 4 ++-- tests/go.sum | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/go.mod b/tests/go.mod index 64f687668da5..840e03fe4345 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -16,7 +16,7 @@ require ( cosmossdk.io/x/nft v0.0.0-20230113085233-fae3332d62fc cosmossdk.io/x/tx v0.7.0 cosmossdk.io/x/upgrade v0.0.0-20230127052425-54c8e1568335 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-db v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.3 // this version is not used as it is always replaced by the latest Cosmos SDK version @@ -192,12 +192,12 @@ replace ( cosmossdk.io/api => ../api // TODO: remove me after collections v0.2.0 is released cosmossdk.io/collections => ../collections + cosmossdk.io/core => ../core cosmossdk.io/store => ../store cosmossdk.io/x/circuit => ../x/circuit cosmossdk.io/x/evidence => ../x/evidence cosmossdk.io/x/feegrant => ../x/feegrant cosmossdk.io/x/nft => ../x/nft - cosmossdk.io/core => ../core cosmossdk.io/x/tx => ../x/tx cosmossdk.io/x/upgrade => ../x/upgrade ) diff --git a/tests/go.sum b/tests/go.sum index 4094bdab4768..d1350469b738 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -190,8 +190,6 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba h1:LuPHCncU2KLMNPItFECs709uo46I9wSu2fAWYVCx+/U= cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba/go.mod h1:SXdwqO7cN5htalh/lhXWP8V4zKtBrhhcSTU+ytuEtmM= -cosmossdk.io/core v0.7.0 h1:GFss3qt2P9p23Cz24NnqLkslzb8n+B75A24x1JgJJp0= -cosmossdk.io/core v0.7.0/go.mod h1:36hP0ZH/8ipsjzfcp0yKU4bqQXUGhS0/m1krWFCtwCc= cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 h1:rOy7iw7HlwKc5Af5qIHLXdBx/F98o6du/I/WGwOW6eA= @@ -326,8 +324,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= From abb1976c768fffb60d38fb49d7042cd526c27b82 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 16:43:03 +0200 Subject: [PATCH 09/15] fix --- tests/e2e/gov/deposits.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/gov/deposits.go b/tests/e2e/gov/deposits.go index 478c9efcaa97..301718075ff8 100644 --- a/tests/e2e/gov/deposits.go +++ b/tests/e2e/gov/deposits.go @@ -124,7 +124,7 @@ func (s *DepositTestSuite) TestQueryDepositsWithInitialDeposit() { func (s *DepositTestSuite) TestQueryProposalAfterVotingPeriod() { val := s.network.Validators[0] - depositAmount := sdk.NewCoin(s.cfg.BondDenom, v1.DefaultMinDepositTokens) + depositAmount := sdk.NewCoin(s.cfg.BondDenom, v1.DefaultMinDepositTokens.Sub(sdk.NewInt(50))) // submit proposal with an initial deposit id := s.submitProposal(val, depositAmount, "TestQueryProposalAfterVotingPeriod") From 1ff77c09d6219dd784723801bb52440ffedc9059 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 16:52:47 +0200 Subject: [PATCH 10/15] bump to alpha2 --- go.mod | 2 +- go.sum | 4 ++-- simapp/go.mod | 2 +- simapp/go.sum | 4 ++-- tools/rosetta/go.mod | 2 +- tools/rosetta/go.sum | 4 ++-- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 ++-- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- x/nft/go.mod | 2 +- x/nft/go.sum | 4 ++-- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 ++-- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index 9df9c41f2564..acc52707d797 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/chzyer/readline v1.5.1 github.com/cockroachdb/apd/v2 v2.0.2 github.com/cockroachdb/errors v1.9.1 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/btcutil v1.0.5 github.com/cosmos/cosmos-db v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.3 diff --git a/go.sum b/go.sum index d04b92380261..75e3e0a2d0eb 100644 --- a/go.sum +++ b/go.sum @@ -165,8 +165,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= diff --git a/simapp/go.mod b/simapp/go.mod index 472338a9914e..b455bcdde4bf 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -17,7 +17,7 @@ require ( cosmossdk.io/x/feegrant v0.0.0-20230117113717-50e7c4a4ceff cosmossdk.io/x/nft v0.0.0-20230113085233-fae3332d62fc cosmossdk.io/x/upgrade v0.0.0-20230127052425-54c8e1568335 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-db v1.0.0-rc.1 // this version is not used as it is always replaced by the latest Cosmos SDK version github.com/cosmos/cosmos-sdk v0.48.0 diff --git a/simapp/go.sum b/simapp/go.sum index 9dfba6846184..6ec36400ad6c 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -324,8 +324,8 @@ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= diff --git a/tools/rosetta/go.mod b/tools/rosetta/go.mod index 768b7cf302a5..3a574ad28ca5 100644 --- a/tools/rosetta/go.mod +++ b/tools/rosetta/go.mod @@ -6,7 +6,7 @@ require ( cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.1 github.com/coinbase/rosetta-sdk-go/types v1.0.0 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230509085319-024850c8812e github.com/cosmos/rosetta-sdk-go v0.10.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 diff --git a/tools/rosetta/go.sum b/tools/rosetta/go.sum index ff5581e616ea..34a7784b75a0 100644 --- a/tools/rosetta/go.sum +++ b/tools/rosetta/go.sum @@ -148,8 +148,8 @@ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index af59bcb5e0d2..a36a66744149 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/math v1.0.1 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc github.com/cockroachdb/errors v1.9.1 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230424095137-b73c17cb9cc8 github.com/cosmos/gogoproto v1.4.10 github.com/golang/protobuf v1.5.3 diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 37194728b7c7..dc54ba4c5393 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -153,8 +153,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 626537359970..e0670421f88e 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.1 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-proto v1.0.0-beta.3 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230419074131-aa683247d515 github.com/cosmos/gogoproto v1.4.10 diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 1287b146fd52..e1228d8bce16 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -160,8 +160,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= diff --git a/x/nft/go.mod b/x/nft/go.mod index f57332aff9e1..df533fac0d06 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.1 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-proto v1.0.0-beta.3 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230515163438-fa95ee2e666b github.com/cosmos/gogoproto v1.4.10 diff --git a/x/nft/go.sum b/x/nft/go.sum index 4f74696c207c..ec2f8367194c 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -161,8 +161,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 32706398062e..b228786ef296 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/log v1.1.0 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc github.com/armon/go-metrics v0.4.1 - github.com/cometbft/cometbft v0.38.0-alpha.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-db v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.3 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230419074131-aa683247d515 diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 433413724491..3548e0a18eb2 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -324,8 +324,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.38.0-alpha.1 h1:BmDIGG49GeSpx4BXtyGqIfTkTUDXFHgvfaFNGETGH0o= -github.com/cometbft/cometbft v0.38.0-alpha.1/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= From 1a811277db1f62250856b512aaede10cae60236f Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 21:01:50 +0200 Subject: [PATCH 11/15] store integration tests --- tests/integration/store/rootmulti/rollback_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/integration/store/rootmulti/rollback_test.go b/tests/integration/store/rootmulti/rollback_test.go index 96c4abacb69e..d4d5cf2b0f76 100644 --- a/tests/integration/store/rootmulti/rollback_test.go +++ b/tests/integration/store/rootmulti/rollback_test.go @@ -37,6 +37,9 @@ func TestRollback(t *testing.T) { ctx := app.NewContext(false, header) store := ctx.KVStore(app.GetKey("bank")) store.Set([]byte("key"), []byte(fmt.Sprintf("value%d", i))) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + Height: header.Height, + }) app.Commit(context.TODO(), nil) } @@ -60,10 +63,13 @@ func TestRollback(t *testing.T) { Height: ver0 + i, AppHash: app.LastCommitID().Hash, } - app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: ver0 + i}) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: header.Height}) ctx := app.NewContext(false, header) store := ctx.KVStore(app.GetKey("bank")) store.Set([]byte("key"), []byte(fmt.Sprintf("VALUE%d", i))) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + Height: header.Height, + }) app.Commit(context.TODO(), nil) } From bd94bc4eb9ad61098f790a3b4b88dd1e7d7383c5 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 21:08:41 +0200 Subject: [PATCH 12/15] fix lint and tests? --- tests/e2e/gov/deposits.go | 4 ++-- tests/integration/gov/keeper/keeper_test.go | 6 +++--- x/feegrant/simulation/operations_test.go | 8 +++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/e2e/gov/deposits.go b/tests/e2e/gov/deposits.go index 301718075ff8..4b433aef26de 100644 --- a/tests/e2e/gov/deposits.go +++ b/tests/e2e/gov/deposits.go @@ -146,8 +146,8 @@ func (s *DepositTestSuite) TestQueryProposalAfterVotingPeriod() { // query proposal _, err = clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - // s.Require().Error(err) - // s.Require().Contains(err.Error(), fmt.Sprintf("proposal %s doesn't exist", proposalID)) + s.Require().Error(err) + s.Require().Contains(err.Error(), fmt.Sprintf("proposal %s doesn't exist", proposalID)) // query deposits deposits := s.queryDeposits(val, proposalID, true, "proposal 3 doesn't exist") diff --git a/tests/integration/gov/keeper/keeper_test.go b/tests/integration/gov/keeper/keeper_test.go index 8ad424b12ca3..0ed714818015 100644 --- a/tests/integration/gov/keeper/keeper_test.go +++ b/tests/integration/gov/keeper/keeper_test.go @@ -50,9 +50,9 @@ func initFixture(t *testing.T) *fixture { assert.NilError(t, err) queryHelper := baseapp.NewQueryServerTestHelper(ctx, app.InterfaceRegistry()) - v1.RegisterQueryServer(queryHelper, keeper.NewQueryServer(app.GovKeeper)) + v1.RegisterQueryServer(queryHelper, keeper.NewQueryServer(*app.GovKeeper)) legacyQueryHelper := baseapp.NewQueryServerTestHelper(ctx, app.InterfaceRegistry()) - v1beta1.RegisterQueryServer(legacyQueryHelper, keeper.NewLegacyQueryServer(&app.GovKeeper)) + v1beta1.RegisterQueryServer(legacyQueryHelper, keeper.NewLegacyQueryServer(app.GovKeeper)) queryClient := v1.NewQueryClient(queryHelper) legacyQueryClient := v1beta1.NewQueryClient(legacyQueryHelper) @@ -60,7 +60,7 @@ func initFixture(t *testing.T) *fixture { f.ctx = ctx f.queryClient = queryClient f.legacyQueryClient = legacyQueryClient - f.msgSrvr = keeper.NewMsgServerImpl(&f.app.GovKeeper) + f.msgSrvr = keeper.NewMsgServerImpl(f.app.GovKeeper) govAcct := f.app.GovKeeper.GetGovernanceAccount(f.ctx).GetAddress() f.legacyMsgSrvr = keeper.NewLegacyMsgServerImpl(govAcct.String(), f.msgSrvr) diff --git a/x/feegrant/simulation/operations_test.go b/x/feegrant/simulation/operations_test.go index a5a2b66e3997..4f4f416aa1f6 100644 --- a/x/feegrant/simulation/operations_test.go +++ b/x/feegrant/simulation/operations_test.go @@ -1,6 +1,7 @@ package simulation_test import ( + "context" "math/rand" "testing" "time" @@ -151,8 +152,9 @@ func (suite *SimTestSuite) TestSimulateMsgGrantAllowance() { r := rand.New(s) accounts := suite.getTestingAccounts(r, 3) - // begin a new block - app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: app.LastBlockHeight() + 1, AppHash: app.LastCommitID().Hash}}) + // new block + _, err := app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: app.LastBlockHeight() + 1, Hash: app.LastCommitID().Hash}) + require.NoError(err) // execute operation op := simulation.SimulateMsgGrantAllowance(codec.NewProtoCodec(suite.interfaceRegistry), suite.txConfig, suite.accountKeeper, suite.bankKeeper, suite.feegrantKeeper) @@ -177,7 +179,7 @@ func (suite *SimTestSuite) TestSimulateMsgRevokeAllowance() { accounts := suite.getTestingAccounts(r, 3) // begin a new block - app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: suite.app.LastBlockHeight() + 1, AppHash: suite.app.LastCommitID().Hash}}) + app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: suite.app.LastBlockHeight() + 1, Hash: suite.app.LastCommitID().Hash}) feeAmt := sdk.TokensFromConsensusPower(200000, sdk.DefaultPowerReduction) feeCoins := sdk.NewCoins(sdk.NewCoin("foo", feeAmt)) From ef4a8ecf0e0d7c78f26d82ff65b7f9e04eb01a51 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Thu, 18 May 2023 21:24:08 +0200 Subject: [PATCH 13/15] change from amino to proto --- x/feegrant/simulation/operations_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/x/feegrant/simulation/operations_test.go b/x/feegrant/simulation/operations_test.go index 4f4f416aa1f6..eef443352803 100644 --- a/x/feegrant/simulation/operations_test.go +++ b/x/feegrant/simulation/operations_test.go @@ -19,6 +19,7 @@ import ( _ "github.com/cosmos/cosmos-sdk/x/mint" _ "github.com/cosmos/cosmos-sdk/x/params" _ "github.com/cosmos/cosmos-sdk/x/staking" + "github.com/golang/protobuf/proto" "cosmossdk.io/x/feegrant" "cosmossdk.io/x/feegrant/keeper" @@ -153,7 +154,7 @@ func (suite *SimTestSuite) TestSimulateMsgGrantAllowance() { accounts := suite.getTestingAccounts(r, 3) // new block - _, err := app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: app.LastBlockHeight() + 1, Hash: app.LastCommitID().Hash}) + _, err := app.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{Height: app.LastBlockHeight() + 1}) require.NoError(err) // execute operation @@ -162,7 +163,7 @@ func (suite *SimTestSuite) TestSimulateMsgGrantAllowance() { require.NoError(err) var msg feegrant.MsgGrantAllowance - suite.legacyAmino.UnmarshalJSON(operationMsg.Msg, &msg) + proto.Unmarshal(operationMsg.Msg, &msg) require.True(operationMsg.OK) require.Equal(accounts[2].Address.String(), msg.Granter) @@ -204,7 +205,7 @@ func (suite *SimTestSuite) TestSimulateMsgRevokeAllowance() { require.NoError(err) var msg feegrant.MsgRevokeAllowance - suite.legacyAmino.UnmarshalJSON(operationMsg.Msg, &msg) + proto.Unmarshal(operationMsg.Msg, &msg) require.True(operationMsg.OK) require.Equal(granter.Address.String(), msg.Granter) From 39b1f0b9145a4b8c60126ef29b8502db7806b71c Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Thu, 18 May 2023 15:50:53 -0400 Subject: [PATCH 14/15] updates --- contrib/rosetta/rosetta-ci/data.tar.gz | Bin 44867 -> 62118 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/contrib/rosetta/rosetta-ci/data.tar.gz b/contrib/rosetta/rosetta-ci/data.tar.gz index b7d15490e6b1f0914beb76a2c72d225de306f198..96fef01975f57671c9159d9ebe53543311b48bea 100644 GIT binary patch literal 62118 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 Yatw$9J(Nh$RSy2|3Ss zzR&j==Q%e=DVM7~s4B6PuTXeE|IDC)!R2zBUcq?(wdp;b#bVOfbS{I%foOCFok4>T z_CJKD)zGNad?kWFN#+g{ulDq{C^+_n*7gZf0+NdOyGYejlurp|Bo@+ z`X9WJhy{GLST3UqM{LcnHf6xC64)>G)KgJl;dLSYE6ok%pLl`s$6LA?CIix@G z-V_Rh?nPsJv6xggo6GRzArg7~UFEBtloBe~l2QqDZK yXX zrXWLfCBA%N^LyW>_r4OjAPEUZbtS=Qioa4RS0aA85Ei#}d1jCLJeToU= zsJmVWC2 z8UjN}2fd_JEK}o3)f^-D;zF>Ip_H>;N+?#TmEt&!KJIX(v-;~6P$8IXC~dEomWl9H z`cSrn0U_fyLVSS$S7?JWygT5Ri^#Xn{Z{vqJzAOn>>brHbF9DR4HYh*uMMc*> zbO^RE6m-%H3Y21%ScNO+JZtF>z`71?tmA9c38}bZqg6v50Ckpa)ajd3DZaWODl{DU zuVWkkp<1yJl?m|Okk^OtISYb28A|qOGEgp4p)!>QUunsd?)w0#o!gKq5Gw^5F@DS( zwF*E$h<0fcqVaMqu281BUq&zlTNw)VZ;5M}U5Bhr@XlAuON~Z2?V5Z`7ZF9vC!cgK zq*C&7OB%Q;=%1OP#5uWO+>u1b4+=kuxg2!;3MawB(-}({zs; zvQKyS`P}d45ohb2oi26mJaFSu7%XW6huzWoPM+@nRga9dk(4^f<#nY-}Qk5`OpyjbAvW1L^ ztW-8XQJBEzrD&KesfdOq*c(|{#mQwtR2ZX{CjsZgDCBa9qe+}bDMOWxrf-6|EZq0A zTnM(twkxFZ>31gCIrnTwTkn`~abbN!*~yrne(?LcddJ>{2gcvsHjYHbF$*Cg86o1# zy)xY5ECkzNBlC_KZ&@*>*W|I6skaNR%+@@=SELa|ZQ18%JSDnI4_frfX2zqsl=_|9 z)iWTn!Sc9m*>3kfUwB;2gg=P#XamaCDe+Pjb5cTrikYHi@wkeFNlalfi|@%!lyTKu zi9*Wa(v-dzAxjjn@Ujl@Z9e7DFa(jSc}}V~35OGIFDI@`_(J)zn2~ zA6mSAY}x>_ZsPRfAs&oOCqA9+(Hu5d@DU=vB1GIQMVaLQnLRc#*3QhrWAS^>UY-`L zpigu-yen$zk6Zq?#;qpE!^S2d)?^&n3@2(3qFg|TtiE-|vZxGfK-kFKxu;iqj0%b> zj5(ouJ!n^KVYu4N@FKss9r|8|A&mSosP#3r3 z;574Js=TOY4zGkM2&M(TeAQe0DR0qB70GI;IvGVLNmE%IWoi;FRgjuWn}n+PseD#) zygEgum7!Jvl+Rig6(~~_YB^Pf3KR@BCy7q|QWF=9rdai&I2&y|SQeR<<%_fzl{WZ3h5-F{lNDzn*uhne4KFOJq`-uC;Am3w+bar)!y z`3WCnfUki8+(`(>J#g6XjjdLHJD_Qrnm-&NzIki0&t{zB}L>N(_9I$ zVgn(Hc!bF6+QLm?02zXf?DQ{+x|v01>bmz?>X_Ie)#=vxgZ8-#!w-@=%6ILmV+hBY zbjB%!2vK=Qh^*dU?s_Ny9J{cQy{y0QquTFvBcLGeXyC@9t0vw#*vRKuKmG04xyJ7~ z7F#>&8%I*hDaAA*H|Vhlf_q{w_P9e=(nPUtQ0{|u=k5kq%zCzeBtMNl{Ls8A4<4iC*Z;mP>*jYmJu;y9d@US%ymkY>kyRq}L`wpsWwJvM2{%{%vN+h5ObQo<7LVVpe9EOgj`? zTamnV`t5Uc>uOwOBx|gAd+22C2srPHt?a^qb%t(sWMqwX3hA}%S{_i=A6r?Mq?n(JZfxgoq2`CE=RglEgKQOb^G@kb z1;3zXk18p^RYtbP>JWRWZ!Q6x55QIyHm2{ml26*`?Gjq;A`* zwB}{c@S9hY?FK#C<$C{nn#R-L!hF?XWEC>E z%I&ZVgiC|5HC78>dTK~_pv(v6WT!O4(3j>S2)?tAN~<8Cefc>`05|20L_1o`)W*pK}G5 za}$J!6okl-u>3$DfQ*V0dgEt%OtP9V!|&*=SJ$0bf@>C}oN=!jch0TeqRa6Ac{y$d z8Y4u3gb-PMkzD^XK<0ss%-+5Wzo9XUPqr@eOdv} z4>Uu-?u!t$4+xQkIkm+}!%SfM8x;D7NN|@H6z?h_5geG(A|rx2ky<}ZYJO_g^d08Y zlMI;jFFzMDM2J=FX2PWZ!gCZum{`Rqf%K6ch!_IFY8Aw!k9A5nM1s{Qu7*kf@$03l}kZcD;GEwnEN12HUn3B*XY*nKjA zm=O@es)7V!WFUrBnh3;WW3=aDaHbs6LXw`}uJ3-{dCU2S z{OCh(;G}6rK(N2z7CGSUPg=4KCy&){i47PrWmj#{p3h^}jXKCb6}ha(@IfWs2Yohd z$hQaWl?kLTo~R}L?G+QYC--#0#XLR)2jHwbdcpc1vv+=Zed~px^DkZ!Z&*IA|9FPy zxoPFI@@_Anb?)W@)^)=6Vv{nn7G>J)qpFufa3GGJUuVDWyV2}+Hh0JL*;kS`g&oLQ zl8-_IR@XDD`{gEG+`tDNTYGvCA_5R1OR{d>8;?TpP#l2uM;h(bs#B}d$6c13I(afn zw8NuOrpi(BT@+g8P19PpW+Je1t_ffVPyKj9hD6CeGXa8!;poaZ_JidXd*v_T35#M@ zjZ!&YxwiZkIe&83dC|2O2PxH*KFzwY617Q}ag%2sCKmPqj0fQ;S^s+vU!w>g_ljEM z=v`-ZtA(jcLu(woK0AMf-oBb|BpOap9E1&cIFGjGC}On2`%zpYtdbCgheP;CXy1c!;*DvZb$8__lvO0Afh=Fz$AVeG>L^fDXP*wv9!f+5i5q`^U3t=(l2MM z?i3|jYxZq2MN=!>KW>Y0YTdN`o6nf(AMF{FI>U*V9pDTI9)YvYT9Heo!e-CiSKp2G zK7M*w>8~dTb?N_PW`=jTFe)j}<8dIM5;jJN>_Ld|q%y0n0gr~`!1$l`k@1?%CpZeb z#?O~oPAUps8{oF^NYC7&veDP9clSII2a={;z7V3AK!_}@;<|YQgb_FhwGHYJu0@$& z$yCJGl6v~3#m*-|yqV~WwWVF%7`#)aap0WUZq^_~g#jTVVQu$|qqf0t%LPvTg%8;3 zEy8yvJtC-Z=eI(l=Dii1_gd|)aG!TG+S$E8U)LhmS^~GYbtJXgP+Cjj)@)N!^VR_O zeK);5s!1dWYbq8hoT-?PYQa>CcTUj_jBld2fkb!1i=#w`zag4t0V>;)rVX$ zp@;jeD4q<#v4)ZA(fV48Y~zwbX+r)g#=4J*>umIkf2+^(=rI= zzd@kC0tVZ)M({2iiJ&xhr0*m}Z(-3%e-zjUUhkprKAIdI3c*4{3f&B@KFN4@y|?Z! z$=+}WPBBRz5MG&gY@RVvesI?77v@aeAOm<_oi1&?z`fa zYtfyq(vBm@{l(pyXtSkQub9Ot^cWU9>P|!Cjd{l}W+YdH6jY6*NoGTEB7u&=KI^V# z@2MYee#5#jc**6Maq6&~r=E?w{aGnJVr7Bbo3<<%AuRB`dClSDj_u7A8 z55-~1de`S(LkFIBs9Q5bT^(`Dw#-#zh1Dr8@9$Z5-u zlbypyhK?#RIkvn1;;EK074z|LjH_o{c{@Xa3Rg0w3e11@FoUfeTPkhZn$+=R-VT2+%=a6!W3{g4mLMUPv ziAvdu${`aK<W~!xzdcf{H@&8}m1>x$Oz*-j4~wh??$tM!^bEO&H5Ke{y2}eqVeB*18+Y zBrk^d#OrE)Nm}GvX7j=z!qLT&P+NA;X`MmYq8qYi?Ch4Xxgbmep=kp`lfYK>fHLgM z?kF5R2KTUr;8U-%V3-ecma}Yj*}#$`Hr(x3e}jB%l)qku=F6;%ec7y<2WJa_B$O#! z^;bG)Q%dCQ0HWBlLLQ%Hr&m0n; zIK2FaQRwJCU@Q2xJ2uiCx63l&w8~KU=h4@_V6y`SH&;OAzk3TU|2%z<{a9PF;B3 zIalCk?IC{ZZam?}M{a8vGH4#;bXUapkZA1^1gt`6*CqfAneAn(rmnsdtsipx^4q@8 zwXq9t_E!wjS|wtbvPN=u=HL>w#77Ac9<<9yOw%nBm)>ntnE=30#$X~!@>)1A{+f<& zYA+RyNjrwepRlv+RbyQ&v{_?mOEVqEiFC!PXn*LhAtV1Y;#+ zsu=hDm0iHw#@p9-PxSK5$2-bc+wl?H<3*h&3c0)jw9=gbTnm-)I}U(hj6trRDPHJs zNiaggFZ1(IFQD7mL2#D1s1*kdm~XB8lBhyU69foN;Sd@b;cLssVHV+xS;UCApn%vg9iAv7C;(4@KivDC;M1S2L{P#cNp z@5-qxW@0KD9s0{H>KI3+nU`DOtdHexgP8yC);CKW0yV^;wXqOH^j1l30l?F<*I1f1 zh}QN*^i4l@hkXy{5vAxQ!I`(chSwdIN?|@a(w(IvI_xapyniulu<+JxN}s?1r~861 zUNjQkTd%5cuT!V^9+2{RW5T_ALs&fCmOr@bc+|vNBJKW=Dh*F$2CrMQCo~>O>-&UQc z`WN(HA1|@$&ainaJYwk4XtedKgn7S^M9*f}w_rR7O%4c+*vCKR2 zkTvb%Uf^}ul3UNe=|p~fAMPE{Z1^=HAR$eic21&*!xI$f{wk-WrmUu@rmUob7oPvw zZ0C#EvR8}@fMkT3tIZ#85Y5xiZ@BrWutv`!zdO@>4~Jr@J7(nyb}dp#wGHh|#bU~V zrwGjY6Tr_aLgYlbzK;QNQuujsK~C;fN&wT?s2$!P0Fx02KJY!579>@u)w#WUeXU=G zcQii6hJ0_>ST7UncraJkck)06O@k1cpu&ZeEN&1?nWRB&9i^Xt(`d}t78)P=DK2f0 zBcP1=M{7141Kfl8-_$;OD=uNlR-0CB06agb0?c$;qc+pds^icaYzbMLdkr@O;KkWM zv?I*P9?e-;Khe5LXoG^^x&){pM6HUFh>@*g;F&Q8At@5o&0>JDaFw9+{m(%;PZGE}2#XS!h z|I}Ayoe!#EA0Q)NFoO9avAh9um z6g#v}V?lDq;L(>3QT&&VL_~I5!s!oTVIeg8gwTYykk(2&1%kiNPKms8_{~HvG@{_* zIRhPm4VeGAXMkdJK^ZGT9rKTE{QC(QTY?Ve-(jsk_lpOFZ|ynvcL8AjY@=C28#&oC zPYjoqQm9q~Soydf4R9FwF46;IC^tx6P7br5ny{;@grSXHV)_95d;Fv%MZ*tdCm@mk#ruz%$7A0`uJtzmP4fJR%*- z*;3bEkJ$|pt`8)9wjw3eb6M?JSJWV%)cmlme}pytwRnXr zRkxxHy^Ep39Uot`ItzeTk!QS8e9x+eB+zW|sa$=KoZ?mSHFQE#=nu`ZSjWBlaz^&i zB0J+5Av9Bf(8PHTWPk$m~olR8+-a{4G+JZsfWA`@p zm36SGP+#Iqb->|xB+|8w#g(@-@treJ_xr-HaQCs43ghF+h+^$e09b-Nvpny}TL(== z`!8u>6&u8lw!Kj{D{lYRJkoXH?lq>RQTvOi=VQ`@pFfig0Dtv*^*?fDfggBYRc!c! zJOI3oEH(S)q(dLY4}94WNZzO*~Xb5cqAv8T} z#4_c=K3$5;`6`>scE9ved-*+v(e8g2r6}7Jts02qB&d0Zc}+N_%20h8!3-F_hT^|! z?Vo@F%aCWhbf+-<{89-m^*d6+(jQMs7V?q$Zng>L*#}7d5I@m6q!ccio`w(KH1~6DceWyC3x;)XVi+Sd|5rzCyXIx|CpP{ z+9b8SZrzG$(b!1YS^Y91J#n^VmQk@0oS|Gua6)aA`x(Z1q`Rb!DcYVXJi(Um6cF3YdB zsB)~Po#NX7GRr^V;Ucgc8ECB@ZuDL6@uTqv?>#+Io!p*5DYfkLU-|W6=z@U@m*XpF zMW79YCJ%&0NRUM%0%lTy%*1Pr>BiCUR!4GEJ+W!{-N}{x0xF-@+Qf1!Fkn}`prNY^ zr)AIxLR)JHO(M&Hm*iXkyoJo;E|LoRmbp(HnhTPf?TT?7=^MrJi`)<2n{r z=ZanUE727~%P) zE{%)Yv+yg1fl6A>YZL(KMQz!avJJSebMhMPSKp%v!d|@SIi#g$au@djDa^z z;G#KC;;|Uo_UAhQ#^szp2J;^tTfb8ieL(|^mSf18WX4Uk6s7^Je}yC-d^Hu^Ka2}zJNHgnkq z8}7XPH1(60#0|dJZZ9lpYN+W~XiIuo=I#TUn3>hFfA}ntLXpc3&%nd=3JZqX6*%?! zjpfS%@wV*%_y`&Fow!=|Uj(;OJZ3^Ys62^h$E!C(e^hTvD%kBAoGBFaihA7|O9MSR zg^EcI3m6CkzxkzuOsu;v<&>1^gK&|0V7wbbWwhkwa3?%MbDpXEajQxctxfv*?1*Y?mgN9`q; zl99O}iFbt&06s0htQx7FJr9rQ434KeYB!VNJ`qFR~do!~-eYVBJmQ zLTI8vXf!8IH`bm2z^BNB2JPR93O5Sc;HfKjO+7dD^ME)90z1#G)s~#aBBeg0ILH z@xaKe82aV^Xw-vihdx8tUSWg_#Wtu_Y0XUO0Qc^fYW+V0oo7dqQba`|c+BRl-LLQm@m%P}2) zjK#jaywnp8%+wvZ>BWiUj!uTRr>)4qpO;%am(bCD+x&Ig?tAZcDj}V$EKxk4vj8F7B34qU$S#hftJPYZ2I52#YucI*7F4%&Ttikj` z!79gX?L{Ts(*1^5&e`q(p*c5%Cgy`%N`JyO(S}SZM$C&cu8_dh92aJ47+@rMRzAK# zrT$cbeCzo`-3RlJ(QRVtlH;^zVY61dz!A6|894lGkzfD7&J`ZGMc>kW1VwfmXGv|m z_flfBW#?HwHj)fI0`GGm!rDJHZEL@EyHCIo_ysa9yRq;nHa^ArkHIi8_hmBr92%BP z@s^PF@EBIeco6e}9)TxuAvEzIG@7P*Zsl76@Fg;#{xm-3H;-g$7kVAm*&@n&EI3Pg zg)zB6?1O=|k#AMVD=t`2X3Rbp&*{W(8sypsC;nH+n8cl7KC*^Sv=$H*UuDI7=2*5X zTF{c5A8qhVGHb&Q6=!@6Fu?MP$4v_AT)|lK!r{y0CpnNX$c>9dSaGQ!m_wJhrIZ@)`!s( zOi^c)PZTNYOS)r@oYI4Rl%_ZcZOtJx$?A-mZ^2c_Yh*G$?kz4=Neds9QCO?9*Lz;S zdOl=HQ~_>P!-_ipRr>Mo=~W2zy2-S{4;h{igLHG4=fZMS`|+>4Wi>r1=5+)v=Y`@7c%B$>`09MS_v7SZ5g5_{j$jpx}wAv z2ZG<-#jz_??7Z_<4@RV6LTDmEX!HgeB*fsX+>J~ol}B%Z>+{i4c@eU4nazNMw5g$k z)G=P^BVs`CR@Q2eo|Wm>VWwqlbLk9&V@D4%Y}B3)X8&UE%;TY4+c-Y+7)+xqQ^#IC z)+||O3{uuowo0-zmI%=zWXn>NrNz>w6N;#gBcW5B5``4m(n57koRn0eB#JC8yw8}S z$C#OWI_G^qpZAaR7oX2u&vpNCoDLAPHCEtD9^h3 z1@)2ixg#*dFL;yh#5#qUWq7gxnL9e!`z^5V96AzzUWe!KxA`tA6!UnI8;{C0w(NDm z3!5y}IDVc!cQE|Ipx|JT%uxt7M7AGq*b5pA6kkICJPZm?{*&YkWHorpUQgetP@(?!BC41!zO=O$qr=W>%eLK? zqbBcL9oTMZrQ$+Z7JG6ZHA^51MaX z)+JqHAs@NNMvmU1jMuP~8e!wQHN)L}pMw;^s&Mrlv#? zj(e$^C2w`1wNLr554H{zyD3q4X1ZSsiIeF% z`&lWn>sWsUJy3@E#8e_n?b=}6ete#bRvlIO zx?}X`HFUq*=w~StLv4@zuoY5)J?#Bn2%78KQvJkW+wLW`t0?5J^*lmibM4jJ>b?7y zKF%J>p;sWoFARzf2FZMVN}>!A)XQFwT5^<;(sPTfdm&YKU#Vs~-s~nPQB@yWKaYB{ z@A1s7=T;&^Vxj_JQ2WE6`1oQsze6^+AJ_{LZ%|sQL@d>QSNc{dP4oV$XOY6?_OA6V zuS5)|8MU-HStFaa?_&Z64QUt@p!SG7b(76wJT z{5kKjGmr22(Y*8=?a3cUeE%F`ew_A}{rzLyWL4hdrvm7k5n@ah<2!$}%`7IHv3F6l z3dzX^=$D%BW<2!6*zacJZ)519m`ujo3|$ygOpJXt+KC90h5t4VRXVoW zvJe<23*rot^Hg7@F2i62(FL*K3_{#+2FV?v-yEZ-VTBpaXuo}drZ-`&q@B#fdBS&E zuP&l)Sx_y}yhNgUcBFBVcHM@1=M$~PF%XWKGe{wk^eAX25BJn0$LhRu7wJ%uzCLQ1 zy-?t6ve{l0Lo4Aed(*QtJKZ51jw9?3qyh;0L#uIoUo#@}UcE>_sW2yTU|Y%gm;O=~ zVRCz^pUJ^t@d_RaNJvtw`IdCr-jw*N8a4^mQZC=N5LlS){4H1JD5*}QPnKd8JMFj1 zbw*#B81b^bS8Q>zSf3Doe3nZW)V^5;sqG2;7b{JZ zy5s9pN#264F_=O1^evjXZza?My|rYTB6`j*lH2hjv2m*hQqvs0fdO_P!Du<+UPR+V zUrrhr<@|OXnNrg&DeE;JI(^lpn%^ooq+|Wu43UH71v2q~5IA(1FRNm^zePlNX6o#; z*&yk5=C)zqDPmQxT}s@{Baa>6HV>qEIWzn~l?a2vLd!8u@2_dxrNM7^qV%P5Z^P49 zgy}yI-Kh1I?^oEa)YD_-!6%I4jCTX|R~QsAcHx8^G#zH_FKFWdX1;N74g^ku3^+Ll z0!~2&oSXx(gdhV>&Vjr>kO3#>Ajl|?LdwZG2oMS+h;nicq7(u#hMb%ODUKimPR>CD zNFXAT1#J<6K{E#n+9Hl=k1>gY$aX>F$1#>{7Q8}M57B7S&{r8Fv*V# zR3F&`{w2W(50Mzf(S8Ao6`pAK$%pB3j&WW7CD%wBg>QfG6PH<)psU|lp7*FVLA|kF z5!r)aF)(4y_+{ju7Lc_TESQq$#=`ZD6)KLM#;=YO-i2T?Y(C$%ru4ZT%cT|#%u9}W zV;;^UO>@nT+sDeGk6~Ma<<~?n)62g_*e-pb&s4 zJXR`;s-9$Tf0I|5>byh{?_dC%`v)s{@e@z{RZ0ym6}jH-f^50iaqmFw34^MDl^~7O zHT8Y^ea|j66!6a9J%6u=>cwt7*UHnKdm0sWBuZk8Xbr`h&?Jv)C@mc=EiIBJb4M43 zSd}UGAS3_YljZRyEqZP1hZ`!gpDelUCOf1bRdtQBdd&Wrl7ZZh<)+Zd(y~esA8wwn#Tmb3I;`uT|7nDl+6nW8wcddaZ?BovV%SWNC;j=`=%zwNN5OF~@ICCR>&jVBS8tEae} zLYIWNq)UB_l3bEN&M(!Kc~vro=EQ|#uYBJL zR;TLY;961?cAGh<~=nSwyy(SfmE9GnB$V;}<-pfLyr zRoi6H81C;i6OjHz&fWSraxn($Hf3a>>0c0-{zVoGo{?sb!Maa5_F$raL0r+l$g%RF zE0TGzo(y->XzrNEOf#>|POo0U|7Xssgn|aA_fqTfy(`-Yjw<5yD)}!jr|z_;z5K8N z68$|KkvLX%ii#a+)Ez1ZSI(b(cy3-+zf#Ad2JgYL@XX~2&X+HR?L8VW_D;x#Uj>Q) z$gg4+bJK26DYfs}NNU>bt4*2FG9-g}omxu%1G>H{FT);WE_cE4v8xg=tO^t<)^L)T zDdPzA%{7={1tDXM+ugLq4Ue!A!fZf8V zl(AoooqP%1NN+?luX_$TI5Rm0ZcQtzT+tCwc+FL`>0$>yA>f_BR-_aDSMSY(Kn_g$ zN(x*keW!otTWh|Sc;v#p$30z;XN-aw|JC3bHQRUbd1Ub-6UPK60y@M?*v~Wh5-ub= z9bYh(0+IiCpa@biC%|dszjXR_)uNn2g7>Y?YYIEdqu84tz!Mv0awO2uYF#otwL&kZ z(5kLX`nX2SyXUHrL8e89!fUpueNxWN{CSrB+hSQVoVcxehE{IOyk6(&(T{2)9ro31 z*db+sOa3NNpnN+0>%#w^tGu7v>@%*UXv+75eX8PFwsoWJk@{zU9k7hgDQv3mvTR8E z_bTuI>?-f%{#@sGL^tu9ddOPEI-%F6?+Tage|tMlFNBo7%<6sPDtxImvI2eY&OoXO z3>qIy#h=?pRQ{<}T=}N<%8RyM)1#$ts~nyeLiJgb>p$>9dip6o+BVajd6L+D`Gl?ysyTWlJ@s0d*jyXrHvZ2ChhY~xORUQ z;jbsJZ_H7NtC3od7sdT!EC?t@`VTvdYnpmS2_VM+(J}!4pforzi-fa(5ETW8O#%1^ z!C`>(7=V8uPzPiH@DJkg0D(QM88Q$I>fCJj8qg75+`mivzf1f7+0xF;-oSCk-XOo) zcwp&f3^r;??gaCF4+wnUgPWv!a)7L?vL_FA7gJI_xsneLeNU=~ek`dT`k|zH#2S=9 zGdZcA8~02}_0SI{)kA+PsUCR>bk5C`RL@N)lauPXd14}|9{RDQdgzCe>Je+u>DTw9 zdTwN+lj^yw7*tX{@&xGhdva1e@&IVjnVeJ)ag|h$T6WM$^^o6%tBtP0*cir0n@1aI z%Hs+0et9`U7D6Qln|a`@pAN)b86-T2DfCU;skr-@D(0uKLlwk(ga#dZ-btv?}BjO z2+xfHY1PqGa`?xvTUgreF1>GlXL!4HlaoFND4N`FJspja2FOjtW~x%`9Al%o%k;`jO(% zz#A|qY?O>)4@t63XL*RrD!~?^Lzeju5_&BLj_qIMlb-EssOp0hRje`;vo zeJ%87OnmoJZ~f*uA%cNDFExI(Ur7wl8JG=2s37N7pT2fsmSKgGZHu9F$B}5B)3aj5 zZdc*nUUWKKzQ)3u-t$3GKNe#IAq(siR3j7Fr~4$VBd+-lTRt!xWHJ}F)uXxS#dw$OjgLT4Nvk!di3BP zYPk3BxX3H{K^tID1aO;M75{~y)Vc#3Lxv?J-1$aIQ}%z6Bc$3Mk|c*%3}>QbsO8xz zXmr`Fx%brmT;bizezG60nA+{tlJ3^D2z}*yY?m{hh{#}hRRGj!VNi%D8T*5_I9!)s zVw1F{_;i7eeAm&ewFSur#n9u=WrqtpUSS21j)$GN+lNOz*|qeBx&1?#D%*uaiW<$o z*uIesC&ZKe6YI;$%fkN18daxtS$BE|Tp8l);WfV5VV(Vt^89madF(S$<*>}^eko{A z4sXujjm-*BdbQ!wgL_PGR_q+>C@ek0pm1Q2YLpD@&X8!yN6!-;o2AnN;bU|~=MaHaY6k|>JS3tX7Vtz81@kGfPFD$4a|7^c`1joPnI zaze?l6jSQGe(hY(`PC(NTC!sTByN@C_3EkXhMd<7Z%i|u!?vFJXR(^aQJ#H?5#{Bd zjPa)yWX2}l#29tVkTToVWSXow;_&)y^6>z+^~?{S2~A!k>ALw|N8J3Q3q6C+wE8HW zw@8UxwC@=8sB4s21`JY-k|7su5MlIN?z!0Zk*?ynC4=}E3gX70kKXPsHhg_))vc1T zrGS+TKG-E>Sa$WR)=)8nkEN>J7d1olmI_SEtc5e-#5?nAl`t?UM3js3iQmv*$t}ProUFK?WRrXLRNbsV<7vc`#xf zVlDq(ApY0e|6%XkvpLm z+Cox_qH;}yl2k4g+7;R=Nh+a>Qk`LUG+48qMV<3Gf1Li%KhHeR`>gj}v)*^+_xn!t zzDs%*(o3wm3rcI}p-=!$Zs^65REdRG{x6dRbDpniJ zoH)_NhKfP~IJredbM%UAHck!5r_+oY5@QQ<4z;yi406+zywyK=ph@;J}d zt6yz3gx~husQa41;y;T*0XVrk1t#!#x)y8iZ%?XwVR$9|@g;ru`#+p2$@nzvk|#I8z+B@M#PR1>oeq+q}MIM`lfn zq-?afn}FY>XMbH4-5;^+DvzK?etwIp0}2J;M7;izS7m+g zf^K-l`ND`2s~71g6o8YPuSD{2WNWm*O*xT*)R%%&rw2vfTzd4PvGtvT+ywzt6%-1< z$^Ghnu5(sVO+{MQIk(B55AfaWDrs@fdG9bMbKfH)-X3!l3K;6hCZo`M@IU64-q$!` z9@s3X|Dn?)M_sI~Ts%VkUq6-b^>@I-NBzFL{oWYn_L7T@0C*WM`(>CrG00HQ*lK;M za}fzi0SxtIB8GYf?aq}Gykn5l-;&9a1{&%OD_)(@r9^}!s_hoYTYr!q`r&QB9}(xD zUu{oDvSO~3h_bhtgAMg8y1FKvGszWQ``Fv$B**O38T!lA>e>Qc)zo*9)%nG9#h&l1X##QSkuiGHj#S6qQW0xhQ@PK|H+PyX zdxwgb4~4oyp%HVArYCZ=lbWH7=7*ZyVM*&!a-`}nF~@}j%Kxe$-ax-;s%*>NsN&)R zpmv6Z3;3vXbX?)qru`1VEn~9or|V}g7G5D?qO_xDRmB~lnrtcAf37umT)>doGnLWw zvNkwK^*q8I;k$IR@ix39X|Ub@9Ho%TuDyvw^vnw_}ci;Xpz16HcV{CM+?zuU_$eEwB0 zBjls%()2k~mmi%~)w!$Ds%>L^n;m;m;ATUiMp0 zqS4;%(Jj)!_q&`BYlq>tRlyyy08JzcHOx7h;?_SFZaLk7l#7+mjkMYqb)1<+UR8ED zyXq~8l5$FHsx4IjcU7R!B1fTqIY*PM+<3S{l7IW})9iMKjO{p|K0#!RhoSVr(0MIW zf0yaj88Go6WZ_bRXxT*D>y3^q$?)9YM$?rp#bkSa{2VT6up_%GK4Zp!i60qc0U9vp za1u4Q&6t*enuN>NnTgA7H+`Sw+0-M`aIH=;#j|{pm+ye)Fn`*KGu!0Q3b$5jmV%5x zynLaMpj2Q>_1LV~)0QP9kD#X-#}4bUn?pvSP|;x_8=mFK7Z*1t99k7tBp*J*dHVwY zsHI}YHL5z(;%jw_WXN_D8h!^TG$kn17UytE+#0GBwL6RpyI32?Jes`bf=!3up$Q$K z*CZ5T8ugB;*wKWk_{aum^`lV77;f`iU1M-&O|Xt_+u7JoHnwfswr$(C?Tt3JZD(UU zd2hbDKW^3ibLI@XXZoC;sb{8oy8UnNJOtKY(E`%($Z7?EImeMB7C?-39K;Y58O4Ie z&*TvVu+lJ8F?K*C=mJ_3RFbk$tcp%&x@|?dEX}uz?vn$f*)6su#vOOt1qF<> zQgm+IrO4z)adlG*%LJjO49I@FsiqwK>v8_VR{|x#o>9<1KCe-&!*J{fGVD4EY7Z8% zzutGCQxef~ZZlm&F9fL?RkGGTZneGFTcpOp$Y@jF%6C-q^4{%*6)enCurSbQ{X+Ts zvdljZXRVOe`pXbw`Y1l5N0#ocY(m_b+Ap%{DrUiqLpZ>CKuJ+qxfu0t5EfdVkA1uS4~TEL|T(_oksET>*yJQ0v%i?AvkhjYWAX40#v5 z(Mje-)hX_^@;oOdDM^!KO>|NPxwrmAtTpg71&l684KP=!zLO#Q8mai9hFae`#DWM& zx@q0QZUgJ<)#eaQJ$#9a7X{3TRs~aLRu=8bUTEBOE2lg%cYb0|U?sLv*Q(!y@?s5n zk+{vleAKZlcYNv8HKle_xz&&kYz1)*FgoW*r3*kKJFTacNHW!4)z3!HvS;&wP5w)Gq=9HBq*=|h(we~Z#*7I_B}d)6Z5}1s4-AfZz#0D4i?6Y zFacxU8X<`eCU58-ITizZx@=s#ks&@H5kKlL*kWJ;RsL@IK$PE!MAvm<6{l(5-ZZxx z{71}NCNk``8`7L0yspvmT}6k@TTHrGZP)UKhq~}37#tnGEUb*XhcLBYshmZVx~ByU zBe||>LP5275&K+bhS{{cg`mBM%hdNox!@K!dMM;wHb1|^^t7yLV*8|LG%sJeWe;1brGvKkiuFoTb4U~RBPb(jZLp5%28R07Roveb zW%OeKE_2l#=SZj}fE$Z_UdV{b7Q#PHBQNmi2EplOMpX0Hs$z1J$a!nKKU1%SHnPpn zrI2ni#(9wQ6j;O}0AG*|DdP$-B@i)(*u>Ep0}zTt0TBIv^2y@;{Fx_l40hro@I#w< zXIn%+k+V(F0V1s<*uE)TW8#mu3VVmeFuL=dTvPU{c+nj8cu&VoHp3R9Mo`s+_rY(= zu}5AD8I`1Wz52|>ZtB0Wa=uzxlE?hETjWp3S8t^ng+AALsOH{O7)yTgT-bx>QfbHq zrjMR+N_tllH_csH;;Z0qxTaE2`a3Qjj>i>ekvC1SBKEN?a;5DOS$vw;@A1n|dc&zx zdCD~}S2X4rd|J6w1gEcNLBr+GvqCi7GA=#B_bQ6tEdF)27Y%hCJ6`8GS7lq_mL<>a zVud^?!N;GX@w+ZFD?-K5HJ}8Yc&cWd^?Ze%qh6!p*)7l`fg9B{W%QfxD_>mqyG>nw zW&Ct5wa@7iRe)jH$8+W3JjWNMQ;*nFY-IzysuYFW1Ay8p0A=`~`91W*>ThyU_PlSp z=C#^E^S?)RyT_D%>Q>rlrm1TJJa^Sh{Ddxm`5~v*d>yyiT2s^~O>I zM?k3fGKv&OT3PvwO2+r@n<**0Zg~?Uo-dH7zop7@9V%U_l|1UjPl$`kD4r!1&D}z# zKXp_3Z?%>=R2Fn-9+Zc}bW#(V8i|$^JM({=o(b)e*~p-lItj2AaM+?*f#O=s0nS2b z3m7wi`1ywxv4|ate^R7CV$#<)!7vy!prddkTE=2?|00DuM{^o~M=P*aEmroke%KR(!!7(<&`Wc$?+^ywUc9^;gE2I9?3GO3wx$(yVw zRGQcaN;7sS$N)ys5cHeY0GtO0WgiYq4M~z8N<)y~hw3+p0r-dN-050y0J?}4HdGDK zeUzU8xTnWYrwswf@GjH2JY7O z!PF8a5jHf|5|KKI^ZOmW;wT$Vp_pqK#fkH4F%pr$XN0iI&|#1lVIE>qa|7lrOh(#G zj7kE_Qb)?>D#cEwH%kbxMz`)K@;Db6#@#Q6Nxdm*Wku?W;_*c#f42;jrSjc!nxk9| zRS1{=o#6KVYc2hp_eRo7EB8-&M4yXe*3;86kG5sJ`M7Y-LH5@iWtb^*A;0!yw#Kaw z!WX0U-AF*x<_bp~+okJPZmX8pQc-U7BIdeM1*=Xn^wLa&%r8^~EFSfZDeBW`Styx% zc$z zbZsiYTi*&6T?!TYGxHtzm~rr)8vbJLIty1%fp$uKDHieSzadj}Ff$}SDk$lb&Gc;# z+@Sv{&$q|?#+2H<9Jfzdrc^qUKwN7XGcV4r&`4m`&n-{K_tpgz=z{!*NxNtnHoh~N zJFhR;6VoqxhwSAenV0v|?Ou%8_#@Vk6twKc3+HdAAryoMnQ@O`f74%WGz=}=^`FER zK|WJutaTM{QqsWZT&~tcRUWmr6++%aYs6auUl9jP$Bd*wW^_>t(3A-HAnPTOlUGyccQUddyrt~bY zo|ow+GAWzA8yjT89Uk4aEQ&gL>^OUwtJcOpr{l4DB4bs5$X&Pntd1gbi|4o7BvWLR z4}ZRbyj%OAQm-&wjKo{-)pzNVuVTvP{WYq5zU{m_8w`UJfp;ezo5p*>&`K)0Y1*YM z3db=IYd)n5bOS`otx=WRsAXOPtP{JabzN)sk=JG}PT$|*#l*J970Z15$6+s?nLni&eM6YWgJBC}D^R-22*AV#p)g)Ko%f06NU4OC zq#UjDuI)AQ@;RiPY(arM=fo-T3BRU6JI4_(+UVO3kU?*_2ogX(L*>($kSc((C<+9L zKnuiEZYYfsKpwjS-3j`%ln4WGUnqABP(BXvpM*Pp~f9NpvhV?&mIN^@-A38kdX)g5kFGPlR zJpO%VK(k8)mU=VQ=ZiD7MztMYf>-2Ij-=Ad5?zhZ+ek`m9q!ZJU+Gi+*>RtXt^Yzi z9vR{R_vU6;aG!h6l5#T@>&flh;)yhCKMX;$>x}Ro##!HyeBwDe`F>t1WV@d5Bm`r* z*u14)M#in~dS~^N``jyC<&F4oex8Lxs~YPk*;)pptQtCOP_f9ys*)*_mK9Z1#qHd0 z&xMf`lM0umM>}=jg5Nsj_jP7WEYlld*{I)&j>w+J{&4l}CKoKmf^zH)@J4!+#jRl( zl|-<5E(C%*<^d0--xN6Ju{Bu)qu$L--&)E#O-`8Z`1wFJKIY72b{Gp3#C{1slU?F% zW-6PnoGdBk^^kIxLKethKXTkBBf^{NCBzbOKNWFhv^nOfwP6sZ z(3HB9eK-1m*X6cszW%IAp*O~^X8`bdTefbBNW-LVk_Z0ibh(bp;nxfD;};7p00Kr} z;WN?dkU2OOFX zB3UyjetdTE!|pn}dS;fbs?ASgcgL)|5BcA=AN%N#U!;jlL38)97)I7+dmOjL+8?^r zX8T>22t5Sp+s0WvM{V`3j=u9!M8yEnRm+zBi=^oU5J~6%J33f$N{mWy? z;fTmVghJUM`08}7wvtt(bxGLsV9m5(_wH!_gQc-(KRU^_vvsTO)>M5 z^ZnxQ*RcKm-sWy>+~@Htd@y@AB2TZ!;O3a8t(NNNpc@YNq)Dk2)2`2;!16I`|1@u0 z=C%Ca0L2T#yH%^pZNgjS^X<&3^|$lhV(p7Q6LB*6Dn;it!xGym{ri)Up{&QGFTQsc zgsA?T{_g|${H5IIza@94$NIVs z9+RM$SGHCjBDDOq8T>SuBTc$a+o0O|XnnnI4+po}0B%M=@9>c9tb9hh6L9<4^NmkB z6X~DTqPZ5#&TFxri!O3m5m`@1zlQfw4*$0o*L&mqEl(V~xBbA0b?u4oj`;z&oJ5|r z7`hgm#3d_MAKmuN88UW)3_$oUZEu>t>+VQcu)CZd|5XfpEU8g<{?}khG_`#V>uL7l zxGP7N*h}YJE)O2Wy736tG{hBd$pN8honMjfU@?>!)K5P5nUN1+!TCdsf;=W(>2a%f z9vJBmm1O&*E4xO_$tOg|eX&b<3ftVTW#;$c@CViE_Exu!dl|8k@@_(CEyt8A$CGRw zkFouO-`>oC-O_Ovi~l5BHn;P(?7!o#?1c$e$ThKbn##`W9!tIS3p**6)omA*&g(t8 z;#_OpI&b^3q^ygbYz~yp>#|3uZCT6XE>N4|tC|^|mmN4BuGOCO5Xm1N_E@#$%Ff#Z zuwrr)Y^&Q#)jBU^?a4V8b`$S60S&Y?q2T>CFog<*l$1h-WRxK!dYX}F&#HuTW%sn% zrJ3qq`j0ZqaIy_#@=QJ$f=yu3CYtNLI0EuW;3#NqTFAs+e_5*dB?~FOA<0AoM8S(L zGE9hlzaP-XO`En$}qhkw1sA0puV(Sf1xrQvFjvOaF5V$lz z*CjVd#A*5KFW``&G&@(Ks?C}Tv_j)BC7t$nA7yc0pW`$0Gc1<~uVEO1_zX0fK0;p8 z9OzMntgBgD5kbl!!Xz;F5IPP<$$zKit(khF+Pci5D;oi8!@uB?>Rmn& zh`$){1&oNwhTcXCH~Aurj;ag3sEuB^j+rQR45ZTo9638PF(9Lvy>iKTYG$~uA@}S* zxj_NivkF+)sH(buV-sHvFZ@>SdPU?UOq)9M_Yat<%kPMz2IYr-R0AZsB!CmGNcY9J ztoox3C}ckA_X((fcN>Tx0K5gcSA6q11t7{h0i#YPW`J`3{s_Qm(+z5P%TxXlWz@uf z%$NZ2e!CP1VxQ*Nab+i{s2T9^073f2pY}5btn)rU zK=@HW;ml8$0%m~IQ+ToW_>u$47vF=q=I>;5bz1zeP<>5Ff(i3fK#F*hqRc3mmSn8HlEiE?nM7nLG>!vc?g-*;d0O_N=juR#6V zgC))0Rp)&#$Gk1Rv+{NU^y61;L`rLZx_hAi1STr`uG9AI1|nhGm-Em7&v%gF`gqKE zrlv^U?11^f3U0+}=jGij;ID39P)`PqO!#1icI(_{rW3yF_WWL_`y6`ry&PtN z2O94=Sop1GH{!O8-Ghi%g!WLejCorTW2+3S5RWaFy!ybtGxeVcoVZm!YN za(D`HI!P_hQDshP5U~5X*xsqGuL0#Q7ez%d$foI*(VvPp*-{1PteKk>)~FBX5eV7$ zKBkAK!S$NF@T)E9HWq&$u$X18`0>AAL$}+%)}0M0#@g>x_PiBdMBYJa_r7||iH>Ra z*qv(E*XQ{jmqF@pzs+A_+Py~F?v7K(S9P+#TR`yo{>2YxoT_12UD7kD`#2fI^X!&+ z!ye}=B>T{Y)rE@r7U-Eb*9_M^xJMpp_>d9z%28Nw zhqWOWE)AZQ*ZCR+=<@b>o(-WC14z zoLm}jTk*yL^0GFNy}kYCEXO69sjIeE(h@@p7f*;x%p2FpCS{rsuWy?soD6D`#0OX} zFu#&V3OjL&IO-T@{MB&6@l}({{VL;Kin!YvFsDx6bARYGyR_Qq~c z!`^*yhiZRWeknRhsv7y{&vLW54W%bUAW;5UJ!eVtDG@T zk1PzX`0!9fgukLvc>l~SL5ISNUhvf7dtbNIB~qX9Z#`)a7{Ic~bn)i?Wgp7u8aZQo|= zwfS#(vK=h2@80IhF!em^ZskrASBhBr{4^CE-yZZ8De z&kodi12_!ey|QN7S;V!1&8`_ad)=`ttml%I2vp_Se%BlR`G~nW?YOmvScbFc+|Oak zww}z*{%)}sw>hzYQO|!~u7E!cU^{cjEjL|X86eqP+oW+B!TUu`08HcZklA3OI!HExF~Ay$HqcLh={J-(0P z8F+Zv0;ZOaCX37}8fDi(E_sV4$q5E|l|VK!-N{=Ljk<;9yc5wU2kvK8G9#bcV)j*8 zy0`=Gcka@YZ`2yRsnFA+7sdk)Ym@gFS|tu79xVp@(tWPO7(ixgH%aG zVD~L7SL&fz(P-HTcdOqL6SZ*a5@AL5^9h!N?eF#TG<4_%gepsHMvb?ouXbZnEN zl`CZpbwJl>>5j9RCM4r(3w#$K6{rTa38Mg)m#as701nRngt@>Hf}#4SVjT>Aj|fCb zzzswx47?pAD@4R#|1%ZCd`SJ~@dJcULX1yu=@-|wlZazj31b!z4u3_+n1KwRe6<-ctBZQR1ofN*q&Y*!wi9bbe>8TRuNVjiNmGk zu~YyD8_H%>kYXP{6VRAOI+~aWIB9xT5%no?Eb-NR=&)nbgrR=+$SHXPN||Fx682c$ zSxQjQBts;UWs_{mZ=of`$ON6@kYW_8eujW+6>7Y%rL880iZ{A2gVvVMlhI)UVgf+~8jHJ*jw zm*3W+PG1C%dimHHgvHM#@Zcaw2k25Q=N5<6p=>-HDZ2N@(A&EOnU+{lrJct(pR!a% z?FPo0%-p1BA9jJ$1Wp2@1VBL(m5?-pR)Ar{hG+wiXwsnz>ho2g zu;VI4a-tes7@C{~%DDC<>OF8m$JD(nT4VL2f(7145uxaA1bsmS9L7rc#Va3Xo*dhZ z%UrhTw4q@yV7ENdzpKl#H?8S%EnH0l_TWS8wAUEh>l_?uJp?@~9JM+e1&uo=Rju-6 zJx|qIJ@KQDu-Inx#M0B3A&!lv(Zyq9Bc+fnKnh90Lt`jCpt`q*6$lot5;@be6DZUB zJ9$|zh^WSgIVCVj>3GN1P#0oxI+(M`)02$Gqc{0`oMV09S1UDPxP^}Z^}ST5ekpkf}Z@?(m;j_TF*6EPIyjL(^7dR z%~Vs_=Q#qk{@$0iBID?)(M)b7tx(VA>DS+Zn==5}J6RUHc4u`hErIELvMqxFew4oIG%z?H zx!tvisMMM@I-B7yWId7;RbS$M@#!)&>i)gf^NFM){(>Pb;~wXi2=F-xvM`_nE=`%C zc4X~S&aM?!(PIbJfEXCr3w{#V&|O&0{nW22ZIf;m1t!VF+)9sac5rhHeW;<)D5E=4 z?=3L?tvUYJnb5=6I$l?jmn{7|WKzG* zqJ1K~sG}H`eozs~1!|NBi3T(*11)p1d33^eqL5f z2)M765cOKnvW3tUoLo_2?2IC{FKw$v`Fdzc3+`iyirDiKG})O%U=0L}a034=O<)E| z_dyL}te7AKfo7(Bj4c-iW*V2O63(YjiN~-%l_#3Xt<_sntW&`(NV&4eG^OAZg9$|VIH1}|91#L6$SEOwY=>d6iFWp#OUtG<4$vrAENBY3{!I1c3A zR@~Z;1iu9#6R;3t)r&aIRIl{{nf+iw$T(Jcs9inMk~vY8KP*S0y)u--vbp3~YC7+D<@-x5m3|-7 z(AP1FC`6Ux&x@?E-1&fM^q$j4Rfz;tR0K6PV5~JE&1E#Bj~x^9j@aP_igso@iQ!jd znzLi`GoBnC1I(OWmc{cZ2|@QRVO$$!p+zxPbPGx>a1|3y!|I}2dygfW8Fu7pRbV7| zIn>GksWdChVETdC8tj%>Bj>HovgC{I!=wYAEC~vT+q_Z;VgRC%{_`9S^Bom zOrRH}cj1fp}KAxbe&OIl#T()M7v+*!a>D!cKbkT@(p zoy!OkxAmFOPLp`Q3iGM~HFQAb(#23F;I;a9thzZhu~&u^T(|imj5%{e{b6d^0=^n( zSrYsZ+s35l#!;2^)%O6l4;(c_ep>+w)0{d*lXk0(7@Va5`)dMZ+PlFlur!Xh#ieIo zLpZ}gv_#N7I8Fm(s9~f4Z6cI`3hr|ONF$UR^53S6n~DeqAw`WL@ld1IwPIhEf6Y@( zJ4M{KWf3AWSQJpvxhPTOM#zdmdswUlut`JGMx^9P1qO|r)IWatq<+pvvm=>d@11ae zL*j6ts-9ogn_8>77Y+ZbJ2HiQjvEU_tj;TG1wuM8E z;vQ$dFDWBvoU^oTT(bb;Xy$q};V~$lISoF(ImD`kp=AzK;IYN%o3K+(rV5_9EmO8p z!DMc|EvKbmjK7Fm4tTb9^Gmj47wDYh99nd3o#IQ<7S898+0t)si?LZjBn;bp{22m^)CtrX3DnH5{LaG>?VA*Yuknta3 z;T}@bFcDGsT+S^-cmy17p91F&MrHvVXhd92qN!>425p3%#YN^P>OSUEix~6ro!0_R zaXf1Sd@)E0kx&N>=7W1cV+I;Uw>Kh! z(g4kQKiYserjRiR3W*pFR>T7Jovq9Mm+vPIK8G^u2ip=y^1dJZ-|%62p@zV$t@=bq zjIIPu+|;Lrnzbi$+K2(dWqc3QcC$qYeA~JC|Nq$ju$a?ik-vP@H>gMX);ccG8fypx zX}s8d%SIwKsOG5wU4{c%ar z_)HBg_M=pAoHM(d-bWwRC07ckoUl(0IkGI}Zdl-Wr_bEnGqiQ{_xYU23vF|858+3g z*-BnG%Wb<=$Xns#*(~+6H;(@Ht4z3lHy<`ym7B4j$_Ue5;i1Dzp{S*kA9`bV{)fr8 z-h_vxKuP~Jx9^fCop+>3fDtG8glM48{1etbUmFkNoTRUUnbr=(f#ynQ@X;etn ziY=xvh5E2SnE0lVGW``BNfLghmEvptS zz-%Rt8YEm1v8(9Dk1DODowSXuq)DEJ1Gw32CE=1vq|BiUgk`l?V2euPBIq}o3W=o8 z&#acyj((|-tM}2p;De9*V)jbtTI-UfZ>V!s>7*$oZ-sStsz8n}*GErQNY(jOx5!i< zvHyNGMf;)1qk~-fKwT}n&MtNLT|`QfO5K4GV5kB1ny?Qzf3MkW7d_W_TQM(vJ&2sU zfdJL2RQe!LfK?Np9_xYd;l4B}0S1i{pAX0aWwS;DwL&P==Le$a{!5b?pa@S%@|GI# z+Z8lwYh?`rEpd>#Ul8*r)5QcwNs_)CR(ET)Y{?n~EPB)+_9L&AK;pPEN5PnFtfc^Q zWjW}17q-Idp{^>oH88#vgi6n7&w0d|kpSD{t2(}JEd*L;WaCc{;c&rZ9Kzz`rB=B} zoi!{fPOJZjI^SKHlBP!zTIRLG3l$ z?3dBsfAfFG)Yj8?9#^Hu;faTAm))22H=)(!s=VR~N8ax>3!YRg@H(8Bw)xMEym={dI?y z)eiiQ>;5W8D$3IPY^G(sq>;g5`+)UhHuX#rQOl%-LlIT09Yc$6?7z-#o;{(SKM3{_ zz!JopaW#EiLSD>M4%^Mb@}W{M{oC*#ezi0eETLEEbJwS((B#@^yN7ld{1KUX&*hk5 zBlbxG{E*>Kln;*fE8ioz`l$v<^!Z-!;J9z7*+1T$qx!39qb4nxyw%Z+)yuo#4Q;Ku zze%FX|2${ik$E(VM%Ztfa?o&+*4h6#v~4od_=(g3c~%ViI1l{J*8$`!9p2OG&>HYd z;kSlt=oId;0bA-`y$zU-i_6Y9Sd3SL6j>j1Lb+dql%4fuuqsLTkBcPwQI?~XSjPsb zqo(0G^dDIB6Ov1V+-Xc{TR4oMCTU!mKaaSb?PP#D@m)?<(cSkUFu5AE9Yw)ty z0O1ny{INl6;U3b@1mx8q=U{sNX(`+$n3P>xe5AzNO6Ig~S8-&wD(LidVT7PMzHFcB z1edUd7nM}4KkEeSI*6ba`RE4Z73=FxYfd9X*KBUrJ0EZ;g*%yD50T!Ug3lI;Z z2wk)P#ZQek5FvL1P?Vwl+tLFNXM)x*IQi-mAVDd<4S)LX>-_{+-vHhyzrOnkiTcXXMlP@BqeE{`SfFWi6Ga#!ZVU?e9#`OG^k`(`IEZQbe z^vHF!;hXX==G-a2tRjw%|Lv&8@1y(Oz4yTiB#eq7fPg6D)ek>tSZCd^GO@ux{`mRzX*Qe}Sxs)@UlS*ie`p!7)xCk<} zlA8K<8A9Fu{Yio3$T1)CJn=W={atkmJ8GM`+m7u9Ai}IXd@t*=;2&�qZvVXrdzl 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

URRevcS0aZeCYo01@1m5( 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 Date: Thu, 18 May 2023 22:31:03 +0200 Subject: [PATCH 15/15] feegrant go mod fix --- x/feegrant/go.mod | 24 +++++++++++++++--------- x/feegrant/go.sum | 48 ++++++++++++++++++----------------------------- 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 1d597d74f744..6039f88fe410 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -6,11 +6,11 @@ require ( cosmossdk.io/api v0.4.1 cosmossdk.io/core v0.7.0 cosmossdk.io/depinject v1.0.0-alpha.3 - cosmossdk.io/errors v1.0.0-beta.7 + cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.1 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc - github.com/cometbft/cometbft v0.37.1 + github.com/cometbft/cometbft v0.38.0-alpha.2 github.com/cosmos/cosmos-proto v1.0.0-beta.3 github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230426101247-6dfe7351a5c2 github.com/cosmos/gogoproto v1.4.10 @@ -27,11 +27,10 @@ require ( require ( cosmossdk.io/collections v0.1.0 // indirect - cosmossdk.io/x/tx v0.5.5 // indirect + cosmossdk.io/x/tx v0.6.3 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/DataDog/zstd v1.5.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -51,9 +50,9 @@ require ( github.com/cosmos/cosmos-db v1.0.0-rc.1 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/iavl v0.21.0-beta.1 // indirect + github.com/cosmos/iavl v0.21.0 // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.0 // indirect - github.com/creachadair/taskgroup v0.4.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect @@ -83,8 +82,6 @@ require ( github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-plugin v1.4.9 // indirect @@ -108,11 +105,11 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.18 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae // indirect github.com/oklog/run v1.1.0 // indirect github.com/pelletier/go-toml/v2 v2.0.7 // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect @@ -154,3 +151,12 @@ require ( pgregory.net/rapid v0.5.7 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) + +replace ( + // TODO: remove me when collections v0.2.0 is released + cosmossdk.io/collections => ../../collections + cosmossdk.io/core => ../../core + cosmossdk.io/store => ../../store + cosmossdk.io/x/tx => ../tx + github.com/cosmos/cosmos-sdk => ../../ +) diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 5a7a0baac0d9..55e573d3dfdf 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -43,16 +43,16 @@ cosmossdk.io/core v0.7.0 h1:GFss3qt2P9p23Cz24NnqLkslzb8n+B75A24x1JgJJp0= cosmossdk.io/core v0.7.0/go.mod h1:36hP0ZH/8ipsjzfcp0yKU4bqQXUGhS0/m1krWFCtwCc= cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= +cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 h1:rOy7iw7HlwKc5Af5qIHLXdBx/F98o6du/I/WGwOW6eA= +cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4/go.mod h1:AwrAxbvuH9FdatzJX463kMYNMVkjujWU/xR+HsimWTw= cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc h1:9piuA+NYmhe+SyMPtMoboLw/djgDbrI3dD5TG020Tnk= cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc/go.mod h1:UFF5rmjN7WYVfxo6ArdY/l1+yyWMURBWOmSJypGqFHQ= -cosmossdk.io/x/tx v0.5.5 h1:9XG3KOrqObt7Rw7KhT7fiqRd6EepUfmA9ERa8CHj1WM= -cosmossdk.io/x/tx v0.5.5/go.mod h1:Oh3Kh+IPOfMEILNxVd2e8SLqRrIjYHpdGBfDg4ghU/k= +cosmossdk.io/x/tx v0.6.3 h1:B9uRBUYrjEuq972T0ma0BCDu5QDElqsQkJuM+UZlDhA= +cosmossdk.io/x/tx v0.6.3/go.mod h1:Fm+6hJnc0Zivgy90sPbAHaDnucg1qyo8MtA7h3qJHP0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -61,11 +61,9 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= @@ -116,9 +114,9 @@ github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsy github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= -github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.5.1 h1:mixz5lJX4Hiz4FpqFREJHIXLfaLBntfaJv1h+/jS+Qg= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -168,8 +166,8 @@ github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5w github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/cometbft/cometbft v0.37.1 h1:KLxkQTK2hICXYq21U2hn1W5hOVYUdQgDQ1uB+90xPIg= -github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft v0.38.0-alpha.2 h1:iorYtE7u4kBgSe4JtruHsGR1RNSdVlrDwGOYKZ7h3zs= +github.com/cometbft/cometbft v0.38.0-alpha.2/go.mod h1:5Jz0Z8YsHSf0ZaAqGvi/ifioSdVFPtEGrm8Y9T/993k= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= @@ -187,9 +185,6 @@ github.com/cosmos/cosmos-db v1.0.0-rc.1 h1:SjnT8B6WKMW9WEIX32qMhnEEKcI7ZP0+G1Sa9 github.com/cosmos/cosmos-db v1.0.0-rc.1/go.mod h1:Dnmk3flSf5lkwCqvvjNpoxjpXzhxnCAFzKHlbaForso= github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230426101247-6dfe7351a5c2 h1:VjzSCR3T3w2+YW0fjNLbHIvB2EjpGGbsZ0jEZ3mIn2A= -github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20230426101247-6dfe7351a5c2/go.mod h1:AD4IKrBq+M+oy1hlaBaDkyFcvoR82cLg0mS6lE2K0nU= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -197,15 +192,15 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/iavl v0.21.0-beta.1 h1:fBQeBc8HLZ14plJNcmGfaOXSSMLVEHvEQXiTXSD76m0= -github.com/cosmos/iavl v0.21.0-beta.1/go.mod h1:25YJYzilTErJ2mKfNB3xyWL9IsCwEQdNzdIutg2mh3U= +github.com/cosmos/iavl v0.21.0 h1:E39qwHl45PaQUe/mRA8lY4kOqaunOorVQufpv5JPgXk= +github.com/cosmos/iavl v0.21.0/go.mod h1:ejCWRfxvfmQTcligmeRcoQeB8VgHGxkVlIqKSKG7YaI= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.13.0 h1:ex0CvCxToSR7j5WjrghPu2Bu9sSXKikjnVvUryNnx4s= github.com/cosmos/ledger-cosmos-go v0.13.0/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= -github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= @@ -326,7 +321,7 @@ github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= @@ -445,11 +440,6 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -601,9 +591,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfr github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -642,6 +629,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae h1:FatpGJD2jmJfhZiFDElaC0QhZUDQnxUeAwTGkfAHN3I= +github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= @@ -891,7 +880,6 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -939,7 +927,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1178,7 +1166,7 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=