From 7a87f2bb15af1aa51f69e52bd7de4e8c5923427f Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 3 Jun 2024 11:33:40 +0200 Subject: [PATCH 01/41] refactor(x/gov): set environment in context for legacy proposals (#20521) --- UPGRADING.md | 1 + x/gov/CHANGELOG.md | 1 + x/gov/keeper/msg_server.go | 6 +++++- x/gov/keeper/proposal.go | 5 ++++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/UPGRADING.md b/UPGRADING.md index d5c9f75ff98f..48e2db4164c4 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -688,6 +688,7 @@ To learn more see the [docs](https://docs.cosmos.network/main/learn/advanced/tra * mention changes with sdk context removal * mention changes with environment * mention changes with environment in context in interfaces + * mention legacy proposal in gov when using server/v2 if using sdk context must be rewritten --> #### `**all**` diff --git a/x/gov/CHANGELOG.md b/x/gov/CHANGELOG.md index eb792c01ed2b..4570b966a1b5 100644 --- a/x/gov/CHANGELOG.md +++ b/x/gov/CHANGELOG.md @@ -38,6 +38,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* [#20521](https://github.com/cosmos/cosmos-sdk/pull/20521) Legacy proposals can now access the `appmodule.Environment` present in the `context.Context` of the handler. This is useful when migrating to server/v2 and removing the sdk context dependency. * [#19741](https://github.com/cosmos/cosmos-sdk/pull/19741) Add `ExpeditedQuorum` parameter specifying a minimum quorum for expedited proposals, that can differ from the regular quorum. * [#19352](https://github.com/cosmos/cosmos-sdk/pull/19352) `TallyResult` include vote options counts. Those counts replicates the now deprecated (but not removed) yes, no, abstain and veto count fields. * [#18976](https://github.com/cosmos/cosmos-sdk/pull/18976) Log and send an event when a proposal deposit refund or burn has failed. diff --git a/x/gov/keeper/msg_server.go b/x/gov/keeper/msg_server.go index 811d99c618d1..ec3e33a44c3d 100644 --- a/x/gov/keeper/msg_server.go +++ b/x/gov/keeper/msg_server.go @@ -7,6 +7,7 @@ import ( "google.golang.org/protobuf/runtime/protoiface" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/event" "cosmossdk.io/errors" "cosmossdk.io/math" @@ -209,7 +210,10 @@ func (k msgServer) ExecLegacyContent(ctx context.Context, msg *v1.MsgExecLegacyC } handler := k.Keeper.legacyRouter.GetRoute(content.ProposalRoute()) - if err := handler(ctx, content); err != nil { + + // NOTE: the support of legacy gov proposal in server/v2 is different than for baseapp. + // Legacy proposal in server/v2 can only access services provided by the gov module environment. + if err := handler(context.WithValue(ctx, corecontext.EnvironmentContextKey, k.Environment), content); err != nil { return nil, errors.Wrapf(govtypes.ErrInvalidProposalContent, "failed to run legacy handler %s, %+v", content.ProposalRoute(), err) } diff --git a/x/gov/keeper/proposal.go b/x/gov/keeper/proposal.go index 08355071d582..4f378e6fcab9 100644 --- a/x/gov/keeper/proposal.go +++ b/x/gov/keeper/proposal.go @@ -10,6 +10,7 @@ import ( "time" "cosmossdk.io/collections" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/event" errorsmod "cosmossdk.io/errors" sdkmath "cosmossdk.io/math" @@ -113,7 +114,9 @@ func (k Keeper) SubmitProposal(ctx context.Context, messages []sdk.Msg, metadata if err = k.BranchService.Execute(ctx, func(ctx context.Context) error { handler := k.legacyRouter.GetRoute(content.ProposalRoute()) - if err := handler(ctx, content); err != nil { + // NOTE: the support of legacy gov proposal in server/v2 is different than for baseapp. + // Legacy proposal in server/v2 can only access services provided by the gov module environment. + if err := handler(context.WithValue(ctx, corecontext.EnvironmentContextKey, k.Environment), content); err != nil { return types.ErrInvalidProposalContent.Wrapf("failed to run legacy handler %s, %+v", content.ProposalRoute(), err) } From b245252c660ac71395cc2874a855369ea4e9aa8f Mon Sep 17 00:00:00 2001 From: Marko Date: Mon, 3 Jun 2024 12:38:41 +0200 Subject: [PATCH 02/41] docs: add docs on permissions (#20526) --- docs/build/building-modules/00-intro.md | 9 +++++++++ x/bank/README.md | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/docs/build/building-modules/00-intro.md b/docs/build/building-modules/00-intro.md index b055dfd1e42c..4eda49125a7b 100644 --- a/docs/build/building-modules/00-intro.md +++ b/docs/build/building-modules/00-intro.md @@ -42,6 +42,15 @@ flowchart TD As a result of this architecture, building a Cosmos SDK application usually revolves around writing modules to implement the specialized logic of the application and composing them with existing modules to complete the application. Developers will generally work on modules that implement logic needed for their specific use case that do not exist yet, and will use existing modules for more generic functionalities like staking, accounts, or token management. + +### Modules as Sudo + +Modules have the ability to perform actions that are not available to regular users. This is because modules are given sudo permissions by the state machine. Modules can reject another modules desire to execute a function but this logic must be explicit. Examples of this can be seen when modules create functions to modify parameters: + +```go reference +https://github.com/cosmos/cosmos-sdk/blob/61da5d1c29c16a1eb5bb5488719fde604ec07b10/x/bank/keeper/msg_server.go#L147-L149 +``` + ## How to Approach Building Modules as a Developer While there are no definitive guidelines for writing modules, here are some important design principles developers should keep in mind when building them: diff --git a/x/bank/README.md b/x/bank/README.md index 5a660c019d2f..8bd981a9a7f2 100644 --- a/x/bank/README.md +++ b/x/bank/README.md @@ -280,6 +280,11 @@ During `InputOutputCoins`, the send restriction is applied after the input coins A send restriction function should make use of a custom value in the context to allow bypassing that specific restriction. +Send Restrictions are not placed on `ModuleToAccount` or `ModuleToModule` transfers. This is done due to modules needing to move funds to user accounts and other module accounts. This is a design decision to allow for more flexibility in the state machine. The state machine should be able to move funds between module accounts and user accounts without restrictions. + +Secondly this limitation would limit the usage of the state machine even for itself. users would not be able to receive rewards, not be able to move funds between module accounts. In the case that a user sends funds from a user account to the community pool and then a governance proposal is used to get those tokens into the users account this would fall under the discretion of the app chain developer to what they would like to do here. We can not make strong assumptions here. +Thirdly, this issue could lead into a chain halt if a token is disabled and the token is moved in the begin/endblock. This is the last reason we see the current change and more damaging then beneficial for users. + For example, in your module's keeper package, you'd define the send restriction function: ```golang From dbc0e659c0c960c95c5ea112c0f424032db7c1a8 Mon Sep 17 00:00:00 2001 From: Marko Date: Mon, 3 Jun 2024 15:06:08 +0200 Subject: [PATCH 03/41] chore: remove sonar from simapp (#20528) --- .github/workflows/test.yml | 8 -------- simapp/sonar-project.properties | 16 ---------------- 2 files changed, 24 deletions(-) delete mode 100644 simapp/sonar-project.properties diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 687c6fe46807..1d8533b10bc9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -454,14 +454,6 @@ jobs: run: | cd simapp go test -mod=readonly -timeout 30m -tags='app_v1 norace ledger test_ledger_mock' ./... - - name: sonarcloud - if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} - uses: SonarSource/sonarcloud-github-action@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - with: - projectBaseDir: simapp/ test-collections: runs-on: ubuntu-latest diff --git a/simapp/sonar-project.properties b/simapp/sonar-project.properties deleted file mode 100644 index ce812c0ac6b7..000000000000 --- a/simapp/sonar-project.properties +++ /dev/null @@ -1,16 +0,0 @@ -sonar.projectKey=cosmos-sdk-simapp -sonar.organization=cosmos - -sonar.projectName=Cosmos SDK - SimApp -sonar.project.monorepo.enabled=true - -sonar.sources=. -sonar.exclusions=**/*_test.go,**/*.pb.go,**/*.pulsar.go,**/*.pb.gw.go -sonar.coverage.exclusions=**/*_test.go,**/testutil/**,**/*.pb.go,**/*.pb.gw.go,**/*.pulsar.go,test_helpers.go,docs/** -sonar.tests=. -sonar.test.inclusions=**/*_test.go -sonar.go.coverage.reportPaths=coverage.out - -sonar.sourceEncoding=UTF-8 -sonar.scm.provider=git -sonar.scm.forceReloadAll=true From 74d89bf506d7bac6b5422756735f4d203fc2d3fa Mon Sep 17 00:00:00 2001 From: son trinh Date: Mon, 3 Jun 2024 20:40:03 +0700 Subject: [PATCH 04/41] refactor(x/accounts)!: accounts and auth module use the same account number tracking (#20405) --- .../bank/keeper/deterministic_test.go | 7 +++++ .../distribution/keeper/msg_server_test.go | 7 +++++ .../evidence/keeper/infraction_test.go | 6 ++++ tests/integration/example/example_test.go | 13 +++++++++ tests/integration/gov/keeper/keeper_test.go | 7 +++++ .../slashing/keeper/keeper_test.go | 9 +++++- .../integration/staking/keeper/common_test.go | 9 +++++- .../staking/keeper/deterministic_test.go | 7 +++++ x/accounts/keeper.go | 24 +++++++++++++++ x/auth/ante/testutil_test.go | 7 +++++ x/auth/keeper/account.go | 7 ++++- x/auth/keeper/deterministic_test.go | 7 +++++ x/auth/keeper/genesis.go | 5 +++- x/auth/keeper/keeper.go | 13 +++++---- x/auth/keeper/keeper_test.go | 13 +++++++-- x/auth/keeper/migrations.go | 21 ++++++++++++-- x/auth/migrations/v6/migrate.go | 12 ++++++++ x/auth/module.go | 5 +++- x/auth/testutil/expected_keepers_mocks.go | 29 +++++++++++++++++++ x/auth/types/expected_keepers.go | 5 ++++ .../testutil/expected_keepers_mocks.go | 29 +++++++++++++++++++ .../migrations/v4/migrate_funds_test.go | 8 +++++ x/group/migrations/v2/migrate_test.go | 12 ++++++-- 23 files changed, 245 insertions(+), 17 deletions(-) create mode 100644 x/auth/migrations/v6/migrate.go diff --git a/tests/integration/bank/keeper/deterministic_test.go b/tests/integration/bank/keeper/deterministic_test.go index bcc02b3a9abb..130503b3dc41 100644 --- a/tests/integration/bank/keeper/deterministic_test.go +++ b/tests/integration/bank/keeper/deterministic_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "github.com/golang/mock/gomock" @@ -84,6 +85,12 @@ func initDeterministicFixture(t *testing.T) *deterministicFixture { // gomock initializations ctrl := gomock.NewController(t) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/tests/integration/distribution/keeper/msg_server_test.go b/tests/integration/distribution/keeper/msg_server_test.go index c9181c7035a7..4bf6d47e6c77 100644 --- a/tests/integration/distribution/keeper/msg_server_test.go +++ b/tests/integration/distribution/keeper/msg_server_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "fmt" "testing" @@ -95,6 +96,12 @@ func initFixture(t *testing.T) *fixture { // gomock initializations ctrl := gomock.NewController(t) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index 5ff02d0c1ffe..0be69083614b 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -107,6 +107,12 @@ func initFixture(tb testing.TB) *fixture { // gomock initializations ctrl := gomock.NewController(tb) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) maccPerms := map[string][]string{ pooltypes.ModuleName: {}, diff --git a/tests/integration/example/example_test.go b/tests/integration/example/example_test.go index 063250603650..92fdbbeebb07 100644 --- a/tests/integration/example/example_test.go +++ b/tests/integration/example/example_test.go @@ -1,6 +1,7 @@ package integration_test import ( + "context" "fmt" "io" "testing" @@ -49,6 +50,12 @@ func Example() { // gomock initializations ctrl := gomock.NewController(&testing.T{}) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), @@ -147,6 +154,12 @@ func Example_oneModule() { // gomock initializations ctrl := gomock.NewController(&testing.T{}) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/tests/integration/gov/keeper/keeper_test.go b/tests/integration/gov/keeper/keeper_test.go index dfd89f42f193..d98e86c06dd0 100644 --- a/tests/integration/gov/keeper/keeper_test.go +++ b/tests/integration/gov/keeper/keeper_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "github.com/golang/mock/gomock" @@ -77,6 +78,12 @@ func initFixture(tb testing.TB) *fixture { // gomock initializations ctrl := gomock.NewController(tb) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/tests/integration/slashing/keeper/keeper_test.go b/tests/integration/slashing/keeper/keeper_test.go index d5eefc731517..2e925d49c4e7 100644 --- a/tests/integration/slashing/keeper/keeper_test.go +++ b/tests/integration/slashing/keeper/keeper_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "time" @@ -81,8 +82,14 @@ func initFixture(tb testing.TB) *fixture { queryRouter := baseapp.NewGRPCQueryRouter() // gomock initializations - ctrl := gomock.NewController(&testing.T{}) + ctrl := gomock.NewController(tb) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(msgRouter)), diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index b9075c8ad954..c9fd09258d37 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "math/big" "testing" @@ -134,7 +135,7 @@ func initFixture(tb testing.TB) *fixture { } // gomock initializations - ctrl := gomock.NewController(&testing.T{}) + ctrl := gomock.NewController(tb) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) accountKeeper := authkeeper.NewAccountKeeper( @@ -187,6 +188,12 @@ func initFixture(tb testing.TB) *fixture { // set default staking params assert.NilError(tb, stakingKeeper.Params.Set(sdkCtx, types.DefaultParams())) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) f := fixture{ app: integrationApp, diff --git a/tests/integration/staking/keeper/deterministic_test.go b/tests/integration/staking/keeper/deterministic_test.go index 4da0b8f8c2b2..5b5ff3232b68 100644 --- a/tests/integration/staking/keeper/deterministic_test.go +++ b/tests/integration/staking/keeper/deterministic_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "time" @@ -92,6 +93,12 @@ func initDeterministicFixture(t *testing.T) *deterministicFixture { // gomock initializations ctrl := gomock.NewController(t) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currentNum := accNum + accNum++ + return currentNum, nil + }) accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/x/accounts/keeper.go b/x/accounts/keeper.go index 887138626695..a58c32604065 100644 --- a/x/accounts/keeper.go +++ b/x/accounts/keeper.go @@ -107,6 +107,30 @@ func (k Keeper) IsAccountsModuleAccount( return hasAcc } +func (k Keeper) NextAccountNumber( + ctx context.Context, +) (accNum uint64, err error) { + accNum, err = k.AccountNumber.Next(ctx) + if err != nil { + return 0, err + } + + return accNum, nil +} + +// InitAccountNumberSeqUnsafe use to set accounts account number tracking. +// Only use for account number migration. +func (k Keeper) InitAccountNumberSeqUnsafe(ctx context.Context, accNum uint64) error { + currentNum, err := k.AccountNumber.Peek(ctx) + if err != nil { + return err + } + if currentNum > accNum { + return fmt.Errorf("cannot set number lower than current account number got %v while current account number is %v", accNum, currentNum) + } + return k.AccountNumber.Set(ctx, accNum) +} + // Init creates a new account of the given type. func (k Keeper) Init( ctx context.Context, diff --git a/x/auth/ante/testutil_test.go b/x/auth/ante/testutil_test.go index c2916d4a2906..8dff25c7713f 100644 --- a/x/auth/ante/testutil_test.go +++ b/x/auth/ante/testutil_test.go @@ -1,6 +1,7 @@ package ante_test import ( + "context" "testing" abci "github.com/cometbft/cometbft/abci/types" @@ -79,6 +80,12 @@ func SetupTestSuite(t *testing.T, isCheckTx bool) *AnteTestSuite { suite.ctx = testCtx.Ctx.WithIsCheckTx(isCheckTx).WithBlockHeight(1) suite.encCfg = moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, auth.AppModule{}) + accNum := uint64(0) + suite.acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currNum := accNum + accNum++ + return currNum, nil + }) maccPerms := map[string][]string{ "fee_collector": nil, "mint": {"minter"}, diff --git a/x/auth/keeper/account.go b/x/auth/keeper/account.go index 3e21fd9a8594..d19b15d99b83 100644 --- a/x/auth/keeper/account.go +++ b/x/auth/keeper/account.go @@ -22,7 +22,12 @@ func (ak AccountKeeper) NewAccountWithAddress(ctx context.Context, addr sdk.AccA // NewAccount sets the next account number to a given account interface func (ak AccountKeeper) NewAccount(ctx context.Context, acc sdk.AccountI) sdk.AccountI { - if err := acc.SetAccountNumber(ak.NextAccountNumber(ctx)); err != nil { + accNum, err := ak.AccountsModKeeper.NextAccountNumber(ctx) + if err != nil { + panic(err) + } + + if err := acc.SetAccountNumber(accNum); err != nil { panic(err) } diff --git a/x/auth/keeper/deterministic_test.go b/x/auth/keeper/deterministic_test.go index 43835c072241..75057368fb9d 100644 --- a/x/auth/keeper/deterministic_test.go +++ b/x/auth/keeper/deterministic_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "encoding/hex" "sort" "sync/atomic" @@ -69,6 +70,12 @@ func (suite *DeterministicTestSuite) SetupTest() { ctrl := gomock.NewController(suite.T()) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) suite.acctsModKeeper = acctsModKeeper + accNum := uint64(0) + suite.acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currNum := accNum + accNum++ + return currNum, nil + }) maccPerms := map[string][]string{ "fee_collector": nil, diff --git a/x/auth/keeper/genesis.go b/x/auth/keeper/genesis.go index 8bb2cd2f5ed8..7bed1523912c 100644 --- a/x/auth/keeper/genesis.go +++ b/x/auth/keeper/genesis.go @@ -29,7 +29,10 @@ func (ak AccountKeeper) InitGenesis(ctx context.Context, data types.GenesisState for _, acc := range accounts { accNum := acc.GetAccountNumber() for lastAccNum == nil || *lastAccNum < accNum { - n := ak.NextAccountNumber(ctx) + n, err := ak.AccountsModKeeper.NextAccountNumber(ctx) + if err != nil { + return err + } lastAccNum = &n } ak.SetAccount(ctx, acc) diff --git a/x/auth/keeper/keeper.go b/x/auth/keeper/keeper.go index 076509cdf35f..7c86fb093390 100644 --- a/x/auth/keeper/keeper.go +++ b/x/auth/keeper/keeper.go @@ -46,6 +46,8 @@ type AccountKeeperI interface { GetSequence(context.Context, sdk.AccAddress) (uint64, error) // Fetch the next account number, and increment the internal counter. + // + // Deprecated: keep this to avoid breaking api NextAccountNumber(context.Context) uint64 // GetModulePermissions fetches per-module account permissions @@ -97,9 +99,9 @@ type AccountKeeper struct { authority string // State - Schema collections.Schema - Params collections.Item[types.Params] - AccountNumber collections.Sequence + Schema collections.Schema + Params collections.Item[types.Params] + // Accounts key: AccAddr | value: AccountI | index: AccountsIndex Accounts *collections.IndexedMap[sdk.AccAddress, sdk.AccountI, AccountsIndexes] } @@ -133,7 +135,6 @@ func NewAccountKeeper( permAddrs: permAddrs, authority: authority, Params: collections.NewItem(sb, types.ParamsKey, "params", codec.CollValue[types.Params](cdc)), - AccountNumber: collections.NewSequence(sb, types.GlobalAccountNumberKey, "account_number"), Accounts: collections.NewIndexedMap(sb, types.AddressStoreKeyPrefix, "accounts", sdk.AccAddressKey, codec.CollInterfaceValue[sdk.AccountI](cdc), NewAccountIndexes(sb)), } schema, err := sb.Build() @@ -181,8 +182,10 @@ func (ak AccountKeeper) GetSequence(ctx context.Context, addr sdk.AccAddress) (u // NextAccountNumber returns and increments the global account number counter. // If the global account number is not set, it initializes it with value 0. +// +// Deprecated: NextAccountNumber is deprecated func (ak AccountKeeper) NextAccountNumber(ctx context.Context) uint64 { - n, err := ak.AccountNumber.Next(ctx) + n, err := ak.AccountsModKeeper.NextAccountNumber(ctx) if err != nil { panic(err) } diff --git a/x/auth/keeper/keeper_test.go b/x/auth/keeper/keeper_test.go index 399b54311493..e1cb88ed9415 100644 --- a/x/auth/keeper/keeper_test.go +++ b/x/auth/keeper/keeper_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "github.com/golang/mock/gomock" @@ -62,6 +63,12 @@ func (suite *KeeperTestSuite) SetupTest() { ctrl := gomock.NewController(suite.T()) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) suite.acctsModKeeper = acctsModKeeper + accNum := uint64(0) + suite.acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currNum := accNum + accNum++ + return currNum, nil + }) maccPerms := map[string][]string{ "fee_collector": nil, @@ -202,7 +209,8 @@ func (suite *KeeperTestSuite) TestInitGenesis() { suite.Require().Equal(6, int(feeCollector.GetAccountNumber())) // The 3rd account has account number 5, but because the FeeCollector account gets initialized last, the next should be 7. - nextNum := suite.accountKeeper.NextAccountNumber(ctx) + nextNum, err := suite.accountKeeper.AccountsModKeeper.NextAccountNumber(ctx) + suite.Require().NoError(err) suite.Require().Equal(7, int(nextNum)) suite.SetupTest() // reset @@ -237,7 +245,8 @@ func (suite *KeeperTestSuite) TestInitGenesis() { feeCollector = suite.accountKeeper.GetModuleAccount(ctx, "fee_collector") suite.Require().Equal(1, int(feeCollector.GetAccountNumber())) - nextNum = suite.accountKeeper.NextAccountNumber(ctx) + nextNum, err = suite.accountKeeper.AccountsModKeeper.NextAccountNumber(ctx) + suite.Require().NoError(err) // we expect nextNum to be 2 because we initialize fee_collector as account number 1 suite.Require().Equal(2, int(nextNum)) } diff --git a/x/auth/keeper/migrations.go b/x/auth/keeper/migrations.go index e3e563a9f232..5b3418b99e65 100644 --- a/x/auth/keeper/migrations.go +++ b/x/auth/keeper/migrations.go @@ -3,6 +3,7 @@ package keeper import ( "context" + "cosmossdk.io/collections" v5 "cosmossdk.io/x/auth/migrations/v5" "cosmossdk.io/x/auth/types" @@ -12,11 +13,16 @@ import ( // Migrator is a struct for handling in-place store migrations. type Migrator struct { keeper AccountKeeper + // accNum is use in v4 to v5 and v5 to v6 migration + accNum collections.Sequence } // NewMigrator returns a new Migrator. func NewMigrator(keeper AccountKeeper) Migrator { - return Migrator{keeper: keeper} + sb := collections.NewSchemaBuilder(keeper.Environment.KVStoreService) + accNumSeq := collections.NewSequence(sb, types.GlobalAccountNumberKey, "account_number") + + return Migrator{keeper: keeper, accNum: accNumSeq} } // Migrate1to2 migrates from version 1 to 2. @@ -42,7 +48,18 @@ func (m Migrator) Migrate3to4(ctx context.Context) error { // It migrates the GlobalAccountNumber from being a protobuf defined value to a // big-endian encoded uint64, it also migrates it to use a more canonical prefix. func (m Migrator) Migrate4To5(ctx context.Context) error { - return v5.Migrate(ctx, m.keeper.KVStoreService, m.keeper.AccountNumber) + return v5.Migrate(ctx, m.keeper.KVStoreService, m.accNum) +} + +// Migrate5To6 migrates the x/auth module state from the consensus version 5 to 6. +// It migrates the GlobalAccountNumber from x/auth to x/accounts . +func (m Migrator) Migrate5To6(ctx context.Context) error { + currentAccNum, err := m.accNum.Peek(ctx) + if err != nil { + return err + } + + return m.keeper.AccountsModKeeper.InitAccountNumberSeqUnsafe(ctx, currentAccNum) } // V45SetAccount implements V45_SetAccount diff --git a/x/auth/migrations/v6/migrate.go b/x/auth/migrations/v6/migrate.go new file mode 100644 index 000000000000..889de0e9c9e4 --- /dev/null +++ b/x/auth/migrations/v6/migrate.go @@ -0,0 +1,12 @@ +package v6 + +import ( + "context" +) + +type migrateAccNumFunc = func(ctx context.Context) error + +// Migrate account number from x/auth account number to x/accounts account number +func Migrate(ctx context.Context, f migrateAccNumFunc) error { + return f(ctx) +} diff --git a/x/auth/module.go b/x/auth/module.go index a2ceba435aea..29a46e3e9fec 100644 --- a/x/auth/module.go +++ b/x/auth/module.go @@ -23,7 +23,7 @@ import ( // ConsensusVersion defines the current x/auth module consensus version. const ( - ConsensusVersion = 5 + ConsensusVersion = 6 GovModuleName = "gov" ) @@ -109,6 +109,9 @@ func (am AppModule) RegisterMigrations(mr appmodule.MigrationRegistrar) error { if err := mr.Register(types.ModuleName, 4, m.Migrate4To5); err != nil { return fmt.Errorf("failed to migrate x/%s from version 4 to 5: %w", types.ModuleName, err) } + if err := mr.Register(types.ModuleName, 5, m.Migrate5To6); err != nil { + return fmt.Errorf("failed to migrate x/%s from version 5 to 6: %w", types.ModuleName, err) + } return nil } diff --git a/x/auth/testutil/expected_keepers_mocks.go b/x/auth/testutil/expected_keepers_mocks.go index 8d4b1f2891be..a53fb9b61b85 100644 --- a/x/auth/testutil/expected_keepers_mocks.go +++ b/x/auth/testutil/expected_keepers_mocks.go @@ -106,6 +106,20 @@ func (m *MockAccountsModKeeper) EXPECT() *MockAccountsModKeeperMockRecorder { return m.recorder } +// InitAccountNumberSeqUnsafe mocks base method. +func (m *MockAccountsModKeeper) InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InitAccountNumberSeqUnsafe", ctx, currentAccNum) + ret0, _ := ret[0].(error) + return ret0 +} + +// InitAccountNumberSeqUnsafe indicates an expected call of InitAccountNumberSeqUnsafe. +func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeqUnsafe(ctx, currentAccNum interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeqUnsafe", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeqUnsafe), ctx, currentAccNum) +} + // IsAccountsModuleAccount mocks base method. func (m *MockAccountsModKeeper) IsAccountsModuleAccount(ctx context.Context, accountAddr []byte) bool { m.ctrl.T.Helper() @@ -120,6 +134,21 @@ func (mr *MockAccountsModKeeperMockRecorder) IsAccountsModuleAccount(ctx, accoun return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsAccountsModuleAccount", reflect.TypeOf((*MockAccountsModKeeper)(nil).IsAccountsModuleAccount), ctx, accountAddr) } +// NextAccountNumber mocks base method. +func (m *MockAccountsModKeeper) NextAccountNumber(ctx context.Context) (uint64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "NextAccountNumber", ctx) + ret0, _ := ret[0].(uint64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// NextAccountNumber indicates an expected call of NextAccountNumber. +func (mr *MockAccountsModKeeperMockRecorder) NextAccountNumber(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NextAccountNumber", reflect.TypeOf((*MockAccountsModKeeper)(nil).NextAccountNumber), ctx) +} + // SendModuleMessageUntyped mocks base method. func (m *MockAccountsModKeeper) SendModuleMessageUntyped(ctx context.Context, sender []byte, msg protoiface.MessageV1) (protoiface.MessageV1, error) { m.ctrl.T.Helper() diff --git a/x/auth/types/expected_keepers.go b/x/auth/types/expected_keepers.go index 10f3cc4f3331..401988a7d00d 100644 --- a/x/auth/types/expected_keepers.go +++ b/x/auth/types/expected_keepers.go @@ -19,4 +19,9 @@ type BankKeeper interface { type AccountsModKeeper interface { SendModuleMessageUntyped(ctx context.Context, sender []byte, msg protoiface.MessageV1) (protoiface.MessageV1, error) IsAccountsModuleAccount(ctx context.Context, accountAddr []byte) bool + NextAccountNumber(ctx context.Context) (accNum uint64, err error) + + // InitAccountNumberSeqUnsafe is use to set accounts module account number with value + // of auth module current account number + InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error } diff --git a/x/auth/vesting/testutil/expected_keepers_mocks.go b/x/auth/vesting/testutil/expected_keepers_mocks.go index e7ff4c4d66ec..3446770eceae 100644 --- a/x/auth/vesting/testutil/expected_keepers_mocks.go +++ b/x/auth/vesting/testutil/expected_keepers_mocks.go @@ -106,6 +106,20 @@ func (m *MockAccountsModKeeper) EXPECT() *MockAccountsModKeeperMockRecorder { return m.recorder } +// InitAccountNumberSeqUnsafe mocks base method. +func (m *MockAccountsModKeeper) InitAccountNumberSeqUnsafe(ctx context.Context, currentAccNum uint64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InitAccountNumberSeqUnsafe", ctx, currentAccNum) + ret0, _ := ret[0].(error) + return ret0 +} + +// InitAccountNumberSeqUnsafe indicates an expected call of InitAccountNumberSeqUnsafe. +func (mr *MockAccountsModKeeperMockRecorder) InitAccountNumberSeqUnsafe(ctx, currentAccNum interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitAccountNumberSeqUnsafe", reflect.TypeOf((*MockAccountsModKeeper)(nil).InitAccountNumberSeqUnsafe), ctx, currentAccNum) +} + // IsAccountsModuleAccount mocks base method. func (m *MockAccountsModKeeper) IsAccountsModuleAccount(ctx context.Context, accountAddr []byte) bool { m.ctrl.T.Helper() @@ -120,6 +134,21 @@ func (mr *MockAccountsModKeeperMockRecorder) IsAccountsModuleAccount(ctx, accoun return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsAccountsModuleAccount", reflect.TypeOf((*MockAccountsModKeeper)(nil).IsAccountsModuleAccount), ctx, accountAddr) } +// NextAccountNumber mocks base method. +func (m *MockAccountsModKeeper) NextAccountNumber(ctx context.Context) (uint64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "NextAccountNumber", ctx) + ret0, _ := ret[0].(uint64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// NextAccountNumber indicates an expected call of NextAccountNumber. +func (mr *MockAccountsModKeeperMockRecorder) NextAccountNumber(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NextAccountNumber", reflect.TypeOf((*MockAccountsModKeeper)(nil).NextAccountNumber), ctx) +} + // SendModuleMessageUntyped mocks base method. func (m *MockAccountsModKeeper) SendModuleMessageUntyped(ctx context.Context, sender []byte, msg protoiface.MessageV1) (protoiface.MessageV1, error) { m.ctrl.T.Helper() diff --git a/x/distribution/migrations/v4/migrate_funds_test.go b/x/distribution/migrations/v4/migrate_funds_test.go index 470fc3cd07cc..d8b61c6cb1e3 100644 --- a/x/distribution/migrations/v4/migrate_funds_test.go +++ b/x/distribution/migrations/v4/migrate_funds_test.go @@ -1,6 +1,7 @@ package v4_test import ( + "context" "testing" "github.com/golang/mock/gomock" @@ -53,6 +54,13 @@ func TestFundsMigration(t *testing.T) { stakingKeeper := distrtestutil.NewMockStakingKeeper(ctrl) poolKeeper := distrtestutil.NewMockPoolKeeper(ctrl) + accNum := uint64(0) + acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { + currNum := accNum + accNum++ + return currNum, nil + }) + // create account keeper accountKeeper := authkeeper.NewAccountKeeper( runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), diff --git a/x/group/migrations/v2/migrate_test.go b/x/group/migrations/v2/migrate_test.go index 44bea162d2f4..b3177f4ae197 100644 --- a/x/group/migrations/v2/migrate_test.go +++ b/x/group/migrations/v2/migrate_test.go @@ -52,7 +52,7 @@ func TestMigrate(t *testing.T) { tKey := storetypes.NewTransientStoreKey("transient_test") ctx := testutil.DefaultContext(storeKey, tKey) - oldAccs, accountKeeper, err := createOldPolicyAccount(ctx, storeKey, cdc, policies) + oldAccs, accountKeeper, err := createOldPolicyAccount(t, ctx, storeKey, cdc, policies) require.NoError(t, err) groupPolicyTable, groupPolicySeq, err := createGroupPolicies(ctx, storeService, cdc, policies, codectestutil.CodecOptions{}.GetAddressCodec()) require.NoError(t, err) @@ -105,15 +105,18 @@ func createGroupPolicies(ctx sdk.Context, storeService corestore.KVStoreService, } // createOldPolicyAccount re-creates the group policy account using a module account -func createOldPolicyAccount(ctx sdk.Context, storeKey storetypes.StoreKey, cdc codec.Codec, policies []sdk.AccAddress) ([]*authtypes.ModuleAccount, group.AccountKeeper, error) { +func createOldPolicyAccount(t *testing.T, ctx sdk.Context, storeKey storetypes.StoreKey, cdc codec.Codec, policies []sdk.AccAddress) ([]*authtypes.ModuleAccount, group.AccountKeeper, error) { + t.Helper() addressCodec := addresscodec.NewBech32Codec(sdk.Bech32MainPrefix) authorityStrAddr, err := addressCodec.BytesToString(authorityAddr) if err != nil { return nil, nil, err } // gomock initializations - ctrl := gomock.NewController(&testing.T{}) + ctrl := gomock.NewController(t) acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) + // mock account number + accNum := uint64(0) accountKeeper := authkeeper.NewAccountKeeper(runtime.NewEnvironment(runtime.NewKVStoreService(storeKey.(*storetypes.KVStoreKey)), log.NewNopLogger()), cdc, authtypes.ProtoBaseAccount, acctsModKeeper, nil, addressCodec, sdk.Bech32MainPrefix, authorityStrAddr) @@ -123,6 +126,9 @@ func createOldPolicyAccount(ctx sdk.Context, storeKey storetypes.StoreKey, cdc c if err != nil { return nil, nil, err } + acctsModKeeper.EXPECT().NextAccountNumber(ctx).Return(accNum, nil) + accNum++ + acc := accountKeeper.NewAccount(ctx, &authtypes.ModuleAccount{ BaseAccount: &authtypes.BaseAccount{ Address: policyStrAddr, From d1aab15790570bff77aa0b8652288a276205efb0 Mon Sep 17 00:00:00 2001 From: Hieu Vu <72878483+hieuvubk@users.noreply.github.com> Date: Mon, 3 Jun 2024 21:33:48 +0700 Subject: [PATCH 05/41] refactor(x/feegrant): set environment in context (#20529) --- x/feegrant/CHANGELOG.md | 1 + x/feegrant/basic_fee.go | 11 +++++++-- x/feegrant/basic_fee_test.go | 9 +++++-- x/feegrant/filtered_fee.go | 44 ++++++++++++++++++++++++--------- x/feegrant/filtered_fee_test.go | 8 +++++- x/feegrant/keeper/keeper.go | 3 ++- x/feegrant/mock_test.go | 32 ++++++++++++++++++++++++ x/feegrant/periodic_fee.go | 10 +++++--- x/feegrant/periodic_fee_test.go | 9 ++++++- 9 files changed, 106 insertions(+), 21 deletions(-) create mode 100644 x/feegrant/mock_test.go diff --git a/x/feegrant/CHANGELOG.md b/x/feegrant/CHANGELOG.md index 6e017e267ea0..13d29accbc30 100644 --- a/x/feegrant/CHANGELOG.md +++ b/x/feegrant/CHANGELOG.md @@ -31,6 +31,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking Changes +* [#20529](https://github.com/cosmos/cosmos-sdk/pull/20529) `Accept` on the `FeeAllowanceI` interface now expects the feegrant environment in the `context.Context`. * [#19450](https://github.com/cosmos/cosmos-sdk/pull/19450) Migrate module to use `appmodule.Environment` instead of passing individual services. ### Consensus Breaking Changes diff --git a/x/feegrant/basic_fee.go b/x/feegrant/basic_fee.go index 567f3523e895..1bace70b02ed 100644 --- a/x/feegrant/basic_fee.go +++ b/x/feegrant/basic_fee.go @@ -2,8 +2,11 @@ package feegrant import ( "context" + "fmt" "time" + "cosmossdk.io/core/appmodule" + corecontext "cosmossdk.io/core/context" errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -23,8 +26,12 @@ var _ FeeAllowanceI = (*BasicAllowance)(nil) // If remove is true (regardless of the error), the FeeAllowance will be deleted from storage // (eg. when it is used up). (See call to RevokeAllowance in Keeper.UseGrantedFees) func (a *BasicAllowance) Accept(ctx context.Context, fee sdk.Coins, _ []sdk.Msg) (bool, error) { - sdkCtx := sdk.UnwrapSDKContext(ctx) - if a.Expiration != nil && a.Expiration.Before(sdkCtx.HeaderInfo().Time) { + environment, ok := ctx.Value(corecontext.EnvironmentContextKey).(appmodule.Environment) + if !ok { + return false, fmt.Errorf("environment not set") + } + headerInfo := environment.HeaderService.HeaderInfo(ctx) + if a.Expiration != nil && a.Expiration.Before(headerInfo.Time) { return true, errorsmod.Wrap(ErrFeeLimitExpired, "basic allowance") } diff --git a/x/feegrant/basic_fee_test.go b/x/feegrant/basic_fee_test.go index 6eb141d3676e..2ea7ad3008b7 100644 --- a/x/feegrant/basic_fee_test.go +++ b/x/feegrant/basic_fee_test.go @@ -1,12 +1,15 @@ package feegrant_test import ( + "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "cosmossdk.io/core/appmodule/v2" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/header" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/feegrant" @@ -137,9 +140,11 @@ func TestBasicFeeValidAllow(t *testing.T) { require.NoError(t, err) ctx := testCtx.Ctx.WithHeaderInfo(header.Info{Time: tc.blockTime}) - // now try to deduct - removed, err := tc.allowance.Accept(ctx, tc.fee, []sdk.Msg{}) + removed, err := tc.allowance.Accept(context.WithValue(ctx, corecontext.EnvironmentContextKey, appmodule.Environment{ + HeaderService: mockHeaderService{}, + GasService: mockGasService{}, + }), tc.fee, []sdk.Msg{}) if !tc.accept { require.Error(t, err) return diff --git a/x/feegrant/filtered_fee.go b/x/feegrant/filtered_fee.go index e657f2feb920..6e001ef947e9 100644 --- a/x/feegrant/filtered_fee.go +++ b/x/feegrant/filtered_fee.go @@ -2,10 +2,13 @@ package feegrant import ( "context" + "fmt" "time" "github.com/cosmos/gogoproto/proto" + "cosmossdk.io/core/appmodule" + corecontext "cosmossdk.io/core/context" errorsmod "cosmossdk.io/errors" "github.com/cosmos/cosmos-sdk/codec/types" @@ -70,7 +73,11 @@ func (a *AllowedMsgAllowance) SetAllowance(allowance FeeAllowanceI) error { // Accept method checks for the filtered messages has valid expiry func (a *AllowedMsgAllowance) Accept(ctx context.Context, fee sdk.Coins, msgs []sdk.Msg) (bool, error) { - if !a.allMsgTypesAllowed(ctx, msgs) { + allowed, err := a.allMsgTypesAllowed(ctx, msgs) + if err != nil { + return false, err + } + if !allowed { return false, errorsmod.Wrap(ErrMessageNotAllowed, "message does not exist in allowed messages") } @@ -88,28 +95,43 @@ func (a *AllowedMsgAllowance) Accept(ctx context.Context, fee sdk.Coins, msgs [] return remove, err } -func (a *AllowedMsgAllowance) allowedMsgsToMap(ctx context.Context) map[string]bool { +func (a *AllowedMsgAllowance) allowedMsgsToMap(ctx context.Context) (map[string]bool, error) { msgsMap := make(map[string]bool, len(a.AllowedMessages)) - sdkCtx := sdk.UnwrapSDKContext(ctx) + environment, ok := ctx.Value(corecontext.EnvironmentContextKey).(appmodule.Environment) + if !ok { + return nil, fmt.Errorf("environment not set") + } + gasMeter := environment.GasService.GasMeter(ctx) for _, msg := range a.AllowedMessages { - sdkCtx.GasMeter().ConsumeGas(gasCostPerIteration, "check msg") + if err := gasMeter.Consume(gasCostPerIteration, "check msg"); err != nil { + return nil, err + } msgsMap[msg] = true } - return msgsMap + return msgsMap, nil } -func (a *AllowedMsgAllowance) allMsgTypesAllowed(ctx context.Context, msgs []sdk.Msg) bool { - msgsMap := a.allowedMsgsToMap(ctx) - sdkCtx := sdk.UnwrapSDKContext(ctx) +func (a *AllowedMsgAllowance) allMsgTypesAllowed(ctx context.Context, msgs []sdk.Msg) (bool, error) { + msgsMap, err := a.allowedMsgsToMap(ctx) + if err != nil { + return false, err + } + environment, ok := ctx.Value(corecontext.EnvironmentContextKey).(appmodule.Environment) + if !ok { + return false, fmt.Errorf("environment not set") + } + gasMeter := environment.GasService.GasMeter(ctx) for _, msg := range msgs { - sdkCtx.GasMeter().ConsumeGas(gasCostPerIteration, "check msg") + if err := gasMeter.Consume(gasCostPerIteration, "check msg"); err != nil { + return false, err + } if !msgsMap[sdk.MsgTypeURL(msg)] { - return false + return false, nil } } - return true + return true, nil } // ValidateBasic implements FeeAllowance and enforces basic sanity checks diff --git a/x/feegrant/filtered_fee_test.go b/x/feegrant/filtered_fee_test.go index d8e3fe81684a..f4ecf2dc1540 100644 --- a/x/feegrant/filtered_fee_test.go +++ b/x/feegrant/filtered_fee_test.go @@ -1,12 +1,15 @@ package feegrant_test import ( + "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "cosmossdk.io/core/appmodule/v2" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/header" storetypes "cosmossdk.io/store/types" banktypes "cosmossdk.io/x/bank/types" @@ -156,7 +159,10 @@ func TestFilteredFeeValidAllow(t *testing.T) { require.NoError(t, err) // now try to deduct - removed, err := allowance.Accept(ctx, tc.fee, []sdk.Msg{&call}) + removed, err := allowance.Accept(context.WithValue(ctx, corecontext.EnvironmentContextKey, appmodule.Environment{ + HeaderService: mockHeaderService{}, + GasService: mockGasService{}, + }), tc.fee, []sdk.Msg{&call}) if !tc.accept { require.Error(t, err) return diff --git a/x/feegrant/keeper/keeper.go b/x/feegrant/keeper/keeper.go index 4fa4aeb76e44..c68f992878b3 100644 --- a/x/feegrant/keeper/keeper.go +++ b/x/feegrant/keeper/keeper.go @@ -7,6 +7,7 @@ import ( "cosmossdk.io/collections" "cosmossdk.io/core/appmodule" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/event" "cosmossdk.io/core/log" errorsmod "cosmossdk.io/errors" @@ -232,7 +233,7 @@ func (k Keeper) UseGrantedFees(ctx context.Context, granter, grantee sdk.AccAddr return err } - remove, err := grant.Accept(ctx, fee, msgs) + remove, err := grant.Accept(context.WithValue(ctx, corecontext.EnvironmentContextKey, k.Environment), fee, msgs) if remove && err == nil { // Ignoring the `revokeFeeAllowance` error, because the user has enough grants to perform this transaction. _ = k.revokeAllowance(ctx, granter, grantee) diff --git a/x/feegrant/mock_test.go b/x/feegrant/mock_test.go new file mode 100644 index 000000000000..ae2f1f13b451 --- /dev/null +++ b/x/feegrant/mock_test.go @@ -0,0 +1,32 @@ +package feegrant_test + +import ( + "context" + + coregas "cosmossdk.io/core/gas" + coreheader "cosmossdk.io/core/header" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type mockHeaderService struct{} + +func (h mockHeaderService) HeaderInfo(ctx context.Context) coreheader.Info { + return sdk.UnwrapSDKContext(ctx).HeaderInfo() +} + +type mockGasService struct { + coregas.Service +} + +func (m mockGasService) GasMeter(ctx context.Context) coregas.Meter { + return mockGasMeter{} +} + +type mockGasMeter struct { + coregas.Meter +} + +func (m mockGasMeter) Consume(amount coregas.Gas, descriptor string) error { + return nil +} diff --git a/x/feegrant/periodic_fee.go b/x/feegrant/periodic_fee.go index 02b569e00379..962f7242f6e4 100644 --- a/x/feegrant/periodic_fee.go +++ b/x/feegrant/periodic_fee.go @@ -4,6 +4,8 @@ import ( "context" "time" + "cosmossdk.io/core/appmodule" + corecontext "cosmossdk.io/core/context" errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -23,9 +25,11 @@ var _ FeeAllowanceI = (*PeriodicAllowance)(nil) // If remove is true (regardless of the error), the FeeAllowance will be deleted from storage // (eg. when it is used up). (See call to RevokeAllowance in Keeper.UseGrantedFees) func (a *PeriodicAllowance) Accept(ctx context.Context, fee sdk.Coins, _ []sdk.Msg) (bool, error) { - sdkCtx := sdk.UnwrapSDKContext(ctx) - blockTime := sdkCtx.HeaderInfo().Time - + environment, ok := ctx.Value(corecontext.EnvironmentContextKey).(appmodule.Environment) + if !ok { + return true, errorsmod.Wrap(ErrFeeLimitExpired, "environment not set") + } + blockTime := environment.HeaderService.HeaderInfo(ctx).Time if a.Basic.Expiration != nil && blockTime.After(*a.Basic.Expiration) { return true, errorsmod.Wrap(ErrFeeLimitExpired, "absolute limit") } diff --git a/x/feegrant/periodic_fee_test.go b/x/feegrant/periodic_fee_test.go index f63ac9ef52b8..6a675beb3990 100644 --- a/x/feegrant/periodic_fee_test.go +++ b/x/feegrant/periodic_fee_test.go @@ -1,12 +1,15 @@ package feegrant_test import ( + "context" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "cosmossdk.io/core/appmodule/v2" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/header" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/feegrant" @@ -219,7 +222,11 @@ func TestPeriodicFeeValidAllow(t *testing.T) { ctx := testCtx.Ctx.WithHeaderInfo(header.Info{Time: tc.blockTime}) // now try to deduct - remove, err := tc.allow.Accept(ctx, tc.fee, []sdk.Msg{}) + // Set environment to ctx + remove, err := tc.allow.Accept(context.WithValue(ctx, corecontext.EnvironmentContextKey, appmodule.Environment{ + HeaderService: mockHeaderService{}, + GasService: mockGasService{}, + }), tc.fee, []sdk.Msg{}) if !tc.accept { require.Error(t, err) return From 2a5ff384faf78ec71ae90deb304531828358ae6d Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 3 Jun 2024 18:47:58 +0200 Subject: [PATCH 06/41] refactor(x/**): rewrite ante handlers as tx validators (#20488) Co-authored-by: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> --- contrib/images/simd-env/Dockerfile | 5 + go.mod | 1 + go.sum | 2 - server/mock/tx.go | 17 +++ server/v2/stf/mock/tx.go | 3 + simapp/ante.go | 2 +- simapp/go.mod | 1 + simapp/go.sum | 2 - tests/go.mod | 1 + tests/go.sum | 2 - types/mempool/mempool_test.go | 41 +++++++ .../signer_extraction_adapater_test.go | 22 ++++ types/tx_msg.go | 6 +- x/auth/ante/ante.go | 2 +- x/auth/ante/basic.go | 100 +++++++++++++----- x/auth/ante/basic_test.go | 26 ++++- x/auth/ante/sigverify.go | 20 +++- x/auth/go.mod | 1 + x/auth/go.sum | 2 - x/auth/module.go | 39 ++++++- x/auth/tx/builder.go | 8 +- x/auth/tx/config/depinject.go | 2 +- x/auth/tx/encoder.go | 4 +- x/auth/tx/gogotx.go | 59 ++++++----- x/auth/tx/gogotx_test.go | 1 - x/auth/tx/legacy_amino_json.go | 8 +- x/tx/decode/decode.go | 63 +++++++++++ x/tx/go.mod | 5 +- x/tx/go.sum | 6 +- 29 files changed, 357 insertions(+), 94 deletions(-) delete mode 100644 x/auth/tx/gogotx_test.go diff --git a/contrib/images/simd-env/Dockerfile b/contrib/images/simd-env/Dockerfile index 7740c228281a..88a144c10cce 100644 --- a/contrib/images/simd-env/Dockerfile +++ b/contrib/images/simd-env/Dockerfile @@ -23,6 +23,11 @@ COPY x/bank/go.mod x/bank/go.sum /work/x/bank/ COPY x/mint/go.mod x/mint/go.sum /work/x/mint/ COPY x/consensus/go.mod x/consensus/go.sum /work/x/consensus/ COPY x/accounts/go.mod x/accounts/go.sum /work/x/accounts/ +COPY runtime/v2/go.mod runtime/v2/go.sum /work/runtime/v2/ +COPY server/v2/appmanager/go.mod server/v2/appmanager/go.sum /work/server/v2/appmanager/ +COPY server/v2/core/go.mod server/v2/core/go.sum /work/server/v2/core/ +COPY server/v2/stf/go.mod server/v2/stf/go.sum /work/server/v2/stf/ + RUN go mod download COPY ./ /work diff --git a/go.mod b/go.mod index f3d65d4588c9..d92413ea48aa 100644 --- a/go.mod +++ b/go.mod @@ -194,6 +194,7 @@ replace ( cosmossdk.io/x/bank => ./x/bank cosmossdk.io/x/consensus => ./x/consensus cosmossdk.io/x/staking => ./x/staking + cosmossdk.io/x/tx => ./x/tx ) // Below are the long-lived replace of the Cosmos SDK diff --git a/go.sum b/go.sum index 8c8a6e780720..5768809671b2 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/server/mock/tx.go b/server/mock/tx.go index 875c1abb9c10..f11ddd12a987 100644 --- a/server/mock/tx.go +++ b/server/mock/tx.go @@ -7,6 +7,7 @@ import ( "google.golang.org/protobuf/reflect/protoreflect" bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1" + "cosmossdk.io/core/transaction" errorsmod "cosmossdk.io/errors" "cosmossdk.io/x/auth/signing" @@ -95,6 +96,22 @@ func NewTx(key, value string, accAddress sdk.AccAddress) *KVStoreTx { } } +func (msg *KVStoreTx) Hash() [32]byte { + return [32]byte{} +} + +func (msg *KVStoreTx) GetGasLimit() (uint64, error) { + return 0, nil +} + +func (msg *KVStoreTx) GetMessages() ([]transaction.Msg, error) { + return nil, nil +} + +func (msg *KVStoreTx) GetSenders() ([][]byte, error) { + return nil, nil +} + func (msg *KVStoreTx) Type() string { return "kvstore_tx" } diff --git a/server/v2/stf/mock/tx.go b/server/v2/stf/mock/tx.go index a40eaa4536bc..1f56edb20290 100644 --- a/server/v2/stf/mock/tx.go +++ b/server/v2/stf/mock/tx.go @@ -23,6 +23,9 @@ func (t Tx) Hash() [32]byte { } func (t Tx) GetMessages() ([]transaction.Msg, error) { + if t.Msg == nil { + return nil, errors.New("messages not available or are nil") + } return []transaction.Msg{t.Msg}, nil } diff --git a/simapp/ante.go b/simapp/ante.go index 7fa4cac70277..fb54d1baed71 100644 --- a/simapp/ante.go +++ b/simapp/ante.go @@ -38,7 +38,7 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { circuitante.NewCircuitBreakerDecorator(options.CircuitKeeper), ante.NewExtensionOptionsDecorator(options.ExtensionOptionChecker), ante.NewValidateBasicDecorator(options.Environment), - ante.NewTxTimeoutHeightDecorator(), + ante.NewTxTimeoutHeightDecorator(options.Environment), ante.NewUnorderedTxDecorator(unorderedtx.DefaultMaxUnOrderedTTL, options.TxManager, options.Environment), ante.NewValidateMemoDecorator(options.AccountKeeper), ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper), diff --git a/simapp/go.mod b/simapp/go.mod index bd1243bb2e8d..c2e0a2acdab5 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -264,6 +264,7 @@ replace ( cosmossdk.io/x/protocolpool => ../x/protocolpool cosmossdk.io/x/slashing => ../x/slashing cosmossdk.io/x/staking => ../x/staking + cosmossdk.io/x/tx => ../x/tx cosmossdk.io/x/upgrade => ../x/upgrade ) diff --git a/simapp/go.sum b/simapp/go.sum index 711e6b855362..1926491e6fbb 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -194,8 +194,6 @@ cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/tests/go.mod b/tests/go.mod index 60239b04fd6d..fdaefc6c0faa 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -257,6 +257,7 @@ replace ( cosmossdk.io/x/protocolpool => ../x/protocolpool cosmossdk.io/x/slashing => ../x/slashing cosmossdk.io/x/staking => ../x/staking + cosmossdk.io/x/tx => ../x/tx cosmossdk.io/x/upgrade => ../x/upgrade ) diff --git a/tests/go.sum b/tests/go.sum index 2703b6b7ce5d..24623aeb2155 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -196,8 +196,6 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+D7cNLnX2JrUOQNoIPaF0Bg= cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/types/mempool/mempool_test.go b/types/mempool/mempool_test.go index 4048288e1f64..5c95b3ac0a63 100644 --- a/types/mempool/mempool_test.go +++ b/types/mempool/mempool_test.go @@ -12,6 +12,7 @@ import ( _ "cosmossdk.io/api/cosmos/counter/v1" _ "cosmossdk.io/api/cosmos/crypto/secp256k1" "cosmossdk.io/core/log" + "cosmossdk.io/core/transaction" "cosmossdk.io/x/auth/signing" codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" @@ -75,6 +76,26 @@ var ( _ cryptotypes.PubKey = (*testPubKey)(nil) ) +func (tx testTx) Bytes() []byte { + return []byte{} +} + +func (tx testTx) Hash() [32]byte { + return [32]byte{} +} + +func (tx testTx) GetGasLimit() (uint64, error) { + return 0, nil +} + +func (tx testTx) GetMessages() ([]transaction.Msg, error) { + return nil, nil +} + +func (tx testTx) GetSenders() ([][]byte, error) { + return nil, nil +} + func (tx testTx) GetMsgs() []sdk.Msg { return nil } func (tx testTx) GetReflectMessages() ([]protoreflect.Message, error) { return nil, nil } @@ -89,6 +110,26 @@ type sigErrTx struct { getSigs func() ([]txsigning.SignatureV2, error) } +func (sigErrTx) Bytes() []byte { + return []byte{} +} + +func (sigErrTx) Hash() [32]byte { + return [32]byte{} +} + +func (sigErrTx) GetGasLimit() (uint64, error) { + return 0, nil +} + +func (sigErrTx) GetMessages() ([]transaction.Msg, error) { + return nil, nil +} + +func (sigErrTx) GetSenders() ([][]byte, error) { + return nil, nil +} + func (sigErrTx) Size() int64 { return 0 } func (sigErrTx) GetMsgs() []sdk.Msg { return nil } diff --git a/types/mempool/signer_extraction_adapater_test.go b/types/mempool/signer_extraction_adapater_test.go index 158cbe071ca0..77531956a08d 100644 --- a/types/mempool/signer_extraction_adapater_test.go +++ b/types/mempool/signer_extraction_adapater_test.go @@ -8,6 +8,8 @@ import ( "github.com/stretchr/testify/require" "google.golang.org/protobuf/reflect/protoreflect" + "cosmossdk.io/core/transaction" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/mempool" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" @@ -24,6 +26,26 @@ func (n nonVerifiableTx) GetReflectMessages() ([]protoreflect.Message, error) { panic("not implemented") } +func (n nonVerifiableTx) Bytes() []byte { + return []byte{} +} + +func (n nonVerifiableTx) Hash() [32]byte { + return [32]byte{} +} + +func (n nonVerifiableTx) GetGasLimit() (uint64, error) { + return 0, nil +} + +func (n nonVerifiableTx) GetMessages() ([]transaction.Msg, error) { + return nil, nil +} + +func (n nonVerifiableTx) GetSenders() ([][]byte, error) { + return nil, nil +} + func TestDefaultSignerExtractor(t *testing.T) { accounts := simtypes.RandomAccounts(rand.New(rand.NewSource(0)), 1) sa := accounts[0].Address diff --git a/types/tx_msg.go b/types/tx_msg.go index 6039321758e7..4c0c4042f598 100644 --- a/types/tx_msg.go +++ b/types/tx_msg.go @@ -7,7 +7,7 @@ import ( "google.golang.org/protobuf/reflect/protoreflect" - coretransaction "cosmossdk.io/core/transaction" + "cosmossdk.io/core/transaction" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" @@ -16,7 +16,7 @@ import ( type ( // Msg defines the interface a transaction message needed to fulfill. - Msg = coretransaction.Msg + Msg = transaction.Msg // LegacyMsg defines the interface a transaction message needed to fulfill up through // v0.47. @@ -51,6 +51,8 @@ type ( // Tx defines an interface a transaction must fulfill. Tx interface { + transaction.Tx + HasMsgs // GetReflectMessages gets a reflected version of the transaction's messages diff --git a/x/auth/ante/ante.go b/x/auth/ante/ante.go index 1e5f85b132a1..fb4eb6c7ad44 100644 --- a/x/auth/ante/ante.go +++ b/x/auth/ante/ante.go @@ -45,7 +45,7 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { NewSetUpContextDecorator(options.Environment), // outermost AnteDecorator. SetUpContext must be called first NewExtensionOptionsDecorator(options.ExtensionOptionChecker), NewValidateBasicDecorator(options.Environment), - NewTxTimeoutHeightDecorator(), + NewTxTimeoutHeightDecorator(options.Environment), NewValidateMemoDecorator(options.AccountKeeper), NewConsumeGasForTxSizeDecorator(options.AccountKeeper), NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker), diff --git a/x/auth/ante/basic.go b/x/auth/ante/basic.go index f218062a8b78..ff9852698961 100644 --- a/x/auth/ante/basic.go +++ b/x/auth/ante/basic.go @@ -1,6 +1,8 @@ package ante import ( + "context" + "cosmossdk.io/core/appmodule/v2" "cosmossdk.io/core/transaction" errorsmod "cosmossdk.io/errors" @@ -30,20 +32,30 @@ func NewValidateBasicDecorator(env appmodule.Environment) ValidateBasicDecorator } } -func (vbd ValidateBasicDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (sdk.Context, error) { +// AnteHandle implements an AnteHandler decorator for the ValidateBasicDecorator. +func (vbd ValidateBasicDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + if err := vbd.ValidateTx(ctx, tx); err != nil { + return ctx, err + } + + return next(ctx, tx, false) +} + +// ValidateTx implements an TxValidator for ValidateBasicDecorator +func (vbd ValidateBasicDecorator) ValidateTx(ctx context.Context, tx sdk.Tx) error { // no need to validate basic on recheck tx, call next antehandler txService := vbd.env.TransactionService if txService.ExecMode(ctx) == transaction.ExecModeReCheck { - return next(ctx, tx, false) + return nil } if validateBasic, ok := tx.(sdk.HasValidateBasic); ok { if err := validateBasic.ValidateBasic(); err != nil { - return ctx, err + return err } } - return next(ctx, tx, false) + return nil } // ValidateMemoDecorator will validate memo given the parameters passed in @@ -59,24 +71,34 @@ func NewValidateMemoDecorator(ak AccountKeeper) ValidateMemoDecorator { } } -func (vmd ValidateMemoDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (sdk.Context, error) { +// AnteHandle implements an AnteHandler decorator for the ValidateMemoDecorator. +func (vmd ValidateMemoDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + if err := vmd.ValidateTx(ctx, tx); err != nil { + return ctx, err + } + + return next(ctx, tx, false) +} + +// ValidateTx implements an TxValidator for ValidateMemoDecorator +func (vmd ValidateMemoDecorator) ValidateTx(ctx context.Context, tx sdk.Tx) error { memoTx, ok := tx.(sdk.TxWithMemo) if !ok { - return ctx, errorsmod.Wrap(sdkerrors.ErrTxDecode, "invalid transaction type") + return errorsmod.Wrap(sdkerrors.ErrTxDecode, "invalid transaction type") } memoLength := len(memoTx.GetMemo()) if memoLength > 0 { params := vmd.ak.GetParams(ctx) if uint64(memoLength) > params.MaxMemoCharacters { - return ctx, errorsmod.Wrapf(sdkerrors.ErrMemoTooLarge, + return errorsmod.Wrapf(sdkerrors.ErrMemoTooLarge, "maximum number of characters is %d but received %d characters", params.MaxMemoCharacters, memoLength, ) } } - return next(ctx, tx, false) + return nil } // ConsumeTxSizeGasDecorator will take in parameters and consume gas proportional @@ -98,14 +120,27 @@ func NewConsumeGasForTxSizeDecorator(ak AccountKeeper) ConsumeTxSizeGasDecorator } } -func (cgts ConsumeTxSizeGasDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (sdk.Context, error) { +// AnteHandle implements an AnteHandler decorator for the ConsumeTxSizeGasDecorator. +func (cgts ConsumeTxSizeGasDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + if err := cgts.ValidateTx(ctx, tx); err != nil { + return ctx, err + } + + return next(ctx, tx, false) +} + +// ValidateTx implements an TxValidator for ConsumeTxSizeGasDecorator +func (cgts ConsumeTxSizeGasDecorator) ValidateTx(ctx context.Context, tx sdk.Tx) error { sigTx, ok := tx.(authsigning.SigVerifiableTx) if !ok { - return ctx, errorsmod.Wrap(sdkerrors.ErrTxDecode, "invalid tx type") + return errorsmod.Wrap(sdkerrors.ErrTxDecode, "invalid tx type") } params := cgts.ak.GetParams(ctx) - ctx.GasMeter().ConsumeGas(params.TxSizeCostPerByte*storetypes.Gas(len(ctx.TxBytes())), "txSize") + gasService := cgts.ak.GetEnvironment().GasService + if err := gasService.GasMeter(ctx).Consume(params.TxSizeCostPerByte*storetypes.Gas(len(tx.Bytes())), "txSize"); err != nil { + return err + } // simulate gas cost for signatures in simulate mode txService := cgts.ak.GetEnvironment().TransactionService @@ -113,7 +148,7 @@ func (cgts ConsumeTxSizeGasDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ b // in simulate mode, each element should be a nil signature sigs, err := sigTx.GetSignaturesV2() if err != nil { - return ctx, err + return err } n := len(sigs) @@ -147,11 +182,13 @@ func (cgts ConsumeTxSizeGasDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ b cost *= params.TxSigLimit } - ctx.GasMeter().ConsumeGas(params.TxSizeCostPerByte*cost, "txSize") + if err := gasService.GasMeter(ctx).Consume(params.TxSizeCostPerByte*cost, "txSize"); err != nil { + return err + } } } - return next(ctx, tx, false) + return nil } // isIncompleteSignature tests whether SignatureData is fully filled in for simulation purposes @@ -180,7 +217,9 @@ func isIncompleteSignature(data signing.SignatureData) bool { type ( // TxTimeoutHeightDecorator defines an AnteHandler decorator that checks for a // tx height timeout. - TxTimeoutHeightDecorator struct{} + TxTimeoutHeightDecorator struct { + env appmodule.Environment + } // TxWithTimeoutHeight defines the interface a tx must implement in order for // TxTimeoutHeightDecorator to process the tx. @@ -193,26 +232,39 @@ type ( // TxTimeoutHeightDecorator defines an AnteHandler decorator that checks for a // tx height timeout. -func NewTxTimeoutHeightDecorator() TxTimeoutHeightDecorator { - return TxTimeoutHeightDecorator{} +func NewTxTimeoutHeightDecorator(env appmodule.Environment) TxTimeoutHeightDecorator { + return TxTimeoutHeightDecorator{ + env: env, + } } -// AnteHandle implements an AnteHandler decorator for the TxTimeoutHeightDecorator +// AnteHandle implements an AnteHandler decorator for the TxHeightTimeoutDecorator. +func (txh TxTimeoutHeightDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + if err := txh.ValidateTx(ctx, tx); err != nil { + return ctx, err + } + + return next(ctx, tx, false) +} + +// ValidateTx implements an TxValidator for the TxHeightTimeoutDecorator // type where the current block height is checked against the tx's height timeout. // If a height timeout is provided (non-zero) and is less than the current block // height, then an error is returned. -func (txh TxTimeoutHeightDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (sdk.Context, error) { +func (txh TxTimeoutHeightDecorator) ValidateTx(ctx context.Context, tx sdk.Tx) error { timeoutTx, ok := tx.(TxWithTimeoutHeight) if !ok { - return ctx, errorsmod.Wrap(sdkerrors.ErrTxDecode, "expected tx to implement TxWithTimeoutHeight") + return errorsmod.Wrap(sdkerrors.ErrTxDecode, "expected tx to implement TxWithTimeoutHeight") } timeoutHeight := timeoutTx.GetTimeoutHeight() - if timeoutHeight > 0 && uint64(ctx.BlockHeight()) > timeoutHeight { - return ctx, errorsmod.Wrapf( - sdkerrors.ErrTxTimeoutHeight, "block height: %d, timeout height: %d", ctx.BlockHeight(), timeoutHeight, + headerInfo := txh.env.HeaderService.HeaderInfo(ctx) + + if timeoutHeight > 0 && uint64(headerInfo.Height) > timeoutHeight { + return errorsmod.Wrapf( + sdkerrors.ErrTxTimeoutHeight, "block height: %d, timeout height: %d", headerInfo.Height, timeoutHeight, ) } - return next(ctx, tx, false) + return nil } diff --git a/x/auth/ante/basic_test.go b/x/auth/ante/basic_test.go index 5186f9b79fc1..836fd63e1fb6 100644 --- a/x/auth/ante/basic_test.go +++ b/x/auth/ante/basic_test.go @@ -1,11 +1,14 @@ package ante_test import ( + "context" "strings" "testing" "github.com/stretchr/testify/require" + "cosmossdk.io/core/appmodule/v2" + "cosmossdk.io/core/header" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/auth/ante" @@ -95,6 +98,8 @@ func TestValidateMemo(t *testing.T) { } func TestConsumeGasForTxSize(t *testing.T) { + t.Skip() // TODO(@julienrbrt) Fix after https://github.com/cosmos/cosmos-sdk/pull/20072 + suite := SetupTestSuite(t, true) // keys and addresses @@ -182,7 +187,8 @@ func TestConsumeGasForTxSize(t *testing.T) { func TestTxHeightTimeoutDecorator(t *testing.T) { suite := SetupTestSuite(t, true) - antehandler := sdk.ChainAnteDecorators(ante.NewTxTimeoutHeightDecorator()) + mockHeaderService := &mockHeaderService{} + antehandler := sdk.ChainAnteDecorators(ante.NewTxTimeoutHeightDecorator(appmodule.Environment{HeaderService: mockHeaderService})) // keys and addresses priv1, _, addr1 := testdata.KeyTestPubAddr() @@ -221,9 +227,23 @@ func TestTxHeightTimeoutDecorator(t *testing.T) { tx, err := suite.CreateTestTx(suite.ctx, privs, accNums, accSeqs, suite.ctx.ChainID(), signing.SignMode_SIGN_MODE_DIRECT) require.NoError(t, err) - ctx := suite.ctx.WithBlockHeight(tc.height) - _, err = antehandler(ctx, tx, true) + mockHeaderService.WithBlockHeight(tc.height) + _, err = antehandler(suite.ctx, tx, true) require.ErrorIs(t, err, tc.expectedErr) }) } } + +type mockHeaderService struct { + header.Service + + exp header.Info +} + +func (m *mockHeaderService) HeaderInfo(_ context.Context) header.Info { + return m.exp +} + +func (m *mockHeaderService) WithBlockHeight(height int64) { + m.exp.Height = height +} diff --git a/x/auth/ante/sigverify.go b/x/auth/ante/sigverify.go index b09bcff5c2c7..e40fc5d9b98a 100644 --- a/x/auth/ante/sigverify.go +++ b/x/auth/ante/sigverify.go @@ -460,27 +460,37 @@ func NewValidateSigCountDecorator(ak AccountKeeper) ValidateSigCountDecorator { } } -func (vscd ValidateSigCountDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (sdk.Context, error) { +// AnteHandler implements an ante decorator for ValidateSigCountDecorator +func (vscd ValidateSigCountDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, _ bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { + if err := vscd.ValidateTx(ctx, tx); err != nil { + return ctx, err + } + + return next(ctx, tx, false) +} + +// ValidateTx implements an TxValidator for ValidateSigCountDecorator +func (vscd ValidateSigCountDecorator) ValidateTx(ctx context.Context, tx sdk.Tx) error { sigTx, ok := tx.(authsigning.SigVerifiableTx) if !ok { - return ctx, errorsmod.Wrap(sdkerrors.ErrTxDecode, "Tx must be a sigTx") + return errorsmod.Wrap(sdkerrors.ErrTxDecode, "Tx must be a sigTx") } params := vscd.ak.GetParams(ctx) pubKeys, err := sigTx.GetPubKeys() if err != nil { - return ctx, err + return err } sigCount := 0 for _, pk := range pubKeys { sigCount += CountSubKeys(pk) if uint64(sigCount) > params.TxSigLimit { - return ctx, errorsmod.Wrapf(sdkerrors.ErrTooManySignatures, "signatures: %d, limit: %d", sigCount, params.TxSigLimit) + return errorsmod.Wrapf(sdkerrors.ErrTooManySignatures, "signatures: %d, limit: %d", sigCount, params.TxSigLimit) } } - return next(ctx, tx, false) + return nil } // DefaultSigVerificationGasConsumer is the default implementation of SignatureVerificationGasConsumer. It consumes gas diff --git a/x/auth/go.mod b/x/auth/go.mod index bbdc30f0de80..656601c2c3f7 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -181,4 +181,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/auth/go.sum b/x/auth/go.sum index dafdb3a811a4..2e2bd97339f4 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/auth/module.go b/x/auth/module.go index 29a46e3e9fec..32f5f7627b90 100644 --- a/x/auth/module.go +++ b/x/auth/module.go @@ -9,14 +9,18 @@ import ( "google.golang.org/grpc" "cosmossdk.io/core/appmodule" + appmodulev2 "cosmossdk.io/core/appmodule/v2" "cosmossdk.io/core/legacy" "cosmossdk.io/core/registry" + "cosmossdk.io/core/transaction" + "cosmossdk.io/x/auth/ante" "cosmossdk.io/x/auth/keeper" "cosmossdk.io/x/auth/simulation" "cosmossdk.io/x/auth/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) @@ -31,10 +35,10 @@ var ( _ module.AppModuleSimulation = AppModule{} _ module.HasName = AppModule{} - _ appmodule.HasGenesis = AppModule{} - _ appmodule.AppModule = AppModule{} - _ appmodule.HasServices = AppModule{} - _ appmodule.HasMigrations = AppModule{} + _ appmodulev2.HasGenesis = AppModule{} + _ appmodulev2.AppModule = AppModule{} + _ appmodule.HasServices = AppModule{} + _ appmodulev2.HasMigrations = AppModule{} ) // AppModule implements an application module for the auth module. @@ -150,7 +154,32 @@ func (am AppModule) ExportGenesis(ctx context.Context) (json.RawMessage, error) return am.cdc.MarshalJSON(gs) } -// ConsensusVersion implements HasConsensusVersion +// TxValidator implements appmodulev2.HasTxValidator. +// It replaces auth ante handlers for server/v2 +func (am AppModule) TxValidator(ctx context.Context, tx transaction.Tx) error { + validators := []appmodulev2.TxValidator[sdk.Tx]{ + ante.NewValidateBasicDecorator(am.accountKeeper.GetEnvironment()), + ante.NewTxTimeoutHeightDecorator(am.accountKeeper.GetEnvironment()), + ante.NewValidateMemoDecorator(am.accountKeeper), + ante.NewConsumeGasForTxSizeDecorator(am.accountKeeper), + ante.NewValidateSigCountDecorator(am.accountKeeper), + } + + sdkTx, ok := tx.(sdk.Tx) + if !ok { + return fmt.Errorf("invalid tx type %T, expected sdk.Tx", tx) + } + + for _, validator := range validators { + if err := validator.ValidateTx(ctx, sdkTx); err != nil { + return err + } + } + + return nil +} + +// ConsensusVersion implements appmodule.HasConsensusVersion func (AppModule) ConsensusVersion() uint64 { return ConsensusVersion } // AppModuleSimulation functions diff --git a/x/auth/tx/builder.go b/x/auth/tx/builder.go index 98d834736888..944256610c04 100644 --- a/x/auth/tx/builder.go +++ b/x/auth/tx/builder.go @@ -33,11 +33,11 @@ func newBuilder(addressCodec address.Codec, decoder *decode.Decoder, codec codec } func newBuilderFromDecodedTx(addrCodec address.Codec, decoder *decode.Decoder, codec codec.BinaryCodec, decoded *gogoTxWrapper) (*builder, error) { - signatures := make([][]byte, len(decoded.decodedTx.Tx.Signatures)) - copy(signatures, decoded.decodedTx.Tx.Signatures) + signatures := make([][]byte, len(decoded.Tx.Signatures)) + copy(signatures, decoded.Tx.Signatures) - sigInfos := make([]*tx.SignerInfo, len(decoded.decodedTx.Tx.AuthInfo.SignerInfos)) - for i, sigInfo := range decoded.decodedTx.Tx.AuthInfo.SignerInfos { + sigInfos := make([]*tx.SignerInfo, len(decoded.Tx.AuthInfo.SignerInfos)) + for i, sigInfo := range decoded.Tx.AuthInfo.SignerInfos { modeInfoV1 := new(tx.ModeInfo) fromV2ModeInfo(sigInfo.ModeInfo, modeInfoV1) sigInfos[i] = &tx.SignerInfo{ diff --git a/x/auth/tx/config/depinject.go b/x/auth/tx/config/depinject.go index 82988b09d82c..f3b02370e8d2 100644 --- a/x/auth/tx/config/depinject.go +++ b/x/auth/tx/config/depinject.go @@ -61,7 +61,7 @@ type ModuleOutputs struct { TxConfig client.TxConfig TxConfigOptions tx.ConfigOptions - BaseAppOption runtime.BaseAppOption + BaseAppOption runtime.BaseAppOption // This is only useful for chains using baseapp. Server/v2 chains use TxValidator. } func ProvideProtoRegistry() txsigning.ProtoFileResolver { diff --git a/x/auth/tx/encoder.go b/x/auth/tx/encoder.go index 218f5789e4e2..df15da9fca8e 100644 --- a/x/auth/tx/encoder.go +++ b/x/auth/tx/encoder.go @@ -16,7 +16,7 @@ func DefaultTxEncoder() sdk.TxEncoder { if !ok { return nil, fmt.Errorf("unexpected tx type: %T", tx) } - return marshalOption.Marshal(gogoWrapper.decodedTx.TxRaw) + return marshalOption.Marshal(gogoWrapper.TxRaw) } } @@ -32,6 +32,6 @@ func DefaultJSONTxEncoder(cdc codec.Codec) sdk.TxEncoder { if !ok { return nil, fmt.Errorf("unexpected tx type: %T", tx) } - return jsonMarshaler.Marshal(gogoWrapper.decodedTx.Tx) + return jsonMarshaler.Marshal(gogoWrapper.Tx) } } diff --git a/x/auth/tx/gogotx.go b/x/auth/tx/gogotx.go index 250c9631aada..4a5fa52c239a 100644 --- a/x/auth/tx/gogotx.go +++ b/x/auth/tx/gogotx.go @@ -27,7 +27,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx/signing" ) -func newWrapperFromDecodedTx(addrCodec address.Codec, cdc codec.BinaryCodec, decodedTx *decode.DecodedTx) (w *gogoTxWrapper, err error) { +func newWrapperFromDecodedTx(addrCodec address.Codec, cdc codec.BinaryCodec, decodedTx *decode.DecodedTx) (*gogoTxWrapper, error) { // set msgsv1 msgs, err := decodeMsgsV1(cdc, decodedTx.Tx.Body.Messages) if err != nil { @@ -79,8 +79,8 @@ func newWrapperFromDecodedTx(addrCodec address.Codec, cdc codec.BinaryCodec, dec } return &gogoTxWrapper{ + DecodedTx: decodedTx, cdc: cdc, - decodedTx: decodedTx, reflectMsgs: reflectMsgs, msgs: msgs, fees: fees, @@ -92,8 +92,9 @@ func newWrapperFromDecodedTx(addrCodec address.Codec, cdc codec.BinaryCodec, dec // gogoTxWrapper is a gogoTxWrapper around the tx.Tx proto.Message which retain the raw // body and auth_info bytes. type gogoTxWrapper struct { - decodedTx *decode.DecodedTx - cdc codec.BinaryCodec + *decode.DecodedTx + + cdc codec.BinaryCodec msgs []proto.Message reflectMsgs []protoreflect.Message @@ -102,7 +103,7 @@ type gogoTxWrapper struct { feeGranter []byte } -func (w *gogoTxWrapper) String() string { return w.decodedTx.Tx.String() } +func (w *gogoTxWrapper) String() string { return w.Tx.String() } var ( _ authsigning.Tx = &gogoTxWrapper{} @@ -129,21 +130,21 @@ func (w *gogoTxWrapper) GetReflectMessages() ([]protoreflect.Message, error) { } func (w *gogoTxWrapper) ValidateBasic() error { - if len(w.decodedTx.Tx.Signatures) == 0 { + if len(w.Tx.Signatures) == 0 { return sdkerrors.ErrNoSignatures.Wrapf("empty signatures") } - if len(w.decodedTx.Signers) != len(w.decodedTx.Tx.Signatures) { - return sdkerrors.ErrUnauthorized.Wrapf("invalid number of signatures: got %d signatures and %d signers", len(w.decodedTx.Tx.Signatures), len(w.decodedTx.Signers)) + if len(w.Signers) != len(w.Tx.Signatures) { + return sdkerrors.ErrUnauthorized.Wrapf("invalid number of signatures: got %d signatures and %d signers", len(w.Tx.Signatures), len(w.Signers)) } return nil } func (w *gogoTxWrapper) GetSigners() ([][]byte, error) { - return w.decodedTx.Signers, nil + return w.Signers, nil } func (w *gogoTxWrapper) GetPubKeys() ([]cryptotypes.PubKey, error) { - signerInfos := w.decodedTx.Tx.AuthInfo.SignerInfos + signerInfos := w.Tx.AuthInfo.SignerInfos pks := make([]cryptotypes.PubKey, len(signerInfos)) for i, si := range signerInfos { @@ -168,7 +169,7 @@ func (w *gogoTxWrapper) GetPubKeys() ([]cryptotypes.PubKey, error) { } func (w *gogoTxWrapper) GetGas() uint64 { - return w.decodedTx.Tx.AuthInfo.Fee.GasLimit + return w.Tx.AuthInfo.Fee.GasLimit } func (w *gogoTxWrapper) GetFee() sdk.Coins { return w.fees } @@ -177,18 +178,18 @@ func (w *gogoTxWrapper) FeePayer() []byte { return w.feePayer } func (w *gogoTxWrapper) FeeGranter() []byte { return w.feeGranter } -func (w *gogoTxWrapper) GetMemo() string { return w.decodedTx.Tx.Body.Memo } +func (w *gogoTxWrapper) GetMemo() string { return w.Tx.Body.Memo } // GetTimeoutHeight returns the transaction's timeout height (if set). -func (w *gogoTxWrapper) GetTimeoutHeight() uint64 { return w.decodedTx.Tx.Body.TimeoutHeight } +func (w *gogoTxWrapper) GetTimeoutHeight() uint64 { return w.Tx.Body.TimeoutHeight } // GetUnordered returns the transaction's unordered field (if set). -func (w *gogoTxWrapper) GetUnordered() bool { return w.decodedTx.Tx.Body.Unordered } +func (w *gogoTxWrapper) GetUnordered() bool { return w.Tx.Body.Unordered } // GetSignaturesV2 returns the signatures of the Tx. func (w *gogoTxWrapper) GetSignaturesV2() ([]signing.SignatureV2, error) { - signerInfos := w.decodedTx.Tx.AuthInfo.SignerInfos - sigs := w.decodedTx.Tx.Signatures + signerInfos := w.Tx.AuthInfo.SignerInfos + sigs := w.Tx.Signatures pubKeys, err := w.GetPubKeys() if err != nil { return nil, err @@ -225,46 +226,46 @@ func (w *gogoTxWrapper) GetSignaturesV2() ([]signing.SignatureV2, error) { // TODO: evaluate if this is even needed considering we have decoded tx. func (w *gogoTxWrapper) GetSigningTxData() txsigning.TxData { return txsigning.TxData{ - Body: w.decodedTx.Tx.Body, - AuthInfo: w.decodedTx.Tx.AuthInfo, - BodyBytes: w.decodedTx.TxRaw.BodyBytes, - AuthInfoBytes: w.decodedTx.TxRaw.AuthInfoBytes, - BodyHasUnknownNonCriticals: w.decodedTx.TxBodyHasUnknownNonCriticals, + Body: w.Tx.Body, + AuthInfo: w.Tx.AuthInfo, + BodyBytes: w.TxRaw.BodyBytes, + AuthInfoBytes: w.TxRaw.AuthInfoBytes, + BodyHasUnknownNonCriticals: w.TxBodyHasUnknownNonCriticals, } } func (w *gogoTxWrapper) GetExtensionOptions() []*codectypes.Any { - return intoAnyV1(w.decodedTx.Tx.Body.ExtensionOptions) + return intoAnyV1(w.Tx.Body.ExtensionOptions) } func (w *gogoTxWrapper) GetNonCriticalExtensionOptions() []*codectypes.Any { - return intoAnyV1(w.decodedTx.Tx.Body.NonCriticalExtensionOptions) + return intoAnyV1(w.Tx.Body.NonCriticalExtensionOptions) } func (w *gogoTxWrapper) AsTx() (*txtypes.Tx, error) { body := new(txtypes.TxBody) authInfo := new(txtypes.AuthInfo) - err := w.cdc.Unmarshal(w.decodedTx.TxRaw.BodyBytes, body) + err := w.cdc.Unmarshal(w.TxRaw.BodyBytes, body) if err != nil { return nil, err } - err = w.cdc.Unmarshal(w.decodedTx.TxRaw.AuthInfoBytes, authInfo) + err = w.cdc.Unmarshal(w.TxRaw.AuthInfoBytes, authInfo) if err != nil { return nil, err } return &txtypes.Tx{ Body: body, AuthInfo: authInfo, - Signatures: w.decodedTx.TxRaw.Signatures, + Signatures: w.TxRaw.Signatures, }, nil } func (w *gogoTxWrapper) AsTxRaw() (*txtypes.TxRaw, error) { return &txtypes.TxRaw{ - BodyBytes: w.decodedTx.TxRaw.BodyBytes, - AuthInfoBytes: w.decodedTx.TxRaw.AuthInfoBytes, - Signatures: w.decodedTx.TxRaw.Signatures, + BodyBytes: w.TxRaw.BodyBytes, + AuthInfoBytes: w.TxRaw.AuthInfoBytes, + Signatures: w.TxRaw.Signatures, }, nil } diff --git a/x/auth/tx/gogotx_test.go b/x/auth/tx/gogotx_test.go deleted file mode 100644 index 336f5e5a88d7..000000000000 --- a/x/auth/tx/gogotx_test.go +++ /dev/null @@ -1 +0,0 @@ -package tx diff --git a/x/auth/tx/legacy_amino_json.go b/x/auth/tx/legacy_amino_json.go index 1da32c737e9c..0844a7b8f95b 100644 --- a/x/auth/tx/legacy_amino_json.go +++ b/x/auth/tx/legacy_amino_json.go @@ -48,11 +48,11 @@ func (s signModeLegacyAminoJSONHandler) GetSignBytes(mode signingtypes.SignMode, return nil, fmt.Errorf("can only handle a protobuf Tx, got %T", tx) } - if protoTx.decodedTx.TxBodyHasUnknownNonCriticals { + if protoTx.TxBodyHasUnknownNonCriticals { return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, aminoNonCriticalFieldsError) } - body := protoTx.decodedTx.Tx.Body + body := protoTx.Tx.Body if len(body.ExtensionOptions) != 0 || len(body.NonCriticalExtensionOptions) != 0 { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "%s does not support protobuf extension options", signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON) @@ -68,8 +68,8 @@ func (s signModeLegacyAminoJSONHandler) GetSignBytes(mode signingtypes.SignMode, legacytx.StdFee{ Amount: protoTx.GetFee(), Gas: protoTx.GetGas(), - Payer: protoTx.decodedTx.Tx.AuthInfo.Fee.Payer, - Granter: protoTx.decodedTx.Tx.AuthInfo.Fee.Granter, + Payer: protoTx.Tx.AuthInfo.Fee.Payer, + Granter: protoTx.Tx.AuthInfo.Fee.Granter, }, tx.GetMsgs(), protoTx.GetMemo(), ), nil diff --git a/x/tx/decode/decode.go b/x/tx/decode/decode.go index 4dafe9549af4..45a1c9ce962e 100644 --- a/x/tx/decode/decode.go +++ b/x/tx/decode/decode.go @@ -1,12 +1,15 @@ package decode import ( + "crypto/sha256" "errors" "github.com/cosmos/cosmos-proto/anyutil" "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/protoadapt" v1beta1 "cosmossdk.io/api/cosmos/tx/v1beta1" + "cosmossdk.io/core/transaction" errorsmod "cosmossdk.io/errors" "cosmossdk.io/x/tx/signing" ) @@ -18,8 +21,15 @@ type DecodedTx struct { TxRaw *v1beta1.TxRaw Signers [][]byte TxBodyHasUnknownNonCriticals bool + + // Cache for hash and full bytes + cachedHash [32]byte + cachedBytes []byte + cachedHashed bool } +var _ transaction.Tx = &DecodedTx{} + // Decoder contains the dependencies required for decoding transactions. type Decoder struct { signingCtx *signing.Context @@ -126,3 +136,56 @@ func (d *Decoder) Decode(txBytes []byte) (*DecodedTx, error) { Signers: signers, }, nil } + +// Hash implements the interface for the Tx interface. +func (dtx *DecodedTx) Hash() [32]byte { + if !dtx.cachedHashed { + dtx.computeHashAndBytes() + } + return dtx.cachedHash +} + +func (dtx *DecodedTx) GetGasLimit() (uint64, error) { + if dtx == nil || dtx.Tx == nil || dtx.Tx.AuthInfo == nil || dtx.Tx.AuthInfo.Fee == nil { + return 0, errors.New("gas limit not available or one or more required fields are nil") + } + return dtx.Tx.AuthInfo.Fee.GasLimit, nil +} + +func (dtx *DecodedTx) GetMessages() ([]transaction.Msg, error) { + if dtx == nil || dtx.Messages == nil { + return nil, errors.New("messages not available or are nil") + } + + msgs := make([]transaction.Msg, len(dtx.Messages)) + for i, msg := range dtx.Messages { + msgs[i] = protoadapt.MessageV1Of(msg) + } + + return msgs, nil +} + +func (dtx *DecodedTx) GetSenders() ([][]byte, error) { + if dtx == nil || dtx.Signers == nil { + return nil, errors.New("senders not available or are nil") + } + return dtx.Signers, nil +} + +func (dtx *DecodedTx) Bytes() []byte { + if !dtx.cachedHashed { + dtx.computeHashAndBytes() + } + return dtx.cachedBytes +} + +func (dtx *DecodedTx) computeHashAndBytes() { + bz, err := proto.Marshal(dtx.TxRaw) + if err != nil { + panic(err) + } + + dtx.cachedBytes = bz + dtx.cachedHash = sha256.Sum256(bz) + dtx.cachedHashed = true +} diff --git a/x/tx/go.mod b/x/tx/go.mod index 1dc00fe623bc..1dad149f5a4d 100644 --- a/x/tx/go.mod +++ b/x/tx/go.mod @@ -21,7 +21,8 @@ require ( ) require ( - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/kr/text v0.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/net v0.25.0 // indirect @@ -33,6 +34,8 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) +replace cosmossdk.io/core => ../../core + // NOTE: we do not want to replace to the development version of cosmossdk.io/api yet // Until https://github.com/cosmos/cosmos-sdk/issues/19228 is resolved // We are tagging x/tx from main and must keep using released versions of x/tx dependencies diff --git a/x/tx/go.sum b/x/tx/go.sum index b5a03e4cecca..bbef6e0b475d 100644 --- a/x/tx/go.sum +++ b/x/tx/go.sum @@ -1,7 +1,5 @@ cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= -cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= -cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= @@ -10,9 +8,11 @@ github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+R github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= From 6ea50ef9801ce057dc6c216607c070ab20ec4f66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 08:55:12 +0000 Subject: [PATCH 07/41] build(deps): Bump github.com/prometheus/common from 0.53.0 to 0.54.0 (#20534) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julien Robert --- client/v2/go.mod | 7 ++++--- client/v2/go.sum | 6 ++---- collections/go.mod | 4 ++-- collections/go.sum | 8 ++++---- go.mod | 2 +- go.sum | 4 ++-- orm/go.mod | 4 ++-- orm/go.sum | 8 ++++---- runtime/v2/go.mod | 2 +- runtime/v2/go.sum | 4 ++-- server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 4 ++-- server/v2/go.mod | 2 +- server/v2/go.sum | 4 ++-- simapp/go.mod | 2 +- simapp/go.sum | 4 ++-- store/go.mod | 2 +- store/go.sum | 4 ++-- store/v2/go.mod | 4 ++-- store/v2/go.sum | 8 ++++---- tests/go.mod | 2 +- tests/go.sum | 4 ++-- tests/systemtests/go.mod | 2 +- tests/systemtests/go.sum | 4 ++-- tools/confix/go.mod | 2 +- tools/confix/go.sum | 4 ++-- tools/cosmovisor/go.mod | 2 +- tools/cosmovisor/go.sum | 4 ++-- tools/hubl/go.mod | 2 +- tools/hubl/go.sum | 4 ++-- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 ++-- x/accounts/go.mod | 16 +++++++--------- x/accounts/go.sum | 6 ++---- x/auth/go.mod | 2 +- x/auth/go.sum | 4 ++-- x/authz/go.mod | 10 ++++------ x/authz/go.sum | 6 ++---- x/bank/go.mod | 10 ++++------ x/bank/go.sum | 6 ++---- x/circuit/go.mod | 4 +++- x/circuit/go.sum | 6 ++---- x/consensus/go.mod | 2 +- x/consensus/go.sum | 4 ++-- x/distribution/go.mod | 4 +++- x/distribution/go.sum | 6 ++---- x/epochs/go.mod | 2 +- x/epochs/go.sum | 4 ++-- x/evidence/go.mod | 4 +++- x/evidence/go.sum | 6 ++---- x/feegrant/go.mod | 13 ++++++------- x/feegrant/go.sum | 6 ++---- x/gov/go.mod | 7 ++++--- x/gov/go.sum | 6 ++---- x/group/go.mod | 4 +++- x/group/go.sum | 6 ++---- x/mint/go.mod | 10 ++++------ x/mint/go.sum | 6 ++---- x/nft/go.mod | 4 +++- x/nft/go.sum | 6 ++---- x/params/go.mod | 4 +++- x/params/go.sum | 6 ++---- x/protocolpool/go.mod | 4 +++- x/protocolpool/go.sum | 6 ++---- x/slashing/go.mod | 3 ++- x/slashing/go.sum | 6 ++---- x/staking/go.mod | 17 +++++++---------- x/staking/go.sum | 6 ++---- x/upgrade/go.mod | 3 ++- x/upgrade/go.sum | 6 ++---- 70 files changed, 162 insertions(+), 190 deletions(-) diff --git a/client/v2/go.mod b/client/v2/go.mod index 5eeec158c37e..e74d1799a190 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -99,6 +99,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -127,7 +128,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,10 +171,9 @@ require ( pgregory.net/rapid v1.1.0 // indirect ) -require github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - replace github.com/cosmos/cosmos-sdk => ./../../ +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ./../../api cosmossdk.io/core => ./../../core @@ -190,4 +190,5 @@ replace ( cosmossdk.io/x/protocolpool => ./../../x/protocolpool cosmossdk.io/x/slashing => ./../../x/slashing cosmossdk.io/x/staking => ./../../x/staking + cosmossdk.io/x/tx => ./../../x/tx ) diff --git a/client/v2/go.sum b/client/v2/go.sum index 0f29eb9ffe2c..c51bc436a0e6 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -417,8 +415,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/collections/go.mod b/collections/go.mod index 78e57e9187c5..d07261a4e5b2 100644 --- a/collections/go.mod +++ b/collections/go.mod @@ -35,8 +35,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.19.1 // indirect - github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/spf13/cast v1.6.0 // indirect diff --git a/collections/go.sum b/collections/go.sum index 789d2618b789..c743825aa123 100644 --- a/collections/go.sum +++ b/collections/go.sum @@ -103,10 +103,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= diff --git a/go.mod b/go.mod index d92413ea48aa..7cfb65640f21 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/mdp/qrterminal/v3 v3.2.0 github.com/muesli/termenv v0.15.2 github.com/prometheus/client_golang v1.19.1 - github.com/prometheus/common v0.53.0 + github.com/prometheus/common v0.54.0 github.com/rs/zerolog v1.33.0 github.com/spf13/cast v1.6.0 github.com/spf13/cobra v1.8.0 diff --git a/go.sum b/go.sum index 5768809671b2..0cd7a5e3b4e0 100644 --- a/go.sum +++ b/go.sum @@ -404,8 +404,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/orm/go.mod b/orm/go.mod index 1420aed6c947..942ff0c4aed6 100644 --- a/orm/go.mod +++ b/orm/go.mod @@ -51,8 +51,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.19.1 // indirect - github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/spf13/cast v1.6.0 // indirect diff --git a/orm/go.sum b/orm/go.sum index 9e43a3668ca4..d0d9f5a2d06a 100644 --- a/orm/go.sum +++ b/orm/go.sum @@ -123,10 +123,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/regen-network/gocuke v1.1.1 h1:13D3n5xLbpzA/J2ELHC9jXYq0+XyEr64A3ehjvfmBbE= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index 9840ca88316a..fba472ccc052 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -74,7 +74,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.33.0 // indirect diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index a3a26f890ba6..edee784f3e4e 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -186,8 +186,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 2c787fc56730..3b635b154a92 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -146,7 +146,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index 017555b9dbde..b3d690881b44 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -409,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/server/v2/go.mod b/server/v2/go.mod index 9cff026f8258..06078109ed67 100644 --- a/server/v2/go.mod +++ b/server/v2/go.mod @@ -27,7 +27,7 @@ require ( github.com/hashicorp/go-plugin v1.6.0 github.com/pelletier/go-toml/v2 v2.2.2 github.com/prometheus/client_golang v1.19.0 - github.com/prometheus/common v0.52.2 + github.com/prometheus/common v0.54.0 github.com/rs/zerolog v1.33.0 github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.19.0 diff --git a/server/v2/go.sum b/server/v2/go.sum index 21914c9b7769..2cca72f8d420 100644 --- a/server/v2/go.sum +++ b/server/v2/go.sum @@ -192,8 +192,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= -github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/simapp/go.mod b/simapp/go.mod index c2e0a2acdab5..9be498d6794d 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -175,7 +175,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.2.0 // indirect diff --git a/simapp/go.sum b/simapp/go.sum index 1926491e6fbb..268ecb0adaa1 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -721,8 +721,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/store/go.mod b/store/go.mod index dd490203e8bb..8dad25d657bf 100644 --- a/store/go.mod +++ b/store/go.mod @@ -66,7 +66,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.33.0 // indirect diff --git a/store/go.sum b/store/go.sum index 06a5fcf1f1a2..bcae1b39bcee 100644 --- a/store/go.sum +++ b/store/go.sum @@ -195,8 +195,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/store/v2/go.mod b/store/v2/go.mod index 2cb69d47b978..848514341126 100644 --- a/store/v2/go.mod +++ b/store/v2/go.mod @@ -47,8 +47,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect - github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.33.0 // indirect diff --git a/store/v2/go.sum b/store/v2/go.sum index b14adf821a85..3d17657ab441 100644 --- a/store/v2/go.sum +++ b/store/v2/go.sum @@ -174,12 +174,12 @@ github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdU github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/tests/go.mod b/tests/go.mod index fdaefc6c0faa..8d30a7df455b 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -173,7 +173,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tests/go.sum b/tests/go.sum index 24623aeb2155..30144e41fb75 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -714,8 +714,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index b7498d433481..4ecfeb1d6801 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -123,7 +123,7 @@ require ( github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index ce0e89dbc530..017dd06b51e4 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -609,8 +609,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= diff --git a/tools/confix/go.mod b/tools/confix/go.mod index fbd7e29953ff..b6794cc780fe 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -116,7 +116,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tools/confix/go.sum b/tools/confix/go.sum index f8c5b0ac0688..2058f59f0c5d 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -612,8 +612,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index 6ae25d621e6a..caa86cd90a98 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -132,7 +132,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index 75bc74444585..f3fd881c1ac0 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -872,8 +872,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index 7910ec6f8da5..0bffa44e7fb1 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -115,7 +115,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index 78ca45175394..399b8e9651db 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -612,8 +612,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 79ee3daf8dee..0130df405c04 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -120,7 +120,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 8e3c820b08bc..3405685c11ce 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -385,8 +385,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 8300ce3a1737..c38ddb371009 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -17,23 +17,17 @@ require ( google.golang.org/protobuf v1.34.1 ) -require cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - -require ( - cosmossdk.io/log v1.3.1 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - go.opencensus.io v0.24.0 // indirect -) - require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/log v1.3.1 // indirect cosmossdk.io/math v1.3.0 cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -99,6 +93,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -127,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -151,6 +146,7 @@ require ( gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b // indirect gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect + go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect @@ -173,6 +169,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections @@ -186,4 +183,5 @@ replace ( cosmossdk.io/x/mint => ../mint cosmossdk.io/x/slashing => ../slashing cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/accounts/go.sum b/x/accounts/go.sum index c625d4dde1c5..ad46f1c30cc4 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -409,8 +407,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/auth/go.mod b/x/auth/go.mod index 656601c2c3f7..934a07cf8d83 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -129,7 +129,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/auth/go.sum b/x/auth/go.sum index 2e2bd97339f4..f7cae65f457a 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -407,8 +407,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/authz/go.mod b/x/authz/go.mod index 7c6be4e383cf..bc9817dcde77 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -35,6 +35,7 @@ require ( cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -95,6 +96,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -123,7 +125,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -167,11 +169,6 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require ( - cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -186,4 +183,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/authz/go.sum b/x/authz/go.sum index dafdb3a811a4..f7cae65f457a 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -409,8 +407,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/bank/go.mod b/x/bank/go.mod index c3d9da713039..e4c5fa2d3cc9 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -33,6 +33,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v0.13.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -94,6 +95,7 @@ require ( github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -122,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -166,11 +168,6 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require ( - cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -184,4 +181,5 @@ replace ( cosmossdk.io/x/auth => ../auth cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/bank/go.sum b/x/bank/go.sum index dafdb3a811a4..f7cae65f457a 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -409,8 +407,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index d2c8cb892bb8..4c237d12aa4f 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,6 +170,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core @@ -180,4 +181,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/circuit/go.sum b/x/circuit/go.sum index d59da404e424..cd859786f432 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index 933f842ab9dd..790d6ea5aca7 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -121,7 +121,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/consensus/go.sum b/x/consensus/go.sum index d59da404e424..3a113ceb8cfd 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -411,8 +411,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 7f2d28244444..f6c51835a97c 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -128,7 +128,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -174,6 +174,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections @@ -185,4 +186,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/distribution/go.sum b/x/distribution/go.sum index 9426a6dba0b3..f6752fd48b42 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index 46b29d8b3030..dc6511e919d4 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -118,7 +118,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/epochs/go.sum b/x/epochs/go.sum index 1df8c70ad7c4..ccd3d74ad276 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -409,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 4ccaa57c8e0f..416896314f6d 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -124,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,6 +170,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core @@ -180,4 +181,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/evidence/go.sum b/x/evidence/go.sum index d59da404e424..cd859786f432 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 94a3a9b1d22d..fba89cdfd9c4 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -30,9 +30,11 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88ef6483f90f.1 // indirect + cosmossdk.io/log v1.3.1 // indirect cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v0.13.3 // indirect @@ -98,6 +100,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -127,7 +130,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,14 +173,9 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require ( - cosmossdk.io/log v1.3.1 // indirect - cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections @@ -190,4 +188,5 @@ replace ( cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/gov => ../gov cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 4022f81946d5..58f6de7fc643 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -419,8 +417,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/gov/go.mod b/x/gov/go.mod index 47fe589c04d4..6476f227b996 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -102,6 +102,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.2.0 // indirect @@ -130,7 +131,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -171,10 +172,9 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections @@ -187,4 +187,5 @@ replace ( cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/gov/go.sum b/x/gov/go.sum index 510981449d70..93604c4bdb9d 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -417,8 +415,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/group/go.mod b/x/group/go.mod index 7086c7a95072..a7673b91e87c 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -133,7 +133,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -177,6 +177,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../ +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections @@ -194,4 +195,5 @@ replace ( cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/slashing => ../slashing cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/group/go.sum b/x/group/go.sum index ab4d8b3fc51b..321194383aea 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -419,8 +417,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/mint/go.mod b/x/mint/go.mod index 06e22e5b56da..c9410a0599ff 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -114,7 +114,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -159,21 +159,18 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/flatbuffers v2.0.8+incompatible // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/supranational/blst v0.3.11 // indirect go.opencensus.io v0.24.0 // indirect ) -require ( - cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -187,4 +184,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/mint/go.sum b/x/mint/go.sum index d59da404e424..cd859786f432 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/nft/go.mod b/x/nft/go.mod index fa0c734c3c15..3b9c17042783 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,6 +170,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core @@ -180,4 +181,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/nft/go.sum b/x/nft/go.sum index d59da404e424..cd859786f432 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/params/go.mod b/x/params/go.mod index b8cf3fc59894..3a34cb65d1ee 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -124,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -171,6 +171,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../.. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core @@ -186,4 +187,5 @@ replace ( cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/slashing => ../slashing cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/params/go.sum b/x/params/go.sum index d59da404e424..cd859786f432 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index d288e56fc7ee..e6c48a93e493 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -124,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -170,6 +170,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. +// TODO remove post spinning out all modules replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core @@ -180,4 +181,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index d59da404e424..cd859786f432 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -411,8 +409,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index c161c3e47228..179fe0a921ef 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -125,7 +125,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -182,4 +182,5 @@ replace ( cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 4c9921bf2cf5..be31a4020244 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -413,8 +411,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/staking/go.mod b/x/staking/go.mod index 5eab98c5c9be..608412fb23ab 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -116,7 +116,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -157,24 +157,20 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect + cosmossdk.io/log v1.3.1 // indirect + cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 // indirect + cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect + cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/flatbuffers v2.0.8+incompatible // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/supranational/blst v0.3.11 // indirect go.opencensus.io v0.24.0 // indirect ) -require cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 - -require ( - cosmossdk.io/log v1.3.1 // indirect - cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -188,4 +184,5 @@ replace ( cosmossdk.io/x/auth => ../auth cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus + cosmossdk.io/x/tx => ../tx ) diff --git a/x/staking/go.sum b/x/staking/go.sum index dafdb3a811a4..f7cae65f457a 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -12,8 +12,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -409,8 +407,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 267d46b14b50..3e865da38faa 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -149,7 +149,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect @@ -213,4 +213,5 @@ replace ( cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/gov => ../gov cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 2ef5fdf24b6d..086ba9eb033b 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -202,8 +202,6 @@ cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= @@ -718,8 +716,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= From 4fea3fba73abafc80d4f5b840b04f787d1138a3c Mon Sep 17 00:00:00 2001 From: Emil Georgiev Date: Tue, 4 Jun 2024 18:45:54 +0300 Subject: [PATCH 08/41] fix(orm)!: properly encode/decode nanoseconds in Duration type (#19909) Co-authored-by: cool-developer <51834436+cool-develope@users.noreply.github.com> Co-authored-by: Aaron Craelius --- orm/CHANGELOG.md | 2 + orm/encoding/ormfield/duration.go | 197 ++++++++++++++++++++----- orm/encoding/ormfield/duration_test.go | 46 ++++-- orm/encoding/ormfield/timestamp.go | 151 ++++++++++++++++++- 4 files changed, 349 insertions(+), 47 deletions(-) diff --git a/orm/CHANGELOG.md b/orm/CHANGELOG.md index 668f45ba97c8..a86c5944881c 100644 --- a/orm/CHANGELOG.md +++ b/orm/CHANGELOG.md @@ -53,7 +53,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [#12273](https://github.com/cosmos/cosmos-sdk/pull/12273) The timestamp key encoding was reworked to properly handle nil values. Existing users will need to manually migrate their data to the new encoding before upgrading. * [#15138](https://github.com/cosmos/cosmos-sdk/pull/15138) The duration key encoding was reworked to properly handle nil values. Existing users will need to manually migrate their data to the new encoding before upgrading. +* [#19909](https://github.com/cosmos/cosmos-sdk/pull/19909) (Breaking) Adjusts the encoding of zero and positive nanoseconds to ensure consistent comparison of duration objects. In the previous implementation, when nanoseconds were greater than or equal to zero, the encoding format was simple: we just represented the number in bytes (for example, 0 with [0x0]). For negative nanoseconds, we added 999,999,999 to ensure they were non-negative. In the new implementation, we always add 999,999,999 to all nanoseconds to ensure consistency in encoding and to maintain lexicographical order when compared with other durations. ### Bug Fixes * [#16023](https://github.com/cosmos/cosmos-sdk/pull/16023) Fix bugs introduced by lack of CI tests in [#15138](https://github.com/cosmos/cosmos-sdk/pull/15138) and [#15813](https://github.com/cosmos/cosmos-sdk/pull/15813). This changes the duration encoding in [#15138](https://github.com/cosmos/cosmos-sdk/pull/15138) to correctly order values with negative nanos. + \ No newline at end of file diff --git a/orm/encoding/ormfield/duration.go b/orm/encoding/ormfield/duration.go index 1cca738da5f0..572b6e21e612 100644 --- a/orm/encoding/ormfield/duration.go +++ b/orm/encoding/ormfield/duration.go @@ -18,10 +18,13 @@ const ( // encoding: // - nil is encoded as []byte{0xFF} // - seconds (which can range from -315,576,000,000 to +315,576,000,000) is encoded as 5 fixed bytes -// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) is encoded as: -// - []byte{0x0} for zero nanos -// - 4 fixed bytes with the bit mask 0xC0 applied to the first byte, with negative nanos scaled so that -999,999,999 -// is encoded as 1 and -1 is encoded as 999,999,999 +// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such +// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, +// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is +// preserved when comparing the encoded values of two Durations: +// - []byte{0xBB, 0x9A, 0xC9, 0xFF} for zero nanos +// - 4 fixed bytes with the bit mask 0x80 applied to the first byte, with negative nanos scaled so that -999,999,999 +// is encoded as 0 and -1 is encoded as 999,999,998 // // When iterating over timestamp indexes, nil values will always be ordered last. // @@ -37,10 +40,12 @@ func (d DurationCodec) Encode(value protoreflect.Value, w io.Writer) error { seconds, nanos := getDurationSecondsAndNanos(value) secondsInt := seconds.Int() - if secondsInt < DurationSecondsMin || secondsInt > DurationSecondsMax { - return fmt.Errorf("duration seconds is out of range %d, must be between %d and %d", secondsInt, DurationSecondsMin, DurationSecondsMax) + nanosInt := nanos.Int() + + if err := validateDurationRanges(secondsInt, nanosInt); err != nil { + return err } - negative := secondsInt < 0 + // we subtract the min duration value to make sure secondsInt is always non-negative and starts at 0. secondsInt -= DurationSecondsMin err := encodeSeconds(secondsInt, w) @@ -48,21 +53,8 @@ func (d DurationCodec) Encode(value protoreflect.Value, w io.Writer) error { return err } - nanosInt := nanos.Int() - if nanosInt == 0 { - _, err = w.Write(timestampZeroNanosBz) - return err - } - - if negative { - if nanosInt < DurationNanosMin || nanosInt > 0 { - return fmt.Errorf("negative duration nanos is out of range %d, must be between %d and %d", nanosInt, DurationNanosMin, 0) - } - nanosInt = DurationNanosMax + nanosInt + 1 - } else if nanosInt < 0 || nanosInt > DurationNanosMax { - return fmt.Errorf("duration nanos is out of range %d, must be between %d and %d", nanosInt, 0, DurationNanosMax) - } - + // we subtract the min duration value to make sure nanosInt is always non-negative and starts at 0. + nanosInt -= DurationNanosMin return encodeNanos(nanosInt, w) } @@ -72,11 +64,9 @@ func (d DurationCodec) Decode(r Reader) (protoreflect.Value, error) { return protoreflect.Value{}, err } - // we add the min duration value to get back the original value + // we add the min seconds duration value to get back the original value seconds += DurationSecondsMin - negative := seconds < 0 - msg := durationMsgType.New() msg.Set(durationSecondsField, protoreflect.ValueOfInt64(seconds)) @@ -84,14 +74,8 @@ func (d DurationCodec) Decode(r Reader) (protoreflect.Value, error) { if err != nil { return protoreflect.Value{}, err } - - if nanos == 0 { - return protoreflect.ValueOfMessage(msg), nil - } - - if negative { - nanos = nanos - DurationNanosMax - 1 - } + // we add the min nanos duration value to get back the original value + nanos += DurationNanosMin msg.Set(durationNanosField, protoreflect.ValueOfInt32(nanos)) return protoreflect.ValueOfMessage(msg), nil @@ -141,6 +125,36 @@ func getDurationSecondsAndNanos(value protoreflect.Value) (protoreflect.Value, p return msg.Get(durationSecondsField), msg.Get(durationNanosField) } +// validateDurationRanges checks whether seconds and nanoseconds are in valid ranges +// for a protobuf Duration type. It ensures that seconds are within the allowed range +// and, if seconds are zero or negative, verifies that nanoseconds are also within +// the valid range. For negative seconds, nanoseconds must be non-positive. +// Parameters: +// - seconds: The number of seconds component of the duration. +// - nanos: The number of nanoseconds component of the duration. +// +// Returns: +// - error: An error indicating if the duration components are out of range. +func validateDurationRanges(seconds, nanos int64) error { + if seconds < DurationSecondsMin || seconds > DurationSecondsMax { + return fmt.Errorf("duration seconds is out of range %d, must be between %d and %d", seconds, DurationSecondsMin, DurationSecondsMax) + } + + if seconds == 0 { + if nanos < DurationNanosMin || nanos > DurationNanosMax { + return fmt.Errorf("duration nanos is out of range %d, must be between %d and %d", nanos, DurationNanosMin, DurationNanosMax) + } + } else if seconds < 0 { + if nanos < DurationNanosMin || nanos > 0 { + return fmt.Errorf("negative duration nanos is out of range %d, must be between %d and %d", nanos, DurationNanosMin, 0) + } + } else if nanos < 0 || nanos > DurationNanosMax { + return fmt.Errorf("duration nanos is out of range %d, must be between %d and %d", nanos, 0, DurationNanosMax) + } + + return nil +} + // DurationV0Codec encodes a google.protobuf.Duration value as 12 bytes using // Int64Codec for seconds followed by Int32Codec for nanos. This allows for // sorted iteration. @@ -191,3 +205,120 @@ func (d DurationV0Codec) FixedBufferSize() int { func (d DurationV0Codec) ComputeBufferSize(protoreflect.Value) (int, error) { return d.FixedBufferSize(), nil } + +// DurationV1Codec encodes google.protobuf.Duration values with the following +// encoding: +// - nil is encoded as []byte{0xFF} +// - seconds (which can range from -315,576,000,000 to +315,576,000,000) is encoded as 5 fixed bytes +// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) is encoded as: +// - []byte{0x0} for zero nanos +// - 4 fixed bytes with the bit mask 0xC0 applied to the first byte, with negative nanos scaled so that -999,999,999 +// is encoded as 1 and -1 is encoded as 999,999,999 +// +// When iterating over timestamp indexes, nil values will always be ordered last. +// +// Values for seconds and nanos outside the ranges specified by google.protobuf.Duration will be rejected. +type DurationV1Codec struct{} + +func (d DurationV1Codec) Encode(value protoreflect.Value, w io.Writer) error { + // nil case + if !value.IsValid() { + _, err := w.Write(timestampDurationNilBz) + return err + } + + seconds, nanos := getDurationSecondsAndNanos(value) + secondsInt := seconds.Int() + if secondsInt < DurationSecondsMin || secondsInt > DurationSecondsMax { + return fmt.Errorf("duration seconds is out of range %d, must be between %d and %d", secondsInt, DurationSecondsMin, DurationSecondsMax) + } + negative := secondsInt < 0 + // we subtract the min duration value to make sure secondsInt is always non-negative and starts at 0. + secondsInt -= DurationSecondsMin + err := encodeSeconds(secondsInt, w) + if err != nil { + return err + } + + nanosInt := nanos.Int() + if nanosInt == 0 { + _, err = w.Write(timestampZeroNanosBz) + return err + } + + if negative { + if nanosInt < DurationNanosMin || nanosInt > 0 { + return fmt.Errorf("negative duration nanos is out of range %d, must be between %d and %d", nanosInt, DurationNanosMin, 0) + } + nanosInt = DurationNanosMax + nanosInt + 1 + } else if nanosInt < 0 || nanosInt > DurationNanosMax { + return fmt.Errorf("duration nanos is out of range %d, must be between %d and %d", nanosInt, 0, DurationNanosMax) + } + + return encodeNanosV1(nanosInt, w) +} + +func (d DurationV1Codec) Decode(r Reader) (protoreflect.Value, error) { + isNil, seconds, err := decodeSeconds(r) + if isNil || err != nil { + return protoreflect.Value{}, err + } + + // we add the min duration value to get back the original value + seconds += DurationSecondsMin + + negative := seconds < 0 + + msg := durationMsgType.New() + msg.Set(durationSecondsField, protoreflect.ValueOfInt64(seconds)) + + nanos, err := decodeNanosV1(r) + if err != nil { + return protoreflect.Value{}, err + } + + if nanos == 0 { + return protoreflect.ValueOfMessage(msg), nil + } + + if negative { + nanos = nanos - DurationNanosMax - 1 + } + + msg.Set(durationNanosField, protoreflect.ValueOfInt32(nanos)) + return protoreflect.ValueOfMessage(msg), nil +} + +func (d DurationV1Codec) Compare(v1, v2 protoreflect.Value) int { + if !v1.IsValid() { + if !v2.IsValid() { + return 0 + } + return 1 + } + + if !v2.IsValid() { + return -1 + } + + s1, n1 := getDurationSecondsAndNanos(v1) + s2, n2 := getDurationSecondsAndNanos(v2) + c := compareInt(s1, s2) + if c != 0 { + return c + } + + return compareInt(n1, n2) +} + +func (d DurationV1Codec) IsOrdered() bool { + return true +} + +func (d DurationV1Codec) FixedBufferSize() int { + return timestampDurationBufferSize +} + +func (d DurationV1Codec) ComputeBufferSize(protoreflect.Value) (int, error) { + return timestampDurationBufferSize, nil +} diff --git a/orm/encoding/ormfield/duration_test.go b/orm/encoding/ormfield/duration_test.go index 474f5db52c7c..485605ee0c1b 100644 --- a/orm/encoding/ormfield/duration_test.go +++ b/orm/encoding/ormfield/duration_test.go @@ -38,7 +38,7 @@ func TestDuration(t *testing.T) { "no nanos", 100, 0, - 6, + 9, }, { "with nanos", @@ -114,14 +114,6 @@ func TestDurationOutOfRange(t *testing.T) { }, expectErr: "seconds is out of range", }, - { - name: "positive seconds negative nanos", - dur: &durationpb.Duration{ - Seconds: 0, - Nanos: -1, - }, - expectErr: "nanos is out of range", - }, { name: "positive seconds nanos too big", dur: &durationpb.Duration{ @@ -241,6 +233,42 @@ func TestDurationCompare(t *testing.T) { }, want: -1, }, + { + name: "negative seconds equal, dur1 nanos zero", + dur1: &durationpb.Duration{ + Seconds: -1, + Nanos: 0, + }, + dur2: &durationpb.Duration{ + Seconds: -1, + Nanos: -1, + }, + want: 1, + }, + { + name: "negative seconds equal, dur2 nanos zero", + dur1: &durationpb.Duration{ + Seconds: -1, + Nanos: -1, + }, + dur2: &durationpb.Duration{ + Seconds: -1, + Nanos: 0, + }, + want: -1, + }, + { + name: "seconds equal and dur1 nanos min values", + dur1: &durationpb.Duration{ + Seconds: ormfield.DurationSecondsMin, + Nanos: ormfield.DurationNanosMin, + }, + dur2: &durationpb.Duration{ + Seconds: ormfield.DurationSecondsMin, + Nanos: -1, + }, + want: -1, + }, } for _, tc := range tt { diff --git a/orm/encoding/ormfield/timestamp.go b/orm/encoding/ormfield/timestamp.go index 0049b13f156a..4788f390848a 100644 --- a/orm/encoding/ormfield/timestamp.go +++ b/orm/encoding/ormfield/timestamp.go @@ -11,9 +11,10 @@ import ( // encoding: // - nil is encoded as []byte{0xFF} // - seconds (which can range from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z) is encoded as 5 fixed bytes -// - nanos (which can range from 0 to 999,999,999) is encoded as: -// - []byte{0x0} for zero nanos -// - 4 fixed bytes with the bit mask 0xC0 applied to the first byte +// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such +// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, +// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is +// preserved when comparing the encoded values of two Timestamps. // // When iterating over timestamp indexes, nil values will always be ordered last. // @@ -82,7 +83,13 @@ func encodeNanos(nanosInt int64, w io.Writer) error { nanosBz[i] = byte(nanosInt) nanosInt >>= 8 } - nanosBz[0] |= 0xC0 + + // This condition is crucial to ensure the function's correct behavior when dealing with a Timestamp or Duration encoding. + // Specifically, this function is bypassed for Timestamp values when their nanoseconds part is zero. + // In the decodeNanos function, there's a preliminary check for a zero first byte, which represents all values ≤ 16777215 (00000000 11111111 11111111 11111111). + // Without this adjustment (setting the first byte to 0x80 with is 10000000 in binary format), decodeNanos would incorrectly return 0 for any number ≤ 16777215, + // leading to inaccurate decoding of nanoseconds. + nanosBz[0] |= 0x80 _, err := w.Write(nanosBz[:]) return err } @@ -158,7 +165,11 @@ func decodeNanos(r Reader) (int32, error) { return 0, io.EOF } - nanos := int32(b0) & 0x3F // clear first two bits + // Clear the first bit, previously set in encodeNanos, to ensure this logic is applied + // and for numbers ≤ 16777215. This adjustment guarantees that we accurately interpret + // the value as intended when encoding smaller numbers. + nanos := int32(b0) & 0x7F + for i := 0; i < 3; i++ { nanos <<= 8 nanos |= int32(nanosBz[i]) @@ -264,3 +275,133 @@ func (t TimestampV0Codec) FixedBufferSize() int { func (t TimestampV0Codec) ComputeBufferSize(protoreflect.Value) (int, error) { return t.FixedBufferSize(), nil } + +type TimestampV1Codec struct{} + +func (t TimestampV1Codec) Encode(value protoreflect.Value, w io.Writer) error { + // nil case + if !value.IsValid() { + _, err := w.Write(timestampDurationNilBz) + return err + } + + seconds, nanos := getTimestampSecondsAndNanos(value) + secondsInt := seconds.Int() + if secondsInt < TimestampSecondsMin || secondsInt > TimestampSecondsMax { + return fmt.Errorf("timestamp seconds is out of range %d, must be between %d and %d", secondsInt, TimestampSecondsMin, TimestampSecondsMax) + } + secondsInt -= TimestampSecondsMin + err := encodeSeconds(secondsInt, w) + if err != nil { + return err + } + + nanosInt := nanos.Int() + if nanosInt == 0 { + _, err = w.Write(timestampZeroNanosBz) + return err + } + + if nanosInt < 0 || nanosInt > TimestampNanosMax { + return fmt.Errorf("timestamp nanos is out of range %d, must be between %d and %d", secondsInt, 0, TimestampNanosMax) + } + + return encodeNanosV1(nanosInt, w) +} + +func (t TimestampV1Codec) Decode(r Reader) (protoreflect.Value, error) { + isNil, seconds, err := decodeSeconds(r) + if isNil || err != nil { + return protoreflect.Value{}, err + } + + seconds += TimestampSecondsMin + + msg := timestampMsgType.New() + msg.Set(timestampSecondsField, protoreflect.ValueOfInt64(seconds)) + + nanos, err := decodeNanosV1(r) + if err != nil { + return protoreflect.Value{}, err + } + + if nanos == 0 { + return protoreflect.ValueOfMessage(msg), nil + } + + msg.Set(timestampNanosField, protoreflect.ValueOfInt32(nanos)) + return protoreflect.ValueOfMessage(msg), nil +} + +func (t TimestampV1Codec) Compare(v1, v2 protoreflect.Value) int { + if !v1.IsValid() { + if !v2.IsValid() { + return 0 + } + return 1 + } + + if !v2.IsValid() { + return -1 + } + + s1, n1 := getTimestampSecondsAndNanos(v1) + s2, n2 := getTimestampSecondsAndNanos(v2) + c := compareInt(s1, s2) + if c != 0 { + return c + } + + return compareInt(n1, n2) +} + +func (t TimestampV1Codec) IsOrdered() bool { + return true +} + +func (t TimestampV1Codec) FixedBufferSize() int { + return timestampDurationBufferSize +} + +func (t TimestampV1Codec) ComputeBufferSize(protoreflect.Value) (int, error) { + return timestampDurationBufferSize, nil +} + +func encodeNanosV1(nanosInt int64, w io.Writer) error { + var nanosBz [4]byte + for i := 3; i >= 0; i-- { + nanosBz[i] = byte(nanosInt) + nanosInt >>= 8 + } + nanosBz[0] |= 0xC0 + _, err := w.Write(nanosBz[:]) + return err +} + +func decodeNanosV1(r Reader) (int32, error) { + b0, err := r.ReadByte() + if err != nil { + return 0, err + } + + if b0 == timestampDurationZeroNanosValue { + return 0, nil + } + + var nanosBz [3]byte + n, err := r.Read(nanosBz[:]) + if err != nil { + return 0, err + } + if n < 3 { + return 0, io.EOF + } + + nanos := int32(b0) & 0x3F // clear first two bits + for i := 0; i < 3; i++ { + nanos <<= 8 + nanos |= int32(nanosBz[i]) + } + + return nanos, nil +} From 6d2189ad7fe362a3cd0665b7c01f152b6bf62781 Mon Sep 17 00:00:00 2001 From: bytesingsong Date: Wed, 5 Jun 2024 16:14:29 +0900 Subject: [PATCH 09/41] chore: fix some wrong comments (#20543) Signed-off-by: bytesingsong --- store/wrapper/wrapper.go | 2 +- x/epochs/types/hooks.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/store/wrapper/wrapper.go b/store/wrapper/wrapper.go index 5ccb4aef4698..33b195e706ec 100644 --- a/store/wrapper/wrapper.go +++ b/store/wrapper/wrapper.go @@ -7,7 +7,7 @@ import ( var _ idb.DB = &DBWrapper{} -// DBwrapper is a simple wrapper of dbm.DB that implements the iavl.DB interface. +// DBWrapper is a simple wrapper of dbm.DB that implements the iavl.DB interface. type DBWrapper struct { dbm.DB } diff --git a/x/epochs/types/hooks.go b/x/epochs/types/hooks.go index 7f7232b3d661..28ec99409d45 100644 --- a/x/epochs/types/hooks.go +++ b/x/epochs/types/hooks.go @@ -46,7 +46,7 @@ func (h MultiEpochHooks) BeforeEpochStart(ctx context.Context, epochIdentifier s return errs } -// StakingHooksWrapper is a wrapper for modules to inject StakingHooks using depinject. +// EpochHooksWrapper is a wrapper for modules to inject EpochHooks using depinject. type EpochHooksWrapper struct{ EpochHooks } // IsOnePerModuleType implements the depinject.OnePerModuleType interface. From 0ba790645b7f1617220f9ec53409384b986ac722 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 09:42:20 +0200 Subject: [PATCH 10/41] build(deps): Bump golang.org/x/crypto from 0.23.0 to 0.24.0 (#20542) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- client/v2/go.mod | 10 +++++----- client/v2/go.sum | 20 ++++++++++---------- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- runtime/v2/go.mod | 6 +++--- runtime/v2/go.sum | 12 ++++++------ server/v2/cometbft/go.mod | 10 +++++----- server/v2/cometbft/go.sum | 20 ++++++++++---------- simapp/go.mod | 10 +++++----- simapp/go.sum | 20 ++++++++++---------- store/go.mod | 6 +++--- store/go.sum | 12 ++++++------ store/v2/go.mod | 6 +++--- store/v2/go.sum | 12 ++++++------ tests/go.mod | 10 +++++----- tests/go.sum | 20 ++++++++++---------- tests/systemtests/go.mod | 8 ++++---- tests/systemtests/go.sum | 20 ++++++++++---------- tools/confix/go.mod | 8 ++++---- tools/confix/go.sum | 20 ++++++++++---------- tools/cosmovisor/go.mod | 8 ++++---- tools/cosmovisor/go.sum | 16 ++++++++-------- tools/hubl/go.mod | 8 ++++---- tools/hubl/go.sum | 20 ++++++++++---------- x/accounts/defaults/lockup/go.mod | 10 +++++----- x/accounts/defaults/lockup/go.sum | 20 ++++++++++---------- x/accounts/go.mod | 10 +++++----- x/accounts/go.sum | 20 ++++++++++---------- x/auth/go.mod | 10 +++++----- x/auth/go.sum | 20 ++++++++++---------- x/authz/go.mod | 10 +++++----- x/authz/go.sum | 20 ++++++++++---------- x/bank/go.mod | 10 +++++----- x/bank/go.sum | 20 ++++++++++---------- x/circuit/go.mod | 10 +++++----- x/circuit/go.sum | 20 ++++++++++---------- x/consensus/go.mod | 10 +++++----- x/consensus/go.sum | 20 ++++++++++---------- x/distribution/go.mod | 10 +++++----- x/distribution/go.sum | 20 ++++++++++---------- x/epochs/go.mod | 10 +++++----- x/epochs/go.sum | 20 ++++++++++---------- x/evidence/go.mod | 10 +++++----- x/evidence/go.sum | 20 ++++++++++---------- x/feegrant/go.mod | 10 +++++----- x/feegrant/go.sum | 20 ++++++++++---------- x/gov/go.mod | 10 +++++----- x/gov/go.sum | 20 ++++++++++---------- x/group/go.mod | 10 +++++----- x/group/go.sum | 20 ++++++++++---------- x/mint/go.mod | 10 +++++----- x/mint/go.sum | 20 ++++++++++---------- x/nft/go.mod | 10 +++++----- x/nft/go.sum | 20 ++++++++++---------- x/params/go.mod | 10 +++++----- x/params/go.sum | 20 ++++++++++---------- x/protocolpool/go.mod | 10 +++++----- x/protocolpool/go.sum | 20 ++++++++++---------- x/slashing/go.mod | 10 +++++----- x/slashing/go.sum | 20 ++++++++++---------- x/staking/go.mod | 10 +++++----- x/staking/go.sum | 20 ++++++++++---------- x/upgrade/go.mod | 10 +++++----- x/upgrade/go.sum | 20 ++++++++++---------- 64 files changed, 456 insertions(+), 456 deletions(-) diff --git a/client/v2/go.mod b/client/v2/go.mod index e74d1799a190..d6711448e2e8 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -154,15 +154,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/client/v2/go.sum b/client/v2/go.sum index c51bc436a0e6..4c9a5984d325 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -513,8 +513,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -598,19 +598,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -623,8 +623,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/go.mod b/go.mod index 7cfb65640f21..9e5747ed2e92 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tendermint/go-amino v0.16.0 gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b - golang.org/x/crypto v0.23.0 + golang.org/x/crypto v0.24.0 golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc golang.org/x/sync v0.7.0 google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 @@ -165,10 +165,10 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 0cd7a5e3b4e0..b73fa8e343f1 100644 --- a/go.sum +++ b/go.sum @@ -504,8 +504,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -583,19 +583,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -607,8 +607,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index fba472ccc052..17314ddddd52 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -82,11 +82,11 @@ require ( github.com/stretchr/testify v1.9.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tidwall/btree v1.7.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index edee784f3e4e..1c3e3a354352 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -223,8 +223,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -273,16 +273,16 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 3b635b154a92..8992e61a3d1b 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -172,15 +172,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index b3d690881b44..8dd74fa9a912 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -506,8 +506,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -587,19 +587,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -611,8 +611,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/simapp/go.mod b/simapp/go.mod index 9be498d6794d..517e6a144dfe 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -205,17 +205,17 @@ require ( go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/trace v1.25.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.19.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/api v0.175.0 // indirect google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be // indirect diff --git a/simapp/go.sum b/simapp/go.sum index 268ecb0adaa1..213a12e1d370 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -851,8 +851,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1073,13 +1073,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1090,8 +1090,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1153,8 +1153,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/store/go.mod b/store/go.mod index 8dad25d657bf..e6ad31a4a44d 100644 --- a/store/go.mod +++ b/store/go.mod @@ -72,10 +72,10 @@ require ( github.com/rs/zerolog v1.33.0 // indirect github.com/spf13/cast v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/store/go.sum b/store/go.sum index bcae1b39bcee..f3579866f485 100644 --- a/store/go.sum +++ b/store/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -287,14 +287,14 @@ golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= diff --git a/store/v2/go.mod b/store/v2/go.mod index 848514341126..96216612ee5a 100644 --- a/store/v2/go.mod +++ b/store/v2/go.mod @@ -52,10 +52,10 @@ require ( github.com/prometheus/procfs v0.13.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.33.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/store/v2/go.sum b/store/v2/go.sum index 3d17657ab441..f72b00dc8ae6 100644 --- a/store/v2/go.sum +++ b/store/v2/go.sum @@ -213,8 +213,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f h1:3CW0unweImhOzd5FmYuRsD4Y4oQFKZIjAnKbjV4WIrw= golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -263,16 +263,16 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= diff --git a/tests/go.mod b/tests/go.mod index 8d30a7df455b..0ef2ae7fc731 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -204,17 +204,17 @@ require ( go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/trace v1.25.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.19.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/api v0.175.0 // indirect google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be // indirect diff --git a/tests/go.sum b/tests/go.sum index 30144e41fb75..4173b397ae9e 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -842,8 +842,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1063,13 +1063,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1080,8 +1080,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1144,8 +1144,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index 4ecfeb1d6801..7003f45b1435 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -144,12 +144,12 @@ require ( github.com/zondax/ledger-go v0.14.3 // indirect go.etcd.io/bbolt v1.3.8 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 017dd06b51e4..0a7758bfa020 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -766,8 +766,8 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= @@ -884,20 +884,20 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -920,8 +920,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/tools/confix/go.mod b/tools/confix/go.mod index b6794cc780fe..1259b19b09d0 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -138,12 +138,12 @@ require ( github.com/zondax/ledger-go v0.14.3 // indirect go.etcd.io/bbolt v1.3.8 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/tools/confix/go.sum b/tools/confix/go.sum index 2058f59f0c5d..6879ede41322 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -762,8 +762,8 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= @@ -882,20 +882,20 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -919,8 +919,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index caa86cd90a98..db25a3978c5f 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -160,14 +160,14 @@ require ( go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/trace v1.25.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.19.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.175.0 // indirect google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index f3fd881c1ac0..3e5d55b7d7c1 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -1049,8 +1049,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1288,13 +1288,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1305,8 +1305,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index 0bffa44e7fb1..65edd087ac77 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -138,13 +138,13 @@ require ( github.com/zondax/ledger-go v0.14.3 // indirect go.etcd.io/bbolt v1.3.8 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index 399b8e9651db..9369f5927e1a 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -761,8 +761,8 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= @@ -879,20 +879,20 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -915,8 +915,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 0130df405c04..948f5947b680 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -145,15 +145,15 @@ require ( gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 3405685c11ce..5f452dce0474 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -480,8 +480,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -560,19 +560,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -584,8 +584,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index c38ddb371009..ca4239fe365f 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -148,15 +148,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/x/accounts/go.sum b/x/accounts/go.sum index ad46f1c30cc4..06eeef001432 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -504,8 +504,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -585,19 +585,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -609,8 +609,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/auth/go.mod b/x/auth/go.mod index 934a07cf8d83..25b8922d921d 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -154,14 +154,14 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/auth/go.sum b/x/auth/go.sum index f7cae65f457a..7caa03e6e325 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -505,8 +505,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -588,19 +588,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -613,8 +613,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/authz/go.mod b/x/authz/go.mod index bc9817dcde77..66381f416b93 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -151,15 +151,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/authz/go.sum b/x/authz/go.sum index f7cae65f457a..7caa03e6e325 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -505,8 +505,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -588,19 +588,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -613,8 +613,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/bank/go.mod b/x/bank/go.mod index e4c5fa2d3cc9..a478936ae7fa 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -150,15 +150,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/bank/go.sum b/x/bank/go.sum index f7cae65f457a..7caa03e6e325 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -505,8 +505,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -588,19 +588,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -613,8 +613,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index 4c237d12aa4f..787a66f64ea8 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -149,15 +149,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/circuit/go.sum b/x/circuit/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index 790d6ea5aca7..ce0a723ad372 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -148,15 +148,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 3a113ceb8cfd..e7bc1ba9cfaa 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -509,8 +509,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -592,19 +592,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -617,8 +617,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index f6c51835a97c..d9be9aa5ed5b 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -154,15 +154,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/distribution/go.sum b/x/distribution/go.sum index f6752fd48b42..7a5b4108e21b 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index dc6511e919d4..bcca2931f9b3 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -145,15 +145,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 diff --git a/x/epochs/go.sum b/x/epochs/go.sum index ccd3d74ad276..f370f35e1c94 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -506,8 +506,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -587,19 +587,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -611,8 +611,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 416896314f6d..fcb130afbfd4 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -150,15 +150,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/evidence/go.sum b/x/evidence/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index fba89cdfd9c4..b39a9414605b 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -156,15 +156,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 58f6de7fc643..6bd72b5a9759 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -515,8 +515,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -600,19 +600,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -625,8 +625,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/gov/go.mod b/x/gov/go.mod index 6476f227b996..05ca454600ac 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -156,14 +156,14 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/gov/go.sum b/x/gov/go.sum index 93604c4bdb9d..6888a9a1c319 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -513,8 +513,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -598,19 +598,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -623,8 +623,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/group/go.mod b/x/group/go.mod index a7673b91e87c..d9b64079ac5e 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -159,14 +159,14 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/group/go.sum b/x/group/go.sum index 321194383aea..4dcc2a875335 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -515,8 +515,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -600,19 +600,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -625,8 +625,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/mint/go.mod b/x/mint/go.mod index c9410a0599ff..a1a0a98bea37 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -139,15 +139,15 @@ require ( gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/mint/go.sum b/x/mint/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/nft/go.mod b/x/nft/go.mod index 3b9c17042783..86dd7edac171 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -149,15 +149,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/nft/go.sum b/x/nft/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/params/go.mod b/x/params/go.mod index 3a34cb65d1ee..15e36a68df32 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -150,15 +150,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/protobuf v1.34.1 // indirect diff --git a/x/params/go.sum b/x/params/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index e6c48a93e493..da3799fd40c9 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -151,15 +151,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index cd859786f432..888e76f50cdf 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -590,19 +590,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -615,8 +615,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index 179fe0a921ef..b90f6818a9fe 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -152,15 +152,15 @@ require ( go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/slashing/go.sum b/x/slashing/go.sum index be31a4020244..967e2932ed23 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -509,8 +509,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -592,19 +592,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -617,8 +617,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/staking/go.mod b/x/staking/go.mod index 608412fb23ab..deca521ef49e 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -139,14 +139,14 @@ require ( gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect go.etcd.io/bbolt v1.4.0-alpha.0.0.20240404170359-43604f3112c5 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/x/staking/go.sum b/x/staking/go.sum index f7cae65f457a..7caa03e6e325 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -505,8 +505,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= 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= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -588,19 +588,19 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -613,8 +613,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 3e865da38faa..d4b90eaa110e 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -179,17 +179,17 @@ require ( go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/trace v1.25.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.19.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/api v0.175.0 // indirect google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 086ba9eb033b..7c3c7f971bde 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -844,8 +844,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1065,13 +1065,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1082,8 +1082,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1146,8 +1146,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= 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= From 0536cb490f50d8e026978686d11ca6eda4307663 Mon Sep 17 00:00:00 2001 From: Marko Date: Wed, 5 Jun 2024 11:26:47 +0200 Subject: [PATCH 11/41] chore: cleanup stf deps (#20545) --- server/v2/cometbft/go.mod | 4 ---- server/v2/cometbft/go.sum | 4 ++++ server/v2/stf/go.mod | 6 ------ server/v2/stf/go.sum | 22 ---------------------- server/v2/stf/stf.go | 2 +- 5 files changed, 5 insertions(+), 33 deletions(-) diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 8992e61a3d1b..1fba08fcfada 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -6,18 +6,14 @@ replace ( cosmossdk.io/api => ../../../api cosmossdk.io/core => ../../../core cosmossdk.io/depinject => ../../../depinject - cosmossdk.io/log => ../../../log - cosmossdk.io/runtime/v2 => ../../../runtime/v2 cosmossdk.io/server/v2 => ../ cosmossdk.io/server/v2/appmanager => ../appmanager - cosmossdk.io/server/v2/stf => ../stf cosmossdk.io/store/v2 => ../../../store/v2 cosmossdk.io/x/accounts => ../../../x/accounts cosmossdk.io/x/auth => ../../../x/auth cosmossdk.io/x/bank => ../../../x/bank cosmossdk.io/x/consensus => ../../../x/consensus cosmossdk.io/x/staking => ../../../x/staking - cosmossdk.io/x/tx => ../../../x/tx github.com/cosmos/cosmos-sdk => ../../../ ) diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index 8dd74fa9a912..c7af00cc31cc 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -8,12 +8,16 @@ cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= +cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+D7cNLnX2JrUOQNoIPaF0Bg= cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= +cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= +cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/server/v2/stf/go.mod b/server/v2/stf/go.mod index aff1d67a2c72..da1c149ea856 100644 --- a/server/v2/stf/go.mod +++ b/server/v2/stf/go.mod @@ -6,7 +6,6 @@ replace cosmossdk.io/core => ../../../core require ( cosmossdk.io/core v0.11.0 - cosmossdk.io/log v1.3.1 github.com/cosmos/gogoproto v1.4.12 github.com/stretchr/testify v1.9.0 github.com/tidwall/btree v1.7.0 @@ -18,11 +17,6 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/kr/text v0.1.0 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rs/zerolog v1.33.0 // indirect - golang.org/x/sys v0.20.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/server/v2/stf/go.sum b/server/v2/stf/go.sum index 3c1bd5f7a7c6..0d5f8da95b33 100644 --- a/server/v2/stf/go.sum +++ b/server/v2/stf/go.sum @@ -1,11 +1,7 @@ -cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= -cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -13,32 +9,16 @@ github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3x github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= -github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -46,5 +26,3 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= -gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= diff --git a/server/v2/stf/stf.go b/server/v2/stf/stf.go index 57535d12d25d..4848a8c765ab 100644 --- a/server/v2/stf/stf.go +++ b/server/v2/stf/stf.go @@ -10,9 +10,9 @@ import ( "cosmossdk.io/core/event" "cosmossdk.io/core/gas" "cosmossdk.io/core/header" + "cosmossdk.io/core/log" "cosmossdk.io/core/store" "cosmossdk.io/core/transaction" - "cosmossdk.io/log" stfgas "cosmossdk.io/server/v2/stf/gas" "cosmossdk.io/server/v2/stf/internal" ) From b66de382e46ad09cf577590d09a206cd6c10bf59 Mon Sep 17 00:00:00 2001 From: lido333 Date: Wed, 5 Jun 2024 17:33:21 +0800 Subject: [PATCH 12/41] chore: remove duplicate word (#20544) --- x/staking/testutil/helpers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/testutil/helpers.go b/x/staking/testutil/helpers.go index bf2a0e985f11..8976c6a684b5 100644 --- a/x/staking/testutil/helpers.go +++ b/x/staking/testutil/helpers.go @@ -80,7 +80,7 @@ func (sh *Helper) createValidator(addr sdk.ValAddress, pk cryptotypes.PubKey, co } } -// Delegate calls staking module staking module `MsgServer/Delegate` to delegate stake for a validator +// Delegate calls staking module `MsgServer/Delegate` to delegate stake for a validator func (sh *Helper) Delegate(delegator, val string, amount math.Int) { coin := sdk.NewCoin(sh.Denom, amount) msg := stakingtypes.NewMsgDelegate(delegator, val, coin) From 80ba18e39e21bf1c324cc39e54cf6ae2ab2364a8 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 5 Jun 2024 05:33:47 -0400 Subject: [PATCH 13/41] docs: ADR 073: Built-in Indexer (#20532) --- docs/architecture/adr-073-indexer.md | 134 +++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 docs/architecture/adr-073-indexer.md diff --git a/docs/architecture/adr-073-indexer.md b/docs/architecture/adr-073-indexer.md new file mode 100644 index 000000000000..b162635aa922 --- /dev/null +++ b/docs/architecture/adr-073-indexer.md @@ -0,0 +1,134 @@ +# ADR 073: Built-in In-process Indexer + +## Changelog + +* 2024-06-03: Initial draft (@aaronc) + +## Status + +PROPOSED Not Implemented + +## Abstract + +This ADR proposes developing a built-in query indexer framework for Cosmos SDK applications that leverages `collections` and `orm` schemas to index on-chain state and events into a PostgreSQL database, or another database if applications prefer. This indexer should be designed to be run in-process with the Cosmos SDK node with guaranteed delivery and provide a full-featured query interface for clients. + +## Context + +Historically in Cosmos SDK applications, the needs of clients have been intertwined with the needs of state machine +logic. While the state machine logic itself may only require certain pieces of state data, if client applications +need additional data, this data has usually been added to the state. One example is adding additional secondary +indexes and query endpoints that are only needed for client queries, such as the bank reverse denom index. This +can add to state bloat and complicate the state machine logic. + +While Cosmos SDK applications try their best to support client needs, the query experience provided by the gRPC +queries provided by modules is always sub-par compared to a real database dedicated to queries. On-chain queries +tend to be slow, and it is impossible to optimize query performance by adding additional indexes without burdening +on-chain state. Most sophisticated client applications build their own off-chain indexers to provide the queries they +need, but these are often highly application specific and not reusable. The Cosmos SDK has attempted to provide some +additional infrastructure to support indexers such as [ADR 038: State Listening](./adr-038-state-listening.md), but +this still requires the creation of lots of custom infrastructure. + +Now that the [collections](./adr-062-collections-state-layer.md) and [orm](./adr-055-orm.md) frameworks exist and many SDK modules have been migrated to use them, we can do better by providing a built-in indexer that is easy to deploy, handles 90% of client query needs out of the box, and is easy to extend for the remaining 10% of needs. + +In considering the design of built-in support, in discussions we have considered the needs of UI application developers, node operators and application and module developers. The following user stories have been identified as _ideal_ features, with the understanding that the SDK can likely only provide a subset of these features, but should aim for the best balance. + +When considering the needs of developers building UI applications, the following desirable features have been identified: +* U1: quickly querying the current on-chain state with any sort of filtering, sorting and pagination the client desires with the ability to optimize queries with custom indexes. +* U2: data should be available in client friendly formats, for instance even if addresses are stored as bytes in state, clients should be available to view and query bech32 encoded addresses. +* U3: state that was pruned from on-chain state to save space but is still otherwise valid (such as completed proposals and votes) should be queryable. +* U4: a full log of changes for each entity should be available, including: + * U4.1: semantic information about each change (i.e. events), i.e. not just balance went up or down, but why (transfer, withdraw rewards, etc.) + * U4.2: links to the block, transaction and message which produced the change + * U4.3: the ability to see the version of the entity at the time of the change +* U5: the query index should be consistent, meaning that UI applications should not need to be concerned with the possibility that the index has missed indexing some blocks or events + +When considering the needs of node operators, the following desirable features have been identified: +* N1: nodes shouldn't *need* to store indexes or events that are only needed for client queries, i.e. it should be possible to run a lean node +* N2: it should be possible to quickly spin up a node with the query index without tons of custom infrastructure and coding, i.e. this should be strictly configuration change and a bit of devops. It should be possible to configure the index to contain just state, just events, or both. +* N3: it should be possible to build up an almost complete query index starting from any point in time without necessarily needing to replay a full chain's history (with the understanding that some historical data may be missing) + +Finally, when considering the needs of application and module developers, the following desirable features have been identified: +* A1: enabling support for query indexing should require minimal tweaking to app boilerplate and configurable by node operators (off by default). +* A2: it should be possible to index applications built with older versions of the SDK (including v0.47 and v0.50, possibly earlier) without major changes. +* A3: module developers should mostly just need to use the collections and orm frameworks to get their data indexed, with minimal additional work. +* A4: there should be hooks available to module developers for extending the built-in indexing functionality. +* A5: the built-in indexer framework should allow newer modules to entirely or mostly skip building custom gRPC queries to satisfy client needs and modules should no longer need to add indexes only for client use, i.e. the indexer framework should essentially be a complete replacement for the gRPC query system (with inter-module query needs being considered a separate concern). + +## Decision + +We have decided to build a built-in query indexer for Cosmos SDK applications that is structured as two components: +1. a state decoder that takes data from `collections` and `orm` and provides an indexable version of that data to an actual indexer +2. a PostgreSQL-based indexer implementation that can be run in-process with the Cosmos SDK node + +This infrastructure should be built upon the existing [ADR 038: State Listening](./adr-038-state-listening.md) functionality as much as possible and integrating it into existing apps should require minimal changes. These components should work with any SDK application that is built against v0.47 or v0.50 and possibly earlier versions of the SDK. + +### State Decoder + +The state decoder framework should expose a way for modules using `collections` or `orm` to expose their state schemas so that the state decoder can take data exposed by state listening and decode it into logical packets which can consumed by an indexer. It should define an interface that an indexer implements to consume these packets. This framework should be designed to run in-process within a Cosmos SDK node with guaranteed delivery and consistency (satisfying `U5`). While concurrency should be used to optimize performance, there should be a guarantee that if a block is committed, that it was also indexed. This framework should also allow indexers to consume block, transaction, and event data and optionally index these. + +At its core, the state decoder framework shouldn't make any assumptions about what database the indexer is targeting. While a built-in indexer will be provided (discussed below), a developer may choose to write an indexer targeting another database and the state decoder framework should be flexible enough to support this. + +The state decoder should provide hooks for handling custom data types (to support `U2`), in particular addresses so that indexers can store these in their bech32 string format when they are actually stored as bytes in state. + +Some changes to `collections` will be needed in order to expose for decoding functionality and saner naming of map keys and values. These can likely be made in a non-breaking way and any features that allow for better key and value naming would be opt-in. For both `collections` and `orm`, we will need a lightweight way to expose these schemas on `AppModule`s. + +To support `U3`, `collections` and `orm` can add "prune" methods that allow the indexer framework to distinguish pruning from deletion so that the query index could for instance retain historical proposals and votes from `x/gov` while these get deleted in state. Alternatively, configuration flags could be used to instruct the indexer to retain certain types of data - these could be configured at the module or node level. + +In order to support indexing from any height (`N3`), the state decoder will need the ability to read the full state at the height at which indexing started and also keep track of which blocks have been indexed. + +### PostgreSQL Indexer + +PostgreSQL has been chosen as the target database for the built-in indexer component because it is widely used, has a rich feature set and is a favorite choice in the open-source community. It is easy to deploy and there are fully managed hosting services that can be used. In addition, the PostgreSQL community has a number of mature frameworks that expose a complete REST or GraphQL query interface for clients with zero code such as [PostgREST](https://postgrest.org/), [PostGraphile](https://www.graphile.org/postgraphile/), [Hasura](https://hasura.io) and [Supabase](https://supabase.com). By combining a PostgreSQL database with one of these "Backend as a Service" frameworks, Web 2.0 client applications can basically be built without any special backend code other than the database schema itself. We can take advantage of this functionality to provide a full-featured query interface for web clients with minimal effort as soon as we can get the data into PostgreSQL. + +The PostgreSQL indexer should provide sane default mappings of all `collections` and `orm` types to SQL tables. It should also allow for hooks in modules to write migrations in the SQL schema whenever there are migrations in a module's state so that these can stay in sync. + +Blocks, transactions and events should be stored as rows in PostgreSQL tables when this is enabled by the node operator. This data should come directly from the state decoder framework without needing to go through Comet. + +For a full batteries included, client friendly query experience, a GraphQL endpoint should be exposed in the HTTP server for any PostgreSQL database that has the [Supabase pg_graphql](https://github.com/supabase/pg_graphql) extension enabled. `pg_graphql` will expose rich GraphQL queries for all PostgreSQL tables with zero code that support filtering, pagination, sorting and traversing foreign key references. (Support for defining foreign keys with `collections` and `orm` could be added in the future to take advantage of this). In addition, a [GraphiQL](https://github.com/graphql/graphiql) query explorer endpoint can be exposed to simplify client development. + +With this setup, a node operator would only need to 1) setup a PostgresSQL database with the `pg_graphql` extension and 2) enable the query indexer in the configuration in order to provide a full-featured query experience to clients. Because PostgreSQL is a full-featured database, node operators can enable any sort of custom indexes or views that are needed for their specific application with no need for this to affect the state machine or any other nodes. + + +## Alternatives + +The following alternatives were considered: +* support any SQL database not just PostgreSQL using a framework like [GORM](https://gorm.io/). While this would be more flexible, it would be slower, require heavy usage of golang reflection and might limit how much we can take advantage of PostgreSQL's unique features for little benefit (the assumption being that most users would choose PostgreSQL anyway and or be happy enough that we made that choice). +* don't support any specific database, but just build the decoder framework. While this would simplify our efforts in the short-term, it still doesn't provide a full-featured solution and requires others to build out the key infrastructure similar to [ADR 038](adr-038-state-listening.md). This limbo state would not allow the SDK to definitely make key optimizations to state layout and simple the task of module development in a definitive way by providing a full replacement for gRPC client queries. +* target a database with full historical query support like [Datomic](https://www.datomic.com). This requires a bunch of custom infrastructure and would expose a powerful, yet unfamiliar query language to users. +* advocate an event sourcing design and build an event sourcing based indexer which would recompute state based on the event log. This is also discussed more below and is considered a complementary idea that can provide better support for historical change logs. Considering event sourcing as a full alternative to a state-based indexer, however, would require a lot of module refactoring, likely custom code, and wouldn't take advantage of the work we've already done in supporting state schemas through `collections` and `orm`. +* build a full-featured out-of-process indexer based on ADR 038 and changelog files. This was another design initially considered, but it requires additional infrastructure and processes. In particular, it also requires a full decodable schema for `collections` which at the moment is fairly complex. It is easier to use the `collections` schemas already in the binary to do indexing rather than create a whole schema definition language for a separate process to consume. Also we want to provide a more batteries-included experience for users and in particular satisfy `N2`. If creating a full query index is easier, it makes everyone's life easier. +* build a GraphQL client on top of the existing state store. This was considered, but it would be slow and not provide the full-featured query experience that a real database can provide. It would still require client only indexes in state, it would be hard to configure custom indexes and views, and would likely require building or reusing a full query planner. In the end, using a real database is easier to build and provides a better experience for clients. + +## Consequences + +### Backwards Compatibility + +We believe that these features can be built to target SDK versions v0.47, v0.50 and possibly earlier without breaking changes. + +### Positive + +Considering the user stories identified in the context section, we believe that the proposed design can meet all the user stories identified, except `U4`. Overall, the proposed design should provide a full query experience that is in most ways better than what is provided by the existing gRPC query infrastructure, is easy to deploy and manage, and easy to extend for custom needs. It also simplifies the job of writing a module because module developers mostly do not need to worry about writing query endpoints or other client concerns besides making sure that the design and naming of `collections` and `orm` schemas is client friendly. + +Also, because we are separating the design into decoder and indexer components, it should be possible to write indexers targeting other databases besides PostgreSQL using the decoder framework. While the built-in PostgreSQL indexer should provide a good battery-included experience for most users, this design also supports users wanting to target other databases. + +### Negative + +If module developers choose to deprecate support for some or all gRPC queries then this will be a breaking change for clients. The resulting query experience should be better, but it will require significant changes. This ADR doesn't advocate deprecating these queries, but it could encourage developers to go in that direction. To mitigate this concern, we encourage module authors to consider the client developer impact as they make decisions about deleting existing indexes and queries. + +Also, this design does impose the requirement that module developers use `collections` and `orm` to get their data indexed. While we believe that these frameworks are the best way to structure state in the SDK, some developers may not want to refactor their code to use them. This design does not provide a way to index state that is not structured with `collections` or `orm`, although that support could be added in the future to the decoder framework. + +Furthermore, this design does require that node operators that want to support the new infrastructure run a PostgreSQL database. While we believe that this will actually be better from an infrastructure perspective - PostgreSQL should be able to serve queries significantly faster than the state machine can - it does require additional infrastructure and knowledge for query node operators. + +### Neutral + +Regarding `U4`, if event indexing is enabled, then it could be argued that `U4.1` is met, but whether this is _actually_ met depends heavily on how well modules structure their events. `U4.2` and `U4.3` likely require a full archive node which is out of scope of this design. One alternative which satisfies `U4.2` and `U4.3` would be targeting a database with historical data, such as [Datomic](https://www.datomic.com). However, this requires some pretty custom infrastructure and exposes a query interface which is unfamiliar for most users. Also, if events aren't properly structured, `U4.1` still really isn't met. A simpler alternative would be for module developers to follow an event sourcing design more closely so that historical state for any entity could be derived from the history of events. This event sourcing could even be done in client applications themselves by querying all the events relevant to an entity (such as a balance). This topic may be covered in more detail in a separate document in the future and may come down to best practices combined, with maybe a bit of framework support. However, in general satisfying `U4` (other than support event indexing) is mostly concerned out of the scope of the design, because it is either much more complex from an infrastructure perspective (full archive node or custom database like Datomic) or easy to solve with good event design. + +## Further Discussions + +Further discussions can take place on GitHub as needed. + +## References + +* [ADR 038: State Listening](./adr-038-state-listening.md) +* [ADR 055: ORM](./adr-055-orm.md) +* [ADR 062: Collections](./adr-062-collections-state-layer.md) From fe22e9a5da5dc7c130c679e536a95b8d1d4434e0 Mon Sep 17 00:00:00 2001 From: testinginprod <98415576+testinginprod@users.noreply.github.com> Date: Thu, 6 Jun 2024 00:11:33 +0200 Subject: [PATCH 14/41] feat(core): add coretest package (#20487) Co-authored-by: unknown unknown --- .github/dependabot.yml | 9 + .github/pr_labeler.yml | 2 + .github/workflows/test.yml | 30 +++ client/v2/go.mod | 1 + collections/collections_test.go | 41 +-- collections/colltest/store.go | 61 ----- collections/go.mod | 42 +-- collections/go.sum | 189 +------------ collections/indexed_map_test.go | 7 +- collections/indexes/indexes_test.go | 44 +-- collections/lookup_map_test.go | 5 +- collections/triple_test.go | 4 +- core/testing/CHANGELOG.md | 38 +++ core/testing/context.go | 31 +++ core/testing/go.mod | 18 ++ core/testing/go.sum | 17 ++ core/testing/memdb.go | 254 ++++++++++++++++++ core/testing/memdb_test.go | 59 ++++ core/testing/services_test.go | 35 +++ core/testing/sonar-project.properties | 16 ++ core/testing/store.go | 27 ++ go.mod | 2 + go.work.example | 1 + server/v2/cometbft/go.mod | 1 + simapp/go.mod | 2 + tests/go.mod | 2 + types/simulation/collections_test.go | 5 +- x/accounts/accountstd/test_util.go | 5 +- x/accounts/defaults/lockup/go.mod | 2 + x/accounts/genesis_test.go | 13 +- x/accounts/go.mod | 2 + .../internal/implementation/context_test.go | 5 +- x/accounts/utils_test.go | 5 +- x/auth/go.mod | 2 + x/auth/migrations/v5/migrate_test.go | 8 +- x/authz/go.mod | 3 + x/bank/go.mod | 3 + x/circuit/go.mod | 1 + x/consensus/go.mod | 2 + x/consensus/go.sum | 2 - x/distribution/go.mod | 1 + x/epochs/go.mod | 1 + x/evidence/go.mod | 1 + x/feegrant/go.mod | 3 + x/gov/go.mod | 3 + x/group/go.mod | 2 + x/mint/go.mod | 1 + x/nft/go.mod | 1 + x/params/go.mod | 1 + x/protocolpool/go.mod | 1 + x/slashing/go.mod | 1 + x/staking/go.mod | 3 + x/upgrade/go.mod | 1 + 53 files changed, 641 insertions(+), 375 deletions(-) delete mode 100644 collections/colltest/store.go create mode 100644 core/testing/CHANGELOG.md create mode 100644 core/testing/context.go create mode 100644 core/testing/go.mod create mode 100644 core/testing/go.sum create mode 100644 core/testing/memdb.go create mode 100644 core/testing/memdb_test.go create mode 100644 core/testing/services_test.go create mode 100644 core/testing/sonar-project.properties create mode 100644 core/testing/store.go diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9fd72f889f80..db7f4be06984 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -61,6 +61,15 @@ updates: labels: - "A:automerge" - dependencies + - package-ecosystem: gomod + directory: "/core/testing" + schedule: + interval: weekly + day: thursday + time: "01:30" + labels: + - "A:automerge" + - dependencies - package-ecosystem: gomod directory: "/depinject" schedule: diff --git a/.github/pr_labeler.yml b/.github/pr_labeler.yml index e8ab68592faa..3dd370bff2c4 100644 --- a/.github/pr_labeler.yml +++ b/.github/pr_labeler.yml @@ -16,6 +16,8 @@ - store/**/* "C:collections": - collections/**/* +"C:core/testing": + - core/testing/**/* "C:log": - log/* "C:orm": diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1d8533b10bc9..d5546eb892c4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -335,6 +335,36 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: core/ + test-coretesting: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "1.20" + check-latest: true + cache: true + cache-dependency-path: core/testing/go.sum + - uses: technote-space/get-diff-action@v6.1.2 + id: git_diff + with: + PATTERNS: | + core/testing/**/*.go + core/testing/go.mod + core/testing/go.sum + - name: tests + if: env.GIT_DIFF + run: | + cd core/testing + go test -mod=readonly -timeout 30m -coverprofile=coverage.out -covermode=atomic -tags='norace ledger test_ledger_mock' ./... + - name: sonarcloud + if: ${{ env.GIT_DIFF && !github.event.pull_request.draft && env.SONAR_TOKEN != null }} + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + with: + projectBaseDir: core/testing/ test-depinject: runs-on: ubuntu-latest diff --git a/client/v2/go.mod b/client/v2/go.mod index d6711448e2e8..c0f72800584b 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -177,6 +177,7 @@ replace github.com/cosmos/cosmos-sdk => ./../../ replace ( cosmossdk.io/api => ./../../api cosmossdk.io/core => ./../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ./../../depinject cosmossdk.io/log => ./../../log cosmossdk.io/store => ./../../store diff --git a/collections/collections_test.go b/collections/collections_test.go index f9a799fbf2ed..e6d6c3f824f8 100644 --- a/collections/collections_test.go +++ b/collections/collections_test.go @@ -5,49 +5,16 @@ import ( "math" "testing" - db "github.com/cosmos/cosmos-db" "github.com/stretchr/testify/require" "cosmossdk.io/core/store" + "cosmossdk.io/core/testing" ) -type testStore struct { - db db.DB -} - -func (t testStore) OpenKVStore(ctx context.Context) store.KVStore { - return t -} - -func (t testStore) Get(key []byte) ([]byte, error) { - return t.db.Get(key) -} - -func (t testStore) Has(key []byte) (bool, error) { - return t.db.Has(key) -} - -func (t testStore) Set(key, value []byte) error { - return t.db.Set(key, value) -} - -func (t testStore) Delete(key []byte) error { - return t.db.Delete(key) -} - -func (t testStore) Iterator(start, end []byte) (store.Iterator, error) { - return t.db.Iterator(start, end) -} - -func (t testStore) ReverseIterator(start, end []byte) (store.Iterator, error) { - return t.db.ReverseIterator(start, end) -} - -var _ store.KVStore = testStore{} - func deps() (store.KVStoreService, context.Context) { - kv := db.NewMemDB() - return &testStore{kv}, context.Background() + ctx := coretesting.Context() + kv := coretesting.KVStoreService(ctx, "test") + return kv, ctx } func TestPrefix(t *testing.T) { diff --git a/collections/colltest/store.go b/collections/colltest/store.go deleted file mode 100644 index d29c3c8729aa..000000000000 --- a/collections/colltest/store.go +++ /dev/null @@ -1,61 +0,0 @@ -package colltest - -import ( - "context" - - db "github.com/cosmos/cosmos-db" - - "cosmossdk.io/core/store" -) - -type contextStoreKey struct{} - -// MockStore returns a mock store.KVStoreService and a mock context.Context. -// They can be used to test collections. The StoreService.NewStoreContext -// can be used to instantiate a new empty KVStore. -func MockStore() (*StoreService, context.Context) { - kv := db.NewMemDB() - ctx := context.WithValue(context.Background(), contextStoreKey{}, &testStore{kv}) - return &StoreService{}, ctx -} - -type StoreService struct{} - -func (s StoreService) OpenKVStore(ctx context.Context) store.KVStore { - return ctx.Value(contextStoreKey{}).(store.KVStore) -} - -func (s StoreService) NewStoreContext() context.Context { - kv := db.NewMemDB() - return context.WithValue(context.Background(), contextStoreKey{}, &testStore{kv}) -} - -type testStore struct { - db db.DB -} - -func (t testStore) Get(key []byte) ([]byte, error) { - return t.db.Get(key) -} - -func (t testStore) Has(key []byte) (bool, error) { - return t.db.Has(key) -} - -func (t testStore) Set(key, value []byte) error { - return t.db.Set(key, value) -} - -func (t testStore) Delete(key []byte) error { - return t.db.Delete(key) -} - -func (t testStore) Iterator(start, end []byte) (store.Iterator, error) { - return t.db.Iterator(start, end) -} - -func (t testStore) ReverseIterator(start, end []byte) (store.Iterator, error) { - return t.db.ReverseIterator(start, end) -} - -var _ store.KVStore = testStore{} diff --git a/collections/go.mod b/collections/go.mod index d07261a4e5b2..75d243f344d0 100644 --- a/collections/go.mod +++ b/collections/go.mod @@ -3,44 +3,19 @@ module cosmossdk.io/collections go 1.21 require ( - cosmossdk.io/core v0.11.0 - github.com/cosmos/cosmos-db v1.0.2 + cosmossdk.io/core v0.12.0 + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 github.com/stretchr/testify v1.9.0 pgregory.net/rapid v1.1.0 ) require ( - cosmossdk.io/api v0.7.5 // indirect - cosmossdk.io/depinject v1.0.0-alpha.4 // indirect - github.com/DataDog/zstd v1.5.5 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/cockroachdb/errors v1.11.1 // indirect - github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect - github.com/cockroachdb/pebble v1.1.0 // indirect - github.com/cockroachdb/redact v1.1.5 // indirect - github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/getsentry/sentry-go v0.27.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/klauspost/compress v1.17.7 // indirect - github.com/kr/pretty v0.3.1 // indirect - github.com/kr/text v0.2.0 // indirect - github.com/linxGnu/grocksdb v1.8.14 // indirect - github.com/onsi/gomega v1.20.0 // indirect - github.com/pkg/errors v0.9.1 // indirect + github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.19.1 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.54.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect - github.com/spf13/cast v1.6.0 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect + github.com/tidwall/btree v1.7.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sys v0.20.0 // indirect @@ -50,3 +25,8 @@ require ( google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +replace ( + cosmossdk.io/core => ../core + cosmossdk.io/core/testing => ../core/testing +) diff --git a/collections/go.sum b/collections/go.sum index c743825aa123..b80d26acaf1f 100644 --- a/collections/go.sum +++ b/collections/go.sum @@ -1,216 +1,39 @@ -cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= -cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= -cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= -cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= -cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= -cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= -github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= -github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= -github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= -github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= -github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= -github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= -github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= -github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= -github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= -github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= -github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= -github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= -github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= +github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= -github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= -github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= -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/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= -github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= -github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= -github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -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= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 h1:mxSlqyb8ZAHsYDCfiXN1EDdNTdvjUJSLY+OnAUtYNYA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= -gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/collections/indexed_map_test.go b/collections/indexed_map_test.go index 33ede10d8bc0..f7eba42d401e 100644 --- a/collections/indexed_map_test.go +++ b/collections/indexed_map_test.go @@ -8,6 +8,7 @@ import ( "cosmossdk.io/collections" "cosmossdk.io/collections/colltest" "cosmossdk.io/collections/indexes" + "cosmossdk.io/core/testing" ) type company struct { @@ -44,7 +45,9 @@ func newTestIndexedMap(schema *collections.SchemaBuilder) *collections.IndexedMa } func TestIndexedMap(t *testing.T) { - sk, ctx := colltest.MockStore() + ctx := coretesting.Context() + sk := coretesting.KVStoreService(ctx, "test") + schema := collections.NewSchemaBuilder(sk) im := newTestIndexedMap(schema) @@ -122,7 +125,7 @@ func newInferIndex(schema *collections.SchemaBuilder) *inferIndex { } func TestIndexedMapInfer(t *testing.T) { - sk, _ := colltest.MockStore() + sk := coretesting.KVStoreService(coretesting.Context(), "test") schema := collections.NewSchemaBuilder(sk) _, err := collections.NewIndexedMapSafe(schema, collections.NewPrefix(0), "im", collections.StringKey, colltest.MockValueCodec[company](), newInferIndex(schema)) diff --git a/collections/indexes/indexes_test.go b/collections/indexes/indexes_test.go index 352ffb690fc0..470b6d4a6200 100644 --- a/collections/indexes/indexes_test.go +++ b/collections/indexes/indexes_test.go @@ -3,50 +3,14 @@ package indexes import ( "context" - db "github.com/cosmos/cosmos-db" - "cosmossdk.io/core/store" + "cosmossdk.io/core/testing" ) -// TODO remove this when we add testStore to core/store. - -type testStore struct { - db db.DB -} - -func (t testStore) OpenKVStore(ctx context.Context) store.KVStore { - return t -} - -func (t testStore) Get(key []byte) ([]byte, error) { - return t.db.Get(key) -} - -func (t testStore) Has(key []byte) (bool, error) { - return t.db.Has(key) -} - -func (t testStore) Set(key, value []byte) error { - return t.db.Set(key, value) -} - -func (t testStore) Delete(key []byte) error { - return t.db.Delete(key) -} - -func (t testStore) Iterator(start, end []byte) (store.Iterator, error) { - return t.db.Iterator(start, end) -} - -func (t testStore) ReverseIterator(start, end []byte) (store.Iterator, error) { - return t.db.ReverseIterator(start, end) -} - -var _ store.KVStore = testStore{} - func deps() (store.KVStoreService, context.Context) { - kv := db.NewMemDB() - return &testStore{kv}, context.Background() + ctx := coretesting.Context() + kv := coretesting.KVStoreService(ctx, "test") + return kv, ctx } type company struct { diff --git a/collections/lookup_map_test.go b/collections/lookup_map_test.go index 13ef74159727..74d3cbac6b46 100644 --- a/collections/lookup_map_test.go +++ b/collections/lookup_map_test.go @@ -6,11 +6,12 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/collections" - "cosmossdk.io/collections/colltest" + "cosmossdk.io/core/testing" ) func TestLookupMap(t *testing.T) { - sk, ctx := colltest.MockStore() + ctx := coretesting.Context() + sk := coretesting.KVStoreService(ctx, "test") schema := collections.NewSchemaBuilder(sk) lm := collections.NewLookupMap(schema, collections.NewPrefix("hi"), "lm", collections.Uint64Key, collections.Uint64Value) diff --git a/collections/triple_test.go b/collections/triple_test.go index fea1b662c15c..5ea53b3fe667 100644 --- a/collections/triple_test.go +++ b/collections/triple_test.go @@ -7,6 +7,7 @@ import ( "cosmossdk.io/collections" "cosmossdk.io/collections/colltest" + "cosmossdk.io/core/testing" ) func TestTriple(t *testing.T) { @@ -18,7 +19,8 @@ func TestTriple(t *testing.T) { } func TestTripleRange(t *testing.T) { - sk, ctx := colltest.MockStore() + ctx := coretesting.Context() + sk := coretesting.KVStoreService(ctx, "test") schema := collections.NewSchemaBuilder(sk) // this is a key composed of 3 parts: uint64, string, []byte kc := collections.TripleKeyCodec(collections.Uint64Key, collections.StringKey, collections.BytesKey) diff --git a/core/testing/CHANGELOG.md b/core/testing/CHANGELOG.md new file mode 100644 index 000000000000..6975f4ddb716 --- /dev/null +++ b/core/testing/CHANGELOG.md @@ -0,0 +1,38 @@ + + +# Changelog + +## [Unreleased] + diff --git a/core/testing/context.go b/core/testing/context.go new file mode 100644 index 000000000000..7cda34ab7043 --- /dev/null +++ b/core/testing/context.go @@ -0,0 +1,31 @@ +package coretesting + +import ( + "context" + + "cosmossdk.io/core/store" +) + +type dummyKey struct{} + +func Context() context.Context { + dummy := &dummyCtx{ + stores: map[string]store.KVStore{}, + } + + ctx := context.WithValue(context.Background(), dummyKey{}, dummy) + return ctx +} + +type dummyCtx struct { + stores map[string]store.KVStore +} + +func unwrap(ctx context.Context) *dummyCtx { + dummy := ctx.Value(dummyKey{}) + if dummy == nil { + panic("invalid ctx without dummy") + } + + return dummy.(*dummyCtx) +} diff --git a/core/testing/go.mod b/core/testing/go.mod new file mode 100644 index 000000000000..8dace714ae8b --- /dev/null +++ b/core/testing/go.mod @@ -0,0 +1,18 @@ +module cosmossdk.io/core/testing + +go 1.20 + +replace cosmossdk.io/core => ../ + +require ( + cosmossdk.io/core v0.12.0 + github.com/stretchr/testify v1.9.0 + github.com/tidwall/btree v1.7.0 +) + +require ( + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/kr/text v0.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/core/testing/go.sum b/core/testing/go.sum new file mode 100644 index 000000000000..47b87a45f871 --- /dev/null +++ b/core/testing/go.sum @@ -0,0 +1,17 @@ +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/core/testing/memdb.go b/core/testing/memdb.go new file mode 100644 index 000000000000..b3f257127583 --- /dev/null +++ b/core/testing/memdb.go @@ -0,0 +1,254 @@ +package coretesting + +import ( + "bytes" + "errors" + + "github.com/tidwall/btree" + + "cosmossdk.io/core/store" +) + +const ( + // The approximate number of items and children per B-tree node. Tuned with benchmarks. + // copied from memdb. + bTreeDegree = 32 +) + +var errKeyEmpty = errors.New("key cannot be empty") + +var _ store.KVStore = (*memDB)(nil) + +// memDB a lightweight memory db +type memDB struct { + tree *btree.BTreeG[item] +} + +// newMemDB creates a wrapper around `btree.BTreeG`. +func newMemDB() memDB { + return memDB{ + tree: btree.NewBTreeGOptions(byKeys, btree.Options{ + Degree: bTreeDegree, + NoLocks: true, + }), + } +} + +// set adds a new key-value pair to the change set's tree. +func (bt memDB) set(key, value []byte) { + bt.tree.Set(newItem(key, value)) +} + +// get retrieves the value associated with the given key from the memDB's tree. +func (bt memDB) get(key []byte) (value []byte, found bool) { + it, found := bt.tree.Get(item{key: key}) + return it.value, found +} + +// delete removes the value associated with the given key from the change set. +// If the key does not exist in the change set, this method does nothing. +func (bt memDB) delete(key []byte) { + bt.tree.Delete(item{key: key}) +} + +// iterator returns a new iterator over the key-value pairs in the memDB +// that have keys greater than or equal to the start key and less than the end key. +func (bt memDB) iterator(start, end []byte) (store.Iterator, error) { + if (start != nil && len(start) == 0) || (end != nil && len(end) == 0) { + return nil, errKeyEmpty + } + return newMemIterator(start, end, bt.tree, true), nil +} + +// reverseIterator returns a new iterator that iterates over the key-value pairs in reverse order +// within the specified range [start, end) in the memDB's tree. +// If start or end is an empty byte slice, it returns an error indicating that the key is empty. +func (bt memDB) reverseIterator(start, end []byte) (store.Iterator, error) { + if (start != nil && len(start) == 0) || (end != nil && len(end) == 0) { + return nil, errKeyEmpty + } + return newMemIterator(start, end, bt.tree, false), nil +} + +// KV impl + +func (bt memDB) Get(key []byte) ([]byte, error) { + value, _ := bt.get(key) + return value, nil +} + +func (bt memDB) Has(key []byte) (bool, error) { + _, found := bt.get(key) + return found, nil +} + +func (bt memDB) Set(key, value []byte) error { + bt.set(key, value) + return nil +} + +func (bt memDB) Delete(key []byte) error { + bt.delete(key) + return nil +} + +func (bt memDB) Iterator(start, end []byte) (store.Iterator, error) { + return bt.iterator(start, end) +} + +func (bt memDB) ReverseIterator(start, end []byte) (store.Iterator, error) { + return bt.reverseIterator(start, end) +} + +// item is a btree item with byte slices as keys and values +type item struct { + key []byte + value []byte +} + +// byKeys compares the items by key +func byKeys(a, b item) bool { + return bytes.Compare(a.key, b.key) == -1 +} + +// newItem creates a new pair item. +func newItem(key, value []byte) item { + return item{key: key, value: value} +} + +// memIterator iterates over iterKVCache items. +// if value is nil, means it was deleted. +// Implements Iterator. +type memIterator struct { + iter btree.IterG[item] + + start []byte + end []byte + ascending bool + valid bool +} + +// newMemIterator creates a new memory iterator for a given range of keys in a B-tree. +// The iterator starts at the specified start key and ends at the specified end key. +// The `tree` parameter is the B-tree to iterate over. +// The `ascending` parameter determines the direction of iteration. +// If `ascending` is true, the iterator will iterate in ascending order. +// If `ascending` is false, the iterator will iterate in descending order. +// The returned iterator is positioned at the first key that is greater than or equal to the start key. +// If the start key is nil, the iterator is positioned at the first key in the B-tree. +// If the end key is nil, the iterator is positioned at the last key in the B-tree. +// The iterator is inclusive of the start key and exclusive of the end key. +// The `valid` field of the iterator indicates whether the iterator is positioned at a valid key. +// The `start` and `end` fields of the iterator store the start and end keys respectively. +func newMemIterator(start, end []byte, tree *btree.BTreeG[item], ascending bool) *memIterator { + iter := tree.Iter() + var valid bool + if ascending { + if start != nil { + valid = iter.Seek(newItem(start, nil)) + } else { + valid = iter.First() + } + } else { + if end != nil { + valid = iter.Seek(newItem(end, nil)) + if !valid { + valid = iter.Last() + } else { + // end is exclusive + valid = iter.Prev() + } + } else { + valid = iter.Last() + } + } + + mi := &memIterator{ + iter: iter, + start: start, + end: end, + ascending: ascending, + valid: valid, + } + + if mi.valid { + mi.valid = mi.keyInRange(mi.Key()) + } + + return mi +} + +// Domain returns the start and end keys of the iterator's domain. +func (mi *memIterator) Domain() (start, end []byte) { + return mi.start, mi.end +} + +// Close releases any resources held by the iterator. +func (mi *memIterator) Close() error { + mi.iter.Release() + return nil +} + +var errInvalidIterator = errors.New("invalid iterator") + +// Error returns the error state of the iterator. +// If the iterator is not valid, it returns the errInvalidIterator error. +// Otherwise, it returns nil. +func (mi *memIterator) Error() error { + if !mi.Valid() { + return errInvalidIterator + } + return nil +} + +// Valid returns whether the iterator is currently pointing to a valid entry. +// It returns true if the iterator is valid, and false otherwise. +func (mi *memIterator) Valid() bool { + return mi.valid +} + +// Next advances the iterator to the next key-value pair. +// If the iterator is in ascending order, it moves to the next key-value pair. +// If the iterator is in descending order, it moves to the previous key-value pair. +// It also checks if the new key-value pair is within the specified range. +func (mi *memIterator) Next() { + mi.assertValid() + + if mi.ascending { + mi.valid = mi.iter.Next() + } else { + mi.valid = mi.iter.Prev() + } + + if mi.valid { + mi.valid = mi.keyInRange(mi.Key()) + } +} + +func (mi *memIterator) keyInRange(key []byte) bool { + if mi.ascending && mi.end != nil && bytes.Compare(key, mi.end) >= 0 { + return false + } + if !mi.ascending && mi.start != nil && bytes.Compare(key, mi.start) < 0 { + return false + } + return true +} + +// Key returns the key of the current item in the iterator. +func (mi *memIterator) Key() []byte { + return mi.iter.Item().key +} + +// Value returns the value of the current item in the iterator. +func (mi *memIterator) Value() []byte { + return mi.iter.Item().value +} + +// assertValid checks if the memIterator is in a valid state. +// If there is an error, it panics with the error message. +func (mi *memIterator) assertValid() { + if err := mi.Error(); err != nil { + panic(err) + } +} diff --git a/core/testing/memdb_test.go b/core/testing/memdb_test.go new file mode 100644 index 000000000000..263efaa0ae47 --- /dev/null +++ b/core/testing/memdb_test.go @@ -0,0 +1,59 @@ +package coretesting + +import ( + "fmt" + "testing" + + "github.com/stretchr/testify/require" + + "cosmossdk.io/core/store" +) + +func TestMemDB(t *testing.T) { + var db store.KVStore = newMemDB() + + key, value := []byte("key"), []byte("value") + require.NoError(t, db.Set(key, value)) + val, err := db.Get(key) + require.NoError(t, err) + require.Equal(t, value, val) + require.NoError(t, db.Delete(key)) + has, err := db.Has(key) + require.NoError(t, err) + require.False(t, has) + + // test iter + makeKey := func(i int) []byte { + return []byte(fmt.Sprintf("key_%d", i)) + } + for i := 0; i < 10; i++ { + require.NoError(t, db.Set(makeKey(i), makeKey(i))) + } + + iter, err := db.Iterator(nil, nil) + require.NoError(t, err) + key = iter.Key() + value = iter.Value() + require.Equal(t, makeKey(0), key) + require.Equal(t, makeKey(0), value) + require.NoError(t, iter.Error()) + iter.Next() + key, value = iter.Key(), iter.Value() + require.Equal(t, makeKey(1), key) + require.Equal(t, makeKey(1), value) + require.NoError(t, iter.Close()) + + // test reverse iter + iter, err = db.ReverseIterator(nil, nil) + require.NoError(t, err) + key = iter.Key() + value = iter.Value() + require.Equal(t, makeKey(9), key) + require.Equal(t, makeKey(9), value) + require.NoError(t, iter.Error()) + iter.Next() + key, value = iter.Key(), iter.Value() + require.Equal(t, makeKey(8), key) + require.Equal(t, makeKey(8), value) + require.NoError(t, iter.Close()) +} diff --git a/core/testing/services_test.go b/core/testing/services_test.go new file mode 100644 index 000000000000..72217939caa3 --- /dev/null +++ b/core/testing/services_test.go @@ -0,0 +1,35 @@ +package coretesting + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestKVStoreService(t *testing.T) { + ctx := Context() + svc1 := KVStoreService(ctx, "bank") + + // must panic + t.Run("must panic on invalid ctx", func(t *testing.T) { + require.Panics(t, func() { + svc1.OpenKVStore(context.Background()) + }) + }) + + t.Run("success", func(t *testing.T) { + kv := svc1.OpenKVStore(ctx) + require.NoError(t, kv.Set([]byte("key"), []byte("value"))) + + value, err := kv.Get([]byte("key")) + require.NoError(t, err) + require.Equal(t, []byte("value"), value) + }) + + t.Run("contains module name", func(t *testing.T) { + KVStoreService(ctx, "auth") + _, ok := unwrap(ctx).stores["auth"] + require.True(t, ok) + }) +} diff --git a/core/testing/sonar-project.properties b/core/testing/sonar-project.properties new file mode 100644 index 000000000000..e7e623d0263d --- /dev/null +++ b/core/testing/sonar-project.properties @@ -0,0 +1,16 @@ +sonar.projectKey=cosmos-sdk-core-testing +sonar.organization=cosmos + +sonar.projectName=Cosmos SDK - Core Testing +sonar.project.monorepo.enabled=true + +sonar.sources=. +sonar.exclusions=**/*_test.go,**/*.pb.go,**/*.pulsar.go,**/*.pb.gw.go +sonar.coverage.exclusions=**/*_test.go,**/testutil/**,**/*.pb.go,**/*.pb.gw.go,**/*.pulsar.go,test_helpers.go,docs/** +sonar.tests=. +sonar.test.inclusions=**/*_test.go +sonar.go.coverage.reportPaths=coverage.out + +sonar.sourceEncoding=UTF-8 +sonar.scm.provider=git +sonar.scm.forceReloadAll=true diff --git a/core/testing/store.go b/core/testing/store.go new file mode 100644 index 000000000000..8461e8789120 --- /dev/null +++ b/core/testing/store.go @@ -0,0 +1,27 @@ +package coretesting + +import ( + "context" + "fmt" + + "cosmossdk.io/core/store" +) + +func KVStoreService(ctx context.Context, moduleName string) store.KVStoreService { + unwrap(ctx).stores[moduleName] = newMemDB() + return kvStoreService{ + moduleName: moduleName, + } +} + +type kvStoreService struct { + moduleName string +} + +func (k kvStoreService) OpenKVStore(ctx context.Context) store.KVStore { + kv, ok := unwrap(ctx).stores[k.moduleName] + if !ok { + panic(fmt.Sprintf("KVStoreService %s not found", k.moduleName)) + } + return kv +} diff --git a/go.mod b/go.mod index 9e5747ed2e92..88576387dae4 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( cosmossdk.io/api v0.7.5 cosmossdk.io/collections v0.4.0 cosmossdk.io/core v0.12.1-0.20231114100755-569e3ff6a0d7 + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 cosmossdk.io/depinject v1.0.0-alpha.4 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.3.1 @@ -186,6 +187,7 @@ replace ( cosmossdk.io/api => ./api cosmossdk.io/collections => ./collections cosmossdk.io/core => ./core + cosmossdk.io/core/testing => ./core/testing cosmossdk.io/depinject => ./depinject cosmossdk.io/log => ./log cosmossdk.io/store => ./store diff --git a/go.work.example b/go.work.example index 614d1e7d0629..14dd182955fa 100644 --- a/go.work.example +++ b/go.work.example @@ -6,6 +6,7 @@ use ( ./client/v2 ./collections ./core + ./core/testing ./depinject ./errors ./log diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 1fba08fcfada..defd54e32c4e 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -5,6 +5,7 @@ go 1.22.2 replace ( cosmossdk.io/api => ../../../api cosmossdk.io/core => ../../../core + cosmossdk.io/core/testing => ../../../core/testing cosmossdk.io/depinject => ../../../depinject cosmossdk.io/server/v2 => ../ cosmossdk.io/server/v2/appmanager => ../appmanager diff --git a/simapp/go.mod b/simapp/go.mod index 517e6a144dfe..80bed9ac5da1 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -58,6 +58,7 @@ require ( cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.7 // indirect cloud.google.com/go/storage v1.40.0 // indirect + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/errors v1.0.1 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -241,6 +242,7 @@ replace ( cosmossdk.io/client/v2 => ../client/v2 cosmossdk.io/collections => ../collections cosmossdk.io/core => ../core + cosmossdk.io/core/testing => ../core/testing cosmossdk.io/depinject => ../depinject cosmossdk.io/log => ../log cosmossdk.io/store => ../store diff --git a/tests/go.mod b/tests/go.mod index 0ef2ae7fc731..a47143e18ab4 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -63,6 +63,7 @@ require ( cloud.google.com/go/iam v1.1.7 // indirect cloud.google.com/go/storage v1.40.0 // indirect cosmossdk.io/client/v2 v2.0.0-20230630094428-02b760776860 // indirect + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/epochs v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -236,6 +237,7 @@ replace ( cosmossdk.io/client/v2 => ../client/v2 cosmossdk.io/collections => ../collections cosmossdk.io/core => ../core + cosmossdk.io/core/testing => ../core/testing cosmossdk.io/depinject => ../depinject cosmossdk.io/log => ../log cosmossdk.io/x/accounts => ../x/accounts diff --git a/types/simulation/collections_test.go b/types/simulation/collections_test.go index 3f94910d2eb9..6e33fad2cf23 100644 --- a/types/simulation/collections_test.go +++ b/types/simulation/collections_test.go @@ -6,13 +6,14 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/collections" - "cosmossdk.io/collections/colltest" + "cosmossdk.io/core/testing" "github.com/cosmos/cosmos-sdk/types/kv" ) func TestNewStoreDecoderFuncFromCollectionsSchema(t *testing.T) { - store, _ := colltest.MockStore() + ctx := coretesting.Context() + store := coretesting.KVStoreService(ctx, "test") sb := collections.NewSchemaBuilder(store) prefixM1 := collections.NewPrefix("map_1") diff --git a/x/accounts/accountstd/test_util.go b/x/accounts/accountstd/test_util.go index c5a9ba70a990..0ab912868820 100644 --- a/x/accounts/accountstd/test_util.go +++ b/x/accounts/accountstd/test_util.go @@ -3,8 +3,8 @@ package accountstd import ( "context" - "cosmossdk.io/collections/colltest" "cosmossdk.io/core/store" + "cosmossdk.io/core/testing" "cosmossdk.io/x/accounts/internal/implementation" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,7 +19,8 @@ func NewMockContext( moduleExecUntyped implementation.ModuleExecUntypedFunc, moduleQuery implementation.ModuleQueryFunc, ) (context.Context, store.KVStoreService) { - ss, ctx := colltest.MockStore() + ctx := coretesting.Context() + ss := coretesting.KVStoreService(ctx, "test") return implementation.MakeAccountContext( ctx, ss, accNumber, accountAddr, sender, funds, moduleExec, moduleExecUntyped, moduleQuery, diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 948f5947b680..cc599bb6cb67 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -17,6 +17,7 @@ require cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect @@ -172,6 +173,7 @@ replace ( cosmossdk.io/api => ../../../../api cosmossdk.io/collections => ../../../../collections // TODO tag new collections ASAP cosmossdk.io/core => ../../../../core + cosmossdk.io/core/testing => ../../../../core/testing cosmossdk.io/depinject => ../../../../depinject cosmossdk.io/log => ../../../../log cosmossdk.io/x/accounts => ../../. diff --git a/x/accounts/genesis_test.go b/x/accounts/genesis_test.go index 5b143696cb7e..357fb8eb6628 100644 --- a/x/accounts/genesis_test.go +++ b/x/accounts/genesis_test.go @@ -6,26 +6,26 @@ import ( "github.com/cosmos/gogoproto/types" "github.com/stretchr/testify/require" - "cosmossdk.io/collections/colltest" "cosmossdk.io/x/accounts/internal/implementation" v1 "cosmossdk.io/x/accounts/v1" ) func TestGenesis(t *testing.T) { + const testAccountType = "test" k, ctx := newKeeper(t, func(deps implementation.Dependencies) (string, implementation.Account, error) { acc, err := NewTestAccount(deps) - return "test", acc, err + return testAccountType, acc, err }) // we init two accounts of the same type // we set counter to 10 - _, addr1, err := k.Init(ctx, "test", []byte("sender"), &types.Empty{}, nil) + _, addr1, err := k.Init(ctx, testAccountType, []byte("sender"), &types.Empty{}, nil) require.NoError(t, err) _, err = k.Execute(ctx, addr1, []byte("sender"), &types.UInt64Value{Value: 10}, nil) require.NoError(t, err) // we set counter to 20 - _, addr2, err := k.Init(ctx, "test", []byte("sender"), &types.Empty{}, nil) + _, addr2, err := k.Init(ctx, testAccountType, []byte("sender"), &types.Empty{}, nil) require.NoError(t, err) _, err = k.Execute(ctx, addr2, []byte("sender"), &types.UInt64Value{Value: 20}, nil) require.NoError(t, err) @@ -35,7 +35,10 @@ func TestGenesis(t *testing.T) { require.NoError(t, err) // reset state - _, ctx = colltest.MockStore() + k, ctx = newKeeper(t, func(deps implementation.Dependencies) (string, implementation.Account, error) { + acc, err := NewTestAccount(deps) + return testAccountType, acc, err + }) err = k.ImportState(ctx, state) require.NoError(t, err) diff --git a/x/accounts/go.mod b/x/accounts/go.mod index ca4239fe365f..6dec9ad8c2d4 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -6,6 +6,7 @@ require ( cosmossdk.io/api v0.7.5 cosmossdk.io/collections v0.4.0 cosmossdk.io/core v0.12.1-0.20231114100755-569e3ff6a0d7 + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 cosmossdk.io/depinject v1.0.0-alpha.4 cosmossdk.io/x/tx v0.13.3 github.com/cosmos/cosmos-sdk v0.51.0 @@ -174,6 +175,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/auth => ../auth diff --git a/x/accounts/internal/implementation/context_test.go b/x/accounts/internal/implementation/context_test.go index d5c396579878..ff47b50c89ef 100644 --- a/x/accounts/internal/implementation/context_test.go +++ b/x/accounts/internal/implementation/context_test.go @@ -9,11 +9,12 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/collections" - "cosmossdk.io/collections/colltest" + "cosmossdk.io/core/testing" ) func TestMakeAccountContext(t *testing.T) { - storeService, originalContext := colltest.MockStore() + originalContext := coretesting.Context() + storeService := coretesting.KVStoreService(originalContext, "test") accountAddr := []byte("accountAddr") sender := []byte("sender") sb := collections.NewSchemaBuilderFromAccessor(openKVStore) diff --git a/x/accounts/utils_test.go b/x/accounts/utils_test.go index f450bf027c44..c10ffa29c7ec 100644 --- a/x/accounts/utils_test.go +++ b/x/accounts/utils_test.go @@ -11,10 +11,10 @@ import ( bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1" basev1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" - "cosmossdk.io/collections/colltest" "cosmossdk.io/core/address" "cosmossdk.io/core/event" "cosmossdk.io/core/log" + "cosmossdk.io/core/testing" coretransaction "cosmossdk.io/core/transaction" "cosmossdk.io/x/accounts/internal/implementation" "cosmossdk.io/x/tx/signing" @@ -73,7 +73,8 @@ func newKeeper(t *testing.T, accounts ...implementation.AccountCreatorFunc) (Kee queryRouter.RegisterService(&bankv1beta1.Query_ServiceDesc, &bankQueryServer{}) msgRouter.RegisterService(&bankv1beta1.Msg_ServiceDesc, &bankMsgServer{}) - ss, ctx := colltest.MockStore() + ctx := coretesting.Context() + ss := coretesting.KVStoreService(ctx, "test") env := runtime.NewEnvironment(ss, log.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(msgRouter)) env.EventService = eventService{} m, err := NewKeeper(codec.NewProtoCodec(ir), env, addressCodec, ir, accounts...) diff --git a/x/auth/go.mod b/x/auth/go.mod index 25b8922d921d..a12f113102fc 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -6,6 +6,7 @@ require ( cosmossdk.io/api v0.7.5 cosmossdk.io/collections v0.4.0 cosmossdk.io/core v0.12.1-0.20231114100755-569e3ff6a0d7 + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 cosmossdk.io/depinject v1.0.0-alpha.4 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.3.0 @@ -175,6 +176,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/auth/migrations/v5/migrate_test.go b/x/auth/migrations/v5/migrate_test.go index c0c7113fb580..2ed3d69c78b5 100644 --- a/x/auth/migrations/v5/migrate_test.go +++ b/x/auth/migrations/v5/migrate_test.go @@ -7,11 +7,12 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/collections" - "cosmossdk.io/collections/colltest" + "cosmossdk.io/core/testing" ) func TestMigrate(t *testing.T) { - kv, ctx := colltest.MockStore() + ctx := coretesting.Context() + kv := coretesting.KVStoreService(ctx, "test") sb := collections.NewSchemaBuilder(kv) seq := collections.NewSequence(sb, collections.NewPrefix(0), "seq") @@ -33,7 +34,8 @@ func TestMigrate(t *testing.T) { require.Equal(t, wantValue, gotValue) // case the global account number was not set - ctx = kv.NewStoreContext() // this resets the store to zero + ctx = coretesting.Context() + kv = coretesting.KVStoreService(ctx, "test") wantValue = collections.DefaultSequenceStart err = Migrate(ctx, kv, seq) diff --git a/x/authz/go.mod b/x/authz/go.mod index 66381f416b93..ed883381c1ad 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -169,6 +169,8 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) +require cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect + replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -176,6 +178,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/bank/go.mod b/x/bank/go.mod index a478936ae7fa..eb3a22f76e96 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -168,6 +168,8 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) +require cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect + replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -175,6 +177,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/circuit/go.mod b/x/circuit/go.mod index 787a66f64ea8..00801b8911c8 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -174,6 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/consensus/go.mod b/x/consensus/go.mod index ce0a723ad372..9d059469d139 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -172,10 +172,12 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts cosmossdk.io/x/auth => ../auth cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking + cosmossdk.io/x/tx => ../tx ) diff --git a/x/consensus/go.sum b/x/consensus/go.sum index e7bc1ba9cfaa..888e76f50cdf 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -14,8 +14,6 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index d9be9aa5ed5b..5c8ac763fe3d 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -179,6 +179,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/epochs/go.mod b/x/epochs/go.mod index bcca2931f9b3..a63d07773e0e 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -176,6 +176,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/evidence/go.mod b/x/evidence/go.mod index fcb130afbfd4..2a48c77a08df 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -174,6 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index b39a9414605b..dcad36b849ce 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -173,6 +173,8 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) +require cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect + replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -180,6 +182,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/gov/go.mod b/x/gov/go.mod index 05ca454600ac..e7404a7a2ff0 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -172,6 +172,8 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) +require cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect + replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -179,6 +181,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/group/go.mod b/x/group/go.mod index d9b64079ac5e..2f8fd4832be3 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -41,6 +41,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect cosmossdk.io/x/tx v0.13.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -182,6 +183,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/mint/go.mod b/x/mint/go.mod index a1a0a98bea37..dd791fdbb077 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -177,6 +177,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/nft/go.mod b/x/nft/go.mod index 86dd7edac171..c9dca4c17585 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -174,6 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/params/go.mod b/x/params/go.mod index 15e36a68df32..63f57b006c81 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -175,6 +175,7 @@ replace github.com/cosmos/cosmos-sdk => ../.. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index da3799fd40c9..3e6385ded1cd 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -174,6 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/slashing/go.mod b/x/slashing/go.mod index b90f6818a9fe..b148a852ffc8 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -175,6 +175,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/staking/go.mod b/x/staking/go.mod index deca521ef49e..6fe86374f47f 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -171,6 +171,8 @@ require ( go.opencensus.io v0.24.0 // indirect ) +require cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect + replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules @@ -178,6 +180,7 @@ replace ( cosmossdk.io/api => ../../api cosmossdk.io/collections => ../../collections cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index d4b90eaa110e..1d802689ed96 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -205,6 +205,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/api => ../../api cosmossdk.io/core => ../../core + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/depinject => ../../depinject cosmossdk.io/log => ../../log cosmossdk.io/x/accounts => ../accounts From ee4d714e1d36c7dc10938fd7db3d138ecd92ed90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:47:26 +0200 Subject: [PATCH 15/41] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.6-0.20240403102038-f63e5fdf7c96 to 0.50.7 in /tools/confix (#20566) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/confix/go.mod | 2 +- tools/confix/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/confix/go.mod b/tools/confix/go.mod index 1259b19b09d0..a9e72c410c60 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/tools/confix go 1.21 require ( - github.com/cosmos/cosmos-sdk v0.50.6-0.20240403102038-f63e5fdf7c96 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/creachadair/atomicfile v0.3.4 github.com/creachadair/tomledit v0.0.26 github.com/pelletier/go-toml/v2 v2.2.2 diff --git a/tools/confix/go.sum b/tools/confix/go.sum index 6879ede41322..504cf0994075 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -143,8 +143,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.6-0.20240403102038-f63e5fdf7c96 h1:o8LxwVBiqvoH0ONhMz87COKPC0s6MgYJysMakThYmhY= -github.com/cosmos/cosmos-sdk v0.50.6-0.20240403102038-f63e5fdf7c96/go.mod h1:sM3HLOjUE6rwAiuwEOEtPd2DUcXG+uCktW+CdID+ZMM= +github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= +github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= 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= From 3ef628d5cb0c4c20660dac1e9ba9f4371ef31ba4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:06:43 +0200 Subject: [PATCH 16/41] build(deps): Bump github.com/cometbft/cometbft/api from 1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 to 1.0.0-rc.1 (#20552) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- client/v2/go.mod | 2 +- client/v2/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 4 ++-- simapp/go.mod | 2 +- simapp/go.sum | 4 ++-- store/go.mod | 2 +- store/go.sum | 4 ++-- tests/go.mod | 2 +- tests/go.sum | 4 ++-- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 ++-- x/accounts/go.mod | 2 +- x/accounts/go.sum | 4 ++-- x/auth/go.mod | 2 +- x/auth/go.sum | 4 ++-- x/authz/go.mod | 2 +- x/authz/go.sum | 4 ++-- x/bank/go.mod | 2 +- x/bank/go.sum | 4 ++-- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 ++-- x/consensus/go.mod | 2 +- x/consensus/go.sum | 4 ++-- x/distribution/go.mod | 2 +- x/distribution/go.sum | 4 ++-- x/epochs/go.mod | 2 +- x/epochs/go.sum | 4 ++-- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- x/feegrant/go.mod | 2 +- x/feegrant/go.sum | 4 ++-- x/gov/go.mod | 2 +- x/gov/go.sum | 4 ++-- x/group/go.mod | 2 +- x/group/go.sum | 4 ++-- x/mint/go.mod | 2 +- x/mint/go.sum | 4 ++-- x/nft/go.mod | 2 +- x/nft/go.sum | 4 ++-- x/params/go.mod | 2 +- x/params/go.sum | 4 ++-- x/protocolpool/go.mod | 2 +- x/protocolpool/go.sum | 4 ++-- x/slashing/go.mod | 2 +- x/slashing/go.sum | 4 ++-- x/staking/go.mod | 2 +- x/staking/go.sum | 4 ++-- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 ++-- 52 files changed, 78 insertions(+), 78 deletions(-) diff --git a/client/v2/go.mod b/client/v2/go.mod index c0f72800584b..3c760d36156e 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -50,7 +50,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/client/v2/go.sum b/client/v2/go.sum index 4c9a5984d325..7ef3c23ae9f0 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -95,8 +95,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/go.mod b/go.mod index 88576387dae4..26373e0e40ee 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/99designs/keyring v1.2.2 github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/btcutil v1.0.5 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 diff --git a/go.sum b/go.sum index b73fa8e343f1..5b7cdc2fb832 100644 --- a/go.sum +++ b/go.sum @@ -84,8 +84,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index defd54e32c4e..0d09c1af68d0 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -29,7 +29,7 @@ require ( cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 github.com/cosmos/gogoproto v1.4.12 diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index c7af00cc31cc..a2a3bbeda889 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -95,8 +95,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/simapp/go.mod b/simapp/go.mod index 80bed9ac5da1..5abb0b66d9dd 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -45,7 +45,7 @@ require ( google.golang.org/protobuf v1.34.1 ) -require github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 +require github.com/cometbft/cometbft/api v1.0.0-rc.1 require cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 diff --git a/simapp/go.sum b/simapp/go.sum index 213a12e1d370..0d07bbf6802a 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -293,8 +293,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/store/go.mod b/store/go.mod index e6ad31a4a44d..b8262faf50e9 100644 --- a/store/go.mod +++ b/store/go.mod @@ -8,7 +8,7 @@ require ( cosmossdk.io/log v1.3.1 cosmossdk.io/math v1.3.0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240429102542-490e9bc3de65 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240429102542-490e9bc3de65 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/gogoproto v1.4.12 diff --git a/store/go.sum b/store/go.sum index f3579866f485..7129645b9b3e 100644 --- a/store/go.sum +++ b/store/go.sum @@ -34,8 +34,8 @@ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAK github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240429102542-490e9bc3de65 h1:vNrFdj8MmdHmZPovE1bZcOpY8VNK2fy3O3bjgkvGA8A= github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240429102542-490e9bc3de65/go.mod h1:FH1mC3P645pmV3TcHly2xc/2QnKOztRVS7QI77L8Pkk= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240429102542-490e9bc3de65 h1:Bj+DkG59qYZE54uWBKXsNtiug1u6M4x8Tk3l5tAb/3I= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240429102542-490e9bc3de65/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= diff --git a/tests/go.mod b/tests/go.mod index a47143e18ab4..959d889384c9 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -46,7 +46,7 @@ require ( cosmossdk.io/x/mint v0.0.0-00010101000000-000000000000 cosmossdk.io/x/slashing v0.0.0-00010101000000-000000000000 cosmossdk.io/x/staking v0.0.0-20240226161501-23359a0b6d91 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/google/go-cmp v0.6.0 github.com/google/gofuzz v1.2.0 github.com/jhump/protoreflect v1.16.0 diff --git a/tests/go.sum b/tests/go.sum index 4173b397ae9e..3970421559e5 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -293,8 +293,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index cc599bb6cb67..955a615cee93 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -19,7 +19,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 5f452dce0474..b9abf1b270d3 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -81,8 +81,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 6dec9ad8c2d4..229a1b3732a2 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -47,7 +47,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 06eeef001432..084da7a4a038 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -89,8 +89,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/auth/go.mod b/x/auth/go.mod index a12f113102fc..48fda482554a 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -57,7 +57,7 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/auth/go.sum b/x/auth/go.sum index 7caa03e6e325..584f1798d46f 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -89,8 +89,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/authz/go.mod b/x/authz/go.mod index ed883381c1ad..1da2a2e67026 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -51,7 +51,7 @@ require ( github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/authz/go.sum b/x/authz/go.sum index 7caa03e6e325..584f1798d46f 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -89,8 +89,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/bank/go.mod b/x/bank/go.mod index eb3a22f76e96..9475a9e237f9 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -51,7 +51,7 @@ require ( github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/bank/go.sum b/x/bank/go.sum index 7caa03e6e325..584f1798d46f 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -89,8 +89,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index 00801b8911c8..a4ccd4b6d707 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -46,7 +46,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index 9d059469d139..cc990c627a04 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 github.com/cosmos/gogoproto v1.4.12 diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 5c8ac763fe3d..ea4874c89b74 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -57,7 +57,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/distribution/go.sum b/x/distribution/go.sum index 7a5b4108e21b..cf3d13689f90 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index a63d07773e0e..f244098b7d39 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -45,7 +45,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/epochs/go.sum b/x/epochs/go.sum index f370f35e1c94..993146ae621f 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 2a48c77a08df..65c1c87cf983 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -50,7 +50,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index dcad36b849ce..6397644ac62b 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -55,7 +55,7 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 6bd72b5a9759..a3ef6b350ce7 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -97,8 +97,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/gov/go.mod b/x/gov/go.mod index e7404a7a2ff0..12a82f72314c 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -57,7 +57,7 @@ require ( github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/gov/go.sum b/x/gov/go.sum index 6888a9a1c319..5b912201b240 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -95,8 +95,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/group/go.mod b/x/group/go.mod index 2f8fd4832be3..8c5dcf677e59 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -61,7 +61,7 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect diff --git a/x/group/go.sum b/x/group/go.sum index 4dcc2a875335..abda5a4ddf13 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -97,8 +97,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/mint/go.mod b/x/mint/go.mod index dd791fdbb077..a8050cbf4313 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -160,7 +160,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 // indirect cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/gofrs/uuid v4.4.0+incompatible // indirect diff --git a/x/mint/go.sum b/x/mint/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/nft/go.mod b/x/nft/go.mod index c9dca4c17585..1bb3a1782f34 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -48,7 +48,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/nft/go.sum b/x/nft/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/params/go.mod b/x/params/go.mod index 63f57b006c81..4a32289bf692 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/math v1.3.0 cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/gov v0.0.0-20230925135524-a1bc045b3190 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 diff --git a/x/params/go.sum b/x/params/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index 3e6385ded1cd..6f752a797122 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -50,7 +50,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index 888e76f50cdf..9833880a5fe9 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -91,8 +91,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index b148a852ffc8..11614b5c7d59 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -51,7 +51,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 967e2932ed23..a66750bc046d 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -93,8 +93,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/staking/go.mod b/x/staking/go.mod index 6fe86374f47f..0852c4353d78 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/math v1.3.0 cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 github.com/cosmos/gogoproto v1.4.12 diff --git a/x/staking/go.sum b/x/staking/go.sum index 7caa03e6e325..584f1798d46f 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -89,8 +89,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 1d802689ed96..bff5751523c2 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -13,7 +13,7 @@ require ( cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 cosmossdk.io/x/gov v0.0.0-20230925135524-a1bc045b3190 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 - github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 7c3c7f971bde..3f82adb66f91 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -297,8 +297,8 @@ github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:xW0 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:8uXGKqp5yPmNSbU81K/669E3rfO3H+juGkYKCPTnAtY= github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 h1:BNUwBnVEBiRUGfLIqbKPKHEiR6VCOjWarDgy2dcbys4= -github.com/cometbft/cometbft/api v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= +github.com/cometbft/cometbft/api v1.0.0-rc.1 h1:GtdXwDGlqwHYs16A4egjwylfYOMYyEacLBrs3Zvpt7g= +github.com/cometbft/cometbft/api v1.0.0-rc.1/go.mod h1:NDFKiBBD8HJC6QQLAoUI99YhsiRZtg2+FJWfk6A6m6o= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= From 8ad7a3ba0c5eb6fd0ef2f5cdb2f6bc8ee6dfdaec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:11:30 +0200 Subject: [PATCH 17/41] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.6 to 0.50.7 in /tools/hubl (#20562) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/hubl/go.mod | 2 +- tools/hubl/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index 65edd087ac77..a8be52c305f0 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -7,7 +7,7 @@ require ( cosmossdk.io/client/v2 v2.0.0-beta.1.0.20240118210941-3897926e722e cosmossdk.io/core v0.11.0 cosmossdk.io/errors v1.0.1 - github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/manifoldco/promptui v0.9.0 github.com/pelletier/go-toml/v2 v2.2.2 github.com/spf13/cobra v1.8.0 diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index 9369f5927e1a..b925a558e7c1 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -149,8 +149,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.6 h1:efR3MsvMHX5sxS3be+hOobGk87IzlZbSpsI2x/Vw3hk= -github.com/cosmos/cosmos-sdk v0.50.6/go.mod h1:lVkRY6cdMJ0fG3gp8y4hFrsKZqF4z7y0M2UXFb9Yt40= +github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= +github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= 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= From dc558b1ce6edc78a4eabd4545b5abca554eb2e12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 08:26:02 +0000 Subject: [PATCH 18/41] build(deps): Bump github.com/cosmos/gogoproto from 1.4.12 to 1.5.0 (#20563) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- api/go.mod | 2 +- api/go.sum | 6 ++++-- client/v2/go.mod | 2 +- client/v2/go.sum | 4 ++-- collections/go.mod | 2 +- collections/go.sum | 6 ++++-- core/go.mod | 2 +- core/go.sum | 5 +++-- go.mod | 2 +- go.sum | 4 ++-- orm/go.mod | 2 +- orm/go.sum | 6 ++++-- runtime/v2/go.mod | 2 +- runtime/v2/go.sum | 6 ++++-- server/v2/appmanager/go.mod | 2 +- server/v2/appmanager/go.sum | 6 ++++-- server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 4 ++-- server/v2/go.mod | 2 +- server/v2/go.sum | 4 ++-- server/v2/stf/go.mod | 2 +- server/v2/stf/go.sum | 6 ++++-- simapp/go.mod | 2 +- simapp/go.sum | 4 ++-- store/go.mod | 2 +- store/go.sum | 4 ++-- store/v2/go.mod | 2 +- store/v2/go.sum | 6 ++++-- tests/go.mod | 2 +- tests/go.sum | 4 ++-- tests/systemtests/go.mod | 2 +- tests/systemtests/go.sum | 4 ++-- tools/confix/go.mod | 2 +- tools/confix/go.sum | 4 ++-- tools/cosmovisor/go.mod | 2 +- tools/cosmovisor/go.sum | 4 ++-- tools/hubl/go.mod | 2 +- tools/hubl/go.sum | 4 ++-- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 ++-- x/accounts/go.mod | 2 +- x/accounts/go.sum | 4 ++-- x/auth/go.mod | 2 +- x/auth/go.sum | 4 ++-- x/authz/go.mod | 2 +- x/authz/go.sum | 4 ++-- x/bank/go.mod | 2 +- x/bank/go.sum | 4 ++-- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 ++-- x/consensus/go.mod | 2 +- x/consensus/go.sum | 4 ++-- x/distribution/go.mod | 2 +- x/distribution/go.sum | 4 ++-- x/epochs/go.mod | 2 +- x/epochs/go.sum | 4 ++-- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- x/feegrant/go.mod | 2 +- x/feegrant/go.sum | 4 ++-- x/gov/go.mod | 2 +- x/gov/go.sum | 4 ++-- x/group/go.mod | 2 +- x/group/go.sum | 4 ++-- x/mint/go.mod | 2 +- x/mint/go.sum | 4 ++-- x/nft/go.mod | 2 +- x/nft/go.sum | 4 ++-- x/params/go.mod | 2 +- x/params/go.sum | 4 ++-- x/protocolpool/go.mod | 2 +- x/protocolpool/go.sum | 4 ++-- x/slashing/go.mod | 2 +- x/slashing/go.sum | 4 ++-- x/staking/go.mod | 2 +- x/staking/go.sum | 4 ++-- x/tx/go.mod | 2 +- x/tx/go.sum | 6 ++++-- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 ++-- 80 files changed, 137 insertions(+), 120 deletions(-) diff --git a/api/go.mod b/api/go.mod index d888181d5a1e..756290ebe716 100644 --- a/api/go.mod +++ b/api/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.1-20240312114316-c0d3497e35d6.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.1 diff --git a/api/go.sum b/api/go.sum index c10bff4ed738..35ad83159ac6 100644 --- a/api/go.sum +++ b/api/go.sum @@ -4,9 +4,11 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.1-20240130113600-88ef6483f90f.1/go.mod h1:RigkrxrsA6FPZontmsidcr0WGWF8zNFYleIktv6XdLc= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= diff --git a/client/v2/go.mod b/client/v2/go.mod index 3c760d36156e..852c52bcab46 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -56,7 +56,7 @@ require ( github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/cosmos/iavl v1.1.4 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect diff --git a/client/v2/go.sum b/client/v2/go.sum index 7ef3c23ae9f0..5bf0848bc8c7 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -113,8 +113,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/collections/go.mod b/collections/go.mod index 75d243f344d0..4e57b92c3e9a 100644 --- a/collections/go.mod +++ b/collections/go.mod @@ -10,7 +10,7 @@ require ( ) require ( - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/collections/go.sum b/collections/go.sum index b80d26acaf1f..f184d88afcd8 100644 --- a/collections/go.sum +++ b/collections/go.sum @@ -1,7 +1,9 @@ -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= diff --git a/core/go.mod b/core/go.mod index 4487c6ddb3e2..bd708934a896 100644 --- a/core/go.mod +++ b/core/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/core go 1.20 require ( - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/stretchr/testify v1.9.0 google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.1 diff --git a/core/go.sum b/core/go.sum index fcac9f809801..490a2be96fe8 100644 --- a/core/go.sum +++ b/core/go.sum @@ -1,8 +1,9 @@ -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= diff --git a/go.mod b/go.mod index 26373e0e40ee..3ffd9f680f26 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogogateway v1.2.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/cosmos/ledger-cosmos-go v0.13.3 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 github.com/golang/mock v1.6.0 diff --git a/go.sum b/go.sum index 5b7cdc2fb832..56980d1c8c61 100644 --- a/go.sum +++ b/go.sum @@ -102,8 +102,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/orm/go.mod b/orm/go.mod index 942ff0c4aed6..974f28519c54 100644 --- a/orm/go.mod +++ b/orm/go.mod @@ -32,7 +32,7 @@ require ( github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cucumber/gherkin/go/v27 v27.0.0 // indirect github.com/cucumber/messages/go/v22 v22.0.0 // indirect github.com/cucumber/tag-expressions/go/v6 v6.1.0 // indirect diff --git a/orm/go.sum b/orm/go.sum index d0d9f5a2d06a..4bdca95f8fda 100644 --- a/orm/go.sum +++ b/orm/go.sum @@ -31,8 +31,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/gherkin/go/v27 v27.0.0 h1:waJh5eeq7rrKn5Gf3/FI4G34ypduPRaV8e370dnupDI= github.com/cucumber/gherkin/go/v27 v27.0.0/go.mod h1:2JxwYskO0sO4kumc/Nv1g6bMncT5w0lShuKZnmUIhhk= @@ -71,6 +71,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index 17314ddddd52..2b216727cccb 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -29,7 +29,7 @@ require ( cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 cosmossdk.io/x/tx v0.13.3 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.1 diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index 1c3e3a354352..10fc43ba8b3f 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -40,8 +40,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= @@ -87,6 +87,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= diff --git a/server/v2/appmanager/go.mod b/server/v2/appmanager/go.mod index 9a9e0c8d1c03..feb846fb893e 100644 --- a/server/v2/appmanager/go.mod +++ b/server/v2/appmanager/go.mod @@ -8,7 +8,7 @@ replace cosmossdk.io/core => ../../../core require cosmossdk.io/core v0.12.0 require ( - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f // indirect diff --git a/server/v2/appmanager/go.sum b/server/v2/appmanager/go.sum index 9af79dcf759d..b44ff559fee4 100644 --- a/server/v2/appmanager/go.sum +++ b/server/v2/appmanager/go.sum @@ -1,7 +1,9 @@ -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 0d09c1af68d0..e1daaf5288b5 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -32,7 +32,7 @@ require ( github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/spf13/cobra v1.8.0 diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index a2a3bbeda889..bc5a9ed1a4fa 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -113,8 +113,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/server/v2/go.mod b/server/v2/go.mod index 06078109ed67..3770d34ee2eb 100644 --- a/server/v2/go.mod +++ b/server/v2/go.mod @@ -18,7 +18,7 @@ require ( cosmossdk.io/log v1.3.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/gogogateway v1.2.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/protobuf v1.5.4 github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/server/v2/go.sum b/server/v2/go.sum index 2cca72f8d420..31778d8f53cf 100644 --- a/server/v2/go.sum +++ b/server/v2/go.sum @@ -36,8 +36,8 @@ github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRAp github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/server/v2/stf/go.mod b/server/v2/stf/go.mod index da1c149ea856..6450864490ed 100644 --- a/server/v2/stf/go.mod +++ b/server/v2/stf/go.mod @@ -6,7 +6,7 @@ replace cosmossdk.io/core => ../../../core require ( cosmossdk.io/core v0.11.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/stretchr/testify v1.9.0 github.com/tidwall/btree v1.7.0 golang.org/x/exp v0.0.0-20231006140011-7918f672742d diff --git a/server/v2/stf/go.sum b/server/v2/stf/go.sum index 0d5f8da95b33..6275292f1139 100644 --- a/server/v2/stf/go.sum +++ b/server/v2/stf/go.sum @@ -1,7 +1,9 @@ -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= diff --git a/simapp/go.mod b/simapp/go.mod index 5abb0b66d9dd..46e39f69b058 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -35,7 +35,7 @@ require ( github.com/cosmos/cosmos-db v1.0.2 // this version is not used as it is always replaced by the latest Cosmos SDK version github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/spf13/cast v1.6.0 github.com/spf13/cobra v1.8.0 diff --git a/simapp/go.sum b/simapp/go.sum index 0d07bbf6802a..2f3a923d8552 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -311,8 +311,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/store/go.mod b/store/go.mod index b8262faf50e9..77825cb7a3b0 100644 --- a/store/go.mod +++ b/store/go.mod @@ -11,7 +11,7 @@ require ( github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/cosmos/iavl v1.1.4 github.com/cosmos/ics23/go v0.10.0 github.com/golang/mock v1.6.0 diff --git a/store/go.sum b/store/go.sum index 7129645b9b3e..8f3cb8fee8e3 100644 --- a/store/go.sum +++ b/store/go.sum @@ -41,8 +41,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/store/v2/go.mod b/store/v2/go.mod index 96216612ee5a..fc15bc41939a 100644 --- a/store/v2/go.mod +++ b/store/v2/go.mod @@ -7,7 +7,7 @@ require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.3.1 github.com/cockroachdb/pebble v1.1.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/cosmos/iavl v1.2.0 github.com/cosmos/ics23/go v0.10.0 github.com/google/btree v1.1.2 diff --git a/store/v2/go.sum b/store/v2/go.sum index f72b00dc8ae6..06554a9f5720 100644 --- a/store/v2/go.sum +++ b/store/v2/go.sum @@ -34,8 +34,8 @@ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1: github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= @@ -81,6 +81,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= diff --git a/tests/go.mod b/tests/go.mod index 959d889384c9..c32b5d0d4492 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -23,7 +23,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 // this version is not used as it is always replaced by the latest Cosmos SDK version github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/spf13/cobra v1.8.0 github.com/stretchr/testify v1.9.0 diff --git a/tests/go.sum b/tests/go.sum index 3970421559e5..384544540b00 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -311,8 +311,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index 7003f45b1435..559583b7c92f 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -6,7 +6,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/cosmos-sdk v0.50.6 github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cosmos/iavl v1.1.4 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect github.com/golang/protobuf v1.5.4 // indirect diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 0a7758bfa020..b3472acb864c 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -150,8 +150,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/tools/confix/go.mod b/tools/confix/go.mod index a9e72c410c60..a718848bcb7f 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -46,7 +46,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cosmos/iavl v1.1.4 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect diff --git a/tools/confix/go.sum b/tools/confix/go.sum index 504cf0994075..fd7b4c58e878 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -150,8 +150,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index db25a3978c5f..5cd2abd60379 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -53,7 +53,7 @@ require ( github.com/cosmos/cosmos-sdk v0.50.6 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cosmos/iavl v1.1.4 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index 3e5d55b7d7c1..319c32782af9 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -333,8 +333,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index a8be52c305f0..311ed9fd9bf8 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -46,7 +46,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cosmos/iavl v1.1.4 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index b925a558e7c1..f7f4a84e6dc5 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -156,8 +156,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 955a615cee93..ca0f42221244 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/x/distribution v0.0.0-00010101000000-000000000000 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 ) require cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index b9abf1b270d3..2dbbdc035151 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -97,8 +97,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 229a1b3732a2..56fa7562f60a 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -10,7 +10,7 @@ require ( cosmossdk.io/depinject v1.0.0-alpha.4 cosmossdk.io/x/tx v0.13.3 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 github.com/spf13/cobra v1.8.0 github.com/stretchr/testify v1.9.0 diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 084da7a4a038..001f8bb11d63 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -107,8 +107,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/auth/go.mod b/x/auth/go.mod index 48fda482554a..1e428df69150 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -17,7 +17,7 @@ require ( github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 diff --git a/x/auth/go.sum b/x/auth/go.sum index 584f1798d46f..6faad05a8246 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -107,8 +107,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/authz/go.mod b/x/authz/go.mod index 1da2a2e67026..0549245f7b6d 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -19,7 +19,7 @@ require ( github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/authz/go.sum b/x/authz/go.sum index 584f1798d46f..6faad05a8246 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -107,8 +107,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/bank/go.mod b/x/bank/go.mod index 9475a9e237f9..c34ffc8c3b86 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -16,7 +16,7 @@ require ( github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/bank/go.sum b/x/bank/go.sum index 584f1798d46f..6faad05a8246 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -107,8 +107,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index a4ccd4b6d707..e0a782728c26 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/stretchr/testify v1.9.0 diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index cc990c627a04..cbe83cf1d6d1 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -13,7 +13,7 @@ require ( github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index ea4874c89b74..5acdabd327a8 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -16,7 +16,7 @@ require ( cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/distribution/go.sum b/x/distribution/go.sum index cf3d13689f90..12c1077db7d4 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index f244098b7d39..8af1ec609c51 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/stretchr/testify v1.9.0 diff --git a/x/epochs/go.sum b/x/epochs/go.sum index 993146ae621f..7eb63e19e416 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 65c1c87cf983..6536ca63a572 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -13,7 +13,7 @@ require ( cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 6397644ac62b..b0b6de9fa186 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -15,7 +15,7 @@ require ( github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index a3ef6b350ce7..dd96921a98c6 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -115,8 +115,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/gov/go.mod b/x/gov/go.mod index 12a82f72314c..c049416fa50d 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -21,7 +21,7 @@ require ( github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/gov/go.sum b/x/gov/go.sum index 5b912201b240..8d888aa70016 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -113,8 +113,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/group/go.mod b/x/group/go.mod index 8c5dcf677e59..fe55e321ad64 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -23,7 +23,7 @@ require ( github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/group/go.sum b/x/group/go.sum index abda5a4ddf13..d9cc54575ff2 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -115,8 +115,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/mint/go.mod b/x/mint/go.mod index a8050cbf4313..e1f4b0861275 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -15,7 +15,7 @@ require ( github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/mint/go.sum b/x/mint/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/nft/go.mod b/x/nft/go.mod index 1bb3a1782f34..c4ce201d4c99 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -12,7 +12,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/nft/go.sum b/x/nft/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/params/go.mod b/x/params/go.mod index 4a32289bf692..2f528a196735 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -15,7 +15,7 @@ require ( github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/params/go.sum b/x/params/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index 6f752a797122..41a44493659e 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -14,7 +14,7 @@ require ( cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index 9833880a5fe9..ca4e47166b63 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -109,8 +109,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index 11614b5c7d59..30fe9eb21862 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -15,7 +15,7 @@ require ( github.com/bits-and-blooms/bitset v1.10.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/slashing/go.sum b/x/slashing/go.sum index a66750bc046d..8f64ab0672eb 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -111,8 +111,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/staking/go.mod b/x/staking/go.mod index 0852c4353d78..cabfa348f4bb 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -14,7 +14,7 @@ require ( github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 diff --git a/x/staking/go.sum b/x/staking/go.sum index 584f1798d46f..6faad05a8246 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -107,8 +107,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= diff --git a/x/tx/go.mod b/x/tx/go.mod index 1dad149f5a4d..a1bf2d124c37 100644 --- a/x/tx/go.mod +++ b/x/tx/go.mod @@ -8,7 +8,7 @@ require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.3.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/google/go-cmp v0.6.0 github.com/google/gofuzz v1.2.0 github.com/iancoleman/strcase v0.3.0 diff --git a/x/tx/go.sum b/x/tx/go.sum index bbef6e0b475d..d701188e5ffe 100644 --- a/x/tx/go.sum +++ b/x/tx/go.sum @@ -6,14 +6,16 @@ cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index bff5751523c2..16ad90c2e4a6 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -17,7 +17,7 @@ require ( github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/hashicorp/go-cleanhttp v0.5.2 diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 3f82adb66f91..9930baafe568 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -315,8 +315,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= From ce0d28761a48f515bcbd37eb61b4c935df74cbe3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:43:58 +0000 Subject: [PATCH 19/41] build(deps): Bump cosmossdk.io/x/upgrade from 0.1.2 to 0.1.3 in /tools/cosmovisor (#20573) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julien Robert --- tools/cosmovisor/CHANGELOG.md | 7 +- tools/cosmovisor/go.mod | 95 +++++++------- tools/cosmovisor/go.sum | 237 ++++++++++++++-------------------- 3 files changed, 152 insertions(+), 187 deletions(-) diff --git a/tools/cosmovisor/CHANGELOG.md b/tools/cosmovisor/CHANGELOG.md index 39b549e882ba..220fc0745025 100644 --- a/tools/cosmovisor/CHANGELOG.md +++ b/tools/cosmovisor/CHANGELOG.md @@ -35,8 +35,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ # Changelog ## [Unreleased] -* [#20062](https://github.com/cosmos/cosmos-sdk/pull/20062) Fixed cosmovisor add-upgrade permissions - ## Features @@ -44,12 +42,17 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## Improvements +* [#20573](https://github.com/cosmos/cosmos-sdk/pull/20573) Bump `cosmossdk.io/x/upgrade` to v0.1.3 (including go-getter vulnerability fix) * [#19995](https://github.com/cosmos/cosmos-sdk/pull/19995): * `init command` writes the configuration to the config file only at the default path `DAEMON_HOME/cosmovisor/config.toml`. * Provide `--cosmovisor-config` flag with value as args to provide the path to the configuration file in the `run` command. `run --cosmovisor-config (other cmds with flags) ...`. * Add `--cosmovisor-config` flag to provide `config.toml` path to the configuration file in root command used by `add-upgrade` and `config` subcommands. * `config command` now displays the configuration from the config file if it is provided. If the config file is not provided, it will display the configuration from the environment variables. +## Bug Fixes + +* [#20062](https://github.com/cosmos/cosmos-sdk/pull/20062) Fixed cosmovisor add-upgrade permissions + ## v1.5.0 - 2023-07-17 ## Features diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index 5cd2abd60379..5380d20fa7d1 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -1,10 +1,12 @@ module cosmossdk.io/tools/cosmovisor -go 1.21 +go 1.22.2 + +toolchain go1.22.4 require ( cosmossdk.io/log v1.3.1 - cosmossdk.io/x/upgrade v0.1.2 + cosmossdk.io/x/upgrade v0.1.3 github.com/otiai10/copy v1.14.0 github.com/pelletier/go-toml/v2 v2.2.2 github.com/spf13/cobra v1.8.0 @@ -13,12 +15,12 @@ require ( ) require ( - cloud.google.com/go v0.112.2 // indirect - cloud.google.com/go/auth v0.2.2 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.1 // indirect + cloud.google.com/go v0.114.0 // indirect + cloud.google.com/go/auth v0.5.1 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect cloud.google.com/go/compute/metadata v0.3.0 // indirect - cloud.google.com/go/iam v1.1.7 // indirect - cloud.google.com/go/storage v1.40.0 // indirect + cloud.google.com/go/iam v1.1.8 // indirect + cloud.google.com/go/storage v1.41.0 // indirect cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect @@ -29,69 +31,69 @@ require ( cosmossdk.io/x/tx v0.13.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.1 // indirect - github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/99designs/keyring v1.2.2 // indirect + github.com/DataDog/datadog-go v4.8.3+incompatible // indirect github.com/DataDog/zstd v1.5.5 // indirect - github.com/aws/aws-sdk-go v1.51.25 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/aws/aws-sdk-go v1.53.17 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.3 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect - github.com/cespare/xxhash v1.1.0 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cockroachdb/errors v1.11.1 // indirect + github.com/cockroachdb/errors v1.11.3 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v0.38.7 // indirect - github.com/cometbft/cometbft-db v0.9.1 // indirect + github.com/cometbft/cometbft-db v0.12.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect - github.com/cosmos/cosmos-sdk v0.50.6 // indirect + github.com/cosmos/cosmos-sdk v0.50.7 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/gogoproto v1.5.0 // indirect - github.com/cosmos/iavl v1.1.4 // indirect + github.com/cosmos/iavl v1.2.0 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect - github.com/danieljoos/wincred v1.1.2 // indirect + github.com/danieljoos/wincred v1.2.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v2 v2.2007.4 // indirect + github.com/dgraph-io/badger/v4 v4.2.0 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect - github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/dvsekhvalnov/jose2go v1.7.0 // indirect github.com/emicklei/dot v1.6.2 // indirect github.com/fatih/color v1.17.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/getsentry/sentry-go v0.27.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect + github.com/getsentry/sentry-go v0.28.0 // indirect + github.com/go-kit/kit v0.13.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.2.0 // indirect + github.com/golang/glog v1.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect + github.com/google/flatbuffers v24.3.25+incompatible // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.3 // indirect + github.com/googleapis/gax-go/v2 v2.12.4 // indirect github.com/gorilla/handlers v1.5.2 // indirect github.com/gorilla/mux v1.8.1 // indirect - github.com/gorilla/websocket v1.5.0 // indirect + github.com/gorilla/websocket v1.5.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect @@ -102,7 +104,7 @@ require ( github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.6.1 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect @@ -116,8 +118,9 @@ require ( github.com/klauspost/compress v1.17.8 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect + github.com/lib/pq v1.10.9 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/linxGnu/grocksdb v1.8.14 // indirect + github.com/linxGnu/grocksdb v1.9.1 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -127,18 +130,18 @@ require ( github.com/mtibben/percent v0.2.1 // indirect github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect github.com/oklog/run v1.1.0 // indirect - github.com/petermattis/goid v0.0.0-20240327183114-c42a807a84ba // indirect + github.com/petermattis/goid v0.0.0-20240503122002-4b96552b8156 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.54.0 // indirect - github.com/prometheus/procfs v0.14.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect - github.com/rs/cors v1.8.3 // indirect + github.com/rs/cors v1.11.0 // indirect github.com/rs/zerolog v1.33.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/locafero v0.6.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/sourcegraph/conc v0.3.0 // indirect @@ -152,33 +155,33 @@ require ( github.com/ulikunitz/xz v0.5.12 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect - go.etcd.io/bbolt v1.3.8 // indirect + go.etcd.io/bbolt v1.4.0-alpha.1 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 // indirect - go.opentelemetry.io/otel v1.25.0 // indirect - go.opentelemetry.io/otel/metric v1.25.0 // indirect - go.opentelemetry.io/otel/trace v1.25.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect + go.opentelemetry.io/otel v1.27.0 // indirect + go.opentelemetry.io/otel/metric v1.27.0 // indirect + go.opentelemetry.io/otel/trace v1.27.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.24.0 // indirect - golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.19.0 // indirect + golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/oauth2 v0.21.0 // indirect golang.org/x/sync v0.7.0 // indirect golang.org/x/sys v0.21.0 // indirect golang.org/x/term v0.21.0 // indirect golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - google.golang.org/api v0.175.0 // indirect - google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect + google.golang.org/api v0.183.0 // indirect + google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.1 // indirect - nhooyr.io/websocket v1.8.6 // indirect + nhooyr.io/websocket v1.8.11 // indirect pgregory.net/rapid v1.1.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index 319c32782af9..ce93c0670cd0 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -30,8 +30,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.112.2 h1:ZaGT6LiG7dBzi6zNOvVZwacaXlmf3lRqnC4DQzqyRQw= -cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= +cloud.google.com/go v0.114.0 h1:OIPFAdfrFDFO2ve2U7r/H5SwSbBzEdrBdE7xkgwc+kY= +cloud.google.com/go v0.114.0/go.mod h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -46,10 +46,10 @@ cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjby cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/auth v0.2.2 h1:gmxNJs4YZYcw6YvKRtVBaF2fyUE6UrWPyzU8jHvYfmI= -cloud.google.com/go/auth v0.2.2/go.mod h1:2bDNJWtWziDT3Pu1URxHHbkHE/BbOCuyUiKIGcNvafo= -cloud.google.com/go/auth/oauth2adapt v0.2.1 h1:VSPmMmUlT8CkIZ2PzD9AlLN+R3+D1clXMWHHa6vG/Ag= -cloud.google.com/go/auth/oauth2adapt v0.2.1/go.mod h1:tOdK/k+D2e4GEwfBRA48dKNQiDsqIXxLh7VU319eV0g= +cloud.google.com/go/auth v0.5.1 h1:0QNO7VThG54LUzKiQxv8C6x1YX7lUrzlAa1nVLF8CIw= +cloud.google.com/go/auth v0.5.1/go.mod h1:vbZT8GjzDf3AVqCcQmqeeM32U9HBFc32vVVAbwDsa6s= +cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -111,8 +111,8 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v1.1.7 h1:z4VHOhwKLF/+UYXAJDFwGtNF0b6gjsW1Pk9Ml0U/IoM= -cloud.google.com/go/iam v1.1.7/go.mod h1:J4PMPg8TtyurAUvSmPj8FF3EDgY1SPRZxcUGrn7WXGA= +cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0= +cloud.google.com/go/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= @@ -173,8 +173,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.40.0 h1:VEpDQV5CJxFmJ6ueWNsKxcr1QAYOXEgxDa+sBbJahPw= -cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2ucUMY7Ir0g= +cloud.google.com/go/storage v1.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0= +cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -204,23 +204,25 @@ cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= -cosmossdk.io/x/upgrade v0.1.2 h1:O2FGb0mVSXl7P6BQm9uV3hRVKom1zBLDGhd4G8jysJg= -cosmossdk.io/x/upgrade v0.1.2/go.mod h1:P+e4/ZNd8km7lTAX5hC2pXz/042YDcB7gzKTHuY53nc= +cosmossdk.io/x/upgrade v0.1.3 h1:q4XpXc6zp0dX6x74uBtfN6+J7ikaQev5Bla6Q0ADLK8= +cosmossdk.io/x/upgrade v0.1.3/go.mod h1:jOdQhnaY5B8CDUoUbed23/Lre0Dk+r6BMQE40iKlVVQ= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= +github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= 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/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/datadog-go v4.8.3+incompatible h1:fNGaYSuObuQb5nzeTQqowRAd9bpDIRRV4/gUtIBjh8Q= +github.com/DataDog/datadog-go v4.8.3+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -236,15 +238,14 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.51.25 h1:DjTT8mtmsachhV6yrXR8+yhnG6120dazr720nopRsls= -github.com/aws/aws-sdk-go v1.51.25/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.53.17 h1:TwtYMzVBTaqPVj/pcemHRIgk01OycWEcEUyUUX0tpCI= +github.com/aws/aws-sdk-go v1.53.17/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -269,10 +270,9 @@ github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g1 github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -299,8 +299,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= -github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= +github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= +github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= @@ -312,10 +312,8 @@ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1: github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/cometbft/cometbft v0.38.7 h1:ULhIOJ9+LgSy6nLekhq9ae3juX3NnQUMMPyVdhZV6Hk= github.com/cometbft/cometbft v0.38.7/go.mod h1:HIyf811dFMI73IE0F7RrnY/Fr+d1+HuJAgtkEpQjCMY= -github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= -github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/cometbft/cometbft-db v0.12.0 h1:v77/z0VyfSU7k682IzZeZPFZrQAKiQwkqGN0QzAjMi0= +github.com/cometbft/cometbft-db v0.12.0/go.mod h1:aX2NbCrjNVd2ZajYxt1BsiFf/Z+TQ2MN0VxdicheYuw= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= @@ -326,8 +324,8 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.6 h1:efR3MsvMHX5sxS3be+hOobGk87IzlZbSpsI2x/Vw3hk= -github.com/cosmos/cosmos-sdk v0.50.6/go.mod h1:lVkRY6cdMJ0fG3gp8y4hFrsKZqF4z7y0M2UXFb9Yt40= +github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= +github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= 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= @@ -335,19 +333,18 @@ 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.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= -github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= -github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= +github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= +github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= 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.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= -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.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= 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/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= +github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= +github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -358,9 +355,8 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnN github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= -github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/badger/v4 v4.2.0 h1:kJrlajbXXL9DFTNuhhu9yCx7JJa4qpYWxtE8BzuWsEs= +github.com/dgraph-io/badger/v4 v4.2.0/go.mod h1:qfCqhPoWDFJRx1gp5QwwyGo8xk1lbHUxvK9nK0OGAak= github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= @@ -371,8 +367,8 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= -github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.7.0 h1:bnQc8+GMnidJZA8zc6lLEAb4xNrIqHwO+9TzqvtQZPo= +github.com/dvsekhvalnov/jose2go v1.7.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -407,14 +403,11 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= -github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.28.0 h1:7Rqx9M3ythTKy2J6uZLHmc8Sz9OGgIlseuO1iBX/s0M= +github.com/getsentry/sentry-go v0.28.0/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= -github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -423,8 +416,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/kit v0.13.0 h1:OoneCcHKHQ03LfBpoQCUfCluwd2Vt3ohz+kvbJneZAU= +github.com/go-kit/kit v0.13.0/go.mod h1:phqEHMMUbyrCFCTgH48JueqrM3md2HcAZ8N3XE4FKDg= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= @@ -434,31 +427,20 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= 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= @@ -473,8 +455,8 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= +github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -519,6 +501,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI= +github.com/google/flatbuffers v24.3.25+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -545,8 +529,8 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= +github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -586,8 +570,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= -github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= +github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg= +github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -599,8 +583,8 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= @@ -641,8 +625,9 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -690,8 +675,6 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= @@ -703,7 +686,6 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= @@ -718,18 +700,15 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= -github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= -github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= +github.com/linxGnu/grocksdb v1.9.1 h1:LmwuHzsWglxJrIES9jvS2O1xTPD2nnKYhAQDx5dIyRo= +github.com/linxGnu/grocksdb v1.9.1/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -767,12 +746,9 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -788,8 +764,9 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= 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/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= @@ -829,13 +806,12 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20240327183114-c42a807a84ba h1:3jPgmsFGBID1wFfU2AbYocNcN4wqU68UaHSdMjiw/7U= -github.com/petermattis/goid v0.0.0-20240327183114-c42a807a84ba/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20240503122002-4b96552b8156 h1:UOk0WKXxKXmHSlIkwQNhT5AWlMtkijU5pfj8bCOI9vQ= +github.com/petermattis/goid v0.0.0-20240503122002-4b96552b8156/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= @@ -880,8 +856,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= -github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -892,17 +868,16 @@ github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/f github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= -github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/cors v1.11.0 h1:0B9GE/r9Bc2UxRMMtymBkHTenPkHDv0CW4Y98GBY+po= +github.com/rs/cors v1.11.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/locafero v0.6.0 h1:ON7AQg37yzcRPU69mt7gwhFEBwxI6P9T4Qu3N51bwOk= +github.com/sagikazarmark/locafero v0.6.0/go.mod h1:77OmuIc6VTraTXKXIs/uvUxKGUXjE1GbemJYHqdNjX0= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -921,24 +896,16 @@ github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -973,19 +940,14 @@ github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= -github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -997,8 +959,8 @@ github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWp github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= -go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.4.0-alpha.1 h1:3yrqQzbRRPFPdOMWS/QQIVxVnzSkAZQYeWlZFv1kbj4= +go.etcd.io/bbolt v1.4.0-alpha.1/go.mod h1:S/Z/Nm3iuOnyO1W4XuFfPci51Gj6F1Hv0z8hisyYYOw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1011,18 +973,18 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 h1:zvpPXY7RfYAGSdYQLjp6zxdJNSYD/+FFoCTQN9IPxBs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0/go.mod h1:BMn8NB1vsxTljvuorms2hyOs8IBuuBEq0pl7ltOfy30= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 h1:cEPbyTSEHlQR89XVlyo78gqluF8Y3oMeBkXGWzQsfXY= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0/go.mod h1:DKdbWcT4GH1D0Y3Sqt/PFXt2naRKDWtU+eE6oLdFNA8= -go.opentelemetry.io/otel v1.25.0 h1:gldB5FfhRl7OJQbUHt/8s0a7cE8fbsPAtdpRaApKy4k= -go.opentelemetry.io/otel v1.25.0/go.mod h1:Wa2ds5NOXEMkCmUou1WA7ZBfLTHWIsp034OVD7AO+Vg= -go.opentelemetry.io/otel/metric v1.25.0 h1:LUKbS7ArpFL/I2jJHdJcqMGxkRdxpPHE0VU/D4NuEwA= -go.opentelemetry.io/otel/metric v1.25.0/go.mod h1:rkDLUSd2lC5lq2dFNrX9LGAbINP5B7WBkC78RXCpH5s= -go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -go.opentelemetry.io/otel/trace v1.25.0 h1:tqukZGLwQYRIFtSQM2u2+yfMVTgGVeqRLPUYx1Dq6RM= -go.opentelemetry.io/otel/trace v1.25.0/go.mod h1:hCCs70XM/ljO+BeQkyFnbK28SBIJ/Emuha+ccrCRT7I= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 h1:9l89oX4ba9kHbBol3Xin3leYJ+252h0zszDtBwyKe2A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0/go.mod h1:XLZfZboOJWHNKUv7eH0inh0E9VV6eWDFB/9yJyTLPp0= +go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= +go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= +go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= +go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= +go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= +go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1040,7 +1002,6 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1062,8 +1023,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1149,8 +1110,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1176,8 +1137,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= -golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= +golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= +golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1202,7 +1163,6 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1211,7 +1171,6 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1261,7 +1220,6 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1435,8 +1393,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.175.0 h1:9bMDh10V9cBuU8N45Wlc3cKkItfqMRV0Fi8UscLEtbY= -google.golang.org/api v0.175.0/go.mod h1:Rra+ltKu14pps/4xTycZfobMgLpbosoaaL7c+SEMrO8= +google.golang.org/api v0.183.0 h1:PNMeRDwo1pJdgNcFQ9GstuLe/noWKIc89pRWRLMvLwE= +google.golang.org/api v0.183.0/go.mod h1:q43adC5/pHoSZTx5h2mSmdF7NcyfW9JuDyIOJAgS9ZQ= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1551,12 +1509,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be h1:g4aX8SUFA8V5F4LrSY5EclyGYw1OZN4HS1jTyjB9ZDc= -google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be/go.mod h1:FeSdT5fk+lkxatqJP38MsUicGqHax5cLtmy/6TAuxO4= -google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be h1:Zz7rLWqp0ApfsR/l7+zSHhY3PMiH2xqgxlfYfAfNpoU= -google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be/go.mod h1:dvdCTIoAGbkWbcIKBniID56/7XHTt6WfxXNMxuziJ+w= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:AgADTJarZTBqgjiUzRgfaBchgYB3/WFTC80GPwsMcRI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 h1:HCZ6DlkKtCDAtD8ForECsY3tKuaR+p4R3grlK80uCCc= +google.golang.org/genproto v0.0.0-20240604185151-ef581f913117/go.mod h1:lesfX/+9iA+3OdqeCpoDddJaNxVB1AB6tD7EfqMmprc= +google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU= +google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1660,8 +1618,9 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0= +nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= From 031b0c94edb215808dc8cb5af123fef752d867e2 Mon Sep 17 00:00:00 2001 From: Marko Date: Thu, 6 Jun 2024 14:40:16 +0200 Subject: [PATCH 20/41] chore: generate protos (#20582) --- api/cosmos/streaming/v1/grpc.pulsar.go | 5365 +++++++++++++++++++++++ api/cosmos/streaming/v1/grpc_grpc.pb.go | 150 + 2 files changed, 5515 insertions(+) create mode 100644 api/cosmos/streaming/v1/grpc.pulsar.go create mode 100644 api/cosmos/streaming/v1/grpc_grpc.pb.go diff --git a/api/cosmos/streaming/v1/grpc.pulsar.go b/api/cosmos/streaming/v1/grpc.pulsar.go new file mode 100644 index 000000000000..76b76b8c89b3 --- /dev/null +++ b/api/cosmos/streaming/v1/grpc.pulsar.go @@ -0,0 +1,5365 @@ +// Code generated by protoc-gen-go-pulsar. DO NOT EDIT. +package streamingv1 + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_ListenDeliverBlockRequest_2_list)(nil) + +type _ListenDeliverBlockRequest_2_list struct { + list *[][]byte +} + +func (x *_ListenDeliverBlockRequest_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ListenDeliverBlockRequest_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfBytes((*x.list)[i]) +} + +func (x *_ListenDeliverBlockRequest_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_ListenDeliverBlockRequest_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Bytes() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_ListenDeliverBlockRequest_2_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message ListenDeliverBlockRequest at list field Txs as it is not of Message kind")) +} + +func (x *_ListenDeliverBlockRequest_2_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_ListenDeliverBlockRequest_2_list) NewElement() protoreflect.Value { + var v []byte + return protoreflect.ValueOfBytes(v) +} + +func (x *_ListenDeliverBlockRequest_2_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_ListenDeliverBlockRequest_3_list)(nil) + +type _ListenDeliverBlockRequest_3_list struct { + list *[]*Event +} + +func (x *_ListenDeliverBlockRequest_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ListenDeliverBlockRequest_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Event) + (*x.list)[i] = concreteValue +} + +func (x *_ListenDeliverBlockRequest_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Event) + *x.list = append(*x.list, concreteValue) +} + +func (x *_ListenDeliverBlockRequest_3_list) AppendMutable() protoreflect.Value { + v := new(Event) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_ListenDeliverBlockRequest_3_list) NewElement() protoreflect.Value { + v := new(Event) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_3_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_ListenDeliverBlockRequest_4_list)(nil) + +type _ListenDeliverBlockRequest_4_list struct { + list *[]*ExecTxResult +} + +func (x *_ListenDeliverBlockRequest_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ListenDeliverBlockRequest_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ExecTxResult) + (*x.list)[i] = concreteValue +} + +func (x *_ListenDeliverBlockRequest_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ExecTxResult) + *x.list = append(*x.list, concreteValue) +} + +func (x *_ListenDeliverBlockRequest_4_list) AppendMutable() protoreflect.Value { + v := new(ExecTxResult) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_4_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_ListenDeliverBlockRequest_4_list) NewElement() protoreflect.Value { + v := new(ExecTxResult) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenDeliverBlockRequest_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_ListenDeliverBlockRequest protoreflect.MessageDescriptor + fd_ListenDeliverBlockRequest_block_height protoreflect.FieldDescriptor + fd_ListenDeliverBlockRequest_txs protoreflect.FieldDescriptor + fd_ListenDeliverBlockRequest_events protoreflect.FieldDescriptor + fd_ListenDeliverBlockRequest_tx_results protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_ListenDeliverBlockRequest = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("ListenDeliverBlockRequest") + fd_ListenDeliverBlockRequest_block_height = md_ListenDeliverBlockRequest.Fields().ByName("block_height") + fd_ListenDeliverBlockRequest_txs = md_ListenDeliverBlockRequest.Fields().ByName("txs") + fd_ListenDeliverBlockRequest_events = md_ListenDeliverBlockRequest.Fields().ByName("events") + fd_ListenDeliverBlockRequest_tx_results = md_ListenDeliverBlockRequest.Fields().ByName("tx_results") +} + +var _ protoreflect.Message = (*fastReflection_ListenDeliverBlockRequest)(nil) + +type fastReflection_ListenDeliverBlockRequest ListenDeliverBlockRequest + +func (x *ListenDeliverBlockRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_ListenDeliverBlockRequest)(x) +} + +func (x *ListenDeliverBlockRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ListenDeliverBlockRequest_messageType fastReflection_ListenDeliverBlockRequest_messageType +var _ protoreflect.MessageType = fastReflection_ListenDeliverBlockRequest_messageType{} + +type fastReflection_ListenDeliverBlockRequest_messageType struct{} + +func (x fastReflection_ListenDeliverBlockRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_ListenDeliverBlockRequest)(nil) +} +func (x fastReflection_ListenDeliverBlockRequest_messageType) New() protoreflect.Message { + return new(fastReflection_ListenDeliverBlockRequest) +} +func (x fastReflection_ListenDeliverBlockRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ListenDeliverBlockRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ListenDeliverBlockRequest) Descriptor() protoreflect.MessageDescriptor { + return md_ListenDeliverBlockRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ListenDeliverBlockRequest) Type() protoreflect.MessageType { + return _fastReflection_ListenDeliverBlockRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ListenDeliverBlockRequest) New() protoreflect.Message { + return new(fastReflection_ListenDeliverBlockRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ListenDeliverBlockRequest) Interface() protoreflect.ProtoMessage { + return (*ListenDeliverBlockRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ListenDeliverBlockRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.BlockHeight) + if !f(fd_ListenDeliverBlockRequest_block_height, value) { + return + } + } + if len(x.Txs) != 0 { + value := protoreflect.ValueOfList(&_ListenDeliverBlockRequest_2_list{list: &x.Txs}) + if !f(fd_ListenDeliverBlockRequest_txs, value) { + return + } + } + if len(x.Events) != 0 { + value := protoreflect.ValueOfList(&_ListenDeliverBlockRequest_3_list{list: &x.Events}) + if !f(fd_ListenDeliverBlockRequest_events, value) { + return + } + } + if len(x.TxResults) != 0 { + value := protoreflect.ValueOfList(&_ListenDeliverBlockRequest_4_list{list: &x.TxResults}) + if !f(fd_ListenDeliverBlockRequest_tx_results, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ListenDeliverBlockRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + return x.BlockHeight != int64(0) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + return len(x.Txs) != 0 + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + return len(x.Events) != 0 + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + return len(x.TxResults) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + x.BlockHeight = int64(0) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + x.Txs = nil + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + x.Events = nil + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + x.TxResults = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ListenDeliverBlockRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + value := x.BlockHeight + return protoreflect.ValueOfInt64(value) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + if len(x.Txs) == 0 { + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_2_list{}) + } + listValue := &_ListenDeliverBlockRequest_2_list{list: &x.Txs} + return protoreflect.ValueOfList(listValue) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + if len(x.Events) == 0 { + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_3_list{}) + } + listValue := &_ListenDeliverBlockRequest_3_list{list: &x.Events} + return protoreflect.ValueOfList(listValue) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + if len(x.TxResults) == 0 { + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_4_list{}) + } + listValue := &_ListenDeliverBlockRequest_4_list{list: &x.TxResults} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + x.BlockHeight = value.Int() + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + lv := value.List() + clv := lv.(*_ListenDeliverBlockRequest_2_list) + x.Txs = *clv.list + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + lv := value.List() + clv := lv.(*_ListenDeliverBlockRequest_3_list) + x.Events = *clv.list + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + lv := value.List() + clv := lv.(*_ListenDeliverBlockRequest_4_list) + x.TxResults = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + if x.Txs == nil { + x.Txs = [][]byte{} + } + value := &_ListenDeliverBlockRequest_2_list{list: &x.Txs} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + if x.Events == nil { + x.Events = []*Event{} + } + value := &_ListenDeliverBlockRequest_3_list{list: &x.Events} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + if x.TxResults == nil { + x.TxResults = []*ExecTxResult{} + } + value := &_ListenDeliverBlockRequest_4_list{list: &x.TxResults} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + panic(fmt.Errorf("field block_height of message cosmos.streaming.v1.ListenDeliverBlockRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ListenDeliverBlockRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenDeliverBlockRequest.block_height": + return protoreflect.ValueOfInt64(int64(0)) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.txs": + list := [][]byte{} + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_2_list{list: &list}) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.events": + list := []*Event{} + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_3_list{list: &list}) + case "cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results": + list := []*ExecTxResult{} + return protoreflect.ValueOfList(&_ListenDeliverBlockRequest_4_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ListenDeliverBlockRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.ListenDeliverBlockRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ListenDeliverBlockRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ListenDeliverBlockRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ListenDeliverBlockRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ListenDeliverBlockRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.BlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.BlockHeight)) + } + if len(x.Txs) > 0 { + for _, b := range x.Txs { + l = len(b) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.Events) > 0 { + for _, e := range x.Events { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.TxResults) > 0 { + for _, e := range x.TxResults { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ListenDeliverBlockRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.TxResults) > 0 { + for iNdEx := len(x.TxResults) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.TxResults[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + } + if len(x.Events) > 0 { + for iNdEx := len(x.Events) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Events[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.Txs) > 0 { + for iNdEx := len(x.Txs) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Txs[iNdEx]) + copy(dAtA[i:], x.Txs[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Txs[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if x.BlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ListenDeliverBlockRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenDeliverBlockRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenDeliverBlockRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + x.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Txs = append(x.Txs, make([]byte, postIndex-iNdEx)) + copy(x.Txs[len(x.Txs)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Events = append(x.Events, &Event{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Events[len(x.Events)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TxResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TxResults = append(x.TxResults, &ExecTxResult{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.TxResults[len(x.TxResults)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_ListenDeliverBlockResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_ListenDeliverBlockResponse = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("ListenDeliverBlockResponse") +} + +var _ protoreflect.Message = (*fastReflection_ListenDeliverBlockResponse)(nil) + +type fastReflection_ListenDeliverBlockResponse ListenDeliverBlockResponse + +func (x *ListenDeliverBlockResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_ListenDeliverBlockResponse)(x) +} + +func (x *ListenDeliverBlockResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ListenDeliverBlockResponse_messageType fastReflection_ListenDeliverBlockResponse_messageType +var _ protoreflect.MessageType = fastReflection_ListenDeliverBlockResponse_messageType{} + +type fastReflection_ListenDeliverBlockResponse_messageType struct{} + +func (x fastReflection_ListenDeliverBlockResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_ListenDeliverBlockResponse)(nil) +} +func (x fastReflection_ListenDeliverBlockResponse_messageType) New() protoreflect.Message { + return new(fastReflection_ListenDeliverBlockResponse) +} +func (x fastReflection_ListenDeliverBlockResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ListenDeliverBlockResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ListenDeliverBlockResponse) Descriptor() protoreflect.MessageDescriptor { + return md_ListenDeliverBlockResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ListenDeliverBlockResponse) Type() protoreflect.MessageType { + return _fastReflection_ListenDeliverBlockResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ListenDeliverBlockResponse) New() protoreflect.Message { + return new(fastReflection_ListenDeliverBlockResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ListenDeliverBlockResponse) Interface() protoreflect.ProtoMessage { + return (*ListenDeliverBlockResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ListenDeliverBlockResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ListenDeliverBlockResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ListenDeliverBlockResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ListenDeliverBlockResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenDeliverBlockResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenDeliverBlockResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ListenDeliverBlockResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.ListenDeliverBlockResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ListenDeliverBlockResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenDeliverBlockResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ListenDeliverBlockResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ListenDeliverBlockResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ListenDeliverBlockResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ListenDeliverBlockResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ListenDeliverBlockResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenDeliverBlockResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenDeliverBlockResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_ListenStateChangesRequest_2_list)(nil) + +type _ListenStateChangesRequest_2_list struct { + list *[]*StoreKVPair +} + +func (x *_ListenStateChangesRequest_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ListenStateChangesRequest_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_ListenStateChangesRequest_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*StoreKVPair) + (*x.list)[i] = concreteValue +} + +func (x *_ListenStateChangesRequest_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*StoreKVPair) + *x.list = append(*x.list, concreteValue) +} + +func (x *_ListenStateChangesRequest_2_list) AppendMutable() protoreflect.Value { + v := new(StoreKVPair) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenStateChangesRequest_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_ListenStateChangesRequest_2_list) NewElement() protoreflect.Value { + v := new(StoreKVPair) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ListenStateChangesRequest_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_ListenStateChangesRequest protoreflect.MessageDescriptor + fd_ListenStateChangesRequest_block_height protoreflect.FieldDescriptor + fd_ListenStateChangesRequest_change_set protoreflect.FieldDescriptor + fd_ListenStateChangesRequest_app_hash protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_ListenStateChangesRequest = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("ListenStateChangesRequest") + fd_ListenStateChangesRequest_block_height = md_ListenStateChangesRequest.Fields().ByName("block_height") + fd_ListenStateChangesRequest_change_set = md_ListenStateChangesRequest.Fields().ByName("change_set") + fd_ListenStateChangesRequest_app_hash = md_ListenStateChangesRequest.Fields().ByName("app_hash") +} + +var _ protoreflect.Message = (*fastReflection_ListenStateChangesRequest)(nil) + +type fastReflection_ListenStateChangesRequest ListenStateChangesRequest + +func (x *ListenStateChangesRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_ListenStateChangesRequest)(x) +} + +func (x *ListenStateChangesRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ListenStateChangesRequest_messageType fastReflection_ListenStateChangesRequest_messageType +var _ protoreflect.MessageType = fastReflection_ListenStateChangesRequest_messageType{} + +type fastReflection_ListenStateChangesRequest_messageType struct{} + +func (x fastReflection_ListenStateChangesRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_ListenStateChangesRequest)(nil) +} +func (x fastReflection_ListenStateChangesRequest_messageType) New() protoreflect.Message { + return new(fastReflection_ListenStateChangesRequest) +} +func (x fastReflection_ListenStateChangesRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ListenStateChangesRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ListenStateChangesRequest) Descriptor() protoreflect.MessageDescriptor { + return md_ListenStateChangesRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ListenStateChangesRequest) Type() protoreflect.MessageType { + return _fastReflection_ListenStateChangesRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ListenStateChangesRequest) New() protoreflect.Message { + return new(fastReflection_ListenStateChangesRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ListenStateChangesRequest) Interface() protoreflect.ProtoMessage { + return (*ListenStateChangesRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ListenStateChangesRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BlockHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.BlockHeight) + if !f(fd_ListenStateChangesRequest_block_height, value) { + return + } + } + if len(x.ChangeSet) != 0 { + value := protoreflect.ValueOfList(&_ListenStateChangesRequest_2_list{list: &x.ChangeSet}) + if !f(fd_ListenStateChangesRequest_change_set, value) { + return + } + } + if len(x.AppHash) != 0 { + value := protoreflect.ValueOfBytes(x.AppHash) + if !f(fd_ListenStateChangesRequest_app_hash, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ListenStateChangesRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + return x.BlockHeight != int64(0) + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + return len(x.ChangeSet) != 0 + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + return len(x.AppHash) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + x.BlockHeight = int64(0) + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + x.ChangeSet = nil + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + x.AppHash = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ListenStateChangesRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + value := x.BlockHeight + return protoreflect.ValueOfInt64(value) + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + if len(x.ChangeSet) == 0 { + return protoreflect.ValueOfList(&_ListenStateChangesRequest_2_list{}) + } + listValue := &_ListenStateChangesRequest_2_list{list: &x.ChangeSet} + return protoreflect.ValueOfList(listValue) + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + value := x.AppHash + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + x.BlockHeight = value.Int() + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + lv := value.List() + clv := lv.(*_ListenStateChangesRequest_2_list) + x.ChangeSet = *clv.list + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + x.AppHash = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + if x.ChangeSet == nil { + x.ChangeSet = []*StoreKVPair{} + } + value := &_ListenStateChangesRequest_2_list{list: &x.ChangeSet} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + panic(fmt.Errorf("field block_height of message cosmos.streaming.v1.ListenStateChangesRequest is not mutable")) + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + panic(fmt.Errorf("field app_hash of message cosmos.streaming.v1.ListenStateChangesRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ListenStateChangesRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ListenStateChangesRequest.block_height": + return protoreflect.ValueOfInt64(int64(0)) + case "cosmos.streaming.v1.ListenStateChangesRequest.change_set": + list := []*StoreKVPair{} + return protoreflect.ValueOfList(&_ListenStateChangesRequest_2_list{list: &list}) + case "cosmos.streaming.v1.ListenStateChangesRequest.app_hash": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesRequest")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ListenStateChangesRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.ListenStateChangesRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ListenStateChangesRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ListenStateChangesRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ListenStateChangesRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ListenStateChangesRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.BlockHeight != 0 { + n += 1 + runtime.Sov(uint64(x.BlockHeight)) + } + if len(x.ChangeSet) > 0 { + for _, e := range x.ChangeSet { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.AppHash) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ListenStateChangesRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.AppHash) > 0 { + i -= len(x.AppHash) + copy(dAtA[i:], x.AppHash) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AppHash))) + i-- + dAtA[i] = 0x1a + } + if len(x.ChangeSet) > 0 { + for iNdEx := len(x.ChangeSet) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.ChangeSet[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } + if x.BlockHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BlockHeight)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ListenStateChangesRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenStateChangesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenStateChangesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + } + x.BlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.BlockHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChangeSet", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ChangeSet = append(x.ChangeSet, &StoreKVPair{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ChangeSet[len(x.ChangeSet)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AppHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AppHash = append(x.AppHash[:0], dAtA[iNdEx:postIndex]...) + if x.AppHash == nil { + x.AppHash = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_ListenStateChangesResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_ListenStateChangesResponse = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("ListenStateChangesResponse") +} + +var _ protoreflect.Message = (*fastReflection_ListenStateChangesResponse)(nil) + +type fastReflection_ListenStateChangesResponse ListenStateChangesResponse + +func (x *ListenStateChangesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_ListenStateChangesResponse)(x) +} + +func (x *ListenStateChangesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ListenStateChangesResponse_messageType fastReflection_ListenStateChangesResponse_messageType +var _ protoreflect.MessageType = fastReflection_ListenStateChangesResponse_messageType{} + +type fastReflection_ListenStateChangesResponse_messageType struct{} + +func (x fastReflection_ListenStateChangesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_ListenStateChangesResponse)(nil) +} +func (x fastReflection_ListenStateChangesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_ListenStateChangesResponse) +} +func (x fastReflection_ListenStateChangesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ListenStateChangesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ListenStateChangesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_ListenStateChangesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ListenStateChangesResponse) Type() protoreflect.MessageType { + return _fastReflection_ListenStateChangesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ListenStateChangesResponse) New() protoreflect.Message { + return new(fastReflection_ListenStateChangesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ListenStateChangesResponse) Interface() protoreflect.ProtoMessage { + return (*ListenStateChangesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ListenStateChangesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ListenStateChangesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ListenStateChangesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ListenStateChangesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ListenStateChangesResponse")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ListenStateChangesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ListenStateChangesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.ListenStateChangesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ListenStateChangesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ListenStateChangesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ListenStateChangesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ListenStateChangesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ListenStateChangesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ListenStateChangesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ListenStateChangesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenStateChangesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ListenStateChangesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_StoreKVPair protoreflect.MessageDescriptor + fd_StoreKVPair_address protoreflect.FieldDescriptor + fd_StoreKVPair_key protoreflect.FieldDescriptor + fd_StoreKVPair_value protoreflect.FieldDescriptor + fd_StoreKVPair_delete protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_StoreKVPair = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("StoreKVPair") + fd_StoreKVPair_address = md_StoreKVPair.Fields().ByName("address") + fd_StoreKVPair_key = md_StoreKVPair.Fields().ByName("key") + fd_StoreKVPair_value = md_StoreKVPair.Fields().ByName("value") + fd_StoreKVPair_delete = md_StoreKVPair.Fields().ByName("delete") +} + +var _ protoreflect.Message = (*fastReflection_StoreKVPair)(nil) + +type fastReflection_StoreKVPair StoreKVPair + +func (x *StoreKVPair) ProtoReflect() protoreflect.Message { + return (*fastReflection_StoreKVPair)(x) +} + +func (x *StoreKVPair) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_StoreKVPair_messageType fastReflection_StoreKVPair_messageType +var _ protoreflect.MessageType = fastReflection_StoreKVPair_messageType{} + +type fastReflection_StoreKVPair_messageType struct{} + +func (x fastReflection_StoreKVPair_messageType) Zero() protoreflect.Message { + return (*fastReflection_StoreKVPair)(nil) +} +func (x fastReflection_StoreKVPair_messageType) New() protoreflect.Message { + return new(fastReflection_StoreKVPair) +} +func (x fastReflection_StoreKVPair_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_StoreKVPair +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_StoreKVPair) Descriptor() protoreflect.MessageDescriptor { + return md_StoreKVPair +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_StoreKVPair) Type() protoreflect.MessageType { + return _fastReflection_StoreKVPair_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_StoreKVPair) New() protoreflect.Message { + return new(fastReflection_StoreKVPair) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_StoreKVPair) Interface() protoreflect.ProtoMessage { + return (*StoreKVPair)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_StoreKVPair) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Address) != 0 { + value := protoreflect.ValueOfBytes(x.Address) + if !f(fd_StoreKVPair_address, value) { + return + } + } + if len(x.Key) != 0 { + value := protoreflect.ValueOfBytes(x.Key) + if !f(fd_StoreKVPair_key, value) { + return + } + } + if len(x.Value) != 0 { + value := protoreflect.ValueOfBytes(x.Value) + if !f(fd_StoreKVPair_value, value) { + return + } + } + if x.Delete != false { + value := protoreflect.ValueOfBool(x.Delete) + if !f(fd_StoreKVPair_delete, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_StoreKVPair) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + return len(x.Address) != 0 + case "cosmos.streaming.v1.StoreKVPair.key": + return len(x.Key) != 0 + case "cosmos.streaming.v1.StoreKVPair.value": + return len(x.Value) != 0 + case "cosmos.streaming.v1.StoreKVPair.delete": + return x.Delete != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_StoreKVPair) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + x.Address = nil + case "cosmos.streaming.v1.StoreKVPair.key": + x.Key = nil + case "cosmos.streaming.v1.StoreKVPair.value": + x.Value = nil + case "cosmos.streaming.v1.StoreKVPair.delete": + x.Delete = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_StoreKVPair) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + value := x.Address + return protoreflect.ValueOfBytes(value) + case "cosmos.streaming.v1.StoreKVPair.key": + value := x.Key + return protoreflect.ValueOfBytes(value) + case "cosmos.streaming.v1.StoreKVPair.value": + value := x.Value + return protoreflect.ValueOfBytes(value) + case "cosmos.streaming.v1.StoreKVPair.delete": + value := x.Delete + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_StoreKVPair) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + x.Address = value.Bytes() + case "cosmos.streaming.v1.StoreKVPair.key": + x.Key = value.Bytes() + case "cosmos.streaming.v1.StoreKVPair.value": + x.Value = value.Bytes() + case "cosmos.streaming.v1.StoreKVPair.delete": + x.Delete = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_StoreKVPair) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + panic(fmt.Errorf("field address of message cosmos.streaming.v1.StoreKVPair is not mutable")) + case "cosmos.streaming.v1.StoreKVPair.key": + panic(fmt.Errorf("field key of message cosmos.streaming.v1.StoreKVPair is not mutable")) + case "cosmos.streaming.v1.StoreKVPair.value": + panic(fmt.Errorf("field value of message cosmos.streaming.v1.StoreKVPair is not mutable")) + case "cosmos.streaming.v1.StoreKVPair.delete": + panic(fmt.Errorf("field delete of message cosmos.streaming.v1.StoreKVPair is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_StoreKVPair) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.StoreKVPair.address": + return protoreflect.ValueOfBytes(nil) + case "cosmos.streaming.v1.StoreKVPair.key": + return protoreflect.ValueOfBytes(nil) + case "cosmos.streaming.v1.StoreKVPair.value": + return protoreflect.ValueOfBytes(nil) + case "cosmos.streaming.v1.StoreKVPair.delete": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.StoreKVPair")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.StoreKVPair does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_StoreKVPair) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.StoreKVPair", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_StoreKVPair) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_StoreKVPair) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_StoreKVPair) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_StoreKVPair) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*StoreKVPair) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Key) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Value) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Delete { + n += 2 + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*StoreKVPair) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Delete { + i-- + if x.Delete { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(x.Value) > 0 { + i -= len(x.Value) + copy(dAtA[i:], x.Value) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Value))) + i-- + dAtA[i] = 0x1a + } + if len(x.Key) > 0 { + i -= len(x.Key) + copy(dAtA[i:], x.Key) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Key))) + i-- + dAtA[i] = 0x12 + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*StoreKVPair) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: StoreKVPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: StoreKVPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = append(x.Address[:0], dAtA[iNdEx:postIndex]...) + if x.Address == nil { + x.Address = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Key = append(x.Key[:0], dAtA[iNdEx:postIndex]...) + if x.Key == nil { + x.Key = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Value = append(x.Value[:0], dAtA[iNdEx:postIndex]...) + if x.Value == nil { + x.Value = []byte{} + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Delete", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Delete = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_Event_2_list)(nil) + +type _Event_2_list struct { + list *[]*EventAttribute +} + +func (x *_Event_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Event_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Event_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*EventAttribute) + (*x.list)[i] = concreteValue +} + +func (x *_Event_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*EventAttribute) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Event_2_list) AppendMutable() protoreflect.Value { + v := new(EventAttribute) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Event_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Event_2_list) NewElement() protoreflect.Value { + v := new(EventAttribute) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Event_2_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Event protoreflect.MessageDescriptor + fd_Event_type protoreflect.FieldDescriptor + fd_Event_attributes protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_Event = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("Event") + fd_Event_type = md_Event.Fields().ByName("type") + fd_Event_attributes = md_Event.Fields().ByName("attributes") +} + +var _ protoreflect.Message = (*fastReflection_Event)(nil) + +type fastReflection_Event Event + +func (x *Event) ProtoReflect() protoreflect.Message { + return (*fastReflection_Event)(x) +} + +func (x *Event) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_Event_messageType fastReflection_Event_messageType +var _ protoreflect.MessageType = fastReflection_Event_messageType{} + +type fastReflection_Event_messageType struct{} + +func (x fastReflection_Event_messageType) Zero() protoreflect.Message { + return (*fastReflection_Event)(nil) +} +func (x fastReflection_Event_messageType) New() protoreflect.Message { + return new(fastReflection_Event) +} +func (x fastReflection_Event_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Event +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Event) Descriptor() protoreflect.MessageDescriptor { + return md_Event +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_Event) Type() protoreflect.MessageType { + return _fastReflection_Event_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Event) New() protoreflect.Message { + return new(fastReflection_Event) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Event) Interface() protoreflect.ProtoMessage { + return (*Event)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_Event) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Type_ != "" { + value := protoreflect.ValueOfString(x.Type_) + if !f(fd_Event_type, value) { + return + } + } + if len(x.Attributes) != 0 { + value := protoreflect.ValueOfList(&_Event_2_list{list: &x.Attributes}) + if !f(fd_Event_attributes, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_Event) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.Event.type": + return x.Type_ != "" + case "cosmos.streaming.v1.Event.attributes": + return len(x.Attributes) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Event) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.Event.type": + x.Type_ = "" + case "cosmos.streaming.v1.Event.attributes": + x.Attributes = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_Event) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.Event.type": + value := x.Type_ + return protoreflect.ValueOfString(value) + case "cosmos.streaming.v1.Event.attributes": + if len(x.Attributes) == 0 { + return protoreflect.ValueOfList(&_Event_2_list{}) + } + listValue := &_Event_2_list{list: &x.Attributes} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Event) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.Event.type": + x.Type_ = value.Interface().(string) + case "cosmos.streaming.v1.Event.attributes": + lv := value.List() + clv := lv.(*_Event_2_list) + x.Attributes = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Event) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.Event.attributes": + if x.Attributes == nil { + x.Attributes = []*EventAttribute{} + } + value := &_Event_2_list{list: &x.Attributes} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.Event.type": + panic(fmt.Errorf("field type of message cosmos.streaming.v1.Event is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_Event) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.Event.type": + return protoreflect.ValueOfString("") + case "cosmos.streaming.v1.Event.attributes": + list := []*EventAttribute{} + return protoreflect.ValueOfList(&_Event_2_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.Event")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.Event does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_Event) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.Event", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_Event) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_Event) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_Event) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_Event) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Event) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Type_) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Attributes) > 0 { + for _, e := range x.Attributes { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*Event) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Attributes) > 0 { + for iNdEx := len(x.Attributes) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Attributes[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } + if len(x.Type_) > 0 { + i -= len(x.Type_) + copy(dAtA[i:], x.Type_) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Type_))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*Event) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Event: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Type_", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Type_ = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Attributes = append(x.Attributes, &EventAttribute{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Attributes[len(x.Attributes)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_EventAttribute protoreflect.MessageDescriptor + fd_EventAttribute_key protoreflect.FieldDescriptor + fd_EventAttribute_value protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_EventAttribute = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("EventAttribute") + fd_EventAttribute_key = md_EventAttribute.Fields().ByName("key") + fd_EventAttribute_value = md_EventAttribute.Fields().ByName("value") +} + +var _ protoreflect.Message = (*fastReflection_EventAttribute)(nil) + +type fastReflection_EventAttribute EventAttribute + +func (x *EventAttribute) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventAttribute)(x) +} + +func (x *EventAttribute) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_EventAttribute_messageType fastReflection_EventAttribute_messageType +var _ protoreflect.MessageType = fastReflection_EventAttribute_messageType{} + +type fastReflection_EventAttribute_messageType struct{} + +func (x fastReflection_EventAttribute_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventAttribute)(nil) +} +func (x fastReflection_EventAttribute_messageType) New() protoreflect.Message { + return new(fastReflection_EventAttribute) +} +func (x fastReflection_EventAttribute_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventAttribute +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EventAttribute) Descriptor() protoreflect.MessageDescriptor { + return md_EventAttribute +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_EventAttribute) Type() protoreflect.MessageType { + return _fastReflection_EventAttribute_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EventAttribute) New() protoreflect.Message { + return new(fastReflection_EventAttribute) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EventAttribute) Interface() protoreflect.ProtoMessage { + return (*EventAttribute)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_EventAttribute) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Key != "" { + value := protoreflect.ValueOfString(x.Key) + if !f(fd_EventAttribute_key, value) { + return + } + } + if x.Value != "" { + value := protoreflect.ValueOfString(x.Value) + if !f(fd_EventAttribute_value, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_EventAttribute) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + return x.Key != "" + case "cosmos.streaming.v1.EventAttribute.value": + return x.Value != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EventAttribute) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + x.Key = "" + case "cosmos.streaming.v1.EventAttribute.value": + x.Value = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_EventAttribute) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + value := x.Key + return protoreflect.ValueOfString(value) + case "cosmos.streaming.v1.EventAttribute.value": + value := x.Value + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EventAttribute) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + x.Key = value.Interface().(string) + case "cosmos.streaming.v1.EventAttribute.value": + x.Value = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EventAttribute) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + panic(fmt.Errorf("field key of message cosmos.streaming.v1.EventAttribute is not mutable")) + case "cosmos.streaming.v1.EventAttribute.value": + panic(fmt.Errorf("field value of message cosmos.streaming.v1.EventAttribute is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_EventAttribute) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.EventAttribute.key": + return protoreflect.ValueOfString("") + case "cosmos.streaming.v1.EventAttribute.value": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.EventAttribute")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.EventAttribute does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_EventAttribute) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.EventAttribute", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_EventAttribute) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_EventAttribute) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_EventAttribute) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_EventAttribute) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EventAttribute) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Key) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Value) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*EventAttribute) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Value) > 0 { + i -= len(x.Value) + copy(dAtA[i:], x.Value) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Value))) + i-- + dAtA[i] = 0x12 + } + if len(x.Key) > 0 { + i -= len(x.Key) + copy(dAtA[i:], x.Key) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Key))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*EventAttribute) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventAttribute: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventAttribute: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Key = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_ExecTxResult_7_list)(nil) + +type _ExecTxResult_7_list struct { + list *[]*Event +} + +func (x *_ExecTxResult_7_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ExecTxResult_7_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_ExecTxResult_7_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Event) + (*x.list)[i] = concreteValue +} + +func (x *_ExecTxResult_7_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Event) + *x.list = append(*x.list, concreteValue) +} + +func (x *_ExecTxResult_7_list) AppendMutable() protoreflect.Value { + v := new(Event) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ExecTxResult_7_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_ExecTxResult_7_list) NewElement() protoreflect.Value { + v := new(Event) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_ExecTxResult_7_list) IsValid() bool { + return x.list != nil +} + +var ( + md_ExecTxResult protoreflect.MessageDescriptor + fd_ExecTxResult_code protoreflect.FieldDescriptor + fd_ExecTxResult_data protoreflect.FieldDescriptor + fd_ExecTxResult_log protoreflect.FieldDescriptor + fd_ExecTxResult_info protoreflect.FieldDescriptor + fd_ExecTxResult_gas_wanted protoreflect.FieldDescriptor + fd_ExecTxResult_gas_used protoreflect.FieldDescriptor + fd_ExecTxResult_events protoreflect.FieldDescriptor + fd_ExecTxResult_codespace protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_streaming_v1_grpc_proto_init() + md_ExecTxResult = File_cosmos_streaming_v1_grpc_proto.Messages().ByName("ExecTxResult") + fd_ExecTxResult_code = md_ExecTxResult.Fields().ByName("code") + fd_ExecTxResult_data = md_ExecTxResult.Fields().ByName("data") + fd_ExecTxResult_log = md_ExecTxResult.Fields().ByName("log") + fd_ExecTxResult_info = md_ExecTxResult.Fields().ByName("info") + fd_ExecTxResult_gas_wanted = md_ExecTxResult.Fields().ByName("gas_wanted") + fd_ExecTxResult_gas_used = md_ExecTxResult.Fields().ByName("gas_used") + fd_ExecTxResult_events = md_ExecTxResult.Fields().ByName("events") + fd_ExecTxResult_codespace = md_ExecTxResult.Fields().ByName("codespace") +} + +var _ protoreflect.Message = (*fastReflection_ExecTxResult)(nil) + +type fastReflection_ExecTxResult ExecTxResult + +func (x *ExecTxResult) ProtoReflect() protoreflect.Message { + return (*fastReflection_ExecTxResult)(x) +} + +func (x *ExecTxResult) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ExecTxResult_messageType fastReflection_ExecTxResult_messageType +var _ protoreflect.MessageType = fastReflection_ExecTxResult_messageType{} + +type fastReflection_ExecTxResult_messageType struct{} + +func (x fastReflection_ExecTxResult_messageType) Zero() protoreflect.Message { + return (*fastReflection_ExecTxResult)(nil) +} +func (x fastReflection_ExecTxResult_messageType) New() protoreflect.Message { + return new(fastReflection_ExecTxResult) +} +func (x fastReflection_ExecTxResult_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ExecTxResult +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ExecTxResult) Descriptor() protoreflect.MessageDescriptor { + return md_ExecTxResult +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ExecTxResult) Type() protoreflect.MessageType { + return _fastReflection_ExecTxResult_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ExecTxResult) New() protoreflect.Message { + return new(fastReflection_ExecTxResult) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ExecTxResult) Interface() protoreflect.ProtoMessage { + return (*ExecTxResult)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ExecTxResult) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Code != uint32(0) { + value := protoreflect.ValueOfUint32(x.Code) + if !f(fd_ExecTxResult_code, value) { + return + } + } + if len(x.Data) != 0 { + value := protoreflect.ValueOfBytes(x.Data) + if !f(fd_ExecTxResult_data, value) { + return + } + } + if x.Log != "" { + value := protoreflect.ValueOfString(x.Log) + if !f(fd_ExecTxResult_log, value) { + return + } + } + if x.Info != "" { + value := protoreflect.ValueOfString(x.Info) + if !f(fd_ExecTxResult_info, value) { + return + } + } + if x.GasWanted != int64(0) { + value := protoreflect.ValueOfInt64(x.GasWanted) + if !f(fd_ExecTxResult_gas_wanted, value) { + return + } + } + if x.GasUsed != int64(0) { + value := protoreflect.ValueOfInt64(x.GasUsed) + if !f(fd_ExecTxResult_gas_used, value) { + return + } + } + if len(x.Events) != 0 { + value := protoreflect.ValueOfList(&_ExecTxResult_7_list{list: &x.Events}) + if !f(fd_ExecTxResult_events, value) { + return + } + } + if x.Codespace != "" { + value := protoreflect.ValueOfString(x.Codespace) + if !f(fd_ExecTxResult_codespace, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ExecTxResult) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.streaming.v1.ExecTxResult.code": + return x.Code != uint32(0) + case "cosmos.streaming.v1.ExecTxResult.data": + return len(x.Data) != 0 + case "cosmos.streaming.v1.ExecTxResult.log": + return x.Log != "" + case "cosmos.streaming.v1.ExecTxResult.info": + return x.Info != "" + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + return x.GasWanted != int64(0) + case "cosmos.streaming.v1.ExecTxResult.gas_used": + return x.GasUsed != int64(0) + case "cosmos.streaming.v1.ExecTxResult.events": + return len(x.Events) != 0 + case "cosmos.streaming.v1.ExecTxResult.codespace": + return x.Codespace != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ExecTxResult) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.streaming.v1.ExecTxResult.code": + x.Code = uint32(0) + case "cosmos.streaming.v1.ExecTxResult.data": + x.Data = nil + case "cosmos.streaming.v1.ExecTxResult.log": + x.Log = "" + case "cosmos.streaming.v1.ExecTxResult.info": + x.Info = "" + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + x.GasWanted = int64(0) + case "cosmos.streaming.v1.ExecTxResult.gas_used": + x.GasUsed = int64(0) + case "cosmos.streaming.v1.ExecTxResult.events": + x.Events = nil + case "cosmos.streaming.v1.ExecTxResult.codespace": + x.Codespace = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ExecTxResult) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.streaming.v1.ExecTxResult.code": + value := x.Code + return protoreflect.ValueOfUint32(value) + case "cosmos.streaming.v1.ExecTxResult.data": + value := x.Data + return protoreflect.ValueOfBytes(value) + case "cosmos.streaming.v1.ExecTxResult.log": + value := x.Log + return protoreflect.ValueOfString(value) + case "cosmos.streaming.v1.ExecTxResult.info": + value := x.Info + return protoreflect.ValueOfString(value) + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + value := x.GasWanted + return protoreflect.ValueOfInt64(value) + case "cosmos.streaming.v1.ExecTxResult.gas_used": + value := x.GasUsed + return protoreflect.ValueOfInt64(value) + case "cosmos.streaming.v1.ExecTxResult.events": + if len(x.Events) == 0 { + return protoreflect.ValueOfList(&_ExecTxResult_7_list{}) + } + listValue := &_ExecTxResult_7_list{list: &x.Events} + return protoreflect.ValueOfList(listValue) + case "cosmos.streaming.v1.ExecTxResult.codespace": + value := x.Codespace + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ExecTxResult) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.streaming.v1.ExecTxResult.code": + x.Code = uint32(value.Uint()) + case "cosmos.streaming.v1.ExecTxResult.data": + x.Data = value.Bytes() + case "cosmos.streaming.v1.ExecTxResult.log": + x.Log = value.Interface().(string) + case "cosmos.streaming.v1.ExecTxResult.info": + x.Info = value.Interface().(string) + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + x.GasWanted = value.Int() + case "cosmos.streaming.v1.ExecTxResult.gas_used": + x.GasUsed = value.Int() + case "cosmos.streaming.v1.ExecTxResult.events": + lv := value.List() + clv := lv.(*_ExecTxResult_7_list) + x.Events = *clv.list + case "cosmos.streaming.v1.ExecTxResult.codespace": + x.Codespace = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ExecTxResult) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ExecTxResult.events": + if x.Events == nil { + x.Events = []*Event{} + } + value := &_ExecTxResult_7_list{list: &x.Events} + return protoreflect.ValueOfList(value) + case "cosmos.streaming.v1.ExecTxResult.code": + panic(fmt.Errorf("field code of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.data": + panic(fmt.Errorf("field data of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.log": + panic(fmt.Errorf("field log of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.info": + panic(fmt.Errorf("field info of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + panic(fmt.Errorf("field gas_wanted of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.gas_used": + panic(fmt.Errorf("field gas_used of message cosmos.streaming.v1.ExecTxResult is not mutable")) + case "cosmos.streaming.v1.ExecTxResult.codespace": + panic(fmt.Errorf("field codespace of message cosmos.streaming.v1.ExecTxResult is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ExecTxResult) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.streaming.v1.ExecTxResult.code": + return protoreflect.ValueOfUint32(uint32(0)) + case "cosmos.streaming.v1.ExecTxResult.data": + return protoreflect.ValueOfBytes(nil) + case "cosmos.streaming.v1.ExecTxResult.log": + return protoreflect.ValueOfString("") + case "cosmos.streaming.v1.ExecTxResult.info": + return protoreflect.ValueOfString("") + case "cosmos.streaming.v1.ExecTxResult.gas_wanted": + return protoreflect.ValueOfInt64(int64(0)) + case "cosmos.streaming.v1.ExecTxResult.gas_used": + return protoreflect.ValueOfInt64(int64(0)) + case "cosmos.streaming.v1.ExecTxResult.events": + list := []*Event{} + return protoreflect.ValueOfList(&_ExecTxResult_7_list{list: &list}) + case "cosmos.streaming.v1.ExecTxResult.codespace": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.streaming.v1.ExecTxResult")) + } + panic(fmt.Errorf("message cosmos.streaming.v1.ExecTxResult does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ExecTxResult) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.streaming.v1.ExecTxResult", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ExecTxResult) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ExecTxResult) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ExecTxResult) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ExecTxResult) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ExecTxResult) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Code != 0 { + n += 1 + runtime.Sov(uint64(x.Code)) + } + l = len(x.Data) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Log) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Info) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.GasWanted != 0 { + n += 1 + runtime.Sov(uint64(x.GasWanted)) + } + if x.GasUsed != 0 { + n += 1 + runtime.Sov(uint64(x.GasUsed)) + } + if len(x.Events) > 0 { + for _, e := range x.Events { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Codespace) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ExecTxResult) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Codespace) > 0 { + i -= len(x.Codespace) + copy(dAtA[i:], x.Codespace) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Codespace))) + i-- + dAtA[i] = 0x42 + } + if len(x.Events) > 0 { + for iNdEx := len(x.Events) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Events[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x3a + } + } + if x.GasUsed != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.GasUsed)) + i-- + dAtA[i] = 0x30 + } + if x.GasWanted != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.GasWanted)) + i-- + dAtA[i] = 0x28 + } + if len(x.Info) > 0 { + i -= len(x.Info) + copy(dAtA[i:], x.Info) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Info))) + i-- + dAtA[i] = 0x22 + } + if len(x.Log) > 0 { + i -= len(x.Log) + copy(dAtA[i:], x.Log) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Log))) + i-- + dAtA[i] = 0x1a + } + if len(x.Data) > 0 { + i -= len(x.Data) + copy(dAtA[i:], x.Data) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Data))) + i-- + dAtA[i] = 0x12 + } + if x.Code != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Code)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ExecTxResult) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ExecTxResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ExecTxResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + } + x.Code = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Code |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Data = append(x.Data[:0], dAtA[iNdEx:postIndex]...) + if x.Data == nil { + x.Data = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Log", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Log = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Info", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Info = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GasWanted", wireType) + } + x.GasWanted = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.GasWanted |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + } + x.GasUsed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.GasUsed |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Events = append(x.Events, &Event{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Events[len(x.Events)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Codespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cosmos/streaming/v1/grpc.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ListenDeliverBlockRequest is the request type for the ListenDeliverBlock RPC method +type ListenDeliverBlockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockHeight int64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"` + Events []*Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` + TxResults []*ExecTxResult `protobuf:"bytes,4,rep,name=tx_results,json=txResults,proto3" json:"tx_results,omitempty"` +} + +func (x *ListenDeliverBlockRequest) Reset() { + *x = ListenDeliverBlockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenDeliverBlockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenDeliverBlockRequest) ProtoMessage() {} + +// Deprecated: Use ListenDeliverBlockRequest.ProtoReflect.Descriptor instead. +func (*ListenDeliverBlockRequest) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{0} +} + +func (x *ListenDeliverBlockRequest) GetBlockHeight() int64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +func (x *ListenDeliverBlockRequest) GetTxs() [][]byte { + if x != nil { + return x.Txs + } + return nil +} + +func (x *ListenDeliverBlockRequest) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +func (x *ListenDeliverBlockRequest) GetTxResults() []*ExecTxResult { + if x != nil { + return x.TxResults + } + return nil +} + +// ListenDeliverBlockResponse is the response type for the ListenDeliverBlock RPC method +type ListenDeliverBlockResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListenDeliverBlockResponse) Reset() { + *x = ListenDeliverBlockResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenDeliverBlockResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenDeliverBlockResponse) ProtoMessage() {} + +// Deprecated: Use ListenDeliverBlockResponse.ProtoReflect.Descriptor instead. +func (*ListenDeliverBlockResponse) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{1} +} + +// ListenStateChangesRequest is the request type for the ListenStateChanges RPC method +type ListenStateChangesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockHeight int64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + ChangeSet []*StoreKVPair `protobuf:"bytes,2,rep,name=change_set,json=changeSet,proto3" json:"change_set,omitempty"` + AppHash []byte `protobuf:"bytes,3,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` +} + +func (x *ListenStateChangesRequest) Reset() { + *x = ListenStateChangesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenStateChangesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenStateChangesRequest) ProtoMessage() {} + +// Deprecated: Use ListenStateChangesRequest.ProtoReflect.Descriptor instead. +func (*ListenStateChangesRequest) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{2} +} + +func (x *ListenStateChangesRequest) GetBlockHeight() int64 { + if x != nil { + return x.BlockHeight + } + return 0 +} + +func (x *ListenStateChangesRequest) GetChangeSet() []*StoreKVPair { + if x != nil { + return x.ChangeSet + } + return nil +} + +func (x *ListenStateChangesRequest) GetAppHash() []byte { + if x != nil { + return x.AppHash + } + return nil +} + +// ListenStateChangesResponse is the response type for the ListenStateChanges RPC method +type ListenStateChangesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListenStateChangesResponse) Reset() { + *x = ListenStateChangesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenStateChangesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenStateChangesResponse) ProtoMessage() {} + +// Deprecated: Use ListenStateChangesResponse.ProtoReflect.Descriptor instead. +func (*ListenStateChangesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{3} +} + +// StoreKVPair is a single key-value pair, associated with a store. +type StoreKVPair struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // address defines the address of the account the state changes are coming from. + // In case of modules you can expect a stringified + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // key defines the key of the address that changed. + Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // value defines the value that changed, empty in case of removal. + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + // delete defines if the key was removed. + Delete bool `protobuf:"varint,4,opt,name=delete,proto3" json:"delete,omitempty"` // true indicates a delete operation, false indicates a set operation +} + +func (x *StoreKVPair) Reset() { + *x = StoreKVPair{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StoreKVPair) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreKVPair) ProtoMessage() {} + +// Deprecated: Use StoreKVPair.ProtoReflect.Descriptor instead. +func (*StoreKVPair) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{4} +} + +func (x *StoreKVPair) GetAddress() []byte { + if x != nil { + return x.Address + } + return nil +} + +func (x *StoreKVPair) GetKey() []byte { + if x != nil { + return x.Key + } + return nil +} + +func (x *StoreKVPair) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *StoreKVPair) GetDelete() bool { + if x != nil { + return x.Delete + } + return false +} + +// Event is a single event, associated with a transaction. +type Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type_ string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Attributes []*EventAttribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"` +} + +func (x *Event) Reset() { + *x = Event{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +// Deprecated: Use Event.ProtoReflect.Descriptor instead. +func (*Event) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{5} +} + +func (x *Event) GetType_() string { + if x != nil { + return x.Type_ + } + return "" +} + +func (x *Event) GetAttributes() []*EventAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +// EventAttribute is a single key-value pair, associated with an event. +type EventAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EventAttribute) Reset() { + *x = EventAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventAttribute) ProtoMessage() {} + +// Deprecated: Use EventAttribute.ProtoReflect.Descriptor instead. +func (*EventAttribute) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{6} +} + +func (x *EventAttribute) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *EventAttribute) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// ExecTxResult contains results of executing one individual transaction. +type ExecTxResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` + Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` + GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"` + GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` + Events []*Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"` + Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"` +} + +func (x *ExecTxResult) Reset() { + *x = ExecTxResult{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_streaming_v1_grpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecTxResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecTxResult) ProtoMessage() {} + +// Deprecated: Use ExecTxResult.ProtoReflect.Descriptor instead. +func (*ExecTxResult) Descriptor() ([]byte, []int) { + return file_cosmos_streaming_v1_grpc_proto_rawDescGZIP(), []int{7} +} + +func (x *ExecTxResult) GetCode() uint32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ExecTxResult) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *ExecTxResult) GetLog() string { + if x != nil { + return x.Log + } + return "" +} + +func (x *ExecTxResult) GetInfo() string { + if x != nil { + return x.Info + } + return "" +} + +func (x *ExecTxResult) GetGasWanted() int64 { + if x != nil { + return x.GasWanted + } + return 0 +} + +func (x *ExecTxResult) GetGasUsed() int64 { + if x != nil { + return x.GasUsed + } + return 0 +} + +func (x *ExecTxResult) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +func (x *ExecTxResult) GetCodespace() string { + if x != nil { + return x.Codespace + } + return "" +} + +var File_cosmos_streaming_v1_grpc_proto protoreflect.FileDescriptor + +var file_cosmos_streaming_v1_grpc_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x22, 0xc6, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0c, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0a, + 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x54, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x09, 0x74, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x1c, + 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, + 0x19, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3f, 0x0a, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x56, 0x50, + 0x61, 0x69, 0x72, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x61, 0x70, 0x70, 0x48, 0x61, 0x73, 0x68, 0x22, 0x1c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x4b, 0x56, 0x50, 0x61, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x22, 0x60, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, + 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x22, 0x38, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe8, 0x01, 0x0a, + 0x0c, 0x45, 0x78, 0x65, 0x63, 0x54, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x67, + 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x67, 0x61, 0x73, 0x57, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, + 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x61, + 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x32, 0xff, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xc4, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cosmos_streaming_v1_grpc_proto_rawDescOnce sync.Once + file_cosmos_streaming_v1_grpc_proto_rawDescData = file_cosmos_streaming_v1_grpc_proto_rawDesc +) + +func file_cosmos_streaming_v1_grpc_proto_rawDescGZIP() []byte { + file_cosmos_streaming_v1_grpc_proto_rawDescOnce.Do(func() { + file_cosmos_streaming_v1_grpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_streaming_v1_grpc_proto_rawDescData) + }) + return file_cosmos_streaming_v1_grpc_proto_rawDescData +} + +var file_cosmos_streaming_v1_grpc_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_cosmos_streaming_v1_grpc_proto_goTypes = []interface{}{ + (*ListenDeliverBlockRequest)(nil), // 0: cosmos.streaming.v1.ListenDeliverBlockRequest + (*ListenDeliverBlockResponse)(nil), // 1: cosmos.streaming.v1.ListenDeliverBlockResponse + (*ListenStateChangesRequest)(nil), // 2: cosmos.streaming.v1.ListenStateChangesRequest + (*ListenStateChangesResponse)(nil), // 3: cosmos.streaming.v1.ListenStateChangesResponse + (*StoreKVPair)(nil), // 4: cosmos.streaming.v1.StoreKVPair + (*Event)(nil), // 5: cosmos.streaming.v1.Event + (*EventAttribute)(nil), // 6: cosmos.streaming.v1.EventAttribute + (*ExecTxResult)(nil), // 7: cosmos.streaming.v1.ExecTxResult +} +var file_cosmos_streaming_v1_grpc_proto_depIdxs = []int32{ + 5, // 0: cosmos.streaming.v1.ListenDeliverBlockRequest.events:type_name -> cosmos.streaming.v1.Event + 7, // 1: cosmos.streaming.v1.ListenDeliverBlockRequest.tx_results:type_name -> cosmos.streaming.v1.ExecTxResult + 4, // 2: cosmos.streaming.v1.ListenStateChangesRequest.change_set:type_name -> cosmos.streaming.v1.StoreKVPair + 6, // 3: cosmos.streaming.v1.Event.attributes:type_name -> cosmos.streaming.v1.EventAttribute + 5, // 4: cosmos.streaming.v1.ExecTxResult.events:type_name -> cosmos.streaming.v1.Event + 0, // 5: cosmos.streaming.v1.ListenerService.ListenDeliverBlock:input_type -> cosmos.streaming.v1.ListenDeliverBlockRequest + 2, // 6: cosmos.streaming.v1.ListenerService.ListenStateChanges:input_type -> cosmos.streaming.v1.ListenStateChangesRequest + 1, // 7: cosmos.streaming.v1.ListenerService.ListenDeliverBlock:output_type -> cosmos.streaming.v1.ListenDeliverBlockResponse + 3, // 8: cosmos.streaming.v1.ListenerService.ListenStateChanges:output_type -> cosmos.streaming.v1.ListenStateChangesResponse + 7, // [7:9] is the sub-list for method output_type + 5, // [5:7] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_cosmos_streaming_v1_grpc_proto_init() } +func file_cosmos_streaming_v1_grpc_proto_init() { + if File_cosmos_streaming_v1_grpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cosmos_streaming_v1_grpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenDeliverBlockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenDeliverBlockResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenStateChangesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenStateChangesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StoreKVPair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Event); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_streaming_v1_grpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecTxResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cosmos_streaming_v1_grpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_cosmos_streaming_v1_grpc_proto_goTypes, + DependencyIndexes: file_cosmos_streaming_v1_grpc_proto_depIdxs, + MessageInfos: file_cosmos_streaming_v1_grpc_proto_msgTypes, + }.Build() + File_cosmos_streaming_v1_grpc_proto = out.File + file_cosmos_streaming_v1_grpc_proto_rawDesc = nil + file_cosmos_streaming_v1_grpc_proto_goTypes = nil + file_cosmos_streaming_v1_grpc_proto_depIdxs = nil +} diff --git a/api/cosmos/streaming/v1/grpc_grpc.pb.go b/api/cosmos/streaming/v1/grpc_grpc.pb.go new file mode 100644 index 000000000000..fad0b3a72eee --- /dev/null +++ b/api/cosmos/streaming/v1/grpc_grpc.pb.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: cosmos/streaming/v1/grpc.proto + +package streamingv1 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ListenerService_ListenDeliverBlock_FullMethodName = "/cosmos.streaming.v1.ListenerService/ListenDeliverBlock" + ListenerService_ListenStateChanges_FullMethodName = "/cosmos.streaming.v1.ListenerService/ListenStateChanges" +) + +// ListenerServiceClient is the client API for ListenerService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ListenerServiceClient interface { + // ListenDeliverBlock is the corresponding endpoint for Listener.ListenDeliverBlock + ListenDeliverBlock(ctx context.Context, in *ListenDeliverBlockRequest, opts ...grpc.CallOption) (*ListenDeliverBlockResponse, error) + // ListenStateChanges is the corresponding endpoint for Listener.ListenStateChanges + ListenStateChanges(ctx context.Context, in *ListenStateChangesRequest, opts ...grpc.CallOption) (*ListenStateChangesResponse, error) +} + +type listenerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewListenerServiceClient(cc grpc.ClientConnInterface) ListenerServiceClient { + return &listenerServiceClient{cc} +} + +func (c *listenerServiceClient) ListenDeliverBlock(ctx context.Context, in *ListenDeliverBlockRequest, opts ...grpc.CallOption) (*ListenDeliverBlockResponse, error) { + out := new(ListenDeliverBlockResponse) + err := c.cc.Invoke(ctx, ListenerService_ListenDeliverBlock_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *listenerServiceClient) ListenStateChanges(ctx context.Context, in *ListenStateChangesRequest, opts ...grpc.CallOption) (*ListenStateChangesResponse, error) { + out := new(ListenStateChangesResponse) + err := c.cc.Invoke(ctx, ListenerService_ListenStateChanges_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ListenerServiceServer is the server API for ListenerService service. +// All implementations must embed UnimplementedListenerServiceServer +// for forward compatibility +type ListenerServiceServer interface { + // ListenDeliverBlock is the corresponding endpoint for Listener.ListenDeliverBlock + ListenDeliverBlock(context.Context, *ListenDeliverBlockRequest) (*ListenDeliverBlockResponse, error) + // ListenStateChanges is the corresponding endpoint for Listener.ListenStateChanges + ListenStateChanges(context.Context, *ListenStateChangesRequest) (*ListenStateChangesResponse, error) + mustEmbedUnimplementedListenerServiceServer() +} + +// UnimplementedListenerServiceServer must be embedded to have forward compatible implementations. +type UnimplementedListenerServiceServer struct { +} + +func (UnimplementedListenerServiceServer) ListenDeliverBlock(context.Context, *ListenDeliverBlockRequest) (*ListenDeliverBlockResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListenDeliverBlock not implemented") +} +func (UnimplementedListenerServiceServer) ListenStateChanges(context.Context, *ListenStateChangesRequest) (*ListenStateChangesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListenStateChanges not implemented") +} +func (UnimplementedListenerServiceServer) mustEmbedUnimplementedListenerServiceServer() {} + +// UnsafeListenerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ListenerServiceServer will +// result in compilation errors. +type UnsafeListenerServiceServer interface { + mustEmbedUnimplementedListenerServiceServer() +} + +func RegisterListenerServiceServer(s grpc.ServiceRegistrar, srv ListenerServiceServer) { + s.RegisterService(&ListenerService_ServiceDesc, srv) +} + +func _ListenerService_ListenDeliverBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListenDeliverBlockRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ListenerServiceServer).ListenDeliverBlock(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ListenerService_ListenDeliverBlock_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ListenerServiceServer).ListenDeliverBlock(ctx, req.(*ListenDeliverBlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ListenerService_ListenStateChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListenStateChangesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ListenerServiceServer).ListenStateChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ListenerService_ListenStateChanges_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ListenerServiceServer).ListenStateChanges(ctx, req.(*ListenStateChangesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ListenerService_ServiceDesc is the grpc.ServiceDesc for ListenerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ListenerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "cosmos.streaming.v1.ListenerService", + HandlerType: (*ListenerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListenDeliverBlock", + Handler: _ListenerService_ListenDeliverBlock_Handler, + }, + { + MethodName: "ListenStateChanges", + Handler: _ListenerService_ListenStateChanges_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cosmos/streaming/v1/grpc.proto", +} From 514830e56a445d35c8b13aad46fbb8757485cb96 Mon Sep 17 00:00:00 2001 From: Marko Date: Thu, 6 Jun 2024 15:00:01 +0200 Subject: [PATCH 21/41] feat: add changes from server modular to main (#20583) --- codec/depinject.go | 9 +++++---- contrib/images/simd-env/Dockerfile | 1 + core/context/context._test.go | 11 +++++++++++ core/context/context.go | 20 +++++++++++++------- core/store/store.go | 4 ++-- go.work.example | 3 ++- runtime/v2/app.go | 10 +++++++++- runtime/v2/manager.go | 13 +++++-------- runtime/v2/module.go | 11 +++++++---- runtime/v2/services/comet.go | 5 ++++- store/v2/root/factory.go | 2 +- 11 files changed, 60 insertions(+), 29 deletions(-) create mode 100644 core/context/context._test.go diff --git a/codec/depinject.go b/codec/depinject.go index 2ec3f8b2e9b1..25ce1adb3ebd 100644 --- a/codec/depinject.go +++ b/codec/depinject.go @@ -9,6 +9,7 @@ import ( stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" "cosmossdk.io/core/address" "cosmossdk.io/core/legacy" + "cosmossdk.io/core/registry" "cosmossdk.io/depinject" "cosmossdk.io/x/tx/signing" @@ -20,7 +21,7 @@ func ProvideInterfaceRegistry( addressCodec address.Codec, validatorAddressCodec address.ValidatorAddressCodec, customGetSigners []signing.CustomGetSigner, -) (types.InterfaceRegistry, error) { +) (types.InterfaceRegistry, registry.InterfaceRegistrar, error) { signingOptions := signing.Options{ AddressCodec: addressCodec, ValidatorAddressCodec: validatorAddressCodec, @@ -34,14 +35,14 @@ func ProvideInterfaceRegistry( SigningOptions: signingOptions, }) if err != nil { - return nil, err + return nil, nil, err } if err := interfaceRegistry.SigningContext().Validate(); err != nil { - return nil, err + return nil, nil, err } - return interfaceRegistry, nil + return interfaceRegistry, interfaceRegistry, nil } func ProvideLegacyAmino() legacy.Amino { diff --git a/contrib/images/simd-env/Dockerfile b/contrib/images/simd-env/Dockerfile index 88a144c10cce..0ed5b9e436af 100644 --- a/contrib/images/simd-env/Dockerfile +++ b/contrib/images/simd-env/Dockerfile @@ -27,6 +27,7 @@ COPY runtime/v2/go.mod runtime/v2/go.sum /work/runtime/v2/ COPY server/v2/appmanager/go.mod server/v2/appmanager/go.sum /work/server/v2/appmanager/ COPY server/v2/core/go.mod server/v2/core/go.sum /work/server/v2/core/ COPY server/v2/stf/go.mod server/v2/stf/go.sum /work/server/v2/stf/ +COPY server/v2/cometbft/go.mod server/v2/cometbft/go.sum /work/server/v2/cometbft/ RUN go mod download diff --git a/core/context/context._test.go b/core/context/context._test.go new file mode 100644 index 000000000000..df7d9dcd93c6 --- /dev/null +++ b/core/context/context._test.go @@ -0,0 +1,11 @@ +package context + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func Test_Sanity(t *testing.T) { + require.NotEqual(t, CometInfoKey, ExecModeKey) +} diff --git a/core/context/context.go b/core/context/context.go index 215620e2a142..b330cb48b22f 100644 --- a/core/context/context.go +++ b/core/context/context.go @@ -2,12 +2,18 @@ package context type contextKey uint8 -const ( - ExecModeKey contextKey = iota - CometInfoKey contextKey = iota +type ( + execModeKey struct{} + cometInfoKey struct{} + environmentKey struct{} ) -// EnvironmentContextKey is the context key for the environment. -// A caller should not assume the environment is available in each context. -// ref: https://github.com/cosmos/cosmos-sdk/issues/19640 -var EnvironmentContextKey = struct{}{} +var ( + ExecModeKey = execModeKey{} + CometInfoKey = cometInfoKey{} + + // EnvironmentContextKey is the context key for the environment. + // A caller should not assume the environment is available in each context. + // ref: https://github.com/cosmos/cosmos-sdk/issues/19640 + EnvironmentContextKey = environmentKey{} +) diff --git a/core/store/store.go b/core/store/store.go index 8e91aa4434c7..029f38dd7823 100644 --- a/core/store/store.go +++ b/core/store/store.go @@ -133,7 +133,7 @@ var _ KVStore = (Writer)(nil) // ReaderMap represents a readonly view over all the accounts state. type ReaderMap interface { - // ReaderMap must return the state for the provided actor. + // GetReader must return the state for the provided actor. // Storage implements might treat this as a prefix store over an actor. // Prefix safety is on the implementer. GetReader(actor []byte) (Reader, error) @@ -142,7 +142,7 @@ type ReaderMap interface { // WriterMap represents a writable actor state. type WriterMap interface { ReaderMap - // WriterMap must the return a WritableState + // GetWriter must the return a WritableState // for the provided actor namespace. GetWriter(actor []byte) (Writer, error) // ApplyStateChanges applies all the state changes diff --git a/go.work.example b/go.work.example index 14dd182955fa..961d4f9a7cd7 100644 --- a/go.work.example +++ b/go.work.example @@ -13,6 +13,7 @@ use ( ./math ./orm ./simapp + ./simapp/v2 ./tests ./server/v2/stf ./server/v2/appmanager @@ -23,6 +24,7 @@ use ( ./tools/confix ./tools/hubl ./x/accounts + ./x/accounts/defaults/lockup ./x/auth ./x/authz ./x/bank @@ -42,5 +44,4 @@ use ( ./x/tx ./x/upgrade ./x/epochs - ./x/accounts/defaults/lockup ) diff --git a/runtime/v2/app.go b/runtime/v2/app.go index f74f0a6168c7..4f06127a9406 100644 --- a/runtime/v2/app.go +++ b/runtime/v2/app.go @@ -124,5 +124,13 @@ func (a *App) GetLogger() log.Logger { } func (a *App) ExecuteGenesisTx(_ []byte) error { - panic("not implemented") + panic("App.ExecuteGenesisTx not supported in runtime/v2") +} + +func (a *App) SetAppVersion(context.Context, uint64) error { + return nil +} + +func (a *App) AppVersion(context.Context) (uint64, error) { + return 0, nil } diff --git a/runtime/v2/manager.go b/runtime/v2/manager.go index c45a98e2f3ad..6f0b8ca2e559 100644 --- a/runtime/v2/manager.go +++ b/runtime/v2/manager.go @@ -148,12 +148,6 @@ func (m *MM) InitGenesisJSON( mod := m.modules[moduleName] - // skip genutil as it's a special module that handles gentxs - // TODO: should this be an empty extension interface on genutil for server v2? - if moduleName == "genutil" { - continue - } - // we might get an adapted module, a native core API module or a legacy module switch module := mod.(type) { case appmodule.HasGenesisAuto: @@ -184,7 +178,7 @@ func (m *MM) InitGenesisJSON( // only one module will update the validator set if len(moduleValUpdates) > 0 { if seenValUpdates { - return errors.New("validator InitGenesis updates already set by a previous module") + return fmt.Errorf("validator InitGenesis updates already set by a previous module: current module %s", moduleName) } else { seenValUpdates = true } @@ -284,7 +278,10 @@ type hasABCIEndBlock interface { } // EndBlock runs the end-block logic of all modules and tx validator updates -func (m *MM) EndBlock() (endBlockFunc func(ctx context.Context) error, valUpdateFunc func(ctx context.Context) ([]appmodulev2.ValidatorUpdate, error)) { +func (m *MM) EndBlock() ( + endBlockFunc func(ctx context.Context) error, + valUpdateFunc func(ctx context.Context) ([]appmodulev2.ValidatorUpdate, error), +) { var validatorUpdates []appmodulev2.ValidatorUpdate endBlockFunc = func(ctx context.Context) error { for _, moduleName := range m.config.EndBlockers { diff --git a/runtime/v2/module.go b/runtime/v2/module.go index a61823d47a6f..042f4cadf7d6 100644 --- a/runtime/v2/module.go +++ b/runtime/v2/module.go @@ -14,6 +14,7 @@ import ( appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" reflectionv1 "cosmossdk.io/api/cosmos/reflection/v1" + "cosmossdk.io/core/app" "cosmossdk.io/core/appmodule" appmodulev2 "cosmossdk.io/core/appmodule/v2" "cosmossdk.io/core/comet" @@ -125,10 +126,6 @@ func ProvideAppBuilder( _, _ = fmt.Fprintln(os.Stderr, err.Error()) } - // TODO register as Invoker from simapp v2; remove if not needed - // std.RegisterInterfaces(interfaceRegistrar) - // std.RegisterLegacyAminoCodec(amino) - msgRouterBuilder := stf.NewMsgRouterBuilder() app := &App{ storeKeys: nil, @@ -246,3 +243,9 @@ func ProvideGenesisTxHandler(appBuilder *AppBuilder) genesis.TxHandler { func ProvideCometService() comet.Service { return &services.ContextAwareCometInfoService{} } + +// ProvideAppVersionModifier returns nil, `app.VersionModifier` is a feature of BaseApp and neither used nor required for runtim/v2. +// nil is acceptable, see: https://github.com/cosmos/cosmos-sdk/blob/0a6ee406a02477ae8ccbfcbe1b51fc3930087f4c/x/upgrade/keeper/keeper.go#L438 +func ProvideAppVersionModifier(app *AppBuilder) app.VersionModifier { + return nil +} diff --git a/runtime/v2/services/comet.go b/runtime/v2/services/comet.go index 3e22b49abc24..028919fcd5a0 100644 --- a/runtime/v2/services/comet.go +++ b/runtime/v2/services/comet.go @@ -13,6 +13,9 @@ type ContextAwareCometInfoService struct{} // CometInfo implements comet.Service. func (c *ContextAwareCometInfoService) CometInfo(ctx context.Context) comet.Info { - ci := ctx.Value(corecontext.CometInfoKey).(comet.Info) + ci, ok := ctx.Value(corecontext.CometInfoKey).(comet.Info) + if !ok { + panic("comet.Info not found in context") + } return ci } diff --git a/store/v2/root/factory.go b/store/v2/root/factory.go index ec81208f0109..327a03309022 100644 --- a/store/v2/root/factory.go +++ b/store/v2/root/factory.go @@ -54,7 +54,7 @@ func CreateRootStore(opts *FactoryOptions) (store.RootStore, error) { sc *commitment.CommitStore err error ensureDir = func(dir string) error { - if err := os.MkdirAll(dir, 0x0755); err != nil { + if err := os.MkdirAll(dir, 0o0755); err != nil { return fmt.Errorf("failed to create directory %s: %w", dir, err) } return nil From 439f2f9d5b5884bc9df4b58d702555330549a898 Mon Sep 17 00:00:00 2001 From: Marko Date: Thu, 6 Jun 2024 15:01:41 +0200 Subject: [PATCH 22/41] feat: upstream changes from server modular (#20584) --- store/v2/commitment/store.go | 41 ++++++++++++++++++++++++++---------- store/v2/database.go | 3 +++ store/v2/root/store.go | 7 +++++- x/upgrade/keeper/abci.go | 6 +----- 4 files changed, 40 insertions(+), 17 deletions(-) diff --git a/store/v2/commitment/store.go b/store/v2/commitment/store.go index e9cf2c0c6375..b67a1149c311 100644 --- a/store/v2/commitment/store.go +++ b/store/v2/commitment/store.go @@ -113,6 +113,19 @@ func (c *CommitStore) GetLatestVersion() (uint64, error) { return version, nil } +// IsEmpty returns true if the CommitStore is empty. +func (c *CommitStore) IsEmpty() (bool, error) { + value, err := c.db.Get([]byte(latestVersionKey)) + if err != nil { + return false, err + } + if value == nil { + return true, nil + } else { + return false, nil + } +} + func (c *CommitStore) LoadVersion(targetVersion uint64) error { // Rollback the metadata to the target version. latestVersion, err := c.GetLatestVersion() @@ -167,16 +180,19 @@ func (c *CommitStore) GetCommitInfo(version uint64) (*proof.CommitInfo, error) { } func (c *CommitStore) flushCommitInfo(version uint64, cInfo *proof.CommitInfo) error { + // do nothing if commit info is nil, as will be the case for an empty, initializing store + if cInfo == nil { + return nil + } + batch := c.db.NewBatch() - if cInfo != nil { - cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, version)) - value, err := cInfo.Marshal() - if err != nil { - return err - } - if err := batch.Set(cInfoKey, value); err != nil { - return err - } + cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, version)) + value, err := cInfo.Marshal() + if err != nil { + return err + } + if err := batch.Set(cInfoKey, value); err != nil { + return err } var buf bytes.Buffer @@ -201,8 +217,11 @@ func (c *CommitStore) Commit(version uint64) (*proof.CommitInfo, error) { // If a commit event execution is interrupted, a new iavl store's version // will be larger than the RMS's metadata, when the block is replayed, we // should avoid committing that iavl store again. - var commitID proof.CommitID - if tree.GetLatestVersion() >= version { + var ( + commitID proof.CommitID + latestVersion = tree.GetLatestVersion() + ) + if latestVersion != 0 && latestVersion >= version { commitID.Version = version commitID.Hash = tree.Hash() } else { diff --git a/store/v2/database.go b/store/v2/database.go index a0466de18dea..ae235cdab4e4 100644 --- a/store/v2/database.go +++ b/store/v2/database.go @@ -57,6 +57,9 @@ type Committer interface { // GetCommitInfo returns the CommitInfo for the given version. GetCommitInfo(version uint64) (*proof.CommitInfo, error) + // IsEmpty returns true if the database is empty. + IsEmpty() (bool, error) + // Close releases associated resources. It should NOT be idempotent. It must // only be called once and any call after may panic. io.Closer diff --git a/store/v2/root/store.go b/store/v2/root/store.go index 8c77cd0d7570..e5543a91a2cc 100644 --- a/store/v2/root/store.go +++ b/store/v2/root/store.go @@ -388,8 +388,13 @@ func (s *Store) writeSC(cs *corestore.Changeset) error { return fmt.Errorf("failed to write batch to SC store: %w", err) } + isEmpty, err := s.stateCommitment.IsEmpty() + if err != nil { + return fmt.Errorf("failed to check if SC store is empty: %w", err) + } + var previousHeight, version uint64 - if s.lastCommitInfo.GetVersion() == 0 && s.initialVersion > 1 { + if isEmpty { // This case means that no commit has been made in the store, we // start from initialVersion. version = s.initialVersion diff --git a/x/upgrade/keeper/abci.go b/x/upgrade/keeper/abci.go index ce1a418ea275..e6bed2f5e6ae 100644 --- a/x/upgrade/keeper/abci.go +++ b/x/upgrade/keeper/abci.go @@ -5,12 +5,10 @@ import ( "errors" "fmt" - storetypes "cosmossdk.io/store/types" consensusv1 "cosmossdk.io/x/consensus/types" "cosmossdk.io/x/upgrade/types" "github.com/cosmos/cosmos-sdk/telemetry" - sdk "github.com/cosmos/cosmos-sdk/types" ) // PreBlocker will check if there is a scheduled plan and if it is ready to be executed. @@ -31,7 +29,6 @@ func (k Keeper) PreBlocker(ctx context.Context) error { } found := err == nil - sdkCtx := sdk.UnwrapSDKContext(ctx) // TODO remove with consensus messages if !k.DowngradeVerified() { k.SetDowngradeVerified(true) // This check will make sure that we are using a valid binary. @@ -97,8 +94,7 @@ func (k Keeper) PreBlocker(ctx context.Context) error { // We have an upgrade handler for this upgrade name, so apply the upgrade k.Logger.Info(fmt.Sprintf("applying upgrade \"%s\" at %s", plan.Name, plan.DueAt())) - sdkCtx = sdkCtx.WithBlockGasMeter(storetypes.NewInfiniteGasMeter()) - if err := k.ApplyUpgrade(sdkCtx, plan); err != nil { + if err := k.ApplyUpgrade(ctx, plan); err != nil { return err } return nil From ca14b2847836ea098c15f691769e7ee6e6026b26 Mon Sep 17 00:00:00 2001 From: Cosmos SDK <113218068+github-prbot@users.noreply.github.com> Date: Fri, 7 Jun 2024 10:11:29 +0200 Subject: [PATCH 23/41] chore: fix spelling errors (#20581) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Co-authored-by: marbar3778 Co-authored-by: Marko --- docs/architecture/adr-073-indexer.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/architecture/adr-073-indexer.md b/docs/architecture/adr-073-indexer.md index b162635aa922..5be91d358c8b 100644 --- a/docs/architecture/adr-073-indexer.md +++ b/docs/architecture/adr-073-indexer.md @@ -33,6 +33,7 @@ Now that the [collections](./adr-062-collections-state-layer.md) and [orm](./adr In considering the design of built-in support, in discussions we have considered the needs of UI application developers, node operators and application and module developers. The following user stories have been identified as _ideal_ features, with the understanding that the SDK can likely only provide a subset of these features, but should aim for the best balance. When considering the needs of developers building UI applications, the following desirable features have been identified: + * U1: quickly querying the current on-chain state with any sort of filtering, sorting and pagination the client desires with the ability to optimize queries with custom indexes. * U2: data should be available in client friendly formats, for instance even if addresses are stored as bytes in state, clients should be available to view and query bech32 encoded addresses. * U3: state that was pruned from on-chain state to save space but is still otherwise valid (such as completed proposals and votes) should be queryable. @@ -43,11 +44,13 @@ When considering the needs of developers building UI applications, the following * U5: the query index should be consistent, meaning that UI applications should not need to be concerned with the possibility that the index has missed indexing some blocks or events When considering the needs of node operators, the following desirable features have been identified: -* N1: nodes shouldn't *need* to store indexes or events that are only needed for client queries, i.e. it should be possible to run a lean node + +* N1: nodes shouldn't _need_ to store indexes or events that are only needed for client queries, i.e. it should be possible to run a lean node * N2: it should be possible to quickly spin up a node with the query index without tons of custom infrastructure and coding, i.e. this should be strictly configuration change and a bit of devops. It should be possible to configure the index to contain just state, just events, or both. * N3: it should be possible to build up an almost complete query index starting from any point in time without necessarily needing to replay a full chain's history (with the understanding that some historical data may be missing) Finally, when considering the needs of application and module developers, the following desirable features have been identified: + * A1: enabling support for query indexing should require minimal tweaking to app boilerplate and configurable by node operators (off by default). * A2: it should be possible to index applications built with older versions of the SDK (including v0.47 and v0.50, possibly earlier) without major changes. * A3: module developers should mostly just need to use the collections and orm frameworks to get their data indexed, with minimal additional work. @@ -57,6 +60,7 @@ Finally, when considering the needs of application and module developers, the fo ## Decision We have decided to build a built-in query indexer for Cosmos SDK applications that is structured as two components: + 1. a state decoder that takes data from `collections` and `orm` and provides an indexable version of that data to an actual indexer 2. a PostgreSQL-based indexer implementation that can be run in-process with the Cosmos SDK node @@ -86,12 +90,13 @@ Blocks, transactions and events should be stored as rows in PostgreSQL tables wh For a full batteries included, client friendly query experience, a GraphQL endpoint should be exposed in the HTTP server for any PostgreSQL database that has the [Supabase pg_graphql](https://github.com/supabase/pg_graphql) extension enabled. `pg_graphql` will expose rich GraphQL queries for all PostgreSQL tables with zero code that support filtering, pagination, sorting and traversing foreign key references. (Support for defining foreign keys with `collections` and `orm` could be added in the future to take advantage of this). In addition, a [GraphiQL](https://github.com/graphql/graphiql) query explorer endpoint can be exposed to simplify client development. -With this setup, a node operator would only need to 1) setup a PostgresSQL database with the `pg_graphql` extension and 2) enable the query indexer in the configuration in order to provide a full-featured query experience to clients. Because PostgreSQL is a full-featured database, node operators can enable any sort of custom indexes or views that are needed for their specific application with no need for this to affect the state machine or any other nodes. +With this setup, a node operator would only need to 1) setup a PostgreSQL database with the `pg_graphql` extension and 2) enable the query indexer in the configuration in order to provide a full-featured query experience to clients. Because PostgreSQL is a full-featured database, node operators can enable any sort of custom indexes or views that are needed for their specific application with no need for this to affect the state machine or any other nodes. ## Alternatives The following alternatives were considered: + * support any SQL database not just PostgreSQL using a framework like [GORM](https://gorm.io/). While this would be more flexible, it would be slower, require heavy usage of golang reflection and might limit how much we can take advantage of PostgreSQL's unique features for little benefit (the assumption being that most users would choose PostgreSQL anyway and or be happy enough that we made that choice). * don't support any specific database, but just build the decoder framework. While this would simplify our efforts in the short-term, it still doesn't provide a full-featured solution and requires others to build out the key infrastructure similar to [ADR 038](adr-038-state-listening.md). This limbo state would not allow the SDK to definitely make key optimizations to state layout and simple the task of module development in a definitive way by providing a full replacement for gRPC client queries. * target a database with full historical query support like [Datomic](https://www.datomic.com). This requires a bunch of custom infrastructure and would expose a powerful, yet unfamiliar query language to users. From 9f68fc57591e7e5cbef1413aa759e784da932b67 Mon Sep 17 00:00:00 2001 From: TinyFoxy Date: Mon, 10 Jun 2024 03:41:56 +0800 Subject: [PATCH 24/41] refactor(hubl): handle the case when grpc endpoints is nil (#20603) --- tools/hubl/internal/registry.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/tools/hubl/internal/registry.go b/tools/hubl/internal/registry.go index acbf1ef0c60c..a3eea12391e4 100644 --- a/tools/hubl/internal/registry.go +++ b/tools/hubl/internal/registry.go @@ -41,10 +41,8 @@ func GetChainRegistryEntry(chain string) (*ChainRegistryEntry, error) { cleanEntries := make([]*APIEntry, 0) for i, apiEntry := range data.APIs.GRPC { // clean-up the http(s):// prefix - if strings.Contains(apiEntry.Address, "https://") { - data.APIs.GRPC[i].Address = strings.Replace(apiEntry.Address, "https://", "", 1) - } else if strings.Contains(apiEntry.Address, "http://") { - data.APIs.GRPC[i].Address = strings.Replace(apiEntry.Address, "http://", "", 1) + if idx := strings.Index(apiEntry.Address, "://"); idx != -1 { + data.APIs.GRPC[i].Address = apiEntry.Address[idx+3:] } // remove trailing slashes @@ -59,25 +57,29 @@ func GetChainRegistryEntry(chain string) (*ChainRegistryEntry, error) { } data.APIs.GRPC = cleanEntries - fmt.Printf("Found data for %s in the chain registry\n", chain) return data, nil } func SelectGRPCEndpoints(chain string) (string, error) { entry, err := GetChainRegistryEntry(chain) - if err != nil { - fmt.Printf("Unable to load data for %s in the chain registry. Specify a custom gRPC endpoint manually.\n", chain) + if err != nil || len(entry.APIs.GRPC) == 0 { + if err != nil { + // print error here so that user can know what happened and decide what to do next + fmt.Printf("Failed to load data for %s in the chain registry: %v\n", chain, err) + } else { + fmt.Printf("Found empty gRPC endpoint of %s in the chain registry.\n", chain) + } + fmt.Println("Specify a custom gRPC endpoint manually.") prompt := &promptui.Prompt{ Label: "Enter a gRPC endpoint that you trust", } return prompt.Run() } + fmt.Printf("Found data for %s in the chain registry\n", chain) var items []string - if entry != nil { - for _, apiEntry := range entry.APIs.GRPC { - items = append(items, fmt.Sprintf("%s: %s", apiEntry.Provider, apiEntry.Address)) - } + for _, apiEntry := range entry.APIs.GRPC { + items = append(items, fmt.Sprintf("%s: %s", apiEntry.Provider, apiEntry.Address)) } prompt := promptui.SelectWithAdd{ Label: fmt.Sprintf("Select a gRPC endpoint that you trust for the %s network", chain), From efea5db29b71770282343842337cf02e2879b088 Mon Sep 17 00:00:00 2001 From: Marko Date: Sun, 9 Jun 2024 22:13:25 +0200 Subject: [PATCH 25/41] refactor(distribution)!: add cometinfo (#20588) --- simapp/app.go | 2 +- .../distribution/keeper/msg_server_test.go | 3 ++- x/distribution/CHANGELOG.md | 4 +++- x/distribution/depinject.go | 9 ++++++--- x/distribution/keeper/abci.go | 16 ++++++++++------ x/distribution/keeper/allocation_test.go | 15 +++++++++++++++ x/distribution/keeper/delegation_test.go | 9 +++++++++ x/distribution/keeper/keeper.go | 13 +++++++++++-- x/distribution/keeper/keeper_test.go | 1 + .../migrations/v4/migrate_funds_test.go | 9 +++++++++ 10 files changed, 67 insertions(+), 14 deletions(-) diff --git a/simapp/app.go b/simapp/app.go index 2c9340db04bf..2f3046cefce5 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -357,7 +357,7 @@ func NewSimApp( app.PoolKeeper = poolkeeper.NewKeeper(appCodec, runtime.NewEnvironment(runtime.NewKVStoreService(keys[pooltypes.StoreKey]), logger.With(log.ModuleKey, "x/protocolpool")), app.AuthKeeper, app.BankKeeper, app.StakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) - app.DistrKeeper = distrkeeper.NewKeeper(appCodec, runtime.NewEnvironment(runtime.NewKVStoreService(keys[distrtypes.StoreKey]), logger.With(log.ModuleKey, "x/distribution")), app.AuthKeeper, app.BankKeeper, app.StakingKeeper, app.PoolKeeper, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + app.DistrKeeper = distrkeeper.NewKeeper(appCodec, runtime.NewEnvironment(runtime.NewKVStoreService(keys[distrtypes.StoreKey]), logger.With(log.ModuleKey, "x/distribution")), app.AuthKeeper, app.BankKeeper, app.StakingKeeper, app.PoolKeeper, cometService, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String()) app.SlashingKeeper = slashingkeeper.NewKeeper(runtime.NewEnvironment(runtime.NewKVStoreService(keys[slashingtypes.StoreKey]), logger.With(log.ModuleKey, "x/slashing")), appCodec, legacyAmino, app.StakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String(), diff --git a/tests/integration/distribution/keeper/msg_server_test.go b/tests/integration/distribution/keeper/msg_server_test.go index 4bf6d47e6c77..89d31409ac11 100644 --- a/tests/integration/distribution/keeper/msg_server_test.go +++ b/tests/integration/distribution/keeper/msg_server_test.go @@ -137,7 +137,7 @@ func initFixture(t *testing.T) *fixture { poolKeeper := poolkeeper.NewKeeper(cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[pooltypes.StoreKey]), log.NewNopLogger()), accountKeeper, bankKeeper, stakingKeeper, authority.String()) distrKeeper := distrkeeper.NewKeeper( - cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[distrtypes.StoreKey]), logger), accountKeeper, bankKeeper, stakingKeeper, poolKeeper, distrtypes.ModuleName, authority.String(), + cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[distrtypes.StoreKey]), logger), accountKeeper, bankKeeper, stakingKeeper, poolKeeper, cometService, distrtypes.ModuleName, authority.String(), ) authModule := auth.NewAppModule(cdc, accountKeeper, acctsModKeeper, authsims.RandomGenesisAccounts) @@ -163,6 +163,7 @@ func initFixture(t *testing.T) *fixture { }, }, }, + ProposerAddress: valConsAddr, }) integrationApp := integration.NewIntegrationApp(ctx, logger, keys, cdc, diff --git a/x/distribution/CHANGELOG.md b/x/distribution/CHANGELOG.md index d48ad2a679ef..ad37c21997b0 100644 --- a/x/distribution/CHANGELOG.md +++ b/x/distribution/CHANGELOG.md @@ -31,6 +31,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking Changes + +* [#20588](https://github.com/cosmos/cosmos-sdk/pull/20588) `x/distribution` now takes cometService in order to get consensus related information. * [#19868](https://github.com/cosmos/cosmos-sdk/pull/19868) Removes Accounts String method * `NewMsgSetWithdrawAddress` now takes strings as argument instead of `sdk.AccAddress`. * `NewGenesisState` now takes a string as argument instead of `sdk.ConsAddress`. @@ -74,4 +76,4 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Bug Fixes -* [#19301](https://github.com/cosmos/cosmos-sdk/pull/19301) Fix vulnerability in `incrementReferenceCount` in distribution. \ No newline at end of file +* [#19301](https://github.com/cosmos/cosmos-sdk/pull/19301) Fix vulnerability in `incrementReferenceCount` in distribution. diff --git a/x/distribution/depinject.go b/x/distribution/depinject.go index 299f750c60c7..ddd6c64b33b3 100644 --- a/x/distribution/depinject.go +++ b/x/distribution/depinject.go @@ -3,6 +3,7 @@ package distribution import ( modulev1 "cosmossdk.io/api/cosmos/distribution/module/v1" "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/comet" "cosmossdk.io/depinject" "cosmossdk.io/depinject/appconfig" authtypes "cosmossdk.io/x/auth/types" @@ -27,9 +28,10 @@ func init() { type ModuleInputs struct { depinject.In - Config *modulev1.Module - Environment appmodule.Environment - Cdc codec.Codec + Config *modulev1.Module + Environment appmodule.Environment + Cdc codec.Codec + CometService comet.Service AccountKeeper types.AccountKeeper BankKeeper types.BankKeeper @@ -69,6 +71,7 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { in.BankKeeper, in.StakingKeeper, in.PoolKeeper, + in.CometService, feeCollectorName, authorityAddr, ) diff --git a/x/distribution/keeper/abci.go b/x/distribution/keeper/abci.go index 60d1aea984a9..46ee8561a6a9 100644 --- a/x/distribution/keeper/abci.go +++ b/x/distribution/keeper/abci.go @@ -1,6 +1,8 @@ package keeper import ( + "context" + "cosmossdk.io/x/distribution/types" "github.com/cosmos/cosmos-sdk/telemetry" @@ -10,24 +12,26 @@ import ( // BeginBlocker sets the proposer for determining distribution during endblock // and distribute rewards for the previous block. // TODO: use context.Context after including the comet service -func (k Keeper) BeginBlocker(ctx sdk.Context) error { +func (k Keeper) BeginBlocker(ctx context.Context) error { defer telemetry.ModuleMeasureSince(types.ModuleName, telemetry.Now(), telemetry.MetricKeyBeginBlocker) // determine the total power signing the block var previousTotalPower int64 - for _, vote := range ctx.CometInfo().LastCommit.Votes { + header := k.HeaderService.HeaderInfo(ctx) + ci := k.cometService.CometInfo(ctx) + for _, vote := range ci.LastCommit.Votes { previousTotalPower += vote.Validator.Power } // TODO this is Tendermint-dependent // ref https://github.com/cosmos/cosmos-sdk/issues/3095 - if ctx.BlockHeight() > 1 { - if err := k.AllocateTokens(ctx, previousTotalPower, ctx.CometInfo().LastCommit.Votes); err != nil { + if header.Height > 1 { + if err := k.AllocateTokens(ctx, previousTotalPower, ci.LastCommit.Votes); err != nil { return err } // every 1000 blocks send whole coins from decimal pool to community pool - if ctx.BlockHeight()%1000 == 0 { + if header.Height%1000 == 0 { if err := k.sendDecimalPoolToCommunityPool(ctx); err != nil { return err } @@ -35,6 +39,6 @@ func (k Keeper) BeginBlocker(ctx sdk.Context) error { } // record the proposer for when we payout on the next block - consAddr := sdk.ConsAddress(ctx.BlockHeader().ProposerAddress) + consAddr := sdk.ConsAddress(ci.ProposerAddress) return k.PreviousProposer.Set(ctx, consAddr) } diff --git a/x/distribution/keeper/allocation_test.go b/x/distribution/keeper/allocation_test.go index d22341717a33..1729a3982010 100644 --- a/x/distribution/keeper/allocation_test.go +++ b/x/distribution/keeper/allocation_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "context" "testing" "time" @@ -28,6 +29,17 @@ import ( moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" ) +var _ comet.Service = (*emptyCometService)(nil) + +type emptyCometService struct{} + +// CometInfo implements comet.Service. +func (e *emptyCometService) CometInfo(context.Context) comet.Info { + return comet.Info{} +} + +var testCometService = &emptyCometService{} + func TestAllocateTokensToValidatorWithCommission(t *testing.T) { ctrl := gomock.NewController(t) key := storetypes.NewKVStoreKey(disttypes.StoreKey) @@ -58,6 +70,7 @@ func TestAllocateTokensToValidatorWithCommission(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -124,6 +137,7 @@ func TestAllocateTokensToManyValidators(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -264,6 +278,7 @@ func TestAllocateTokensTruncation(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) diff --git a/x/distribution/keeper/delegation_test.go b/x/distribution/keeper/delegation_test.go index e3d8c0547b07..f1bae825e36d 100644 --- a/x/distribution/keeper/delegation_test.go +++ b/x/distribution/keeper/delegation_test.go @@ -54,6 +54,7 @@ func TestCalculateRewardsBasic(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -167,6 +168,7 @@ func TestCalculateRewardsAfterSlash(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -283,6 +285,7 @@ func TestCalculateRewardsAfterManySlashes(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -420,6 +423,7 @@ func TestCalculateRewardsMultiDelegator(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -530,6 +534,7 @@ func TestWithdrawDelegationRewardsBasic(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -618,6 +623,7 @@ func TestCalculateRewardsAfterManySlashesInSameBlock(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -747,6 +753,7 @@ func TestCalculateRewardsMultiDelegatorMultiSlash(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -900,6 +907,7 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) @@ -1114,6 +1122,7 @@ func Test100PercentCommissionReward(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) diff --git a/x/distribution/keeper/keeper.go b/x/distribution/keeper/keeper.go index 58f141ca0e33..e2bada2b9d8e 100644 --- a/x/distribution/keeper/keeper.go +++ b/x/distribution/keeper/keeper.go @@ -8,6 +8,7 @@ import ( "cosmossdk.io/collections" collcodec "cosmossdk.io/collections/codec" "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/comet" "cosmossdk.io/core/event" errorsmod "cosmossdk.io/errors" "cosmossdk.io/x/distribution/types" @@ -21,6 +22,8 @@ import ( type Keeper struct { appmodule.Environment + cometService comet.Service + cdc codec.BinaryCodec authKeeper types.AccountKeeper bankKeeper types.BankKeeper @@ -57,8 +60,13 @@ type Keeper struct { // NewKeeper creates a new distribution Keeper instance func NewKeeper( - cdc codec.BinaryCodec, env appmodule.Environment, - ak types.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, pk types.PoolKeeper, + cdc codec.BinaryCodec, + env appmodule.Environment, + ak types.AccountKeeper, + bk types.BankKeeper, + sk types.StakingKeeper, + pk types.PoolKeeper, + cometService comet.Service, feeCollectorName, authority string, ) Keeper { // ensure distribution module account is set @@ -69,6 +77,7 @@ func NewKeeper( sb := collections.NewSchemaBuilder(env.KVStoreService) k := Keeper{ Environment: env, + cometService: cometService, cdc: cdc, authKeeper: ak, bankKeeper: bk, diff --git a/x/distribution/keeper/keeper_test.go b/x/distribution/keeper/keeper_test.go index 074ca1c3fc1e..7833762a3b0e 100644 --- a/x/distribution/keeper/keeper_test.go +++ b/x/distribution/keeper/keeper_test.go @@ -70,6 +70,7 @@ func initFixture(t *testing.T) (sdk.Context, []sdk.AccAddress, keeper.Keeper, de bankKeeper, stakingKeeper, poolKeeper, + testCometService, "fee_collector", authorityAddr, ) diff --git a/x/distribution/migrations/v4/migrate_funds_test.go b/x/distribution/migrations/v4/migrate_funds_test.go index d8b61c6cb1e3..e801040009a2 100644 --- a/x/distribution/migrations/v4/migrate_funds_test.go +++ b/x/distribution/migrations/v4/migrate_funds_test.go @@ -7,6 +7,7 @@ import ( "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" + "cosmossdk.io/core/comet" "cosmossdk.io/log" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/auth" @@ -31,6 +32,13 @@ import ( moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" ) +type emptyCometService struct{} + +// CometInfo implements comet.Service. +func (e *emptyCometService) CometInfo(context.Context) comet.Info { + return comet.Info{} +} + func TestFundsMigration(t *testing.T) { keys := storetypes.NewKVStoreKeys( authtypes.StoreKey, banktypes.StoreKey, disttypes.StoreKey, @@ -90,6 +98,7 @@ func TestFundsMigration(t *testing.T) { bankKeeper, stakingKeeper, poolKeeper, + &emptyCometService{}, disttypes.ModuleName, authority, ) From 7d68ba2cb8662d881a8c4846a793137fc78cb281 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 10 Jun 2024 09:29:28 +0200 Subject: [PATCH 26/41] chore: bring patch changelogs to main (#20599) --- CHANGELOG.md | 32 +++++++++++++++++++++++++++++--- x/upgrade/CHANGELOG.md | 5 +++++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3773d6e78ab1..21784defaa04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,9 +61,9 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (client) [#19870](https://github.com/cosmos/cosmos-sdk/pull/19870) Add new query command `wait-tx`. Alias `event-query-tx-for` to `wait-tx` for backward compatibility. * (crypto/keyring) [#20212](https://github.com/cosmos/cosmos-sdk/pull/20212) Expose the db keyring used in the keystore. * (genutil) [#19971](https://github.com/cosmos/cosmos-sdk/pull/19971) Allow manually setting the consensus key type in genesis -* (debug) [#20328](https://github.com/cosmos/cosmos-sdk/pull/20328) Add consensus address for debug cmd. ### Improvements + * (bank) [#20354](https://github.com/cosmos/cosmos-sdk/pull/20354) Reduce the number of `ValidateDenom` calls in `bank.SendCoins`. * (types) [#19869](https://github.com/cosmos/cosmos-sdk/pull/19869) Removed `Any` type from `codec/types` and replaced it with an alias for `cosmos/gogoproto/types/any`. * (server) [#19854](https://github.com/cosmos/cosmos-sdk/pull/19854) Add customizability to start command. @@ -114,8 +114,6 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (server) [#18994](https://github.com/cosmos/cosmos-sdk/pull/18994) Update server context directly rather than a reference to a sub-object * [#19833](https://github.com/cosmos/cosmos-sdk/pull/19833) Fix some places in which we call Remove inside a Walk. * [#19851](https://github.com/cosmos/cosmos-sdk/pull/19851) Fix some places in which we call Remove inside a Walk (x/staking and x/gov). -* (cli) [#20020](https://github.com/cosmos/cosmos-sdk/pull/20020) Make bootstrap-state command support both new and legacy genesis format. -* (baseapp) [#20107](https://github.com/cosmos/cosmos-sdk/pull/20107) Allow height overwrite BlockHeight in header. ### API Breaking Changes @@ -202,6 +200,23 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (simapp) [#19146](https://github.com/cosmos/cosmos-sdk/pull/19146) Replace `--v` CLI option with `--validator-count`/`-n`. * (module) [#19370](https://github.com/cosmos/cosmos-sdk/pull/19370) Deprecate `module.Configurator`, use `appmodule.HasMigrations` and `appmodule.HasServices` instead from Core API. +## [v0.50.7](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.7) - 2024-06-04 + +### Improvements + +* (debug) [#20328](https://github.com/cosmos/cosmos-sdk/pull/20328) Add consensus address for debug cmd. +* (runtime) [#20264](https://github.com/cosmos/cosmos-sdk/pull/20264) Expose grpc query router via depinject. +* (x/consensus) [#20381](https://github.com/cosmos/cosmos-sdk/pull/20381) Use Comet utility for consensus module consensus param updates. +* (client) [#20356](https://github.com/cosmos/cosmos-sdk/pull/20356) Overwrite client context when available in `SetCmdClientContext`. + +### Bug Fixes + +* (baseapp) [#20346](https://github.com/cosmos/cosmos-sdk/pull/20346) Correctly assign `execModeSimulate` to context for `simulateTx`. +* (baseapp) [#20144](https://github.com/cosmos/cosmos-sdk/pull/20144) Remove txs from mempool when AnteHandler fails in recheck. +* (baseapp) [#20107](https://github.com/cosmos/cosmos-sdk/pull/20107) Avoid header height overwrite block height. +* (cli) [#20020](https://github.com/cosmos/cosmos-sdk/pull/20020) Make bootstrap-state command support both new and legacy genesis format. +* (testutil/sims) [#20151](https://github.com/cosmos/cosmos-sdk/pull/20151) Set all signatures and don't overwrite the previous one in `GenSignedMockTx`. + ## [v0.50.6](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.6) - 2024-04-22 ### Features @@ -666,6 +681,17 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (x/staking) [#14567](https://github.com/cosmos/cosmos-sdk/pull/14567) The `delegator_address` field of `MsgCreateValidator` has been deprecated. The validator address bytes and delegator address bytes refer to the same account while creating validator (defer only in bech32 notation). +## [v0.47.12](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.47.12) - 2024-06-10 + +## Improvements + +* (x/authz,x/feegrant) [#20590](https://github.com/cosmos/cosmos-sdk/pull/20590) Provide updated keeper in depinject for authz and feegrant modules. + +### Bug Fixes + +* (baseapp) [#20144](https://github.com/cosmos/cosmos-sdk/pull/20144) Remove txs from mempool when AnteHandler fails in recheck. +* (testutil/sims) [#20151](https://github.com/cosmos/cosmos-sdk/pull/20151) Set all signatures and don't overwrite the previous one in `GenSignedMockTx`. + ## [v0.47.11](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.47.11) - 2024-04-22 ### Bug Fixes diff --git a/x/upgrade/CHANGELOG.md b/x/upgrade/CHANGELOG.md index 35113c3611b7..c098e5a24827 100644 --- a/x/upgrade/CHANGELOG.md +++ b/x/upgrade/CHANGELOG.md @@ -37,6 +37,11 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (x/upgrade) [#16244](https://github.com/cosmos/cosmos-sdk/pull/16244) Upgrade module no longer stores the app version but gets and sets the app version stored in the `ParamStore` of baseapp. +## [v0.1.3](https://github.com/cosmos/cosmos-sdk/releases/tag/x/upgrade/v0.1.3) - 2024-06-04 + +* (deps) [#20530](https://github.com/cosmos/cosmos-sdk/pull/20530) Bump vulnerable `github.com/hashicorp/go-getter` to v1.7.4. + * In theory, we do not need a new release for this, but we are doing it as `x/upgrade` is used in Cosmovisor. + ## [v0.1.2](https://github.com/cosmos/cosmos-sdk/releases/tag/x/upgrade/v0.1.2) - 2024-04-22 ### Improvements From e799965ec88532799868a62c5a8bbaeb7caba645 Mon Sep 17 00:00:00 2001 From: testinginprod <98415576+testinginprod@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:55:23 +0200 Subject: [PATCH 27/41] feat(stf): port simappv2 changes (#20587) Co-authored-by: unknown unknown --- server/v2/stf/branch/writer_map.go | 40 +++++++++++++++++++++++----- server/v2/stf/core_router_service.go | 24 +++++++++++------ server/v2/stf/stf.go | 26 +++++++++++++----- 3 files changed, 68 insertions(+), 22 deletions(-) diff --git a/server/v2/stf/branch/writer_map.go b/server/v2/stf/branch/writer_map.go index b624a4d2532c..8e7edf0e4104 100644 --- a/server/v2/stf/branch/writer_map.go +++ b/server/v2/stf/branch/writer_map.go @@ -53,21 +53,47 @@ func (b WriterMap) ApplyStateChanges(stateChanges []store.StateChanges) error { return nil } +// GetStateChanges returns the state changes for all actors in the WriterMap, including all direct +// ancesotors from which this WriterMap was derived. +// See WriterMap.recurseStateChanges for more details. +// Subject to possible renaming to ensure a developer can retrieve only changes in *this* branch +// context (not ancestors) if that is desired. +// see: https://github.com/cosmos/cosmos-sdk/pull/20412#discussion_r1618771230 func (b WriterMap) GetStateChanges() ([]store.StateChanges, error) { - sc := make([]store.StateChanges, len(b.branchedWriterState)) - for account, stateChange := range b.branchedWriterState { - kvChanges, err := stateChange.ChangeSets() - if err != nil { - return nil, err - } + var ( + changes = make(map[string][]store.KVPair) + sc []store.StateChanges + ) + if err := b.recurseStateChanges(changes); err != nil { + return nil, err + } + + for account, kvPairs := range changes { sc = append(sc, store.StateChanges{ Actor: []byte(account), - StateChanges: kvChanges, + StateChanges: kvPairs, }) } return sc, nil } +func (b WriterMap) recurseStateChanges(changes map[string][]store.KVPair) error { + // depth first + if wr, ok := b.state.(WriterMap); ok { + if err := wr.recurseStateChanges(changes); err != nil { + return err + } + } + for account, stateChange := range b.branchedWriterState { + kvChanges, err := stateChange.ChangeSets() + if err != nil { + return err + } + changes[account] = append(changes[account], kvChanges...) + } + return nil +} + func (b WriterMap) applyStateChange(sc store.StateChanges) error { writableState, err := b.GetWriter(sc.Actor) if err != nil { diff --git a/server/v2/stf/core_router_service.go b/server/v2/stf/core_router_service.go index f64e90cc285d..15da47e87cdc 100644 --- a/server/v2/stf/core_router_service.go +++ b/server/v2/stf/core_router_service.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "reflect" "strings" "google.golang.org/protobuf/runtime/protoiface" @@ -61,14 +62,8 @@ func (m *msgRouterService) InvokeUntyped(ctx context.Context, msg protoiface.Mes // NewQueryRouterService implements router.Service. func NewQueryRouterService(queryRouterBuilder *MsgRouterBuilder) router.Service { - queryRouter, err := queryRouterBuilder.Build() - if err != nil { - panic(fmt.Errorf("cannot create queryRouter: %w", err)) - } - return &queryRouterService{ builder: queryRouterBuilder, - handler: queryRouter, } } @@ -100,8 +95,21 @@ func (m *queryRouterService) InvokeTyped( ctx context.Context, req, resp protoiface.MessageV1, ) error { - // see https://github.com/cosmos/cosmos-sdk/pull/20349 - panic("not implemented") + // TODO lazy initialization is ugly and not thread safe. we don't want to check a mutex on every InvokeTyped either. + if m.handler == nil { + var err error + m.handler, err = m.builder.Build() + if err != nil { + return fmt.Errorf("cannot create queryRouter: %w", err) + } + } + // reflection is required, see https://github.com/cosmos/cosmos-sdk/pull/20349 + res, err := m.handler(ctx, req) + if err != nil { + return err + } + reflect.Indirect(reflect.ValueOf(resp)).Set(reflect.Indirect(reflect.ValueOf(res))) + return nil } // InvokeUntyped execute a message and returns a response. diff --git a/server/v2/stf/stf.go b/server/v2/stf/stf.go index 4848a8c765ab..fd6d434c91c6 100644 --- a/server/v2/stf/stf.go +++ b/server/v2/stf/stf.go @@ -7,6 +7,7 @@ import ( appmanager "cosmossdk.io/core/app" appmodulev2 "cosmossdk.io/core/appmodule/v2" + corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/event" "cosmossdk.io/core/gas" "cosmossdk.io/core/header" @@ -17,6 +18,9 @@ import ( "cosmossdk.io/server/v2/stf/internal" ) +// Identity defines STF's bytes identity and it's used by STF to store things in its own state. +var Identity = []byte("stf") + // STF is a struct that manages the state transition component of the app. type STF[T transaction.Tx] struct { logger log.Logger @@ -108,10 +112,15 @@ func (s STF[T]) DeliverBlock( // reset events exCtx.events = make([]event.Event, 0) + // begin block - beginBlockEvents, err := s.beginBlock(exCtx) - if err != nil { - return nil, nil, err + var beginBlockEvents []event.Event + if !block.IsGenesis { + // begin block + beginBlockEvents, err = s.beginBlock(exCtx) + if err != nil { + return nil, nil, err + } } // check if we need to return early @@ -401,11 +410,13 @@ func (s STF[T]) validatorUpdates( return ctx.events, valSetUpdates, nil } -const headerInfoPrefix = 0x0 +const headerInfoPrefix = 0x37 // setHeaderInfo sets the header info in the state to be used by queries in the future. func (s STF[T]) setHeaderInfo(state store.WriterMap, headerInfo header.Info) error { - runtimeStore, err := state.GetWriter(appmanager.RuntimeIdentity) + // TODO storing header info is too low level here, stf should be stateless. + // We should have a keeper that does this. + runtimeStore, err := state.GetWriter(Identity) if err != nil { return err } @@ -422,7 +433,7 @@ func (s STF[T]) setHeaderInfo(state store.WriterMap, headerInfo header.Info) err // getHeaderInfo gets the header info from the state. It should only be used for queries func (s STF[T]) getHeaderInfo(state store.WriterMap) (i header.Info, err error) { - runtimeStore, err := state.GetWriter(appmanager.RuntimeIdentity) + runtimeStore, err := state.GetWriter(Identity) if err != nil { return header.Info{}, err } @@ -579,11 +590,12 @@ func (s STF[T]) makeContext( store store.WriterMap, execMode transaction.ExecMode, ) *executionContext { + valuedCtx := context.WithValue(ctx, corecontext.ExecModeKey, execMode) return newExecutionContext( s.makeGasMeter, s.makeGasMeteredState, s.branchFn, - ctx, + valuedCtx, sender, store, execMode, From d7105af50659dca6e8b332bb93ea8298a961b35c Mon Sep 17 00:00:00 2001 From: TinyFoxy Date: Mon, 10 Jun 2024 17:07:31 +0800 Subject: [PATCH 28/41] fix: remove some duplicate words (#20605) --- api/cosmos/circuit/v1/tx_grpc.pb.go | 2 +- tests/systemtests/system.go | 2 +- x/auth/ante/sigverify.go | 2 +- x/circuit/keeper/msg_server.go | 2 +- x/circuit/proto/cosmos/circuit/v1/tx.proto | 2 +- x/circuit/types/tx.pb.go | 2 +- x/simulation/doc.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/cosmos/circuit/v1/tx_grpc.pb.go b/api/cosmos/circuit/v1/tx_grpc.pb.go index 0103451c0245..a3b22335e577 100644 --- a/api/cosmos/circuit/v1/tx_grpc.pb.go +++ b/api/cosmos/circuit/v1/tx_grpc.pb.go @@ -34,7 +34,7 @@ type MsgClient interface { // TripCircuitBreaker pauses processing of Msg's in the state machine. TripCircuitBreaker(ctx context.Context, in *MsgTripCircuitBreaker, opts ...grpc.CallOption) (*MsgTripCircuitBreakerResponse, error) // ResetCircuitBreaker resumes processing of Msg's in the state machine that - // have been been paused using TripCircuitBreaker. + // have been paused using TripCircuitBreaker. ResetCircuitBreaker(ctx context.Context, in *MsgResetCircuitBreaker, opts ...grpc.CallOption) (*MsgResetCircuitBreakerResponse, error) } diff --git a/tests/systemtests/system.go b/tests/systemtests/system.go index deb19a396fe1..285af4e03f9c 100644 --- a/tests/systemtests/system.go +++ b/tests/systemtests/system.go @@ -48,7 +48,7 @@ type SystemUnderTest struct { outputDir string testnetInitializer TestnetInitializer - // blockTime is the the expected/desired block time. This is not going to be very precise + // blockTime is the expected/desired block time. This is not going to be very precise // since Tendermint consensus does not allow specifying it directly. blockTime time.Duration rpcAddr string diff --git a/x/auth/ante/sigverify.go b/x/auth/ante/sigverify.go index e40fc5d9b98a..638afe594332 100644 --- a/x/auth/ante/sigverify.go +++ b/x/auth/ante/sigverify.go @@ -64,7 +64,7 @@ type AccountAbstractionKeeper interface { // gas for signature verification. // // In cases where unordered or parallel transactions are desired, it is recommended -// to to set unordered=true with a reasonable timeout_height value, in which case +// to set unordered=true with a reasonable timeout_height value, in which case // this nonce verification and increment will be skipped. // // CONTRACT: Tx must implement SigVerifiableTx interface diff --git a/x/circuit/keeper/msg_server.go b/x/circuit/keeper/msg_server.go index 3c7df7172732..974d682ecc35 100644 --- a/x/circuit/keeper/msg_server.go +++ b/x/circuit/keeper/msg_server.go @@ -134,7 +134,7 @@ func (srv msgServer) TripCircuitBreaker(ctx context.Context, msg *types.MsgTripC } // ResetCircuitBreaker resumes processing of Msg's in the state machine that -// have been been paused using TripCircuitBreaker. +// have been paused using TripCircuitBreaker. func (srv msgServer) ResetCircuitBreaker(ctx context.Context, msg *types.MsgResetCircuitBreaker) (*types.MsgResetCircuitBreakerResponse, error) { keeper := srv.Keeper address, err := srv.addressCodec.StringToBytes(msg.Authority) diff --git a/x/circuit/proto/cosmos/circuit/v1/tx.proto b/x/circuit/proto/cosmos/circuit/v1/tx.proto index 71f708bb2ad9..1e09117b28f1 100644 --- a/x/circuit/proto/cosmos/circuit/v1/tx.proto +++ b/x/circuit/proto/cosmos/circuit/v1/tx.proto @@ -18,7 +18,7 @@ service Msg { rpc TripCircuitBreaker(MsgTripCircuitBreaker) returns (MsgTripCircuitBreakerResponse); // ResetCircuitBreaker resumes processing of Msg's in the state machine that - // have been been paused using TripCircuitBreaker. + // have been paused using TripCircuitBreaker. rpc ResetCircuitBreaker(MsgResetCircuitBreaker) returns (MsgResetCircuitBreakerResponse); } diff --git a/x/circuit/types/tx.pb.go b/x/circuit/types/tx.pb.go index df1f62291b2d..667cce9d9d7a 100644 --- a/x/circuit/types/tx.pb.go +++ b/x/circuit/types/tx.pb.go @@ -406,7 +406,7 @@ type MsgClient interface { // TripCircuitBreaker pauses processing of Msg's in the state machine. TripCircuitBreaker(ctx context.Context, in *MsgTripCircuitBreaker, opts ...grpc.CallOption) (*MsgTripCircuitBreakerResponse, error) // ResetCircuitBreaker resumes processing of Msg's in the state machine that - // have been been paused using TripCircuitBreaker. + // have been paused using TripCircuitBreaker. ResetCircuitBreaker(ctx context.Context, in *MsgResetCircuitBreaker, opts ...grpc.CallOption) (*MsgResetCircuitBreakerResponse, error) } diff --git a/x/simulation/doc.go b/x/simulation/doc.go index f92a6cac8bab..e01040c3590c 100644 --- a/x/simulation/doc.go +++ b/x/simulation/doc.go @@ -113,7 +113,7 @@ To export the simulation app state (i.e genesis) to a file: # Params -Params that are provided to simulation from a JSON file are used to used to set +Params that are provided to simulation from a JSON file are used to set both module parameters and simulation parameters. See sim_test.go for the full set of parameters that can be provided. */ From 7fb26685cd68a6c1d199dc270c80f49f2bfe7ace Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 10 Jun 2024 12:15:57 +0200 Subject: [PATCH 29/41] chore(proto): change future extracted modules version from v1.0.0 to v0.2.0 (#20600) --- api/cosmos/authz/v1beta1/tx.pulsar.go | 4 +- api/cosmos/gov/v1/gov.pulsar.go | 18 +- api/cosmos/gov/v1/query.pulsar.go | 4 +- api/cosmos/gov/v1/tx.pulsar.go | 2 +- x/authz/proto/cosmos/authz/v1beta1/tx.proto | 4 +- x/authz/tx.pb.go | 4 +- x/gov/proto/cosmos/gov/v1/gov.proto | 16 +- x/gov/proto/cosmos/gov/v1/query.proto | 4 +- x/gov/proto/cosmos/gov/v1/tx.proto | 2 +- x/gov/types/v1/gov.pb.go | 234 ++++++++++---------- x/gov/types/v1/query.pb.go | 156 ++++++------- x/gov/types/v1/tx.pb.go | 176 +++++++-------- 12 files changed, 312 insertions(+), 312 deletions(-) diff --git a/api/cosmos/authz/v1beta1/tx.pulsar.go b/api/cosmos/authz/v1beta1/tx.pulsar.go index ca5ae0bf2f91..b8abc789777e 100644 --- a/api/cosmos/authz/v1beta1/tx.pulsar.go +++ b/api/cosmos/authz/v1beta1/tx.pulsar.go @@ -4890,11 +4890,11 @@ var file_cosmos_authz_v1beta1_tx_proto_rawDesc = []byte{ 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x72, 0x3a, 0x1d, 0xd2, 0xb4, 0x2d, 0x0e, 0x78, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x20, - 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x70, 0x72, 0x75, 0x6e, 0x65, + 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x12, 0xd2, 0xb4, 0x2d, 0x0e, 0x78, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x20, - 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x32, 0xff, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x4f, + 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x32, 0xff, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x4f, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, diff --git a/api/cosmos/gov/v1/gov.pulsar.go b/api/cosmos/gov/v1/gov.pulsar.go index 3539071c3e73..d4322dfe9e08 100644 --- a/api/cosmos/gov/v1/gov.pulsar.go +++ b/api/cosmos/gov/v1/gov.pulsar.go @@ -10423,7 +10423,7 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x10, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, + 0x42, 0x10, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x69, @@ -10437,7 +10437,7 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x75, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x61, 0x6d, 0x3a, 0x10, 0xd2, 0xb4, 0x2d, - 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x22, 0xfc, 0x03, + 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x22, 0xfc, 0x03, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x79, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x18, 0x01, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, @@ -10589,30 +10589,30 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x12, 0x5b, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x44, 0x65, 0x63, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, - 0x2e, 0x30, 0x2e, 0x30, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x43, 0x61, + 0x2e, 0x44, 0x65, 0x63, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, + 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x78, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x70, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x42, 0x28, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, + 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, - 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x52, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, + 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x79, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, - 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x52, 0x09, 0x79, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x72, + 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x09, 0x79, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x49, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xda, 0xb4, 0x2d, 0x0c, - 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x52, 0x0f, 0x65, 0x78, + 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x3a, 0x13, 0xd2, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x34, 0x37, 0x22, 0xa8, 0x02, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, @@ -10633,7 +10633,7 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0d, 0x76, 0x65, 0x74, 0x6f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3a, 0x10, 0xd2, 0xb4, 0x2d, - 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x2a, 0xa7, 0x01, + 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x2a, 0xa7, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, diff --git a/api/cosmos/gov/v1/query.pulsar.go b/api/cosmos/gov/v1/query.pulsar.go index 4be0e4800c79..6d0cd8b0d0a6 100644 --- a/api/cosmos/gov/v1/query.pulsar.go +++ b/api/cosmos/gov/v1/query.pulsar.go @@ -11558,7 +11558,7 @@ var file_cosmos_gov_v1_query_proto_rawDesc = []byte{ 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xca, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, - 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, + 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, @@ -11570,7 +11570,7 @@ var file_cosmos_gov_v1_query_proto_rawDesc = []byte{ 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0xca, 0xb4, 0x2d, 0x0c, 0x78, - 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x6d, 0x73, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x7d, 0x42, 0x9b, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, diff --git a/api/cosmos/gov/v1/tx.pulsar.go b/api/cosmos/gov/v1/tx.pulsar.go index fdb9f151bbc7..2fec8633ea3e 100644 --- a/api/cosmos/gov/v1/tx.pulsar.go +++ b/api/cosmos/gov/v1/tx.pulsar.go @@ -11129,7 +11129,7 @@ var file_cosmos_gov_v1_tx_proto_rawDesc = []byte{ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x10, 0xda, 0xb4, 0x2d, 0x0c, 0x78, 0x2f, 0x67, 0x6f, 0x76, 0x20, 0x76, - 0x31, 0x2e, 0x30, 0x2e, 0x30, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, + 0x30, 0x2e, 0x32, 0x2e, 0x30, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x31, 0x82, 0xe7, 0xb0, 0x2a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x1f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x31, 0x2f, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, diff --git a/x/authz/proto/cosmos/authz/v1beta1/tx.proto b/x/authz/proto/cosmos/authz/v1beta1/tx.proto index 8df2f1da1b1d..7c7d4bdbdf77 100644 --- a/x/authz/proto/cosmos/authz/v1beta1/tx.proto +++ b/x/authz/proto/cosmos/authz/v1beta1/tx.proto @@ -106,7 +106,7 @@ message MsgRevokeAllResponse { // MsgPruneExpiredGrants prunes the expired grants. message MsgPruneExpiredGrants { - option (cosmos_proto.message_added_in) = "x/authz v1.0.0"; + option (cosmos_proto.message_added_in) = "x/authz v0.2.0"; option (cosmos.msg.v1.signer) = "pruner"; string pruner = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; @@ -114,5 +114,5 @@ message MsgPruneExpiredGrants { // MsgPruneExpiredGrantsResponse defines the Msg/MsgPruneExpiredGrantsResponse response type. message MsgPruneExpiredGrantsResponse { - option (cosmos_proto.message_added_in) = "x/authz v1.0.0"; + option (cosmos_proto.message_added_in) = "x/authz v0.2.0"; } diff --git a/x/authz/tx.pb.go b/x/authz/tx.pb.go index 528d9c414ccd..af6fba8effd4 100644 --- a/x/authz/tx.pb.go +++ b/x/authz/tx.pb.go @@ -469,7 +469,7 @@ var fileDescriptor_3ceddab7d8589ad1 = []byte{ 0xa5, 0xaa, 0x65, 0xe9, 0x6b, 0x30, 0x73, 0xd6, 0x0f, 0x89, 0x55, 0xd2, 0x31, 0x4d, 0xf5, 0x6d, 0x78, 0xbb, 0x4e, 0xc9, 0x33, 0xaf, 0x6b, 0xe3, 0x8d, 0xbe, 0xdb, 0xf6, 0x70, 0x8b, 0x49, 0x8f, 0x4a, 0x45, 0x38, 0xed, 0x06, 0xd1, 0xf1, 0xac, 0x05, 0xae, 0x92, 0x3d, 0x1c, 0x16, 0x6e, 0xf6, - 0xf9, 0x45, 0x6b, 0xbd, 0x12, 0x2a, 0xa2, 0x62, 0xc0, 0x59, 0xa4, 0xf5, 0x75, 0x98, 0x8d, 0x7d, + 0xf9, 0x45, 0x6b, 0xbd, 0x22, 0x2a, 0xa3, 0x62, 0xc0, 0x59, 0xa4, 0xf5, 0x75, 0x98, 0x8d, 0x7d, 0x29, 0xe2, 0x27, 0x5d, 0xae, 0x2f, 0xff, 0x4e, 0xc2, 0x64, 0x9d, 0x12, 0xe9, 0x29, 0x9c, 0xe2, 0xa7, 0xae, 0xc6, 0xdf, 0x5c, 0x78, 0x32, 0xca, 0xbd, 0xd1, 0xf9, 0x48, 0x93, 0x4f, 0xe0, 0x24, 0x3b, 0xa7, 0xec, 0x95, 0xf8, 0x20, 0xad, 0xac, 0x8e, 0x4c, 0x47, 0xdd, 0x4c, 0x38, 0x2d, 0x34, @@ -479,7 +479,7 @@ var fileDescriptor_3ceddab7d8589ad1 = []byte{ 0x36, 0xca, 0xd4, 0xbb, 0xe0, 0xe3, 0x59, 0x2b, 0xef, 0xfd, 0x52, 0x13, 0x7b, 0x47, 0x2a, 0x38, 0x38, 0x52, 0xc1, 0xcf, 0x23, 0x15, 0x7c, 0x3a, 0x56, 0x13, 0x07, 0xc7, 0x6a, 0xe2, 0xfb, 0xb1, 0x9a, 0x78, 0x25, 0x14, 0x49, 0x5b, 0x3b, 0xa8, 0xed, 0x18, 0x42, 0x3c, 0xcd, 0x69, 0xf6, 0x65, - 0x5b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x6b, 0x8f, 0x89, 0xf4, 0x06, 0x00, 0x00, + 0x5b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x34, 0x9d, 0x5f, 0xf4, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/gov/proto/cosmos/gov/v1/gov.proto b/x/gov/proto/cosmos/gov/v1/gov.proto index b23243208763..e402e5cff0be 100644 --- a/x/gov/proto/cosmos/gov/v1/gov.proto +++ b/x/gov/proto/cosmos/gov/v1/gov.proto @@ -130,7 +130,7 @@ message Proposal { string failed_reason = 15 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.50"]; // proposal_type defines the type of the proposal - ProposalType proposal_type = 16 [(cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + ProposalType proposal_type = 16 [(cosmos_proto.field_added_in) = "x/gov v0.2.0"]; } // ProposalStatus enumerates the valid statuses of a proposal. @@ -157,7 +157,7 @@ enum ProposalStatus { // ProposalVoteOptions defines the stringified vote options for proposals. // This allows to support multiple choice options for a given proposal. message ProposalVoteOptions { - option (cosmos_proto.message_added_in) = "x/gov v1.0.0"; + option (cosmos_proto.message_added_in) = "x/gov v0.2.0"; // option_one is the first option of the proposal string option_one = 1; @@ -324,32 +324,32 @@ message Params { // depositors, according to the proposal_cancel_ratio and proposal_cancel_dest parameters. // After the max cancel period, the proposal cannot be cancelled anymore. string proposal_cancel_max_period = 17 - [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v0.2.0"]; // optimistic_authorized_addresses is an optional governance parameter that limits the authorized accounts than can // submit optimistic proposals repeated string optimistic_authorized_addresses = 18 - [(cosmos_proto.scalar) = "cosmos.AddressString", (cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + [(cosmos_proto.scalar) = "cosmos.AddressString", (cosmos_proto.field_added_in) = "x/gov v0.2.0"]; // optimistic rejected threshold defines at which percentage of NO votes, the optimistic proposal should fail and be // converted to a standard proposal. The threshold is expressed as a percentage of the total bonded tokens. string optimistic_rejected_threshold = 19 - [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v0.2.0"]; // yes_quorum defines the minimum percentage of Yes votes in quorum for proposal to pass. // Default value: 0 (disabled). - string yes_quorum = 20 [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + string yes_quorum = 20 [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v0.2.0"]; // Minimum percentage of total stake needed to vote for a result to be // considered valid for an expedited proposal. - string expedited_quorum = 21 [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + string expedited_quorum = 21 [(cosmos_proto.scalar) = "cosmos.Dec", (cosmos_proto.field_added_in) = "x/gov v0.2.0"]; } // MessageBasedParams defines the parameters of specific messages in a proposal. // It is used to define the parameters of a proposal that is based on a specific message. // Once a message has message based params, it only supports a standard proposal type. message MessageBasedParams { - option (cosmos_proto.message_added_in) = "x/gov v1.0.0"; + option (cosmos_proto.message_added_in) = "x/gov v0.2.0"; // Duration of the voting period. google.protobuf.Duration voting_period = 1 [(gogoproto.stdduration) = true]; diff --git a/x/gov/proto/cosmos/gov/v1/query.proto b/x/gov/proto/cosmos/gov/v1/query.proto index 6a0956704777..1e9d89c83788 100644 --- a/x/gov/proto/cosmos/gov/v1/query.proto +++ b/x/gov/proto/cosmos/gov/v1/query.proto @@ -59,13 +59,13 @@ service Query { // ProposalVoteOptions queries the valid voting options for a proposal. rpc ProposalVoteOptions(QueryProposalVoteOptionsRequest) returns (QueryProposalVoteOptionsResponse) { option (google.api.http).get = "/cosmos/gov/v1/proposals/{proposal_id}/vote_options"; - option (cosmos_proto.method_added_in) = "x/gov v1.0.0"; + option (cosmos_proto.method_added_in) = "x/gov v0.2.0"; } // MessageBasedParams queries the message specific governance params based on a msg url. rpc MessageBasedParams(QueryMessageBasedParamsRequest) returns (QueryMessageBasedParamsResponse) { option (google.api.http).get = "/cosmos/gov/v1/params/{msg_url}"; - option (cosmos_proto.method_added_in) = "x/gov v1.0.0"; + option (cosmos_proto.method_added_in) = "x/gov v0.2.0"; } } diff --git a/x/gov/proto/cosmos/gov/v1/tx.proto b/x/gov/proto/cosmos/gov/v1/tx.proto index 787b78fb8b03..5eb5e5b6edee 100644 --- a/x/gov/proto/cosmos/gov/v1/tx.proto +++ b/x/gov/proto/cosmos/gov/v1/tx.proto @@ -98,7 +98,7 @@ message MsgSubmitProposal { // proposal_type defines the type of proposal // When not set defaults to PROPOSAL_TYPE_STANDARD - ProposalType proposal_type = 8 [(cosmos_proto.field_added_in) = "x/gov v1.0.0"]; + ProposalType proposal_type = 8 [(cosmos_proto.field_added_in) = "x/gov v0.2.0"]; } // MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. diff --git a/x/gov/types/v1/gov.pb.go b/x/gov/types/v1/gov.pb.go index 02accb41d0eb..80797e0381ec 100644 --- a/x/gov/types/v1/gov.pb.go +++ b/x/gov/types/v1/gov.pb.go @@ -1292,129 +1292,129 @@ func init() { proto.RegisterFile("cosmos/gov/v1/gov.proto", fileDescriptor_e05cb var fileDescriptor_e05cb1c0d030febb = []byte{ // 1971 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6f, 0x1b, 0xc7, - 0x19, 0xf6, 0x92, 0x14, 0x25, 0xbe, 0x22, 0xa9, 0xd5, 0x48, 0x8a, 0xd6, 0x52, 0x44, 0xc9, 0x44, - 0x11, 0xa8, 0x4e, 0x44, 0x4a, 0x49, 0xd5, 0xa6, 0x6e, 0x72, 0x20, 0xc5, 0x75, 0xbc, 0x86, 0x25, - 0xb2, 0xcb, 0xb5, 0x6c, 0xb7, 0x28, 0x16, 0x2b, 0xed, 0x58, 0xda, 0x84, 0xbb, 0xc3, 0xee, 0x0e, - 0xf5, 0xd1, 0x5f, 0x91, 0x63, 0x4f, 0x45, 0x6f, 0xcd, 0xb1, 0x07, 0xa3, 0xf7, 0xde, 0x82, 0x1e, - 0x8a, 0xc0, 0xa7, 0x22, 0x40, 0xdd, 0xc2, 0x3e, 0x14, 0xc8, 0x4f, 0x28, 0x0a, 0xb4, 0x98, 0xd9, - 0x59, 0xee, 0xf2, 0x43, 0x16, 0x15, 0xf4, 0x62, 0x53, 0xf3, 0x3e, 0xcf, 0x33, 0xef, 0xbc, 0x5f, - 0x33, 0x24, 0x2c, 0x1f, 0x93, 0xc0, 0x25, 0x41, 0xf5, 0x84, 0x9c, 0x55, 0xcf, 0x76, 0xd8, 0x7f, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcf, 0x6f, 0xdb, 0xc8, + 0x15, 0x0e, 0x25, 0x59, 0xb6, 0x9e, 0x25, 0x99, 0x1e, 0xdb, 0x6b, 0xc6, 0x5e, 0xcb, 0x8e, 0x50, + 0x2c, 0xdc, 0xec, 0x5a, 0xb2, 0xb3, 0x75, 0xbb, 0x4d, 0x37, 0x07, 0xc9, 0x62, 0x36, 0x0c, 0x62, + 0x4b, 0xa5, 0x18, 0x27, 0x69, 0x51, 0x10, 0xb4, 0x39, 0xb1, 0xb9, 0x2b, 0x72, 0x54, 0x72, 0x64, + 0xc7, 0xfd, 0x2b, 0xf6, 0xd8, 0x53, 0xd1, 0x5b, 0xf7, 0xd8, 0x43, 0xd0, 0x7b, 0x6f, 0x8b, 0x1e, + 0x8a, 0x45, 0x4e, 0xc5, 0x02, 0x4d, 0x8b, 0xe4, 0x50, 0x60, 0xff, 0x84, 0xa2, 0x40, 0x8b, 0x19, + 0x0e, 0x45, 0xea, 0x87, 0x63, 0x79, 0xd1, 0x4b, 0x22, 0xcf, 0xfb, 0xbe, 0x6f, 0xde, 0xbc, 0x5f, + 0x33, 0x12, 0x2c, 0x1f, 0x93, 0xc0, 0x25, 0x41, 0xf5, 0x84, 0x9c, 0x55, 0xcf, 0x76, 0xd8, 0x7f, 0x95, 0xae, 0x4f, 0x28, 0x41, 0x85, 0xd0, 0x50, 0x61, 0x2b, 0x67, 0x3b, 0x2b, 0x25, 0x81, 0x3b, 0xb2, 0x02, 0x5c, 0x3d, 0xdb, 0x39, 0xc2, 0xd4, 0xda, 0xa9, 0x1e, 0x13, 0xc7, 0x0b, 0xe1, 0x2b, 0x8b, 0x27, 0xe4, 0x84, 0xf0, 0x8f, 0x55, 0xf6, 0x49, 0xac, 0xae, 0x9f, 0x10, 0x72, 0xd2, 0xc1, - 0x55, 0xfe, 0xd7, 0x51, 0xef, 0x79, 0x95, 0x3a, 0x2e, 0x0e, 0xa8, 0xe5, 0x76, 0x05, 0xe0, 0xf6, - 0x30, 0xc0, 0xf2, 0x2e, 0x85, 0xa9, 0x34, 0x6c, 0xb2, 0x7b, 0xbe, 0x45, 0x1d, 0x12, 0xed, 0x78, - 0x3b, 0xf4, 0xc8, 0x0c, 0x37, 0x15, 0xde, 0x86, 0xa6, 0x79, 0xcb, 0x75, 0x3c, 0x52, 0xe5, 0xff, + 0x55, 0xfe, 0xd7, 0x51, 0xef, 0x79, 0x95, 0x3a, 0x2e, 0x0e, 0xa8, 0xe5, 0x76, 0x05, 0xe0, 0xe6, + 0x30, 0xc0, 0xf2, 0x2e, 0x84, 0xa9, 0x34, 0x6c, 0xb2, 0x7b, 0xbe, 0x45, 0x1d, 0x12, 0xed, 0x78, + 0x33, 0xf4, 0xc8, 0x0c, 0x37, 0x15, 0xde, 0x86, 0xa6, 0x79, 0xcb, 0x75, 0x3c, 0x52, 0xe5, 0xff, 0x86, 0x4b, 0x65, 0x02, 0xe8, 0x09, 0x76, 0x4e, 0x4e, 0x29, 0xb6, 0x0f, 0x09, 0xc5, 0xcd, 0x2e, - 0x53, 0x42, 0x3b, 0x90, 0x25, 0xfc, 0x93, 0x22, 0x6d, 0x48, 0x9b, 0xc5, 0x0f, 0x6f, 0x57, 0x06, - 0x4e, 0x5d, 0x89, 0xa1, 0xba, 0x00, 0xa2, 0xf7, 0x20, 0x7b, 0xce, 0x85, 0x94, 0xd4, 0x86, 0xb4, - 0x99, 0xab, 0x17, 0x5f, 0xbe, 0xd8, 0x02, 0xc1, 0x6a, 0xe0, 0x63, 0x5d, 0x58, 0xcb, 0xbf, 0x97, - 0x60, 0xba, 0x81, 0xbb, 0x24, 0x70, 0x28, 0x5a, 0x87, 0xd9, 0xae, 0x4f, 0xba, 0x24, 0xb0, 0x3a, - 0xa6, 0x63, 0xf3, 0xbd, 0x32, 0x3a, 0x44, 0x4b, 0x9a, 0x8d, 0x7e, 0x0c, 0x39, 0x3b, 0xc4, 0x12, - 0x5f, 0xe8, 0x2a, 0x2f, 0x5f, 0x6c, 0x2d, 0x0a, 0xdd, 0x9a, 0x6d, 0xfb, 0x38, 0x08, 0xda, 0xd4, - 0x77, 0xbc, 0x13, 0x3d, 0x86, 0xa2, 0x4f, 0x20, 0x6b, 0xb9, 0xa4, 0xe7, 0x51, 0x25, 0xbd, 0x91, - 0xde, 0x9c, 0x8d, 0xfd, 0x67, 0x69, 0xaa, 0x88, 0x34, 0x55, 0xf6, 0x88, 0xe3, 0xd5, 0x73, 0x5f, - 0xbf, 0x5a, 0xbf, 0xf5, 0xd5, 0xbf, 0xfe, 0x78, 0x57, 0xd2, 0x05, 0xa7, 0xfc, 0xe7, 0x69, 0x98, - 0x69, 0x09, 0x27, 0x50, 0x11, 0x52, 0x7d, 0xd7, 0x52, 0x8e, 0x8d, 0xb6, 0x61, 0xc6, 0xc5, 0x41, - 0x60, 0x9d, 0xe0, 0x40, 0x49, 0x71, 0xf1, 0xc5, 0x4a, 0x98, 0x91, 0x4a, 0x94, 0x91, 0x4a, 0xcd, - 0xbb, 0xd4, 0xfb, 0x28, 0xb4, 0x0b, 0xd9, 0x80, 0x5a, 0xb4, 0x17, 0x28, 0x69, 0x1e, 0xcc, 0xb5, - 0xa1, 0x60, 0x46, 0x5b, 0xb5, 0x39, 0x48, 0x17, 0x60, 0xf4, 0x00, 0xd0, 0x73, 0xc7, 0xb3, 0x3a, - 0x26, 0xb5, 0x3a, 0x9d, 0x4b, 0xd3, 0xc7, 0x41, 0xaf, 0x43, 0x95, 0xcc, 0x86, 0xb4, 0x39, 0xfb, - 0xe1, 0xca, 0x90, 0x84, 0xc1, 0x20, 0x3a, 0x47, 0xe8, 0x32, 0x67, 0x25, 0x56, 0x50, 0x0d, 0x66, - 0x83, 0xde, 0x91, 0xeb, 0x50, 0x93, 0x95, 0x99, 0x32, 0x25, 0x24, 0x86, 0xbd, 0x36, 0xa2, 0x1a, - 0xac, 0x67, 0xbe, 0xfc, 0xc7, 0xba, 0xa4, 0x43, 0x48, 0x62, 0xcb, 0xe8, 0x21, 0xc8, 0x22, 0xba, - 0x26, 0xf6, 0xec, 0x50, 0x27, 0x3b, 0xa1, 0x4e, 0x51, 0x30, 0x55, 0xcf, 0xe6, 0x5a, 0x1a, 0x14, - 0x28, 0xa1, 0x56, 0xc7, 0x14, 0xeb, 0xca, 0xf4, 0x0d, 0x72, 0x94, 0xe7, 0xd4, 0xa8, 0x80, 0x1e, - 0xc1, 0xfc, 0x19, 0xa1, 0x8e, 0x77, 0x62, 0x06, 0xd4, 0xf2, 0xc5, 0xf9, 0x66, 0x26, 0xf4, 0x6b, - 0x2e, 0xa4, 0xb6, 0x19, 0x93, 0x3b, 0xf6, 0x00, 0xc4, 0x52, 0x7c, 0xc6, 0xdc, 0x84, 0x5a, 0x85, - 0x90, 0x18, 0x1d, 0x71, 0x85, 0x15, 0x09, 0xb5, 0x6c, 0x8b, 0x5a, 0x0a, 0xb0, 0xb2, 0xd5, 0xfb, - 0x7f, 0xa3, 0x1f, 0xc2, 0x14, 0x75, 0x68, 0x07, 0x2b, 0xb3, 0xbc, 0x9e, 0x17, 0xbe, 0x7d, 0xb1, - 0x35, 0x17, 0x9e, 0x7c, 0x2b, 0xb0, 0xbf, 0xd8, 0xd8, 0xae, 0xfc, 0xe8, 0x27, 0x7a, 0x88, 0x40, - 0x5b, 0x30, 0x1d, 0xf4, 0x5c, 0xd7, 0xf2, 0x2f, 0x95, 0xfc, 0xd5, 0xe0, 0x08, 0x83, 0x3e, 0x83, - 0x99, 0xb0, 0x77, 0xb0, 0xaf, 0x14, 0x38, 0xfe, 0xfd, 0xab, 0x9a, 0x65, 0x9c, 0x4e, 0x9f, 0x8c, - 0x3e, 0x82, 0x1c, 0xbe, 0xe8, 0x62, 0xdb, 0xa1, 0xd8, 0x56, 0x8a, 0x1b, 0xd2, 0xe6, 0x4c, 0x7d, - 0x69, 0x84, 0xb1, 0xbb, 0xad, 0x48, 0x7a, 0x8c, 0x43, 0x1f, 0x43, 0xe1, 0xb9, 0xe5, 0x74, 0xb0, - 0x6d, 0xfa, 0xd8, 0x0a, 0x88, 0xa7, 0xcc, 0x5d, 0xe1, 0xf2, 0xee, 0xb6, 0x9e, 0x0f, 0x91, 0x3a, - 0x07, 0x22, 0x1d, 0x0a, 0xfd, 0x31, 0x40, 0x2f, 0xbb, 0x58, 0x91, 0x79, 0x9f, 0xac, 0x5e, 0xd1, - 0x27, 0xc6, 0x65, 0x17, 0xd7, 0xe5, 0x6f, 0x5f, 0x6c, 0xe5, 0x2f, 0xd8, 0x5c, 0xde, 0x38, 0xdb, - 0xa9, 0x6c, 0x57, 0xb6, 0xf5, 0x7c, 0x37, 0x61, 0x2f, 0xff, 0x45, 0x82, 0x85, 0x88, 0x10, 0x4f, - 0xab, 0x00, 0xad, 0x01, 0x84, 0x03, 0xcb, 0x24, 0x1e, 0xe6, 0x6d, 0x9d, 0xd3, 0x73, 0xe1, 0x4a, - 0xd3, 0xc3, 0x09, 0x33, 0x3d, 0x27, 0xe1, 0xc4, 0x89, 0xcc, 0xc6, 0x39, 0x41, 0x77, 0x20, 0x1f, - 0x99, 0x4f, 0x7d, 0x8c, 0x79, 0x43, 0xe7, 0xf4, 0x59, 0x01, 0x60, 0x4b, 0x6c, 0xa6, 0x09, 0xc8, - 0x73, 0xd2, 0xf3, 0x79, 0xbf, 0xe6, 0x74, 0x21, 0x7a, 0x9f, 0xf4, 0xfc, 0x04, 0x20, 0xe8, 0x5a, - 0x2e, 0xef, 0xc6, 0x3e, 0xa0, 0xdd, 0xb5, 0xdc, 0x7b, 0xf2, 0xcb, 0xa1, 0xa3, 0x95, 0xff, 0x93, - 0x86, 0xd9, 0x64, 0x43, 0x6f, 0x41, 0xee, 0x12, 0x07, 0xe6, 0x31, 0x9f, 0x70, 0xfc, 0x0c, 0x75, - 0x39, 0x31, 0x6e, 0x35, 0xb6, 0xaa, 0xcf, 0x5c, 0xe2, 0x60, 0x8f, 0x21, 0xd0, 0x2e, 0x14, 0xac, - 0xa3, 0x80, 0x5a, 0x8e, 0x27, 0x28, 0xa9, 0x2b, 0x28, 0x79, 0x01, 0x0b, 0x69, 0xef, 0xc3, 0x8c, - 0x47, 0x04, 0x23, 0x7d, 0x05, 0x63, 0xda, 0x23, 0x21, 0xf8, 0x53, 0x40, 0x1e, 0x31, 0xcf, 0x1d, - 0x7a, 0x6a, 0x9e, 0x61, 0x1a, 0xd1, 0x32, 0x57, 0xd0, 0xe6, 0x3c, 0xf2, 0xc4, 0xa1, 0xa7, 0x87, - 0x98, 0x0a, 0xfa, 0xc7, 0x20, 0xc7, 0x69, 0x11, 0xe4, 0xa9, 0x91, 0x7b, 0x44, 0xf3, 0xa8, 0x5e, - 0xec, 0x27, 0x6b, 0x98, 0x49, 0xcf, 0xa3, 0x6d, 0xb3, 0x6f, 0x63, 0x1a, 0xe7, 0x62, 0xcf, 0x4f, - 0x00, 0x25, 0x93, 0x29, 0xb8, 0xd3, 0x63, 0xb9, 0x72, 0x22, 0xc5, 0x21, 0xfb, 0x1e, 0xcc, 0x27, + 0x53, 0x42, 0x3b, 0x90, 0x25, 0xfc, 0x93, 0x22, 0x6d, 0x48, 0x9b, 0xc5, 0x3b, 0x37, 0x2b, 0x03, + 0xa7, 0xae, 0xc4, 0x50, 0x5d, 0x00, 0xd1, 0x07, 0x90, 0x3d, 0xe7, 0x42, 0x4a, 0x6a, 0x43, 0xda, + 0xcc, 0xd5, 0x8b, 0xaf, 0x5e, 0x6e, 0x81, 0x60, 0x35, 0xf0, 0xb1, 0x2e, 0xac, 0xe5, 0xdf, 0x4b, + 0x30, 0xdd, 0xc0, 0x5d, 0x12, 0x38, 0x14, 0xad, 0xc3, 0x6c, 0xd7, 0x27, 0x5d, 0x12, 0x58, 0x1d, + 0xd3, 0xb1, 0xf9, 0x5e, 0x19, 0x1d, 0xa2, 0x25, 0xcd, 0x46, 0x3f, 0x86, 0x9c, 0x1d, 0x62, 0x89, + 0x2f, 0x74, 0x95, 0x57, 0x2f, 0xb7, 0x16, 0x85, 0x6e, 0xcd, 0xb6, 0x7d, 0x1c, 0x04, 0x6d, 0xea, + 0x3b, 0xde, 0x89, 0x1e, 0x43, 0xd1, 0xa7, 0x90, 0xb5, 0x5c, 0xd2, 0xf3, 0xa8, 0x92, 0xde, 0x48, + 0x6f, 0xce, 0xc6, 0xfe, 0xb3, 0x34, 0x55, 0x44, 0x9a, 0x2a, 0x7b, 0xc4, 0xf1, 0xea, 0xb9, 0xaf, + 0x5f, 0xaf, 0xdf, 0xf8, 0xea, 0x5f, 0x7f, 0xbc, 0x2d, 0xe9, 0x82, 0x53, 0xfe, 0xf3, 0x34, 0xcc, + 0xb4, 0x84, 0x13, 0xa8, 0x08, 0xa9, 0xbe, 0x6b, 0x29, 0xc7, 0x46, 0xdb, 0x30, 0xe3, 0xe2, 0x20, + 0xb0, 0x4e, 0x70, 0xa0, 0xa4, 0xb8, 0xf8, 0x62, 0x25, 0xcc, 0x48, 0x25, 0xca, 0x48, 0xa5, 0xe6, + 0x5d, 0xe8, 0x7d, 0x14, 0xda, 0x85, 0x6c, 0x40, 0x2d, 0xda, 0x0b, 0x94, 0x34, 0x0f, 0xe6, 0xda, + 0x50, 0x30, 0xa3, 0xad, 0xda, 0x1c, 0xa4, 0x0b, 0x30, 0x7a, 0x00, 0xe8, 0xb9, 0xe3, 0x59, 0x1d, + 0x93, 0x5a, 0x9d, 0xce, 0x85, 0xe9, 0xe3, 0xa0, 0xd7, 0xa1, 0x4a, 0x66, 0x43, 0xda, 0x9c, 0xbd, + 0xb3, 0x32, 0x24, 0x61, 0x30, 0x88, 0xce, 0x11, 0xba, 0xcc, 0x59, 0x89, 0x15, 0x54, 0x83, 0xd9, + 0xa0, 0x77, 0xe4, 0x3a, 0xd4, 0x64, 0x65, 0xa6, 0x4c, 0x09, 0x89, 0x61, 0xaf, 0x8d, 0xa8, 0x06, + 0xeb, 0x99, 0x2f, 0xff, 0xb1, 0x2e, 0xe9, 0x10, 0x92, 0xd8, 0x32, 0x7a, 0x08, 0xb2, 0x88, 0xae, + 0x89, 0x3d, 0x3b, 0xd4, 0xc9, 0x4e, 0xa8, 0x53, 0x14, 0x4c, 0xd5, 0xb3, 0xb9, 0x96, 0x06, 0x05, + 0x4a, 0xa8, 0xd5, 0x31, 0xc5, 0xba, 0x32, 0x7d, 0x8d, 0x1c, 0xe5, 0x39, 0x35, 0x2a, 0xa0, 0x47, + 0x30, 0x7f, 0x46, 0xa8, 0xe3, 0x9d, 0x98, 0x01, 0xb5, 0x7c, 0x71, 0xbe, 0x99, 0x09, 0xfd, 0x9a, + 0x0b, 0xa9, 0x6d, 0xc6, 0xe4, 0x8e, 0x3d, 0x00, 0xb1, 0x14, 0x9f, 0x31, 0x37, 0xa1, 0x56, 0x21, + 0x24, 0x46, 0x47, 0x5c, 0x61, 0x45, 0x42, 0x2d, 0xdb, 0xa2, 0x96, 0x02, 0xac, 0x6c, 0xf5, 0xfe, + 0xdf, 0xe8, 0x87, 0x30, 0x45, 0x1d, 0xda, 0xc1, 0xca, 0x2c, 0xaf, 0xe7, 0x85, 0x6f, 0x5f, 0x6e, + 0xcd, 0x85, 0x27, 0xdf, 0x0a, 0xec, 0x2f, 0x36, 0xb6, 0x2b, 0x3f, 0xfa, 0x89, 0x1e, 0x22, 0xd0, + 0x16, 0x4c, 0x07, 0x3d, 0xd7, 0xb5, 0xfc, 0x0b, 0x25, 0x7f, 0x39, 0x38, 0xc2, 0xa0, 0xcf, 0x60, + 0x26, 0xec, 0x1d, 0xec, 0x2b, 0x05, 0x8e, 0xff, 0xf0, 0xb2, 0x66, 0x19, 0xa7, 0xd3, 0x27, 0xa3, + 0x8f, 0x21, 0x87, 0x5f, 0x74, 0xb1, 0xed, 0x50, 0x6c, 0x2b, 0xc5, 0x0d, 0x69, 0x73, 0xa6, 0xbe, + 0x34, 0xc2, 0xd8, 0xdd, 0x56, 0x24, 0x3d, 0xc6, 0xa1, 0x4f, 0xa0, 0xf0, 0xdc, 0x72, 0x3a, 0xd8, + 0x36, 0x7d, 0x6c, 0x05, 0xc4, 0x53, 0xe6, 0x2e, 0x71, 0x79, 0x77, 0x5b, 0xcf, 0x87, 0x48, 0x9d, + 0x03, 0x91, 0x0e, 0x85, 0xfe, 0x18, 0xa0, 0x17, 0x5d, 0xac, 0xc8, 0xbc, 0x4f, 0x56, 0x2f, 0xe9, + 0x13, 0xe3, 0xa2, 0x8b, 0xeb, 0xf2, 0xb7, 0x2f, 0xb7, 0xf2, 0x2f, 0xd8, 0x5c, 0xde, 0x38, 0xdb, + 0xae, 0xdc, 0xa9, 0x6c, 0xeb, 0xf9, 0x6e, 0xc2, 0x5e, 0xfe, 0x8b, 0x04, 0x0b, 0x11, 0x21, 0x9e, + 0x56, 0x01, 0x5a, 0x03, 0x08, 0x07, 0x96, 0x49, 0x3c, 0xcc, 0xdb, 0x3a, 0xa7, 0xe7, 0xc2, 0x95, + 0xa6, 0x87, 0x13, 0x66, 0x7a, 0x4e, 0xc2, 0x89, 0x13, 0x99, 0x8d, 0x73, 0x82, 0x6e, 0x41, 0x3e, + 0x32, 0x9f, 0xfa, 0x18, 0xf3, 0x86, 0xce, 0xe9, 0xb3, 0x02, 0xc0, 0x96, 0xd8, 0x4c, 0x13, 0x90, + 0xe7, 0xa4, 0xe7, 0xf3, 0x7e, 0xcd, 0xe9, 0x42, 0xf4, 0x3e, 0xe9, 0xf9, 0x09, 0x40, 0xd0, 0xb5, + 0x5c, 0xde, 0x8d, 0x7d, 0x40, 0xbb, 0x6b, 0xb9, 0x77, 0xe5, 0x57, 0x43, 0x47, 0x2b, 0xff, 0x27, + 0x0d, 0xb3, 0xc9, 0x86, 0xde, 0x82, 0xdc, 0x05, 0x0e, 0xcc, 0x63, 0x3e, 0xe1, 0xf8, 0x19, 0xea, + 0x72, 0x62, 0xdc, 0x6a, 0x6c, 0x55, 0x9f, 0xb9, 0xc0, 0xc1, 0x1e, 0x43, 0xa0, 0x5d, 0x28, 0x58, + 0x47, 0x01, 0xb5, 0x1c, 0x4f, 0x50, 0x52, 0x97, 0x50, 0xf2, 0x02, 0x16, 0xd2, 0x3e, 0x84, 0x19, + 0x8f, 0x08, 0x46, 0xfa, 0x12, 0xc6, 0xb4, 0x47, 0x42, 0xf0, 0x3d, 0x40, 0x1e, 0x31, 0xcf, 0x1d, + 0x7a, 0x6a, 0x9e, 0x61, 0x1a, 0xd1, 0x32, 0x97, 0xd0, 0xe6, 0x3c, 0xf2, 0xc4, 0xa1, 0xa7, 0x87, + 0x98, 0x0a, 0xfa, 0x27, 0x20, 0xc7, 0x69, 0x11, 0xe4, 0xa9, 0x91, 0x7b, 0x44, 0xf3, 0xa8, 0x5e, + 0xec, 0x27, 0x6b, 0x98, 0x49, 0xcf, 0xa3, 0x6d, 0xb3, 0xef, 0x62, 0x1a, 0xe7, 0x62, 0xcf, 0x4f, + 0x01, 0x25, 0x93, 0x29, 0xb8, 0xd3, 0x63, 0xb9, 0x72, 0x22, 0xc5, 0x21, 0xfb, 0x2e, 0xcc, 0x27, 0xf2, 0x2c, 0xc8, 0x33, 0x63, 0xc9, 0x73, 0x71, 0xf6, 0x43, 0xee, 0x16, 0x00, 0xcb, 0xbd, 0x20, - 0xe5, 0xc6, 0x92, 0x72, 0x0c, 0xc1, 0xe1, 0xe5, 0x3f, 0x49, 0x90, 0x61, 0x35, 0x7c, 0xfd, 0x7d, - 0x59, 0x81, 0xa9, 0x33, 0x42, 0xf1, 0xf5, 0x77, 0x65, 0x08, 0x43, 0x3f, 0x83, 0xe9, 0xd0, 0xb7, - 0x40, 0xc9, 0xf0, 0x21, 0x7c, 0x67, 0xa8, 0xe7, 0x46, 0xdf, 0x06, 0x7a, 0xc4, 0x18, 0x18, 0x72, + 0xe5, 0xc6, 0x92, 0x72, 0x0c, 0xc1, 0xe1, 0xe5, 0x3f, 0x49, 0x90, 0x61, 0x35, 0x7c, 0xf5, 0x7d, + 0x59, 0x81, 0xa9, 0x33, 0x42, 0xf1, 0xd5, 0x77, 0x65, 0x08, 0x43, 0x3f, 0x83, 0xe9, 0xd0, 0xb7, + 0x40, 0xc9, 0xf0, 0x21, 0x7c, 0x6b, 0xa8, 0xe7, 0x46, 0xdf, 0x06, 0x7a, 0xc4, 0x18, 0x18, 0x72, 0x53, 0x83, 0x43, 0xee, 0x61, 0x66, 0x26, 0x2d, 0x67, 0xca, 0x7f, 0x97, 0xa0, 0x20, 0x46, 0x75, - 0xcb, 0xf2, 0x2d, 0x37, 0x40, 0xcf, 0x60, 0xd6, 0x75, 0xbc, 0xfe, 0xe4, 0x97, 0xae, 0x9b, 0xfc, - 0x6b, 0x6c, 0xf2, 0x7f, 0xf7, 0x6a, 0x7d, 0x29, 0xc1, 0xfa, 0x80, 0xb8, 0x0e, 0xc5, 0x6e, 0x97, - 0x5e, 0xea, 0xe0, 0x3a, 0x5e, 0x74, 0x17, 0xb8, 0x80, 0x5c, 0xeb, 0x22, 0x02, 0x99, 0x5d, 0xec, - 0x3b, 0xc4, 0xe6, 0x81, 0x60, 0x3b, 0x0c, 0x0f, 0xf0, 0x86, 0x78, 0x34, 0xd5, 0x7f, 0xf0, 0xdd, - 0xab, 0xf5, 0x77, 0x47, 0x89, 0xf1, 0x26, 0xbf, 0x65, 0xf3, 0x5d, 0x76, 0xad, 0x8b, 0xe8, 0x24, - 0xdc, 0x7e, 0x2f, 0xa5, 0x48, 0xe5, 0xa7, 0x90, 0x3f, 0xe4, 0x73, 0x5f, 0x9c, 0xae, 0x01, 0xe2, - 0x1e, 0x88, 0x76, 0x97, 0xae, 0xdb, 0x3d, 0xc3, 0xd5, 0xf3, 0x21, 0x2b, 0xa1, 0xfc, 0x3b, 0x49, - 0x74, 0xbc, 0x50, 0x7e, 0x0f, 0xb2, 0xbf, 0xee, 0x11, 0xbf, 0xe7, 0x8a, 0x76, 0x1f, 0x79, 0x5d, - 0x85, 0x56, 0xf4, 0x01, 0xe4, 0x58, 0x31, 0x07, 0xa7, 0xa4, 0x63, 0x5f, 0xf1, 0x10, 0x8b, 0x01, - 0x68, 0x17, 0x8a, 0xbc, 0x59, 0x63, 0x4a, 0x7a, 0x2c, 0xa5, 0xc0, 0x50, 0x46, 0x04, 0xe2, 0x0e, - 0xfe, 0x37, 0x0f, 0x59, 0xe1, 0x9b, 0x7a, 0xc3, 0x9c, 0x26, 0x6e, 0xf3, 0x64, 0xfe, 0xf6, 0xbf, - 0x5f, 0xfe, 0x32, 0xe3, 0xf3, 0x33, 0x9a, 0x8b, 0xf4, 0xf7, 0xc8, 0x45, 0x22, 0xee, 0x99, 0xc9, - 0xe3, 0x3e, 0x75, 0xf3, 0xb8, 0x67, 0x27, 0x88, 0x3b, 0xd2, 0xe0, 0x36, 0x0b, 0xb4, 0xe3, 0x39, - 0xd4, 0x89, 0x9f, 0x4f, 0x26, 0x77, 0x7f, 0xcc, 0xdc, 0x62, 0x0a, 0xef, 0xb8, 0x8e, 0xa7, 0x85, - 0x78, 0x11, 0x1e, 0x9d, 0xa1, 0xd1, 0x63, 0x58, 0xea, 0x4f, 0x92, 0x63, 0xcb, 0x3b, 0xc6, 0x1d, - 0x21, 0x13, 0x4e, 0xb0, 0x3b, 0x83, 0x32, 0xe3, 0xae, 0xf0, 0x85, 0x88, 0xbf, 0xc7, 0xe9, 0xa1, - 0xec, 0xaf, 0x60, 0x71, 0x58, 0xd6, 0xc6, 0x41, 0x34, 0xe2, 0x26, 0x7f, 0x8d, 0xec, 0x6e, 0xeb, - 0x68, 0x50, 0xbf, 0x81, 0x03, 0x8a, 0x3e, 0x87, 0xe5, 0xfe, 0x7b, 0xc3, 0x1c, 0xcc, 0x2e, 0x5c, - 0x97, 0xdd, 0x65, 0x96, 0xdd, 0x71, 0x1b, 0x2d, 0xf5, 0x25, 0x0f, 0x93, 0x99, 0xd7, 0x61, 0x21, - 0xde, 0x2b, 0x4e, 0xd4, 0xec, 0xa4, 0xf1, 0x41, 0x7d, 0x76, 0x9c, 0xc0, 0xa7, 0x10, 0x6f, 0x66, - 0x26, 0x7b, 0x26, 0x7f, 0x83, 0x9e, 0x89, 0xdd, 0xda, 0x8f, 0x9b, 0xe7, 0x53, 0x90, 0x8f, 0x7a, - 0xbe, 0xc7, 0x82, 0x82, 0x4d, 0x51, 0xb1, 0x05, 0xfe, 0x70, 0x1b, 0xfb, 0x64, 0x2c, 0x32, 0x30, - 0x9b, 0xe9, 0x3f, 0x0f, 0xcb, 0xf7, 0x10, 0xd6, 0x38, 0xbd, 0x9f, 0xbc, 0x7e, 0x17, 0xfa, 0x98, - 0x49, 0x8a, 0x47, 0xe0, 0x58, 0xad, 0x15, 0xc6, 0x8c, 0x9e, 0x5a, 0x51, 0x0f, 0x86, 0x34, 0xf4, - 0x53, 0x28, 0xc6, 0x6e, 0xb1, 0x62, 0xe6, 0x8f, 0xc2, 0x2b, 0x84, 0xf2, 0x91, 0x53, 0xec, 0x59, - 0x80, 0xf6, 0x61, 0x3e, 0x11, 0x21, 0x51, 0x9d, 0xf2, 0xa4, 0xd1, 0x9f, 0x8b, 0x07, 0x4b, 0x58, - 0x99, 0xbf, 0x84, 0x95, 0xe1, 0xca, 0x64, 0xd3, 0x46, 0x54, 0xcf, 0x3c, 0xd7, 0x2d, 0x8d, 0xe8, - 0x0e, 0xbe, 0x30, 0x97, 0x07, 0x4b, 0x72, 0xdf, 0xba, 0x10, 0xb5, 0xd2, 0x85, 0x75, 0x76, 0x29, - 0xba, 0x4e, 0x40, 0x9d, 0x63, 0xd3, 0xea, 0xd1, 0x53, 0xe2, 0x3b, 0xbf, 0xc1, 0xb6, 0x69, 0x85, - 0x55, 0x8e, 0x03, 0x05, 0x6d, 0xa4, 0x37, 0x73, 0xf5, 0xcd, 0xb7, 0x74, 0xc0, 0xe0, 0x5e, 0x6b, - 0xb1, 0x60, 0xad, 0xaf, 0x57, 0x8b, 0xe4, 0xd0, 0x11, 0x24, 0x00, 0xa6, 0x8f, 0x3f, 0xc7, 0xc7, - 0x83, 0x75, 0xba, 0x30, 0xd1, 0x89, 0x56, 0x63, 0x11, 0x5d, 0x68, 0xc4, 0xd5, 0xfa, 0x29, 0x00, - 0x7b, 0x65, 0x8a, 0x6a, 0x5a, 0x9c, 0x48, 0x90, 0xbd, 0x4b, 0x45, 0x4d, 0x69, 0x20, 0xc7, 0xc5, - 0x2e, 0x44, 0x96, 0x26, 0x12, 0x99, 0xeb, 0xf3, 0x42, 0xa9, 0x7b, 0x0b, 0x2f, 0x47, 0xcb, 0xa5, - 0xfc, 0x55, 0x0a, 0xd0, 0x7e, 0xf8, 0x1d, 0xbb, 0x6e, 0x05, 0xd8, 0xfe, 0x7f, 0xde, 0xc1, 0x89, - 0xb9, 0x9f, 0x7a, 0xeb, 0xdc, 0xdf, 0x1a, 0x13, 0xa3, 0x91, 0xc1, 0x1f, 0xc7, 0x64, 0xe0, 0x9a, - 0x48, 0xdf, 0xfc, 0x9a, 0xc8, 0x4c, 0x72, 0x3d, 0x8f, 0x7c, 0x7f, 0xb8, 0xfb, 0x07, 0x09, 0xf2, - 0xc9, 0x6f, 0x4f, 0x68, 0x0d, 0x6e, 0xb7, 0xf4, 0x66, 0xab, 0xd9, 0xae, 0x3d, 0x32, 0x8d, 0x67, - 0x2d, 0xd5, 0x7c, 0x7c, 0xd0, 0x6e, 0xa9, 0x7b, 0xda, 0x7d, 0x4d, 0x6d, 0xc8, 0xb7, 0xd0, 0x0a, - 0xbc, 0x33, 0x68, 0x6e, 0x1b, 0xb5, 0x83, 0x46, 0x4d, 0x6f, 0xc8, 0x12, 0xba, 0x03, 0x6b, 0x83, - 0xb6, 0xfd, 0xc7, 0x8f, 0x0c, 0xad, 0xf5, 0x48, 0x35, 0xf7, 0x1e, 0x34, 0xb5, 0x3d, 0x55, 0x4e, - 0xa1, 0x77, 0x41, 0x19, 0x84, 0x34, 0x5b, 0x86, 0xb6, 0xaf, 0xb5, 0x0d, 0x6d, 0x4f, 0x4e, 0xa3, - 0x55, 0x58, 0x1e, 0xb4, 0xaa, 0x4f, 0x5b, 0x6a, 0x43, 0x33, 0xd4, 0x86, 0x9c, 0xb9, 0xfb, 0x6f, - 0x09, 0x20, 0xf1, 0x3b, 0xd4, 0x2a, 0x2c, 0x1f, 0x36, 0x8d, 0x50, 0xa0, 0x79, 0x30, 0xe4, 0xe5, - 0x02, 0xcc, 0x25, 0x8d, 0xcf, 0xd4, 0xb6, 0x2c, 0x0d, 0x2f, 0x36, 0x0f, 0x54, 0x59, 0x42, 0xcb, - 0xb0, 0x90, 0x5c, 0xac, 0xd5, 0xdb, 0x46, 0x4d, 0x3b, 0x90, 0x53, 0xc3, 0x68, 0xe3, 0x49, 0x53, - 0x4e, 0x21, 0x04, 0xc5, 0xe4, 0xe2, 0x41, 0x53, 0x4e, 0xa3, 0x25, 0x98, 0x1f, 0x00, 0x3e, 0xd0, - 0x55, 0x55, 0x4e, 0xb3, 0x93, 0x0e, 0x42, 0xcd, 0x27, 0x9a, 0xf1, 0xc0, 0x3c, 0x54, 0x8d, 0xa6, - 0x9c, 0x41, 0x8b, 0x20, 0x27, 0xad, 0xf7, 0x9b, 0x8f, 0xf5, 0xd1, 0xd5, 0x76, 0xab, 0xb6, 0x2f, - 0x4f, 0xad, 0xa4, 0x64, 0xe9, 0xee, 0x5f, 0x25, 0x28, 0x0e, 0xfe, 0x18, 0x84, 0xd6, 0x61, 0xb5, - 0x1f, 0xac, 0xb6, 0x51, 0x33, 0x1e, 0xb7, 0x87, 0x82, 0x50, 0x86, 0xd2, 0x30, 0xa0, 0xa1, 0xb6, - 0x9a, 0x6d, 0xcd, 0x30, 0x5b, 0xaa, 0xae, 0x35, 0x87, 0x53, 0x26, 0x30, 0x87, 0x4d, 0x43, 0x3b, - 0xf8, 0x2c, 0x82, 0xa4, 0x06, 0x32, 0x2e, 0x20, 0xad, 0x5a, 0xbb, 0xad, 0x36, 0xc2, 0x43, 0x0e, - 0xdb, 0x74, 0xf5, 0xa1, 0xba, 0xc7, 0x33, 0x36, 0x8e, 0x79, 0xbf, 0xa6, 0x3d, 0x52, 0x1b, 0xf2, - 0x54, 0x7d, 0xf7, 0xeb, 0xd7, 0x25, 0xe9, 0x9b, 0xd7, 0x25, 0xe9, 0x9f, 0xaf, 0x4b, 0xd2, 0x97, - 0x6f, 0x4a, 0xb7, 0xbe, 0x79, 0x53, 0xba, 0xf5, 0xb7, 0x37, 0xa5, 0x5b, 0xbf, 0x58, 0x0d, 0xcb, - 0x37, 0xb0, 0xbf, 0xa8, 0x38, 0xa4, 0xca, 0x8b, 0xb5, 0xca, 0xbe, 0xfa, 0x07, 0xd5, 0xb3, 0x9d, - 0xa3, 0x2c, 0xef, 0xd1, 0x8f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x55, 0x4b, 0xa4, 0x84, + 0xcb, 0xf2, 0x2d, 0x37, 0x40, 0xcf, 0x60, 0xd6, 0x75, 0xbc, 0xfe, 0xe4, 0x97, 0xae, 0x9a, 0xfc, + 0x6b, 0x6c, 0xf2, 0x7f, 0xf7, 0x7a, 0x7d, 0x29, 0xc1, 0xfa, 0x88, 0xb8, 0x0e, 0xc5, 0x6e, 0x97, + 0x5e, 0xe8, 0xe0, 0x3a, 0x5e, 0x74, 0x17, 0xb8, 0x80, 0x5c, 0xeb, 0x45, 0x04, 0x32, 0xbb, 0xd8, + 0x77, 0x88, 0xcd, 0x03, 0xc1, 0x76, 0x18, 0x1e, 0xe0, 0x0d, 0xf1, 0x68, 0xaa, 0xff, 0xe0, 0xbb, + 0xd7, 0xeb, 0xef, 0x8f, 0x12, 0xe3, 0x4d, 0x7e, 0xcb, 0xe6, 0xbb, 0xec, 0x5a, 0x2f, 0xa2, 0x93, + 0x70, 0xfb, 0xdd, 0x94, 0x22, 0x95, 0x9f, 0x42, 0xfe, 0x90, 0xcf, 0x7d, 0x71, 0xba, 0x06, 0x88, + 0x7b, 0x20, 0xda, 0x5d, 0xba, 0x6a, 0xf7, 0x0c, 0x57, 0xcf, 0x87, 0xac, 0x84, 0xf2, 0xef, 0x24, + 0xd1, 0xf1, 0x42, 0xf9, 0x03, 0xc8, 0xfe, 0xba, 0x47, 0xfc, 0x9e, 0x2b, 0xda, 0x7d, 0xe4, 0x75, + 0x15, 0x5a, 0xd1, 0x47, 0x90, 0x63, 0xc5, 0x1c, 0x9c, 0x92, 0x8e, 0x7d, 0xc9, 0x43, 0x2c, 0x06, + 0xa0, 0x5d, 0x28, 0xf2, 0x66, 0x8d, 0x29, 0xe9, 0xb1, 0x94, 0x02, 0x43, 0x19, 0x11, 0x88, 0x3b, + 0xf8, 0xdf, 0x3c, 0x64, 0x85, 0x6f, 0xea, 0x35, 0x73, 0x9a, 0xb8, 0xcd, 0x93, 0xf9, 0xdb, 0xff, + 0x7e, 0xf9, 0xcb, 0x8c, 0xcf, 0xcf, 0x68, 0x2e, 0xd2, 0xdf, 0x23, 0x17, 0x89, 0xb8, 0x67, 0x26, + 0x8f, 0xfb, 0xd4, 0xf5, 0xe3, 0x9e, 0x9d, 0x20, 0xee, 0x48, 0x83, 0x9b, 0x2c, 0xd0, 0x8e, 0xe7, + 0x50, 0x27, 0x7e, 0x3e, 0x99, 0xdc, 0xfd, 0x31, 0x73, 0x8b, 0x29, 0xbc, 0xe7, 0x3a, 0x9e, 0x16, + 0xe2, 0x45, 0x78, 0x74, 0x86, 0x46, 0x8f, 0x61, 0xa9, 0x3f, 0x49, 0x8e, 0x2d, 0xef, 0x18, 0x77, + 0x84, 0x4c, 0x38, 0xc1, 0x6e, 0x0d, 0xca, 0x8c, 0xbb, 0xc2, 0x17, 0x22, 0xfe, 0x1e, 0xa7, 0x87, + 0xb2, 0xbf, 0x82, 0xc5, 0x61, 0x59, 0x1b, 0x07, 0xd1, 0x88, 0x9b, 0xfc, 0x35, 0xb2, 0xbb, 0xad, + 0xa3, 0x41, 0xfd, 0x06, 0x0e, 0x28, 0xfa, 0x1c, 0x96, 0xfb, 0xef, 0x0d, 0x73, 0x30, 0xbb, 0x70, + 0x55, 0x76, 0x97, 0x59, 0x76, 0xc7, 0x6d, 0xb4, 0xd4, 0x97, 0x3c, 0x4c, 0x66, 0x5e, 0x87, 0x85, + 0x78, 0xaf, 0x38, 0x51, 0xb3, 0x93, 0xc6, 0x07, 0xf5, 0xd9, 0x71, 0x02, 0x9f, 0x42, 0xbc, 0x99, + 0x99, 0xec, 0x99, 0xfc, 0x35, 0x7a, 0x26, 0x76, 0x6b, 0x3f, 0x6e, 0x9e, 0x7b, 0x20, 0x1f, 0xf5, + 0x7c, 0x8f, 0x05, 0x05, 0x9b, 0xa2, 0x62, 0x0b, 0xfc, 0xe1, 0x36, 0xf6, 0xc9, 0x58, 0x64, 0x60, + 0x36, 0xd3, 0x7f, 0x1e, 0x96, 0xef, 0x21, 0xac, 0x71, 0x7a, 0x3f, 0x79, 0xfd, 0x2e, 0xf4, 0x31, + 0x93, 0x14, 0x8f, 0xc0, 0xb1, 0x5a, 0x2b, 0x8c, 0x19, 0x3d, 0xb5, 0xa2, 0x1e, 0x0c, 0x69, 0xe8, + 0xa7, 0x50, 0x8c, 0xdd, 0x62, 0xc5, 0xcc, 0x1f, 0x85, 0x97, 0x08, 0xe5, 0x23, 0xa7, 0xd8, 0xb3, + 0x00, 0xed, 0xc3, 0x7c, 0x22, 0x42, 0xa2, 0x3a, 0xe5, 0x49, 0xa3, 0x3f, 0x17, 0x0f, 0x96, 0xb0, + 0x32, 0x7f, 0x09, 0x2b, 0xc3, 0x95, 0xc9, 0xa6, 0x8d, 0xa8, 0x9e, 0x79, 0xae, 0x5b, 0x1a, 0xd1, + 0x1d, 0x7c, 0x61, 0x2e, 0x0f, 0x96, 0xe4, 0xbe, 0xf5, 0x42, 0xd4, 0x4a, 0x17, 0xd6, 0xd9, 0xa5, + 0xe8, 0x3a, 0x01, 0x75, 0x8e, 0x4d, 0xab, 0x47, 0x4f, 0x89, 0xef, 0xfc, 0x06, 0xdb, 0xa6, 0x15, + 0x56, 0x39, 0x0e, 0x14, 0xb4, 0x91, 0xde, 0xcc, 0xd5, 0x37, 0xdf, 0xd1, 0x01, 0x83, 0x7b, 0xad, + 0xc5, 0x82, 0xb5, 0xbe, 0x5e, 0x2d, 0x92, 0x43, 0x47, 0x90, 0x00, 0x98, 0x3e, 0xfe, 0x1c, 0x1f, + 0x0f, 0xd6, 0xe9, 0xc2, 0x44, 0x27, 0x5a, 0x8d, 0x45, 0x74, 0xa1, 0x11, 0x57, 0xeb, 0x3d, 0x00, + 0xf6, 0xca, 0x14, 0xd5, 0xb4, 0x38, 0x91, 0x20, 0x7b, 0x97, 0x8a, 0x9a, 0xd2, 0x40, 0x8e, 0x8b, + 0x5d, 0x88, 0x2c, 0x4d, 0x24, 0x32, 0xd7, 0xe7, 0x85, 0x52, 0x77, 0x17, 0x5e, 0x8d, 0x96, 0x4b, + 0xf9, 0xab, 0x14, 0xa0, 0xfd, 0xf0, 0x3b, 0x76, 0xdd, 0x0a, 0xb0, 0xfd, 0xff, 0xbc, 0x83, 0x13, + 0x73, 0x3f, 0xf5, 0xce, 0xb9, 0xbf, 0x35, 0x26, 0x46, 0x23, 0x83, 0x3f, 0x8e, 0xc9, 0xc0, 0x35, + 0x91, 0xbe, 0xfe, 0x35, 0x91, 0x99, 0xe4, 0x7a, 0x1e, 0xf9, 0xfe, 0x70, 0xfb, 0x0f, 0x12, 0xe4, + 0x93, 0xdf, 0x9e, 0xd0, 0x1a, 0xdc, 0x6c, 0xe9, 0xcd, 0x56, 0xb3, 0x5d, 0x7b, 0x64, 0x1a, 0xcf, + 0x5a, 0xaa, 0xf9, 0xf8, 0xa0, 0xdd, 0x52, 0xf7, 0xb4, 0xfb, 0x9a, 0xda, 0x90, 0x6f, 0xa0, 0x15, + 0x78, 0x6f, 0xd0, 0xdc, 0x36, 0x6a, 0x07, 0x8d, 0x9a, 0xde, 0x90, 0x25, 0x74, 0x0b, 0xd6, 0x06, + 0x6d, 0xfb, 0x8f, 0x1f, 0x19, 0x5a, 0xeb, 0x91, 0x6a, 0xee, 0x3d, 0x68, 0x6a, 0x7b, 0xaa, 0x9c, + 0x42, 0xef, 0x83, 0x32, 0x08, 0x69, 0xb6, 0x0c, 0x6d, 0x5f, 0x6b, 0x1b, 0xda, 0x9e, 0x9c, 0x46, + 0xab, 0xb0, 0x3c, 0x68, 0x55, 0x9f, 0xb6, 0xd4, 0x86, 0x66, 0xa8, 0x0d, 0x39, 0x73, 0xfb, 0xdf, + 0x12, 0x40, 0xe2, 0x77, 0xa8, 0x55, 0x58, 0x3e, 0x6c, 0x1a, 0xa1, 0x40, 0xf3, 0x60, 0xc8, 0xcb, + 0x05, 0x98, 0x4b, 0x1a, 0x9f, 0xa9, 0x6d, 0x59, 0x1a, 0x5e, 0x6c, 0x1e, 0xa8, 0xb2, 0x84, 0x96, + 0x61, 0x21, 0xb9, 0x58, 0xab, 0xb7, 0x8d, 0x9a, 0x76, 0x20, 0xa7, 0x86, 0xd1, 0xc6, 0x93, 0xa6, + 0x9c, 0x42, 0x08, 0x8a, 0xc9, 0xc5, 0x83, 0xa6, 0x9c, 0x46, 0x4b, 0x30, 0x3f, 0x00, 0x7c, 0xa0, + 0xab, 0xaa, 0x9c, 0x66, 0x27, 0x1d, 0x84, 0x9a, 0x4f, 0x34, 0xe3, 0x81, 0x79, 0xa8, 0x1a, 0x4d, + 0x39, 0x83, 0x16, 0x41, 0x4e, 0x5a, 0xef, 0x37, 0x1f, 0xeb, 0xa3, 0xab, 0xed, 0x56, 0x6d, 0x5f, + 0x9e, 0x5a, 0x49, 0xc9, 0xd2, 0xed, 0xbf, 0x4a, 0x50, 0x1c, 0xfc, 0x31, 0x08, 0xad, 0xc3, 0x6a, + 0x3f, 0x58, 0x6d, 0xa3, 0x66, 0x3c, 0x6e, 0x0f, 0x05, 0xa1, 0x0c, 0xa5, 0x61, 0x40, 0x43, 0x6d, + 0x35, 0xdb, 0x9a, 0x61, 0xb6, 0x54, 0x5d, 0x6b, 0x0e, 0xa7, 0x4c, 0x60, 0x0e, 0x9b, 0x86, 0x76, + 0xf0, 0x59, 0x04, 0x49, 0x0d, 0x64, 0x5c, 0x40, 0x5a, 0xb5, 0x76, 0x5b, 0x6d, 0x84, 0x87, 0x1c, + 0xb6, 0xe9, 0xea, 0x43, 0x75, 0x8f, 0x67, 0x6c, 0x1c, 0xf3, 0x7e, 0x4d, 0x7b, 0xa4, 0x36, 0xe4, + 0xa9, 0xfa, 0xee, 0xd7, 0x6f, 0x4a, 0xd2, 0x37, 0x6f, 0x4a, 0xd2, 0x3f, 0xdf, 0x94, 0xa4, 0x2f, + 0xdf, 0x96, 0x6e, 0x7c, 0xf3, 0xb6, 0x74, 0xe3, 0x6f, 0x6f, 0x4b, 0x37, 0x7e, 0xb1, 0x1a, 0x96, + 0x6f, 0x60, 0x7f, 0x51, 0x71, 0x48, 0x95, 0x17, 0x6b, 0x95, 0x7d, 0xf5, 0x0f, 0xaa, 0x67, 0x3b, + 0x47, 0x59, 0xde, 0xa3, 0x1f, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xeb, 0xae, 0x28, 0x84, 0x15, 0x00, 0x00, } diff --git a/x/gov/types/v1/query.pb.go b/x/gov/types/v1/query.pb.go index 6d0bcaf7a9c0..fcb29c8b7e78 100644 --- a/x/gov/types/v1/query.pb.go +++ b/x/gov/types/v1/query.pb.go @@ -1185,84 +1185,84 @@ func init() { func init() { proto.RegisterFile("cosmos/gov/v1/query.proto", fileDescriptor_46a436d1109b50d0) } var fileDescriptor_46a436d1109b50d0 = []byte{ - // 1217 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x5f, 0x6f, 0xdb, 0x54, - 0x14, 0xaf, 0xd3, 0xff, 0x27, 0x69, 0x37, 0x6e, 0xdb, 0x35, 0x73, 0xd7, 0x34, 0x75, 0xa1, 0x2d, - 0x88, 0xd8, 0x4d, 0xff, 0xac, 0x02, 0x86, 0xd0, 0xda, 0xd1, 0xc1, 0x00, 0x51, 0xb2, 0xc1, 0x03, - 0x2f, 0x91, 0xdb, 0x58, 0x96, 0xb5, 0xd4, 0xd7, 0xcb, 0x75, 0x2c, 0x4a, 0xa9, 0x90, 0x26, 0xf1, - 0xe7, 0x09, 0x90, 0x98, 0x04, 0x1f, 0x62, 0x8f, 0xfd, 0x06, 0xbc, 0xa0, 0x3d, 0x4d, 0xf0, 0x82, - 0xf6, 0x84, 0x5a, 0x3e, 0x08, 0xf2, 0xbd, 0xc7, 0x8e, 0xed, 0x38, 0x69, 0x3a, 0x4d, 0x7b, 0xcc, - 0xf5, 0xef, 0xfc, 0xce, 0xef, 0x9c, 0x7b, 0xee, 0x39, 0x27, 0x70, 0x75, 0x9f, 0xb2, 0x03, 0xca, - 0x34, 0x93, 0x7a, 0x9a, 0x57, 0xd6, 0x1e, 0x34, 0x8d, 0xc6, 0xa1, 0xea, 0x34, 0xa8, 0x4b, 0xc9, - 0x98, 0xf8, 0xa4, 0x9a, 0xd4, 0x53, 0xbd, 0xb2, 0xfc, 0x06, 0x22, 0xf7, 0x74, 0x66, 0x08, 0x9c, - 0xe6, 0x95, 0xf7, 0x0c, 0x57, 0x2f, 0x6b, 0x8e, 0x6e, 0x5a, 0xb6, 0xee, 0x5a, 0xd4, 0x16, 0xa6, - 0xf2, 0x35, 0x93, 0x52, 0xb3, 0x6e, 0x68, 0xba, 0x63, 0x69, 0xba, 0x6d, 0x53, 0x97, 0x7f, 0x64, - 0xf8, 0x75, 0x3a, 0xee, 0xd3, 0xe7, 0x17, 0x1f, 0x50, 0x4c, 0x95, 0xff, 0xd2, 0xd0, 0x3d, 0xff, - 0xa1, 0xc8, 0x90, 0xff, 0xcc, 0xf7, 0xb9, 0x4d, 0x6d, 0xe6, 0x5a, 0x6e, 0xd3, 0xe7, 0xab, 0x18, - 0x0f, 0x9a, 0x06, 0x73, 0x95, 0xf7, 0xe0, 0x6a, 0xca, 0x37, 0xe6, 0x50, 0x9b, 0x19, 0x44, 0x81, - 0xdc, 0x7e, 0xe4, 0x3c, 0x2f, 0x15, 0xa5, 0xe5, 0xd1, 0x4a, 0xec, 0x4c, 0xd9, 0x84, 0x49, 0x4e, - 0xb0, 0xdb, 0xa0, 0x0e, 0x65, 0x7a, 0x1d, 0x89, 0xc9, 0x1c, 0x64, 0x1d, 0x3c, 0xaa, 0x5a, 0x35, - 0x6e, 0x3a, 0x50, 0x81, 0xe0, 0xe8, 0xc3, 0x9a, 0xf2, 0x31, 0x4c, 0x25, 0x0c, 0xd1, 0xeb, 0x1a, - 0x8c, 0x04, 0x30, 0x6e, 0x96, 0x5d, 0x9d, 0x56, 0x63, 0xe9, 0x54, 0x43, 0x93, 0x10, 0xa8, 0xfc, - 0x9c, 0x49, 0xd0, 0xb1, 0x40, 0xc8, 0x0e, 0x5c, 0x0a, 0x85, 0x30, 0x57, 0x77, 0x9b, 0x8c, 0xb3, - 0x8e, 0xaf, 0xce, 0x76, 0x60, 0xbd, 0xcb, 0x41, 0x95, 0x71, 0x27, 0xf6, 0x9b, 0xa8, 0x30, 0xe8, - 0x51, 0xd7, 0x68, 0xe4, 0x33, 0x7e, 0x16, 0xb6, 0xf2, 0x7f, 0x9d, 0x94, 0x26, 0x91, 0xe0, 0x66, - 0xad, 0xd6, 0x30, 0x18, 0xbb, 0xeb, 0x36, 0x2c, 0xdb, 0xac, 0x08, 0x18, 0xb9, 0x0e, 0xa3, 0x35, - 0xc3, 0xa1, 0xcc, 0x72, 0x69, 0x23, 0xdf, 0x7f, 0x8e, 0x4d, 0x0b, 0x4a, 0x76, 0x00, 0x5a, 0x35, - 0x91, 0x1f, 0xe0, 0x09, 0x58, 0x0c, 0xa4, 0xfa, 0x05, 0xa4, 0x8a, 0x42, 0xc3, 0x02, 0x52, 0x77, - 0x75, 0xd3, 0xc0, 0x58, 0x2b, 0x11, 0x4b, 0xe5, 0x77, 0x09, 0xae, 0x24, 0x33, 0x82, 0x19, 0xde, - 0x80, 0xd1, 0x20, 0x38, 0x3f, 0x19, 0xfd, 0xdd, 0x52, 0xdc, 0x42, 0x92, 0xdb, 0x31, 0x65, 0x19, - 0xae, 0x6c, 0xe9, 0x5c, 0x65, 0xc2, 0x67, 0x4c, 0xda, 0x3e, 0x5c, 0xe6, 0xca, 0xbe, 0xa0, 0xae, - 0xd1, 0x6b, 0xbd, 0x5c, 0x34, 0xff, 0xca, 0x0d, 0x78, 0x25, 0xe2, 0x04, 0x23, 0x5f, 0x82, 0x01, - 0xff, 0x2b, 0xd6, 0xd5, 0x44, 0x22, 0x68, 0x0e, 0xe5, 0x00, 0xe5, 0x9b, 0x88, 0x35, 0xeb, 0x59, - 0xe3, 0x4e, 0x4a, 0x86, 0x9e, 0xe7, 0xee, 0x7e, 0x94, 0x80, 0x44, 0xdd, 0xa3, 0xfa, 0xd7, 0x45, - 0x0a, 0x82, 0x3b, 0x4b, 0x95, 0x2f, 0x10, 0x2f, 0xee, 0xae, 0xde, 0x42, 0x25, 0xbb, 0x7a, 0x43, - 0x3f, 0x08, 0x33, 0xb1, 0x00, 0x59, 0x87, 0x1f, 0x54, 0xdd, 0x43, 0x47, 0xa4, 0x73, 0x74, 0x2b, - 0x93, 0x97, 0x7c, 0x53, 0xff, 0xf8, 0xde, 0xa1, 0x63, 0x28, 0x8f, 0x33, 0x30, 0x11, 0xb3, 0xc5, - 0x30, 0x6e, 0xc1, 0x98, 0x47, 0x5d, 0xcb, 0x36, 0xab, 0x02, 0x8c, 0xb7, 0x31, 0xd3, 0x1e, 0x8e, - 0x65, 0x9b, 0xc2, 0x96, 0x73, 0xe7, 0xbc, 0xc8, 0x09, 0xb9, 0x0d, 0xe3, 0xf8, 0x68, 0x02, 0x1a, - 0x11, 0xe5, 0xb5, 0x04, 0xcd, 0x2d, 0x01, 0x8a, 0xf0, 0x8c, 0xd5, 0xa2, 0x47, 0xe4, 0x26, 0xe4, - 0x5c, 0xbd, 0x5e, 0x3f, 0x0c, 0x68, 0xfa, 0x39, 0x8d, 0x9c, 0xa0, 0xb9, 0xe7, 0x43, 0x22, 0x24, - 0x59, 0xb7, 0x75, 0x40, 0xb6, 0x61, 0x08, 0x8d, 0xc5, 0x7b, 0x9d, 0x4a, 0xbe, 0x26, 0x61, 0x37, - 0xf9, 0xec, 0xa4, 0x74, 0x59, 0x7c, 0x29, 0xb1, 0xda, 0xfd, 0xa2, 0xb7, 0xa2, 0xae, 0x6f, 0x56, - 0xd0, 0x54, 0xb1, 0x31, 0x5b, 0x28, 0xb8, 0xe7, 0xa2, 0x8b, 0x35, 0x9a, 0x4c, 0xcf, 0x8d, 0x46, - 0xf9, 0x00, 0x3b, 0x77, 0xe8, 0x0f, 0xaf, 0x67, 0x05, 0x86, 0x11, 0x84, 0x17, 0x73, 0x25, 0x3d, - 0xa3, 0x95, 0x00, 0xa6, 0x7c, 0x1b, 0x67, 0x7a, 0xf9, 0xef, 0xe5, 0x91, 0x84, 0xdd, 0xbf, 0xa5, - 0x00, 0x83, 0x59, 0x85, 0x11, 0x54, 0x19, 0xbc, 0x9a, 0x4e, 0xd1, 0x84, 0xb8, 0x17, 0xf7, 0x76, - 0xde, 0x86, 0x69, 0xae, 0x8a, 0xd7, 0x4e, 0xc5, 0x60, 0xcd, 0xba, 0x7b, 0x81, 0xf1, 0x98, 0x6f, - 0xb7, 0x0d, 0x6f, 0x68, 0x90, 0x57, 0x1f, 0xde, 0x4f, 0x6a, 0xa9, 0xa2, 0x89, 0x00, 0x2a, 0x5b, - 0x30, 0x17, 0x9b, 0x05, 0x7e, 0xab, 0xf8, 0xd4, 0xe1, 0x8b, 0x45, 0xcf, 0x8a, 0x2c, 0x28, 0x76, - 0xe6, 0x40, 0x65, 0xef, 0x83, 0xff, 0x48, 0x8d, 0x2a, 0x15, 0xe7, 0x28, 0x50, 0xe9, 0x30, 0x5c, - 0xa2, 0x0c, 0x59, 0xaf, 0xf5, 0x43, 0xb9, 0x03, 0x05, 0xee, 0xea, 0x13, 0x83, 0x31, 0xdd, 0x34, - 0xb6, 0x74, 0x66, 0xd4, 0xe2, 0x0d, 0x68, 0x19, 0x86, 0x0f, 0x98, 0x59, 0x6d, 0x36, 0xea, 0xd8, - 0x7c, 0x2e, 0x3d, 0x3b, 0x29, 0x65, 0xbf, 0xf2, 0x17, 0xa2, 0x62, 0x59, 0x5d, 0x51, 0x57, 0x2a, - 0x43, 0x07, 0xcc, 0xfc, 0xbc, 0x51, 0x57, 0x0e, 0x30, 0xf4, 0x34, 0x2e, 0x54, 0x7d, 0x27, 0x7c, - 0xbe, 0x42, 0xef, 0x7c, 0x42, 0x6f, 0xbb, 0x69, 0x8a, 0x3b, 0xc1, 0xb0, 0xfa, 0x24, 0x07, 0x83, - 0xdc, 0x1f, 0xf9, 0x5e, 0x82, 0x5c, 0x74, 0xad, 0x22, 0x4b, 0x09, 0xda, 0x4e, 0x4b, 0x99, 0xbc, - 0x7c, 0x3e, 0x50, 0x28, 0x57, 0x16, 0x1e, 0xfe, 0xfd, 0xdf, 0xaf, 0x99, 0x59, 0x32, 0xa3, 0xc5, - 0xf7, 0xc2, 0xe8, 0x8a, 0x46, 0xbe, 0x93, 0x60, 0x24, 0x48, 0x39, 0x59, 0x48, 0xe3, 0x4e, 0x2c, - 0x6f, 0xf2, 0xab, 0xdd, 0x41, 0xe8, 0x5c, 0xe5, 0xce, 0x97, 0xc9, 0x62, 0xc2, 0x79, 0xb8, 0x31, - 0x68, 0x47, 0x91, 0x8a, 0x3a, 0x26, 0x5f, 0xc3, 0x68, 0xb8, 0x8b, 0x90, 0xae, 0x2e, 0x82, 0x6b, - 0x96, 0x5f, 0x3b, 0x07, 0x85, 0x4a, 0x8a, 0x5c, 0x89, 0x4c, 0xf2, 0x9d, 0x94, 0x90, 0x1f, 0x24, - 0x18, 0xf0, 0xcb, 0x8d, 0xcc, 0xa5, 0x31, 0x46, 0x16, 0x11, 0xb9, 0xd8, 0x19, 0x80, 0xde, 0x6e, - 0x70, 0x6f, 0xd7, 0xc9, 0x7a, 0x6f, 0x71, 0x6b, 0x7c, 0x22, 0x6b, 0x47, 0x7c, 0x2d, 0x39, 0x26, - 0x0f, 0x25, 0x18, 0xe4, 0x63, 0x9d, 0x74, 0xf4, 0x14, 0x86, 0x3f, 0xdf, 0x05, 0x81, 0x62, 0xd6, - 0xb9, 0x18, 0x95, 0xbc, 0x79, 0x11, 0x31, 0xc4, 0x86, 0x21, 0x1c, 0x5d, 0xa9, 0x2e, 0x62, 0x6f, - 0x4d, 0x56, 0xba, 0x41, 0x50, 0xc6, 0x2c, 0x97, 0x31, 0x4d, 0xa6, 0x92, 0x32, 0x84, 0x97, 0xdf, - 0x24, 0x18, 0xc6, 0x46, 0x4b, 0x52, 0xe9, 0xe2, 0x43, 0x4f, 0x5e, 0xe8, 0x8a, 0x41, 0x9f, 0xdb, - 0xdc, 0xe7, 0xbb, 0xe4, 0x9d, 0x1e, 0x43, 0x0f, 0x1a, 0xbc, 0x76, 0x14, 0x0e, 0xc1, 0x63, 0xf2, - 0x93, 0x04, 0x23, 0xc1, 0xd4, 0x20, 0xdd, 0xdc, 0xb2, 0xae, 0x8f, 0x23, 0x39, 0x78, 0x94, 0x4d, - 0x2e, 0xae, 0x4c, 0xb4, 0x0b, 0x8a, 0x23, 0x8f, 0x24, 0xc8, 0x46, 0x3a, 0x38, 0x59, 0x4c, 0x73, - 0xd7, 0x3e, 0x51, 0xe4, 0xa5, 0x73, 0x71, 0xcf, 0x59, 0x31, 0x7c, 0x82, 0x90, 0x3f, 0x24, 0x98, - 0x48, 0xe9, 0xdb, 0x44, 0xed, 0xf6, 0x42, 0xdb, 0xc7, 0x8c, 0xac, 0xf5, 0x8c, 0x47, 0xb9, 0x1f, - 0x3d, 0x39, 0x29, 0xe5, 0x44, 0xa7, 0xf5, 0x78, 0xab, 0xe5, 0xf2, 0x37, 0xc8, 0xda, 0x05, 0x0a, - 0x3e, 0x98, 0x47, 0xe4, 0xb1, 0x04, 0xa4, 0xbd, 0x9b, 0x93, 0x52, 0x9a, 0xa8, 0x8e, 0xc3, 0x47, - 0x56, 0x7b, 0x85, 0x07, 0xb5, 0x90, 0x1a, 0xc2, 0x3c, 0x99, 0x4b, 0x7d, 0x2c, 0xda, 0x11, 0x4e, - 0xb6, 0xe3, 0xad, 0x8d, 0x3f, 0x4f, 0x0b, 0xd2, 0xd3, 0xd3, 0x82, 0xf4, 0xef, 0x69, 0x41, 0xfa, - 0xe5, 0xac, 0xd0, 0xf7, 0xf4, 0xac, 0xd0, 0xf7, 0xcf, 0x59, 0xa1, 0xef, 0xcb, 0x19, 0x61, 0xc9, - 0x6a, 0xf7, 0x55, 0x8b, 0x6a, 0x9c, 0x5b, 0xf3, 0x57, 0x71, 0xa6, 0x79, 0xe5, 0xbd, 0x21, 0xfe, - 0xbf, 0x7f, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x67, 0xac, 0x9e, 0xa1, 0x10, 0x00, - 0x00, + // 1220 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdf, 0x6f, 0xdb, 0xd4, + 0x17, 0x9f, 0xd3, 0xdf, 0x27, 0x69, 0xb7, 0xef, 0x6d, 0xbb, 0x66, 0xee, 0x9a, 0xa6, 0xee, 0x97, + 0xb6, 0x20, 0x62, 0x27, 0xfd, 0xb1, 0x0a, 0x18, 0x42, 0x6b, 0x47, 0x07, 0x03, 0x44, 0xc9, 0x06, + 0x0f, 0xbc, 0x44, 0x6e, 0x63, 0x59, 0xd6, 0x52, 0x5f, 0x2f, 0xd7, 0xb1, 0x28, 0xa5, 0x42, 0x9a, + 0xc4, 0x8f, 0x27, 0x40, 0x62, 0x12, 0xfc, 0x11, 0x7b, 0xec, 0x7f, 0xc0, 0x0b, 0xda, 0xd3, 0x04, + 0x2f, 0x68, 0x4f, 0xa8, 0xe5, 0x0f, 0x41, 0xbe, 0xf7, 0xd8, 0xb1, 0x1d, 0x27, 0x4d, 0xa7, 0x89, + 0xc7, 0x5c, 0x7f, 0xce, 0xe7, 0x7c, 0xce, 0xb9, 0xe7, 0x9e, 0x73, 0x02, 0xd7, 0xf6, 0x29, 0x3b, + 0xa0, 0x4c, 0x33, 0xa9, 0xa7, 0x79, 0x15, 0xed, 0x61, 0xcb, 0x68, 0x1e, 0xaa, 0x4e, 0x93, 0xba, + 0x94, 0x8c, 0x8b, 0x4f, 0xaa, 0x49, 0x3d, 0xd5, 0xab, 0xc8, 0xaf, 0x21, 0x72, 0x4f, 0x67, 0x86, + 0xc0, 0x69, 0x5e, 0x65, 0xcf, 0x70, 0xf5, 0x8a, 0xe6, 0xe8, 0xa6, 0x65, 0xeb, 0xae, 0x45, 0x6d, + 0x61, 0x2a, 0x5f, 0x37, 0x29, 0x35, 0x1b, 0x86, 0xa6, 0x3b, 0x96, 0xa6, 0xdb, 0x36, 0x75, 0xf9, + 0x47, 0x86, 0x5f, 0x67, 0xe2, 0x3e, 0x7d, 0x7e, 0xf1, 0x01, 0xc5, 0xd4, 0xf8, 0x2f, 0x0d, 0xdd, + 0xf3, 0x1f, 0x8a, 0x0c, 0xf9, 0x4f, 0x7c, 0x9f, 0xdb, 0xd4, 0x66, 0xae, 0xe5, 0xb6, 0x7c, 0xbe, + 0xaa, 0xf1, 0xb0, 0x65, 0x30, 0x57, 0x79, 0x07, 0xae, 0xa5, 0x7c, 0x63, 0x0e, 0xb5, 0x99, 0x41, + 0x14, 0xc8, 0xed, 0x47, 0xce, 0xf3, 0x52, 0x51, 0x5a, 0x19, 0xab, 0xc6, 0xce, 0x94, 0x4d, 0x98, + 0xe2, 0x04, 0xbb, 0x4d, 0xea, 0x50, 0xa6, 0x37, 0x90, 0x98, 0xcc, 0x43, 0xd6, 0xc1, 0xa3, 0x9a, + 0x55, 0xe7, 0xa6, 0x83, 0x55, 0x08, 0x8e, 0xde, 0xaf, 0x2b, 0x1f, 0xc2, 0x74, 0xc2, 0x10, 0xbd, + 0xae, 0xc1, 0x68, 0x00, 0xe3, 0x66, 0xd9, 0xd5, 0x19, 0x35, 0x96, 0x4e, 0x35, 0x34, 0x09, 0x81, + 0xca, 0x8f, 0x99, 0x04, 0x1d, 0x0b, 0x84, 0xec, 0xc0, 0xe5, 0x50, 0x08, 0x73, 0x75, 0xb7, 0xc5, + 0x38, 0xeb, 0xc4, 0xea, 0x5c, 0x17, 0xd6, 0x7b, 0x1c, 0x54, 0x9d, 0x70, 0x62, 0xbf, 0x89, 0x0a, + 0x43, 0x1e, 0x75, 0x8d, 0x66, 0x3e, 0xe3, 0x67, 0x61, 0x2b, 0xff, 0xc7, 0x49, 0x69, 0x0a, 0x09, + 0x6e, 0xd5, 0xeb, 0x4d, 0x83, 0xb1, 0x7b, 0x6e, 0xd3, 0xb2, 0xcd, 0xaa, 0x80, 0x91, 0x1b, 0x30, + 0x56, 0x37, 0x1c, 0xca, 0x2c, 0x97, 0x36, 0xf3, 0x03, 0xe7, 0xd8, 0xb4, 0xa1, 0x64, 0x07, 0xa0, + 0x5d, 0x13, 0xf9, 0x41, 0x9e, 0x80, 0xa5, 0x40, 0xaa, 0x5f, 0x40, 0xaa, 0x28, 0x34, 0x2c, 0x20, + 0x75, 0x57, 0x37, 0x0d, 0x8c, 0xb5, 0x1a, 0xb1, 0x54, 0x7e, 0x95, 0xe0, 0x6a, 0x32, 0x23, 0x98, + 0xe1, 0x0d, 0x18, 0x0b, 0x82, 0xf3, 0x93, 0x31, 0xd0, 0x2b, 0xc5, 0x6d, 0x24, 0xb9, 0x13, 0x53, + 0x96, 0xe1, 0xca, 0x96, 0xcf, 0x55, 0x26, 0x7c, 0xc6, 0xa4, 0xed, 0xc3, 0x15, 0xae, 0xec, 0x33, + 0xea, 0x1a, 0xfd, 0xd6, 0xcb, 0x45, 0xf3, 0xaf, 0xdc, 0x84, 0xff, 0x45, 0x9c, 0x60, 0xe4, 0xcb, + 0x30, 0xe8, 0x7f, 0xc5, 0xba, 0x9a, 0x4c, 0x04, 0xcd, 0xa1, 0x1c, 0xa0, 0x7c, 0x15, 0xb1, 0x66, + 0x7d, 0x6b, 0xdc, 0x49, 0xc9, 0xd0, 0x8b, 0xdc, 0xdd, 0xf7, 0x12, 0x90, 0xa8, 0x7b, 0x54, 0xff, + 0xaa, 0x48, 0x41, 0x70, 0x67, 0xa9, 0xf2, 0x05, 0xe2, 0xe5, 0xdd, 0xd5, 0x1b, 0xa8, 0x64, 0x57, + 0x6f, 0xea, 0x07, 0x61, 0x26, 0x16, 0x21, 0xeb, 0xf0, 0x83, 0x9a, 0x7b, 0xe8, 0x88, 0x74, 0x8e, + 0x6d, 0x65, 0xf2, 0x92, 0x6f, 0xea, 0x1f, 0xdf, 0x3f, 0x74, 0x0c, 0xe5, 0x49, 0x06, 0x26, 0x63, + 0xb6, 0x18, 0xc6, 0x6d, 0x18, 0xf7, 0xa8, 0x6b, 0xd9, 0x66, 0x4d, 0x80, 0xf1, 0x36, 0x66, 0x3b, + 0xc3, 0xb1, 0x6c, 0x53, 0xd8, 0x72, 0xee, 0x9c, 0x17, 0x39, 0x21, 0x77, 0x60, 0x02, 0x1f, 0x4d, + 0x40, 0x23, 0xa2, 0xbc, 0x9e, 0xa0, 0xb9, 0x2d, 0x40, 0x11, 0x9e, 0xf1, 0x7a, 0xf4, 0x88, 0xdc, + 0x82, 0x9c, 0xab, 0x37, 0x1a, 0x87, 0x01, 0xcd, 0x00, 0xa7, 0x91, 0x13, 0x34, 0xf7, 0x7d, 0x48, + 0x84, 0x24, 0xeb, 0xb6, 0x0f, 0xc8, 0x36, 0x0c, 0xa3, 0xb1, 0x78, 0xaf, 0xd3, 0xc9, 0xd7, 0x24, + 0xec, 0xa6, 0x9e, 0x9f, 0x94, 0xae, 0x88, 0x2f, 0x25, 0x56, 0x7f, 0x50, 0xf4, 0xca, 0xea, 0xfa, + 0x66, 0x15, 0x4d, 0x15, 0x1b, 0xb3, 0x85, 0x82, 0xfb, 0x2e, 0xba, 0x58, 0xa3, 0xc9, 0xf4, 0xdd, + 0x68, 0x94, 0xf7, 0xb0, 0x73, 0x87, 0xfe, 0xf0, 0x7a, 0xca, 0x30, 0x82, 0x20, 0xbc, 0x98, 0xab, + 0xe9, 0x19, 0xad, 0x06, 0x30, 0xe5, 0xeb, 0x38, 0xd3, 0x7f, 0xff, 0x5e, 0x1e, 0x4b, 0xd8, 0xfd, + 0xdb, 0x0a, 0x30, 0x98, 0x55, 0x18, 0x45, 0x95, 0xc1, 0xab, 0xe9, 0x16, 0x4d, 0x88, 0x7b, 0x79, + 0x6f, 0xe7, 0x4d, 0x98, 0xe1, 0xaa, 0x78, 0xed, 0x54, 0x0d, 0xd6, 0x6a, 0xb8, 0x17, 0x18, 0x8f, + 0xf9, 0x4e, 0xdb, 0xf0, 0x86, 0x86, 0x78, 0xf5, 0xe1, 0xfd, 0xa4, 0x96, 0x2a, 0x9a, 0x08, 0xa0, + 0xb2, 0x05, 0xf3, 0xb1, 0x59, 0xe0, 0xb7, 0x8a, 0x8f, 0x1d, 0xbe, 0x58, 0xf4, 0xad, 0xc8, 0x82, + 0x62, 0x77, 0x0e, 0x54, 0xf6, 0x2e, 0xf8, 0x8f, 0xd4, 0xa8, 0x51, 0x71, 0x8e, 0x02, 0x95, 0x2e, + 0xc3, 0x25, 0xca, 0x90, 0xf5, 0xda, 0x3f, 0x94, 0xbb, 0x50, 0xe0, 0xae, 0x3e, 0x32, 0x18, 0xd3, + 0x4d, 0x63, 0x4b, 0x67, 0x46, 0x3d, 0xde, 0x80, 0x56, 0x60, 0xe4, 0x80, 0x99, 0xb5, 0x56, 0xb3, + 0x81, 0xcd, 0xe7, 0xf2, 0xf3, 0x93, 0x52, 0xf6, 0x0b, 0x7f, 0x21, 0x2a, 0x56, 0xd4, 0xb2, 0x5a, + 0xae, 0x0e, 0x1f, 0x30, 0xf3, 0xd3, 0x66, 0x43, 0x39, 0xc0, 0xd0, 0xd3, 0xb8, 0x50, 0xf5, 0xdd, + 0xf0, 0xf9, 0x0a, 0xbd, 0x0b, 0x09, 0xbd, 0x9d, 0xa6, 0x29, 0xee, 0x04, 0xc3, 0xea, 0xd3, 0x1c, + 0x0c, 0x71, 0x7f, 0xe4, 0x5b, 0x09, 0x72, 0xd1, 0xb5, 0x8a, 0x2c, 0x27, 0x68, 0xbb, 0x2d, 0x65, + 0xf2, 0xca, 0xf9, 0x40, 0xa1, 0x5c, 0x59, 0x7c, 0xf4, 0xe7, 0x3f, 0x3f, 0x67, 0xe6, 0xc8, 0xac, + 0x16, 0xdf, 0x0b, 0xa3, 0x2b, 0x1a, 0xf9, 0x46, 0x82, 0xd1, 0x20, 0xe5, 0x64, 0x31, 0x8d, 0x3b, + 0xb1, 0xbc, 0xc9, 0xff, 0xef, 0x0d, 0x42, 0xe7, 0x2a, 0x77, 0xbe, 0x42, 0x96, 0x12, 0xce, 0xc3, + 0x8d, 0x41, 0x3b, 0x8a, 0x54, 0xd4, 0x31, 0xf9, 0x12, 0xc6, 0xc2, 0x5d, 0x84, 0xf4, 0x74, 0x11, + 0x5c, 0xb3, 0xfc, 0xca, 0x39, 0x28, 0x54, 0x52, 0xe4, 0x4a, 0x64, 0x92, 0xef, 0xa6, 0x84, 0x7c, + 0x27, 0xc1, 0xa0, 0x5f, 0x6e, 0x64, 0x3e, 0x8d, 0x31, 0xb2, 0x88, 0xc8, 0xc5, 0xee, 0x00, 0xf4, + 0x76, 0x93, 0x7b, 0xbb, 0x41, 0xd6, 0xfb, 0x8b, 0x5b, 0xe3, 0x13, 0x59, 0x3b, 0xe2, 0x6b, 0xc9, + 0x31, 0x79, 0x24, 0xc1, 0x10, 0x1f, 0xeb, 0xa4, 0xab, 0xa7, 0x30, 0xfc, 0x85, 0x1e, 0x08, 0x14, + 0xb3, 0xce, 0xc5, 0xa8, 0xe4, 0xf5, 0x8b, 0x88, 0x21, 0x36, 0x0c, 0xe3, 0xe8, 0x4a, 0x75, 0x11, + 0x7b, 0x6b, 0xb2, 0xd2, 0x0b, 0x82, 0x32, 0xe6, 0xb8, 0x8c, 0x19, 0x32, 0x9d, 0x94, 0x21, 0xbc, + 0xfc, 0x22, 0xc1, 0x08, 0x36, 0x5a, 0x92, 0x4a, 0x17, 0x1f, 0x7a, 0xf2, 0x62, 0x4f, 0x0c, 0xfa, + 0xdc, 0xe6, 0x3e, 0xdf, 0x26, 0x6f, 0xf5, 0x19, 0x7a, 0xd0, 0xe0, 0xb5, 0xa3, 0x70, 0x08, 0x1e, + 0x93, 0x1f, 0x24, 0x18, 0x0d, 0xa6, 0x06, 0xe9, 0xe5, 0x96, 0xf5, 0x7c, 0x1c, 0xc9, 0xc1, 0xa3, + 0x6c, 0x72, 0x71, 0x15, 0xa2, 0x5d, 0x50, 0x1c, 0x79, 0x2c, 0x41, 0x36, 0xd2, 0xc1, 0xc9, 0x52, + 0x9a, 0xbb, 0xce, 0x89, 0x22, 0x2f, 0x9f, 0x8b, 0x7b, 0xc1, 0x8a, 0xe1, 0x13, 0x84, 0xfc, 0x26, + 0xc1, 0x64, 0x4a, 0xdf, 0x26, 0x6a, 0xaf, 0x17, 0xda, 0x39, 0x66, 0x64, 0xad, 0x6f, 0x3c, 0xca, + 0xfd, 0xe0, 0xe9, 0x49, 0x29, 0x27, 0x3a, 0xad, 0x57, 0x56, 0x57, 0xd5, 0x32, 0x97, 0xbf, 0x41, + 0xd6, 0x2e, 0x50, 0xf0, 0xc1, 0x3c, 0x22, 0x4f, 0x24, 0x20, 0x9d, 0xdd, 0x9c, 0x94, 0xd2, 0x44, + 0x75, 0x1d, 0x3e, 0xb2, 0xda, 0x2f, 0x3c, 0xa8, 0x85, 0xd4, 0x10, 0x16, 0xc8, 0x7c, 0xea, 0x63, + 0xd1, 0x8e, 0x70, 0xb2, 0x1d, 0x6f, 0x6d, 0xfc, 0x7e, 0x5a, 0x90, 0x9e, 0x9d, 0x16, 0xa4, 0xbf, + 0x4f, 0x0b, 0xd2, 0x4f, 0x67, 0x85, 0x4b, 0xcf, 0xce, 0x0a, 0x97, 0xfe, 0x3a, 0x2b, 0x5c, 0xfa, + 0x7c, 0x56, 0x58, 0xb2, 0xfa, 0x03, 0xd5, 0xa2, 0x1a, 0xe7, 0xd6, 0xfc, 0x55, 0x9c, 0x69, 0x5e, + 0x65, 0x6f, 0x98, 0xff, 0xef, 0x5f, 0xfb, 0x37, 0x00, 0x00, 0xff, 0xff, 0xa2, 0x80, 0xa3, 0x3c, + 0xa1, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/gov/types/v1/tx.pb.go b/x/gov/types/v1/tx.pb.go index 8d307f7da25c..2aaafca74478 100644 --- a/x/gov/types/v1/tx.pb.go +++ b/x/gov/types/v1/tx.pb.go @@ -1195,100 +1195,100 @@ func init() { func init() { proto.RegisterFile("cosmos/gov/v1/tx.proto", fileDescriptor_9ff8f4a63b6fc9a9) } var fileDescriptor_9ff8f4a63b6fc9a9 = []byte{ - // 1480 bytes of a gzipped FileDescriptorProto + // 1481 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6f, 0x1b, 0x45, 0x14, 0xcf, 0xc6, 0x89, 0xed, 0x4c, 0xdc, 0xa4, 0xd9, 0xb8, 0xc9, 0x66, 0x9b, 0xda, 0xee, 0x16, 0xa8, 0x49, 0xf1, 0xda, 0x4e, 0x9b, 0x02, 0xa6, 0xaa, 0x54, 0x87, 0x02, 0x95, 0x30, 0x54, 0xdb, 0x0f, 0x24, 0xa8, 0x64, 0x6d, 0xbc, 0xc3, 0x66, 0x55, 0xaf, 0x67, 0xf1, 0xac, 0xad, 0xf8, 0x80, 0x84, 0x38, 0xf6, 0xd4, 0x0b, 0x12, 0x42, 0xe2, 0x0e, 0x9c, 0x72, 0xf0, 0x09, 0x8e, 0x5c, 0xaa, 0x1c, 0x50, 0x95, 0x03, 0x42, 0x3d, 0xb4, 0xa8, 0x15, 0x44, 0xe2, 0x9f, 0x00, 0xcd, 0xec, 0xec, - 0xda, 0xfb, 0x61, 0x27, 0x2d, 0x12, 0xe2, 0xd2, 0x7a, 0xdf, 0xd7, 0xbc, 0xf7, 0x9b, 0x37, 0xbf, - 0xf7, 0x02, 0x96, 0x1a, 0x08, 0x9b, 0x08, 0x17, 0x75, 0xd4, 0x2d, 0x76, 0xcb, 0x45, 0x7b, 0x47, - 0xb6, 0xda, 0xc8, 0x46, 0xfc, 0x31, 0x47, 0x2e, 0xeb, 0xa8, 0x2b, 0x77, 0xcb, 0x62, 0x86, 0x99, - 0x6d, 0xa9, 0x18, 0x16, 0xbb, 0xe5, 0x2d, 0x68, 0xab, 0xe5, 0x62, 0x03, 0x19, 0x2d, 0xc7, 0x5c, - 0x5c, 0xf6, 0x87, 0x21, 0x5e, 0x8e, 0x22, 0xad, 0x23, 0x1d, 0xd1, 0x9f, 0x45, 0xf2, 0x8b, 0x49, - 0x57, 0x1c, 0xf3, 0xba, 0xa3, 0x60, 0x47, 0x31, 0x95, 0x8e, 0x90, 0xde, 0x84, 0x45, 0xfa, 0xb5, - 0xd5, 0xf9, 0xb4, 0xa8, 0xb6, 0x7a, 0x81, 0x43, 0x4c, 0xac, 0x93, 0x43, 0x4c, 0xac, 0x33, 0xc5, - 0x82, 0x6a, 0x1a, 0x2d, 0x54, 0xa4, 0xff, 0x32, 0x51, 0x36, 0x18, 0xc6, 0x36, 0x4c, 0x88, 0x6d, - 0xd5, 0xb4, 0x1c, 0x03, 0xe9, 0xc7, 0x29, 0xb0, 0x50, 0xc3, 0xfa, 0x8d, 0xce, 0x96, 0x69, 0xd8, - 0xd7, 0xdb, 0xc8, 0x42, 0x58, 0x6d, 0xf2, 0x25, 0x90, 0x34, 0x21, 0xc6, 0xaa, 0x0e, 0xb1, 0xc0, - 0xe5, 0x62, 0xf9, 0xd9, 0xf5, 0xb4, 0xec, 0x44, 0x92, 0xdd, 0x48, 0xf2, 0x95, 0x56, 0x4f, 0xf1, - 0xac, 0xf8, 0x7b, 0x1c, 0x98, 0x37, 0x5a, 0x86, 0x6d, 0xa8, 0xcd, 0xba, 0x06, 0x2d, 0x84, 0x0d, - 0x5b, 0x98, 0xa4, 0x9e, 0x2b, 0x32, 0x2b, 0x8c, 0x80, 0x26, 0x33, 0xd0, 0xe4, 0x4d, 0x64, 0xb4, - 0xaa, 0xef, 0x3c, 0x78, 0x9c, 0x9d, 0xf8, 0xe1, 0x49, 0x36, 0xaf, 0x1b, 0xf6, 0x76, 0x67, 0x4b, - 0x6e, 0x20, 0x93, 0xa1, 0xc0, 0xfe, 0x2b, 0x60, 0xed, 0x6e, 0xd1, 0xee, 0x59, 0x10, 0x53, 0x07, - 0xfc, 0xcd, 0xc1, 0xee, 0x5a, 0xaa, 0x09, 0x75, 0xb5, 0xd1, 0xab, 0x13, 0xd8, 0xf1, 0x77, 0x07, - 0xbb, 0x6b, 0x9c, 0x32, 0xc7, 0x4e, 0x7e, 0xdb, 0x39, 0x98, 0xbf, 0x00, 0x92, 0x16, 0x2d, 0x05, - 0xb6, 0x85, 0x58, 0x8e, 0xcb, 0xcf, 0x54, 0x85, 0xfd, 0x7e, 0x21, 0xcd, 0xf2, 0xb8, 0xa2, 0x69, - 0x6d, 0x88, 0xf1, 0x0d, 0xbb, 0x6d, 0xb4, 0x74, 0xc5, 0xb3, 0xe4, 0x45, 0x52, 0xb4, 0xad, 0x6a, - 0xaa, 0xad, 0x0a, 0x53, 0xc4, 0x4b, 0xf1, 0xbe, 0xf9, 0x57, 0xc1, 0xb4, 0x6d, 0xd8, 0x4d, 0x28, - 0x4c, 0xd3, 0x70, 0x8b, 0x8f, 0xfa, 0x85, 0xf9, 0x41, 0x8a, 0xb9, 0x92, 0x7c, 0xe1, 0x75, 0xc5, - 0xb1, 0xe0, 0x0b, 0x20, 0x81, 0x3b, 0xa6, 0xa9, 0xb6, 0x7b, 0x42, 0x7c, 0xb4, 0xb1, 0x6b, 0xc3, - 0x9f, 0x07, 0x33, 0x70, 0xc7, 0x82, 0x9a, 0x61, 0x43, 0x4d, 0x48, 0xe4, 0xb8, 0x7c, 0xb2, 0x7a, - 0x22, 0xe4, 0xb0, 0x51, 0x12, 0x38, 0x65, 0x60, 0xc7, 0x2b, 0xe0, 0x98, 0xc5, 0xee, 0xaa, 0x4e, - 0xe0, 0x11, 0x92, 0x39, 0x2e, 0x3f, 0xb7, 0x7e, 0x52, 0xf6, 0xb5, 0xab, 0xec, 0xde, 0xe7, 0xcd, - 0x9e, 0x05, 0xab, 0xc7, 0x1f, 0xf5, 0x0b, 0xa9, 0x1d, 0xd2, 0x93, 0xb9, 0x6e, 0x59, 0x2e, 0xc9, - 0x25, 0x25, 0x65, 0x0d, 0xe9, 0x2b, 0xe5, 0x2f, 0x0f, 0x76, 0xd7, 0x3c, 0x34, 0xee, 0x1d, 0xec, - 0xae, 0x65, 0x87, 0x2e, 0xa1, 0x5b, 0x2e, 0x86, 0xda, 0x44, 0xba, 0x04, 0x56, 0x42, 0x42, 0x05, - 0x62, 0x0b, 0xb5, 0x30, 0xe4, 0xb3, 0x60, 0xd6, 0xcb, 0xd1, 0xd0, 0x04, 0x2e, 0xc7, 0xe5, 0xa7, - 0x14, 0xe0, 0x8a, 0xae, 0x69, 0xd2, 0x4f, 0x1c, 0x48, 0xd7, 0xb0, 0x7e, 0x75, 0x07, 0x36, 0xde, - 0xa7, 0x57, 0xba, 0x89, 0x5a, 0x36, 0x6c, 0xd9, 0xfc, 0x07, 0x20, 0xd1, 0x70, 0x7e, 0x52, 0xaf, - 0x11, 0xcd, 0x57, 0xcd, 0xec, 0xf5, 0x0b, 0xa2, 0xaf, 0x60, 0xb7, 0xb5, 0xa8, 0xaf, 0xe2, 0x06, - 0xe1, 0x57, 0xc1, 0x8c, 0xda, 0xb1, 0xb7, 0x51, 0xdb, 0xb0, 0x7b, 0xc2, 0x24, 0xbd, 0xd9, 0x81, - 0xa0, 0xb2, 0x41, 0xea, 0x1e, 0x7c, 0x93, 0xc2, 0xa5, 0x50, 0xe1, 0xa1, 0x24, 0xa5, 0x0c, 0x58, - 0x8d, 0x92, 0xbb, 0xe5, 0x4b, 0x7f, 0x70, 0x20, 0x51, 0xc3, 0xfa, 0x6d, 0x64, 0x43, 0x7e, 0x23, - 0x02, 0x8a, 0x6a, 0xfa, 0xaf, 0xc7, 0xd9, 0x61, 0xb1, 0xd3, 0xca, 0x43, 0x00, 0xf1, 0x32, 0x98, - 0xee, 0x22, 0x1b, 0xb6, 0x9d, 0x9c, 0xc7, 0xf4, 0xb0, 0x63, 0xc6, 0x97, 0x41, 0x1c, 0x59, 0xb6, - 0x81, 0x5a, 0xb4, 0xe9, 0xe7, 0x06, 0x2f, 0x8f, 0xb5, 0x03, 0xc9, 0xe5, 0x43, 0x6a, 0xa0, 0x30, - 0xc3, 0x71, 0x3d, 0x5f, 0x79, 0x89, 0x00, 0xe3, 0x84, 0x26, 0xa0, 0x9c, 0x08, 0x81, 0x42, 0xe2, - 0x49, 0x0b, 0x60, 0x9e, 0xfd, 0xf4, 0x4a, 0xff, 0x9b, 0xf3, 0x64, 0x1f, 0x41, 0x43, 0xdf, 0x26, - 0x1d, 0xfb, 0x1f, 0x41, 0xf0, 0x16, 0x48, 0x38, 0x95, 0x61, 0x21, 0x46, 0xd9, 0xe7, 0x74, 0x00, - 0x03, 0x37, 0xa1, 0x21, 0x2c, 0x5c, 0x8f, 0xb1, 0x60, 0xbc, 0xe6, 0x07, 0xe3, 0x54, 0x24, 0x18, - 0x6e, 0x70, 0x69, 0x05, 0x2c, 0x07, 0x44, 0x1e, 0x38, 0x7f, 0x72, 0x00, 0xd4, 0xb0, 0xee, 0x52, - 0xd5, 0x0b, 0xe2, 0x72, 0x11, 0xcc, 0x30, 0x96, 0x45, 0x87, 0x63, 0x33, 0x30, 0xe5, 0x2f, 0x81, - 0xb8, 0x6a, 0xa2, 0x4e, 0xcb, 0x66, 0xf0, 0x8c, 0x21, 0xe7, 0x19, 0x42, 0xce, 0xce, 0xc9, 0xcc, - 0xa7, 0x72, 0x8e, 0x3e, 0x15, 0x2f, 0x1a, 0x01, 0x42, 0x08, 0x01, 0xc1, 0x2a, 0x93, 0xd2, 0x80, - 0x1f, 0x7c, 0x79, 0xe5, 0xff, 0xe2, 0xf4, 0xc6, 0x2d, 0x4b, 0x53, 0x6d, 0x78, 0x5d, 0x6d, 0xab, - 0x26, 0x26, 0xc5, 0x0c, 0xde, 0x27, 0x77, 0x58, 0x31, 0x9e, 0x29, 0xff, 0x06, 0x88, 0x5b, 0x34, - 0x02, 0x45, 0x60, 0x76, 0xfd, 0x44, 0x90, 0xfe, 0xa8, 0xd2, 0x57, 0x88, 0x63, 0x5f, 0xb9, 0xb6, - 0x1f, 0xa6, 0xe4, 0x30, 0x0d, 0x9c, 0x19, 0xaa, 0x6d, 0xc7, 0x9d, 0xe9, 0x81, 0xe4, 0x25, 0x99, - 0x5e, 0xf5, 0xb0, 0xc8, 0xad, 0xb5, 0xb2, 0x18, 0x71, 0x8a, 0xf4, 0x2d, 0x47, 0x07, 0xee, 0xa6, - 0xda, 0x6a, 0xc0, 0xe6, 0xd0, 0xc0, 0x8d, 0x68, 0x83, 0xf9, 0x40, 0x1b, 0xf8, 0x3a, 0x60, 0x78, - 0xc6, 0x4d, 0x1e, 0x75, 0xc6, 0x55, 0x72, 0xfb, 0xe1, 0xd1, 0xe2, 0xe3, 0x7d, 0xe9, 0x57, 0x8e, - 0x92, 0xba, 0x3f, 0x3f, 0x8f, 0xd4, 0x9f, 0x3f, 0xcf, 0x6b, 0xe0, 0x58, 0x83, 0xc6, 0x82, 0x5a, - 0x9d, 0x2c, 0x1f, 0xec, 0xae, 0xc4, 0x10, 0xa5, 0xdf, 0x74, 0x37, 0x93, 0x6a, 0x92, 0x5c, 0xd8, - 0xfd, 0x27, 0x59, 0x4e, 0x49, 0xb9, 0xae, 0x44, 0xc9, 0x9f, 0x05, 0xf3, 0x5e, 0xa8, 0x6d, 0xfa, - 0xae, 0x28, 0xd1, 0x4d, 0x29, 0x73, 0xae, 0xf8, 0x3d, 0x2a, 0x8d, 0x00, 0x7e, 0xa3, 0x24, 0x7d, - 0x15, 0x03, 0x59, 0x6f, 0x5a, 0xd5, 0x3a, 0x4d, 0xdb, 0xb0, 0x9a, 0x70, 0x73, 0x1b, 0x19, 0x0d, - 0xe8, 0x5d, 0x43, 0xd4, 0x16, 0xc3, 0xfd, 0x1f, 0xb6, 0x98, 0xc9, 0x17, 0xda, 0x62, 0x62, 0x81, - 0x2d, 0x26, 0xed, 0x6e, 0x31, 0x0e, 0xbb, 0xb1, 0x85, 0x45, 0x18, 0x2c, 0x2c, 0x74, 0xbb, 0x19, - 0xec, 0x26, 0x57, 0x41, 0x8a, 0x30, 0x5e, 0xdd, 0xa5, 0xd4, 0x38, 0xbd, 0x3a, 0x69, 0xc4, 0x96, - 0x31, 0xa0, 0x54, 0xac, 0xcc, 0x76, 0x07, 0x1f, 0x95, 0xd5, 0xfd, 0x7e, 0x61, 0xd6, 0xd9, 0x3c, - 0xe8, 0xe2, 0xe1, 0x6f, 0xb8, 0x4f, 0xc0, 0xd9, 0x43, 0xae, 0xe5, 0xc8, 0x2b, 0x45, 0x65, 0x3e, - 0x70, 0x92, 0xf4, 0x33, 0x07, 0x96, 0xbc, 0xe7, 0x59, 0x73, 0x96, 0xd5, 0x7f, 0xc9, 0x3a, 0xcb, - 0x20, 0x61, 0x62, 0xbd, 0xde, 0x69, 0x37, 0xd9, 0x2e, 0x11, 0x37, 0xb1, 0x7e, 0xab, 0xdd, 0xe4, - 0xdf, 0xf4, 0xe8, 0x28, 0x46, 0x71, 0x0a, 0x8e, 0x1e, 0x76, 0x7c, 0x55, 0xc5, 0x50, 0x63, 0x4c, - 0xe1, 0xf2, 0xd1, 0xa9, 0x08, 0x84, 0x06, 0x47, 0x4a, 0x65, 0x90, 0x89, 0x2e, 0xc2, 0xa3, 0x9a, - 0x50, 0xe1, 0xdf, 0x73, 0x60, 0x96, 0xc2, 0xaa, 0x21, 0xb2, 0xa3, 0xbc, 0x70, 0xb5, 0x9b, 0x20, - 0x66, 0x62, 0x9d, 0x3d, 0xda, 0xe8, 0x3d, 0xec, 0xe4, 0x5e, 0xbf, 0xb0, 0x1c, 0xf5, 0x3a, 0x6a, - 0x58, 0x57, 0x88, 0xf7, 0x61, 0xe5, 0x5d, 0x06, 0x8b, 0x43, 0xa9, 0x7a, 0xb7, 0xbd, 0x04, 0xe2, - 0x6d, 0x88, 0x3b, 0x4d, 0x67, 0x0b, 0x4c, 0x29, 0xec, 0x2b, 0x54, 0xeb, 0xfa, 0xbd, 0x24, 0x88, - 0xd5, 0xb0, 0xce, 0xdf, 0x01, 0x73, 0x81, 0xbf, 0x63, 0x72, 0xc1, 0x2b, 0x08, 0x6e, 0xab, 0x62, - 0xfe, 0x30, 0x0b, 0x2f, 0x1d, 0x08, 0x16, 0xc2, 0xab, 0xea, 0x99, 0xb0, 0x7b, 0xc8, 0x48, 0x3c, - 0x77, 0x04, 0x23, 0xef, 0x98, 0xcb, 0x60, 0x8a, 0xee, 0x8c, 0x4b, 0x61, 0x27, 0x22, 0x17, 0x33, - 0xd1, 0x72, 0xcf, 0xff, 0x36, 0x48, 0xf9, 0x16, 0xaf, 0x11, 0xf6, 0xae, 0x5e, 0x7c, 0x65, 0xbc, - 0xde, 0x8b, 0xfb, 0x2e, 0x48, 0xb8, 0xc4, 0xb4, 0x12, 0x76, 0x61, 0x2a, 0xf1, 0xf4, 0x48, 0x95, - 0x17, 0xe8, 0x2e, 0x48, 0xf9, 0xa6, 0x7f, 0x44, 0x82, 0xc3, 0xfa, 0xa8, 0x04, 0xa3, 0xa6, 0xad, - 0xb4, 0xb8, 0x17, 0x9e, 0xb6, 0xfc, 0x67, 0x60, 0x2e, 0x30, 0x69, 0x23, 0x5a, 0xc2, 0x6f, 0x11, - 0xd5, 0x12, 0xd1, 0xd3, 0x30, 0xe2, 0xc8, 0x8d, 0x12, 0xff, 0x35, 0x07, 0x56, 0xc7, 0x0e, 0x19, - 0x79, 0x54, 0xcb, 0x45, 0xdb, 0x8b, 0x17, 0x9f, 0xcf, 0xde, 0xcb, 0xee, 0xf8, 0x5e, 0xbf, 0x90, - 0xca, 0x0d, 0x3d, 0x14, 0xfe, 0x73, 0xb0, 0x18, 0xc5, 0x84, 0x2f, 0x8f, 0x42, 0xd8, 0x67, 0x26, - 0x16, 0x8e, 0x64, 0x36, 0xe6, 0xf8, 0x3b, 0x20, 0xe9, 0xf1, 0x91, 0x18, 0x55, 0x94, 0xa3, 0x13, - 0xa5, 0xd1, 0xba, 0xd1, 0xd1, 0xc5, 0xe9, 0x2f, 0xc8, 0x14, 0xad, 0x6e, 0x3c, 0x78, 0x9a, 0xe1, - 0x1e, 0x3e, 0xcd, 0x70, 0xbf, 0x3f, 0xcd, 0x70, 0xf7, 0x9f, 0x65, 0x26, 0x1e, 0x3e, 0xcb, 0x4c, - 0xfc, 0xf6, 0x2c, 0x33, 0xf1, 0xf1, 0x49, 0x27, 0x2a, 0xd6, 0xee, 0xca, 0x06, 0x62, 0x0b, 0x1d, - 0x9d, 0xca, 0xc5, 0x6e, 0x79, 0x2b, 0x4e, 0x29, 0xed, 0xfc, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0x41, 0x4c, 0x36, 0xd9, 0x09, 0x12, 0x00, 0x00, + 0xae, 0xbd, 0xbb, 0x76, 0xd2, 0x22, 0x21, 0x2e, 0xad, 0xf7, 0x7d, 0xcd, 0x7b, 0xbf, 0x79, 0xf3, + 0x7b, 0x2f, 0x60, 0xa9, 0x81, 0xb0, 0x89, 0x70, 0x51, 0x47, 0xdd, 0x62, 0xb7, 0x5c, 0xb4, 0x77, + 0x64, 0xab, 0x8d, 0x6c, 0xc4, 0x1f, 0x73, 0xe4, 0xb2, 0x8e, 0xba, 0x72, 0xb7, 0x2c, 0x66, 0x98, + 0xd9, 0x96, 0x8a, 0x61, 0xb1, 0x5b, 0xde, 0x82, 0xb6, 0x5a, 0x2e, 0x36, 0x90, 0xd1, 0x72, 0xcc, + 0xc5, 0xe5, 0xe1, 0x30, 0xc4, 0xcb, 0x51, 0xa4, 0x75, 0xa4, 0x23, 0xfa, 0xb3, 0x48, 0x7e, 0x31, + 0xe9, 0x8a, 0x63, 0x5e, 0x77, 0x14, 0xec, 0x28, 0xa6, 0xd2, 0x11, 0xd2, 0x9b, 0xb0, 0x48, 0xbf, + 0xb6, 0x3a, 0x9f, 0x16, 0xd5, 0x56, 0x2f, 0x70, 0x88, 0x89, 0x75, 0x72, 0x88, 0x89, 0x75, 0xa6, + 0x58, 0x50, 0x4d, 0xa3, 0x85, 0x8a, 0xf4, 0x5f, 0x26, 0xca, 0x06, 0xc3, 0xd8, 0x86, 0x09, 0xb1, + 0xad, 0x9a, 0x96, 0x63, 0x20, 0xfd, 0x38, 0x05, 0x16, 0x6a, 0x58, 0xbf, 0xd1, 0xd9, 0x32, 0x0d, + 0xfb, 0x7a, 0x1b, 0x59, 0x08, 0xab, 0x4d, 0xbe, 0x04, 0x92, 0x26, 0xc4, 0x58, 0xd5, 0x21, 0x16, + 0xb8, 0x5c, 0x2c, 0x3f, 0xbb, 0x9e, 0x96, 0x9d, 0x48, 0xb2, 0x1b, 0x49, 0xbe, 0xd2, 0xea, 0x29, + 0x9e, 0x15, 0x7f, 0x8f, 0x03, 0xf3, 0x46, 0xcb, 0xb0, 0x0d, 0xb5, 0x59, 0xd7, 0xa0, 0x85, 0xb0, + 0x61, 0x0b, 0x93, 0xd4, 0x73, 0x45, 0x66, 0x85, 0x11, 0xd0, 0x64, 0x06, 0x9a, 0xbc, 0x89, 0x8c, + 0x56, 0xf5, 0x9d, 0x07, 0x8f, 0xb3, 0x13, 0x3f, 0x3c, 0xc9, 0xe6, 0x75, 0xc3, 0xde, 0xee, 0x6c, + 0xc9, 0x0d, 0x64, 0x32, 0x14, 0xd8, 0x7f, 0x05, 0xac, 0xdd, 0x2d, 0xda, 0x3d, 0x0b, 0x62, 0xea, + 0x80, 0xbf, 0x39, 0xd8, 0x5d, 0x4b, 0x35, 0xa1, 0xae, 0x36, 0x7a, 0x75, 0x02, 0x3b, 0xfe, 0xee, + 0x60, 0x77, 0x8d, 0x53, 0xe6, 0xd8, 0xc9, 0x6f, 0x3b, 0x07, 0xf3, 0x17, 0x40, 0xd2, 0xa2, 0xa5, + 0xc0, 0xb6, 0x10, 0xcb, 0x71, 0xf9, 0x99, 0xaa, 0xb0, 0xdf, 0x2f, 0xa4, 0x59, 0x1e, 0x57, 0x34, + 0xad, 0x0d, 0x31, 0xbe, 0x61, 0xb7, 0x8d, 0x96, 0xae, 0x78, 0x96, 0xbc, 0x48, 0x8a, 0xb6, 0x55, + 0x4d, 0xb5, 0x55, 0x61, 0x8a, 0x78, 0x29, 0xde, 0x37, 0xff, 0x2a, 0x98, 0xb6, 0x0d, 0xbb, 0x09, + 0x85, 0x69, 0x1a, 0x6e, 0xf1, 0x51, 0xbf, 0x30, 0xef, 0xa7, 0x98, 0x2b, 0xc9, 0x17, 0x5e, 0x57, + 0x1c, 0x0b, 0xbe, 0x00, 0x12, 0xb8, 0x63, 0x9a, 0x6a, 0xbb, 0x27, 0xc4, 0x47, 0x1b, 0xbb, 0x36, + 0xfc, 0x79, 0x30, 0x03, 0x77, 0x2c, 0xa8, 0x19, 0x36, 0xd4, 0x84, 0x44, 0x8e, 0xcb, 0x27, 0xab, + 0x27, 0x42, 0x0e, 0x1b, 0x25, 0x81, 0x53, 0x7c, 0x3b, 0x5e, 0x01, 0xc7, 0x2c, 0x76, 0x57, 0x75, + 0x02, 0x8f, 0x90, 0xcc, 0x71, 0xf9, 0xb9, 0xf5, 0x93, 0xf2, 0x50, 0xbb, 0xca, 0xee, 0x7d, 0xde, + 0xec, 0x59, 0xb0, 0x7a, 0xfc, 0x51, 0xbf, 0x90, 0xda, 0x21, 0x3d, 0x99, 0xeb, 0x96, 0xe4, 0x75, + 0xb9, 0xa4, 0xa4, 0xac, 0x01, 0x7d, 0xa5, 0xfc, 0xe5, 0xc1, 0xee, 0x9a, 0x87, 0xc6, 0xbd, 0x83, + 0xdd, 0xb5, 0xec, 0xc0, 0x25, 0x74, 0xcb, 0xc5, 0x50, 0x9b, 0x48, 0x97, 0xc0, 0x4a, 0x48, 0xa8, + 0x40, 0x6c, 0xa1, 0x16, 0x86, 0x7c, 0x16, 0xcc, 0x7a, 0x39, 0x1a, 0x9a, 0xc0, 0xe5, 0xb8, 0xfc, + 0x94, 0x02, 0x5c, 0xd1, 0x35, 0x4d, 0xfa, 0x89, 0x03, 0xe9, 0x1a, 0xd6, 0xaf, 0xee, 0xc0, 0xc6, + 0xfb, 0xf4, 0x4a, 0x37, 0x51, 0xcb, 0x86, 0x2d, 0x9b, 0xff, 0x00, 0x24, 0x1a, 0xce, 0x4f, 0xea, + 0x35, 0xa2, 0xf9, 0xaa, 0x99, 0xbd, 0x7e, 0x41, 0x1c, 0x2a, 0xd8, 0x6d, 0x2d, 0xea, 0xab, 0xb8, + 0x41, 0xf8, 0x55, 0x30, 0xa3, 0x76, 0xec, 0x6d, 0xd4, 0x36, 0xec, 0x9e, 0x30, 0x49, 0x6f, 0xd6, + 0x17, 0x54, 0x36, 0x48, 0xdd, 0xfe, 0x37, 0x29, 0x5c, 0x0a, 0x15, 0x1e, 0x4a, 0x52, 0xca, 0x80, + 0xd5, 0x28, 0xb9, 0x5b, 0xbe, 0xf4, 0x07, 0x07, 0x12, 0x35, 0xac, 0xdf, 0x46, 0x36, 0xe4, 0x37, + 0x22, 0xa0, 0xa8, 0xa6, 0xff, 0x7a, 0x9c, 0x1d, 0x14, 0x3b, 0xad, 0x3c, 0x00, 0x10, 0x2f, 0x83, + 0xe9, 0x2e, 0xb2, 0x61, 0xdb, 0xc9, 0x79, 0x4c, 0x0f, 0x3b, 0x66, 0x7c, 0x19, 0xc4, 0x91, 0x65, + 0x1b, 0xa8, 0x45, 0x9b, 0x7e, 0xce, 0x7f, 0x79, 0xac, 0x1d, 0x48, 0x2e, 0x1f, 0x52, 0x03, 0x85, + 0x19, 0x8e, 0xeb, 0xf9, 0xca, 0x4b, 0x04, 0x18, 0x27, 0x34, 0x01, 0xe5, 0x44, 0x08, 0x14, 0x12, + 0x4f, 0x5a, 0x00, 0xf3, 0xec, 0xa7, 0x57, 0xfa, 0xdf, 0x9c, 0x27, 0xfb, 0x08, 0x1a, 0xfa, 0x36, + 0xe9, 0xd8, 0xff, 0x08, 0x82, 0xb7, 0x40, 0xc2, 0xa9, 0x0c, 0x0b, 0x31, 0xca, 0x3e, 0xa7, 0x03, + 0x18, 0xb8, 0x09, 0x0d, 0x60, 0xe1, 0x7a, 0x8c, 0x05, 0xe3, 0xb5, 0x61, 0x30, 0x4e, 0x45, 0x82, + 0xe1, 0x06, 0x97, 0x56, 0xc0, 0x72, 0x40, 0xe4, 0x81, 0xf3, 0x27, 0x07, 0x40, 0x0d, 0xeb, 0x2e, + 0x55, 0xbd, 0x20, 0x2e, 0x17, 0xc1, 0x0c, 0x63, 0x59, 0x74, 0x38, 0x36, 0xbe, 0x29, 0x7f, 0x09, + 0xc4, 0x55, 0x13, 0x75, 0x5a, 0x36, 0x83, 0x67, 0x0c, 0x39, 0xcf, 0x10, 0x72, 0x76, 0x4e, 0x66, + 0x3e, 0x95, 0x73, 0xf4, 0xa9, 0x78, 0xd1, 0x08, 0x10, 0x42, 0x08, 0x08, 0x56, 0x99, 0x94, 0x06, + 0xbc, 0xff, 0xe5, 0x95, 0xff, 0x8b, 0xd3, 0x1b, 0xb7, 0x2c, 0x4d, 0xb5, 0xe1, 0x75, 0xb5, 0xad, + 0x9a, 0x98, 0x14, 0xe3, 0xbf, 0x4f, 0xee, 0xb0, 0x62, 0x3c, 0x53, 0xfe, 0x0d, 0x10, 0xb7, 0x68, + 0x04, 0x8a, 0xc0, 0xec, 0xfa, 0x89, 0x20, 0xfd, 0x51, 0xe5, 0x50, 0x21, 0x8e, 0x7d, 0xe5, 0xda, + 0x7e, 0x98, 0x92, 0xc3, 0x34, 0x70, 0x66, 0xa0, 0xb6, 0x1d, 0x77, 0xa6, 0x07, 0x92, 0x97, 0x64, + 0x7a, 0xd5, 0x83, 0x22, 0xb7, 0xd6, 0xca, 0x62, 0xc4, 0x29, 0xd2, 0xb7, 0x1c, 0x1d, 0xb8, 0x9b, + 0x6a, 0xab, 0x01, 0x9b, 0x03, 0x03, 0x37, 0xa2, 0x0d, 0xe6, 0x03, 0x6d, 0x30, 0xd4, 0x01, 0x83, + 0x33, 0x6e, 0xf2, 0xa8, 0x33, 0xae, 0x92, 0xdb, 0x0f, 0x8f, 0x96, 0x21, 0xde, 0x97, 0x7e, 0xe5, + 0x28, 0xa9, 0x0f, 0xe7, 0xe7, 0x91, 0xfa, 0xf3, 0xe7, 0x79, 0x0d, 0x1c, 0x6b, 0xd0, 0x58, 0x50, + 0xab, 0x93, 0xe5, 0x83, 0xdd, 0x95, 0x18, 0xa2, 0xf4, 0x9b, 0xee, 0x66, 0x52, 0x4d, 0x92, 0x0b, + 0xbb, 0xff, 0x24, 0xcb, 0x29, 0x29, 0xd7, 0x95, 0x28, 0xf9, 0xb3, 0x60, 0xde, 0x0b, 0xb5, 0x4d, + 0xdf, 0x15, 0x25, 0xba, 0x29, 0x65, 0xce, 0x15, 0xbf, 0x47, 0xa5, 0x11, 0xc0, 0x6f, 0x94, 0xa4, + 0xaf, 0x62, 0x20, 0xeb, 0x4d, 0xab, 0x5a, 0xa7, 0x69, 0x1b, 0x56, 0x13, 0x6e, 0x6e, 0x23, 0xa3, + 0x01, 0xbd, 0x6b, 0x88, 0xda, 0x62, 0xb8, 0xff, 0xc3, 0x16, 0x33, 0xf9, 0x42, 0x5b, 0x4c, 0x2c, + 0xb0, 0xc5, 0xa4, 0xdd, 0x2d, 0xc6, 0x61, 0x37, 0xb6, 0xb0, 0x08, 0xfe, 0xc2, 0x42, 0xb7, 0x1b, + 0x7f, 0x37, 0xb9, 0x0a, 0x52, 0x84, 0xf1, 0xea, 0x2e, 0xa5, 0xc6, 0xe9, 0xd5, 0x49, 0x23, 0xb6, + 0x0c, 0x9f, 0x52, 0xb1, 0x32, 0xdb, 0xf5, 0x3f, 0x2a, 0xab, 0xfb, 0xfd, 0xc2, 0xac, 0xb3, 0x79, + 0x94, 0xe5, 0x92, 0x1c, 0x68, 0xb8, 0x4f, 0xc0, 0xd9, 0x43, 0xae, 0xe5, 0xc8, 0x2b, 0x45, 0x65, + 0x3e, 0x70, 0x92, 0xf4, 0x33, 0x07, 0x96, 0xbc, 0xe7, 0x59, 0x73, 0x96, 0xd5, 0x7f, 0xc9, 0x3a, + 0xcb, 0x20, 0x61, 0x62, 0xbd, 0xde, 0x69, 0x37, 0xd9, 0x2e, 0x11, 0x37, 0xb1, 0x7e, 0xab, 0xdd, + 0xe4, 0xdf, 0xf4, 0xe8, 0x28, 0x46, 0x71, 0x0a, 0x8e, 0x1e, 0x76, 0x7c, 0x55, 0xc5, 0x50, 0x63, + 0x4c, 0xe1, 0xf2, 0xd1, 0xa9, 0x08, 0x84, 0xfc, 0x23, 0xa5, 0x32, 0xc8, 0x44, 0x17, 0xe1, 0x51, + 0x4d, 0xa8, 0xf0, 0xef, 0x39, 0x30, 0x4b, 0x61, 0xd5, 0x10, 0xd9, 0x51, 0x5e, 0xb8, 0xda, 0x4d, + 0x10, 0x33, 0xb1, 0xce, 0x1e, 0x6d, 0xf4, 0x1e, 0x76, 0x72, 0xaf, 0x5f, 0x58, 0x8e, 0x7a, 0x1d, + 0x35, 0xac, 0x2b, 0xc4, 0xfb, 0xb0, 0xf2, 0x2e, 0x83, 0xc5, 0x81, 0x54, 0xbd, 0xdb, 0x5e, 0x02, + 0xf1, 0x36, 0xc4, 0x9d, 0xa6, 0xb3, 0x05, 0xa6, 0x14, 0xf6, 0x15, 0xaa, 0x75, 0xfd, 0x5e, 0x12, + 0xc4, 0x6a, 0x58, 0xe7, 0xef, 0x80, 0xb9, 0xc0, 0xdf, 0x31, 0xb9, 0xe0, 0x15, 0x04, 0xb7, 0x55, + 0x31, 0x7f, 0x98, 0x85, 0x97, 0x0e, 0x04, 0x0b, 0xe1, 0x55, 0xf5, 0x4c, 0xd8, 0x3d, 0x64, 0x24, + 0x9e, 0x3b, 0x82, 0x91, 0x77, 0xcc, 0x65, 0x30, 0x45, 0x77, 0xc6, 0xa5, 0xb0, 0x13, 0x91, 0x8b, + 0x99, 0x68, 0xb9, 0xe7, 0x7f, 0x1b, 0xa4, 0x86, 0x16, 0xaf, 0x11, 0xf6, 0xae, 0x5e, 0x7c, 0x65, + 0xbc, 0xde, 0x8b, 0xfb, 0x2e, 0x48, 0xb8, 0xc4, 0xb4, 0x12, 0x76, 0x61, 0x2a, 0xf1, 0xf4, 0x48, + 0x95, 0x17, 0xe8, 0x2e, 0x48, 0x0d, 0x4d, 0xff, 0x88, 0x04, 0x07, 0xf5, 0x51, 0x09, 0x46, 0x4d, + 0x5b, 0x69, 0x71, 0x2f, 0x3c, 0x6d, 0xf9, 0xcf, 0xc0, 0x5c, 0x60, 0xd2, 0x46, 0xb4, 0xc4, 0xb0, + 0x45, 0x54, 0x4b, 0x44, 0x4f, 0xc3, 0x88, 0x23, 0x37, 0x4a, 0xfc, 0xd7, 0x1c, 0x58, 0x1d, 0x3b, + 0x64, 0xe4, 0x51, 0x2d, 0x17, 0x6d, 0x2f, 0x5e, 0x7c, 0x3e, 0x7b, 0x2f, 0xbb, 0xe3, 0x7b, 0xfd, + 0x42, 0x2a, 0x37, 0xf0, 0x50, 0xf8, 0xcf, 0xc1, 0x62, 0x14, 0x13, 0xbe, 0x3c, 0x0a, 0xe1, 0x21, + 0x33, 0xb1, 0x70, 0x24, 0xb3, 0x31, 0xc7, 0xdf, 0x01, 0x49, 0x8f, 0x8f, 0xc4, 0xa8, 0xa2, 0x1c, + 0x9d, 0x28, 0x8d, 0xd6, 0x8d, 0x8e, 0x2e, 0x4e, 0x7f, 0x41, 0xa6, 0x68, 0x75, 0xe3, 0xc1, 0xd3, + 0x0c, 0xf7, 0xf0, 0x69, 0x86, 0xfb, 0xfd, 0x69, 0x86, 0xbb, 0xff, 0x2c, 0x33, 0xf1, 0xf0, 0x59, + 0x66, 0xe2, 0xb7, 0x67, 0x99, 0x89, 0x8f, 0x4f, 0x3a, 0x51, 0xb1, 0x76, 0x57, 0x36, 0x10, 0x5b, + 0xe8, 0xe8, 0x54, 0x2e, 0x76, 0xcb, 0x5b, 0x71, 0x4a, 0x69, 0xe7, 0xff, 0x09, 0x00, 0x00, 0xff, + 0xff, 0x7b, 0xac, 0x54, 0xba, 0x09, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From e5e9b0e64591a9fcecb1581fcff97b5a254aa2e0 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 11 Jun 2024 04:30:50 -0400 Subject: [PATCH 30/41] docs: ADR 073: update to accepted and add to README.md (#20619) --- docs/architecture/README.md | 1 + docs/architecture/adr-073-indexer.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 035184c8764d..4c6d342b628d 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -62,6 +62,7 @@ When writing ADRs, follow the same best practices for writing RFCs. When writing * [ADR 061: Liquid Staking](./adr-061-liquid-staking.md) * [ADR 070: Un-Ordered Transaction Inclusion](./adr-070-unordered-transactions.md) * [ADR 065: Store v2](./adr-065-store-v2.md) +* [ADR 073: Built-in In-process Indexer](./adr-073-indexer.md) ### Proposed diff --git a/docs/architecture/adr-073-indexer.md b/docs/architecture/adr-073-indexer.md index 5be91d358c8b..c751c9b24ac4 100644 --- a/docs/architecture/adr-073-indexer.md +++ b/docs/architecture/adr-073-indexer.md @@ -6,7 +6,7 @@ ## Status -PROPOSED Not Implemented +Accepted Not Implemented ## Abstract From 9e1d28e2a60b51df9f0c6b91d8c6c553339c3f6a Mon Sep 17 00:00:00 2001 From: Mark Rushakoff Date: Tue, 11 Jun 2024 04:31:06 -0400 Subject: [PATCH 31/41] chore: write gentx info to cmd.ErrOrStderr (#20616) --- CHANGELOG.md | 1 + x/genutil/client/cli/collect.go | 2 +- x/genutil/client/cli/init.go | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21784defaa04..e5d1ce7be6b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -186,6 +186,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (server) [#20140](https://github.com/cosmos/cosmos-sdk/pull/20140) Remove embedded grpc-web proxy in favor of standalone grpc-web proxy. [Envoy Proxy](https://www.envoyproxy.io/docs/envoy/latest/start/start) * (client) [#20255](https://github.com/cosmos/cosmos-sdk/pull/20255) Use comet proofOp proto type instead of sdk version to avoid needing to translate to later be proven in the merkle proof runtime. * (all) [#19726](https://github.com/cosmos/cosmos-sdk/pull/19726) Integrate comet v1 +* (client) [#20616](https://github.com/cosmos/cosmos-sdk/pull/20616) gentx subcommand output goes to `cmd.ErrOrStderr()` instead of being hardcoded to `os.Stderr` ### Client Breaking Changes diff --git a/x/genutil/client/cli/collect.go b/x/genutil/client/cli/collect.go index 3b0354c1073b..f8e59533f10c 100644 --- a/x/genutil/client/cli/collect.go +++ b/x/genutil/client/cli/collect.go @@ -52,7 +52,7 @@ func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, validator ty toPrint.AppMessage = appMessage - return displayInfo(toPrint) + return displayInfo(cmd.ErrOrStderr(), toPrint) }, } diff --git a/x/genutil/client/cli/init.go b/x/genutil/client/cli/init.go index 920dfcec260f..db9491df5997 100644 --- a/x/genutil/client/cli/init.go +++ b/x/genutil/client/cli/init.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "fmt" + "io" "os" "path/filepath" @@ -58,13 +59,13 @@ func newPrintInfo(moniker, chainID, nodeID, genTxsDir string, appMessage json.Ra } } -func displayInfo(info printInfo) error { +func displayInfo(dst io.Writer, info printInfo) error { out, err := json.MarshalIndent(info, "", " ") if err != nil { return err } - _, err = fmt.Fprintf(os.Stderr, "%s\n", out) + _, err = fmt.Fprintf(dst, "%s\n", out) return err } @@ -175,7 +176,7 @@ func InitCmd(mm *module.Manager) *cobra.Command { toPrint := newPrintInfo(config.Moniker, chainID, nodeID, "", appState) cfg.WriteConfigFile(filepath.Join(config.RootDir, "config", "config.toml"), config) - return displayInfo(toPrint) + return displayInfo(cmd.ErrOrStderr(), toPrint) }, } From 28fa3b8dfcb3208d3b1cfbae08eda519e4cc1560 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 11 Jun 2024 10:46:04 +0200 Subject: [PATCH 32/41] chore: use comet api pkg instead of comet alias (#20614) --- baseapp/abci.go | 6 ++-- baseapp/abci_test.go | 2 +- baseapp/abci_utils.go | 2 +- baseapp/abci_utils_test.go | 2 +- baseapp/baseapp.go | 2 +- baseapp/baseapp_test.go | 2 +- baseapp/grpcrouter.go | 2 +- baseapp/grpcrouter_helpers.go | 2 +- baseapp/msg_service_router.go | 2 +- baseapp/msg_service_router_test.go | 2 +- baseapp/oe/optimistic_execution.go | 2 +- baseapp/oe/optimistic_execution_test.go | 2 +- baseapp/snapshot_test.go | 2 +- baseapp/streaming_test.go | 2 +- client/grpc/cmtservice/service.go | 2 +- client/grpc/cmtservice/types.go | 2 +- client/grpc_query.go | 2 +- client/query.go | 2 +- client/rpc/rpc_test.go | 2 +- core/context/context.go | 2 -- docs/learn/advanced/03-node.md | 2 +- orm/encoding/ormfield/duration.go | 12 +++---- orm/encoding/ormfield/timestamp.go | 12 +++---- runtime/app.go | 2 +- runtime/types.go | 2 +- server/cmt_abci.go | 29 ++++++++--------- server/mock/app.go | 2 +- server/mock/app_test.go | 2 +- server/types/abci.go | 2 +- server/v2/cometbft/abci.go | 31 ++++++++++--------- .../client/grpc/cmtservice/service.go | 2 +- .../cometbft/client/grpc/cmtservice/types.go | 2 +- server/v2/cometbft/handlers/defaults.go | 2 +- server/v2/cometbft/handlers/handlers.go | 2 +- server/v2/cometbft/query.go | 2 +- server/v2/cometbft/snapshots.go | 2 +- server/v2/cometbft/types/peer.go | 2 +- server/v2/cometbft/types/vote.go | 2 +- server/v2/cometbft/utils.go | 2 +- simapp/abci.go | 2 +- simapp/app.go | 2 +- simapp/app_test.go | 2 +- simapp/sim_test.go | 2 +- simapp/test_helpers.go | 2 +- store/internal/maps/maps.go | 10 +++--- store/snapshots/types/convert.go | 2 +- store/streaming/abci/examples/file/file.go | 2 +- .../streaming/abci/examples/stdout/stdout.go | 2 +- store/streaming/abci/grpc.go | 2 +- store/streaming/streaming_test.go | 2 +- store/types/streaming.go | 2 +- tests/e2e/auth/suite.go | 2 +- tests/e2e/baseapp/block_gas_test.go | 2 +- tests/e2e/genutil/export_test.go | 2 +- .../integration/auth/client/cli/suite_test.go | 2 +- tests/integration/bank/app_test.go | 2 +- tests/integration/bank/bench_test.go | 2 +- tests/integration/distribution/cli_tx_test.go | 2 +- .../evidence/keeper/infraction_test.go | 2 +- tests/integration/gov/genesis_test.go | 2 +- .../staking/keeper/vote_extensions_test.go | 2 +- .../staking/simulation/operations_test.go | 2 +- .../store/rootmulti/rollback_test.go | 2 +- tests/sims/slashing/operations_test.go | 2 +- testutil/cli/cmt_mocks.go | 2 +- testutil/integration/router.go | 2 +- testutil/sims/app_helpers.go | 2 +- testutil/sims/tx_helpers.go | 2 +- types/abci.go | 2 +- types/context.go | 2 +- types/context_test.go | 2 +- types/errors/abci.go | 2 +- types/events.go | 2 +- types/events_test.go | 2 +- types/module/module.go | 2 +- types/module/module_test.go | 2 +- types/result_test.go | 2 +- x/auth/ante/testutil_test.go | 2 +- x/auth/go.mod | 2 +- x/authz/client/cli/tx_test.go | 2 +- x/authz/go.mod | 2 +- x/feegrant/client/cli/tx_test.go | 2 +- x/feegrant/go.mod | 2 +- x/group/client/cli/tx_test.go | 2 +- x/group/go.mod | 2 +- x/group/keeper/msg_server_test.go | 2 +- 86 files changed, 130 insertions(+), 130 deletions(-) diff --git a/baseapp/abci.go b/baseapp/abci.go index dea6a59814c0..30e47214b3dc 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -8,7 +8,8 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" + abcitypes "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/cosmos/gogoproto/proto" "google.golang.org/grpc/codes" @@ -116,8 +117,7 @@ func (app *BaseApp) InitChain(req *abci.InitChainRequest) (*abci.InitChainRespon ) } - sort.Sort(abci.ValidatorUpdates(req.Validators)) - sort.Sort(abci.ValidatorUpdates(res.Validators)) + sort.Sort(abcitypes.ValidatorUpdates(req.Validators)) for i := range res.Validators { if !proto.Equal(&res.Validators[i], &req.Validators[i]) { diff --git a/baseapp/abci_test.go b/baseapp/abci_test.go index 321a9037a71e..7e08aabfba05 100644 --- a/baseapp/abci_test.go +++ b/baseapp/abci_test.go @@ -14,7 +14,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtprotocrypto "github.com/cometbft/cometbft/api/cometbft/crypto/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/cometbft/cometbft/crypto/secp256k1" diff --git a/baseapp/abci_utils.go b/baseapp/abci_utils.go index 7c9aac3202a1..3372bf9e39d8 100644 --- a/baseapp/abci_utils.go +++ b/baseapp/abci_utils.go @@ -7,7 +7,7 @@ import ( "fmt" "slices" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" cryptoenc "github.com/cometbft/cometbft/crypto/encoding" cmttypes "github.com/cometbft/cometbft/types" diff --git a/baseapp/abci_utils_test.go b/baseapp/abci_utils_test.go index 7f23e924a32b..25d4c4073c89 100644 --- a/baseapp/abci_utils_test.go +++ b/baseapp/abci_utils_test.go @@ -5,7 +5,7 @@ import ( "sort" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtprotocrypto "github.com/cometbft/cometbft/api/cometbft/crypto/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" cmtsecp256k1 "github.com/cometbft/cometbft/crypto/secp256k1" diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 164c215d9545..31011bcccba5 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -9,7 +9,7 @@ import ( "strconv" "sync" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/cometbft/cometbft/crypto/tmhash" dbm "github.com/cosmos/cosmos-db" diff --git a/baseapp/baseapp_test.go b/baseapp/baseapp_test.go index 7afefa4d8456..95e4df2b2538 100644 --- a/baseapp/baseapp_test.go +++ b/baseapp/baseapp_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" dbm "github.com/cosmos/cosmos-db" "github.com/stretchr/testify/require" diff --git a/baseapp/grpcrouter.go b/baseapp/grpcrouter.go index fa766462f2ef..d555560955b4 100644 --- a/baseapp/grpcrouter.go +++ b/baseapp/grpcrouter.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "google.golang.org/grpc" "google.golang.org/grpc/encoding" diff --git a/baseapp/grpcrouter_helpers.go b/baseapp/grpcrouter_helpers.go index 74f5eff9122a..e629be06cb63 100644 --- a/baseapp/grpcrouter_helpers.go +++ b/baseapp/grpcrouter_helpers.go @@ -4,7 +4,7 @@ import ( gocontext "context" "fmt" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "google.golang.org/grpc" diff --git a/baseapp/msg_service_router.go b/baseapp/msg_service_router.go index f4f8d86f22f0..867809152f57 100644 --- a/baseapp/msg_service_router.go +++ b/baseapp/msg_service_router.go @@ -5,7 +5,7 @@ import ( "fmt" "reflect" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "github.com/cosmos/gogoproto/proto" "google.golang.org/grpc" diff --git a/baseapp/msg_service_router_test.go b/baseapp/msg_service_router_test.go index 2074eb72af3f..85b233c71d97 100644 --- a/baseapp/msg_service_router_test.go +++ b/baseapp/msg_service_router_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" dbm "github.com/cosmos/cosmos-db" "github.com/stretchr/testify/require" diff --git a/baseapp/oe/optimistic_execution.go b/baseapp/oe/optimistic_execution.go index 3fe6f9dbf949..e5820aa0022e 100644 --- a/baseapp/oe/optimistic_execution.go +++ b/baseapp/oe/optimistic_execution.go @@ -8,7 +8,7 @@ import ( "sync" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "cosmossdk.io/core/log" ) diff --git a/baseapp/oe/optimistic_execution_test.go b/baseapp/oe/optimistic_execution_test.go index e24041b61ea2..726e971e4d84 100644 --- a/baseapp/oe/optimistic_execution_test.go +++ b/baseapp/oe/optimistic_execution_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/assert" "cosmossdk.io/core/log" diff --git a/baseapp/snapshot_test.go b/baseapp/snapshot_test.go index 7c7792e85559..e6e6f1e5bd7d 100644 --- a/baseapp/snapshot_test.go +++ b/baseapp/snapshot_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" pruningtypes "cosmossdk.io/store/pruning/types" diff --git a/baseapp/streaming_test.go b/baseapp/streaming_test.go index 9c8a41a38135..6276b9988c9d 100644 --- a/baseapp/streaming_test.go +++ b/baseapp/streaming_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/stretchr/testify/require" diff --git a/client/grpc/cmtservice/service.go b/client/grpc/cmtservice/service.go index 55a89b4b30d7..ad307984c0e5 100644 --- a/client/grpc/cmtservice/service.go +++ b/client/grpc/cmtservice/service.go @@ -3,7 +3,7 @@ package cmtservice import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "github.com/grpc-ecosystem/grpc-gateway/runtime" "google.golang.org/grpc/codes" diff --git a/client/grpc/cmtservice/types.go b/client/grpc/cmtservice/types.go index b49a1e62b1bb..a4aef0287848 100644 --- a/client/grpc/cmtservice/types.go +++ b/client/grpc/cmtservice/types.go @@ -1,7 +1,7 @@ package cmtservice import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // ToABCIRequestQuery converts a gRPC ABCIQueryRequest type to an ABCI diff --git a/client/grpc_query.go b/client/grpc_query.go index fc3a5325c6f2..45f60e48d2de 100644 --- a/client/grpc_query.go +++ b/client/grpc_query.go @@ -6,7 +6,7 @@ import ( "reflect" "strconv" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "google.golang.org/grpc" "google.golang.org/grpc/encoding" diff --git a/client/query.go b/client/query.go index a90f80e79fa4..35cb3f0f7e78 100644 --- a/client/query.go +++ b/client/query.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclient "github.com/cometbft/cometbft/rpc/client" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/client/rpc/rpc_test.go b/client/rpc/rpc_test.go index 47da209af499..0c360b837a9a 100644 --- a/client/rpc/rpc_test.go +++ b/client/rpc/rpc_test.go @@ -5,7 +5,7 @@ import ( "strconv" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/suite" "google.golang.org/grpc" "google.golang.org/grpc/metadata" diff --git a/core/context/context.go b/core/context/context.go index b330cb48b22f..6803bd7eb44b 100644 --- a/core/context/context.go +++ b/core/context/context.go @@ -1,7 +1,5 @@ package context -type contextKey uint8 - type ( execModeKey struct{} cometInfoKey struct{} diff --git a/docs/learn/advanced/03-node.md b/docs/learn/advanced/03-node.md index b4a4236a0e0d..e1330e503644 100644 --- a/docs/learn/advanced/03-node.md +++ b/docs/learn/advanced/03-node.md @@ -81,7 +81,7 @@ Then, the instance of `app` is used to instantiate a new CometBFT node: https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/server/start.go#L341-L378 ``` -The CometBFT node can be created with `app` because the latter satisfies the [`abci.Application` interface](https://pkg.go.dev/github.com/cometbft/cometbft/abci/types#Application) (given that `app` extends [`baseapp`](./00-baseapp.md)). As part of the `node.New` method, CometBFT makes sure that the height of the application (i.e. number of blocks since genesis) is equal to the height of the CometBFT node. The difference between these two heights should always be negative or null. If it is strictly negative, `node.New` will replay blocks until the height of the application reaches the height of the CometBFT node. Finally, if the height of the application is `0`, the CometBFT node will call [`InitChain`](./00-baseapp.md#initchain) on the application to initialize the state from the genesis file. +The CometBFT node can be created with `app` because the latter satisfies the [`abci.Application` interface](https://pkg.go.dev/github.com/cometbft/cometbft/api/cometbft/abci/v1#Application) (given that `app` extends [`baseapp`](./00-baseapp.md)). As part of the `node.New` method, CometBFT makes sure that the height of the application (i.e. number of blocks since genesis) is equal to the height of the CometBFT node. The difference between these two heights should always be negative or null. If it is strictly negative, `node.New` will replay blocks until the height of the application reaches the height of the CometBFT node. Finally, if the height of the application is `0`, the CometBFT node will call [`InitChain`](./00-baseapp.md#initchain) on the application to initialize the state from the genesis file. Once the CometBFT node is instantiated and in sync with the application, the node can be started: diff --git a/orm/encoding/ormfield/duration.go b/orm/encoding/ormfield/duration.go index 572b6e21e612..7d7f25b5c7e6 100644 --- a/orm/encoding/ormfield/duration.go +++ b/orm/encoding/ormfield/duration.go @@ -16,12 +16,12 @@ const ( // DurationCodec encodes google.protobuf.Duration values with the following // encoding: -// - nil is encoded as []byte{0xFF} -// - seconds (which can range from -315,576,000,000 to +315,576,000,000) is encoded as 5 fixed bytes -// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such -// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, -// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is -// preserved when comparing the encoded values of two Durations: +// - nil is encoded as []byte{0xFF} +// - seconds (which can range from -315,576,000,000 to +315,576,000,000) is encoded as 5 fixed bytes +// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such +// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, +// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is +// preserved when comparing the encoded values of two Durations: // - []byte{0xBB, 0x9A, 0xC9, 0xFF} for zero nanos // - 4 fixed bytes with the bit mask 0x80 applied to the first byte, with negative nanos scaled so that -999,999,999 // is encoded as 0 and -1 is encoded as 999,999,998 diff --git a/orm/encoding/ormfield/timestamp.go b/orm/encoding/ormfield/timestamp.go index 4788f390848a..d643a1c1d026 100644 --- a/orm/encoding/ormfield/timestamp.go +++ b/orm/encoding/ormfield/timestamp.go @@ -9,12 +9,12 @@ import ( // TimestampCodec encodes google.protobuf.Timestamp values with the following // encoding: -// - nil is encoded as []byte{0xFF} -// - seconds (which can range from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z) is encoded as 5 fixed bytes -// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such -// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, -// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is -// preserved when comparing the encoded values of two Timestamps. +// - nil is encoded as []byte{0xFF} +// - seconds (which can range from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z) is encoded as 5 fixed bytes +// - nanos (which can range from 0 to 999,999,999 or -999,999,999 to 0 if seconds is negative) are encoded such +// that 999,999,999 is always added to nanos. This ensures that the encoded nanos are always >= 0. Additionally, +// by adding 999,999,999 to both positive and negative nanos, we guarantee that the lexicographical order is +// preserved when comparing the encoded values of two Timestamps. // // When iterating over timestamp indexes, nil values will always be ordered last. // diff --git a/runtime/app.go b/runtime/app.go index 283727d4bf5e..80bc28340898 100644 --- a/runtime/app.go +++ b/runtime/app.go @@ -5,7 +5,7 @@ import ( "fmt" "slices" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" diff --git a/runtime/types.go b/runtime/types.go index 9ade401eb6b1..50c8884716a7 100644 --- a/runtime/types.go +++ b/runtime/types.go @@ -1,7 +1,7 @@ package runtime import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/server/cmt_abci.go b/server/cmt_abci.go index 865523233d1b..2e2ca9f0a8ca 100644 --- a/server/cmt_abci.go +++ b/server/cmt_abci.go @@ -4,6 +4,7 @@ import ( "context" abci "github.com/cometbft/cometbft/abci/types" + abciproto "github.com/cometbft/cometbft/api/cometbft/abci/v1" servertypes "github.com/cosmos/cosmos-sdk/server/types" ) @@ -16,58 +17,58 @@ func NewCometABCIWrapper(app servertypes.ABCI) abci.Application { return cometABCIWrapper{app: app} } -func (w cometABCIWrapper) Info(_ context.Context, req *abci.InfoRequest) (*abci.InfoResponse, error) { +func (w cometABCIWrapper) Info(_ context.Context, req *abciproto.InfoRequest) (*abciproto.InfoResponse, error) { return w.app.Info(req) } -func (w cometABCIWrapper) Query(ctx context.Context, req *abci.QueryRequest) (*abci.QueryResponse, error) { +func (w cometABCIWrapper) Query(ctx context.Context, req *abciproto.QueryRequest) (*abciproto.QueryResponse, error) { return w.app.Query(ctx, req) } -func (w cometABCIWrapper) CheckTx(_ context.Context, req *abci.CheckTxRequest) (*abci.CheckTxResponse, error) { +func (w cometABCIWrapper) CheckTx(_ context.Context, req *abciproto.CheckTxRequest) (*abciproto.CheckTxResponse, error) { return w.app.CheckTx(req) } -func (w cometABCIWrapper) InitChain(_ context.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error) { +func (w cometABCIWrapper) InitChain(_ context.Context, req *abciproto.InitChainRequest) (*abciproto.InitChainResponse, error) { return w.app.InitChain(req) } -func (w cometABCIWrapper) PrepareProposal(_ context.Context, req *abci.PrepareProposalRequest) (*abci.PrepareProposalResponse, error) { +func (w cometABCIWrapper) PrepareProposal(_ context.Context, req *abciproto.PrepareProposalRequest) (*abciproto.PrepareProposalResponse, error) { return w.app.PrepareProposal(req) } -func (w cometABCIWrapper) ProcessProposal(_ context.Context, req *abci.ProcessProposalRequest) (*abci.ProcessProposalResponse, error) { +func (w cometABCIWrapper) ProcessProposal(_ context.Context, req *abciproto.ProcessProposalRequest) (*abciproto.ProcessProposalResponse, error) { return w.app.ProcessProposal(req) } -func (w cometABCIWrapper) FinalizeBlock(_ context.Context, req *abci.FinalizeBlockRequest) (*abci.FinalizeBlockResponse, error) { +func (w cometABCIWrapper) FinalizeBlock(_ context.Context, req *abciproto.FinalizeBlockRequest) (*abciproto.FinalizeBlockResponse, error) { return w.app.FinalizeBlock(req) } -func (w cometABCIWrapper) ExtendVote(ctx context.Context, req *abci.ExtendVoteRequest) (*abci.ExtendVoteResponse, error) { +func (w cometABCIWrapper) ExtendVote(ctx context.Context, req *abciproto.ExtendVoteRequest) (*abciproto.ExtendVoteResponse, error) { return w.app.ExtendVote(ctx, req) } -func (w cometABCIWrapper) VerifyVoteExtension(_ context.Context, req *abci.VerifyVoteExtensionRequest) (*abci.VerifyVoteExtensionResponse, error) { +func (w cometABCIWrapper) VerifyVoteExtension(_ context.Context, req *abciproto.VerifyVoteExtensionRequest) (*abciproto.VerifyVoteExtensionResponse, error) { return w.app.VerifyVoteExtension(req) } -func (w cometABCIWrapper) Commit(_ context.Context, _ *abci.CommitRequest) (*abci.CommitResponse, error) { +func (w cometABCIWrapper) Commit(_ context.Context, _ *abciproto.CommitRequest) (*abciproto.CommitResponse, error) { return w.app.Commit() } -func (w cometABCIWrapper) ListSnapshots(_ context.Context, req *abci.ListSnapshotsRequest) (*abci.ListSnapshotsResponse, error) { +func (w cometABCIWrapper) ListSnapshots(_ context.Context, req *abciproto.ListSnapshotsRequest) (*abciproto.ListSnapshotsResponse, error) { return w.app.ListSnapshots(req) } -func (w cometABCIWrapper) OfferSnapshot(_ context.Context, req *abci.OfferSnapshotRequest) (*abci.OfferSnapshotResponse, error) { +func (w cometABCIWrapper) OfferSnapshot(_ context.Context, req *abciproto.OfferSnapshotRequest) (*abciproto.OfferSnapshotResponse, error) { return w.app.OfferSnapshot(req) } -func (w cometABCIWrapper) LoadSnapshotChunk(_ context.Context, req *abci.LoadSnapshotChunkRequest) (*abci.LoadSnapshotChunkResponse, error) { +func (w cometABCIWrapper) LoadSnapshotChunk(_ context.Context, req *abciproto.LoadSnapshotChunkRequest) (*abciproto.LoadSnapshotChunkResponse, error) { return w.app.LoadSnapshotChunk(req) } -func (w cometABCIWrapper) ApplySnapshotChunk(_ context.Context, req *abci.ApplySnapshotChunkRequest) (*abci.ApplySnapshotChunkResponse, error) { +func (w cometABCIWrapper) ApplySnapshotChunk(_ context.Context, req *abciproto.ApplySnapshotChunkRequest) (*abciproto.ApplySnapshotChunkResponse, error) { return w.app.ApplySnapshotChunk(req) } diff --git a/server/mock/app.go b/server/mock/app.go index 2b2cb3960e0e..bff962d88d76 100644 --- a/server/mock/app.go +++ b/server/mock/app.go @@ -7,7 +7,7 @@ import ( "fmt" "path/filepath" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" db "github.com/cosmos/cosmos-db" "google.golang.org/grpc" "google.golang.org/protobuf/proto" diff --git a/server/mock/app_test.go b/server/mock/app_test.go index e24d30a67c2c..c749927c0a8d 100644 --- a/server/mock/app_test.go +++ b/server/mock/app_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" "cosmossdk.io/log" diff --git a/server/types/abci.go b/server/types/abci.go index 456375eb2aac..33e73a4938bb 100644 --- a/server/types/abci.go +++ b/server/types/abci.go @@ -3,7 +3,7 @@ package types import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // ABCI is an interface that enables any finite, deterministic state machine diff --git a/server/v2/cometbft/abci.go b/server/v2/cometbft/abci.go index ad68aaa9f183..a14a793a00ac 100644 --- a/server/v2/cometbft/abci.go +++ b/server/v2/cometbft/abci.go @@ -7,6 +7,7 @@ import ( "sync/atomic" abci "github.com/cometbft/cometbft/abci/types" + abciproto "github.com/cometbft/cometbft/api/cometbft/abci/v1" coreappmgr "cosmossdk.io/core/app" "cosmossdk.io/core/comet" @@ -125,7 +126,7 @@ type BlockData struct { // CheckTx implements types.Application. // It is called by cometbft to verify transaction validity -func (c *Consensus[T]) CheckTx(ctx context.Context, req *abci.CheckTxRequest) (*abci.CheckTxResponse, error) { +func (c *Consensus[T]) CheckTx(ctx context.Context, req *abciproto.CheckTxRequest) (*abciproto.CheckTxResponse, error) { decodedTx, err := c.txCodec.Decode(req.Tx) if err != nil { return nil, err @@ -154,7 +155,7 @@ func (c *Consensus[T]) CheckTx(ctx context.Context, req *abci.CheckTxRequest) (* } // Info implements types.Application. -func (c *Consensus[T]) Info(ctx context.Context, _ *abci.InfoRequest) (*abci.InfoResponse, error) { +func (c *Consensus[T]) Info(ctx context.Context, _ *abciproto.InfoRequest) (*abciproto.InfoResponse, error) { version, _, err := c.store.StateLatest() if err != nil { return nil, err @@ -182,7 +183,7 @@ func (c *Consensus[T]) Info(ctx context.Context, _ *abci.InfoRequest) (*abci.Inf // Query implements types.Application. // It is called by cometbft to query application state. -func (c *Consensus[T]) Query(ctx context.Context, req *abci.QueryRequest) (*abci.QueryResponse, error) { +func (c *Consensus[T]) Query(ctx context.Context, req *abciproto.QueryRequest) (*abciproto.QueryResponse, error) { // follow the query path from here decodedMsg, err := c.txCodec.Decode(req.Data) protoMsg, ok := any(decodedMsg).(transaction.Msg) @@ -208,7 +209,7 @@ func (c *Consensus[T]) Query(ctx context.Context, req *abci.QueryRequest) (*abci return QueryResult(errorsmod.Wrap(cometerrors.ErrUnknownRequest, "no query path provided"), c.cfg.Trace), nil } - var resp *abci.QueryResponse + var resp *abciproto.QueryResponse switch path[0] { case QueryPathApp: @@ -232,7 +233,7 @@ func (c *Consensus[T]) Query(ctx context.Context, req *abci.QueryRequest) (*abci } // InitChain implements types.Application. -func (c *Consensus[T]) InitChain(ctx context.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error) { +func (c *Consensus[T]) InitChain(ctx context.Context, req *abciproto.InitChainRequest) (*abciproto.InitChainResponse, error) { c.logger.Info("InitChain", "initialHeight", req.InitialHeight, "chainID", req.ChainId) // store chainID to be used later on in execution @@ -304,8 +305,8 @@ func (c *Consensus[T]) InitChain(ctx context.Context, req *abci.InitChainRequest // It is called by cometbft to prepare a proposal block. func (c *Consensus[T]) PrepareProposal( ctx context.Context, - req *abci.PrepareProposalRequest, -) (resp *abci.PrepareProposalResponse, err error) { + req *abciproto.PrepareProposalRequest, +) (resp *abciproto.PrepareProposalResponse, err error) { if req.Height < 1 { return nil, errors.New("PrepareProposal called with invalid height") } @@ -347,8 +348,8 @@ func (c *Consensus[T]) PrepareProposal( // It is called by cometbft to process/verify a proposal block. func (c *Consensus[T]) ProcessProposal( ctx context.Context, - req *abci.ProcessProposalRequest, -) (*abci.ProcessProposalResponse, error) { + req *abciproto.ProcessProposalRequest, +) (*abciproto.ProcessProposalResponse, error) { decodedTxs := make([]T, len(req.Txs)) for _, tx := range req.Txs { decTx, err := c.txCodec.Decode(tx) @@ -384,8 +385,8 @@ func (c *Consensus[T]) ProcessProposal( // It is called by cometbft to finalize a block. func (c *Consensus[T]) FinalizeBlock( ctx context.Context, - req *abci.FinalizeBlockRequest, -) (*abci.FinalizeBlockResponse, error) { + req *abciproto.FinalizeBlockRequest, +) (*abciproto.FinalizeBlockResponse, error) { if err := c.validateFinalizeBlockHeight(req); err != nil { return nil, err } @@ -494,7 +495,7 @@ func (c *Consensus[T]) FinalizeBlock( // Commit implements types.Application. // It is called by cometbft to notify the application that a block was committed. -func (c *Consensus[T]) Commit(ctx context.Context, _ *abci.CommitRequest) (*abci.CommitResponse, error) { +func (c *Consensus[T]) Commit(ctx context.Context, _ *abciproto.CommitRequest) (*abciproto.CommitResponse, error) { lastCommittedBlock := c.lastCommittedBlock.Load() c.snapshotManager.SnapshotIfApplicable(lastCommittedBlock.Height) @@ -513,8 +514,8 @@ func (c *Consensus[T]) Commit(ctx context.Context, _ *abci.CommitRequest) (*abci // VerifyVoteExtension implements types.Application. func (c *Consensus[T]) VerifyVoteExtension( ctx context.Context, - req *abci.VerifyVoteExtensionRequest, -) (*abci.VerifyVoteExtensionResponse, error) { + req *abciproto.VerifyVoteExtensionRequest, +) (*abciproto.VerifyVoteExtensionResponse, error) { // If vote extensions are not enabled, as a safety precaution, we return an // error. cp, err := c.GetConsensusParams(ctx) @@ -548,7 +549,7 @@ func (c *Consensus[T]) VerifyVoteExtension( } // ExtendVote implements types.Application. -func (c *Consensus[T]) ExtendVote(ctx context.Context, req *abci.ExtendVoteRequest) (*abci.ExtendVoteResponse, error) { +func (c *Consensus[T]) ExtendVote(ctx context.Context, req *abciproto.ExtendVoteRequest) (*abciproto.ExtendVoteResponse, error) { // If vote extensions are not enabled, as a safety precaution, we return an // error. cp, err := c.GetConsensusParams(ctx) diff --git a/server/v2/cometbft/client/grpc/cmtservice/service.go b/server/v2/cometbft/client/grpc/cmtservice/service.go index 02555d719574..096889a5a2ae 100644 --- a/server/v2/cometbft/client/grpc/cmtservice/service.go +++ b/server/v2/cometbft/client/grpc/cmtservice/service.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" coretypes "github.com/cometbft/cometbft/rpc/core/types" gogogrpc "github.com/cosmos/gogoproto/grpc" "github.com/grpc-ecosystem/grpc-gateway/runtime" diff --git a/server/v2/cometbft/client/grpc/cmtservice/types.go b/server/v2/cometbft/client/grpc/cmtservice/types.go index a94c0fd8ba8d..6a88fbbe9847 100644 --- a/server/v2/cometbft/client/grpc/cmtservice/types.go +++ b/server/v2/cometbft/client/grpc/cmtservice/types.go @@ -1,7 +1,7 @@ package cmtservice import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // ToABCIRequestQuery converts a gRPC ABCIQueryRequest type to an ABCI diff --git a/server/v2/cometbft/handlers/defaults.go b/server/v2/cometbft/handlers/defaults.go index 8e9795660d19..f7e32f64fa45 100644 --- a/server/v2/cometbft/handlers/defaults.go +++ b/server/v2/cometbft/handlers/defaults.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/gogoproto/proto" consensusv1 "cosmossdk.io/api/cosmos/consensus/v1" diff --git a/server/v2/cometbft/handlers/handlers.go b/server/v2/cometbft/handlers/handlers.go index 7780a7cfc602..0354a4a497af 100644 --- a/server/v2/cometbft/handlers/handlers.go +++ b/server/v2/cometbft/handlers/handlers.go @@ -3,7 +3,7 @@ package handlers import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/gogoproto/proto" "cosmossdk.io/core/store" diff --git a/server/v2/cometbft/query.go b/server/v2/cometbft/query.go index 1f9c1539bdec..d45c97cd078b 100644 --- a/server/v2/cometbft/query.go +++ b/server/v2/cometbft/query.go @@ -4,7 +4,7 @@ import ( "context" "strings" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" crypto "github.com/cometbft/cometbft/api/cometbft/crypto/v1" errorsmod "cosmossdk.io/errors" diff --git a/server/v2/cometbft/snapshots.go b/server/v2/cometbft/snapshots.go index dc68bab39752..5534712864df 100644 --- a/server/v2/cometbft/snapshots.go +++ b/server/v2/cometbft/snapshots.go @@ -7,7 +7,7 @@ import ( "os" "path/filepath" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/gogoproto/proto" "cosmossdk.io/store/v2/snapshots" diff --git a/server/v2/cometbft/types/peer.go b/server/v2/cometbft/types/peer.go index 1ebc9b03c78d..6d15bd715092 100644 --- a/server/v2/cometbft/types/peer.go +++ b/server/v2/cometbft/types/peer.go @@ -1,6 +1,6 @@ package types -import abci "github.com/cometbft/cometbft/abci/types" +import abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" // PeerFilter responds to p2p filtering queries from Tendermint type PeerFilter func(info string) (*abci.QueryResponse, error) diff --git a/server/v2/cometbft/types/vote.go b/server/v2/cometbft/types/vote.go index aeb3b9b8f150..322e09517f63 100644 --- a/server/v2/cometbft/types/vote.go +++ b/server/v2/cometbft/types/vote.go @@ -3,7 +3,7 @@ package types import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // VoteExtensionsHandler defines how to implement vote extension handlers diff --git a/server/v2/cometbft/utils.go b/server/v2/cometbft/utils.go index 8c21cbd454aa..5313c445c70e 100644 --- a/server/v2/cometbft/utils.go +++ b/server/v2/cometbft/utils.go @@ -8,7 +8,7 @@ import ( "time" abciv1 "buf.build/gen/go/cometbft/cometbft/protocolbuffers/go/cometbft/abci/v1" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" gogoproto "github.com/cosmos/gogoproto/proto" gogoany "github.com/cosmos/gogoproto/types/any" diff --git a/simapp/abci.go b/simapp/abci.go index a6c982b239c7..e4deee455718 100644 --- a/simapp/abci.go +++ b/simapp/abci.go @@ -6,7 +6,7 @@ import ( "encoding/json" "fmt" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/simapp/app.go b/simapp/app.go index 2f3046cefce5..35a0c71bc745 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -10,7 +10,7 @@ import ( "os" "path/filepath" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/gogoproto/proto" "github.com/spf13/cast" diff --git a/simapp/app_test.go b/simapp/app_test.go index 62312557efaf..9a798add2dd6 100644 --- a/simapp/app_test.go +++ b/simapp/app_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/gogoproto/proto" diff --git a/simapp/sim_test.go b/simapp/sim_test.go index 17b530bba2a9..558b887a0642 100644 --- a/simapp/sim_test.go +++ b/simapp/sim_test.go @@ -9,7 +9,7 @@ import ( "strings" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" dbm "github.com/cosmos/cosmos-db" "github.com/spf13/viper" diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 4e8b75339a95..363698a137ea 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -6,7 +6,7 @@ import ( "os" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtjson "github.com/cometbft/cometbft/libs/json" cmttypes "github.com/cometbft/cometbft/types" dbm "github.com/cosmos/cosmos-db" diff --git a/store/internal/maps/maps.go b/store/internal/maps/maps.go index 181fc47bd978..40aa0b44d9f8 100644 --- a/store/internal/maps/maps.go +++ b/store/internal/maps/maps.go @@ -1,11 +1,11 @@ package maps import ( + "crypto/sha256" "encoding/binary" cmtprotocrypto "github.com/cometbft/cometbft/api/cometbft/crypto/v1" "github.com/cometbft/cometbft/crypto/merkle" - "github.com/cometbft/cometbft/crypto/tmhash" "cosmossdk.io/store/internal/kv" "cosmossdk.io/store/internal/tree" @@ -36,11 +36,11 @@ func (sm *merkleMap) set(key string, value []byte) { // The value is hashed, so you can check for equality with a cached value (say) // and make a determination to fetch or not. - vhash := tmhash.Sum(value) + vhash := sha256.Sum256(value) sm.kvs.Pairs = append(sm.kvs.Pairs, kv.Pair{ Key: byteKey, - Value: vhash, + Value: vhash[:], }) } @@ -97,11 +97,11 @@ func (sm *simpleMap) Set(key string, value []byte) { // The value is hashed, so you can // check for equality with a cached value (say) // and make a determination to fetch or not. - vhash := tmhash.Sum(value) + vhash := sha256.Sum256(value) sm.Kvs.Pairs = append(sm.Kvs.Pairs, kv.Pair{ Key: byteKey, - Value: vhash, + Value: vhash[:], }) } diff --git a/store/snapshots/types/convert.go b/store/snapshots/types/convert.go index 90deead3bfa8..f326878757dd 100644 --- a/store/snapshots/types/convert.go +++ b/store/snapshots/types/convert.go @@ -1,7 +1,7 @@ package types import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" proto "github.com/cosmos/gogoproto/proto" "cosmossdk.io/errors" diff --git a/store/streaming/abci/examples/file/file.go b/store/streaming/abci/examples/file/file.go index a6473bca7e71..061653a555da 100644 --- a/store/streaming/abci/examples/file/file.go +++ b/store/streaming/abci/examples/file/file.go @@ -6,7 +6,7 @@ import ( "os" "path/filepath" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/hashicorp/go-plugin" streamingabci "cosmossdk.io/store/streaming/abci" diff --git a/store/streaming/abci/examples/stdout/stdout.go b/store/streaming/abci/examples/stdout/stdout.go index d24e33a421a0..99bef6414730 100644 --- a/store/streaming/abci/examples/stdout/stdout.go +++ b/store/streaming/abci/examples/stdout/stdout.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/hashicorp/go-plugin" streamingabci "cosmossdk.io/store/streaming/abci" diff --git a/store/streaming/abci/grpc.go b/store/streaming/abci/grpc.go index 05e3ecb3e573..b838a153be17 100644 --- a/store/streaming/abci/grpc.go +++ b/store/streaming/abci/grpc.go @@ -4,7 +4,7 @@ import ( "context" "os" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/hashicorp/go-plugin" storetypes "cosmossdk.io/store/types" diff --git a/store/streaming/streaming_test.go b/store/streaming/streaming_test.go index 459784a1271c..5471a2b4dcde 100644 --- a/store/streaming/streaming_test.go +++ b/store/streaming/streaming_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/cosmos/gogoproto/proto" "github.com/stretchr/testify/assert" diff --git a/store/types/streaming.go b/store/types/streaming.go index 50554b418f0f..7385518a52c2 100644 --- a/store/types/streaming.go +++ b/store/types/streaming.go @@ -3,7 +3,7 @@ package types import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // ABCIListener is the interface that we're exposing as a streaming service. diff --git a/tests/e2e/auth/suite.go b/tests/e2e/auth/suite.go index 8e288f355115..ffc896810ee0 100644 --- a/tests/e2e/auth/suite.go +++ b/tests/e2e/auth/suite.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" diff --git a/tests/e2e/baseapp/block_gas_test.go b/tests/e2e/baseapp/block_gas_test.go index 52d5a4476681..431e9463c066 100644 --- a/tests/e2e/baseapp/block_gas_test.go +++ b/tests/e2e/baseapp/block_gas_test.go @@ -8,7 +8,7 @@ import ( "math" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtjson "github.com/cometbft/cometbft/libs/json" dbm "github.com/cosmos/cosmos-db" "github.com/stretchr/testify/require" diff --git a/tests/e2e/genutil/export_test.go b/tests/e2e/genutil/export_test.go index febda09efcff..7f9ad1b4daec 100644 --- a/tests/e2e/genutil/export_test.go +++ b/tests/e2e/genutil/export_test.go @@ -13,7 +13,7 @@ import ( "path" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtcfg "github.com/cometbft/cometbft/config" dbm "github.com/cosmos/cosmos-db" "github.com/spf13/cobra" diff --git a/tests/integration/auth/client/cli/suite_test.go b/tests/integration/auth/client/cli/suite_test.go index 8c87e6b27ce0..2e59e9473323 100644 --- a/tests/integration/auth/client/cli/suite_test.go +++ b/tests/integration/auth/client/cli/suite_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" "github.com/stretchr/testify/suite" diff --git a/tests/integration/bank/app_test.go b/tests/integration/bank/app_test.go index d7fa3dda7043..bb2c65d271c6 100644 --- a/tests/integration/bank/app_test.go +++ b/tests/integration/bank/app_test.go @@ -3,7 +3,7 @@ package bank_test import ( "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/tests/integration/bank/bench_test.go b/tests/integration/bank/bench_test.go index c99c4f16735b..a52f7437351f 100644 --- a/tests/integration/bank/bench_test.go +++ b/tests/integration/bank/bench_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" authtypes "cosmossdk.io/x/auth/types" diff --git a/tests/integration/distribution/cli_tx_test.go b/tests/integration/distribution/cli_tx_test.go index 222f7d8234fe..06f3012128db 100644 --- a/tests/integration/distribution/cli_tx_test.go +++ b/tests/integration/distribution/cli_tx_test.go @@ -5,7 +5,7 @@ import ( "io" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" "github.com/stretchr/testify/suite" diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index 0be69083614b..2719b710f09a 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/golang/mock/gomock" "gotest.tools/v3/assert" diff --git a/tests/integration/gov/genesis_test.go b/tests/integration/gov/genesis_test.go index 9a7180bfc633..e54b3eb012a1 100644 --- a/tests/integration/gov/genesis_test.go +++ b/tests/integration/gov/genesis_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" dbm "github.com/cosmos/cosmos-db" "github.com/stretchr/testify/require" "gotest.tools/v3/assert" diff --git a/tests/integration/staking/keeper/vote_extensions_test.go b/tests/integration/staking/keeper/vote_extensions_test.go index ba1167dcac92..fc81126d7b44 100644 --- a/tests/integration/staking/keeper/vote_extensions_test.go +++ b/tests/integration/staking/keeper/vote_extensions_test.go @@ -5,7 +5,7 @@ import ( "sort" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" protoio "github.com/cosmos/gogoproto/io" "github.com/cosmos/gogoproto/proto" diff --git a/tests/integration/staking/simulation/operations_test.go b/tests/integration/staking/simulation/operations_test.go index dfc19c38ac94..023b050034e4 100644 --- a/tests/integration/staking/simulation/operations_test.go +++ b/tests/integration/staking/simulation/operations_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmttypes "github.com/cometbft/cometbft/types" "github.com/cosmos/gogoproto/proto" "github.com/stretchr/testify/require" diff --git a/tests/integration/store/rootmulti/rollback_test.go b/tests/integration/store/rootmulti/rollback_test.go index 40c378e89f28..0d6f9d074fa2 100644 --- a/tests/integration/store/rootmulti/rollback_test.go +++ b/tests/integration/store/rootmulti/rollback_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" dbm "github.com/cosmos/cosmos-db" "gotest.tools/v3/assert" diff --git a/tests/sims/slashing/operations_test.go b/tests/sims/slashing/operations_test.go index f3263f1ab6e1..b0df7052dab2 100644 --- a/tests/sims/slashing/operations_test.go +++ b/tests/sims/slashing/operations_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmttypes "github.com/cometbft/cometbft/types" "github.com/cosmos/gogoproto/proto" "github.com/stretchr/testify/suite" diff --git a/testutil/cli/cmt_mocks.go b/testutil/cli/cmt_mocks.go index 3bb35e2040fb..71e0cb973955 100644 --- a/testutil/cli/cmt_mocks.go +++ b/testutil/cli/cmt_mocks.go @@ -3,7 +3,7 @@ package cli import ( "context" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtbytes "github.com/cometbft/cometbft/libs/bytes" rpcclient "github.com/cometbft/cometbft/rpc/client" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" diff --git a/testutil/integration/router.go b/testutil/integration/router.go index 48159bcc9d97..0e4724779425 100644 --- a/testutil/integration/router.go +++ b/testutil/integration/router.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - cmtabcitypes "github.com/cometbft/cometbft/abci/types" + cmtabcitypes "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" cmttypes "github.com/cometbft/cometbft/types" dbm "github.com/cosmos/cosmos-db" diff --git a/testutil/sims/app_helpers.go b/testutil/sims/app_helpers.go index c6fd06b66268..720713ca56ac 100644 --- a/testutil/sims/app_helpers.go +++ b/testutil/sims/app_helpers.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" cmtjson "github.com/cometbft/cometbft/libs/json" cmttypes "github.com/cometbft/cometbft/types" diff --git a/testutil/sims/tx_helpers.go b/testutil/sims/tx_helpers.go index 8c3d00b15b1b..c681594b3f01 100644 --- a/testutil/sims/tx_helpers.go +++ b/testutil/sims/tx_helpers.go @@ -6,7 +6,7 @@ import ( "testing" "time" - types2 "github.com/cometbft/cometbft/abci/types" + types2 "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" "cosmossdk.io/core/header" diff --git a/types/abci.go b/types/abci.go index a650535d098f..30e6beee391e 100644 --- a/types/abci.go +++ b/types/abci.go @@ -1,7 +1,7 @@ package types import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" ) // InitChainer initializes application state at genesis diff --git a/types/context.go b/types/context.go index 1ccdb739994f..94f6be6ef82f 100644 --- a/types/context.go +++ b/types/context.go @@ -4,7 +4,7 @@ import ( "context" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "cosmossdk.io/core/comet" diff --git a/types/context_test.go b/types/context_test.go index a00e302e41e2..f705bc33c87e 100644 --- a/types/context_test.go +++ b/types/context_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "github.com/golang/mock/gomock" "github.com/stretchr/testify/suite" diff --git a/types/errors/abci.go b/types/errors/abci.go index 8344f465cc02..3a1dac58e51d 100644 --- a/types/errors/abci.go +++ b/types/errors/abci.go @@ -1,7 +1,7 @@ package errors import ( - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" errorsmod "cosmossdk.io/errors" ) diff --git a/types/events.go b/types/events.go index f883fe778347..748b35ce63d4 100644 --- a/types/events.go +++ b/types/events.go @@ -7,7 +7,7 @@ import ( "slices" "strings" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/cosmos/gogoproto/jsonpb" "github.com/cosmos/gogoproto/proto" "golang.org/x/exp/maps" diff --git a/types/events_test.go b/types/events_test.go index 74e16466dc43..2b55952a9d6d 100644 --- a/types/events_test.go +++ b/types/events_test.go @@ -5,7 +5,7 @@ import ( "reflect" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/suite" "cosmossdk.io/math" diff --git a/types/module/module.go b/types/module/module.go index 4248143dc7df..1d6df7df4e30 100644 --- a/types/module/module.go +++ b/types/module/module.go @@ -26,7 +26,7 @@ import ( "fmt" "sort" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" "golang.org/x/exp/maps" diff --git a/types/module/module_test.go b/types/module/module_test.go index 5a15727f1325..ccd22bf02462 100644 --- a/types/module/module_test.go +++ b/types/module/module_test.go @@ -7,7 +7,7 @@ import ( "io" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/golang/mock/gomock" "github.com/spf13/cobra" "github.com/stretchr/testify/require" diff --git a/types/result_test.go b/types/result_test.go index e531400e510a..1b46c9ec8e80 100644 --- a/types/result_test.go +++ b/types/result_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" cmtt "github.com/cometbft/cometbft/api/cometbft/types/v1" coretypes "github.com/cometbft/cometbft/rpc/core/types" cmt "github.com/cometbft/cometbft/types" diff --git a/x/auth/ante/testutil_test.go b/x/auth/ante/testutil_test.go index 8dff25c7713f..294e17db8900 100644 --- a/x/auth/ante/testutil_test.go +++ b/x/auth/ante/testutil_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" diff --git a/x/auth/go.mod b/x/auth/go.mod index 1e428df69150..d05bdd27649e 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -15,6 +15,7 @@ require ( cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 cosmossdk.io/x/tx v0.13.3 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 github.com/cosmos/gogoproto v1.5.0 @@ -57,7 +58,6 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/authz/client/cli/tx_test.go b/x/authz/client/cli/tx_test.go index a70a5fc0f4bc..24b33d7f9e6f 100644 --- a/x/authz/client/cli/tx_test.go +++ b/x/authz/client/cli/tx_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" "github.com/stretchr/testify/suite" diff --git a/x/authz/go.mod b/x/authz/go.mod index 0549245f7b6d..b9c3976cae4f 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -51,7 +51,7 @@ require ( github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/feegrant/client/cli/tx_test.go b/x/feegrant/client/cli/tx_test.go index c8578cd35cf9..61c32ea34e23 100644 --- a/x/feegrant/client/cli/tx_test.go +++ b/x/feegrant/client/cli/tx_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" "github.com/cosmos/gogoproto/proto" "github.com/stretchr/testify/suite" diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index b0b6de9fa186..f7a8a2d3266f 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -55,7 +55,7 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect diff --git a/x/group/client/cli/tx_test.go b/x/group/client/cli/tx_test.go index d820242113c4..938d57014932 100644 --- a/x/group/client/cli/tx_test.go +++ b/x/group/client/cli/tx_test.go @@ -7,7 +7,7 @@ import ( "io" "testing" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" rpcclientmock "github.com/cometbft/cometbft/rpc/client/mock" "github.com/stretchr/testify/suite" diff --git a/x/group/go.mod b/x/group/go.mod index fe55e321ad64..49d909ae2463 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -20,6 +20,7 @@ require ( cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 github.com/cockroachdb/apd/v2 v2.0.2 github.com/cometbft/cometbft v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c08 + github.com/cometbft/cometbft/api v1.0.0-rc.1 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 @@ -61,7 +62,6 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cometbft/cometbft/api v1.0.0-rc.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect diff --git a/x/group/keeper/msg_server_test.go b/x/group/keeper/msg_server_test.go index fed87820bf99..20eb8a7b184b 100644 --- a/x/group/keeper/msg_server_test.go +++ b/x/group/keeper/msg_server_test.go @@ -8,7 +8,7 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" + abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/golang/mock/gomock" "cosmossdk.io/core/header" From 4fa658e687e5fed57ba4f3dba7562470878f9da5 Mon Sep 17 00:00:00 2001 From: Hoa Nguyen Date: Tue, 11 Jun 2024 16:02:36 +0700 Subject: [PATCH 33/41] refactor(store): add miss defer (#20602) --- store/v2/commitment/store.go | 3 +++ store/v2/migration/manager.go | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/store/v2/commitment/store.go b/store/v2/commitment/store.go index b67a1149c311..4a93dc823d54 100644 --- a/store/v2/commitment/store.go +++ b/store/v2/commitment/store.go @@ -134,6 +134,7 @@ func (c *CommitStore) LoadVersion(targetVersion uint64) error { } if targetVersion < latestVersion { batch := c.db.NewBatch() + defer batch.Close() for version := latestVersion; version > targetVersion; version-- { cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, version)) if err := batch.Delete(cInfoKey); err != nil { @@ -186,6 +187,7 @@ func (c *CommitStore) flushCommitInfo(version uint64, cInfo *proof.CommitInfo) e } batch := c.db.NewBatch() + defer batch.Close() cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, version)) value, err := cInfo.Marshal() if err != nil { @@ -306,6 +308,7 @@ func (c *CommitStore) Get(storeKey []byte, version uint64, key []byte) ([]byte, func (c *CommitStore) Prune(version uint64) (ferr error) { // prune the metadata batch := c.db.NewBatch() + defer batch.Close() for v := version; v > 0; v-- { cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, v)) if exist, _ := c.db.Has(cInfoKey); !exist { diff --git a/store/v2/migration/manager.go b/store/v2/migration/manager.go index 3dc3ef80e5da..bd636dc3c600 100644 --- a/store/v2/migration/manager.go +++ b/store/v2/migration/manager.go @@ -197,7 +197,6 @@ func (m *Manager) writeChangeset() error { if err != nil { return err } - batch.Close() } return nil From 76a28ad4d01de5f10456dbfb93a8cf4de4277717 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 11 Jun 2024 11:33:15 +0200 Subject: [PATCH 34/41] chore: reduce default inflation (#20606) --- tests/e2e/bank/grpc.go | 8 ++++---- tests/e2e/distribution/grpc_query_suite.go | 6 +++--- x/mint/README.md | 3 +-- x/mint/types/minter_test.go | 20 ++++++++++---------- x/mint/types/params.go | 4 ++-- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/tests/e2e/bank/grpc.go b/tests/e2e/bank/grpc.go index 435778eae841..3f17667a4aa5 100644 --- a/tests/e2e/bank/grpc.go +++ b/tests/e2e/bank/grpc.go @@ -35,7 +35,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { &types.QueryTotalSupplyResponse{ Supply: sdk.NewCoins( sdk.NewCoin(fmt.Sprintf("%stoken", val.GetMoniker()), s.cfg.AccountTokens), - sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(10))), + sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), ), Pagination: &query.PageResponse{ Total: 2, @@ -50,7 +50,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(10))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), }, }, { @@ -61,7 +61,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(20))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(6))), }, }, { @@ -72,7 +72,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(10))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), }, }, { diff --git a/tests/e2e/distribution/grpc_query_suite.go b/tests/e2e/distribution/grpc_query_suite.go index 7392c5fa1c9e..d90a74988aa8 100644 --- a/tests/e2e/distribution/grpc_query_suite.go +++ b/tests/e2e/distribution/grpc_query_suite.go @@ -116,7 +116,7 @@ func (s *GRPCQueryTestSuite) TestQueryOutstandingRewardsGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - rewards, err := sdk.ParseDecCoins("19.6stake") + rewards, err := sdk.ParseDecCoins("5.88stake") s.Require().NoError(err) testCases := []struct { @@ -170,7 +170,7 @@ func (s *GRPCQueryTestSuite) TestQueryValidatorCommissionGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - commission, err := sdk.ParseDecCoins("9.8stake") + commission, err := sdk.ParseDecCoins("2.94stake") s.Require().NoError(err) testCases := []struct { @@ -283,7 +283,7 @@ func (s *GRPCQueryTestSuite) TestQueryDelegatorRewardsGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - rewards, err := sdk.ParseDecCoins("9.8stake") + rewards, err := sdk.ParseDecCoins("2.94stake") s.Require().NoError(err) testCases := []struct { diff --git a/x/mint/README.md b/x/mint/README.md index ff2467d7542a..0d16ce208268 100644 --- a/x/mint/README.md +++ b/x/mint/README.md @@ -95,8 +95,7 @@ type InflationCalculationFn func(ctx sdk.Context, minter Minter, params Params, The target annual inflation rate is recalculated each block. The inflation is also subject to a rate change (positive or negative) depending on the distance from the desired ratio (67%). The maximum rate change -possible is defined to be 13% per year, however, the annual inflation is capped -as between 7% and 20%. +possible is defined to be 5% per year, however, the annual inflation is capped between 0% and 5%. ```go NextInflationRate(params Params, bondedRatio math.LegacyDec) (inflation math.LegacyDec) { diff --git a/x/mint/types/minter_test.go b/x/mint/types/minter_test.go index dbfdf4cd2a94..b89773a6cb29 100644 --- a/x/mint/types/minter_test.go +++ b/x/mint/types/minter_test.go @@ -23,31 +23,31 @@ func TestNextInflation(t *testing.T) { bondedRatio, setInflation, expChange math.LegacyDec }{ // with 0% bonded atom supply the inflation should increase by InflationRateChange - {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(7, 2), params.InflationRateChange.Quo(blocksPerYr)}, + {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(0, 2), params.InflationRateChange.Quo(blocksPerYr)}, // 100% bonded, starting at 20% inflation and being reduced // (1 - (1/0.67))*(0.13/8667) { - math.LegacyOneDec(), math.LegacyNewDecWithPrec(20, 2), + math.LegacyOneDec(), math.LegacyNewDecWithPrec(5, 2), math.LegacyOneDec().Sub(math.LegacyOneDec().Quo(params.GoalBonded)).Mul(params.InflationRateChange).Quo(blocksPerYr), }, // 50% bonded, starting at 10% inflation and being increased { - math.LegacyNewDecWithPrec(5, 1), math.LegacyNewDecWithPrec(10, 2), + math.LegacyNewDecWithPrec(5, 1), math.LegacyNewDecWithPrec(2, 2), math.LegacyOneDec().Sub(math.LegacyNewDecWithPrec(5, 1).Quo(params.GoalBonded)).Mul(params.InflationRateChange).Quo(blocksPerYr), }, - // test 7% minimum stop (testing with 100% bonded) - {math.LegacyOneDec(), math.LegacyNewDecWithPrec(7, 2), math.LegacyZeroDec()}, - {math.LegacyOneDec(), math.LegacyNewDecWithPrec(700000001, 10), math.LegacyNewDecWithPrec(-1, 10)}, + // test 0% minimum stop (testing with 100% bonded) + {math.LegacyOneDec(), math.LegacyNewDecWithPrec(0, 2), math.LegacyZeroDec()}, + {math.LegacyOneDec(), math.LegacyNewDecWithPrec(1, 10), math.LegacyNewDecWithPrec(-1, 10)}, - // test 20% maximum stop (testing with 0% bonded) - {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(20, 2), math.LegacyZeroDec()}, - {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(1999999999, 10), math.LegacyNewDecWithPrec(1, 10)}, + // test 5% maximum stop (testing with 0% bonded) + {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(5, 2), math.LegacyZeroDec()}, + {math.LegacyZeroDec(), math.LegacyNewDecWithPrec(499999999, 10), math.LegacyNewDecWithPrec(1, 10)}, // perfect balance shouldn't change inflation - {math.LegacyNewDecWithPrec(67, 2), math.LegacyNewDecWithPrec(15, 2), math.LegacyZeroDec()}, + {math.LegacyNewDecWithPrec(67, 2), math.LegacyNewDecWithPrec(5, 2), math.LegacyZeroDec()}, } for i, tc := range tests { minter.Inflation = tc.setInflation diff --git a/x/mint/types/params.go b/x/mint/types/params.go index 9c5c483671d6..370eeea9106e 100644 --- a/x/mint/types/params.go +++ b/x/mint/types/params.go @@ -28,8 +28,8 @@ func DefaultParams() Params { return Params{ MintDenom: sdk.DefaultBondDenom, InflationRateChange: math.LegacyNewDecWithPrec(13, 2), - InflationMax: math.LegacyNewDecWithPrec(20, 2), - InflationMin: math.LegacyNewDecWithPrec(7, 2), + InflationMax: math.LegacyNewDecWithPrec(5, 2), + InflationMin: math.LegacyNewDecWithPrec(0, 2), GoalBonded: math.LegacyNewDecWithPrec(67, 2), BlocksPerYear: uint64(60 * 60 * 8766 / 5), // assuming 5 second block times MaxSupply: math.ZeroInt(), // assuming zero is infinite From 62aa11810e6527e82362a25492302ff3026d1a17 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 11 Jun 2024 12:02:42 +0200 Subject: [PATCH 35/41] feat: prep for errors v2 (#20539) Co-authored-by: unknown unknown --- errors/CHANGELOG.md | 1 + errors/abci.go | 55 +++------- errors/abci_test.go | 123 ++++------------------- errors/errors.go | 151 +--------------------------- errors/errors_test.go | 204 +------------------------------------- errors/go.mod | 16 +-- errors/go.sum | 28 ------ errors/handle.go | 12 --- errors/stacktrace.go | 120 ---------------------- errors/stacktrace_test.go | 62 ------------ 10 files changed, 42 insertions(+), 730 deletions(-) delete mode 100644 errors/handle.go delete mode 100644 errors/stacktrace.go delete mode 100644 errors/stacktrace_test.go diff --git a/errors/CHANGELOG.md b/errors/CHANGELOG.md index 0135befe9a73..9678589ad8c2 100644 --- a/errors/CHANGELOG.md +++ b/errors/CHANGELOG.md @@ -34,6 +34,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking * [#20402](https://github.com/cosmos/cosmos-sdk/pull/20402) Remove Grpc error codes from the error package. This is done in order to keep the dependency graph of errors minimal +* [#20539](https://github.com/cosmos/cosmos-sdk/pull/20539) v2 errors removes `IsOf`, `Recover`, `WithType` and wrapped error. The errors package uses the go std library errors. It provides a `Wrap` and `Wrapf` to help in the migration from v1 to v2. ## [v1.0.1](https://github.com/cosmos/cosmos-sdk/releases/tag/errors%2Fv1.0.1) diff --git a/errors/abci.go b/errors/abci.go index 603f3b36ff1c..4fa5b959dbee 100644 --- a/errors/abci.go +++ b/errors/abci.go @@ -1,6 +1,7 @@ package errors import ( + "errors" "fmt" "reflect" ) @@ -34,7 +35,8 @@ func ABCIInfo(err error, debug bool) (codespace string, code uint32, log string) encode = debugErrEncoder } - return abciCodespace(err), abciCode(err), encode(err) + code, space := abciInfo(err) + return space, code, encode(err) } // The debugErrEncoder encodes the error with a stacktrace. @@ -46,54 +48,25 @@ func defaultErrEncoder(err error) string { return err.Error() } -type coder interface { - ABCICode() uint32 -} - -// abciCode tests if given error contains an ABCI code and returns the value of +// abciInfo tests if given error contains an ABCI code and returns the value of // it if available. This function is testing for the causer interface as well // and unwraps the error. -func abciCode(err error) uint32 { +func abciInfo(err error) (code uint32, codespace string) { if errIsNil(err) { - return SuccessABCICode - } - - for { - if c, ok := err.(coder); ok { - return c.ABCICode() - } - - if c, ok := err.(causer); ok { - err = c.Cause() - } else { - return internalABCICode - } + return SuccessABCICode, "" } -} -type codespacer interface { - Codespace() string -} + var customErr *Error -// abciCodespace tests if given error contains a codespace and returns the value of -// it if available. This function is testing for the causer interface as well -// and unwraps the error. -func abciCodespace(err error) string { - if errIsNil(err) { - return "" + if errors.As(err, &customErr) { + code = customErr.ABCICode() + codespace = customErr.Codespace() + } else { + code = internalABCICode + codespace = internalABCICodespace } - for { - if c, ok := err.(codespacer); ok { - return c.Codespace() - } - - if c, ok := err.(causer); ok { - err = c.Cause() - } else { - return internalABCICodespace - } - } + return } // errIsNil returns true if value represented by the given error is nil. diff --git a/errors/abci_test.go b/errors/abci_test.go index 333731d01518..ca283997ae91 100644 --- a/errors/abci_test.go +++ b/errors/abci_test.go @@ -3,25 +3,10 @@ package errors import ( "fmt" "io" - "strings" "testing" - - "github.com/stretchr/testify/suite" ) -type abciTestSuite struct { - suite.Suite -} - -func TestABCITestSuite(t *testing.T) { - suite.Run(t, new(abciTestSuite)) -} - -func (s *abciTestSuite) SetupSuite() { - s.T().Parallel() -} - -func (s *abciTestSuite) TestABCInfo() { +func TestABCInfo(t *testing.T) { cases := map[string]struct { err error debug bool @@ -37,7 +22,7 @@ func (s *abciTestSuite) TestABCInfo() { wantSpace: testCodespace, }, "wrapped SDK error": { - err: Wrap(Wrap(ErrUnauthorized, "foo"), "bar"), + err: fmt.Errorf("bar: %w", fmt.Errorf("foo: %w", ErrUnauthorized)), debug: false, wantLog: "bar: foo: unauthorized", wantCode: ErrUnauthorized.code, @@ -64,93 +49,29 @@ func (s *abciTestSuite) TestABCInfo() { wantCode: 1, wantSpace: UndefinedCodespace, }, - // This is hard to test because of attached stacktrace. This - // case is tested in an another test. - // "wrapped stdlib is a full message in debug mode": { - // err: Wrap(io.EOF, "cannot read file"), - // debug: true, - // wantLog: "cannot read file: EOF", - // wantCode: 1, - // }, - "custom error": { - err: customErr{}, - debug: false, - wantLog: "custom", - wantCode: 999, - wantSpace: "extern", - }, - "custom error in debug mode": { - err: customErr{}, - debug: true, - wantLog: "custom", - wantCode: 999, - wantSpace: "extern", - }, } for testName, tc := range cases { - s.T().Run(testName, func(t *testing.T) { + t.Run(testName, func(t *testing.T) { space, code, log := ABCIInfo(tc.err, tc.debug) - s.Require().Equal(tc.wantSpace, space, testName) - s.Require().Equal(tc.wantCode, code, testName) - s.Require().Equal(tc.wantLog, log, testName) - }) - } -} - -func (s *abciTestSuite) TestABCIInfoStacktrace() { - cases := map[string]struct { - err error - debug bool - wantStacktrace bool - wantErrMsg string - }{ - "wrapped SDK error in debug mode provides stacktrace": { - err: Wrap(ErrUnauthorized, "wrapped"), - debug: true, - wantStacktrace: true, - wantErrMsg: "wrapped: unauthorized", - }, - "wrapped SDK error in non-debug mode does not have stacktrace": { - err: Wrap(ErrUnauthorized, "wrapped"), - debug: false, - wantStacktrace: false, - wantErrMsg: "wrapped: unauthorized", - }, - "wrapped stdlib error in debug mode provides stacktrace": { - err: Wrap(fmt.Errorf("stdlib"), "wrapped"), - debug: true, - wantStacktrace: true, - wantErrMsg: "wrapped: stdlib", - }, - } - - const thisTestSrc = "cosmossdk.io/errors.(*abciTestSuite).TestABCIInfoStacktrace" - - for testName, tc := range cases { - s.T().Run(testName, func(t *testing.T) { - _, _, log := ABCIInfo(tc.err, tc.debug) - if !tc.wantStacktrace { - s.Require().Equal(tc.wantErrMsg, log, testName) - } else { - s.Require().True(strings.Contains(log, thisTestSrc), testName) - s.Require().True(strings.Contains(log, tc.wantErrMsg), testName) + if space != tc.wantSpace { + t.Errorf("%s: expected space %s, got %s", testName, tc.wantSpace, space) + } + if code != tc.wantCode { + t.Errorf("%s: expected code %d, got %d", testName, tc.wantCode, code) + } + if log != tc.wantLog { + t.Errorf("%s: expected log %s, got %s", testName, tc.wantLog, log) } }) } } -func (s *abciTestSuite) TestABCIInfoHidesStacktrace() { - err := Wrap(ErrUnauthorized, "wrapped") - _, _, log := ABCIInfo(err, false) - s.Require().Equal("wrapped: unauthorized", log) -} - -func (s *abciTestSuite) TestABCIInfoSerializeErr() { +func TestABCIInfoSerializeErr(t *testing.T) { var ( - // Create errors with stacktrace for equal comparison. - myErrDecode = Wrap(ErrTxDecode, "test") - myErrAddr = Wrap(ErrInvalidAddress, "tester") + // Create errors for equal comparison. + myErrDecode = fmt.Errorf("test: %w", ErrTxDecode) + myErrAddr = fmt.Errorf("tester: %w", ErrInvalidAddress) myPanic = ErrPanic ) @@ -183,16 +104,8 @@ func (s *abciTestSuite) TestABCIInfoSerializeErr() { for msg, spec := range specs { spec := spec _, _, log := ABCIInfo(spec.src, spec.debug) - s.Require().Equal(spec.exp, log, msg) + if log != spec.exp { + t.Errorf("%s: expected log %s, got %s", msg, spec.exp, log) + } } } - -// customErr is a custom implementation of an error that provides an ABCICode -// method. -type customErr struct{} - -func (customErr) Codespace() string { return "extern" } - -func (customErr) ABCICode() uint32 { return 999 } - -func (customErr) Error() string { return "custom" } diff --git a/errors/errors.go b/errors/errors.go index 99c6cf01540a..1255e88003de 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -2,9 +2,6 @@ package errors import ( "fmt" - "reflect" - - "github.com/pkg/errors" ) // UndefinedCodespace when we explicitly declare no codespace @@ -63,11 +60,11 @@ func setUsed(err *Error) { // The server (abci app / blockchain) should only refer to registered errors func ABCIError(codespace string, code uint32, log string) error { if e := getUsed(codespace, code); e != nil { - return Wrap(e, log) + return fmt.Errorf("%s: %w", log, e) } // This is a unique error, will never match on .Is() // Use Wrap here to get a stack trace - return Wrap(&Error{codespace: codespace, code: code, desc: "unknown"}, log) + return fmt.Errorf("%s: %w", log, &Error{codespace: codespace, code: code, desc: "unknown"}) } // Error represents a root error. @@ -102,58 +99,6 @@ func (e Error) Codespace() string { return e.codespace } -// Is check if given error instance is of a given kind/type. This involves -// unwrapping given error using the Cause method if available. -func (e *Error) Is(err error) bool { - // Reflect usage is necessary to correctly compare with - // a nil implementation of an error. - if e == nil { - return isNilErr(err) - } - - for { - if err == e { - return true - } - - // If this is a collection of errors, this function must return - // true if at least one from the group match. - if u, ok := err.(unpacker); ok { - for _, er := range u.Unpack() { - if e.Is(er) { - return true - } - } - } - - if c, ok := err.(causer); ok { - err = c.Cause() - } else { - return false - } - } -} - -// Wrap extends this error with an additional information. -// It's a handy function to call Wrap with sdk errors. -func (e *Error) Wrap(desc string) error { return Wrap(e, desc) } - -// Wrapf extends this error with an additional information. -// It's a handy function to call Wrapf with sdk errors. -func (e *Error) Wrapf(desc string, args ...interface{}) error { return Wrapf(e, desc, args...) } - -func isNilErr(err error) bool { - // Reflect usage is necessary to correctly compare with - // a nil implementation of an error. - if err == nil { - return true - } - if reflect.ValueOf(err).Kind() == reflect.Struct { - return false - } - return reflect.ValueOf(err).IsNil() -} - // Wrap extends given error with an additional information. // // If the wrapped error does not provide ABCICode method (ie. stdlib errors), @@ -166,17 +111,7 @@ func Wrap(err error, description string) error { return nil } - // If this error does not carry the stacktrace information yet, attach - // one. This should be done only once per error at the lowest frame - // possible (most inner wrap). - if stackTrace(err) == nil { - err = errors.WithStack(err) - } - - return &wrappedError{ - parent: err, - msg: description, - } + return fmt.Errorf("%s: %w", description, err) } // Wrapf extends given error with an additional information. @@ -187,83 +122,3 @@ func Wrapf(err error, format string, args ...interface{}) error { desc := fmt.Sprintf(format, args...) return Wrap(err, desc) } - -type wrappedError struct { - // This error layer description. - msg string - // The underlying error that triggered this one. - parent error -} - -func (e *wrappedError) Error() string { - return fmt.Sprintf("%s: %s", e.msg, e.parent.Error()) -} - -func (e *wrappedError) Cause() error { - return e.parent -} - -// Is reports whether any error in e's chain matches a target. -func (e *wrappedError) Is(target error) bool { - if e == target { - return true - } - - w := e.Cause() - for { - if w == target { - return true - } - - x, ok := w.(causer) - if ok { - w = x.Cause() - } - if x == nil { - return false - } - } -} - -// Unwrap implements the built-in errors.Unwrap -func (e *wrappedError) Unwrap() error { - return e.parent -} - -// Recover captures a panic and stop its propagation. If panic happens it is -// transformed into a ErrPanic instance and assigned to given error. Call this -// function using defer in order to work as expected. -func Recover(err *error) { - if r := recover(); r != nil { - *err = Wrapf(ErrPanic, "%v", r) - } -} - -// WithType is a helper to augment an error with a corresponding type message -func WithType(err error, obj interface{}) error { - return Wrap(err, fmt.Sprintf("%T", obj)) -} - -// IsOf checks if a received error is caused by one of the target errors. -// It extends the errors.Is functionality to a list of errors. -func IsOf(received error, targets ...error) bool { - if received == nil { - return false - } - for _, t := range targets { - if errors.Is(received, t) { - return true - } - } - return false -} - -// causer is an interface implemented by an error that supports wrapping. Use -// it to test if an error wraps another error instance. -type causer interface { - Cause() error -} - -type unpacker interface { - Unpack() []error -} diff --git a/errors/errors_test.go b/errors/errors_test.go index f3e99e2bab9b..ce146ea412f0 100644 --- a/errors/errors_test.go +++ b/errors/errors_test.go @@ -1,212 +1,18 @@ package errors import ( - stdlib "errors" - "fmt" "testing" - - "github.com/pkg/errors" - "github.com/stretchr/testify/suite" ) -type errorsTestSuite struct { - suite.Suite -} - -func TestErrorsTestSuite(t *testing.T) { - suite.Run(t, new(errorsTestSuite)) -} - -func (s *errorsTestSuite) SetupSuite() { - s.T().Parallel() -} - -func (s *errorsTestSuite) TestCause() { - std := stdlib.New("this is a stdlib error") - - cases := map[string]struct { - err error - root error - }{ - "Errors are self-causing": { - err: ErrUnauthorized, - root: ErrUnauthorized, - }, - "Wrap reveals root cause": { - err: Wrap(ErrUnauthorized, "foo"), - root: ErrUnauthorized, - }, - "Cause works for stderr as root": { - err: Wrap(std, "Some helpful text"), - root: std, - }, - } - - for testName, tc := range cases { - s.Require().Equal(tc.root, errors.Cause(tc.err), testName) - } -} - -func (s *errorsTestSuite) TestErrorIs() { - cases := map[string]struct { - a *Error - b error - wantIs bool - }{ - "instance of the same error": { - a: ErrUnauthorized, - b: ErrUnauthorized, - wantIs: true, - }, - "two different coded errors": { - a: ErrUnauthorized, - b: ErrOutOfGas, - wantIs: false, - }, - "successful comparison to a wrapped error": { - a: ErrUnauthorized, - b: Wrap(ErrUnauthorized, "gone"), - wantIs: true, - }, - "unsuccessful comparison to a wrapped error": { - a: ErrUnauthorized, - b: Wrap(ErrInsufficientFee, "too big"), - wantIs: false, - }, - "not equal to stdlib error": { - a: ErrUnauthorized, - b: fmt.Errorf("stdlib error"), - wantIs: false, - }, - "not equal to a wrapped stdlib error": { - a: ErrUnauthorized, - b: Wrap(fmt.Errorf("stdlib error"), "wrapped"), - wantIs: false, - }, - "nil is nil": { - a: nil, - b: nil, - wantIs: true, - }, - "nil is any error nil": { - a: nil, - b: (*customError)(nil), - wantIs: true, - }, - "nil is not not-nil": { - a: nil, - b: ErrUnauthorized, - wantIs: false, - }, - "not-nil is not nil": { - a: ErrUnauthorized, - b: nil, - wantIs: false, - }, +func TestABCIError(t *testing.T) { + if err := ABCIError(testCodespace, 2, "custom"); err.Error() != "custom: tx parse error" { + t.Errorf("expected error message: custom: tx parse error, got: %v", err.Error()) } - for testName, tc := range cases { - s.Require().Equal(tc.wantIs, tc.a.Is(tc.b), testName) + if err := ABCIError("unknown", 1, "custom"); err.Error() != "custom: unknown" { + t.Errorf("expected error message: custom: unknown, got: %v", err.Error()) } } -func (s *errorsTestSuite) TestIsOf() { - require := s.Require() - - var errNil *Error - err := ErrInvalidAddress - errW := Wrap(ErrLogic, "more info") - - require.False(IsOf(nil), "nil should always have no causer") - require.False(IsOf(nil, err), "nil should always have no causer") - require.False(IsOf(errNil), "nil error should always have no causer") - require.False(IsOf(errNil, err), "nil error should always have no causer") - - require.False(IsOf(err)) - require.False(IsOf(err, nil)) - require.False(IsOf(err, ErrLogic)) - - require.True(IsOf(errW, ErrLogic)) - require.True(IsOf(errW, err, ErrLogic)) - require.True(IsOf(errW, nil, errW), "error should much itself") - err2 := errors.New("other error") - require.True(IsOf(err2, nil, err2), "error should much itself") -} - -type customError struct{} - -func (customError) Error() string { - return "custom error" -} - -func (s *errorsTestSuite) TestWrapEmpty() { - s.Require().Nil(Wrap(nil, "wrapping ")) -} - -func (s *errorsTestSuite) TestWrappedIs() { - require := s.Require() - err := Wrap(ErrTxTooLarge, "context") - require.True(stdlib.Is(err, ErrTxTooLarge)) - - err = Wrap(err, "more context") - require.True(stdlib.Is(err, ErrTxTooLarge)) - - err = Wrap(err, "even more context") - require.True(stdlib.Is(err, ErrTxTooLarge)) - - err = Wrap(ErrInsufficientFee, "...") - require.False(stdlib.Is(err, ErrTxTooLarge)) - - errs := stdlib.New("other") - require.True(stdlib.Is(errs, errs)) - - errw := &wrappedError{"msg", errs} - require.True(errw.Is(errw), "should match itself") - - require.True(stdlib.Is(ErrInsufficientFee.Wrap("wrapped"), ErrInsufficientFee)) - require.True(IsOf(ErrInsufficientFee.Wrap("wrapped"), ErrInsufficientFee)) - require.True(stdlib.Is(ErrInsufficientFee.Wrapf("wrapped"), ErrInsufficientFee)) - require.True(IsOf(ErrInsufficientFee.Wrapf("wrapped"), ErrInsufficientFee)) -} - -func (s *errorsTestSuite) TestWrappedIsMultiple() { - errTest := errors.New("test error") - errTest2 := errors.New("test error 2") - err := Wrap(errTest2, Wrap(errTest, "some random description").Error()) - s.Require().True(stdlib.Is(err, errTest2)) -} - -func (s *errorsTestSuite) TestWrappedIsFail() { - errTest := errors.New("test error") - errTest2 := errors.New("test error 2") - err := Wrap(errTest2, Wrap(errTest, "some random description").Error()) - s.Require().False(stdlib.Is(err, errTest)) -} - -func (s *errorsTestSuite) TestWrappedUnwrap() { - errTest := errors.New("test error") - err := Wrap(errTest, "some random description") - s.Require().Equal(errTest, stdlib.Unwrap(err)) -} - -func (s *errorsTestSuite) TestWrappedUnwrapMultiple() { - errTest := errors.New("test error") - errTest2 := errors.New("test error 2") - err := Wrap(errTest2, Wrap(errTest, "some random description").Error()) - s.Require().Equal(errTest2, stdlib.Unwrap(err)) -} - -func (s *errorsTestSuite) TestWrappedUnwrapFail() { - errTest := errors.New("test error") - errTest2 := errors.New("test error 2") - err := Wrap(errTest2, Wrap(errTest, "some random description").Error()) - s.Require().NotEqual(errTest, stdlib.Unwrap(err)) -} - -func (s *errorsTestSuite) TestABCIError() { - s.Require().Equal("custom: tx parse error", ABCIError(testCodespace, 2, "custom").Error()) - s.Require().Equal("custom: unknown", ABCIError("unknown", 1, "custom").Error()) -} - const testCodespace = "testtesttest" var ( diff --git a/errors/go.mod b/errors/go.mod index 91cf5a175e20..20ae1c3f4a92 100644 --- a/errors/go.mod +++ b/errors/go.mod @@ -1,17 +1,3 @@ -module cosmossdk.io/errors +module cosmossdk.io/errors/v2 go 1.20 - -require ( - github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.9.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/kr/pretty v0.3.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/errors/go.sum b/errors/go.sum index 4c118e9927a8..e69de29bb2d1 100644 --- a/errors/go.sum +++ b/errors/go.sum @@ -1,28 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/errors/handle.go b/errors/handle.go deleted file mode 100644 index 33c3fbfdeac2..000000000000 --- a/errors/handle.go +++ /dev/null @@ -1,12 +0,0 @@ -package errors - -import "fmt" - -// AssertNil panics on error -// Should be only used with interface methods, which require return error, but the -// error is always nil -func AssertNil(err error) { - if err != nil { - panic(fmt.Errorf("logic error - this should never happen. %w", err)) - } -} diff --git a/errors/stacktrace.go b/errors/stacktrace.go deleted file mode 100644 index d7021085db34..000000000000 --- a/errors/stacktrace.go +++ /dev/null @@ -1,120 +0,0 @@ -package errors - -import ( - "fmt" - "io" - "runtime" - "strings" - - "github.com/pkg/errors" -) - -func matchesFunc(f errors.Frame, prefixes ...string) bool { - fn := funcName(f) - for _, prefix := range prefixes { - if strings.HasPrefix(fn, prefix) { - return true - } - } - return false -} - -// funcName returns the name of this function, if known. -func funcName(f errors.Frame) string { - // this looks a bit like magic, but follows example here: - // https://github.com/pkg/errors/blob/v0.8.1/stack.go#L43-L50 - pc := uintptr(f) - 1 - fn := runtime.FuncForPC(pc) - if fn == nil { - return "unknown" - } - return fn.Name() -} - -func fileLine(f errors.Frame) (string, int) { - // this looks a bit like magic, but follows example here: - // https://github.com/pkg/errors/blob/v0.8.1/stack.go#L14-L27 - // as this is where we get the Frames - pc := uintptr(f) - 1 - fn := runtime.FuncForPC(pc) - if fn == nil { - return "unknown", 0 - } - return fn.FileLine(pc) -} - -func trimInternal(st errors.StackTrace) errors.StackTrace { - // trim our internal parts here - // manual error creation, or runtime for caught panics - for matchesFunc(st[0], - // where we create errors - "cosmossdk.io/errors.Wrap", - "cosmossdk.io/errors.Wrapf", - "cosmossdk.io/errors.WithType", - // runtime are added on panics - "runtime.", - // _test is defined in coverage tests, causing failure - // "/_test/" - ) { - st = st[1:] - } - // trim out outer wrappers (runtime.goexit and test library if present) - for l := len(st) - 1; l > 0 && matchesFunc(st[l], "runtime.", "testing."); l-- { - st = st[:l] - } - return st -} - -func writeSimpleFrame(s io.Writer, f errors.Frame) { - file, line := fileLine(f) - // cut file at "github.com/" - // TODO: generalize better for other hosts? - chunks := strings.SplitN(file, "github.com/", 2) - if len(chunks) == 2 { - file = chunks[1] - } - _, _ = fmt.Fprintf(s, " [%s:%d]", file, line) -} - -// Format works like pkg/errors, with additions. -// %s is just the error message -// %+v is the full stack trace -// %v appends a compressed [filename:line] where the error was created -// -// Inspired by https://github.com/pkg/errors/blob/v0.8.1/errors.go#L162-L176 -func (e *wrappedError) Format(s fmt.State, verb rune) { - // normal output here.... - if verb != 'v' { - _, _ = fmt.Fprint(s, e.Error()) - return - } - // work with the stack trace... whole or part - stack := trimInternal(stackTrace(e)) - if s.Flag('+') { - _, _ = fmt.Fprintf(s, "%+v\n", stack) - _, _ = fmt.Fprint(s, e.Error()) - } else { - _, _ = fmt.Fprint(s, e.Error()) - writeSimpleFrame(s, stack[0]) - } -} - -// stackTrace returns the first found stack trace frame carried by given error -// or any wrapped error. It returns nil if no stack trace is found. -func stackTrace(err error) errors.StackTrace { - type stackTracer interface { - StackTrace() errors.StackTrace - } - - for { - if st, ok := err.(stackTracer); ok { - return st.StackTrace() - } - - if c, ok := err.(causer); ok { - err = c.Cause() - } else { - return nil - } - } -} diff --git a/errors/stacktrace_test.go b/errors/stacktrace_test.go deleted file mode 100644 index c0a8d6141c25..000000000000 --- a/errors/stacktrace_test.go +++ /dev/null @@ -1,62 +0,0 @@ -package errors - -import ( - "errors" - "fmt" - "reflect" - "strings" -) - -func (s *errorsTestSuite) TestStackTrace() { - cases := map[string]struct { - err error - wantError string - }{ - "New gives us a stacktrace": { - err: Wrap(ErrNoSignatures, "name"), - wantError: "name: no signatures supplied", - }, - "Wrapping stderr gives us a stacktrace": { - err: Wrap(fmt.Errorf("foo"), "standard"), - wantError: "standard: foo", - }, - "Wrapping pkg/errors gives us clean stacktrace": { - err: Wrap(errors.New("bar"), "pkg"), - wantError: "pkg: bar", - }, - "Wrapping inside another function is still clean": { - err: Wrap(fmt.Errorf("indirect"), "do the do"), - wantError: "do the do: indirect", - }, - } - - // Wrapping code is unwanted in the errors stack trace. - unwantedSrc := []string{ - "cosmossdk.io/errors.Wrap\n", - "cosmossdk.io/errors.Wrapf\n", - "runtime.goexit\n", - } - const thisTestSrc = "errors/stacktrace_test.go" - - for _, tc := range cases { - s.Require().True(reflect.DeepEqual(tc.err.Error(), tc.wantError)) - s.Require().NotNil(stackTrace(tc.err)) - fullStack := fmt.Sprintf("%+v", tc.err) - s.Require().True(strings.Contains(fullStack, thisTestSrc)) - s.Require().True(strings.Contains(fullStack, tc.wantError)) - - for _, src := range unwantedSrc { - if strings.Contains(fullStack, src) { - s.T().Logf("Stack trace below\n----%s\n----", fullStack) - s.T().Logf("full stack contains unwanted source file path: %q", src) - } - } - - tinyStack := fmt.Sprintf("%v", tc.err) - s.Require().True(strings.HasPrefix(tinyStack, tc.wantError)) - s.Require().False(strings.Contains(tinyStack, "\n")) - // contains a link to where it was created, which must - // be here, not the Wrap() function - s.Require().True(strings.Contains(tinyStack, thisTestSrc)) - } -} From fbd3b75c5a8b46819300dd052a98ee66e2069f63 Mon Sep 17 00:00:00 2001 From: caseylove Date: Tue, 11 Jun 2024 18:44:33 +0800 Subject: [PATCH 36/41] docs: remove duplicate words (#20622) --- docs/architecture/adr-034-account-rekeying.md | 2 +- docs/architecture/adr-064-abci-2.0.md | 2 +- docs/build/building-apps/03-app-upgrade.md | 2 +- docs/rfc/rfc-006-handlers.md | 2 +- x/auth/vesting/README.md | 2 +- x/circuit/README.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/architecture/adr-034-account-rekeying.md b/docs/architecture/adr-034-account-rekeying.md index 951c30f6f82b..111a162ad811 100644 --- a/docs/architecture/adr-034-account-rekeying.md +++ b/docs/architecture/adr-034-account-rekeying.md @@ -43,7 +43,7 @@ The MsgChangePubKey transaction needs to be signed by the existing pubkey in sta Once, approved, the handler for this message type, which takes in the AccountKeeper, will update the in-state pubkey for the account and replace it with the pubkey from the Msg. -An account that has had its pubkey changed cannot be automatically pruned from state. This is because if pruned, the original pubkey of the account would be needed to recreate the same address, but the owner of the address may not have the original pubkey anymore. Currently, we do not automatically prune any accounts anyways, but we would like to keep this option open the road (this is the purpose of account numbers). To resolve this, we charge an additional gas fee for this operation to compensate for this this externality (this bound gas amount is configured as parameter `PubKeyChangeCost`). The bonus gas is charged inside the handler, using the `ConsumeGas` function. Furthermore, in the future, we can allow accounts that have rekeyed manually prune themselves using a new Msg type such as `MsgDeleteAccount`. Manually pruning accounts can give a gas refund as an incentive for performing the action. +An account that has had its pubkey changed cannot be automatically pruned from state. This is because if pruned, the original pubkey of the account would be needed to recreate the same address, but the owner of the address may not have the original pubkey anymore. Currently, we do not automatically prune any accounts anyways, but we would like to keep this option open the road (this is the purpose of account numbers). To resolve this, we charge an additional gas fee for this operation to compensate for this externality (this bound gas amount is configured as parameter `PubKeyChangeCost`). The bonus gas is charged inside the handler, using the `ConsumeGas` function. Furthermore, in the future, we can allow accounts that have rekeyed manually prune themselves using a new Msg type such as `MsgDeleteAccount`. Manually pruning accounts can give a gas refund as an incentive for performing the action. ```go amount := ak.GetParams(ctx).PubKeyChangeCost diff --git a/docs/architecture/adr-064-abci-2.0.md b/docs/architecture/adr-064-abci-2.0.md index 7d9f270f0205..d73cfcc85f4f 100644 --- a/docs/architecture/adr-064-abci-2.0.md +++ b/docs/architecture/adr-064-abci-2.0.md @@ -120,7 +120,7 @@ Recall, an implementation of `ExtendVoteHandler` does NOT need to be determinist however, given a set of vote extensions, `VerifyVoteExtensionHandler` must be deterministic, otherwise the chain may suffer from liveness faults. In addition, recall CometBFT proceeds in rounds for each height, so if a decision cannot be -made about about a block proposal at a given height, CometBFT will proceed to the +made about a block proposal at a given height, CometBFT will proceed to the next round and thus will execute `ExtendVote` and `VerifyVoteExtension` again for the new round for each validator until 2/3 valid pre-commits can be obtained. diff --git a/docs/build/building-apps/03-app-upgrade.md b/docs/build/building-apps/03-app-upgrade.md index ebaddb3f75ea..5276b0035762 100644 --- a/docs/build/building-apps/03-app-upgrade.md +++ b/docs/build/building-apps/03-app-upgrade.md @@ -63,7 +63,7 @@ keeper's PreBlocker method: func (app *myApp) PreBlocker(ctx sdk.Context, req req.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error) { // For demonstration sake, the app PreBlocker only returns the upgrade module pre-blocker. // In a real app, the module manager should call all pre-blockers - // return return app.ModuleManager.PreBlock(ctx, req) + // return app.ModuleManager.PreBlock(ctx, req) return app.upgradeKeeper.PreBlocker(ctx, req) } ``` diff --git a/docs/rfc/rfc-006-handlers.md b/docs/rfc/rfc-006-handlers.md index b0cb11342b7d..479b2006300f 100644 --- a/docs/rfc/rfc-006-handlers.md +++ b/docs/rfc/rfc-006-handlers.md @@ -23,7 +23,7 @@ the use of [gRPC](https://github.com/TinyGo-org/TinyGo/issues/2814) within modul This has led us to look at a design which would allow the usage of TinyGo and other technologies. -We looked at TinyGo for our first target in order to compile down down to a 32 bit environment which could be used with +We looked at TinyGo for our first target in order to compile down to a 32 bit environment which could be used with things like [Risc-0](https://www.risczero.com/), [Fluent](https://fluentlabs.xyz/) and other technologies. When speaking with the teams behind these technologies we found that they were interested in using the Cosmos SDK but were unable to due to being unable to use TinyGo or the Cosmos SDK go code in a 32 bit environment. diff --git a/x/auth/vesting/README.md b/x/auth/vesting/README.md index 222b73f6bcc6..7c8e6208fb38 100644 --- a/x/auth/vesting/README.md +++ b/x/auth/vesting/README.md @@ -596,7 +596,7 @@ simd tx vesting --help #### create-periodic-vesting-account -The `create-periodic-vesting-account` command creates a new vesting account funded with an allocation of tokens, where a sequence of coins and period length in seconds. Periods are sequential, in that the duration of of a period only starts at the end of the previous period. The duration of the first period starts upon account creation. +The `create-periodic-vesting-account` command creates a new vesting account funded with an allocation of tokens, where a sequence of coins and period length in seconds. Periods are sequential, in that the duration of a period only starts at the end of the previous period. The duration of the first period starts upon account creation. ```bash simd tx vesting create-periodic-vesting-account [to_address] [periods_json_file] [flags] diff --git a/x/circuit/README.md b/x/circuit/README.md index f0d2d5d8df20..25843ed2033a 100644 --- a/x/circuit/README.md +++ b/x/circuit/README.md @@ -92,7 +92,7 @@ Reset is called by an authorized account to enable execution for a specific msgU ```protobuf // ResetCircuitBreaker resumes processing of Msg's in the state machine that - // have been been paused using TripCircuitBreaker. + // have been paused using TripCircuitBreaker. rpc ResetCircuitBreaker(MsgResetCircuitBreaker) returns (MsgResetCircuitBreakerResponse); ``` From 150ca963f2b0dfe7e0b86d6a05b31e4f75246b63 Mon Sep 17 00:00:00 2001 From: Facundo Medica <14063057+facundomedica@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:27:20 +0200 Subject: [PATCH 37/41] feat(x/mint)!: Replace InflationCalculationFn with MintFn + simple epoch minting (#20363) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Marko --- api/cosmos/mint/v1beta1/mint.pulsar.go | 196 ++++++++++++++------ simapp/app.go | 2 +- simapp/app_di.go | 8 +- simapp/go.mod | 2 +- simapp/mint_fn.go | 125 +++++++++++++ tests/e2e/bank/grpc.go | 8 +- tests/e2e/distribution/grpc_query_suite.go | 6 +- tests/go.mod | 2 +- x/epochs/depinject.go | 4 +- x/epochs/keeper/epoch_test.go | 7 +- x/epochs/keeper/genesis_test.go | 2 +- x/epochs/keeper/grpc_query_test.go | 2 +- x/epochs/keeper/keeper.go | 6 +- x/epochs/keeper/keeper_test.go | 8 +- x/epochs/module.go | 6 +- x/epochs/types/genesis.go | 1 + x/group/go.mod | 1 + x/group/go.sum | 2 + x/mint/CHANGELOG.md | 4 +- x/mint/README.md | 50 ++++- x/mint/depinject.go | 24 ++- x/mint/epoch_hooks.go | 34 ++++ x/mint/go.mod | 1 + x/mint/go.sum | 2 + x/mint/keeper/abci.go | 76 +------- x/mint/keeper/keeper.go | 84 +++++++++ x/mint/keeper/keeper_test.go | 101 ++++++++-- x/mint/keeper/msg_server_test.go | 2 +- x/mint/module.go | 27 +-- x/mint/module_test.go | 92 +++++++++ x/mint/proto/cosmos/mint/v1beta1/mint.proto | 5 + x/mint/types/genesis.go | 6 + x/mint/types/genesis_test.go | 21 +++ x/mint/types/mint.pb.go | 118 +++++++++--- x/mint/types/minter_test.go | 22 +++ x/mint/types/params.go | 49 +---- x/mint/types/params_test.go | 112 +++++++++++ 37 files changed, 949 insertions(+), 269 deletions(-) create mode 100644 simapp/mint_fn.go create mode 100644 x/mint/epoch_hooks.go create mode 100644 x/mint/module_test.go create mode 100644 x/mint/types/genesis_test.go create mode 100644 x/mint/types/params_test.go diff --git a/api/cosmos/mint/v1beta1/mint.pulsar.go b/api/cosmos/mint/v1beta1/mint.pulsar.go index 2ad70c1ed755..99895b25532d 100644 --- a/api/cosmos/mint/v1beta1/mint.pulsar.go +++ b/api/cosmos/mint/v1beta1/mint.pulsar.go @@ -10,6 +10,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/anypb" io "io" reflect "reflect" sync "sync" @@ -19,6 +20,7 @@ var ( md_Minter protoreflect.MessageDescriptor fd_Minter_inflation protoreflect.FieldDescriptor fd_Minter_annual_provisions protoreflect.FieldDescriptor + fd_Minter_data protoreflect.FieldDescriptor ) func init() { @@ -26,6 +28,7 @@ func init() { md_Minter = File_cosmos_mint_v1beta1_mint_proto.Messages().ByName("Minter") fd_Minter_inflation = md_Minter.Fields().ByName("inflation") fd_Minter_annual_provisions = md_Minter.Fields().ByName("annual_provisions") + fd_Minter_data = md_Minter.Fields().ByName("data") } var _ protoreflect.Message = (*fastReflection_Minter)(nil) @@ -105,6 +108,12 @@ func (x *fastReflection_Minter) Range(f func(protoreflect.FieldDescriptor, proto return } } + if len(x.Data) != 0 { + value := protoreflect.ValueOfBytes(x.Data) + if !f(fd_Minter_data, value) { + return + } + } } // Has reports whether a field is populated. @@ -124,6 +133,8 @@ func (x *fastReflection_Minter) Has(fd protoreflect.FieldDescriptor) bool { return x.Inflation != "" case "cosmos.mint.v1beta1.Minter.annual_provisions": return x.AnnualProvisions != "" + case "cosmos.mint.v1beta1.Minter.data": + return len(x.Data) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -144,6 +155,8 @@ func (x *fastReflection_Minter) Clear(fd protoreflect.FieldDescriptor) { x.Inflation = "" case "cosmos.mint.v1beta1.Minter.annual_provisions": x.AnnualProvisions = "" + case "cosmos.mint.v1beta1.Minter.data": + x.Data = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -166,6 +179,9 @@ func (x *fastReflection_Minter) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.mint.v1beta1.Minter.annual_provisions": value := x.AnnualProvisions return protoreflect.ValueOfString(value) + case "cosmos.mint.v1beta1.Minter.data": + value := x.Data + return protoreflect.ValueOfBytes(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -190,6 +206,8 @@ func (x *fastReflection_Minter) Set(fd protoreflect.FieldDescriptor, value proto x.Inflation = value.Interface().(string) case "cosmos.mint.v1beta1.Minter.annual_provisions": x.AnnualProvisions = value.Interface().(string) + case "cosmos.mint.v1beta1.Minter.data": + x.Data = value.Bytes() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -214,6 +232,8 @@ func (x *fastReflection_Minter) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field inflation of message cosmos.mint.v1beta1.Minter is not mutable")) case "cosmos.mint.v1beta1.Minter.annual_provisions": panic(fmt.Errorf("field annual_provisions of message cosmos.mint.v1beta1.Minter is not mutable")) + case "cosmos.mint.v1beta1.Minter.data": + panic(fmt.Errorf("field data of message cosmos.mint.v1beta1.Minter is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -231,6 +251,8 @@ func (x *fastReflection_Minter) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfString("") case "cosmos.mint.v1beta1.Minter.annual_provisions": return protoreflect.ValueOfString("") + case "cosmos.mint.v1beta1.Minter.data": + return protoreflect.ValueOfBytes(nil) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.mint.v1beta1.Minter")) @@ -308,6 +330,10 @@ func (x *fastReflection_Minter) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.Data) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -337,6 +363,13 @@ func (x *fastReflection_Minter) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Data) > 0 { + i -= len(x.Data) + copy(dAtA[i:], x.Data) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Data))) + i-- + dAtA[i] = 0x1a + } if len(x.AnnualProvisions) > 0 { i -= len(x.AnnualProvisions) copy(dAtA[i:], x.AnnualProvisions) @@ -464,6 +497,40 @@ func (x *fastReflection_Minter) ProtoMethods() *protoiface.Methods { } x.AnnualProvisions = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Data = append(x.Data[:0], dAtA[iNdEx:postIndex]...) + if x.Data == nil { + x.Data = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1310,6 +1377,9 @@ type Minter struct { Inflation string `protobuf:"bytes,1,opt,name=inflation,proto3" json:"inflation,omitempty"` // current annual expected provisions AnnualProvisions string `protobuf:"bytes,2,opt,name=annual_provisions,json=annualProvisions,proto3" json:"annual_provisions,omitempty"` + // data is any custom data that the user might want to put in the minter, to + // be used in the minting process. + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *Minter) Reset() { @@ -1346,6 +1416,13 @@ func (x *Minter) GetAnnualProvisions() string { return "" } +func (x *Minter) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + // Params defines the parameters for the x/mint module. type Params struct { state protoimpl.MessageState @@ -1447,67 +1524,70 @@ var file_cosmos_mint_v1beta1_mint_proto_rawDesc = []byte{ 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, - 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x06, 0x4d, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x5f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x44, 0x65, 0x63, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb9, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, - 0x6a, 0x0a, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, + 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x06, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x12, + 0x4f, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, + 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, + 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, + 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, + 0x61, 0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x6a, + 0x0a, 0x15, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, + 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x69, 0x6e, + 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x5b, 0x0a, 0x0d, 0x69, 0x6e, 0x66, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, - 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x0d, 0x69, - 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x5b, 0x0a, 0x0d, 0x69, 0x6e, 0x66, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, - 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x0a, 0x67, 0x6f, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x79, 0x65, 0x61, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x50, - 0x65, 0x72, 0x59, 0x65, 0x61, 0x72, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, - 0x70, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x3a, 0x1d, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, - 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x42, 0xc4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x4d, - 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x3b, 0x6d, 0x69, 0x6e, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, - 0x4d, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x6e, 0x74, - 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x4d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, - 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x4d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x4d, 0x69, 0x6e, 0x74, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x0a, 0x67, 0x6f, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x79, 0x65, 0x61, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x50, 0x65, + 0x72, 0x59, 0x65, 0x61, 0x72, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x3a, 0x1d, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x42, 0xc4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x4d, 0x69, + 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x6d, 0x69, 0x6e, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4d, + 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x4d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1f, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x4d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x4d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/simapp/app.go b/simapp/app.go index 35a0c71bc745..348359921049 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -171,7 +171,7 @@ type SimApp struct { ConsensusParamsKeeper consensusparamkeeper.Keeper CircuitKeeper circuitkeeper.Keeper PoolKeeper poolkeeper.Keeper - EpochsKeeper epochskeeper.Keeper + EpochsKeeper *epochskeeper.Keeper // managers ModuleManager *module.Manager diff --git a/simapp/app_di.go b/simapp/app_di.go index 7a459a18507e..d2b27c7eefdc 100644 --- a/simapp/app_di.go +++ b/simapp/app_di.go @@ -93,7 +93,7 @@ type SimApp struct { ConsensusParamsKeeper consensuskeeper.Keeper CircuitBreakerKeeper circuitkeeper.Keeper PoolKeeper poolkeeper.Keeper - EpochsKeeper epochskeeper.Keeper + EpochsKeeper *epochskeeper.Keeper // simulation manager sm *module.SimulationManager @@ -111,7 +111,8 @@ func init() { // AppConfig returns the default app config. func AppConfig() depinject.Config { return depinject.Configs( - appConfig, // Alternatively use appconfig.LoadYAML(AppConfigYAML) + appConfig, // Alternatively use appconfig.LoadYAML(AppConfigYAML) + depinject.Provide(ProvideExampleMintFn), // optional: override the mint module's mint function with epoched minting ) } @@ -174,8 +175,7 @@ func NewSimApp( // // For providing a custom inflation function for x/mint add here your - // custom function that implements the minttypes.InflationCalculationFn - // interface. + // custom function that implements the minttypes.MintFn interface. ), ) ) diff --git a/simapp/go.mod b/simapp/go.mod index 46e39f69b058..0e49796e23c6 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -19,7 +19,7 @@ require ( cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/distribution v0.0.0-20240227221813-a248d05f70f4 - cosmossdk.io/x/epochs v0.0.0-00010101000000-000000000000 + cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 cosmossdk.io/x/evidence v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/feegrant v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a diff --git a/simapp/mint_fn.go b/simapp/mint_fn.go new file mode 100644 index 000000000000..e34aca38f496 --- /dev/null +++ b/simapp/mint_fn.go @@ -0,0 +1,125 @@ +package simapp + +import ( + "context" + "encoding/binary" + + "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/event" + "cosmossdk.io/math" + authtypes "cosmossdk.io/x/auth/types" + banktypes "cosmossdk.io/x/bank/types" + minttypes "cosmossdk.io/x/mint/types" + stakingtypes "cosmossdk.io/x/staking/types" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type MintBankKeeper interface { + MintCoins(ctx context.Context, moduleName string, coins sdk.Coins) error + SendCoinsFromModuleToModule(ctx context.Context, senderModule string, recipientModule string, amt sdk.Coins) error +} + +// ProvideExampleMintFn returns the function used in x/mint's endblocker to mint new tokens. +// Note that this function can not have the mint keeper as a parameter because it would create a cyclic dependency. +func ProvideExampleMintFn(bankKeeper MintBankKeeper) minttypes.MintFn { + return func(ctx context.Context, env appmodule.Environment, minter *minttypes.Minter, epochID string, epochNumber int64) error { + // in this example we ignore epochNumber as we don't care what epoch we are in, we just assume we are being called every minute. + if epochID != "minute" { + return nil + } + + var stakingParams stakingtypes.QueryParamsResponse + err := env.QueryRouterService.InvokeTyped(ctx, &stakingtypes.QueryParamsRequest{}, &stakingParams) + if err != nil { + return err + } + + var bankSupply banktypes.QuerySupplyOfResponse + err = env.QueryRouterService.InvokeTyped(ctx, &banktypes.QuerySupplyOfRequest{Denom: stakingParams.Params.BondDenom}, &bankSupply) + if err != nil { + return err + } + stakingTokenSupply := bankSupply.Amount + + var mintParams minttypes.QueryParamsResponse + err = env.QueryRouterService.InvokeTyped(ctx, &minttypes.QueryParamsRequest{}, &mintParams) + if err != nil { + return err + } + + var stakingPool stakingtypes.QueryPoolResponse + err = env.QueryRouterService.InvokeTyped(ctx, &stakingtypes.QueryPoolRequest{}, &stakingPool) + if err != nil { + return err + } + + // bondedRatio + bondedRatio := math.LegacyNewDecFromInt(stakingPool.Pool.BondedTokens).QuoInt(stakingTokenSupply.Amount) + minter.Inflation = minter.NextInflationRate(mintParams.Params, bondedRatio) + minter.AnnualProvisions = minter.NextAnnualProvisions(mintParams.Params, stakingTokenSupply.Amount) + + // to get a more accurate amount of tokens minted, we get, and later store, last minting time. + + // if this is the first time minting, we initialize the minter.Data with the current time - 60s + // to mint tokens at the beginning. Note: this is a custom behavior to avoid breaking tests. + if minter.Data == nil { + minter.Data = make([]byte, 8) + binary.BigEndian.PutUint64(minter.Data, (uint64)(env.HeaderService.HeaderInfo(ctx).Time.Unix()-60)) + } + + lastMint := binary.BigEndian.Uint64(minter.Data) + binary.BigEndian.PutUint64(minter.Data, (uint64)(env.HeaderService.HeaderInfo(ctx).Time.Unix())) + + // calculate the amount of tokens to mint, based on the time since the last mint + secsSinceLastMint := env.HeaderService.HeaderInfo(ctx).Time.Unix() - (int64)(lastMint) + provisionAmt := minter.AnnualProvisions.QuoInt64(31536000).MulInt64(secsSinceLastMint) // 31536000 = seconds in a year + mintedCoin := sdk.NewCoin(mintParams.Params.MintDenom, provisionAmt.TruncateInt()) + maxSupply := mintParams.Params.MaxSupply + totalSupply := stakingTokenSupply.Amount + + if !maxSupply.IsZero() { + // supply is not infinite, check the amount to mint + remainingSupply := maxSupply.Sub(totalSupply) + + if remainingSupply.LTE(math.ZeroInt()) { + // max supply reached, no new tokens will be minted + // also handles the case where totalSupply > maxSupply + return nil + } + + // if the amount to mint is greater than the remaining supply, mint the remaining supply + if mintedCoin.Amount.GT(remainingSupply) { + mintedCoin.Amount = remainingSupply + } + } + + if mintedCoin.Amount.IsZero() { + // skip as no coins need to be minted + return nil + } + + mintedCoins := sdk.NewCoins(mintedCoin) + if err := bankKeeper.MintCoins(ctx, minttypes.ModuleName, mintedCoins); err != nil { + return err + } + + // Example of custom send while minting + // Send some tokens to a "team account" + // if err = bankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, ... ); err != nil { + // return err + // } + + if err = bankKeeper.SendCoinsFromModuleToModule(ctx, minttypes.ModuleName, authtypes.FeeCollectorName, mintedCoins); err != nil { + return err + } + + return env.EventService.EventManager(ctx).EmitKV( + minttypes.EventTypeMint, + event.NewAttribute(minttypes.AttributeKeyBondedRatio, bondedRatio.String()), + event.NewAttribute(minttypes.AttributeKeyInflation, minter.Inflation.String()), + event.NewAttribute(minttypes.AttributeKeyAnnualProvisions, minter.AnnualProvisions.String()), + event.NewAttribute(sdk.AttributeKeyAmount, mintedCoin.Amount.String()), + ) + } +} diff --git a/tests/e2e/bank/grpc.go b/tests/e2e/bank/grpc.go index 3f17667a4aa5..29f57bc4ae84 100644 --- a/tests/e2e/bank/grpc.go +++ b/tests/e2e/bank/grpc.go @@ -35,7 +35,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { &types.QueryTotalSupplyResponse{ Supply: sdk.NewCoins( sdk.NewCoin(fmt.Sprintf("%stoken", val.GetMoniker()), s.cfg.AccountTokens), - sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), + sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(47))), ), Pagination: &query.PageResponse{ Total: 2, @@ -50,7 +50,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(47))), }, }, { @@ -61,7 +61,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(6))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(47))), }, }, { @@ -72,7 +72,7 @@ func (s *E2ETestSuite) TestTotalSupplyGRPCHandler() { }, &types.QuerySupplyOfResponse{}, &types.QuerySupplyOfResponse{ - Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(3))), + Amount: sdk.NewCoin(s.cfg.BondDenom, s.cfg.StakingTokens.Add(math.NewInt(47))), }, }, { diff --git a/tests/e2e/distribution/grpc_query_suite.go b/tests/e2e/distribution/grpc_query_suite.go index d90a74988aa8..4a5a2c3475b8 100644 --- a/tests/e2e/distribution/grpc_query_suite.go +++ b/tests/e2e/distribution/grpc_query_suite.go @@ -116,7 +116,7 @@ func (s *GRPCQueryTestSuite) TestQueryOutstandingRewardsGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - rewards, err := sdk.ParseDecCoins("5.88stake") + rewards, err := sdk.ParseDecCoins("46.06stake") s.Require().NoError(err) testCases := []struct { @@ -170,7 +170,7 @@ func (s *GRPCQueryTestSuite) TestQueryValidatorCommissionGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - commission, err := sdk.ParseDecCoins("2.94stake") + commission, err := sdk.ParseDecCoins("23.03stake") s.Require().NoError(err) testCases := []struct { @@ -283,7 +283,7 @@ func (s *GRPCQueryTestSuite) TestQueryDelegatorRewardsGRPC() { val := s.network.GetValidators()[0] baseURL := val.GetAPIAddress() - rewards, err := sdk.ParseDecCoins("2.94stake") + rewards, err := sdk.ParseDecCoins("23.03stake") s.Require().NoError(err) testCases := []struct { diff --git a/tests/go.mod b/tests/go.mod index c32b5d0d4492..606bab894402 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -65,7 +65,7 @@ require ( cosmossdk.io/client/v2 v2.0.0-20230630094428-02b760776860 // indirect cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect - cosmossdk.io/x/epochs v0.0.0-00010101000000-000000000000 // indirect + cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/epochs/depinject.go b/x/epochs/depinject.go index 0239cc0081a6..f09f9f95d9f8 100644 --- a/x/epochs/depinject.go +++ b/x/epochs/depinject.go @@ -39,7 +39,7 @@ type ModuleInputs struct { type ModuleOutputs struct { depinject.Out - EpochKeeper keeper.Keeper + EpochKeeper *keeper.Keeper Module appmodule.AppModule } @@ -49,7 +49,7 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { return ModuleOutputs{EpochKeeper: k, Module: m} } -func InvokeSetHooks(keeper keeper.Keeper, hooks map[string]types.EpochHooksWrapper) error { +func InvokeSetHooks(keeper *keeper.Keeper, hooks map[string]types.EpochHooksWrapper) error { if hooks == nil { return nil } diff --git a/x/epochs/keeper/epoch_test.go b/x/epochs/keeper/epoch_test.go index 0977940afeca..24dcc4764042 100644 --- a/x/epochs/keeper/epoch_test.go +++ b/x/epochs/keeper/epoch_test.go @@ -93,9 +93,10 @@ func (s *KeeperTestSuite) TestEpochLifeCycle() { allEpochs, err := s.EpochsKeeper.AllEpochInfos(s.Ctx) s.Require().NoError(err) - s.Require().Len(allEpochs, 4) + s.Require().Len(allEpochs, 5) s.Require().Equal(allEpochs[0].Identifier, "day") // alphabetical order s.Require().Equal(allEpochs[1].Identifier, "hour") - s.Require().Equal(allEpochs[2].Identifier, "monthly") - s.Require().Equal(allEpochs[3].Identifier, "week") + s.Require().Equal(allEpochs[2].Identifier, "minute") + s.Require().Equal(allEpochs[3].Identifier, "monthly") + s.Require().Equal(allEpochs[4].Identifier, "week") } diff --git a/x/epochs/keeper/genesis_test.go b/x/epochs/keeper/genesis_test.go index 4400cb65908f..eb42f17246c8 100644 --- a/x/epochs/keeper/genesis_test.go +++ b/x/epochs/keeper/genesis_test.go @@ -18,7 +18,7 @@ func TestEpochsExportGenesis(t *testing.T) { genesis, err := epochsKeeper.ExportGenesis(ctx) require.NoError(t, err) - require.Len(t, genesis.Epochs, 3) + require.Len(t, genesis.Epochs, 4) expectedEpochs := types.DefaultGenesis().Epochs for i := 0; i < len(expectedEpochs); i++ { diff --git a/x/epochs/keeper/grpc_query_test.go b/x/epochs/keeper/grpc_query_test.go index 760c0e978bc2..e83b11e2d1fe 100644 --- a/x/epochs/keeper/grpc_query_test.go +++ b/x/epochs/keeper/grpc_query_test.go @@ -11,7 +11,7 @@ func (s *KeeperTestSuite) TestQueryEpochInfos() { // Check that querying epoch infos on default genesis returns the default genesis epoch infos epochInfosResponse, err := queryClient.EpochInfos(s.Ctx, &types.QueryEpochsInfoRequest{}) s.Require().NoError(err) - s.Require().Len(epochInfosResponse.Epochs, 3) + s.Require().Len(epochInfosResponse.Epochs, 4) expectedEpochs := types.DefaultGenesis().Epochs for id := range expectedEpochs { expectedEpochs[id].StartTime = s.Ctx.BlockTime() diff --git a/x/epochs/keeper/keeper.go b/x/epochs/keeper/keeper.go index 2b47d40be2b9..c15ed267e989 100644 --- a/x/epochs/keeper/keeper.go +++ b/x/epochs/keeper/keeper.go @@ -19,7 +19,7 @@ type Keeper struct { } // NewKeeper returns a new keeper by codec and storeKey inputs. -func NewKeeper(env appmodule.Environment, cdc codec.BinaryCodec) Keeper { +func NewKeeper(env appmodule.Environment, cdc codec.BinaryCodec) *Keeper { sb := collections.NewSchemaBuilder(env.KVStoreService) k := Keeper{ Environment: env, @@ -32,11 +32,11 @@ func NewKeeper(env appmodule.Environment, cdc codec.BinaryCodec) Keeper { panic(err) } k.Schema = schema - return k + return &k } // Set the gamm hooks. -func (k Keeper) SetHooks(eh types.EpochHooks) Keeper { +func (k *Keeper) SetHooks(eh types.EpochHooks) *Keeper { if k.hooks != nil { panic("cannot set epochs hooks twice") } diff --git a/x/epochs/keeper/keeper_test.go b/x/epochs/keeper/keeper_test.go index 354669f76a61..07cc9a35eb16 100644 --- a/x/epochs/keeper/keeper_test.go +++ b/x/epochs/keeper/keeper_test.go @@ -27,7 +27,7 @@ type KeeperTestSuite struct { suite.Suite Ctx sdk.Context environment appmodule.Environment - EpochsKeeper epochskeeper.Keeper + EpochsKeeper *epochskeeper.Keeper queryClient types.QueryClient } @@ -39,7 +39,7 @@ func (s *KeeperTestSuite) SetupTest() { s.environment = environment queryRouter := baseapp.NewGRPCQueryRouter() cfg := module.NewConfigurator(nil, nil, queryRouter) - types.RegisterQueryServer(cfg.QueryServer(), epochskeeper.NewQuerier(s.EpochsKeeper)) + types.RegisterQueryServer(cfg.QueryServer(), epochskeeper.NewQuerier(*s.EpochsKeeper)) grpcQueryService := &baseapp.QueryServiceTestHelper{ GRPCQueryRouter: queryRouter, Ctx: s.Ctx, @@ -49,7 +49,7 @@ func (s *KeeperTestSuite) SetupTest() { s.queryClient = types.NewQueryClient(grpcQueryService) } -func Setup(t *testing.T) (sdk.Context, epochskeeper.Keeper, appmodule.Environment) { +func Setup(t *testing.T) (sdk.Context, *epochskeeper.Keeper, appmodule.Environment) { t.Helper() key := storetypes.NewKVStoreKey(types.StoreKey) @@ -67,7 +67,7 @@ func Setup(t *testing.T) (sdk.Context, epochskeeper.Keeper, appmodule.Environmen ctx.WithHeaderInfo(header.Info{Height: 1, Time: time.Now().UTC(), ChainID: "epochs"}) err := epochsKeeper.InitGenesis(ctx, *types.DefaultGenesis()) require.NoError(t, err) - SetEpochStartTime(ctx, epochsKeeper) + SetEpochStartTime(ctx, *epochsKeeper) return ctx, epochsKeeper, environment } diff --git a/x/epochs/module.go b/x/epochs/module.go index 23f39c362075..8365f189cfa2 100644 --- a/x/epochs/module.go +++ b/x/epochs/module.go @@ -36,11 +36,11 @@ const ConsensusVersion = 1 // AppModule implements the AppModule interface for the epochs module. type AppModule struct { cdc codec.Codec - keeper keeper.Keeper + keeper *keeper.Keeper } // NewAppModule creates a new AppModule object. -func NewAppModule(cdc codec.Codec, keeper keeper.Keeper) AppModule { +func NewAppModule(cdc codec.Codec, keeper *keeper.Keeper) AppModule { return AppModule{ cdc: cdc, keeper: keeper, @@ -67,7 +67,7 @@ func (AppModule) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *gwrunt // RegisterServices registers module services. func (am AppModule) RegisterServices(registrar grpc.ServiceRegistrar) error { - types.RegisterQueryServer(registrar, keeper.NewQuerier(am.keeper)) + types.RegisterQueryServer(registrar, keeper.NewQuerier(*am.keeper)) return nil } diff --git a/x/epochs/types/genesis.go b/x/epochs/types/genesis.go index cf60354782b1..1cdea892df49 100644 --- a/x/epochs/types/genesis.go +++ b/x/epochs/types/genesis.go @@ -17,6 +17,7 @@ func DefaultGenesis() *GenesisState { epochs := []EpochInfo{ NewGenesisEpochInfo("day", time.Hour*24), // alphabetical order NewGenesisEpochInfo("hour", time.Hour), + NewGenesisEpochInfo("minute", time.Minute), NewGenesisEpochInfo("week", time.Hour*24*7), } return NewGenesisState(epochs) diff --git a/x/group/go.mod b/x/group/go.mod index 49d909ae2463..ce0ad4f7500b 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -44,6 +44,7 @@ require ( cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 // indirect + cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 // indirect cosmossdk.io/x/tx v0.13.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect diff --git a/x/group/go.sum b/x/group/go.sum index d9cc54575ff2..c4d6d9369dfe 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -12,6 +12,8 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= +cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 h1:GuBrfHsK3RD5vlD4DuBz3DXslR6VlnzrYmHOC3L679Q= +cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337/go.mod h1:PhLn1pMBilyRC4GfRkoYhm+XVAYhF4adVrzut8AdpJI= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/mint/CHANGELOG.md b/x/mint/CHANGELOG.md index ad9b78b53ed1..014ac8759a9d 100644 --- a/x/mint/CHANGELOG.md +++ b/x/mint/CHANGELOG.md @@ -27,12 +27,14 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features -* [19896](https://github.com/cosmos/cosmos-sdk/pull/19896) Added a new max supply genesis param to existing params. +* [#20363](https://github.com/cosmos/cosmos-sdk/pull/20363) Implemented epoched minting, configurable through `MintFn`. Now `MintFn` doesn't do any assumptions on how tokens are minted, users can define their own minting logic. +* [#19896](https://github.com/cosmos/cosmos-sdk/pull/19896) Added a new max supply genesis param to existing params. ### Improvements ### API Breaking Changes +* [#20363](https://github.com/cosmos/cosmos-sdk/pull/20363) Deprecated InflationCalculationFn in favor of MintFn, `keeper.DefaultMintFn` wrapper must be used in order to continue using it in `NewAppModule`. This is not breaking for depinject users, as both `MintFn` and `InflationCalculationFn` are accepted. * [#19367](https://github.com/cosmos/cosmos-sdk/pull/19398) `appmodule.Environment` is received on the Keeper to get access to different application services ### Bug Fixes diff --git a/x/mint/README.md b/x/mint/README.md index 0d16ce208268..aac6d52ff686 100644 --- a/x/mint/README.md +++ b/x/mint/README.md @@ -6,10 +6,15 @@ sidebar_position: 1 ## Contents +* [Concepts](#concepts) + * [The Minting Mechanism](#the-minting-mechanism) * [State](#state) * [Minter](#minter) * [Params](#params) -* [Begin-Block](#begin-block) +* [Epoch minting](#epoch-minting) + * [MintFn](#mintfn) +* [Block based minting](#block-based-minting) + * [Default configuration](#default-configuration) * [NextInflationRate](#nextinflationrate) * [NextAnnualProvisions](#nextannualprovisions) * [BlockProvision](#blockprovision) @@ -51,12 +56,13 @@ It can be broken down in the following way: ### Minter -The minter is a space for holding current inflation information. +The minter is a space for holding current inflation information and any other data +related to minting (in the `data` field) * Minter: `0x00 -> ProtocolBuffer(minter)` ```protobuf reference -https://github.com/cosmos/cosmos-sdk/blob/v0.47.0-rc1/proto/cosmos/mint/v1beta1/mint.proto#L10-L24 +https://github.com/cosmos/cosmos-sdk/blob/ace7bca105a8d5363782cfd19c6f169b286cd3b2/x/mint/proto/cosmos/mint/v1beta1/mint.proto#L11-L29 ``` ### Params @@ -72,11 +78,43 @@ A value of `0` indicates an unlimited supply. https://github.com/cosmos/cosmos-sdk/blob/7068d0da52d954430054768b2c56aff44666933b/x/mint/proto/cosmos/mint/v1beta1/mint.proto#L26-L68 ``` -## Begin-Block +## Epoch minting -Minting parameters are recalculated and inflation paid at the beginning of each block. +In the latest release of x/mint, the minting logic has been refactored to allow for more flexibility in the minting process. The `InflationCalculationFn` has been deprecated in favor of `MintFn`. The `MintFn` function is passed to the `NewAppModule` function and is used to mint tokens on the configured epoch beginning. This change allows users to define their own minting logic and removes any assumptions on how tokens are minted. -The minting logic in the `BeginBlocker` function provides an optional feature for controlling token minting based on the maximum allowable supply (MaxSupply). This feature allows users to adjust the minting process according to their specific requirements and use cases. However, it's important to note that the MaxSupply parameter is independent of the minting process and assumes that any adjustments to the total supply, including burning tokens, are handled by external modules. +```mermaid +flowchart LR + A[BeforeEpochStart] --> B[MintFn] + + subgraph B["MintFn (user defined)"] + direction LR + C[Get x/staking info] --> D[Calculate Inflation] + D --> E[Mint Tokens] + end +``` + +### MintFn + +The `MintFn` function is called at the beginning of each epoch and is responsible for minting tokens. The function signature is as follows: + +```go +type MintFn func(ctx context.Context, env appmodule.Environment, minter *Minter, epochId string, epochNumber int64) error +``` + +How this function mints tokens is defined by the app developers, meaning they can query state and perform any calculations they deem necessary. [This implementation](https://github.com/cosmos/cosmos-sdk/blob/ace7bca105a8d5363782cfd19c6f169b286cd3b2/simapp/mint_fn.go#L25) in SimApp contains examples of how to use `QueryRouterService` and the Minter's `data`. + +:::warning +Note that BeginBlock will keep calling the MintFn for every block, so it is important to ensure that MintFn returns early if the epoch ID does not match the expected one. +::: + + +## Block based minting + +In addition to minting based on epoch, minting based on block is also possible. This is achieved through calling the `MintFn` in `BeginBlock` with an epochID and epochNumber of `"block"` and `-1`, respectively. + +### Default configuration + +If no `MintFn` is passed to the `NewAppModule` function, the minting logic defaults to block-based minting, corresponding to `mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)`. ### Inflation rate calculation diff --git a/x/mint/depinject.go b/x/mint/depinject.go index 556a7c4b7a81..4b430f0e8052 100644 --- a/x/mint/depinject.go +++ b/x/mint/depinject.go @@ -6,6 +6,7 @@ import ( "cosmossdk.io/depinject" "cosmossdk.io/depinject/appconfig" authtypes "cosmossdk.io/x/auth/types" + epochstypes "cosmossdk.io/x/epochs/types" "cosmossdk.io/x/mint/keeper" "cosmossdk.io/x/mint/types" @@ -30,7 +31,8 @@ type ModuleInputs struct { Config *modulev1.Module Environment appmodule.Environment Cdc codec.Codec - InflationCalculationFn types.InflationCalculationFn `optional:"true"` + MintFn types.MintFn `optional:"true"` + InflationCalculationFn types.InflationCalculationFn `optional:"true"` // deprecated AccountKeeper types.AccountKeeper BankKeeper types.BankKeeper @@ -42,6 +44,7 @@ type ModuleOutputs struct { MintKeeper keeper.Keeper Module appmodule.AppModule + EpochHooks epochstypes.EpochHooksWrapper } func ProvideModule(in ModuleInputs) ModuleOutputs { @@ -71,8 +74,21 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { as, ) - // when no inflation calculation function is provided it will use the default types.DefaultInflationCalculationFn - m := NewAppModule(in.Cdc, k, in.AccountKeeper, in.InflationCalculationFn) + if in.MintFn != nil && in.InflationCalculationFn != nil { + panic("MintFn and InflationCalculationFn cannot both be set") + } + + // if no mintFn is provided, use the default minting function + if in.MintFn == nil { + // if no inflationCalculationFn is provided, use the default inflation calculation function + if in.InflationCalculationFn == nil { + in.InflationCalculationFn = types.DefaultInflationCalculationFn + } + + in.MintFn = k.DefaultMintFn(in.InflationCalculationFn) + } + + m := NewAppModule(in.Cdc, k, in.AccountKeeper, in.MintFn) - return ModuleOutputs{MintKeeper: k, Module: m} + return ModuleOutputs{MintKeeper: k, Module: m, EpochHooks: epochstypes.EpochHooksWrapper{EpochHooks: m}} } diff --git a/x/mint/epoch_hooks.go b/x/mint/epoch_hooks.go new file mode 100644 index 000000000000..28ae5a26b195 --- /dev/null +++ b/x/mint/epoch_hooks.go @@ -0,0 +1,34 @@ +package mint + +import ( + "context" + + epochstypes "cosmossdk.io/x/epochs/types" +) + +var _ epochstypes.EpochHooks = AppModule{} + +// GetModuleName implements types.EpochHooks. +func (am AppModule) GetModuleName() string { + return am.Name() +} + +// BeforeEpochStart calls the mint function. +func (am AppModule) BeforeEpochStart(ctx context.Context, epochIdentifier string, epochNumber int64) error { + minter, err := am.keeper.Minter.Get(ctx) + if err != nil { + return err + } + + err = am.mintFn(ctx, am.keeper.Environment, &minter, epochIdentifier, epochNumber) + if err != nil { + return err + } + + return am.keeper.Minter.Set(ctx, minter) +} + +// AfterEpochEnd is a noop +func (am AppModule) AfterEpochEnd(ctx context.Context, epochIdentifier string, epochNumber int64) error { + return nil +} diff --git a/x/mint/go.mod b/x/mint/go.mod index e1f4b0861275..9c7c08e552eb 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -12,6 +12,7 @@ require ( cosmossdk.io/math v1.3.0 cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 // indirect + cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.51.0 diff --git a/x/mint/go.sum b/x/mint/go.sum index ca4e47166b63..3d8b9af73759 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -14,6 +14,8 @@ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc h1:R9O9d75e0qZYUsVV0zzi+ cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc/go.mod h1:amTTatOUV3u1PsKmNb87z6/galCxrRbz9kRdJkL0DyU= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5 h1:eb0kcGyaYHSS0do7+MIWg7UKlskSH01biRNENbm/zDA= cosmossdk.io/x/accounts/defaults/lockup v0.0.0-20240417181816-5e7aae0db1f5/go.mod h1:drzY4oVisyWvSgpsM7ccQ7IX3efMuVIvd9Eij1Gm/6o= +cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 h1:GuBrfHsK3RD5vlD4DuBz3DXslR6VlnzrYmHOC3L679Q= +cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337/go.mod h1:PhLn1pMBilyRC4GfRkoYhm+XVAYhF4adVrzut8AdpJI= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/mint/keeper/abci.go b/x/mint/keeper/abci.go index 9c8ec7261262..8fbeb4050f83 100644 --- a/x/mint/keeper/abci.go +++ b/x/mint/keeper/abci.go @@ -3,15 +3,13 @@ package keeper import ( "context" - "cosmossdk.io/core/event" "cosmossdk.io/x/mint/types" "github.com/cosmos/cosmos-sdk/telemetry" - sdk "github.com/cosmos/cosmos-sdk/types" ) // BeginBlocker mints new tokens for the previous block. -func (k Keeper) BeginBlocker(ctx context.Context, ic types.InflationCalculationFn) error { +func (k Keeper) BeginBlocker(ctx context.Context, mintFn types.MintFn) error { defer telemetry.ModuleMeasureSince(types.ModuleName, telemetry.Now(), telemetry.MetricKeyBeginBlocker) // fetch stored minter & params @@ -20,76 +18,12 @@ func (k Keeper) BeginBlocker(ctx context.Context, ic types.InflationCalculationF return err } - params, err := k.Params.Get(ctx) + // we pass -1 as epoch number to indicate that this is not an epoch minting, + // but a regular block minting. Same with epoch id "block". + err = mintFn(ctx, k.Environment, &minter, "block", -1) if err != nil { return err } - // recalculate inflation rate - totalStakingSupply, err := k.StakingTokenSupply(ctx) - if err != nil { - return err - } - - bondedRatio, err := k.BondedRatio(ctx) - if err != nil { - return err - } - - // update minter's inflation and annual provisions - minter.Inflation = ic(ctx, minter, params, bondedRatio) - minter.AnnualProvisions = minter.NextAnnualProvisions(params, totalStakingSupply) - if err = k.Minter.Set(ctx, minter); err != nil { - return err - } - - // calculate minted coins - mintedCoin := minter.BlockProvision(params) - mintedCoins := sdk.NewCoins(mintedCoin) - - maxSupply := params.MaxSupply - totalSupply := k.bankKeeper.GetSupply(ctx, params.MintDenom).Amount // fetch total supply from the bank module - - // if maxSupply is not infinite, check against max_supply parameter - if !maxSupply.IsZero() { - if totalSupply.Add(mintedCoins.AmountOf(params.MintDenom)).GT(maxSupply) { - // calculate the difference between maxSupply and totalSupply - diff := maxSupply.Sub(totalSupply) - // mint the difference - diffCoin := sdk.NewCoin(params.MintDenom, diff) - diffCoins := sdk.NewCoins(diffCoin) - - // mint coins - if err := k.MintCoins(ctx, diffCoins); err != nil { - return err - } - mintedCoins = diffCoins - } - } - - // mint coins if maxSupply is infinite or total staking supply is less than maxSupply - if maxSupply.IsZero() || totalSupply.Add(mintedCoins.AmountOf(params.MintDenom)).LT(maxSupply) { - // mint coins - if err := k.MintCoins(ctx, mintedCoins); err != nil { - return err - } - } - - // send the minted coins to the fee collector account - err = k.AddCollectedFees(ctx, mintedCoins) - if err != nil { - return err - } - - if mintedCoin.Amount.IsInt64() { - defer telemetry.ModuleSetGauge(types.ModuleName, float32(mintedCoin.Amount.Int64()), "minted_tokens") - } - - return k.EventService.EventManager(ctx).EmitKV( - types.EventTypeMint, - event.NewAttribute(types.AttributeKeyBondedRatio, bondedRatio.String()), - event.NewAttribute(types.AttributeKeyInflation, minter.Inflation.String()), - event.NewAttribute(types.AttributeKeyAnnualProvisions, minter.AnnualProvisions.String()), - event.NewAttribute(sdk.AttributeKeyAmount, mintedCoin.Amount.String()), - ) + return k.Minter.Set(ctx, minter) } diff --git a/x/mint/keeper/keeper.go b/x/mint/keeper/keeper.go index f7306a131bea..3f31a3ff3252 100644 --- a/x/mint/keeper/keeper.go +++ b/x/mint/keeper/keeper.go @@ -6,11 +6,13 @@ import ( "cosmossdk.io/collections" "cosmossdk.io/core/appmodule" + "cosmossdk.io/core/event" "cosmossdk.io/log" "cosmossdk.io/math" "cosmossdk.io/x/mint/types" "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -101,3 +103,85 @@ func (k Keeper) MintCoins(ctx context.Context, newCoins sdk.Coins) error { func (k Keeper) AddCollectedFees(ctx context.Context, fees sdk.Coins) error { return k.bankKeeper.SendCoinsFromModuleToModule(ctx, types.ModuleName, k.feeCollectorName, fees) } + +func (k Keeper) DefaultMintFn(ic types.InflationCalculationFn) types.MintFn { + return func(ctx context.Context, env appmodule.Environment, minter *types.Minter, epochId string, epochNumber int64) error { + // the default mint function is called every block, so we only check if epochId is "block" which is + // a special value to indicate that this is not an epoch minting, but a regular block minting. + if epochId != "block" { + return nil + } + + stakingTokenSupply, err := k.StakingTokenSupply(ctx) + if err != nil { + return err + } + + bondedRatio, err := k.BondedRatio(ctx) + if err != nil { + return err + } + + params, err := k.Params.Get(ctx) + if err != nil { + return err + } + + minter.Inflation = ic(ctx, *minter, params, bondedRatio) + minter.AnnualProvisions = minter.NextAnnualProvisions(params, stakingTokenSupply) + + mintedCoin := minter.BlockProvision(params) + mintedCoins := sdk.NewCoins(mintedCoin) + maxSupply := params.MaxSupply + totalSupply := stakingTokenSupply + + // if maxSupply is not infinite, check against max_supply parameter + if !maxSupply.IsZero() { + if totalSupply.Add(mintedCoins.AmountOf(params.MintDenom)).GT(maxSupply) { + // calculate the difference between maxSupply and totalSupply + diff := maxSupply.Sub(totalSupply) + if diff.LTE(math.ZeroInt()) { + k.logger.Info("max supply reached, no new tokens will be minted") + return nil + } + + // mint the difference + diffCoin := sdk.NewCoin(params.MintDenom, diff) + diffCoins := sdk.NewCoins(diffCoin) + + // mint coins + if err := k.MintCoins(ctx, diffCoins); err != nil { + return err + } + mintedCoins = diffCoins + } + } + + // mint coins if maxSupply is infinite or total staking supply is less than maxSupply + if maxSupply.IsZero() || totalSupply.Add(mintedCoins.AmountOf(params.MintDenom)).LT(maxSupply) { + // mint coins + if err := k.MintCoins(ctx, mintedCoins); err != nil { + return err + } + } + + // send the minted coins to the fee collector account + // TODO: figure out a better way to do this + err = k.AddCollectedFees(ctx, mintedCoins) + if err != nil { + return err + } + + if mintedCoin.Amount.IsInt64() { + defer telemetry.ModuleSetGauge(types.ModuleName, float32(mintedCoin.Amount.Int64()), "minted_tokens") + } + + return env.EventService.EventManager(ctx).EmitKV( + types.EventTypeMint, + event.NewAttribute(types.AttributeKeyBondedRatio, bondedRatio.String()), + event.NewAttribute(types.AttributeKeyInflation, minter.Inflation.String()), + event.NewAttribute(types.AttributeKeyAnnualProvisions, minter.AnnualProvisions.String()), + event.NewAttribute(sdk.AttributeKeyAmount, mintedCoin.Amount.String()), + ) + } +} diff --git a/x/mint/keeper/keeper_test.go b/x/mint/keeper/keeper_test.go index e5ddd1b0d469..971ce5c830b1 100644 --- a/x/mint/keeper/keeper_test.go +++ b/x/mint/keeper/keeper_test.go @@ -24,7 +24,7 @@ import ( const govModuleNameStr = "cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn" -type IntegrationTestSuite struct { +type KeeperTestSuite struct { suite.Suite mintKeeper keeper.Keeper @@ -35,10 +35,10 @@ type IntegrationTestSuite struct { } func TestKeeperTestSuite(t *testing.T) { - suite.Run(t, new(IntegrationTestSuite)) + suite.Run(t, new(KeeperTestSuite)) } -func (s *IntegrationTestSuite) SetupTest() { +func (s *KeeperTestSuite) SetupTest() { encCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, mint.AppModule{}) key := storetypes.NewKVStoreKey(types.StoreKey) storeService := runtime.NewKVStoreService(key) @@ -67,31 +67,106 @@ func (s *IntegrationTestSuite) SetupTest() { s.bankKeeper = bankKeeper err := s.mintKeeper.Params.Set(s.ctx, types.DefaultParams()) - s.Require().NoError(err) + s.NoError(err) - s.Require().NoError(s.mintKeeper.Minter.Set(s.ctx, types.DefaultInitialMinter())) + s.NoError(s.mintKeeper.Minter.Set(s.ctx, types.DefaultInitialMinter())) s.msgServer = keeper.NewMsgServerImpl(s.mintKeeper) } -func (s *IntegrationTestSuite) TestAliasFunctions() { +func (s *KeeperTestSuite) TestAliasFunctions() { stakingTokenSupply := math.NewIntFromUint64(100000000000) s.stakingKeeper.EXPECT().StakingTokenSupply(s.ctx).Return(stakingTokenSupply, nil) tokenSupply, err := s.mintKeeper.StakingTokenSupply(s.ctx) - s.Require().NoError(err) - s.Require().Equal(tokenSupply, stakingTokenSupply) + s.NoError(err) + s.Equal(tokenSupply, stakingTokenSupply) bondedRatio := math.LegacyNewDecWithPrec(15, 2) s.stakingKeeper.EXPECT().BondedRatio(s.ctx).Return(bondedRatio, nil) ratio, err := s.mintKeeper.BondedRatio(s.ctx) - s.Require().NoError(err) - s.Require().Equal(ratio, bondedRatio) + s.NoError(err) + s.Equal(ratio, bondedRatio) coins := sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(1000000))) s.bankKeeper.EXPECT().MintCoins(s.ctx, types.ModuleName, coins).Return(nil) - s.Require().Equal(s.mintKeeper.MintCoins(s.ctx, sdk.NewCoins()), nil) - s.Require().Nil(s.mintKeeper.MintCoins(s.ctx, coins)) + s.Equal(s.mintKeeper.MintCoins(s.ctx, sdk.NewCoins()), nil) + s.Nil(s.mintKeeper.MintCoins(s.ctx, coins)) fees := sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(1000))) s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(s.ctx, types.ModuleName, authtypes.FeeCollectorName, fees).Return(nil) - s.Require().Nil(s.mintKeeper.AddCollectedFees(s.ctx, fees)) + s.Nil(s.mintKeeper.AddCollectedFees(s.ctx, fees)) +} + +func (s *KeeperTestSuite) TestDefaultMintFn() { + s.stakingKeeper.EXPECT().StakingTokenSupply(s.ctx).Return(math.NewIntFromUint64(100000000000), nil).AnyTimes() + bondedRatio := math.LegacyNewDecWithPrec(15, 2) + s.stakingKeeper.EXPECT().BondedRatio(s.ctx).Return(bondedRatio, nil).AnyTimes() + s.bankKeeper.EXPECT().MintCoins(s.ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(792)))).Return(nil) + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(s.ctx, types.ModuleName, authtypes.FeeCollectorName, gomock.Any()).Return(nil) + + minter, err := s.mintKeeper.Minter.Get(s.ctx) + s.NoError(err) + + err = s.mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)(s.ctx, s.mintKeeper.Environment, &minter, "block", 0) + s.NoError(err) + + // set a maxsupply and call again + params, err := s.mintKeeper.Params.Get(s.ctx) + s.NoError(err) + params.MaxSupply = math.NewInt(10000000000) + err = s.mintKeeper.Params.Set(s.ctx, params) + s.NoError(err) + + err = s.mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)(s.ctx, s.mintKeeper.Environment, &minter, "block", 0) + s.NoError(err) + + // modify max supply to be almost reached + // we tried to mint 2059stake but we only get to mint 2000stake + params, err = s.mintKeeper.Params.Get(s.ctx) + s.NoError(err) + params.MaxSupply = math.NewInt(100000000000 + 2000) + err = s.mintKeeper.Params.Set(s.ctx, params) + s.NoError(err) + + s.bankKeeper.EXPECT().MintCoins(s.ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(792)))).Return(nil) + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(s.ctx, types.ModuleName, authtypes.FeeCollectorName, gomock.Any()).Return(nil) + + err = s.mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)(s.ctx, s.mintKeeper.Environment, &minter, "block", 0) + s.NoError(err) +} + +func (s *KeeperTestSuite) TestBeginBlocker() { + s.stakingKeeper.EXPECT().StakingTokenSupply(s.ctx).Return(math.NewIntFromUint64(100000000000), nil).AnyTimes() + bondedRatio := math.LegacyNewDecWithPrec(15, 2) + s.stakingKeeper.EXPECT().BondedRatio(s.ctx).Return(bondedRatio, nil).AnyTimes() + s.bankKeeper.EXPECT().MintCoins(s.ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(792)))).Return(nil) + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(s.ctx, types.ModuleName, authtypes.FeeCollectorName, gomock.Any()).Return(nil) + + // get minter (it should get modified aftwerwards) + minter, err := s.mintKeeper.Minter.Get(s.ctx) + s.NoError(err) + + err = s.mintKeeper.BeginBlocker(s.ctx, s.mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)) + s.NoError(err) + + // get minter again and compare + newMinter, err := s.mintKeeper.Minter.Get(s.ctx) + s.NoError(err) + s.NotEqual(minter, newMinter) +} + +func (s *KeeperTestSuite) TestMigrator() { + m := keeper.NewMigrator(s.mintKeeper) + s.NoError(m.Migrate1to2(s.ctx)) // just to get the coverage up + + // set max supply to one and migrate (should get it to zero) + params, err := s.mintKeeper.Params.Get(s.ctx) + s.NoError(err) + params.MaxSupply = math.OneInt() + s.NoError(s.mintKeeper.Params.Set(s.ctx, params)) + + s.NoError(m.Migrate2to3(s.ctx)) + + newParams, err := s.mintKeeper.Params.Get(s.ctx) + s.NoError(err) + s.Equal(math.ZeroInt(), newParams.MaxSupply) } diff --git a/x/mint/keeper/msg_server_test.go b/x/mint/keeper/msg_server_test.go index a999150207f0..10423e26e2c6 100644 --- a/x/mint/keeper/msg_server_test.go +++ b/x/mint/keeper/msg_server_test.go @@ -7,7 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func (s *IntegrationTestSuite) TestUpdateParams() { +func (s *KeeperTestSuite) TestUpdateParams() { testCases := []struct { name string request *types.MsgUpdateParams diff --git a/x/mint/module.go b/x/mint/module.go index 8c0d69bce55a..990f281edc4a 100644 --- a/x/mint/module.go +++ b/x/mint/module.go @@ -44,28 +44,31 @@ type AppModule struct { keeper keeper.Keeper authKeeper types.AccountKeeper - // inflationCalculator is used to calculate the inflation rate during BeginBlock. - // If inflationCalculator is nil, the default inflation calculation logic is used. - inflationCalculator types.InflationCalculationFn + // mintFn is used to mint new coins during BeginBlock. This function is in charge of + // minting new coins based on arbitrary logic, previously done through InflationCalculationFn. + // If mintFn is nil, the default minting logic is used. + mintFn types.MintFn } // NewAppModule creates a new AppModule object. -// If the InflationCalculationFn argument is nil, then the SDK's default inflation function will be used. +// If the mintFn argument is nil, then the SDK's default minting function will be used. func NewAppModule( cdc codec.Codec, keeper keeper.Keeper, ak types.AccountKeeper, - ic types.InflationCalculationFn, + mintFn types.MintFn, ) AppModule { - if ic == nil { - ic = types.DefaultInflationCalculationFn + // If mintFn is nil, use the default minting function. + // This check also happens in ProvideModule when used with depinject. + if mintFn == nil { + mintFn = keeper.DefaultMintFn(types.DefaultInflationCalculationFn) } return AppModule{ - cdc: cdc, - keeper: keeper, - authKeeper: ak, - inflationCalculator: ic, + cdc: cdc, + keeper: keeper, + authKeeper: ak, + mintFn: mintFn, } } @@ -157,7 +160,7 @@ func (AppModule) ConsensusVersion() uint64 { return ConsensusVersion } // BeginBlock returns the begin blocker for the mint module. func (am AppModule) BeginBlock(ctx context.Context) error { - return am.keeper.BeginBlocker(ctx, am.inflationCalculator) + return am.keeper.BeginBlocker(ctx, am.mintFn) } // AppModuleSimulation functions diff --git a/x/mint/module_test.go b/x/mint/module_test.go new file mode 100644 index 000000000000..9dc9e75e2ada --- /dev/null +++ b/x/mint/module_test.go @@ -0,0 +1,92 @@ +package mint_test + +import ( + "testing" + + "github.com/golang/mock/gomock" + "github.com/stretchr/testify/suite" + + "cosmossdk.io/log" + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" + authtypes "cosmossdk.io/x/auth/types" + "cosmossdk.io/x/mint" + "cosmossdk.io/x/mint/keeper" + minttestutil "cosmossdk.io/x/mint/testutil" + "cosmossdk.io/x/mint/types" + + codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" + "github.com/cosmos/cosmos-sdk/runtime" + "github.com/cosmos/cosmos-sdk/testutil" + sdk "github.com/cosmos/cosmos-sdk/types" + moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" +) + +const govModuleNameStr = "cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn" + +type ModuleTestSuite struct { + suite.Suite + + mintKeeper keeper.Keeper + ctx sdk.Context + msgServer types.MsgServer + stakingKeeper *minttestutil.MockStakingKeeper + bankKeeper *minttestutil.MockBankKeeper + + appmodule mint.AppModule +} + +func TestKeeperTestSuite(t *testing.T) { + suite.Run(t, new(ModuleTestSuite)) +} + +func (s *ModuleTestSuite) SetupTest() { + encCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, mint.AppModule{}) + key := storetypes.NewKVStoreKey(types.StoreKey) + storeService := runtime.NewKVStoreService(key) + env := runtime.NewEnvironment(storeService, log.NewNopLogger()) + testCtx := testutil.DefaultContextWithDB(s.T(), key, storetypes.NewTransientStoreKey("transient_test")) + s.ctx = testCtx.Ctx + + // gomock initializations + ctrl := gomock.NewController(s.T()) + accountKeeper := minttestutil.NewMockAccountKeeper(ctrl) + bankKeeper := minttestutil.NewMockBankKeeper(ctrl) + stakingKeeper := minttestutil.NewMockStakingKeeper(ctrl) + + accountKeeper.EXPECT().GetModuleAddress(types.ModuleName).Return(sdk.AccAddress{}) + + s.mintKeeper = keeper.NewKeeper( + encCfg.Codec, + env, + stakingKeeper, + accountKeeper, + bankKeeper, + authtypes.FeeCollectorName, + govModuleNameStr, + ) + s.stakingKeeper = stakingKeeper + s.bankKeeper = bankKeeper + + err := s.mintKeeper.Params.Set(s.ctx, types.DefaultParams()) + s.NoError(err) + + s.NoError(s.mintKeeper.Minter.Set(s.ctx, types.DefaultInitialMinter())) + s.msgServer = keeper.NewMsgServerImpl(s.mintKeeper) + + s.appmodule = mint.NewAppModule(encCfg.Codec, s.mintKeeper, accountKeeper, s.mintKeeper.DefaultMintFn(types.DefaultInflationCalculationFn)) +} + +func (s *ModuleTestSuite) TestEpochHooks() { + s.stakingKeeper.EXPECT().StakingTokenSupply(s.ctx).Return(math.NewIntFromUint64(100000000000), nil).AnyTimes() + bondedRatio := math.LegacyNewDecWithPrec(15, 2) + s.stakingKeeper.EXPECT().BondedRatio(s.ctx).Return(bondedRatio, nil).AnyTimes() + s.bankKeeper.EXPECT().MintCoins(s.ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin("stake", math.NewInt(792)))).Return(nil) + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(s.ctx, types.ModuleName, authtypes.FeeCollectorName, gomock.Any()).Return(nil) + + err := s.appmodule.BeforeEpochStart(s.ctx, "block", -1) + s.NoError(err) + + err = s.appmodule.AfterEpochEnd(s.ctx, "epochIdentifier", 1) // just to get coverage up + s.NoError(err) +} diff --git a/x/mint/proto/cosmos/mint/v1beta1/mint.proto b/x/mint/proto/cosmos/mint/v1beta1/mint.proto index da2bfcbc8db6..d7b577ec617c 100644 --- a/x/mint/proto/cosmos/mint/v1beta1/mint.proto +++ b/x/mint/proto/cosmos/mint/v1beta1/mint.proto @@ -6,6 +6,7 @@ option go_package = "cosmossdk.io/x/mint/types"; import "gogoproto/gogo.proto"; import "cosmos_proto/cosmos.proto"; import "amino/amino.proto"; +import "google/protobuf/any.proto"; // Minter represents the minting state. message Minter { @@ -21,6 +22,10 @@ message Minter { (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + + // data is any custom data that the user might want to put in the minter, to + // be used in the minting process. + bytes data = 3; } // Params defines the parameters for the x/mint module. diff --git a/x/mint/types/genesis.go b/x/mint/types/genesis.go index 6ed2f38a18ec..44e77bb4cc4c 100644 --- a/x/mint/types/genesis.go +++ b/x/mint/types/genesis.go @@ -3,6 +3,7 @@ package types import ( "context" + "cosmossdk.io/core/appmodule" "cosmossdk.io/math" ) @@ -11,9 +12,14 @@ import ( // bondedRatio and returns the newly calculated inflation rate. // It can be used to specify a custom inflation calculation logic, instead of relying on the // default logic provided by the sdk. +// Deprecated: use MintFn instead. type InflationCalculationFn func(ctx context.Context, minter Minter, params Params, bondedRatio math.LegacyDec) math.LegacyDec +// MintFn defines the function that needs to be implemented in order to customize the minting process. +type MintFn func(ctx context.Context, env appmodule.Environment, minter *Minter, epochId string, epochNumber int64) error + // DefaultInflationCalculationFn is the default function used to calculate inflation. +// Deprecated: use DefaultMintFn instead. func DefaultInflationCalculationFn(_ context.Context, minter Minter, params Params, bondedRatio math.LegacyDec) math.LegacyDec { return minter.NextInflationRate(params, bondedRatio) } diff --git a/x/mint/types/genesis_test.go b/x/mint/types/genesis_test.go new file mode 100644 index 000000000000..950c2ca43432 --- /dev/null +++ b/x/mint/types/genesis_test.go @@ -0,0 +1,21 @@ +package types + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestGenesis(t *testing.T) { + minter := DefaultInitialMinter() + params := DefaultParams() + + gs := NewGenesisState(minter, params) + err := ValidateGenesis(*gs) + require.NoError(t, err) + + defaultGs := DefaultGenesisState() + err = ValidateGenesis(*defaultGs) + require.NoError(t, err) + require.Equal(t, gs, defaultGs) +} diff --git a/x/mint/types/mint.pb.go b/x/mint/types/mint.pb.go index 7ce197d326ab..35cd40591a27 100644 --- a/x/mint/types/mint.pb.go +++ b/x/mint/types/mint.pb.go @@ -10,6 +10,7 @@ import ( _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + _ "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -32,6 +33,9 @@ type Minter struct { Inflation cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=inflation,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"inflation"` // current annual expected provisions AnnualProvisions cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=annual_provisions,json=annualProvisions,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"annual_provisions"` + // data is any custom data that the user might want to put in the minter, to + // be used in the minting process. + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (m *Minter) Reset() { *m = Minter{} } @@ -67,6 +71,13 @@ func (m *Minter) XXX_DiscardUnknown() { var xxx_messageInfo_Minter proto.InternalMessageInfo +func (m *Minter) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + // Params defines the parameters for the x/mint module. type Params struct { // type of coin to mint @@ -140,36 +151,38 @@ func init() { func init() { proto.RegisterFile("cosmos/mint/v1beta1/mint.proto", fileDescriptor_2df116d183c1e223) } var fileDescriptor_2df116d183c1e223 = []byte{ - // 461 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0x4f, 0x6b, 0xd4, 0x40, - 0x18, 0xc6, 0x37, 0xba, 0xae, 0xec, 0x68, 0xd1, 0x4e, 0x2d, 0x4c, 0x2b, 0x4d, 0x4b, 0x0f, 0x52, - 0x2a, 0xdd, 0xb0, 0x14, 0x3c, 0x78, 0x5c, 0xf7, 0x52, 0xb1, 0xb8, 0xc4, 0x83, 0xa8, 0xe0, 0xf0, - 0x6e, 0x32, 0xa6, 0xe3, 0x66, 0x66, 0xc2, 0xcc, 0xb4, 0x64, 0xbf, 0x82, 0x27, 0x3f, 0x86, 0xc7, - 0x1e, 0xbc, 0xf4, 0x1b, 0xf4, 0x58, 0x3c, 0x89, 0x87, 0x22, 0xbb, 0x87, 0x7e, 0x0d, 0xc9, 0x4c, - 0x48, 0xfd, 0x73, 0xd2, 0x7a, 0x09, 0xc9, 0xf3, 0xcc, 0xfb, 0x7b, 0x1e, 0xc2, 0xbc, 0x28, 0x4c, - 0x94, 0x11, 0xca, 0x44, 0x82, 0x4b, 0x1b, 0x1d, 0xf5, 0xc7, 0xcc, 0x42, 0xdf, 0x7d, 0xf4, 0x0a, - 0xad, 0xac, 0xc2, 0x4b, 0xde, 0xef, 0x39, 0xa9, 0xf6, 0x57, 0xef, 0x65, 0x2a, 0x53, 0xce, 0x8f, - 0xaa, 0x37, 0x7f, 0x74, 0x75, 0xc5, 0x1f, 0xa5, 0xde, 0xa8, 0xe7, 0xbc, 0xb5, 0x08, 0x82, 0x4b, - 0x15, 0xb9, 0xa7, 0x97, 0x36, 0x4f, 0x02, 0xd4, 0xd9, 0xe7, 0xd2, 0x32, 0x8d, 0x9f, 0xa3, 0x2e, - 0x97, 0xef, 0x72, 0xb0, 0x5c, 0x49, 0x12, 0x6c, 0x04, 0x5b, 0xdd, 0x41, 0xff, 0xf4, 0x7c, 0xbd, - 0xf5, 0xed, 0x7c, 0xfd, 0xbe, 0xc7, 0x98, 0x74, 0xd2, 0xe3, 0x2a, 0x12, 0x60, 0x0f, 0x7a, 0xcf, - 0x58, 0x06, 0xc9, 0x74, 0xc8, 0x92, 0x2f, 0x9f, 0x77, 0x50, 0x9d, 0x32, 0x64, 0x49, 0x7c, 0xc9, - 0xc0, 0x6f, 0xd1, 0x22, 0x48, 0x79, 0x08, 0x79, 0xd5, 0xe5, 0x88, 0x1b, 0xae, 0xa4, 0x21, 0xd7, - 0xfe, 0x15, 0x7c, 0xd7, 0xb3, 0x46, 0x0d, 0x6a, 0xf3, 0xa4, 0x8d, 0x3a, 0x23, 0xd0, 0x20, 0x0c, - 0x5e, 0x43, 0xa8, 0xfa, 0x35, 0x34, 0x65, 0x52, 0x09, 0x5f, 0x3e, 0xee, 0x56, 0xca, 0xb0, 0x12, - 0xf0, 0x7b, 0xb4, 0xdc, 0xd4, 0xa2, 0x1a, 0x2c, 0xa3, 0xc9, 0x01, 0xc8, 0x8c, 0xd5, 0x6d, 0x1e, - 0xfd, 0x75, 0x9b, 0x4f, 0x17, 0xc7, 0xdb, 0x41, 0xbc, 0xd4, 0x40, 0x63, 0xb0, 0xec, 0x89, 0x43, - 0xe2, 0x37, 0x68, 0xe1, 0x32, 0x4b, 0x40, 0x49, 0xae, 0x5f, 0x29, 0xe3, 0x76, 0x03, 0xdb, 0x87, - 0xf2, 0x37, 0x38, 0x97, 0xa4, 0xfd, 0xbf, 0xe0, 0x5c, 0xe2, 0x97, 0xe8, 0x56, 0xa6, 0x20, 0xa7, - 0x63, 0x25, 0x53, 0x96, 0x92, 0x1b, 0x57, 0x42, 0xa3, 0x0a, 0x35, 0x70, 0x24, 0xfc, 0x00, 0xdd, - 0x19, 0xe7, 0x2a, 0x99, 0x18, 0x5a, 0x30, 0x4d, 0xa7, 0x0c, 0x34, 0xe9, 0x6c, 0x04, 0x5b, 0xed, - 0x78, 0xc1, 0xcb, 0x23, 0xa6, 0x5f, 0x31, 0xd0, 0xf8, 0x29, 0x42, 0x02, 0x4a, 0x6a, 0x0e, 0x8b, - 0x22, 0x9f, 0x92, 0x9b, 0x2e, 0xff, 0x61, 0x9d, 0xbf, 0xfc, 0x67, 0xfe, 0x9e, 0xb4, 0x3f, 0x25, - 0xef, 0x49, 0x1b, 0x77, 0x05, 0x94, 0x2f, 0xdc, 0xf4, 0xe3, 0xb5, 0x0f, 0x17, 0xc7, 0xdb, 0xc4, - 0x7b, 0x3b, 0x26, 0x9d, 0x44, 0xa5, 0x5f, 0x2e, 0x7f, 0x61, 0x06, 0xbb, 0xa7, 0xb3, 0x30, 0x38, - 0x9b, 0x85, 0xc1, 0xf7, 0x59, 0x18, 0x7c, 0x9c, 0x87, 0xad, 0xb3, 0x79, 0xd8, 0xfa, 0x3a, 0x0f, - 0x5b, 0xaf, 0x57, 0x7e, 0x09, 0xaa, 0xa7, 0xec, 0xb4, 0x60, 0x66, 0xdc, 0x71, 0x3b, 0xb3, 0xfb, - 0x23, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xda, 0x10, 0x60, 0xae, 0x03, 0x00, 0x00, + // 490 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0x3f, 0x6f, 0xd3, 0x40, + 0x18, 0xc6, 0x73, 0x10, 0x82, 0x72, 0xb4, 0x82, 0x5e, 0xa9, 0xe4, 0x16, 0xd5, 0x8d, 0x3a, 0xa0, + 0xa8, 0xa8, 0xb1, 0xa2, 0x4a, 0x0c, 0x8c, 0x21, 0x4b, 0x11, 0x15, 0x91, 0x19, 0x10, 0x20, 0x61, + 0xbd, 0xb6, 0xaf, 0xee, 0x11, 0xdf, 0x9d, 0xe5, 0xbb, 0x54, 0xf6, 0x57, 0x60, 0xe2, 0x63, 0x30, + 0x76, 0x60, 0xe1, 0x1b, 0x74, 0x41, 0xaa, 0x98, 0x10, 0x43, 0x85, 0x92, 0xa1, 0x5f, 0x03, 0xf9, + 0xce, 0xa4, 0xfc, 0x99, 0x08, 0x5d, 0xac, 0xbb, 0xf7, 0x79, 0xdf, 0xdf, 0xf3, 0xd8, 0xf2, 0x8b, + 0xdd, 0x48, 0x2a, 0x2e, 0x95, 0xc7, 0x99, 0xd0, 0xde, 0x71, 0x3f, 0xa4, 0x1a, 0xfa, 0xe6, 0xd2, + 0xcb, 0x72, 0xa9, 0x25, 0x59, 0xb5, 0x7a, 0xcf, 0x94, 0x6a, 0x7d, 0xe3, 0x6e, 0x22, 0x13, 0x69, + 0x74, 0xaf, 0x3a, 0xd9, 0xd6, 0x8d, 0x75, 0xdb, 0x1a, 0x58, 0xa1, 0x9e, 0xb3, 0xd2, 0x0a, 0x70, + 0x26, 0xa4, 0x67, 0x9e, 0x3f, 0xbb, 0x13, 0x29, 0x93, 0x94, 0x7a, 0xe6, 0x16, 0x4e, 0x0e, 0x3d, + 0x10, 0xa5, 0x95, 0xb6, 0x3f, 0x23, 0xdc, 0x3a, 0x60, 0x42, 0xd3, 0x9c, 0x3c, 0xc3, 0x6d, 0x26, + 0x0e, 0x53, 0xd0, 0x4c, 0x0a, 0x07, 0x75, 0x50, 0xb7, 0x3d, 0xe8, 0x9f, 0x9e, 0x6f, 0x35, 0xbe, + 0x9d, 0x6f, 0xdd, 0xb3, 0x0e, 0x2a, 0x1e, 0xf7, 0x98, 0xf4, 0x38, 0xe8, 0xa3, 0xde, 0x53, 0x9a, + 0x40, 0x54, 0x0e, 0x69, 0xf4, 0xe5, 0xe3, 0x2e, 0xae, 0x03, 0x0c, 0x69, 0xe4, 0x5f, 0x32, 0xc8, + 0x1b, 0xbc, 0x02, 0x42, 0x4c, 0x20, 0xad, 0x62, 0x1e, 0x33, 0xc5, 0xa4, 0x50, 0xce, 0xb5, 0x45, + 0xc1, 0x77, 0x2c, 0x6b, 0x34, 0x47, 0x11, 0x82, 0x9b, 0x31, 0x68, 0x70, 0xae, 0x77, 0x50, 0x77, + 0xc9, 0x37, 0xe7, 0xed, 0x4f, 0x4d, 0xdc, 0x1a, 0x41, 0x0e, 0x5c, 0x91, 0x4d, 0x8c, 0xab, 0x2f, + 0x19, 0xc4, 0x54, 0x48, 0x6e, 0x5f, 0xc8, 0x6f, 0x57, 0x95, 0x61, 0x55, 0x20, 0x6f, 0xf1, 0xda, + 0x3c, 0x6a, 0x90, 0x83, 0xa6, 0x41, 0x74, 0x04, 0x22, 0xa1, 0x75, 0xc2, 0x87, 0xff, 0x9c, 0xf0, + 0xc3, 0xc5, 0xc9, 0x0e, 0xf2, 0x57, 0xe7, 0x50, 0x1f, 0x34, 0x7d, 0x6c, 0x90, 0xe4, 0x35, 0x5e, + 0xbe, 0xf4, 0xe2, 0x50, 0x98, 0xc8, 0x8b, 0x7b, 0x2c, 0xcd, 0x61, 0x07, 0x50, 0xfc, 0x01, 0x67, + 0xc2, 0x69, 0x5e, 0x15, 0x9c, 0x09, 0xf2, 0x02, 0xdf, 0x4a, 0x24, 0xa4, 0x41, 0x28, 0x45, 0x4c, + 0x63, 0xe7, 0xc6, 0x7f, 0xa1, 0x71, 0x85, 0x1a, 0x18, 0x12, 0xb9, 0x8f, 0x6f, 0x87, 0xa9, 0x8c, + 0xc6, 0x2a, 0xc8, 0x68, 0x1e, 0x94, 0x14, 0x72, 0xa7, 0xd5, 0x41, 0xdd, 0xa6, 0xbf, 0x6c, 0xcb, + 0x23, 0x9a, 0xbf, 0xa4, 0x90, 0x93, 0x27, 0x18, 0x73, 0x28, 0x02, 0x35, 0xc9, 0xb2, 0xb4, 0x74, + 0x6e, 0x1a, 0xff, 0x07, 0xb5, 0xff, 0xda, 0xdf, 0xfe, 0xfb, 0x42, 0xff, 0xe2, 0xbc, 0x2f, 0xb4, + 0xdf, 0xe6, 0x50, 0x3c, 0x37, 0xd3, 0x8f, 0x36, 0xdf, 0x5d, 0x9c, 0xec, 0x38, 0x56, 0xdb, 0x55, + 0xf1, 0xd8, 0x2b, 0xec, 0x2e, 0xda, 0x1f, 0x66, 0xb0, 0x77, 0x3a, 0x75, 0xd1, 0xd9, 0xd4, 0x45, + 0xdf, 0xa7, 0x2e, 0x7a, 0x3f, 0x73, 0x1b, 0x67, 0x33, 0xb7, 0xf1, 0x75, 0xe6, 0x36, 0x5e, 0xad, + 0xff, 0x66, 0x54, 0x4f, 0xe9, 0x32, 0xa3, 0x2a, 0x6c, 0x99, 0x3d, 0xda, 0xfb, 0x11, 0x00, 0x00, + 0xff, 0xff, 0x53, 0x44, 0x4d, 0x1a, 0xdd, 0x03, 0x00, 0x00, } func (m *Minter) Marshal() (dAtA []byte, err error) { @@ -192,6 +205,13 @@ func (m *Minter) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintMint(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x1a + } { size := m.AnnualProvisions.Size() i -= size @@ -321,6 +341,10 @@ func (m *Minter) Size() (n int) { n += 1 + l + sovMint(uint64(l)) l = m.AnnualProvisions.Size() n += 1 + l + sovMint(uint64(l)) + l = len(m.Data) + if l > 0 { + n += 1 + l + sovMint(uint64(l)) + } return n } @@ -453,6 +477,40 @@ func (m *Minter) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMint + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthMint + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthMint + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMint(dAtA[iNdEx:]) diff --git a/x/mint/types/minter_test.go b/x/mint/types/minter_test.go index b89773a6cb29..8bff2334995a 100644 --- a/x/mint/types/minter_test.go +++ b/x/mint/types/minter_test.go @@ -55,6 +55,9 @@ func TestNextInflation(t *testing.T) { inflation := minter.NextInflationRate(params, tc.bondedRatio) diffInflation := inflation.Sub(tc.setInflation) + annualProvisions := minter.NextAnnualProvisions(params, math.NewInt(100000000000000)) + require.Equal(t, minter.Inflation.MulInt(math.NewInt(100000000000000)), annualProvisions) + require.True(t, diffInflation.Equal(tc.expChange), "Test Index: %v\nDiff: %v\nExpected: %v\n", i, diffInflation, tc.expChange) } @@ -88,6 +91,25 @@ func TestBlockProvision(t *testing.T) { } } +func TestValidateMinter(t *testing.T) { + tests := []struct { + minter Minter + expErr bool + }{ + {InitialMinter(math.LegacyNewDecWithPrec(1, 1)), false}, + {InitialMinter(math.LegacyNewDecWithPrec(-1, 1)), true}, + {InitialMinter(math.LegacyZeroDec()), false}, + } + for i, tc := range tests { + err := ValidateMinter(tc.minter) + if tc.expErr { + require.Error(t, err, "test: %v", i) + } else { + require.NoError(t, err, "test: %v", i) + } + } +} + // Benchmarking :) // previously using math.Int operations: // BenchmarkBlockProvision-4 5000000 220 ns/op diff --git a/x/mint/types/params.go b/x/mint/types/params.go index 370eeea9106e..dfc00348b3db 100644 --- a/x/mint/types/params.go +++ b/x/mint/types/params.go @@ -69,12 +69,7 @@ func (p Params) Validate() error { return nil } -func validateMintDenom(i interface{}) error { - v, ok := i.(string) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateMintDenom(v string) error { if strings.TrimSpace(v) == "" { return errors.New("mint denom cannot be blank") } @@ -85,12 +80,7 @@ func validateMintDenom(i interface{}) error { return nil } -func validateInflationRateChange(i interface{}) error { - v, ok := i.(math.LegacyDec) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateInflationRateChange(v math.LegacyDec) error { if v.IsNil() { return fmt.Errorf("inflation rate change cannot be nil: %s", v) } @@ -104,12 +94,7 @@ func validateInflationRateChange(i interface{}) error { return nil } -func validateInflationMax(i interface{}) error { - v, ok := i.(math.LegacyDec) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateInflationMax(v math.LegacyDec) error { if v.IsNil() { return fmt.Errorf("max inflation cannot be nil: %s", v) } @@ -123,12 +108,7 @@ func validateInflationMax(i interface{}) error { return nil } -func validateInflationMin(i interface{}) error { - v, ok := i.(math.LegacyDec) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateInflationMin(v math.LegacyDec) error { if v.IsNil() { return fmt.Errorf("min inflation cannot be nil: %s", v) } @@ -142,12 +122,7 @@ func validateInflationMin(i interface{}) error { return nil } -func validateGoalBonded(i interface{}) error { - v, ok := i.(math.LegacyDec) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateGoalBonded(v math.LegacyDec) error { if v.IsNil() { return fmt.Errorf("goal bonded cannot be nil: %s", v) } @@ -161,12 +136,7 @@ func validateGoalBonded(i interface{}) error { return nil } -func validateBlocksPerYear(i interface{}) error { - v, ok := i.(uint64) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateBlocksPerYear(v uint64) error { if v == 0 { return fmt.Errorf("blocks per year must be positive: %d", v) } @@ -174,12 +144,7 @@ func validateBlocksPerYear(i interface{}) error { return nil } -func validateMaxSupply(i interface{}) error { - v, ok := i.(math.Int) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - +func validateMaxSupply(v math.Int) error { if v.IsNegative() { return fmt.Errorf("max supply must be positive: %d", v) } diff --git a/x/mint/types/params_test.go b/x/mint/types/params_test.go new file mode 100644 index 000000000000..b43c6212d058 --- /dev/null +++ b/x/mint/types/params_test.go @@ -0,0 +1,112 @@ +package types + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "cosmossdk.io/math" +) + +func TestValidate(t *testing.T) { + params := DefaultParams() + err := params.Validate() + require.NoError(t, err) + + params2 := NewParams( + params.MintDenom, + params.InflationRateChange, + params.InflationMax, + params.InflationMin, + params.GoalBonded, + params.BlocksPerYear, + params.MaxSupply, + ) + err = params2.Validate() + require.NoError(t, err) + require.Equal(t, params, params2) + + params.MintDenom = "" + err = params.Validate() + require.Error(t, err) + + params.MintDenom = "asd/$%!@#" + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationRateChange = math.LegacyNewDec(123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationRateChange = math.LegacyNewDec(-123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationRateChange = math.LegacyDec{} + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMax = math.LegacyNewDec(123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMax = math.LegacyNewDec(-123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMax = math.LegacyDec{} + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMin = math.LegacyNewDec(123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMin = math.LegacyNewDec(-123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMin = math.LegacyDec{} + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.GoalBonded = math.LegacyNewDec(123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.GoalBonded = math.LegacyNewDec(-123) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.GoalBonded = math.LegacyDec{} + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.BlocksPerYear = 0 + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.MaxSupply = math.NewInt(-1) + err = params.Validate() + require.Error(t, err) + + params = DefaultParams() + params.InflationMax = math.LegacyNewDecWithPrec(1, 2) + params.InflationMin = math.LegacyNewDecWithPrec(2, 2) + err = params.Validate() + require.Error(t, err) +} From d45f08cde71a3277b82163a9edbf9c275effbd6b Mon Sep 17 00:00:00 2001 From: Matt Kocubinski Date: Tue, 11 Jun 2024 11:29:04 -0400 Subject: [PATCH 38/41] refactor(x/core): remove test (#20624) --- core/context/context._test.go | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 core/context/context._test.go diff --git a/core/context/context._test.go b/core/context/context._test.go deleted file mode 100644 index df7d9dcd93c6..000000000000 --- a/core/context/context._test.go +++ /dev/null @@ -1,11 +0,0 @@ -package context - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func Test_Sanity(t *testing.T) { - require.NotEqual(t, CometInfoKey, ExecModeKey) -} From 78327f40c5ad6e31a056c662e2046cbf1b6ed691 Mon Sep 17 00:00:00 2001 From: samricotta <37125168+samricotta@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:24:19 +0200 Subject: [PATCH 39/41] docs: Update high level overview and introduction (#20535) --- docs/learn/intro/00-overview.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/docs/learn/intro/00-overview.md b/docs/learn/intro/00-overview.md index 6f9d440b6db2..bb32d84a962f 100644 --- a/docs/learn/intro/00-overview.md +++ b/docs/learn/intro/00-overview.md @@ -6,9 +6,16 @@ sidebar_position: 1 ## What is the Cosmos SDK -The [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) is an open-source framework for building multi-asset public Proof-of-Stake (PoS) blockchains, like the Cosmos Hub, as well as permissioned Proof-of-Authority (PoA) blockchains. Blockchains built with the Cosmos SDK are generally referred to as **application-specific blockchains**. +The [Cosmos SDK](https://github.com/cosmos/cosmos-sdk) is an open-source toolkit for building multi-asset public Proof-of-Stake (PoS) blockchains, like the Cosmos Hub, as well as permissioned Proof-of-Authority (PoA) blockchains. Blockchains built with the Cosmos SDK are generally referred to as **application-specific blockchains**. -The goal of the Cosmos SDK is to allow developers to easily create custom blockchains from scratch that can natively interoperate with other blockchains. We envision the Cosmos SDK as the npm-like framework to build secure blockchain applications on top of [CometBFT](https://github.com/cometbft/cometbft). SDK-based blockchains are built out of composable [modules](../../build/building-modules/00-intro.md), most of which are open-source and readily available for any developers to use. Anyone can create a module for the Cosmos SDK, and integrating already-built modules is as simple as importing them into your blockchain application. What's more, the Cosmos SDK is a capabilities-based system that allows developers to better reason about the security of interactions between modules. For a deeper look at capabilities, jump to [Object-Capability Model](../advanced/10-ocap.md). +The goal of the Cosmos SDK is to allow developers to easily create custom blockchains from scratch that can natively interoperate with other blockchains. +We further this modular approach by allowing developers to plug and play with different consensus engines this can range from the [CometBFT](https://github.com/cometbft/cometbft) or [Rollkit](https://rollkit.dev/). + +SDK-based blockchains have the choice to use the predefined modules or to build their own modules. What this means is that developers can build a blockchain that is tailored to their specific use case, without having to worry about the low-level details of building a blockchain from scratch. Predefined modules include staking, governance, and token issuance, among others. + +What's more, the Cosmos SDK is a capabilities-based system that allows developers to better reason about the security of interactions between modules. For a deeper look at capabilities, jump to [Object-Capability Model](../advanced/10-ocap.md). + +How you can look at this is if we imagine that the SDK is like a lego kit. You can choose to build the basic house from the instructions or you can choose to modify your house and add more floors, more doors, more windows. The choice is yours. ## What are Application-Specific Blockchains @@ -18,11 +25,16 @@ Application-specific blockchains offer a radically different development paradig Learn more about [application-specific blockchains](./01-why-app-specific.md). +## What is Modularity + +Today there is a lot of talk around modularity and discussions between monolithic and modular. Originally the Cosmos SDK was built with a vision of modularity in mind. Modularity is derived from splitting a blockchain into customizable layers of execution, consensus, settlement and data availability, which is what the Cosmos SDK enables. This means that developers can plug and play, making their blockchain customisable by using different software for different layers. For example you can choose to build a vanilla chain and use the Cosmos SDK with CometBFT. CometBFT will be your consensus layer and the chain itself would be the settlement and execution layer. Another route could be to use the SDK with Rollkit and Celestia as your consensus and data availability layer. The benefit of modularity is that you can customize your chain to your specific use case. + ## Why the Cosmos SDK -The Cosmos SDK is the most advanced framework for building custom application-specific blockchains today. Here are a few reasons why you might want to consider building your decentralized application with the Cosmos SDK: +The Cosmos SDK is the most advanced framework for building custom modular application-specific blockchains today. Here are a few reasons why you might want to consider building your decentralized application with the Cosmos SDK: -* The default consensus engine available within the Cosmos SDK is [CometBFT](https://github.com/cometbft/cometbft). CometBFT is the most (and only) mature BFT consensus engine in existence. It is widely used across the industry and is considered the gold standard consensus engine for building Proof-of-Stake systems. +* It allows you to plug and play and customize your consensus layer. As above you can use Rollkit and Celestia as your consensus and data availability layer. This offers a lot of flexibility and customisation. +* Previously the default consensus engine available within the Cosmos SDK is [CometBFT](https://github.com/cometbft/cometbft). CometBFT is the most (and only) mature BFT consensus engine in existence. It is widely used across the industry and is considered the gold standard consensus engine for building Proof-of-Stake systems. * The Cosmos SDK is open-source and designed to make it easy to build blockchains out of composable [modules](../../build/modules). As the ecosystem of open-source Cosmos SDK modules grows, it will become increasingly easier to build complex decentralized platforms with it. * The Cosmos SDK is inspired by capabilities-based security, and informed by years of wrestling with blockchain state-machines. This makes the Cosmos SDK a very secure environment to build blockchains. * Most importantly, the Cosmos SDK has already been used to build many application-specific blockchains that are already in production. Among others, we can cite [Cosmos Hub](https://hub.cosmos.network), [IRIS Hub](https://irisnet.org), [Binance Chain](https://docs.binance.org/), [Terra](https://terra.money/) or [Kava](https://www.kava.io/). [Many more](https://cosmos.network/ecosystem) are building on the Cosmos SDK. From 05ff7a7cb72ef8399cb4de76bd1d7aab42debaf3 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 11 Jun 2024 19:16:07 +0200 Subject: [PATCH 40/41] feat(crypto): add blst (#20296) Co-authored-by: itsdevbear Co-authored-by: Akhil Kumar P <36399231+akhilkumarpilli@users.noreply.github.com> --- Makefile | 6 + crypto/codec/amino.go | 4 +- crypto/codec/cmt.go | 12 +- crypto/codec/proto.go | 3 + crypto/hd/algo.go | 3 + crypto/keys/bls12_381/const.go | 20 ++ crypto/keys/bls12_381/key.go | 131 ++++++++ crypto/keys/bls12_381/key_cgo.go | 181 +++++++++++ crypto/keys/bls12_381/keys.pb.go | 504 ++++++++++++++++++++++++++++++ crypto/keys/ed25519/ed25519.go | 6 +- crypto/keys/multisig/codec.go | 3 + go.mod | 2 +- simapp/simd/cmd/testnet.go | 2 +- testutil/network/network.go | 3 +- x/genutil/client/cli/collect.go | 9 +- x/genutil/client/cli/gentx.go | 8 +- x/genutil/client/cli/init.go | 21 +- x/genutil/client/cli/init_test.go | 3 +- x/genutil/utils.go | 41 ++- x/genutil/utils_test.go | 2 +- 20 files changed, 932 insertions(+), 32 deletions(-) create mode 100644 crypto/keys/bls12_381/const.go create mode 100644 crypto/keys/bls12_381/key.go create mode 100644 crypto/keys/bls12_381/key_cgo.go create mode 100644 crypto/keys/bls12_381/keys.pb.go diff --git a/Makefile b/Makefile index 6746e56e94a2..2234b9193c11 100644 --- a/Makefile +++ b/Makefile @@ -67,6 +67,12 @@ ifeq (boltdb,$(findstring boltdb,$(COSMOS_BUILD_OPTIONS))) build_tags += boltdb endif +# handle blst +ifeq (blst,$(findstring blst,$(COSMOS_BUILD_OPTIONS))) + CGO_ENABLED=1 + build_tags += blst +endif + whitespace := whitespace += $(whitespace) comma := , diff --git a/crypto/codec/amino.go b/crypto/codec/amino.go index 2c83723a6d48..648637da276b 100644 --- a/crypto/codec/amino.go +++ b/crypto/codec/amino.go @@ -4,7 +4,7 @@ import ( "github.com/cometbft/cometbft/crypto/sr25519" "cosmossdk.io/core/legacy" - + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" kmultisig "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" @@ -21,6 +21,7 @@ func RegisterCrypto(cdc legacy.Amino) { ed25519.PubKeyName) cdc.RegisterConcrete(&secp256k1.PubKey{}, secp256k1.PubKeyName) + cdc.RegisterConcrete(&bls12_381.PubKey{}, bls12_381.PubKeyName) cdc.RegisterConcrete(&kmultisig.LegacyAminoPubKey{}, kmultisig.PubKeyAminoRoute) @@ -31,4 +32,5 @@ func RegisterCrypto(cdc legacy.Amino) { ed25519.PrivKeyName) cdc.RegisterConcrete(&secp256k1.PrivKey{}, secp256k1.PrivKeyName) + cdc.RegisterConcrete(&bls12_381.PrivKey{}, bls12_381.PrivKeyName) } diff --git a/crypto/codec/cmt.go b/crypto/codec/cmt.go index 3e62182870f3..9f6eccfdf88d 100644 --- a/crypto/codec/cmt.go +++ b/crypto/codec/cmt.go @@ -6,7 +6,7 @@ import ( "github.com/cometbft/cometbft/crypto/encoding" "cosmossdk.io/errors" - + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" @@ -24,6 +24,10 @@ func FromCmtProtoPublicKey(protoPk cmtprotocrypto.PublicKey) (cryptotypes.PubKey return &secp256k1.PubKey{ Key: protoPk.Secp256K1, }, nil + case *cmtprotocrypto.PublicKey_Bls12381: + return &bls12_381.PubKey{ + Key: protoPk.Bls12381, + }, nil default: return nil, errors.Wrapf(sdkerrors.ErrInvalidType, "cannot convert %v from Tendermint public key", protoPk) } @@ -44,6 +48,12 @@ func ToCmtProtoPublicKey(pk cryptotypes.PubKey) (cmtprotocrypto.PublicKey, error Secp256K1: pk.Key, }, }, nil + case *bls12_381.PubKey: + return cmtprotocrypto.PublicKey{ + Sum: &cmtprotocrypto.PublicKey_Bls12381{ + Bls12381: pk.Key, + }, + }, nil default: return cmtprotocrypto.PublicKey{}, errors.Wrapf(sdkerrors.ErrInvalidType, "cannot convert %v to Tendermint public key", pk) } diff --git a/crypto/codec/proto.go b/crypto/codec/proto.go index 89f4b508ed81..ffe6af31ec02 100644 --- a/crypto/codec/proto.go +++ b/crypto/codec/proto.go @@ -3,6 +3,7 @@ package codec import ( "cosmossdk.io/core/registry" + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" @@ -16,11 +17,13 @@ func RegisterInterfaces(registry registry.InterfaceRegistrar) { registry.RegisterInterface("cosmos.crypto.PubKey", pk) registry.RegisterImplementations(pk, &ed25519.PubKey{}) registry.RegisterImplementations(pk, &secp256k1.PubKey{}) + registry.RegisterImplementations(pk, &bls12_381.PubKey{}) registry.RegisterImplementations(pk, &multisig.LegacyAminoPubKey{}) var priv *cryptotypes.PrivKey registry.RegisterInterface("cosmos.crypto.PrivKey", priv) registry.RegisterImplementations(priv, &secp256k1.PrivKey{}) registry.RegisterImplementations(priv, &ed25519.PrivKey{}) + registry.RegisterImplementations(priv, &bls12_381.PrivKey{}) secp256r1.RegisterInterfaces(registry) } diff --git a/crypto/hd/algo.go b/crypto/hd/algo.go index d34bc6882390..32fb3af738fd 100644 --- a/crypto/hd/algo.go +++ b/crypto/hd/algo.go @@ -19,6 +19,9 @@ const ( // Ed25519Type represents the Ed25519Type signature system. // It is currently not supported for end-user keys (wallets/ledgers). Ed25519Type = PubKeyType("ed25519") + // Ed25519Type represents the Ed25519Type signature system. + // It is currently not supported for end-user keys (wallets/ledgers). + Bls12_381Type = PubKeyType("bls12_381") // Sr25519Type represents the Sr25519Type signature system. Sr25519Type = PubKeyType("sr25519") ) diff --git a/crypto/keys/bls12_381/const.go b/crypto/keys/bls12_381/const.go new file mode 100644 index 000000000000..bfabbdcc56dc --- /dev/null +++ b/crypto/keys/bls12_381/const.go @@ -0,0 +1,20 @@ +package bls12_381 + +const ( + PrivKeyName = "cometbft/PrivKeyBls12_381" + PubKeyName = "cometbft/PubKeyBls12_381" + // PubKeySize is the size, in bytes, of public keys as used in this package. + PubKeySize = 32 + // PrivKeySize is the size, in bytes, of private keys as used in this package. + PrivKeySize = 64 + // SignatureLength defines the byte length of a BLS signature. + SignatureLength = 96 + // SeedSize is the size, in bytes, of private key seeds. These are the + // private key representations used by RFC 8032. + SeedSize = 32 + + // MaxMsgLen defines the maximum length of the message bytes as passed to Sign. + MaxMsgLen = 32 + + KeyType = "bls12381" +) diff --git a/crypto/keys/bls12_381/key.go b/crypto/keys/bls12_381/key.go new file mode 100644 index 000000000000..70370ceb87b0 --- /dev/null +++ b/crypto/keys/bls12_381/key.go @@ -0,0 +1,131 @@ +package bls12_381 + +import ( + "bytes" + "errors" + "fmt" + + "github.com/cometbft/cometbft/crypto" + + "github.com/cosmos/cosmos-sdk/codec" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" +) + +// =============================================================================================== +// Private Key +// =============================================================================================== + +// PrivKey is a wrapper around the Ethereum BLS12-381 private key type. This +// wrapper conforms to crypto.Pubkey to allow for the use of the Ethereum +// BLS12-381 private key type. + +var ( + _ cryptotypes.PrivKey = &PrivKey{} + _ codec.AminoMarshaler = &PrivKey{} +) + +// NewPrivateKeyFromBytes build a new key from the given bytes. +func NewPrivateKeyFromBytes(bz []byte) (PrivKey, error) { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// GenPrivKey generates a new key. +func GenPrivKey() (PrivKey, error) { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// Bytes returns the byte representation of the Key. +func (privKey PrivKey) Bytes() []byte { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// PubKey returns the private key's public key. If the privkey is not valid +// it returns a nil value. +func (privKey PrivKey) PubKey() cryptotypes.PubKey { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// Equals returns true if two keys are equal and false otherwise. +func (privKey PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// Type returns the type. +func (PrivKey) Type() string { + return KeyType +} + +// Sign signs the given byte array. If msg is larger than +// MaxMsgLen, SHA256 sum will be signed instead of the raw bytes. +func (privKey PrivKey) Sign(msg []byte) ([]byte, error) { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// MarshalAmino overrides Amino binary marshaling. +func (privKey PrivKey) MarshalAmino() ([]byte, error) { + return privKey.Key, nil +} + +// UnmarshalAmino overrides Amino binary marshaling. +func (privKey *PrivKey) UnmarshalAmino(bz []byte) error { + if len(bz) != PrivKeySize { + return errors.New("invalid privkey size") + } + privKey.Key = bz + + return nil +} + +// MarshalAminoJSON overrides Amino JSON marshaling. +func (privKey PrivKey) MarshalAminoJSON() ([]byte, error) { + // When we marshal to Amino JSON, we don't marshal the "key" field itself, + // just its contents (i.e. the key bytes). + return privKey.MarshalAmino() +} + +// UnmarshalAminoJSON overrides Amino JSON marshaling. +func (privKey *PrivKey) UnmarshalAminoJSON(bz []byte) error { + return privKey.UnmarshalAmino(bz) +} + +// =============================================================================================== +// Public Key +// =============================================================================================== + +// Pubkey is a wrapper around the Ethereum BLS12-381 public key type. This +// wrapper conforms to crypto.Pubkey to allow for the use of the Ethereum +// BLS12-381 public key type. + +var _ cryptotypes.PubKey = &PubKey{} + +// Address returns the address of the key. +// +// The function will panic if the public key is invalid. +func (pubKey PubKey) Address() crypto.Address { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// VerifySignature verifies the given signature. +func (pubKey PubKey) VerifySignature(msg, sig []byte) bool { + panic("not implemented, build flags are required to use bls12_381 keys") +} + +// Bytes returns the byte format. +func (pubKey PubKey) Bytes() []byte { + return pubKey.Key +} + +// Type returns the key's type. +func (PubKey) Type() string { + return KeyType +} + +// Equals returns true if the other's type is the same and their bytes are deeply equal. +func (pubKey PubKey) Equals(other cryptotypes.PubKey) bool { + return pubKey.Type() == other.Type() && bytes.Equal(pubKey.Bytes(), other.Bytes()) +} + +// String returns Hex representation of a pubkey with it's type +func (pubKey PubKey) String() string { + return fmt.Sprintf("PubKeyBLS12_381{%X}", pubKey.Key) +} diff --git a/crypto/keys/bls12_381/key_cgo.go b/crypto/keys/bls12_381/key_cgo.go new file mode 100644 index 000000000000..9ad681179dce --- /dev/null +++ b/crypto/keys/bls12_381/key_cgo.go @@ -0,0 +1,181 @@ +//go:build ((linux && amd64) || (linux && arm64) || (darwin && amd64) || (darwin && arm64) || (windows && amd64)) && bls12381 + +package bls12_381 + +import ( + "bytes" + "crypto/sha256" + "errors" + "fmt" + + "github.com/cometbft/cometbft/crypto" + "github.com/cometbft/cometbft/crypto/tmhash" + + bls12381 "github.com/cosmos/crypto/curves/bls12381" + + "github.com/cosmos/cosmos-sdk/codec" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" +) + +// =============================================================================================== +// Private Key +// =============================================================================================== + +// PrivKey is a wrapper around the Ethereum BLS12-381 private key type. This +// wrapper conforms to crypto.Pubkey to allow for the use of the Ethereum +// BLS12-381 private key type. + +var ( + _ cryptotypes.PrivKey = &PrivKey{} + _ codec.AminoMarshaler = &PrivKey{} +) + +// NewPrivateKeyFromBytes build a new key from the given bytes. +func NewPrivateKeyFromBytes(bz []byte) (PrivKey, error) { + secretKey, err := bls12381.SecretKeyFromBytes(bz) + if err != nil { + return PrivKey{}, err + } + return secretKey.Marshal(), nil +} + +// GenPrivKey generates a new key. +func GenPrivKey() (PrivKey, error) { + secretKey, err := bls12381.RandKey() + return PrivKey(secretKey.Marshal()), err +} + +// Bytes returns the byte representation of the Key. +func (privKey PrivKey) Bytes() []byte { + return privKey.Key +} + +// PubKey returns the private key's public key. If the privkey is not valid +// it returns a nil value. +func (privKey PrivKey) PubKey() cryptotypes.PubKey { + secretKey, err := bls12381.SecretKeyFromBytes(privKey.Key) + if err != nil { + return nil + } + + return PubKey(secretKey.PublicKey().Marshal()) +} + +// Equals returns true if two keys are equal and false otherwise. +func (privKey PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { + return privKey.Type() == other.Type() && bytes.Equal(privKey.Bytes(), other.Bytes()) +} + +// Type returns the type. +func (PrivKey) Type() string { + return keyType +} + +// Sign signs the given byte array. If msg is larger than +// MaxMsgLen, SHA256 sum will be signed instead of the raw bytes. +func (privKey PrivKey) Sign(msg []byte) ([]byte, error) { + secretKey, err := bls12381.SecretKeyFromBytes(privKey.Key) + if err != nil { + return nil, err + } + + if len(msg) > MaxMsgLen { + hash := sha256.Sum256(msg) + sig := secretKey.Sign(hash[:]) + return sig.Marshal(), nil + } + sig := secretKey.Sign(msg) + return sig.Marshal(), nil +} + +// MarshalAmino overrides Amino binary marshaling. +func (privKey PrivKey) MarshalAmino() ([]byte, error) { + return privKey.Key, nil +} + +// UnmarshalAmino overrides Amino binary marshaling. +func (privKey *PrivKey) UnmarshalAmino(bz []byte) error { + if len(bz) != PrivKeySize { + return errors.New("invalid privkey size") + } + privKey.Key = bz + + return nil +} + +// MarshalAminoJSON overrides Amino JSON marshaling. +func (privKey PrivKey) MarshalAminoJSON() ([]byte, error) { + // When we marshal to Amino JSON, we don't marshal the "key" field itself, + // just its contents (i.e. the key bytes). + return privKey.MarshalAmino() +} + +// UnmarshalAminoJSON overrides Amino JSON marshaling. +func (privKey *PrivKey) UnmarshalAminoJSON(bz []byte) error { + return privKey.UnmarshalAmino(bz) +} + +// =============================================================================================== +// Public Key +// =============================================================================================== + +// Pubkey is a wrapper around the Ethereum BLS12-381 public key type. This +// wrapper conforms to crypto.Pubkey to allow for the use of the Ethereum +// BLS12-381 public key type. + +var _ cryptotypes.PubKey = &PubKey{} + +// Address returns the address of the key. +// +// The function will panic if the public key is invalid. +func (pubKey PubKey) Address() crypto.Address { + pk, _ := bls12381.PublicKeyFromBytes(pubKey.Key) + if len(pk.Marshal()) != PubKeySize { + panic("pubkey is incorrect size") + } + return crypto.Address(tmhash.SumTruncated(pubKey.Key)) +} + +// VerifySignature verifies the given signature. +func (pubKey PubKey) VerifySignature(msg, sig []byte) bool { + if len(sig) != SignatureLength { + return false + } + + pubK, err := bls12381.PublicKeyFromBytes(pubKey.Key) + if err != nil { // invalid pubkey + return false + } + + if len(msg) > MaxMsgLen { + hash := sha256.Sum256(msg) + msg = hash[:] + } + + ok, err := bls12381.VerifySignature(sig, [MaxMsgLen]byte(msg[:MaxMsgLen]), pubK) + if err != nil { // bad signature + return false + } + + return ok +} + +// Bytes returns the byte format. +func (pubKey PubKey) Bytes() []byte { + return pubKey.Key +} + +// Type returns the key's type. +func (PubKey) Type() string { + return keyType +} + +// Equals returns true if the other's type is the same and their bytes are deeply equal. +func (pubKey PubKey) Equals(other cryptotypes.PubKey) bool { + return pubKey.Type() == other.Type() && bytes.Equal(pubKey.Bytes(), other.Bytes()) +} + +// String returns Hex representation of a pubkey with it's type +func (pubKey PubKey) String() string { + return fmt.Sprintf("PubKeyBLS12_381{%X}", pubKey.Key) +} diff --git a/crypto/keys/bls12_381/keys.pb.go b/crypto/keys/bls12_381/keys.pb.go new file mode 100644 index 000000000000..4524d9e5dd35 --- /dev/null +++ b/crypto/keys/bls12_381/keys.pb.go @@ -0,0 +1,504 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cosmos/crypto/bls12_381/keys.proto + +package bls12_381 + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// PubKey is an ed25519 public key for handling Tendermint keys in SDK. +// It's needed for Any serialization and SDK compatibility. +// It must not be used in a non Tendermint key context because it doesn't implement +// ADR-28. Nevertheless, you will like to use ed25519 in app user level +// then you must create a new proto message and follow ADR-28 for Address construction. +type PubKey struct { + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (m *PubKey) Reset() { *m = PubKey{} } +func (*PubKey) ProtoMessage() {} +func (*PubKey) Descriptor() ([]byte, []int) { + return fileDescriptor_afa2b84d543bb80f, []int{0} +} +func (m *PubKey) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PubKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PubKey.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PubKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_PubKey.Merge(m, src) +} +func (m *PubKey) XXX_Size() int { + return m.Size() +} +func (m *PubKey) XXX_DiscardUnknown() { + xxx_messageInfo_PubKey.DiscardUnknown(m) +} + +var xxx_messageInfo_PubKey proto.InternalMessageInfo + +func (m *PubKey) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +// PrivKey defines a ed25519 private key. +// NOTE: ed25519 keys must not be used in SDK apps except in a tendermint validator context. +type PrivKey struct { + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (m *PrivKey) Reset() { *m = PrivKey{} } +func (m *PrivKey) String() string { return proto.CompactTextString(m) } +func (*PrivKey) ProtoMessage() {} +func (*PrivKey) Descriptor() ([]byte, []int) { + return fileDescriptor_afa2b84d543bb80f, []int{1} +} +func (m *PrivKey) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PrivKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PrivKey.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PrivKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrivKey.Merge(m, src) +} +func (m *PrivKey) XXX_Size() int { + return m.Size() +} +func (m *PrivKey) XXX_DiscardUnknown() { + xxx_messageInfo_PrivKey.DiscardUnknown(m) +} + +var xxx_messageInfo_PrivKey proto.InternalMessageInfo + +func (m *PrivKey) GetKey() []byte { + if m != nil { + return m.Key + } + return nil +} + +func init() { + proto.RegisterType((*PubKey)(nil), "cosmos.crypto.bls12_381.PubKey") + proto.RegisterType((*PrivKey)(nil), "cosmos.crypto.bls12_381.PrivKey") +} + +func init() { + proto.RegisterFile("cosmos/crypto/bls12_381/keys.proto", fileDescriptor_afa2b84d543bb80f) +} + +var fileDescriptor_afa2b84d543bb80f = []byte{ + // 244 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4a, 0xce, 0x2f, 0xce, + 0xcd, 0x2f, 0xd6, 0x4f, 0x2e, 0xaa, 0x2c, 0x28, 0xc9, 0xd7, 0x4f, 0xca, 0x29, 0x36, 0x34, 0x8a, + 0x37, 0xb6, 0x30, 0xd4, 0xcf, 0x4e, 0xad, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, + 0x87, 0xa8, 0xd1, 0x83, 0xa8, 0xd1, 0x83, 0xab, 0x91, 0x12, 0x4c, 0xcc, 0xcd, 0xcc, 0xcb, 0xd7, + 0x07, 0x93, 0x10, 0xb5, 0x52, 0x22, 0xe9, 0xf9, 0xe9, 0xf9, 0x60, 0xa6, 0x3e, 0x88, 0x05, 0x11, + 0x55, 0xf2, 0xe6, 0x62, 0x0b, 0x28, 0x4d, 0xf2, 0x4e, 0xad, 0x14, 0x12, 0xe0, 0x62, 0xce, 0x4e, + 0xad, 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x09, 0x02, 0x31, 0xad, 0xf4, 0x67, 0x2c, 0x90, 0x67, + 0xe8, 0x7a, 0xbe, 0x41, 0x4b, 0x22, 0x39, 0x3f, 0x37, 0xb5, 0x24, 0x29, 0xad, 0x44, 0x1f, 0xa2, + 0xd6, 0xc9, 0x27, 0x18, 0x62, 0xcf, 0xa4, 0xe7, 0x1b, 0xb4, 0x38, 0xb3, 0x53, 0x2b, 0xe3, 0xd3, + 0x32, 0x53, 0x73, 0x52, 0x94, 0x3c, 0xb9, 0xd8, 0x03, 0x8a, 0x32, 0xcb, 0xb0, 0x9b, 0xa6, 0x03, + 0x32, 0x49, 0x12, 0x61, 0x12, 0x44, 0x21, 0x0e, 0xa3, 0x9c, 0x7c, 0x4e, 0x3c, 0x92, 0x63, 0xbc, + 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, + 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x28, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, + 0x57, 0x1f, 0x16, 0x44, 0x60, 0x4a, 0xb7, 0x38, 0x25, 0x1b, 0x16, 0x5a, 0xa0, 0x30, 0x42, 0x04, + 0x59, 0x12, 0x1b, 0xd8, 0xb3, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x05, 0x13, 0x8a, + 0x54, 0x01, 0x00, 0x00, +} + +func (m *PubKey) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PubKey) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Key) > 0 { + i -= len(m.Key) + copy(dAtA[i:], m.Key) + i = encodeVarintKeys(dAtA, i, uint64(len(m.Key))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PrivKey) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PrivKey) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PrivKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Key) > 0 { + i -= len(m.Key) + copy(dAtA[i:], m.Key) + i = encodeVarintKeys(dAtA, i, uint64(len(m.Key))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintKeys(dAtA []byte, offset int, v uint64) int { + offset -= sovKeys(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *PubKey) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Key) + if l > 0 { + n += 1 + l + sovKeys(uint64(l)) + } + return n +} + +func (m *PrivKey) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Key) + if l > 0 { + n += 1 + l + sovKeys(uint64(l)) + } + return n +} + +func sovKeys(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozKeys(x uint64) (n int) { + return sovKeys(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *PubKey) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKeys + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PubKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PubKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKeys + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthKeys + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthKeys + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...) + if m.Key == nil { + m.Key = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipKeys(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthKeys + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PrivKey) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKeys + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PrivKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PrivKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowKeys + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthKeys + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthKeys + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...) + if m.Key == nil { + m.Key = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipKeys(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthKeys + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipKeys(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowKeys + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowKeys + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowKeys + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthKeys + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupKeys + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthKeys + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthKeys = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowKeys = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupKeys = fmt.Errorf("proto: unexpected end of group") +) diff --git a/crypto/keys/ed25519/ed25519.go b/crypto/keys/ed25519/ed25519.go index 8ded87ec3f77..792777b17de2 100644 --- a/crypto/keys/ed25519/ed25519.go +++ b/crypto/keys/ed25519/ed25519.go @@ -34,7 +34,7 @@ const ( // private key representations used by RFC 8032. SeedSize = 32 - keyType = "ed25519" + KeyType = "ed25519" ) var ( @@ -92,7 +92,7 @@ func (privKey *PrivKey) Equals(other cryptotypes.LedgerPrivKey) bool { } func (privKey *PrivKey) Type() string { - return keyType + return KeyType } // MarshalAmino overrides Amino binary marshaling. @@ -193,7 +193,7 @@ func (pubKey *PubKey) String() string { } func (pubKey *PubKey) Type() string { - return keyType + return KeyType } func (pubKey *PubKey) Equals(other cryptotypes.PubKey) bool { diff --git a/crypto/keys/multisig/codec.go b/crypto/keys/multisig/codec.go index 6572123af540..47aa70060f7f 100644 --- a/crypto/keys/multisig/codec.go +++ b/crypto/keys/multisig/codec.go @@ -4,6 +4,7 @@ import ( "github.com/cometbft/cometbft/crypto/sr25519" "github.com/cosmos/cosmos-sdk/codec" + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" @@ -27,6 +28,8 @@ func init() { sr25519.PubKeyName) AminoCdc.RegisterConcrete(&secp256k1.PubKey{}, secp256k1.PubKeyName) + AminoCdc.RegisterConcrete(&bls12_381.PubKey{}, + bls12_381.PubKeyName) AminoCdc.RegisterConcrete(&LegacyAminoPubKey{}, PubKeyAminoRoute) } diff --git a/go.mod b/go.mod index 3ffd9f680f26..ae05108c4c4a 100644 --- a/go.mod +++ b/go.mod @@ -25,6 +25,7 @@ require ( github.com/cosmos/btcutil v1.0.5 github.com/cosmos/cosmos-db v1.0.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 + github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogogateway v1.2.0 github.com/cosmos/gogoproto v1.5.0 @@ -85,7 +86,6 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft-db v0.12.0 // indirect - github.com/cosmos/crypto v0.0.0-20240309083813-82ed2537802e // indirect github.com/cosmos/iavl v1.1.4 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/danieljoos/wincred v1.2.1 // indirect diff --git a/simapp/simd/cmd/testnet.go b/simapp/simd/cmd/testnet.go index 56fffd41479c..5609fb1a2f20 100644 --- a/simapp/simd/cmd/testnet.go +++ b/simapp/simd/cmd/testnet.go @@ -292,7 +292,7 @@ func initTestnetFiles( } } - nodeIDs[i], valPubKeys[i], err = genutil.InitializeNodeValidatorFiles(nodeConfig) + nodeIDs[i], valPubKeys[i], err = genutil.InitializeNodeValidatorFiles(nodeConfig, args.algo) if err != nil { _ = os.RemoveAll(args.outputDir) return err diff --git a/testutil/network/network.go b/testutil/network/network.go index 3717f7e65b9d..da9159bd09ae 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -49,6 +49,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/runtime" srvconfig "github.com/cosmos/cosmos-sdk/server/config" @@ -446,7 +447,7 @@ func New(l Logger, baseDir string, cfg Config) (NetworkI, error) { mnemonic = cfg.Mnemonics[i] } - nodeID, pubKey, err := genutil.InitializeNodeValidatorFilesFromMnemonic(cmtCfg, mnemonic) + nodeID, pubKey, err := genutil.InitializeNodeValidatorFilesFromMnemonic(cmtCfg, mnemonic, ed25519.PrivKeyName) if err != nil { return nil, err } diff --git a/x/genutil/client/cli/collect.go b/x/genutil/client/cli/collect.go index f8e59533f10c..96b65f147e7d 100644 --- a/x/genutil/client/cli/collect.go +++ b/x/genutil/client/cli/collect.go @@ -26,7 +26,12 @@ func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, validator ty clientCtx := client.GetClientContextFromCmd(cmd) cdc := clientCtx.Codec - nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config) + consensusKey, err := cmd.Flags().GetString(FlagConsensusKeyAlgo) + if err != nil { + return errors.Wrap(err, "Failed to get consensus key algo") + } + + nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config, consensusKey) if err != nil { return errors.Wrap(err, "failed to initialize node validator files") } @@ -55,7 +60,7 @@ func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, validator ty return displayInfo(cmd.ErrOrStderr(), toPrint) }, } - + cmd.Flags().String(FlagConsensusKeyAlgo, "ed25519", "algorithm to use for the consensus key") cmd.Flags().String(flagGenTxDir, "", "override default \"gentx\" directory from which collect and execute genesis transactions; default [--home]/config/gentx/") return cmd diff --git a/x/genutil/client/cli/gentx.go b/x/genutil/client/cli/gentx.go index 9c6d0c5034c7..5b4b57f95ea5 100644 --- a/x/genutil/client/cli/gentx.go +++ b/x/genutil/client/cli/gentx.go @@ -62,7 +62,12 @@ $ %s gentx my-key-name 1000000stake --home=/path/to/home/dir --keyring-backend=o } cdc := clientCtx.Codec - nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config) + consensusKey, err := cmd.Flags().GetString(FlagConsensusKeyAlgo) + if err != nil { + return errors.Wrap(err, "Failed to get consensus key algo") + } + + nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config, consensusKey) if err != nil { return errors.Wrap(err, "failed to initialize node validator files") } @@ -212,6 +217,7 @@ $ %s gentx my-key-name 1000000stake --home=/path/to/home/dir --keyring-backend=o }, } + cmd.Flags().String(FlagConsensusKeyAlgo, "ed25519", "algorithm to use for the consensus key: ed25519 | secp256k1 | bls12_381 | sr25519 | multi") cmd.Flags().String(flags.FlagOutputDocument, "", "Write the genesis transaction JSON document to the given file instead of the default location") cmd.Flags().AddFlagSet(fsCreateValidator) flags.AddTxFlagsToCmd(cmd) diff --git a/x/genutil/client/cli/init.go b/x/genutil/client/cli/init.go index db9491df5997..19c3d148c48f 100644 --- a/x/genutil/client/cli/init.go +++ b/x/genutil/client/cli/init.go @@ -9,14 +9,10 @@ import ( "os" "path/filepath" - cfg "github.com/cometbft/cometbft/config" - cmttypes "github.com/cometbft/cometbft/types" - "github.com/cosmos/go-bip39" - "github.com/spf13/cobra" - errorsmod "cosmossdk.io/errors" "cosmossdk.io/math/unsafe" - + cfg "github.com/cometbft/cometbft/config" + cmttypes "github.com/cometbft/cometbft/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/input" @@ -25,6 +21,8 @@ import ( "github.com/cosmos/cosmos-sdk/version" "github.com/cosmos/cosmos-sdk/x/genutil" "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/go-bip39" + "github.com/spf13/cobra" ) const ( @@ -113,7 +111,12 @@ func InitCmd(mm *module.Manager) *cobra.Command { initHeight = 1 } - nodeID, _, err := genutil.InitializeNodeValidatorFilesFromMnemonic(config, mnemonic) + consensusKey, err := cmd.Flags().GetString(FlagConsensusKeyAlgo) + if err != nil { + return errorsmod.Wrap(err, "Failed to get consensus key algo") + } + + nodeID, _, err := genutil.InitializeNodeValidatorFilesFromMnemonic(config, mnemonic, consensusKey) if err != nil { return err } @@ -163,10 +166,6 @@ func InitCmd(mm *module.Manager) *cobra.Command { Params: cmttypes.DefaultConsensusParams(), } - consensusKey, err := cmd.Flags().GetString(FlagConsensusKeyAlgo) - if err != nil { - return errorsmod.Wrap(err, "Failed to get consensus key algo") - } appGenesis.Consensus.Params.Validator.PubKeyTypes = []string{consensusKey} if err = genutil.ExportGenesisFile(appGenesis, genFile); err != nil { diff --git a/x/genutil/client/cli/init_test.go b/x/genutil/client/cli/init_test.go index b57bba44cd50..ba90403be880 100644 --- a/x/genutil/client/cli/init_test.go +++ b/x/genutil/client/cli/init_test.go @@ -22,6 +22,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/server" servercmtlog "github.com/cosmos/cosmos-sdk/server/log" "github.com/cosmos/cosmos-sdk/server/mock" @@ -243,7 +244,7 @@ func TestInitNodeValidatorFiles(t *testing.T) { cfg, err := genutiltest.CreateDefaultCometConfig(home) require.NoError(t, err) - nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(cfg) + nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(cfg, ed25519.KeyType) require.NoError(t, err) require.NotEqual(t, "", nodeID) diff --git a/x/genutil/utils.go b/x/genutil/utils.go index 880aa7bdc1c0..78fc18f85aed 100644 --- a/x/genutil/utils.go +++ b/x/genutil/utils.go @@ -8,6 +8,8 @@ import ( "time" cfg "github.com/cometbft/cometbft/config" + cmtcrypto "github.com/cometbft/cometbft/crypto" + cmtbls12381 "github.com/cometbft/cometbft/crypto/bls12381" tmed25519 "github.com/cometbft/cometbft/crypto/ed25519" "github.com/cometbft/cometbft/p2p" "github.com/cometbft/cometbft/privval" @@ -44,13 +46,13 @@ func ExportGenesisFileWithTime(genFile, chainID string, validators []cmttypes.Ge } // InitializeNodeValidatorFiles creates private validator and p2p configuration files. -func InitializeNodeValidatorFiles(config *cfg.Config) (nodeID string, valPubKey cryptotypes.PubKey, err error) { - return InitializeNodeValidatorFilesFromMnemonic(config, "") +func InitializeNodeValidatorFiles(config *cfg.Config, keyType string) (nodeID string, valPubKey cryptotypes.PubKey, err error) { + return InitializeNodeValidatorFilesFromMnemonic(config, "", keyType) } // InitializeNodeValidatorFilesFromMnemonic creates private validator and p2p configuration files using the given mnemonic. // If no valid mnemonic is given, a random one will be used instead. -func InitializeNodeValidatorFilesFromMnemonic(config *cfg.Config, mnemonic string) (nodeID string, valPubKey cryptotypes.PubKey, err error) { +func InitializeNodeValidatorFilesFromMnemonic(config *cfg.Config, mnemonic, keyType string) (nodeID string, valPubKey cryptotypes.PubKey, err error) { if len(mnemonic) > 0 && !bip39.IsMnemonicValid(mnemonic) { return "", nil, fmt.Errorf("invalid mnemonic") } @@ -71,15 +73,38 @@ func InitializeNodeValidatorFilesFromMnemonic(config *cfg.Config, mnemonic strin return "", nil, fmt.Errorf("could not create directory %q: %w", filepath.Dir(pvStateFile), err) } - var filePV *privval.FilePV + var ( + filePV *privval.FilePV + privKey cmtcrypto.PrivKey + ) + if len(mnemonic) == 0 { - filePV = privval.LoadOrGenFilePV(pvKeyFile, pvStateFile) + switch keyType { + case "ed25519": + privKey = tmed25519.GenPrivKey() + case "bls12_381": + privKey, err = cmtbls12381.GenPrivKey() + if err != nil { + return "", nil, err + } + default: + privKey = tmed25519.GenPrivKey() + } } else { - privKey := tmed25519.GenPrivKeyFromSecret([]byte(mnemonic)) - filePV = privval.NewFilePV(privKey, pvKeyFile, pvStateFile) - filePV.Save() + switch keyType { + case "ed25519": + privKey = tmed25519.GenPrivKeyFromSecret([]byte(mnemonic)) + case "bls12_381": + // TODO: need to add support for getting from mnemonic in Comet. + return "", nil, fmt.Errorf("BLS key type does not support mnemonic") + default: + privKey = tmed25519.GenPrivKeyFromSecret([]byte(mnemonic)) + } } + filePV = privval.NewFilePV(privKey, pvKeyFile, pvStateFile) + filePV.Save() + tmValPubKey, err := filePV.GetPubKey() if err != nil { return "", nil, err diff --git a/x/genutil/utils_test.go b/x/genutil/utils_test.go index 7e0dd4b17d4a..af2963df41fd 100644 --- a/x/genutil/utils_test.go +++ b/x/genutil/utils_test.go @@ -53,7 +53,7 @@ func TestInitializeNodeValidatorFilesFromMnemonic(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - _, _, err := InitializeNodeValidatorFilesFromMnemonic(cfg, tt.mnemonic) + _, _, err := InitializeNodeValidatorFilesFromMnemonic(cfg, tt.mnemonic, "ed25519") if tt.expError { require.Error(t, err) From 021ab6dcc2404be944eaf424f1f559af0851709b Mon Sep 17 00:00:00 2001 From: son trinh Date: Wed, 12 Jun 2024 14:02:12 +0700 Subject: [PATCH 41/41] refactor(x/auth): Fix system test (#20531) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- CHANGELOG.md | 1 + UPGRADING.md | 13 ++++++++ crypto/codec/amino.go | 1 + crypto/codec/cmt.go | 1 + simapp/upgrades.go | 7 +++++ simapp/upgrades_test.go | 54 +++++++++++++++++++++++++++++++++ x/accounts/genesis.go | 21 +++++++++---- x/accounts/genesis_test.go | 17 +++++++++++ x/auth/keeper/keeper.go | 36 ++++++++++++++++++++++ x/auth/keeper/migrations.go | 21 ++----------- x/auth/migrations/v6/migrate.go | 12 -------- x/auth/module.go | 5 +-- x/genutil/client/cli/init.go | 10 +++--- 13 files changed, 154 insertions(+), 45 deletions(-) create mode 100644 simapp/upgrades_test.go delete mode 100644 x/auth/migrations/v6/migrate.go diff --git a/CHANGELOG.md b/CHANGELOG.md index e5d1ce7be6b7..d7db2a3c2b8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -200,6 +200,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (simapp) [#19146](https://github.com/cosmos/cosmos-sdk/pull/19146) Replace `--v` CLI option with `--validator-count`/`-n`. * (module) [#19370](https://github.com/cosmos/cosmos-sdk/pull/19370) Deprecate `module.Configurator`, use `appmodule.HasMigrations` and `appmodule.HasServices` instead from Core API. +* (x/auth) [#20531](https://github.com/cosmos/cosmos-sdk/pull/20531) Deprecate auth keeper `NextAccountNumber`, use `keeper.AccountsModKeeper.NextAccountNumber` instead. ## [v0.50.7](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.7) - 2024-06-04 diff --git a/UPGRADING.md b/UPGRADING.md index 48e2db4164c4..e99c120b0519 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -252,6 +252,19 @@ Most of Cosmos SDK modules have migrated to [collections](https://docs.cosmos.ne Many functions have been removed due to this changes as the API can be smaller thanks to collections. For modules that have migrated, verify you are checking against `collections.ErrNotFound` when applicable. +#### `x/accounts` + +Accounts's AccountNumber will be used as a global account number tracking replacing Auth legacy AccountNumber. Must set accounts's AccountNumber with auth's AccountNumber value in upgrade handler. This is done through auth keeper MigrateAccountNumber function. + +```go +import authkeeper "cosmossdk.io/x/auth/keeper" +... +err := authkeeper.MigrateAccountNumberUnsafe(ctx, &app.AuthKeeper) +if err != nil { + return nil, err +} +``` + #### `x/auth` Auth was spun out into its own `go.mod`. To import it use `cosmossdk.io/x/auth` diff --git a/crypto/codec/amino.go b/crypto/codec/amino.go index 648637da276b..373ef14621f8 100644 --- a/crypto/codec/amino.go +++ b/crypto/codec/amino.go @@ -4,6 +4,7 @@ import ( "github.com/cometbft/cometbft/crypto/sr25519" "cosmossdk.io/core/legacy" + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" kmultisig "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" diff --git a/crypto/codec/cmt.go b/crypto/codec/cmt.go index 9f6eccfdf88d..9617f94bf1a3 100644 --- a/crypto/codec/cmt.go +++ b/crypto/codec/cmt.go @@ -6,6 +6,7 @@ import ( "github.com/cometbft/cometbft/crypto/encoding" "cosmossdk.io/errors" + bls12_381 "github.com/cosmos/cosmos-sdk/crypto/keys/bls12_381" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" diff --git a/simapp/upgrades.go b/simapp/upgrades.go index 01fe745d6e88..9433b94e37b4 100644 --- a/simapp/upgrades.go +++ b/simapp/upgrades.go @@ -6,6 +6,7 @@ import ( "cosmossdk.io/core/appmodule" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/accounts" + authkeeper "cosmossdk.io/x/auth/keeper" epochstypes "cosmossdk.io/x/epochs/types" protocolpooltypes "cosmossdk.io/x/protocolpool/types" upgradetypes "cosmossdk.io/x/upgrade/types" @@ -25,6 +26,12 @@ func (app SimApp) RegisterUpgradeHandlers() { app.UpgradeKeeper.SetUpgradeHandler( UpgradeName, func(ctx context.Context, _ upgradetypes.Plan, fromVM appmodule.VersionMap) (appmodule.VersionMap, error) { + // sync accounts and auth module account number + err := authkeeper.MigrateAccountNumberUnsafe(ctx, &app.AuthKeeper) + if err != nil { + return nil, err + } + return app.ModuleManager.RunMigrations(ctx, app.Configurator(), fromVM) }, ) diff --git a/simapp/upgrades_test.go b/simapp/upgrades_test.go new file mode 100644 index 000000000000..b70ee15c7863 --- /dev/null +++ b/simapp/upgrades_test.go @@ -0,0 +1,54 @@ +package simapp + +import ( + "testing" + + cmtproto "github.com/cometbft/cometbft/api/cometbft/types/v1" + "github.com/stretchr/testify/require" + + "cosmossdk.io/collections" + authkeeper "cosmossdk.io/x/auth/keeper" + authtypes "cosmossdk.io/x/auth/types" +) + +// TestSyncAccountNumber tests if accounts module account number is set correctly with the value get from auth. +// Also check if the store entry for auth GlobalAccountNumberKey is successfully deleted. +func TestSyncAccountNumber(t *testing.T) { + app := Setup(t, true) + ctx := app.NewUncachedContext(true, cmtproto.Header{}) + + bytesKey := authtypes.GlobalAccountNumberKey + store := app.AuthKeeper.KVStoreService.OpenKVStore(ctx) + + // initially there is no value set yet + v, err := store.Get(bytesKey) + require.NoError(t, err) + require.Nil(t, v) + + // set value for legacy account number + v, err = collections.Uint64Value.Encode(10) + require.NoError(t, err) + err = store.Set(bytesKey, v) + require.NoError(t, err) + + // make sure value are updated + v, err = store.Get(bytesKey) + require.NoError(t, err) + require.NotEmpty(t, v) + num, err := collections.Uint64Value.Decode(v) + require.NoError(t, err) + require.Equal(t, uint64(10), num) + + err = authkeeper.MigrateAccountNumberUnsafe(ctx, &app.AuthKeeper) + require.NoError(t, err) + + // make sure the DB entry for this key is deleted + v, err = store.Get(bytesKey) + require.NoError(t, err) + require.Nil(t, v) + + // check if accounts's account number is updated + currentNum, err := app.AccountsKeeper.AccountNumber.Peek(ctx) + require.NoError(t, err) + require.Equal(t, uint64(10), currentNum) +} diff --git a/x/accounts/genesis.go b/x/accounts/genesis.go index bd0f9edc0b4d..5f9ad3ee954e 100644 --- a/x/accounts/genesis.go +++ b/x/accounts/genesis.go @@ -64,19 +64,28 @@ func (k Keeper) exportAccount(ctx context.Context, addr []byte, accType string, } func (k Keeper) ImportState(ctx context.Context, genState *v1.GenesisState) error { - err := k.AccountNumber.Set(ctx, genState.AccountNumber) - if err != nil { - return err - } - + var largestNum *uint64 + var err error // import accounts for _, acc := range genState.Accounts { err = k.importAccount(ctx, acc) if err != nil { return fmt.Errorf("%w: %s", err, acc.Address) } + + accNum := acc.AccountNumber + + if largestNum == nil || *largestNum < accNum { + largestNum = &accNum + } } - return nil + + if largestNum != nil { + // set the account number to the highest account number to avoid duplicate account number + err = k.AccountNumber.Set(ctx, *largestNum) + } + + return err } func (k Keeper) importAccount(ctx context.Context, acc *v1.GenesisAccount) error { diff --git a/x/accounts/genesis_test.go b/x/accounts/genesis_test.go index 357fb8eb6628..ecd44a91d00d 100644 --- a/x/accounts/genesis_test.go +++ b/x/accounts/genesis_test.go @@ -51,6 +51,23 @@ func TestGenesis(t *testing.T) { resp, err = k.Query(ctx, addr2, &types.DoubleValue{}) require.NoError(t, err) require.Equal(t, &types.UInt64Value{Value: 20}, resp) + + // reset state + k, ctx = newKeeper(t, func(deps implementation.Dependencies) (string, implementation.Account, error) { + acc, err := NewTestAccount(deps) + return testAccountType, acc, err + }) + + // modify the accounts account number + state.Accounts[0].AccountNumber = 99 + + err = k.ImportState(ctx, state) + require.NoError(t, err) + + currentAccNum, err := k.AccountNumber.Peek(ctx) + require.NoError(t, err) + // AccountNumber should be set to the highest account number in the genesis state + require.Equal(t, uint64(99), currentAccNum) } func TestImportAccountError(t *testing.T) { diff --git a/x/auth/keeper/keeper.go b/x/auth/keeper/keeper.go index 7c86fb093390..00240e8f9a65 100644 --- a/x/auth/keeper/keeper.go +++ b/x/auth/keeper/keeper.go @@ -102,6 +102,10 @@ type AccountKeeper struct { Schema collections.Schema Params collections.Item[types.Params] + // only use for upgrade handler + // + // Deprecated: move to accounts module accountNumber + accountNumber collections.Sequence // Accounts key: AccAddr | value: AccountI | index: AccountsIndex Accounts *collections.IndexedMap[sdk.AccAddress, sdk.AccountI, AccountsIndexes] } @@ -135,6 +139,7 @@ func NewAccountKeeper( permAddrs: permAddrs, authority: authority, Params: collections.NewItem(sb, types.ParamsKey, "params", codec.CollValue[types.Params](cdc)), + accountNumber: collections.NewSequence(sb, types.GlobalAccountNumberKey, "account_number"), Accounts: collections.NewIndexedMap(sb, types.AddressStoreKeyPrefix, "accounts", sdk.AccAddressKey, codec.CollInterfaceValue[sdk.AccountI](cdc), NewAccountIndexes(sb)), } schema, err := sb.Build() @@ -145,6 +150,22 @@ func NewAccountKeeper( return ak } +// removeLegacyAccountNumberUnsafe is used for migration purpose only. It deletes the sequence in the DB +// and returns the last value used on success. +// Deprecated +func (ak AccountKeeper) removeLegacyAccountNumberUnsafe(ctx context.Context) (uint64, error) { + accNum, err := ak.accountNumber.Peek(ctx) + if err != nil { + return 0, err + } + + // Delete DB entry for legacy account number + store := ak.KVStoreService.OpenKVStore(ctx) + err = store.Delete(types.GlobalAccountNumberKey.Bytes()) + + return accNum, err +} + // GetAuthority returns the x/auth module's authority. func (ak AccountKeeper) GetAuthority() string { return ak.authority @@ -317,3 +338,18 @@ func (ak AccountKeeper) NonAtomicMsgsExec(ctx context.Context, signer sdk.AccAdd return msgResponses, nil } + +// MigrateAccountNumberUnsafe migrates auth's account number to accounts's account number +// and delete store entry for auth legacy GlobalAccountNumberKey. +// +// Should only use in an upgrade handler for migrating account number. +func MigrateAccountNumberUnsafe(ctx context.Context, ak *AccountKeeper) error { + currentAccNum, err := ak.removeLegacyAccountNumberUnsafe(ctx) + if err != nil { + return fmt.Errorf("failed to migrate account number: %w", err) + } + + err = ak.AccountsModKeeper.InitAccountNumberSeqUnsafe(ctx, currentAccNum) + + return err +} diff --git a/x/auth/keeper/migrations.go b/x/auth/keeper/migrations.go index 5b3418b99e65..c858e7e9551a 100644 --- a/x/auth/keeper/migrations.go +++ b/x/auth/keeper/migrations.go @@ -3,7 +3,6 @@ package keeper import ( "context" - "cosmossdk.io/collections" v5 "cosmossdk.io/x/auth/migrations/v5" "cosmossdk.io/x/auth/types" @@ -13,16 +12,11 @@ import ( // Migrator is a struct for handling in-place store migrations. type Migrator struct { keeper AccountKeeper - // accNum is use in v4 to v5 and v5 to v6 migration - accNum collections.Sequence } // NewMigrator returns a new Migrator. func NewMigrator(keeper AccountKeeper) Migrator { - sb := collections.NewSchemaBuilder(keeper.Environment.KVStoreService) - accNumSeq := collections.NewSequence(sb, types.GlobalAccountNumberKey, "account_number") - - return Migrator{keeper: keeper, accNum: accNumSeq} + return Migrator{keeper: keeper} } // Migrate1to2 migrates from version 1 to 2. @@ -48,18 +42,7 @@ func (m Migrator) Migrate3to4(ctx context.Context) error { // It migrates the GlobalAccountNumber from being a protobuf defined value to a // big-endian encoded uint64, it also migrates it to use a more canonical prefix. func (m Migrator) Migrate4To5(ctx context.Context) error { - return v5.Migrate(ctx, m.keeper.KVStoreService, m.accNum) -} - -// Migrate5To6 migrates the x/auth module state from the consensus version 5 to 6. -// It migrates the GlobalAccountNumber from x/auth to x/accounts . -func (m Migrator) Migrate5To6(ctx context.Context) error { - currentAccNum, err := m.accNum.Peek(ctx) - if err != nil { - return err - } - - return m.keeper.AccountsModKeeper.InitAccountNumberSeqUnsafe(ctx, currentAccNum) + return v5.Migrate(ctx, m.keeper.KVStoreService, m.keeper.accountNumber) } // V45SetAccount implements V45_SetAccount diff --git a/x/auth/migrations/v6/migrate.go b/x/auth/migrations/v6/migrate.go deleted file mode 100644 index 889de0e9c9e4..000000000000 --- a/x/auth/migrations/v6/migrate.go +++ /dev/null @@ -1,12 +0,0 @@ -package v6 - -import ( - "context" -) - -type migrateAccNumFunc = func(ctx context.Context) error - -// Migrate account number from x/auth account number to x/accounts account number -func Migrate(ctx context.Context, f migrateAccNumFunc) error { - return f(ctx) -} diff --git a/x/auth/module.go b/x/auth/module.go index 32f5f7627b90..d9290c0a8f1f 100644 --- a/x/auth/module.go +++ b/x/auth/module.go @@ -27,7 +27,7 @@ import ( // ConsensusVersion defines the current x/auth module consensus version. const ( - ConsensusVersion = 6 + ConsensusVersion = 5 GovModuleName = "gov" ) @@ -113,9 +113,6 @@ func (am AppModule) RegisterMigrations(mr appmodule.MigrationRegistrar) error { if err := mr.Register(types.ModuleName, 4, m.Migrate4To5); err != nil { return fmt.Errorf("failed to migrate x/%s from version 4 to 5: %w", types.ModuleName, err) } - if err := mr.Register(types.ModuleName, 5, m.Migrate5To6); err != nil { - return fmt.Errorf("failed to migrate x/%s from version 5 to 6: %w", types.ModuleName, err) - } return nil } diff --git a/x/genutil/client/cli/init.go b/x/genutil/client/cli/init.go index 19c3d148c48f..866a472778e0 100644 --- a/x/genutil/client/cli/init.go +++ b/x/genutil/client/cli/init.go @@ -9,10 +9,14 @@ import ( "os" "path/filepath" - errorsmod "cosmossdk.io/errors" - "cosmossdk.io/math/unsafe" cfg "github.com/cometbft/cometbft/config" cmttypes "github.com/cometbft/cometbft/types" + "github.com/cosmos/go-bip39" + "github.com/spf13/cobra" + + errorsmod "cosmossdk.io/errors" + "cosmossdk.io/math/unsafe" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/input" @@ -21,8 +25,6 @@ import ( "github.com/cosmos/cosmos-sdk/version" "github.com/cosmos/cosmos-sdk/x/genutil" "github.com/cosmos/cosmos-sdk/x/genutil/types" - "github.com/cosmos/go-bip39" - "github.com/spf13/cobra" ) const (