From 5c35493a1d1572790999040b52605ca814031f8f Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 13:22:24 -0700 Subject: [PATCH 1/9] Bump version to 25 --- ante/ante.go | 2 +- ante/gov_vote_ante.go | 2 +- ante/gov_vote_ante_test.go | 4 +-- app/app.go | 8 ++--- app/app_test.go | 4 +-- app/helpers/test_helpers.go | 2 +- app/keepers/keepers.go | 6 ++-- app/keepers/keys.go | 2 +- app/modules.go | 8 ++--- app/post.go | 2 +- app/sim/sim_state.go | 2 +- app/sim/sim_utils.go | 2 +- app/sim_bench_test.go | 4 +-- app/sim_test.go | 6 ++-- app/upgrades/types.go | 2 +- app/upgrades/v19/constants.go | 2 +- app/upgrades/v19/upgrades.go | 2 +- app/upgrades/v20/constants.go | 2 +- app/upgrades/v20/upgrades.go | 2 +- app/upgrades/v20/upgrades_test.go | 4 +-- app/upgrades/v21/constants.go | 2 +- app/upgrades/v21/upgrades.go | 2 +- app/upgrades/v21/upgrades_test.go | 4 +-- app/upgrades/v22/constants.go | 2 +- app/upgrades/v22/upgrades.go | 2 +- app/upgrades/v22/upgrades_test.go | 2 +- app/upgrades/v22_2_0/constants.go | 2 +- app/upgrades/v22_2_0/upgrades.go | 2 +- app/upgrades/v23/constants.go | 2 +- app/upgrades/v23/upgrades.go | 2 +- app/upgrades/v23/upgrades_test.go | 4 +-- app/upgrades/v23_2_0/constants.go | 2 +- app/upgrades/v23_2_0/upgrades.go | 2 +- app/upgrades/v23_2_0/upgrades_test.go | 4 +-- app/upgrades/v24/constants.go | 4 +-- app/upgrades/v24/upgrades.go | 6 ++-- app/upgrades/v24/upgrades_test.go | 8 ++--- app/upgrades/v25/constants.go | 18 ++++++++++ app/upgrades/v25/upgrades.go | 33 +++++++++++++++++++ cmd/gaiad/cmd/bech32_convert.go | 2 +- cmd/gaiad/cmd/root.go | 2 +- cmd/gaiad/cmd/root_test.go | 4 +-- cmd/gaiad/cmd/testnet_set_local_validator.go | 2 +- cmd/gaiad/main.go | 4 +-- go.mod | 2 +- tests/e2e/common/chain.go | 8 ++--- tests/e2e/common/const.go | 2 +- tests/e2e/e2e_bank_test.go | 6 ++-- tests/e2e/e2e_callbacks_test.go | 6 ++-- tests/e2e/e2e_cw_test.go | 4 +-- tests/e2e/e2e_distribution_test.go | 4 +-- tests/e2e/e2e_encode_test.go | 2 +- tests/e2e/e2e_evidence_test.go | 4 +-- tests/e2e/e2e_feegrant_test.go | 4 +-- tests/e2e/e2e_gov_test.go | 6 ++-- tests/e2e/e2e_ibc_test.go | 4 +-- tests/e2e/e2e_ibc_v2_test.go | 6 ++-- tests/e2e/e2e_ica_test.go | 4 +-- tests/e2e/e2e_liquid_test.go | 8 ++--- tests/e2e/e2e_rate_limit_test.go | 6 ++-- tests/e2e/e2e_rest_regression_test.go | 2 +- tests/e2e/e2e_setup_test.go | 2 +- tests/e2e/e2e_slashing_test.go | 4 +-- tests/e2e/e2e_staking_test.go | 4 +-- tests/e2e/e2e_vesting_test.go | 4 +-- tests/e2e/e2e_wasm_light_client_test.go | 6 ++-- tests/e2e/genesis.go | 2 +- tests/e2e/msg/proposals.go | 4 +-- tests/e2e/query/auth.go | 2 +- tests/e2e/query/bank.go | 2 +- tests/e2e/query/distribution.go | 2 +- tests/e2e/query/evidence.go | 2 +- tests/e2e/query/gov.go | 2 +- tests/e2e/query/ibc.go | 2 +- tests/e2e/query/ica.go | 2 +- tests/e2e/query/ics.go | 2 +- tests/e2e/query/liquid.go | 4 +-- tests/e2e/query/rate_limiting.go | 2 +- tests/e2e/query/staking.go | 2 +- tests/e2e/query/tendermint.go | 2 +- tests/e2e/query/wasm.go | 2 +- tests/e2e/suite.go | 2 +- tests/e2e/tx/bank.go | 2 +- tests/e2e/tx/distribution.go | 2 +- tests/e2e/tx/feegrant.go | 2 +- tests/e2e/tx/gov.go | 2 +- tests/e2e/tx/ibc.go | 2 +- tests/e2e/tx/ibc_transfer_v1.go | 2 +- tests/e2e/tx/ibc_transfer_v2.go | 2 +- tests/e2e/tx/ica.go | 2 +- tests/e2e/tx/slashing.go | 2 +- tests/e2e/tx/staking.go | 2 +- tests/e2e/tx/tx.go | 2 +- tests/e2e/tx/vesting.go | 2 +- tests/e2e/tx/wasm.go | 4 +-- tests/integration/feemarket_test.go | 4 +-- tests/integration/interchain_security_test.go | 4 +-- tests/integration/liquid_test.go | 4 +-- tests/integration/rate_limit_test.go | 2 +- tests/integration/test_common.go | 6 ++-- tests/integration/test_utils.go | 2 +- .../consumer_chain/changeover_test.go | 2 +- .../consumer_chain/consumer_launch_test.go | 2 +- .../consumer_modification_test.go | 2 +- .../consumer_chain/mainnet_consumers_test.go | 2 +- .../consumer_chain/unbonding_test.go | 2 +- tests/interchain/delegator/auth_test.go | 4 +-- tests/interchain/delegator/authz_test.go | 4 +-- tests/interchain/delegator/bank_test.go | 4 +-- tests/interchain/delegator/cosmwasm_test.go | 4 +-- .../interchain/delegator/distribution_test.go | 4 +-- tests/interchain/delegator/evidence_test.go | 4 +-- tests/interchain/delegator/feegrant_test.go | 4 +-- tests/interchain/delegator/gov_test.go | 4 +-- tests/interchain/delegator/ica_test.go | 4 +-- tests/interchain/delegator/liquid_test.go | 5 +-- tests/interchain/delegator/multisig_test.go | 4 +-- tests/interchain/delegator/pfm_test.go | 4 +-- tests/interchain/delegator/staking_test.go | 4 +-- tests/interchain/delegator/suite.go | 2 +- tests/interchain/go.mod | 2 +- tests/interchain/integrator/endpoints_test.go | 2 +- tests/interchain/integrator/export_test.go | 2 +- tests/interchain/validator/config_test.go | 2 +- tests/interchain/validator/feemarket_test.go | 2 +- .../validator/inactive_validator_test.go | 2 +- tests/interchain/validator/unbond_test.go | 2 +- x/liquid/autocli.go | 2 +- x/liquid/client/cli/tx.go | 2 +- x/liquid/keeper/distribution.go | 2 +- x/liquid/keeper/genesis.go | 2 +- x/liquid/keeper/grpc_query.go | 2 +- x/liquid/keeper/grpc_query_test.go | 2 +- x/liquid/keeper/hooks.go | 2 +- x/liquid/keeper/keeper.go | 2 +- x/liquid/keeper/keeper_test.go | 6 ++-- x/liquid/keeper/liquid_stake.go | 2 +- x/liquid/keeper/liquid_stake_test.go | 4 +-- x/liquid/keeper/msg_server.go | 2 +- x/liquid/keeper/params.go | 2 +- x/liquid/keeper/tokenize_share_record.go | 2 +- x/liquid/keeper/tokenize_share_record_test.go | 2 +- x/liquid/module.go | 6 ++-- x/metaprotocols/module.go | 2 +- 144 files changed, 270 insertions(+), 222 deletions(-) create mode 100644 app/upgrades/v25/constants.go create mode 100644 app/upgrades/v25/upgrades.go diff --git a/ante/ante.go b/ante/ante.go index 7b955910d2..932acd4290 100644 --- a/ante/ante.go +++ b/ante/ante.go @@ -22,7 +22,7 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - gaiaerrors "github.com/cosmos/gaia/v24/types/errors" + gaiaerrors "github.com/cosmos/gaia/v25/types/errors" ) // UseFeeMarketDecorator to make the integration testing easier: we can switch off its ante and post decorators with this flag diff --git a/ante/gov_vote_ante.go b/ante/gov_vote_ante.go index 731ace06bc..d519c7bd9b 100644 --- a/ante/gov_vote_ante.go +++ b/ante/gov_vote_ante.go @@ -12,7 +12,7 @@ import ( stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - gaiaerrors "github.com/cosmos/gaia/v24/types/errors" + gaiaerrors "github.com/cosmos/gaia/v25/types/errors" ) var ( diff --git a/ante/gov_vote_ante_test.go b/ante/gov_vote_ante_test.go index 88d5df1d42..6879784d22 100644 --- a/ante/gov_vote_ante_test.go +++ b/ante/gov_vote_ante_test.go @@ -17,8 +17,8 @@ import ( govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/ante" - "github.com/cosmos/gaia/v24/app/helpers" + "github.com/cosmos/gaia/v25/ante" + "github.com/cosmos/gaia/v25/app/helpers" ) // Test that the GovVoteDecorator rejects votes too deeply wrapped by MsgExec diff --git a/app/app.go b/app/app.go index d11631202e..26c749f27a 100644 --- a/app/app.go +++ b/app/app.go @@ -70,10 +70,10 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - gaiaante "github.com/cosmos/gaia/v24/ante" - "github.com/cosmos/gaia/v24/app/keepers" - "github.com/cosmos/gaia/v24/app/upgrades" - v24 "github.com/cosmos/gaia/v24/app/upgrades/v24" + gaiaante "github.com/cosmos/gaia/v25/ante" + "github.com/cosmos/gaia/v25/app/keepers" + "github.com/cosmos/gaia/v25/app/upgrades" + v24 "github.com/cosmos/gaia/v25/app/upgrades/v24" ) var ( diff --git a/app/app_test.go b/app/app_test.go index ba2c7568b5..40b5ba5469 100644 --- a/app/app_test.go +++ b/app/app_test.go @@ -14,8 +14,8 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - gaia "github.com/cosmos/gaia/v24/app" - gaiahelpers "github.com/cosmos/gaia/v24/app/helpers" + gaia "github.com/cosmos/gaia/v25/app" + gaiahelpers "github.com/cosmos/gaia/v25/app/helpers" ) type EmptyAppOptions struct{} diff --git a/app/helpers/test_helpers.go b/app/helpers/test_helpers.go index 320662c42b..abe9192e2d 100644 --- a/app/helpers/test_helpers.go +++ b/app/helpers/test_helpers.go @@ -30,7 +30,7 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - gaiaapp "github.com/cosmos/gaia/v24/app" + gaiaapp "github.com/cosmos/gaia/v25/app" ) // SimAppChainID hardcoded chainID for simulation diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index 15c637325b..0e5d34c4f5 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -89,9 +89,9 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - gaiaparams "github.com/cosmos/gaia/v24/app/params" - liquidkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + gaiaparams "github.com/cosmos/gaia/v25/app/params" + liquidkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) type AppKeepers struct { diff --git a/app/keepers/keys.go b/app/keepers/keys.go index 64758b8379..ab9b0a6731 100644 --- a/app/keepers/keys.go +++ b/app/keepers/keys.go @@ -31,7 +31,7 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) func (appKeepers *AppKeepers) GenerateKeys() { diff --git a/app/modules.go b/app/modules.go index 0d588a5ce0..34c897cb9b 100644 --- a/app/modules.go +++ b/app/modules.go @@ -60,10 +60,10 @@ import ( "github.com/CosmWasm/wasmd/x/wasm" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - "github.com/cosmos/gaia/v24/x/liquid" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" - "github.com/cosmos/gaia/v24/x/metaprotocols" - metaprotocolstypes "github.com/cosmos/gaia/v24/x/metaprotocols/types" + "github.com/cosmos/gaia/v25/x/liquid" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" + "github.com/cosmos/gaia/v25/x/metaprotocols" + metaprotocolstypes "github.com/cosmos/gaia/v25/x/metaprotocols/types" ) var maccPerms = map[string][]string{ diff --git a/app/post.go b/app/post.go index d0b7d3b53f..688f560908 100644 --- a/app/post.go +++ b/app/post.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/gaia/v24/ante" + "github.com/cosmos/gaia/v25/ante" ) // PostHandlerOptions are the options required for constructing a FeeMarket PostHandler. diff --git a/app/sim/sim_state.go b/app/sim/sim_state.go index 7626095b57..9cc027af8d 100644 --- a/app/sim/sim_state.go +++ b/app/sim/sim_state.go @@ -23,7 +23,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - gaia "github.com/cosmos/gaia/v24/app" + gaia "github.com/cosmos/gaia/v25/app" ) // Simulation parameter constants diff --git a/app/sim/sim_utils.go b/app/sim/sim_utils.go index 208ae610f2..9cb720e0fd 100644 --- a/app/sim/sim_utils.go +++ b/app/sim/sim_utils.go @@ -12,7 +12,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - gaia "github.com/cosmos/gaia/v24/app" + gaia "github.com/cosmos/gaia/v25/app" ) // SimulationOperations retrieves the simulation params from the provided file path diff --git a/app/sim_bench_test.go b/app/sim_bench_test.go index 2a6bef7cf7..5d3211b27f 100644 --- a/app/sim_bench_test.go +++ b/app/sim_bench_test.go @@ -13,8 +13,8 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" - gaia "github.com/cosmos/gaia/v24/app" - "github.com/cosmos/gaia/v24/app/sim" + gaia "github.com/cosmos/gaia/v25/app" + "github.com/cosmos/gaia/v25/app/sim" ) // Profile with: diff --git a/app/sim_test.go b/app/sim_test.go index 34120032a4..d2778beb05 100644 --- a/app/sim_test.go +++ b/app/sim_test.go @@ -23,9 +23,9 @@ import ( "github.com/cosmos/cosmos-sdk/x/simulation" simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" - "github.com/cosmos/gaia/v24/ante" - gaia "github.com/cosmos/gaia/v24/app" - "github.com/cosmos/gaia/v24/app/sim" + "github.com/cosmos/gaia/v25/ante" + gaia "github.com/cosmos/gaia/v25/app" + "github.com/cosmos/gaia/v25/app/sim" ) // AppChainID hardcoded chainID for simulation diff --git a/app/upgrades/types.go b/app/upgrades/types.go index 727450b838..f88f93b6d7 100644 --- a/app/upgrades/types.go +++ b/app/upgrades/types.go @@ -7,7 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) // Upgrade defines a struct containing necessary fields that a SoftwareUpgradeProposal diff --git a/app/upgrades/v19/constants.go b/app/upgrades/v19/constants.go index a42fbc535e..2ce7273ba6 100644 --- a/app/upgrades/v19/constants.go +++ b/app/upgrades/v19/constants.go @@ -1,7 +1,7 @@ package v19 import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v19/upgrades.go b/app/upgrades/v19/upgrades.go index 32aed288a6..ab7876f975 100644 --- a/app/upgrades/v19/upgrades.go +++ b/app/upgrades/v19/upgrades.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) func CreateUpgradeHandler( diff --git a/app/upgrades/v20/constants.go b/app/upgrades/v20/constants.go index 8e3987ca43..a4f78752ea 100644 --- a/app/upgrades/v20/constants.go +++ b/app/upgrades/v20/constants.go @@ -1,7 +1,7 @@ package v20 import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v20/upgrades.go b/app/upgrades/v20/upgrades.go index bb8667bac4..f5ba73e717 100644 --- a/app/upgrades/v20/upgrades.go +++ b/app/upgrades/v20/upgrades.go @@ -23,7 +23,7 @@ import ( govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) // Constants for the new parameters in the v20 upgrade. diff --git a/app/upgrades/v20/upgrades_test.go b/app/upgrades/v20/upgrades_test.go index 11ddd134b0..a3233ee5fb 100644 --- a/app/upgrades/v20/upgrades_test.go +++ b/app/upgrades/v20/upgrades_test.go @@ -21,8 +21,8 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" v1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/cosmos/gaia/v24/app/helpers" - v20 "github.com/cosmos/gaia/v24/app/upgrades/v20" + "github.com/cosmos/gaia/v25/app/helpers" + v20 "github.com/cosmos/gaia/v25/app/upgrades/v20" ) func GetTestMsgConsumerAddition() providertypes.MsgConsumerAddition { //nolint:staticcheck diff --git a/app/upgrades/v21/constants.go b/app/upgrades/v21/constants.go index 0463c8479c..41c86ab725 100644 --- a/app/upgrades/v21/constants.go +++ b/app/upgrades/v21/constants.go @@ -1,7 +1,7 @@ package v21 import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v21/upgrades.go b/app/upgrades/v21/upgrades.go index 67fd0cb5d0..faa966106c 100644 --- a/app/upgrades/v21/upgrades.go +++ b/app/upgrades/v21/upgrades.go @@ -18,7 +18,7 @@ import ( govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" govparams "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) // Neutron and Stride denoms that were not whitelisted but the consumer rewards pool contains amounts of those denoms. diff --git a/app/upgrades/v21/upgrades_test.go b/app/upgrades/v21/upgrades_test.go index f5d7b78173..bf7a9232c2 100644 --- a/app/upgrades/v21/upgrades_test.go +++ b/app/upgrades/v21/upgrades_test.go @@ -9,8 +9,8 @@ import ( govparams "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/cosmos/gaia/v24/app/helpers" - v21 "github.com/cosmos/gaia/v24/app/upgrades/v21" + "github.com/cosmos/gaia/v25/app/helpers" + v21 "github.com/cosmos/gaia/v25/app/upgrades/v21" ) func TestHasExpectedChainIDSanityCheck(t *testing.T) { diff --git a/app/upgrades/v22/constants.go b/app/upgrades/v22/constants.go index b6e86687e0..897d2a05e8 100644 --- a/app/upgrades/v22/constants.go +++ b/app/upgrades/v22/constants.go @@ -1,7 +1,7 @@ package v22 import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v22/upgrades.go b/app/upgrades/v22/upgrades.go index 09723e2610..29aea86bf7 100644 --- a/app/upgrades/v22/upgrades.go +++ b/app/upgrades/v22/upgrades.go @@ -12,7 +12,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) // CreateUpgradeHandler returns an upgrade handler for Gaia v22. diff --git a/app/upgrades/v22/upgrades_test.go b/app/upgrades/v22/upgrades_test.go index ca2163de70..ca29481264 100644 --- a/app/upgrades/v22/upgrades_test.go +++ b/app/upgrades/v22/upgrades_test.go @@ -11,7 +11,7 @@ import ( "cosmossdk.io/math" - v22 "github.com/cosmos/gaia/v24/app/upgrades/v22" + v22 "github.com/cosmos/gaia/v25/app/upgrades/v22" ) func TestSetDefaultConsumerInfractionParams(t *testing.T) { diff --git a/app/upgrades/v22_2_0/constants.go b/app/upgrades/v22_2_0/constants.go index f2c21ead9a..fc4cf43efd 100644 --- a/app/upgrades/v22_2_0/constants.go +++ b/app/upgrades/v22_2_0/constants.go @@ -1,7 +1,7 @@ package v22_2_0 //nolint:revive import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v22_2_0/upgrades.go b/app/upgrades/v22_2_0/upgrades.go index 0aeeee9645..c4de3abf38 100644 --- a/app/upgrades/v22_2_0/upgrades.go +++ b/app/upgrades/v22_2_0/upgrades.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) func CreateUpgradeHandler( diff --git a/app/upgrades/v23/constants.go b/app/upgrades/v23/constants.go index 1f888a49d2..9bb9184380 100644 --- a/app/upgrades/v23/constants.go +++ b/app/upgrades/v23/constants.go @@ -5,7 +5,7 @@ import ( "cosmossdk.io/store/types" - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v23/upgrades.go b/app/upgrades/v23/upgrades.go index b78d54468e..c0987b99d1 100644 --- a/app/upgrades/v23/upgrades.go +++ b/app/upgrades/v23/upgrades.go @@ -15,7 +15,7 @@ import ( authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) // CreateRCUpgradeHandler returns an upgrade handler for Gaia v23.0.0-rc3. diff --git a/app/upgrades/v23/upgrades_test.go b/app/upgrades/v23/upgrades_test.go index f8ff9df1bf..b5600a324b 100644 --- a/app/upgrades/v23/upgrades_test.go +++ b/app/upgrades/v23/upgrades_test.go @@ -10,8 +10,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/app/helpers" - v23 "github.com/cosmos/gaia/v24/app/upgrades/v23" + "github.com/cosmos/gaia/v25/app/helpers" + v23 "github.com/cosmos/gaia/v25/app/upgrades/v23" ) func TestGrantIBCWasmAuth(t *testing.T) { diff --git a/app/upgrades/v23_2_0/constants.go b/app/upgrades/v23_2_0/constants.go index 54f1ff9dde..946f722bd6 100644 --- a/app/upgrades/v23_2_0/constants.go +++ b/app/upgrades/v23_2_0/constants.go @@ -1,7 +1,7 @@ package v23_2_0 //nolint:revive import ( - "github.com/cosmos/gaia/v24/app/upgrades" + "github.com/cosmos/gaia/v25/app/upgrades" ) const ( diff --git a/app/upgrades/v23_2_0/upgrades.go b/app/upgrades/v23_2_0/upgrades.go index afb0cda821..6f456abdc4 100644 --- a/app/upgrades/v23_2_0/upgrades.go +++ b/app/upgrades/v23_2_0/upgrades.go @@ -13,7 +13,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/app/keepers" + "github.com/cosmos/gaia/v25/app/keepers" ) func CreateUpgradeHandler( diff --git a/app/upgrades/v23_2_0/upgrades_test.go b/app/upgrades/v23_2_0/upgrades_test.go index ab83a8a7db..1e7da95b00 100644 --- a/app/upgrades/v23_2_0/upgrades_test.go +++ b/app/upgrades/v23_2_0/upgrades_test.go @@ -15,8 +15,8 @@ import ( clienttypes "github.com/cosmos/ibc-go/v10/modules/core/02-client/types" ibcexported "github.com/cosmos/ibc-go/v10/modules/core/exported" - "github.com/cosmos/gaia/v24/app/helpers" - "github.com/cosmos/gaia/v24/app/upgrades/v23_2_0" + "github.com/cosmos/gaia/v25/app/helpers" + "github.com/cosmos/gaia/v25/app/upgrades/v23_2_0" ) const ( diff --git a/app/upgrades/v24/constants.go b/app/upgrades/v24/constants.go index 39aca6617e..78dae97138 100644 --- a/app/upgrades/v24/constants.go +++ b/app/upgrades/v24/constants.go @@ -3,8 +3,8 @@ package v24 import ( storetypes "cosmossdk.io/store/types" - "github.com/cosmos/gaia/v24/app/upgrades" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/app/upgrades" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) const ( diff --git a/app/upgrades/v24/upgrades.go b/app/upgrades/v24/upgrades.go index 9bd7ba184e..03ef53231f 100644 --- a/app/upgrades/v24/upgrades.go +++ b/app/upgrades/v24/upgrades.go @@ -12,9 +12,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - "github.com/cosmos/gaia/v24/app/keepers" - liquidkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/app/keepers" + liquidkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) // CreateUpgradeHandler returns an upgrade handler for Gaia v24. diff --git a/app/upgrades/v24/upgrades_test.go b/app/upgrades/v24/upgrades_test.go index 230557123c..4164fc043d 100644 --- a/app/upgrades/v24/upgrades_test.go +++ b/app/upgrades/v24/upgrades_test.go @@ -13,10 +13,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - gaia "github.com/cosmos/gaia/v24/app" - "github.com/cosmos/gaia/v24/app/helpers" - "github.com/cosmos/gaia/v24/app/upgrades/v24" - "github.com/cosmos/gaia/v24/x/liquid/types" + gaia "github.com/cosmos/gaia/v25/app" + "github.com/cosmos/gaia/v25/app/helpers" + "github.com/cosmos/gaia/v25/app/upgrades/v24" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func TestMigrateLSMState(t *testing.T) { diff --git a/app/upgrades/v25/constants.go b/app/upgrades/v25/constants.go new file mode 100644 index 0000000000..b83994a254 --- /dev/null +++ b/app/upgrades/v25/constants.go @@ -0,0 +1,18 @@ +package v25 + +import ( + storetypes "cosmossdk.io/store/types" + + "github.com/cosmos/gaia/v25/app/upgrades" +) + +const ( + // UpgradeName defines the on-chain upgrade name. + UpgradeName = "v25" +) + +var Upgrade = upgrades.Upgrade{ + UpgradeName: UpgradeName, + CreateUpgradeHandler: CreateUpgradeHandler, + StoreUpgrades: storetypes.StoreUpgrades{}, +} diff --git a/app/upgrades/v25/upgrades.go b/app/upgrades/v25/upgrades.go new file mode 100644 index 0000000000..5805bbf11e --- /dev/null +++ b/app/upgrades/v25/upgrades.go @@ -0,0 +1,33 @@ +package v25 + +import ( + "context" + + errorsmod "cosmossdk.io/errors" + upgradetypes "cosmossdk.io/x/upgrade/types" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + + "github.com/cosmos/gaia/v25/app/keepers" +) + +// CreateUpgradeHandler returns an upgrade handler for Gaia v25. +func CreateUpgradeHandler( + mm *module.Manager, + configurator module.Configurator, + keepers *keepers.AppKeepers, +) upgradetypes.UpgradeHandler { + return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + ctx := sdk.UnwrapSDKContext(c) + ctx.Logger().Info("Starting module migrations...") + + vm, err := mm.RunMigrations(ctx, configurator, vm) + if err != nil { + return vm, errorsmod.Wrapf(err, "running module migrations") + } + + ctx.Logger().Info("Upgrade v25 complete") + return vm, nil + } +} diff --git a/cmd/gaiad/cmd/bech32_convert.go b/cmd/gaiad/cmd/bech32_convert.go index 337f579d0d..f8f280737c 100644 --- a/cmd/gaiad/cmd/bech32_convert.go +++ b/cmd/gaiad/cmd/bech32_convert.go @@ -5,7 +5,7 @@ import ( "github.com/spf13/cobra" - addressutil "github.com/cosmos/gaia/v24/pkg/address" + addressutil "github.com/cosmos/gaia/v25/pkg/address" ) var flagBech32Prefix = "prefix" diff --git a/cmd/gaiad/cmd/root.go b/cmd/gaiad/cmd/root.go index de60184a11..560e8b4c79 100644 --- a/cmd/gaiad/cmd/root.go +++ b/cmd/gaiad/cmd/root.go @@ -57,7 +57,7 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - gaia "github.com/cosmos/gaia/v24/app" + gaia "github.com/cosmos/gaia/v25/app" ) // NewRootCmd creates a new root command for simd. It is called once in the diff --git a/cmd/gaiad/cmd/root_test.go b/cmd/gaiad/cmd/root_test.go index 12d7278c4f..407ff377ec 100644 --- a/cmd/gaiad/cmd/root_test.go +++ b/cmd/gaiad/cmd/root_test.go @@ -7,8 +7,8 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - app "github.com/cosmos/gaia/v24/app" - "github.com/cosmos/gaia/v24/cmd/gaiad/cmd" + app "github.com/cosmos/gaia/v25/app" + "github.com/cosmos/gaia/v25/cmd/gaiad/cmd" ) func TestRootCmdConfig(t *testing.T) { diff --git a/cmd/gaiad/cmd/testnet_set_local_validator.go b/cmd/gaiad/cmd/testnet_set_local_validator.go index b0889a2dd7..ee5c42656d 100644 --- a/cmd/gaiad/cmd/testnet_set_local_validator.go +++ b/cmd/gaiad/cmd/testnet_set_local_validator.go @@ -22,7 +22,7 @@ import ( "github.com/spf13/cast" "github.com/spf13/cobra" - gaia "github.com/cosmos/gaia/v24/app" + gaia "github.com/cosmos/gaia/v25/app" "cosmossdk.io/log" "github.com/cometbft/cometbft/crypto" diff --git a/cmd/gaiad/main.go b/cmd/gaiad/main.go index 4bed457eed..1d802b7d1f 100644 --- a/cmd/gaiad/main.go +++ b/cmd/gaiad/main.go @@ -5,8 +5,8 @@ import ( svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - app "github.com/cosmos/gaia/v24/app" - "github.com/cosmos/gaia/v24/cmd/gaiad/cmd" + app "github.com/cosmos/gaia/v25/app" + "github.com/cosmos/gaia/v25/cmd/gaiad/cmd" ) func main() { diff --git a/go.mod b/go.mod index 53a3fc82d6..f5aebaa195 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/cosmos/gaia/v24 +module github.com/cosmos/gaia/v25 go 1.23.6 diff --git a/tests/e2e/common/chain.go b/tests/e2e/common/chain.go index 4b3de65253..c1fbf2e7e4 100644 --- a/tests/e2e/common/chain.go +++ b/tests/e2e/common/chain.go @@ -32,10 +32,10 @@ import ( paramsproptypes "github.com/cosmos/cosmos-sdk/x/params/types/proposal" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - gaia "github.com/cosmos/gaia/v24/app" - gaiaparams "github.com/cosmos/gaia/v24/app/params" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" - metaprotocoltypes "github.com/cosmos/gaia/v24/x/metaprotocols/types" + gaia "github.com/cosmos/gaia/v25/app" + gaiaparams "github.com/cosmos/gaia/v25/app/params" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" + metaprotocoltypes "github.com/cosmos/gaia/v25/x/metaprotocols/types" ) const ( diff --git a/tests/e2e/common/const.go b/tests/e2e/common/const.go index 8dcb394ba4..be6fb8cab1 100644 --- a/tests/e2e/common/const.go +++ b/tests/e2e/common/const.go @@ -10,7 +10,7 @@ import ( distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/gaia/v24/types" + "github.com/cosmos/gaia/v25/types" ) // ica tests diff --git a/tests/e2e/e2e_bank_test.go b/tests/e2e/e2e_bank_test.go index 61127aeda8..283ec7b72e 100644 --- a/tests/e2e/e2e_bank_test.go +++ b/tests/e2e/e2e_bank_test.go @@ -12,9 +12,9 @@ import ( authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" - extensiontypes "github.com/cosmos/gaia/v24/x/metaprotocols/types" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" + extensiontypes "github.com/cosmos/gaia/v25/x/metaprotocols/types" ) func (s *IntegrationTestSuite) testBankTokenTransfer() { diff --git a/tests/e2e/e2e_callbacks_test.go b/tests/e2e/e2e_callbacks_test.go index d84c26e8d8..f2141d2525 100644 --- a/tests/e2e/e2e_callbacks_test.go +++ b/tests/e2e/e2e_callbacks_test.go @@ -10,9 +10,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) const ( diff --git a/tests/e2e/e2e_cw_test.go b/tests/e2e/e2e_cw_test.go index 8be9584d3e..300dece208 100644 --- a/tests/e2e/e2e_cw_test.go +++ b/tests/e2e/e2e_cw_test.go @@ -10,8 +10,8 @@ import ( "strconv" "time" - "github.com/cosmos/gaia/v24/tests/e2e/common" - query2 "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + query2 "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testCWCounter() { diff --git a/tests/e2e/e2e_distribution_test.go b/tests/e2e/e2e_distribution_test.go index cf5dcc2dc8..eeb8c5671f 100644 --- a/tests/e2e/e2e_distribution_test.go +++ b/tests/e2e/e2e_distribution_test.go @@ -8,8 +8,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testDistribution() { diff --git a/tests/e2e/e2e_encode_test.go b/tests/e2e/e2e_encode_test.go index 141c37bb1e..01958689e4 100644 --- a/tests/e2e/e2e_encode_test.go +++ b/tests/e2e/e2e_encode_test.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) const ( diff --git a/tests/e2e/e2e_evidence_test.go b/tests/e2e/e2e_evidence_test.go index c3ba4ff904..db7b382877 100644 --- a/tests/e2e/e2e_evidence_test.go +++ b/tests/e2e/e2e_evidence_test.go @@ -8,8 +8,8 @@ import ( "cosmossdk.io/x/evidence/exported" evidencetypes "cosmossdk.io/x/evidence/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testEvidence() { diff --git a/tests/e2e/e2e_feegrant_test.go b/tests/e2e/e2e_feegrant_test.go index 36618ca317..dd99eec07c 100644 --- a/tests/e2e/e2e_feegrant_test.go +++ b/tests/e2e/e2e_feegrant_test.go @@ -6,8 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) // /* diff --git a/tests/e2e/e2e_gov_test.go b/tests/e2e/e2e_gov_test.go index 2bb8b638ed..414a62d554 100644 --- a/tests/e2e/e2e_gov_test.go +++ b/tests/e2e/e2e_gov_test.go @@ -15,9 +15,9 @@ import ( govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types/proposal" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) /* diff --git a/tests/e2e/e2e_ibc_test.go b/tests/e2e/e2e_ibc_test.go index 09f9a76dd2..248194f69d 100644 --- a/tests/e2e/e2e_ibc_test.go +++ b/tests/e2e/e2e_ibc_test.go @@ -9,8 +9,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) type ForwardMetadata struct { diff --git a/tests/e2e/e2e_ibc_v2_test.go b/tests/e2e/e2e_ibc_v2_test.go index fb13004db8..46ec9801f9 100644 --- a/tests/e2e/e2e_ibc_v2_test.go +++ b/tests/e2e/e2e_ibc_v2_test.go @@ -6,9 +6,9 @@ import ( "strconv" "time" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) TestV2RecvPacket() { diff --git a/tests/e2e/e2e_ica_test.go b/tests/e2e/e2e_ica_test.go index e8c347f939..9278853506 100644 --- a/tests/e2e/e2e_ica_test.go +++ b/tests/e2e/e2e_ica_test.go @@ -14,8 +14,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testICARegisterAccountAndSendTx() { diff --git a/tests/e2e/e2e_liquid_test.go b/tests/e2e/e2e_liquid_test.go index 72f93ddc58..7a7cb1b0b0 100644 --- a/tests/e2e/e2e_liquid_test.go +++ b/tests/e2e/e2e_liquid_test.go @@ -13,10 +13,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) // underBuffer is the number of tokens under the limit to tokenize diff --git a/tests/e2e/e2e_rate_limit_test.go b/tests/e2e/e2e_rate_limit_test.go index 86ffe0e7fe..aa69769729 100644 --- a/tests/e2e/e2e_rate_limit_test.go +++ b/tests/e2e/e2e_rate_limit_test.go @@ -7,9 +7,9 @@ import ( sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testAddRateLimits(v2 bool) { diff --git a/tests/e2e/e2e_rest_regression_test.go b/tests/e2e/e2e_rest_regression_test.go index d97acbc2a9..1b274b87ab 100644 --- a/tests/e2e/e2e_rest_regression_test.go +++ b/tests/e2e/e2e_rest_regression_test.go @@ -4,7 +4,7 @@ import ( "fmt" "net/http" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) // /* diff --git a/tests/e2e/e2e_setup_test.go b/tests/e2e/e2e_setup_test.go index fc90922d5d..18eae9c0bc 100644 --- a/tests/e2e/e2e_setup_test.go +++ b/tests/e2e/e2e_setup_test.go @@ -41,7 +41,7 @@ import ( genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func TestIntegrationTestSuite(t *testing.T) { diff --git a/tests/e2e/e2e_slashing_test.go b/tests/e2e/e2e_slashing_test.go index db5dc14507..45748447c0 100644 --- a/tests/e2e/e2e_slashing_test.go +++ b/tests/e2e/e2e_slashing_test.go @@ -1,8 +1,8 @@ package e2e import ( - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) const jailedValidatorKey = "jailed" diff --git a/tests/e2e/e2e_staking_test.go b/tests/e2e/e2e_staking_test.go index 617c3b3592..c8ee8968a4 100644 --- a/tests/e2e/e2e_staking_test.go +++ b/tests/e2e/e2e_staking_test.go @@ -10,8 +10,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testStaking() { diff --git a/tests/e2e/e2e_vesting_test.go b/tests/e2e/e2e_vesting_test.go index 278dd6e93d..866cdf5c60 100644 --- a/tests/e2e/e2e_vesting_test.go +++ b/tests/e2e/e2e_vesting_test.go @@ -10,8 +10,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) const ( diff --git a/tests/e2e/e2e_wasm_light_client_test.go b/tests/e2e/e2e_wasm_light_client_test.go index ce3acc2b5b..0f6c4145f2 100644 --- a/tests/e2e/e2e_wasm_light_client_test.go +++ b/tests/e2e/e2e_wasm_light_client_test.go @@ -6,9 +6,9 @@ import ( "strconv" "time" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/msg" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/msg" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) func (s *IntegrationTestSuite) testStoreWasmLightClient() { diff --git a/tests/e2e/genesis.go b/tests/e2e/genesis.go index b68eb768ca..5f5b1c15f0 100644 --- a/tests/e2e/genesis.go +++ b/tests/e2e/genesis.go @@ -24,7 +24,7 @@ import ( govlegacytypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func modifyGenesis(path, moniker, amountStr string, addrAll []sdk.AccAddress, basefee string, denom string) error { diff --git a/tests/e2e/msg/proposals.go b/tests/e2e/msg/proposals.go index d97eb6417b..eef5abaf6a 100644 --- a/tests/e2e/msg/proposals.go +++ b/tests/e2e/msg/proposals.go @@ -8,8 +8,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/data" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/data" ) func WriteGovCommunitySpendProposal(c *common.Chain, amount sdk.Coin, recipient string) error { diff --git a/tests/e2e/query/auth.go b/tests/e2e/query/auth.go index f56f4a6ce3..f9b56ffa25 100644 --- a/tests/e2e/query/auth.go +++ b/tests/e2e/query/auth.go @@ -9,7 +9,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func Account(endpoint, address string) (acc types.AccountI, err error) { diff --git a/tests/e2e/query/bank.go b/tests/e2e/query/bank.go index 0845f6bc78..275949264e 100644 --- a/tests/e2e/query/bank.go +++ b/tests/e2e/query/bank.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) // if coin is zero, return empty coin. diff --git a/tests/e2e/query/distribution.go b/tests/e2e/query/distribution.go index 20dba5ef90..139afaea00 100644 --- a/tests/e2e/query/distribution.go +++ b/tests/e2e/query/distribution.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func DelegatorWithdrawalAddress(endpoint string, delegatorAddr string) (types.QueryDelegatorWithdrawAddressResponse, error) { diff --git a/tests/e2e/query/evidence.go b/tests/e2e/query/evidence.go index 2250310298..4cdcdad3de 100644 --- a/tests/e2e/query/evidence.go +++ b/tests/e2e/query/evidence.go @@ -6,7 +6,7 @@ import ( "cosmossdk.io/x/evidence/exported" "cosmossdk.io/x/evidence/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func evidence(endpoint, hash string) (types.QueryEvidenceResponse, error) { //nolint:unused // this is called during e2e tests diff --git a/tests/e2e/query/gov.go b/tests/e2e/query/gov.go index 3f06167950..bc52718187 100644 --- a/tests/e2e/query/gov.go +++ b/tests/e2e/query/gov.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/gov/types/v1" "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func GovProposal(endpoint string, proposalID int) (v1beta1.QueryProposalResponse, error) { diff --git a/tests/e2e/query/ibc.go b/tests/e2e/query/ibc.go index dc8e5831f5..5563bbb754 100644 --- a/tests/e2e/query/ibc.go +++ b/tests/e2e/query/ibc.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func IbcWasmChecksums(endpoint string) ([]string, error) { diff --git a/tests/e2e/query/ica.go b/tests/e2e/query/ica.go index c205db9a46..5ece273b34 100644 --- a/tests/e2e/query/ica.go +++ b/tests/e2e/query/ica.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/ibc-go/v10/modules/apps/27-interchain-accounts/controller/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func ICAAccountAddress(endpoint, owner, connectionID string) (string, error) { diff --git a/tests/e2e/query/ics.go b/tests/e2e/query/ics.go index 140710b8ef..49d9a584bf 100644 --- a/tests/e2e/query/ics.go +++ b/tests/e2e/query/ics.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func BlocksPerEpoch(endpoint string) (int64, error) { diff --git a/tests/e2e/query/liquid.go b/tests/e2e/query/liquid.go index fdc1a5b96b..1bdcd50348 100644 --- a/tests/e2e/query/liquid.go +++ b/tests/e2e/query/liquid.go @@ -5,8 +5,8 @@ import ( "io" "net/http" - "github.com/cosmos/gaia/v24/tests/e2e/common" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/tests/e2e/common" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) func LiquidValidator(endpoint string, valAddr string) (liquidtypes.QueryLiquidValidatorResponse, error) { diff --git a/tests/e2e/query/rate_limiting.go b/tests/e2e/query/rate_limiting.go index 1d0584e8c3..2f5ecdbf32 100644 --- a/tests/e2e/query/rate_limiting.go +++ b/tests/e2e/query/rate_limiting.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/ibc-apps/modules/rate-limiting/v10/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func AllRateLimits(endpoint string) ([]types.RateLimit, error) { diff --git a/tests/e2e/query/staking.go b/tests/e2e/query/staking.go index adea2fd41e..13fbe434e9 100644 --- a/tests/e2e/query/staking.go +++ b/tests/e2e/query/staking.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func StakingParams(endpoint string) (types.QueryParamsResponse, error) { diff --git a/tests/e2e/query/tendermint.go b/tests/e2e/query/tendermint.go index 967e42a0d6..583a3badda 100644 --- a/tests/e2e/query/tendermint.go +++ b/tests/e2e/query/tendermint.go @@ -5,7 +5,7 @@ import ( tendermintv1beta1 "cosmossdk.io/api/cosmos/base/tendermint/v1beta1" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func GetLatestBlockHeight(endpoint string) (int, error) { diff --git a/tests/e2e/query/wasm.go b/tests/e2e/query/wasm.go index 5509f6e76b..be91932452 100644 --- a/tests/e2e/query/wasm.go +++ b/tests/e2e/query/wasm.go @@ -5,7 +5,7 @@ import ( "github.com/CosmWasm/wasmd/x/wasm/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func WasmContractAddress(endpoint, creator string, idx uint64) (string, error) { diff --git a/tests/e2e/suite.go b/tests/e2e/suite.go index af0429788e..882f7bf192 100644 --- a/tests/e2e/suite.go +++ b/tests/e2e/suite.go @@ -1,7 +1,7 @@ package e2e import ( - "github.com/cosmos/gaia/v24/tests/e2e/tx" + "github.com/cosmos/gaia/v25/tests/e2e/tx" ) type IntegrationTestSuite struct { diff --git a/tests/e2e/tx/bank.go b/tests/e2e/tx/bank.go index fdbe5e987f..1455e17659 100644 --- a/tests/e2e/tx/bank.go +++ b/tests/e2e/tx/bank.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) ExecBankSend( diff --git a/tests/e2e/tx/distribution.go b/tests/e2e/tx/distribution.go index 3222cc334b..a381230d02 100644 --- a/tests/e2e/tx/distribution.go +++ b/tests/e2e/tx/distribution.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) ExecDistributionFundCommunityPool(c *common.Chain, valIdx int, from, amt, fees string) { diff --git a/tests/e2e/tx/feegrant.go b/tests/e2e/tx/feegrant.go index 8aea7cf17f..8b381c8a8b 100644 --- a/tests/e2e/tx/feegrant.go +++ b/tests/e2e/tx/feegrant.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) ExecFeeGrant(c *common.Chain, valIdx int, granter, grantee, spendLimit string, opt ...common.FlagOption) { diff --git a/tests/e2e/tx/gov.go b/tests/e2e/tx/gov.go index 194d6b3491..a8a570eb9e 100644 --- a/tests/e2e/tx/gov.go +++ b/tests/e2e/tx/gov.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) RunGovExec(c *common.Chain, valIdx int, submitterAddr, govCommand string, proposalFlags []string, fees string, validationFunc func([]byte, []byte) bool) { diff --git a/tests/e2e/tx/ibc.go b/tests/e2e/tx/ibc.go index 6db77f605e..1857f8c23f 100644 --- a/tests/e2e/tx/ibc.go +++ b/tests/e2e/tx/ibc.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) AddWasmClientCounterparty(ctx context.Context, c *common.Chain, sender string, valIdx int) { diff --git a/tests/e2e/tx/ibc_transfer_v1.go b/tests/e2e/tx/ibc_transfer_v1.go index d4b7a8c2b7..481a91c143 100644 --- a/tests/e2e/tx/ibc_transfer_v1.go +++ b/tests/e2e/tx/ibc_transfer_v1.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) SendIBC(c *common.Chain, valIdx int, sender, recipient, token, fees, note, channel string, absoluteTimeout *int64, expErr bool) { diff --git a/tests/e2e/tx/ibc_transfer_v2.go b/tests/e2e/tx/ibc_transfer_v2.go index 7704b96636..a1bb9f131c 100644 --- a/tests/e2e/tx/ibc_transfer_v2.go +++ b/tests/e2e/tx/ibc_transfer_v2.go @@ -7,7 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) CreateIBCV2RecvPacketTx(timeoutTimestamp uint64, amount, submitterAddress, recipientAddress, memo string) ([]byte, error) { diff --git a/tests/e2e/tx/ica.go b/tests/e2e/tx/ica.go index f2f1589d48..59743d8a33 100644 --- a/tests/e2e/tx/ica.go +++ b/tests/e2e/tx/ica.go @@ -13,7 +13,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) RegisterICAAccount(c *common.Chain, valIdx int, sender, connectionID, fees string) { diff --git a/tests/e2e/tx/slashing.go b/tests/e2e/tx/slashing.go index b54a875dc5..5b73f477d6 100644 --- a/tests/e2e/tx/slashing.go +++ b/tests/e2e/tx/slashing.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) ExecUnjail( diff --git a/tests/e2e/tx/staking.go b/tests/e2e/tx/staking.go index 59ce64b8cb..1ecf17c0b0 100644 --- a/tests/e2e/tx/staking.go +++ b/tests/e2e/tx/staking.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) ExecDelegate(c *common.Chain, valIdx int, amount, valOperAddress, delegatorAddr, home, delegateFees string) { diff --git a/tests/e2e/tx/tx.go b/tests/e2e/tx/tx.go index f476c60e37..5da333e2f0 100644 --- a/tests/e2e/tx/tx.go +++ b/tests/e2e/tx/tx.go @@ -10,7 +10,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) type TestingSuite struct { diff --git a/tests/e2e/tx/vesting.go b/tests/e2e/tx/vesting.go index 28db44899b..6f74ee38fc 100644 --- a/tests/e2e/tx/vesting.go +++ b/tests/e2e/tx/vesting.go @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/cosmos/gaia/v24/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/common" ) func (h *TestingSuite) execVestingTx( diff --git a/tests/e2e/tx/wasm.go b/tests/e2e/tx/wasm.go index 241bce9aab..c9d0fdddb0 100644 --- a/tests/e2e/tx/wasm.go +++ b/tests/e2e/tx/wasm.go @@ -9,8 +9,8 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/gaia/v24/tests/e2e/common" - "github.com/cosmos/gaia/v24/tests/e2e/query" + "github.com/cosmos/gaia/v25/tests/e2e/common" + "github.com/cosmos/gaia/v25/tests/e2e/query" ) // todo: change this to a query instead of a command when https://github.com/CosmWasm/wasmd/issues/2147 is fixed diff --git a/tests/integration/feemarket_test.go b/tests/integration/feemarket_test.go index 04dda885c9..187feb215b 100644 --- a/tests/integration/feemarket_test.go +++ b/tests/integration/feemarket_test.go @@ -14,8 +14,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/gaia/v24/ante" - gaiaApp "github.com/cosmos/gaia/v24/app" + "github.com/cosmos/gaia/v25/ante" + gaiaApp "github.com/cosmos/gaia/v25/app" ) const ( diff --git a/tests/integration/interchain_security_test.go b/tests/integration/interchain_security_test.go index 7ce77fdca8..449722a9f7 100644 --- a/tests/integration/interchain_security_test.go +++ b/tests/integration/interchain_security_test.go @@ -17,8 +17,8 @@ import ( crysistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/ante" - gaiaApp "github.com/cosmos/gaia/v24/app" + "github.com/cosmos/gaia/v25/ante" + gaiaApp "github.com/cosmos/gaia/v25/app" ) var ccvSuite *integration.CCVTestSuite diff --git a/tests/integration/liquid_test.go b/tests/integration/liquid_test.go index 244127c398..67ffaec6f5 100644 --- a/tests/integration/liquid_test.go +++ b/tests/integration/liquid_test.go @@ -22,8 +22,8 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking/testutil" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - liquidkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + liquidkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) func TestTokenizeSharesAndRedeemTokens(t *testing.T) { diff --git a/tests/integration/rate_limit_test.go b/tests/integration/rate_limit_test.go index 167155e3bf..2178c3c1e3 100644 --- a/tests/integration/rate_limit_test.go +++ b/tests/integration/rate_limit_test.go @@ -13,7 +13,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - gaiaApp "github.com/cosmos/gaia/v24/app" + gaiaApp "github.com/cosmos/gaia/v25/app" ) type RateLimitTestSuite struct { diff --git a/tests/integration/test_common.go b/tests/integration/test_common.go index 16e945fec6..d167411665 100644 --- a/tests/integration/test_common.go +++ b/tests/integration/test_common.go @@ -35,9 +35,9 @@ import ( stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/x/liquid" - liquidkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - liquidtypes "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid" + liquidkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + liquidtypes "github.com/cosmos/gaia/v25/x/liquid/types" ) type fixture struct { diff --git a/tests/integration/test_utils.go b/tests/integration/test_utils.go index dd806260d3..675665217d 100644 --- a/tests/integration/test_utils.go +++ b/tests/integration/test_utils.go @@ -23,7 +23,7 @@ import ( simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" - gaiaApp "github.com/cosmos/gaia/v24/app" + gaiaApp "github.com/cosmos/gaia/v25/app" ) var app *gaiaApp.GaiaApp diff --git a/tests/interchain/consumer_chain/changeover_test.go b/tests/interchain/consumer_chain/changeover_test.go index e9b75c05de..58208eda44 100644 --- a/tests/interchain/consumer_chain/changeover_test.go +++ b/tests/interchain/consumer_chain/changeover_test.go @@ -11,7 +11,7 @@ import ( sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" transfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types" providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" "github.com/strangelove-ventures/interchaintest/v8" diff --git a/tests/interchain/consumer_chain/consumer_launch_test.go b/tests/interchain/consumer_chain/consumer_launch_test.go index 1e84fd665f..8edd9e8be2 100644 --- a/tests/interchain/consumer_chain/consumer_launch_test.go +++ b/tests/interchain/consumer_chain/consumer_launch_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/suite" "golang.org/x/mod/semver" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" ) type ConsumerLaunchSuite struct { diff --git a/tests/interchain/consumer_chain/consumer_modification_test.go b/tests/interchain/consumer_chain/consumer_modification_test.go index 90a702deed..7c9344b3bc 100644 --- a/tests/interchain/consumer_chain/consumer_modification_test.go +++ b/tests/interchain/consumer_chain/consumer_modification_test.go @@ -9,7 +9,7 @@ import ( "time" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" transfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types" providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" "github.com/strangelove-ventures/interchaintest/v8" diff --git a/tests/interchain/consumer_chain/mainnet_consumers_test.go b/tests/interchain/consumer_chain/mainnet_consumers_test.go index 0e7cc1019c..b212223ebd 100644 --- a/tests/interchain/consumer_chain/mainnet_consumers_test.go +++ b/tests/interchain/consumer_chain/mainnet_consumers_test.go @@ -3,7 +3,7 @@ package consumer_chain_test import ( "testing" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/stretchr/testify/suite" "golang.org/x/mod/semver" diff --git a/tests/interchain/consumer_chain/unbonding_test.go b/tests/interchain/consumer_chain/unbonding_test.go index 971ee5c928..53c0114997 100644 --- a/tests/interchain/consumer_chain/unbonding_test.go +++ b/tests/interchain/consumer_chain/unbonding_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v8/ibc" diff --git a/tests/interchain/delegator/auth_test.go b/tests/interchain/delegator/auth_test.go index 4a0a28ff2e..060ebf7d12 100644 --- a/tests/interchain/delegator/auth_test.go +++ b/tests/interchain/delegator/auth_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/suite" "github.com/tidwall/sjson" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" ) type AuthSuite struct { diff --git a/tests/interchain/delegator/authz_test.go b/tests/interchain/delegator/authz_test.go index 3c8f160d09..21d1ce17c6 100644 --- a/tests/interchain/delegator/authz_test.go +++ b/tests/interchain/delegator/authz_test.go @@ -7,8 +7,8 @@ import ( "testing" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/stretchr/testify/assert" diff --git a/tests/interchain/delegator/bank_test.go b/tests/interchain/delegator/bank_test.go index f422e7feb0..d5eeba77b5 100644 --- a/tests/interchain/delegator/bank_test.go +++ b/tests/interchain/delegator/bank_test.go @@ -4,8 +4,8 @@ import ( "testing" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/stretchr/testify/suite" ) diff --git a/tests/interchain/delegator/cosmwasm_test.go b/tests/interchain/delegator/cosmwasm_test.go index 2bd16a40ca..e66850cd01 100644 --- a/tests/interchain/delegator/cosmwasm_test.go +++ b/tests/interchain/delegator/cosmwasm_test.go @@ -6,8 +6,8 @@ import ( "path" "testing" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/stretchr/testify/suite" ) diff --git a/tests/interchain/delegator/distribution_test.go b/tests/interchain/delegator/distribution_test.go index 2dcee2f6ae..9bcf159b5e 100644 --- a/tests/interchain/delegator/distribution_test.go +++ b/tests/interchain/delegator/distribution_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/suite" "github.com/tidwall/sjson" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" ) const ( diff --git a/tests/interchain/delegator/evidence_test.go b/tests/interchain/delegator/evidence_test.go index 5528f385de..749454da04 100644 --- a/tests/interchain/delegator/evidence_test.go +++ b/tests/interchain/delegator/evidence_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/testutil" "github.com/stretchr/testify/suite" diff --git a/tests/interchain/delegator/feegrant_test.go b/tests/interchain/delegator/feegrant_test.go index 29e66eefc7..c8d6a3ce53 100644 --- a/tests/interchain/delegator/feegrant_test.go +++ b/tests/interchain/delegator/feegrant_test.go @@ -5,8 +5,8 @@ import ( "time" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8/testutil" "github.com/stretchr/testify/suite" ) diff --git a/tests/interchain/delegator/gov_test.go b/tests/interchain/delegator/gov_test.go index 82702f2931..61b566da49 100644 --- a/tests/interchain/delegator/gov_test.go +++ b/tests/interchain/delegator/gov_test.go @@ -11,8 +11,8 @@ import ( "github.com/tidwall/gjson" "github.com/tidwall/sjson" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" ) diff --git a/tests/interchain/delegator/ica_test.go b/tests/interchain/delegator/ica_test.go index f51f317f44..d5321688dc 100644 --- a/tests/interchain/delegator/ica_test.go +++ b/tests/interchain/delegator/ica_test.go @@ -7,8 +7,8 @@ import ( "testing" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" diff --git a/tests/interchain/delegator/liquid_test.go b/tests/interchain/delegator/liquid_test.go index e43936d8f3..a2c1f0d6b3 100644 --- a/tests/interchain/delegator/liquid_test.go +++ b/tests/interchain/delegator/liquid_test.go @@ -8,7 +8,7 @@ import ( "time" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/strangelove-ventures/interchaintest/v8/testutil" @@ -299,7 +299,6 @@ func (s *LSMSuite) TestLSMParams() { chainsuite.GetLogger(s.GetContext()).Sugar().Infof("Starting global liquid staking cap: %s", startingGlobalCap) s.Run("Update params", func() { - authority, err := s.Chain.GetGovernanceAddress(s.GetContext()) s.Require().NoError(err) @@ -365,7 +364,6 @@ func (s *LSMSuite) TestLSMParams() { globalLiquidCapFloat := globalLiquidCapParam.Float() s.Require().Equal(validatorCap, validatorLiquidCapFloat) s.Require().Equal(globalCap, globalLiquidCapFloat) - }) s.Run("Test liquid caps", func() { @@ -460,7 +458,6 @@ func (s *LSMSuite) TestLSMParams() { s.Require().NoError(err) _, err = s.Chain.GetNode().ExecTx(s.GetContext(), s.Chain.ValidatorWallets[0].Address, "staking", "unbond", s.Chain.ValidatorWallets[2].ValoperAddress, fmt.Sprintf("%d%s", delegation, chainsuite.Uatom)) s.Require().NoError(err) - }) s.Run("Restore params", func() { diff --git a/tests/interchain/delegator/multisig_test.go b/tests/interchain/delegator/multisig_test.go index c24f59771b..1578792326 100644 --- a/tests/interchain/delegator/multisig_test.go +++ b/tests/interchain/delegator/multisig_test.go @@ -6,8 +6,8 @@ import ( "testing" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/stretchr/testify/suite" diff --git a/tests/interchain/delegator/pfm_test.go b/tests/interchain/delegator/pfm_test.go index ba9260ddf0..4b7545e5d0 100644 --- a/tests/interchain/delegator/pfm_test.go +++ b/tests/interchain/delegator/pfm_test.go @@ -5,8 +5,8 @@ import ( "testing" sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" transfertypes "github.com/cosmos/ibc-go/v10/modules/apps/transfer/types" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" diff --git a/tests/interchain/delegator/staking_test.go b/tests/interchain/delegator/staking_test.go index 37c15e49ca..1aad626772 100644 --- a/tests/interchain/delegator/staking_test.go +++ b/tests/interchain/delegator/staking_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" - "github.com/cosmos/gaia/v24/tests/interchain/delegator" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/delegator" "github.com/stretchr/testify/suite" ) diff --git a/tests/interchain/delegator/suite.go b/tests/interchain/delegator/suite.go index 33c33010f3..c981501578 100644 --- a/tests/interchain/delegator/suite.go +++ b/tests/interchain/delegator/suite.go @@ -2,7 +2,7 @@ package delegator import ( sdkmath "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" ) diff --git a/tests/interchain/go.mod b/tests/interchain/go.mod index 2a2e4a9740..c64e605291 100644 --- a/tests/interchain/go.mod +++ b/tests/interchain/go.mod @@ -1,4 +1,4 @@ -module github.com/cosmos/gaia/v24/tests/interchain +module github.com/cosmos/gaia/v25/tests/interchain go 1.23.6 diff --git a/tests/interchain/integrator/endpoints_test.go b/tests/interchain/integrator/endpoints_test.go index 701bf2dea5..2d0f05bdc6 100644 --- a/tests/interchain/integrator/endpoints_test.go +++ b/tests/interchain/integrator/endpoints_test.go @@ -5,7 +5,7 @@ import ( "net/http" "testing" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/stretchr/testify/suite" "golang.org/x/mod/semver" ) diff --git a/tests/interchain/integrator/export_test.go b/tests/interchain/integrator/export_test.go index 9d01eb2e53..b159f54c04 100644 --- a/tests/interchain/integrator/export_test.go +++ b/tests/interchain/integrator/export_test.go @@ -5,7 +5,7 @@ import ( "testing" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v8/ibc" diff --git a/tests/interchain/validator/config_test.go b/tests/interchain/validator/config_test.go index 8ee649d199..d38124a0fb 100644 --- a/tests/interchain/validator/config_test.go +++ b/tests/interchain/validator/config_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/gorilla/websocket" dto "github.com/prometheus/client_model/go" "github.com/prometheus/common/expfmt" diff --git a/tests/interchain/validator/feemarket_test.go b/tests/interchain/validator/feemarket_test.go index 9ad321795a..f1eb874aef 100644 --- a/tests/interchain/validator/feemarket_test.go +++ b/tests/interchain/validator/feemarket_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v8/testutil" diff --git a/tests/interchain/validator/inactive_validator_test.go b/tests/interchain/validator/inactive_validator_test.go index 1747ad52bf..15a9b33938 100644 --- a/tests/interchain/validator/inactive_validator_test.go +++ b/tests/interchain/validator/inactive_validator_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" "github.com/strangelove-ventures/interchaintest/v8" "github.com/strangelove-ventures/interchaintest/v8/ibc" "github.com/stretchr/testify/assert" diff --git a/tests/interchain/validator/unbond_test.go b/tests/interchain/validator/unbond_test.go index 9410f55cd8..5d35b5608f 100644 --- a/tests/interchain/validator/unbond_test.go +++ b/tests/interchain/validator/unbond_test.go @@ -6,7 +6,7 @@ import ( "github.com/strangelove-ventures/interchaintest/v8" "github.com/stretchr/testify/suite" - "github.com/cosmos/gaia/v24/tests/interchain/chainsuite" + "github.com/cosmos/gaia/v25/tests/interchain/chainsuite" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) diff --git a/x/liquid/autocli.go b/x/liquid/autocli.go index 79fcc416cc..c2ce97d63b 100644 --- a/x/liquid/autocli.go +++ b/x/liquid/autocli.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { diff --git a/x/liquid/client/cli/tx.go b/x/liquid/client/cli/tx.go index d38fe0fb70..6021d13aa1 100644 --- a/x/liquid/client/cli/tx.go +++ b/x/liquid/client/cli/tx.go @@ -15,7 +15,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // NewTxCmd returns a root CLI command handler for all x/liquid transaction commands. diff --git a/x/liquid/keeper/distribution.go b/x/liquid/keeper/distribution.go index 88b809dd15..a96fb3f181 100644 --- a/x/liquid/keeper/distribution.go +++ b/x/liquid/keeper/distribution.go @@ -10,7 +10,7 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func (k Keeper) WithdrawSingleShareRecordReward(ctx context.Context, recordID uint64) error { diff --git a/x/liquid/keeper/genesis.go b/x/liquid/keeper/genesis.go index 7dd783bdec..38ea4176e9 100644 --- a/x/liquid/keeper/genesis.go +++ b/x/liquid/keeper/genesis.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // InitGenesis sets liquid information for genesis diff --git a/x/liquid/keeper/grpc_query.go b/x/liquid/keeper/grpc_query.go index 308e1bb138..1753e7d0f7 100644 --- a/x/liquid/keeper/grpc_query.go +++ b/x/liquid/keeper/grpc_query.go @@ -15,7 +15,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // Querier is used as Keeper will have duplicate methods if used directly, and gRPC names take precedence over keeper diff --git a/x/liquid/keeper/grpc_query_test.go b/x/liquid/keeper/grpc_query_test.go index b8eff89ee3..36f4caa4b2 100644 --- a/x/liquid/keeper/grpc_query_test.go +++ b/x/liquid/keeper/grpc_query_test.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func (s *KeeperTestSuite) TestGRPCQueryLiquidValidator() { diff --git a/x/liquid/keeper/hooks.go b/x/liquid/keeper/hooks.go index 17af824c1b..93d1b196ed 100644 --- a/x/liquid/keeper/hooks.go +++ b/x/liquid/keeper/hooks.go @@ -8,7 +8,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // Wrapper struct diff --git a/x/liquid/keeper/keeper.go b/x/liquid/keeper/keeper.go index 3b3b7a8166..8ea19caeac 100644 --- a/x/liquid/keeper/keeper.go +++ b/x/liquid/keeper/keeper.go @@ -9,7 +9,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // Keeper of the x/liquid store diff --git a/x/liquid/keeper/keeper_test.go b/x/liquid/keeper/keeper_test.go index fd12f8ec65..56bb1f20ac 100644 --- a/x/liquid/keeper/keeper_test.go +++ b/x/liquid/keeper/keeper_test.go @@ -22,9 +22,9 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - lsmkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - lsmtypes "github.com/cosmos/gaia/v24/x/liquid/types" - "github.com/cosmos/gaia/v24/x/liquid/types/mocks" + lsmkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + lsmtypes "github.com/cosmos/gaia/v25/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types/mocks" ) var PKs = simtestutil.CreateTestPubKeys(500) diff --git a/x/liquid/keeper/liquid_stake.go b/x/liquid/keeper/liquid_stake.go index c6a2116475..405de6e276 100644 --- a/x/liquid/keeper/liquid_stake.go +++ b/x/liquid/keeper/liquid_stake.go @@ -11,7 +11,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" vesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/exported" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // SetTotalLiquidStakedTokens stores the total outstanding tokens owned by a liquid staking provider diff --git a/x/liquid/keeper/liquid_stake_test.go b/x/liquid/keeper/liquid_stake_test.go index 8fc2e87a2e..ed8227578c 100644 --- a/x/liquid/keeper/liquid_stake_test.go +++ b/x/liquid/keeper/liquid_stake_test.go @@ -15,8 +15,8 @@ import ( vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - lsmkeeper "github.com/cosmos/gaia/v24/x/liquid/keeper" - "github.com/cosmos/gaia/v24/x/liquid/types" + lsmkeeper "github.com/cosmos/gaia/v25/x/liquid/keeper" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // Tests Set/Get TotalLiquidStakedTokens diff --git a/x/liquid/keeper/msg_server.go b/x/liquid/keeper/msg_server.go index ec6f2bb168..f80a515e67 100644 --- a/x/liquid/keeper/msg_server.go +++ b/x/liquid/keeper/msg_server.go @@ -15,7 +15,7 @@ import ( minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) type msgServer struct { diff --git a/x/liquid/keeper/params.go b/x/liquid/keeper/params.go index 27df90361b..b12706658a 100644 --- a/x/liquid/keeper/params.go +++ b/x/liquid/keeper/params.go @@ -5,7 +5,7 @@ import ( "cosmossdk.io/math" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) // SetParams sets the x/liquid module parameters. diff --git a/x/liquid/keeper/tokenize_share_record.go b/x/liquid/keeper/tokenize_share_record.go index a93716428c..5a26129aed 100644 --- a/x/liquid/keeper/tokenize_share_record.go +++ b/x/liquid/keeper/tokenize_share_record.go @@ -12,7 +12,7 @@ import ( "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func (k Keeper) GetLastTokenizeShareRecordID(ctx context.Context) uint64 { diff --git a/x/liquid/keeper/tokenize_share_record_test.go b/x/liquid/keeper/tokenize_share_record_test.go index 6a34064fa9..fa6b83388a 100644 --- a/x/liquid/keeper/tokenize_share_record_test.go +++ b/x/liquid/keeper/tokenize_share_record_test.go @@ -3,7 +3,7 @@ package keeper_test import ( simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/types" ) func (suite *KeeperTestSuite) TestGetLastTokenizeShareRecordId() { diff --git a/x/liquid/module.go b/x/liquid/module.go index 4d85dbf85f..a853030a07 100644 --- a/x/liquid/module.go +++ b/x/liquid/module.go @@ -16,9 +16,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/x/liquid/client/cli" - "github.com/cosmos/gaia/v24/x/liquid/keeper" - "github.com/cosmos/gaia/v24/x/liquid/types" + "github.com/cosmos/gaia/v25/x/liquid/client/cli" + "github.com/cosmos/gaia/v25/x/liquid/keeper" + "github.com/cosmos/gaia/v25/x/liquid/types" ) const ( diff --git a/x/metaprotocols/module.go b/x/metaprotocols/module.go index baf055ea52..6bcdad0c41 100644 --- a/x/metaprotocols/module.go +++ b/x/metaprotocols/module.go @@ -15,7 +15,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/gaia/v24/x/metaprotocols/types" + "github.com/cosmos/gaia/v25/x/metaprotocols/types" ) const consensusVersion uint64 = 1 From 80c274a1a14e75e731887e0776d8db7a17156dcb Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 13:23:13 -0700 Subject: [PATCH 2/9] Change configured upgrade --- app/app.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/app.go b/app/app.go index 26c749f27a..3eb65d1a1c 100644 --- a/app/app.go +++ b/app/app.go @@ -73,14 +73,14 @@ import ( gaiaante "github.com/cosmos/gaia/v25/ante" "github.com/cosmos/gaia/v25/app/keepers" "github.com/cosmos/gaia/v25/app/upgrades" - v24 "github.com/cosmos/gaia/v25/app/upgrades/v24" + v25 "github.com/cosmos/gaia/v25/app/upgrades/v25" ) var ( // DefaultNodeHome default home directories for the application daemon DefaultNodeHome string - Upgrades = []upgrades.Upgrade{v24.Upgrade} + Upgrades = []upgrades.Upgrade{v25.Upgrade} ) var ( From 7596c7b393b1b4df68906b45df3d2dabaf8f2309 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 14:03:50 -0700 Subject: [PATCH 3/9] First bit of upgrades --- ante/ante.go | 3 +- ante/gov_vote_ante_test.go | 2 +- app/app.go | 15 +- app/export.go | 2 +- app/helpers/test_helpers.go | 6 +- app/upgrades/v19/constants.go | 15 - app/upgrades/v19/upgrades.go | 31 - app/upgrades/v20/constants.go | 15 - app/upgrades/v20/upgrades.go | 931 ------------------ app/upgrades/v20/upgrades_test.go | 284 ------ app/upgrades/v21/constants.go | 15 - app/upgrades/v21/upgrades.go | 153 --- app/upgrades/v21/upgrades_test.go | 82 -- app/upgrades/v22/constants.go | 15 - app/upgrades/v22/upgrades.go | 54 - app/upgrades/v22/upgrades_test.go | 64 -- app/upgrades/v22_2_0/constants.go | 15 - app/upgrades/v22_2_0/upgrades.go | 31 - app/upgrades/v23/constants.go | 43 - app/upgrades/v23/upgrades.go | 97 -- app/upgrades/v23/upgrades_test.go | 36 - app/upgrades/v23_2_0/constants.go | 19 - .../v23_2_0/cw_ics08_wasm_eth-1.1.0.wasm.gz | Bin 229151 -> 0 bytes .../v23_2_0/cw_ics08_wasm_eth-1.2.0.wasm.gz | Bin 232828 -> 0 bytes app/upgrades/v23_2_0/upgrades.go | 64 -- app/upgrades/v23_2_0/upgrades_test.go | 70 -- app/upgrades/v24/constants.go | 23 - app/upgrades/v24/upgrades.go | 163 --- app/upgrades/v24/upgrades_test.go | 193 ---- go.mod | 138 ++- go.sum | 770 +++++++++++++++ 31 files changed, 850 insertions(+), 2499 deletions(-) delete mode 100644 app/upgrades/v19/constants.go delete mode 100644 app/upgrades/v19/upgrades.go delete mode 100644 app/upgrades/v20/constants.go delete mode 100644 app/upgrades/v20/upgrades.go delete mode 100644 app/upgrades/v20/upgrades_test.go delete mode 100644 app/upgrades/v21/constants.go delete mode 100644 app/upgrades/v21/upgrades.go delete mode 100644 app/upgrades/v21/upgrades_test.go delete mode 100644 app/upgrades/v22/constants.go delete mode 100644 app/upgrades/v22/upgrades.go delete mode 100644 app/upgrades/v22/upgrades_test.go delete mode 100644 app/upgrades/v22_2_0/constants.go delete mode 100644 app/upgrades/v22_2_0/upgrades.go delete mode 100644 app/upgrades/v23/constants.go delete mode 100644 app/upgrades/v23/upgrades.go delete mode 100644 app/upgrades/v23/upgrades_test.go delete mode 100644 app/upgrades/v23_2_0/constants.go delete mode 100644 app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.1.0.wasm.gz delete mode 100644 app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.2.0.wasm.gz delete mode 100644 app/upgrades/v23_2_0/upgrades.go delete mode 100644 app/upgrades/v23_2_0/upgrades_test.go delete mode 100644 app/upgrades/v24/constants.go delete mode 100644 app/upgrades/v24/upgrades.go delete mode 100644 app/upgrades/v24/upgrades_test.go diff --git a/ante/ante.go b/ante/ante.go index 932acd4290..f1f3d9846c 100644 --- a/ante/ante.go +++ b/ante/ante.go @@ -16,6 +16,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" "github.com/cosmos/cosmos-sdk/x/auth/ante" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" @@ -36,7 +37,7 @@ type HandlerOptions struct { SignModeHandler *txsigning.HandlerMap SigGasConsumer func(meter storetypes.GasMeter, sig signing.SignatureV2, params authtypes.Params) error - AccountKeeper feemarketante.AccountKeeper + AccountKeeper *authkeeper.AccountKeeper BankKeeper feemarketante.BankKeeper Codec codec.BinaryCodec IBCkeeper *ibckeeper.Keeper diff --git a/ante/gov_vote_ante_test.go b/ante/gov_vote_ante_test.go index 6879784d22..97543b4a67 100644 --- a/ante/gov_vote_ante_test.go +++ b/ante/gov_vote_ante_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" "cosmossdk.io/math" diff --git a/app/app.go b/app/app.go index 3eb65d1a1c..208dd7dc2f 100644 --- a/app/app.go +++ b/app/app.go @@ -13,10 +13,8 @@ import ( "github.com/spf13/cast" abci "github.com/cometbft/cometbft/abci/types" + tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" tmjson "github.com/cometbft/cometbft/libs/json" - tmos "github.com/cometbft/cometbft/libs/os" - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/gogoproto/proto" ibcwasm "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10" @@ -230,6 +228,7 @@ func NewGaiaApp( // NOTE: upgrade module is required to be prioritized app.mm.SetOrderPreBlockers( upgradetypes.ModuleName, + authtypes.ModuleName, ) // During begin block slashing happens after distr.BeginBlocker so that // there is nothing left over in the validator fee pool, so as to keep the @@ -286,7 +285,7 @@ func NewGaiaApp( anteHandler, err := gaiaante.NewAnteHandler( gaiaante.HandlerOptions{ - AccountKeeper: app.AccountKeeper, + AccountKeeper: &app.AccountKeeper, BankKeeper: app.BankKeeper, FeegrantKeeper: app.FeeGrantKeeper, SignModeHandler: txConfig.SignModeHandler(), @@ -354,13 +353,13 @@ func NewGaiaApp( if loadLatest { if err := app.LoadLatestVersion(); err != nil { - tmos.Exit(fmt.Sprintf("failed to load latest version: %s", err)) + panic(fmt.Sprintf("failed to load latest version: %s", err)) } ctx := app.NewUncachedContext(true, tmproto.Header{}) if err := app.WasmKeeper.InitializePinnedCodes(ctx); err != nil { - tmos.Exit(fmt.Sprintf("WasmKeeper failed initialize pinned codes %s", err)) + panic(fmt.Sprintf("WasmKeeper failed initialize pinned codes %s", err)) } if err := app.WasmClientKeeper.InitializePinnedCodes(ctx); err != nil { @@ -375,7 +374,7 @@ func NewGaiaApp( func (app *GaiaApp) Name() string { return app.BaseApp.Name() } // PreBlocker application updates every pre block -func (app *GaiaApp) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error) { +func (app *GaiaApp) PreBlocker(ctx sdk.Context, _ *abci.FinalizeBlockRequest) (*sdk.ResponsePreBlock, error) { return app.mm.PreBlock(ctx) } @@ -390,7 +389,7 @@ func (app *GaiaApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error) { } // InitChainer application update at chain initialization -func (app *GaiaApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { +func (app *GaiaApp) InitChainer(ctx sdk.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error) { var genesisState GenesisState if err := tmjson.Unmarshal(req.AppStateBytes, &genesisState); err != nil { panic(err) diff --git a/app/export.go b/app/export.go index 7539cbb203..632e61de17 100644 --- a/app/export.go +++ b/app/export.go @@ -4,7 +4,7 @@ import ( "encoding/json" "sort" - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" storetypes "cosmossdk.io/store/types" diff --git a/app/helpers/test_helpers.go b/app/helpers/test_helpers.go index abe9192e2d..8209cd306a 100644 --- a/app/helpers/test_helpers.go +++ b/app/helpers/test_helpers.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/require" abci "github.com/cometbft/cometbft/abci/types" - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" tmtypes "github.com/cometbft/cometbft/types" dbm "github.com/cosmos/cosmos-db" @@ -105,7 +105,7 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs // init chain will set the validator set and initialize the genesis accounts _, err = gaiaApp.InitChain( - &abci.RequestInitChain{ + &abci.InitChainRequest{ Validators: []abci.ValidatorUpdate{}, ConsensusParams: DefaultConsensusParams, AppStateBytes: stateBytes, @@ -114,7 +114,7 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs require.NoError(t, err) require.NoError(t, err) - _, err = gaiaApp.FinalizeBlock(&abci.RequestFinalizeBlock{ + _, err = gaiaApp.FinalizeBlock(&abci.FinalizeBlockRequest{ Height: gaiaApp.LastBlockHeight() + 1, Hash: gaiaApp.LastCommitID().Hash, NextValidatorsHash: valSet.Hash(), diff --git a/app/upgrades/v19/constants.go b/app/upgrades/v19/constants.go deleted file mode 100644 index 2ce7273ba6..0000000000 --- a/app/upgrades/v19/constants.go +++ /dev/null @@ -1,15 +0,0 @@ -package v19 - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v19" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v19/upgrades.go b/app/upgrades/v19/upgrades.go deleted file mode 100644 index ab7876f975..0000000000 --- a/app/upgrades/v19/upgrades.go +++ /dev/null @@ -1,31 +0,0 @@ -package v19 - -import ( - "context" - - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, err - } - - ctx.Logger().Info("Upgrade v19 complete") - return vm, nil - } -} diff --git a/app/upgrades/v20/constants.go b/app/upgrades/v20/constants.go deleted file mode 100644 index a4f78752ea..0000000000 --- a/app/upgrades/v20/constants.go +++ /dev/null @@ -1,15 +0,0 @@ -package v20 - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v20" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v20/upgrades.go b/app/upgrades/v20/upgrades.go deleted file mode 100644 index f5ba73e717..0000000000 --- a/app/upgrades/v20/upgrades.go +++ /dev/null @@ -1,931 +0,0 @@ -package v20 - -import ( - "context" - "encoding/json" - "fmt" - - cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" - - providerkeeper "github.com/cosmos/interchain-security/v7/x/ccv/provider/keeper" - providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - - errorsmod "cosmossdk.io/errors" - upgradetypes "cosmossdk.io/x/upgrade/types" - - codec "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - consensusparamkeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper" - govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -// Constants for the new parameters in the v20 upgrade. -const ( - // NewMaxValidators will be set to 200 (up from 180), - // to allow the first 20 inactive validators - // to participate on consumer chains. - NewMaxValidators = 200 - // NewMaxProviderConsensusValidators will be set to 180, - // to preserve the behaviour of only the first 180 - // validators participating in consensus on the Cosmos Hub. - NewMaxProviderConsensusValidators = 180 -) - -// CreateUpgradeHandler returns an upgrade handler for Gaia v20. -// It performs module migrations, as well as the following tasks: -// - Initializes the MaxProviderConsensusValidators parameter in the provider module to 180. -// - Increases the MaxValidators parameter in the staking module to 200. -// - Initializes the last provider consensus validator set in the provider module -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - - ctx.Logger().Info("Initializing ConsensusParam Version...") - err = InitializeConsensusParamVersion(ctx, keepers.ConsensusParamsKeeper) - if err != nil { - // don't hard fail here, as this is not critical for the upgrade to succeed - ctx.Logger().Error("Error initializing ConsensusParam Version:", "message", err.Error()) - } - - ctx.Logger().Info("Initializing MaxProviderConsensusValidators parameter...") - InitializeMaxProviderConsensusParam(ctx, keepers.ProviderKeeper) - - ctx.Logger().Info("Setting MaxValidators parameter...") - err = SetMaxValidators(ctx, *keepers.StakingKeeper) - if err != nil { - return vm, errorsmod.Wrapf(err, "setting MaxValidators during migration") - } - - ctx.Logger().Info("Initializing LastProviderConsensusValidatorSet...") - err = InitializeLastProviderConsensusValidatorSet(ctx, keepers.ProviderKeeper, *keepers.StakingKeeper) - if err != nil { - return vm, errorsmod.Wrapf(err, "initializing LastProviderConsensusValSet during migration") - } - - ctx.Logger().Info("Migrating ICS proposals...") - msgServer := providerkeeper.NewMsgServerImpl(&keepers.ProviderKeeper) - err = MigrateICSProposals(ctx, msgServer, keepers.ProviderKeeper, *keepers.GovKeeper) - if err != nil { - return vm, errorsmod.Wrapf(err, "migrating ICS proposals during migration") - } - - ctx.Logger().Info("Setting ICS consumers metadata...") - err = SetICSConsumerMetadata(ctx, keepers.ProviderKeeper) - if err != nil { - return vm, errorsmod.Wrapf(err, "setting ICS consumers metadata during migration") - } - - ctx.Logger().Info("Upgrade v20 complete") - return vm, nil - } -} - -// InitializeConsensusParamVersion initializes the consumer params that were missed in a consensus keeper migration. -// Some fields were set to nil values instead of zero values, which causes a panic during Txs to modify the params. -// Context: -// - https://github.com/cosmos/cosmos-sdk/issues/21483 -// - https://github.com/cosmos/cosmos-sdk/pull/21484 -func InitializeConsensusParamVersion(ctx sdk.Context, consensusKeeper consensusparamkeeper.Keeper) error { - params, err := consensusKeeper.ParamsStore.Get(ctx) - if err != nil { - return err - } - params.Version = &cmtproto.VersionParams{} - return consensusKeeper.ParamsStore.Set(ctx, params) -} - -// InitializeMaxProviderConsensusParam initializes the MaxProviderConsensusValidators parameter. -// It is set to 180, which is the current number of validators participating in consensus on the Cosmos Hub. -// This parameter will be used to govern the number of validators participating in consensus on the Cosmos Hub, -// and takes over this role from the MaxValidators parameter in the staking module. -func InitializeMaxProviderConsensusParam(ctx sdk.Context, providerKeeper providerkeeper.Keeper) { - params := providerKeeper.GetParams(ctx) - params.MaxProviderConsensusValidators = NewMaxProviderConsensusValidators - providerKeeper.SetParams(ctx, params) -} - -// SetMaxValidators sets the MaxValidators parameter in the staking module to 200, -// which is the current number of 180 plus 20. -// This is done in concert with the introduction of the inactive-validators feature -// in Interchain Security, after which the number of validators -// participating in consensus on the Cosmos Hub will be governed by the -// MaxProviderConsensusValidators parameter in the provider module. -func SetMaxValidators(ctx sdk.Context, stakingKeeper stakingkeeper.Keeper) error { - params, err := stakingKeeper.GetParams(ctx) - if err != nil { - return err - } - - params.MaxValidators = NewMaxValidators - - return stakingKeeper.SetParams(ctx, params) -} - -// InitializeLastProviderConsensusValidatorSet initializes the last provider consensus validator set -// by setting it to the first 180 validators from the current validator set of the staking module. -func InitializeLastProviderConsensusValidatorSet( - ctx sdk.Context, providerKeeper providerkeeper.Keeper, stakingKeeper stakingkeeper.Keeper, -) error { - vals, err := stakingKeeper.GetBondedValidatorsByPower(ctx) - if err != nil { - return err - } - - // cut the validator set to the first 180 validators - if len(vals) > NewMaxProviderConsensusValidators { - vals = vals[:NewMaxProviderConsensusValidators] - } - - // create consensus validators for the staking validators - lastValidators := []providertypes.ConsensusValidator{} - for _, val := range vals { - consensusVal, err := providerKeeper.CreateProviderConsensusValidator(ctx, val) - if err != nil { - return err - } - - lastValidators = append(lastValidators, consensusVal) - } - - return providerKeeper.SetLastProviderConsensusValSet(ctx, lastValidators) -} - -// MigrateICSProposals migrates ICS legacy proposals -func MigrateICSProposals(ctx sdk.Context, msgServer providertypes.MsgServer, providerKeeper providerkeeper.Keeper, govKeeper govkeeper.Keeper) error { - proposals := []govtypesv1.Proposal{} - err := govKeeper.Proposals.Walk(ctx, nil, func(key uint64, proposal govtypesv1.Proposal) (stop bool, err error) { - proposals = append(proposals, proposal) - return false, nil // go through the entire collection - }) - if err != nil { - return errorsmod.Wrapf(err, "iterating through proposals") - } - for _, proposal := range proposals { - err := MigrateICSLegacyProposal(ctx, msgServer, providerKeeper, govKeeper, proposal) - if err != nil { - return errorsmod.Wrapf(err, "migrating legacy proposal %d", proposal.Id) - } - - err = MigrateICSProposal(ctx, msgServer, providerKeeper, govKeeper, proposal) - if err != nil { - return errorsmod.Wrapf(err, "migrating proposal %d", proposal.Id) - } - } - return nil -} - -func ConsumerAdditionProposalToMsgConsumerAddition(proposal providertypes.ConsumerAdditionProposal) providertypes.MsgConsumerAddition { //nolint:staticcheck - return providertypes.MsgConsumerAddition{ //nolint:staticcheck - ChainId: proposal.ChainId, - InitialHeight: proposal.InitialHeight, - GenesisHash: proposal.GenesisHash, - BinaryHash: proposal.BinaryHash, - SpawnTime: proposal.SpawnTime, - UnbondingPeriod: proposal.UnbondingPeriod, - CcvTimeoutPeriod: proposal.CcvTimeoutPeriod, - TransferTimeoutPeriod: proposal.TransferTimeoutPeriod, - ConsumerRedistributionFraction: proposal.ConsumerRedistributionFraction, - BlocksPerDistributionTransmission: proposal.BlocksPerDistributionTransmission, - HistoricalEntries: proposal.HistoricalEntries, - DistributionTransmissionChannel: proposal.DistributionTransmissionChannel, - Top_N: proposal.Top_N, - ValidatorsPowerCap: proposal.ValidatorsPowerCap, - ValidatorSetCap: proposal.ValidatorSetCap, - Allowlist: proposal.Allowlist, - Denylist: proposal.Denylist, - Authority: authtypes.NewModuleAddress(govtypes.ModuleName).String(), - MinStake: proposal.MinStake, - AllowInactiveVals: proposal.AllowInactiveVals, - } -} - -func ConsumerRemovalProposalToMsgConsumerRemoval(proposal providertypes.ConsumerRemovalProposal) providertypes.MsgConsumerRemoval { //nolint:staticcheck - return providertypes.MsgConsumerRemoval{ //nolint:staticcheck - ChainId: proposal.ChainId, - StopTime: proposal.StopTime, - Authority: authtypes.NewModuleAddress(govtypes.ModuleName).String(), - } -} - -func ConsumerModificationProposalToMsgConsumerModification(proposal providertypes.ConsumerModificationProposal) providertypes.MsgConsumerModification { //nolint:staticcheck - return providertypes.MsgConsumerModification{ //nolint:staticcheck - Title: proposal.Title, - Description: proposal.Description, - ChainId: proposal.ChainId, - Top_N: proposal.Top_N, - ValidatorsPowerCap: proposal.ValidatorsPowerCap, - ValidatorSetCap: proposal.ValidatorSetCap, - Allowlist: proposal.Allowlist, - Denylist: proposal.Denylist, - Authority: authtypes.NewModuleAddress(govtypes.ModuleName).String(), - MinStake: proposal.MinStake, - AllowInactiveVals: proposal.AllowInactiveVals, - } -} - -func ChangeRewardDenomsProposalToMsgChangeRewardDenoms(proposal providertypes.ChangeRewardDenomsProposal, authority string) providertypes.MsgChangeRewardDenoms { - return providertypes.MsgChangeRewardDenoms{ - DenomsToAdd: proposal.DenomsToAdd, - DenomsToRemove: proposal.DenomsToRemove, - Authority: authority, - } -} - -func MigrateICSProposal( - ctx sdk.Context, - msgServer providertypes.MsgServer, - providerKeeper providerkeeper.Keeper, - govKeeper govkeeper.Keeper, - proposal govtypesv1.Proposal, -) error { - // ignore proposals that were rejected or failed - if proposal.Status != govtypesv1.StatusDepositPeriod && - proposal.Status != govtypesv1.StatusVotingPeriod && - proposal.Status != govtypesv1.StatusPassed { - return nil - } - - proposalMessages := proposal.GetMessages() - for index, proposalMsg := range proposalMessages { - switch msg := proposalMsg.GetCachedValue().(type) { - case *providertypes.MsgConsumerAddition: //nolint:staticcheck - err := MigrateMsgConsumerAddition( - ctx, - msgServer, - providerKeeper, - govKeeper, - proposal.Id, - *msg, - index, - ) - if err != nil { - return err - } - case *providertypes.MsgConsumerRemoval: //nolint:staticcheck - err := MigrateMsgConsumerRemoval( - ctx, - msgServer, - providerKeeper, - govKeeper, - proposal.Id, - *msg, - index, - ) - if err != nil { - return err - } - case *providertypes.MsgConsumerModification: //nolint:staticcheck - err := MigrateMsgConsumerModification( - ctx, - providerKeeper, - govKeeper, - proposal.Id, - *msg, - index, - ) - if err != nil { - return err - } - } - } - - return nil -} - -func MigrateICSLegacyProposal( - ctx sdk.Context, - msgServer providertypes.MsgServer, - providerKeeper providerkeeper.Keeper, - govKeeper govkeeper.Keeper, - proposal govtypesv1.Proposal, -) error { - // ignore proposals that were rejected or failed - if proposal.Status != govtypesv1.StatusDepositPeriod && - proposal.Status != govtypesv1.StatusVotingPeriod && - proposal.Status != govtypesv1.StatusPassed { - return nil - } - - // ignore proposals with more than one message as we are interested only - // in legacy proposals (which have only one message) - messages := proposal.GetMessages() - if len(messages) != 1 { - return nil - } - msg := messages[0] - - // ignore non-legacy proposals - sdkLegacyMsg, isLegacyProposal := msg.GetCachedValue().(*govtypesv1.MsgExecLegacyContent) - if !isLegacyProposal { - return nil - } - content, err := govtypesv1.LegacyContentFromMessage(sdkLegacyMsg) - if err != nil { - return err - } - - switch msg := content.(type) { - case *providertypes.ConsumerAdditionProposal: //nolint:staticcheck - return MigrateMsgConsumerAddition(ctx, - msgServer, - providerKeeper, - govKeeper, - proposal.Id, - ConsumerAdditionProposalToMsgConsumerAddition(*msg), - 0) - - case *providertypes.ConsumerRemovalProposal: //nolint:staticcheck - return MigrateMsgConsumerRemoval( - ctx, - msgServer, - providerKeeper, - govKeeper, - proposal.Id, - ConsumerRemovalProposalToMsgConsumerRemoval(*msg), - 0, - ) - - case *providertypes.ConsumerModificationProposal: //nolint:staticcheck - return MigrateMsgConsumerModification( - ctx, - providerKeeper, - govKeeper, - proposal.Id, - ConsumerModificationProposalToMsgConsumerModification(*msg), - 0, - ) - - case *providertypes.ChangeRewardDenomsProposal: - return MigrateMsgChangeRewardDenoms( - ctx, - govKeeper, - proposal.Id, - ChangeRewardDenomsProposalToMsgChangeRewardDenoms(*msg, "authority"), - 0, - ) - } - - return nil -} - -func MigrateMsgConsumerAddition( - ctx sdk.Context, - msgServer providertypes.MsgServer, - providerKeeper providerkeeper.Keeper, - govKeeper govkeeper.Keeper, - proposalID uint64, - msg providertypes.MsgConsumerAddition, //nolint:staticcheck - indexOfMessageInProposal int, -) error { - proposal, err := govKeeper.Proposals.Get(ctx, proposalID) - if err != nil { - return err - } - if proposal.Status == govtypesv1.StatusPassed { - // MsgConsumerAddition that passed - for _, consumerID := range providerKeeper.GetAllActiveConsumerIds(ctx) { - chainID, err := providerKeeper.GetConsumerChainId(ctx, consumerID) - if err != nil { - return err // this means something is wrong with the provider state - } - if chainID == msg.ChainId { - // this proposal was already handled in a previous block - ctx.Logger().Info( - fmt.Sprintf( - "Proposal with ID(%d) was skipped as it was already handled - consumerID(%s), chainID(%s), spawnTime(%s)", - proposal.Id, consumerID, msg.ChainId, msg.SpawnTime.String(), - ), - ) - return nil - } - } - - // This proposal would have been handled in a future block. - // If the proposal is invalid, just ignore it. - // Otherwise, call CreateConsumer, which will schedule the consumer - // chain to be launched at msg.SpawnTime. - - // create a new consumer chain with all the parameters - metadata := providertypes.ConsumerMetadata{ - Name: msg.ChainId, - Description: "TBA", - Metadata: "TBA", - } - - initParams, err := CreateConsumerInitializationParameters(msg) - if err != nil { - // invalid init params -- ignore proposal - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was skipped as the init params are invalid, chainID(%s), spawnTime(%s): %s", - proposal.Id, msg.ChainId, msg.SpawnTime.String(), err.Error(), - ), - ) - return nil - } - - powerShapingParams, err := CreatePowerShapingParameters(msg.Top_N, msg.ValidatorsPowerCap, msg.ValidatorSetCap, - msg.Allowlist, msg.Denylist, msg.MinStake, msg.AllowInactiveVals) - if err != nil { - // invalid power shaping params -- ignore proposal - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was skipped as the power shaping params are invalid, chainID(%s), spawnTime(%s): %s", - proposal.Id, msg.ChainId, msg.SpawnTime.String(), err.Error(), - ), - ) - return nil - } - // first, create an Opt-In consumer chain - msgCreateConsumer := providertypes.MsgCreateConsumer{ - Submitter: govKeeper.GetAuthority(), - ChainId: msg.ChainId, - Metadata: metadata, - InitializationParameters: nil, - PowerShapingParameters: nil, - } - resp, err := msgServer.CreateConsumer(ctx, &msgCreateConsumer) - if err != nil { - return err - } - // second, update the consumer chain to be TopN - msgUpdateConsumer := providertypes.MsgUpdateConsumer{ - Owner: govKeeper.GetAuthority(), - ConsumerId: resp.ConsumerId, - Metadata: nil, - InitializationParameters: &initParams, - PowerShapingParameters: &powerShapingParams, - } - _, err = msgServer.UpdateConsumer(ctx, &msgUpdateConsumer) - if err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Created consumer with ID(%s), chainID(%s), and spawnTime(%s) from proposal with ID(%d)", - resp.ConsumerId, msg.ChainId, initParams.SpawnTime.String(), proposal.Id, - ), - ) - } else { - // proposal that was submitted, but not yet passed. - // If the proposal is invalid, remove it. - // Otherwise, create a new consumer chain (MsgCreateConsumer), and - // replace the proposal's content with a MsgUpdateConsumer - - metadata := providertypes.ConsumerMetadata{ - Name: msg.ChainId, - Description: "TBA", - Metadata: "TBA", - } - - initParams, err := CreateConsumerInitializationParameters(msg) - if err != nil { - // invalid init params -- delete proposal - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was deleted as the init params are invalid, chainID(%s), spawnTime(%s): %s", - proposal.Id, msg.ChainId, msg.SpawnTime.String(), err.Error(), - ), - ) - return nil - } - - powerShapingParams, err := CreatePowerShapingParameters(msg.Top_N, msg.ValidatorsPowerCap, msg.ValidatorSetCap, - msg.Allowlist, msg.Denylist, msg.MinStake, msg.AllowInactiveVals) - if err != nil { - // invalid power shaping params -- delete proposal - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was deleted as the power shaping params are invalid, chainID(%s), spawnTime(%s): %s", - proposal.Id, msg.ChainId, msg.SpawnTime.String(), err.Error(), - ), - ) - return nil - } - - // first, create a new consumer chain to get a consumer ID - msgCreateConsumer := providertypes.MsgCreateConsumer{ - Submitter: govKeeper.GetAuthority(), - ChainId: msg.ChainId, - Metadata: metadata, - InitializationParameters: nil, // to be added to MsgUpdateConsumer - PowerShapingParameters: nil, // to be added to MsgUpdateConsumer - } - resp, err := msgServer.CreateConsumer(ctx, &msgCreateConsumer) - if err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Created consumer with ID(%s), chainID(%s), and no spawnTime from proposal with ID(%d)", - resp.ConsumerId, msg.ChainId, proposal.Id, - ), - ) - - // second, replace the message in the proposal with a MsgUpdateConsumer - msgUpdateConsumer := providertypes.MsgUpdateConsumer{ - Owner: govKeeper.GetAuthority(), - ConsumerId: resp.ConsumerId, - Metadata: nil, - InitializationParameters: &initParams, - PowerShapingParameters: &powerShapingParams, - } - anyMsg, err := codec.NewAnyWithValue(&msgUpdateConsumer) - if err != nil { - return err - } - proposal.Messages[indexOfMessageInProposal] = anyMsg - if err := govKeeper.SetProposal(ctx, proposal); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Replaced proposal with ID(%d) with MsgUpdateConsumer - consumerID(%s), chainID(%s), spawnTime(%s)", - proposal.Id, resp.ConsumerId, msg.ChainId, initParams.SpawnTime.String(), - ), - ) - } - return nil -} - -func CreateConsumerInitializationParameters(msgConsumerAddition providertypes.MsgConsumerAddition) (providertypes.ConsumerInitializationParameters, error) { //nolint:staticcheck - initParams := providertypes.ConsumerInitializationParameters{ - InitialHeight: msgConsumerAddition.InitialHeight, - GenesisHash: msgConsumerAddition.GenesisHash, - BinaryHash: msgConsumerAddition.BinaryHash, - SpawnTime: msgConsumerAddition.SpawnTime, - UnbondingPeriod: msgConsumerAddition.UnbondingPeriod, - CcvTimeoutPeriod: msgConsumerAddition.CcvTimeoutPeriod, - TransferTimeoutPeriod: msgConsumerAddition.TransferTimeoutPeriod, - ConsumerRedistributionFraction: msgConsumerAddition.ConsumerRedistributionFraction, - BlocksPerDistributionTransmission: msgConsumerAddition.BlocksPerDistributionTransmission, - HistoricalEntries: msgConsumerAddition.HistoricalEntries, - DistributionTransmissionChannel: msgConsumerAddition.DistributionTransmissionChannel, - } - err := providertypes.ValidateInitializationParameters(initParams) - return initParams, err -} - -func CreatePowerShapingParameters( - topN uint32, validatorsPowerCap uint32, validatorSetCap uint32, allowlist []string, denylist []string, - minStake uint64, allowInactiveVals bool, -) (providertypes.PowerShapingParameters, error) { - powerShapingParams := providertypes.PowerShapingParameters{ - Top_N: topN, - ValidatorsPowerCap: validatorsPowerCap, - ValidatorSetCap: validatorSetCap, - Allowlist: allowlist, - Denylist: denylist, - MinStake: minStake, - AllowInactiveVals: allowInactiveVals, - } - err := providertypes.ValidatePowerShapingParameters(powerShapingParams) - return powerShapingParams, err -} - -func MigrateMsgConsumerRemoval( - ctx sdk.Context, - msgServer providertypes.MsgServer, - providerKeeper providerkeeper.Keeper, - govKeeper govkeeper.Keeper, - proposalID uint64, - msg providertypes.MsgConsumerRemoval, //nolint:staticcheck - indexOfMessageInProposal int, -) error { - proposal, err := govKeeper.Proposals.Get(ctx, proposalID) - if err != nil { - return err - } - // identify the consumer chain - rmConsumerID := "" - for _, consumerID := range providerKeeper.GetAllActiveConsumerIds(ctx) { - chainID, err := providerKeeper.GetConsumerChainId(ctx, consumerID) - if err != nil { - return err // this means is something wrong with the provider state - } - if chainID == msg.ChainId { - rmConsumerID = consumerID - break - } - } - if rmConsumerID == "" { - // ignore proposal as there is no consumer with that chain ID - ctx.Logger().Info( - fmt.Sprintf( - "Proposal with ID(%d) was skipped as there is no consumer with chainID(%s)", - proposal.Id, msg.ChainId, - ), - ) - if proposal.Status != govtypesv1.StatusPassed { - // if the proposal didn't pass yet, then just remove it - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Proposal with ID(%d) was deleted -- chainID(%s)", - proposal.Id, msg.ChainId, - ), - ) - } - return nil - } - - msgRemoveConsumer := providertypes.MsgRemoveConsumer{ - ConsumerId: rmConsumerID, - Owner: govKeeper.GetAuthority(), - } - - if proposal.Status == govtypesv1.StatusPassed { - // ConsumerRemovalProposal that passed -- it was added to the - // list of pending consumer removal proposals, which was deleted during - // the migration of the provider module - _, err := msgServer.RemoveConsumer(ctx, &msgRemoveConsumer) - if err != nil { - ctx.Logger().Error( - fmt.Sprintf( - "Could not remove consumer with ID(%s), chainID(%s), as per proposal with ID(%d)", - rmConsumerID, msg.ChainId, proposal.Id, - ), - ) - return nil // do not stop the migration because of this - } - ctx.Logger().Info( - fmt.Sprintf( - "Consumer with ID(%s), chainID(%s) will stop as per proposal with ID(%d)", - rmConsumerID, msg.ChainId, proposal.Id, - ), - ) - } else { - // proposal that was submitted, but not yet passed - - // replace the message in the proposal with a MsgRemoveConsumer - anyMsg, err := codec.NewAnyWithValue(&msgRemoveConsumer) - if err != nil { - return err - } - - proposal.Messages[indexOfMessageInProposal] = anyMsg - if err := govKeeper.SetProposal(ctx, proposal); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Replaced proposal with ID(%d) with MsgRemoveConsumer - consumerID(%s), chainID(%s)", - proposal.Id, rmConsumerID, msg.ChainId, - ), - ) - } - return nil -} - -func MigrateMsgConsumerModification( - ctx sdk.Context, - providerKeeper providerkeeper.Keeper, - govKeeper govkeeper.Keeper, - proposalID uint64, - msg providertypes.MsgConsumerModification, //nolint:staticcheck - indexOfMessageInProposal int, -) error { - proposal, err := govKeeper.Proposals.Get(ctx, proposalID) - if err != nil { - return err - } - if proposal.Status == govtypesv1.StatusPassed { - // proposal that passed -- it was already handled in - // a previous block since these proposals are handled immediately - ctx.Logger().Info( - fmt.Sprintf( - "Proposal with ID(%d) was skipped as it was already handled - chainID(%s)", - proposal.Id, msg.ChainId, - ), - ) - return nil - } - - // proposal that was submitted, but not yet passed - modifyConsumerID := "" - for _, consumerID := range providerKeeper.GetAllActiveConsumerIds(ctx) { - chainID, err := providerKeeper.GetConsumerChainId(ctx, consumerID) - if err != nil { - return err // this means is something wrong with the provider state - } - if chainID == msg.ChainId { - modifyConsumerID = consumerID - break - } - } - if modifyConsumerID == "" { - // delete proposal as there is no consumer with that chain ID - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Proposal with ID(%d) was deleted - chainID(%s)", - proposal.Id, msg.ChainId, - ), - ) - return nil - } - - // replace the message in the proposal with a MsgUpdateConsumer - powerShapingParams, err := CreatePowerShapingParameters(msg.Top_N, msg.ValidatorsPowerCap, msg.ValidatorSetCap, - msg.Allowlist, msg.Denylist, msg.MinStake, msg.AllowInactiveVals) - if err != nil { - // invalid power shaping params -- delete proposal - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was deleted as the power shaping params are invalid, consumerID(%s), chainID(%s): %s", - proposal.Id, modifyConsumerID, msg.ChainId, err.Error(), - ), - ) - return nil - } - msgUpdateConsumer := providertypes.MsgUpdateConsumer{ - Owner: govKeeper.GetAuthority(), - ConsumerId: modifyConsumerID, - Metadata: nil, - InitializationParameters: nil, - PowerShapingParameters: &powerShapingParams, - } - anyMsg, err := codec.NewAnyWithValue(&msgUpdateConsumer) - if err != nil { - return err - } - proposal.Messages[indexOfMessageInProposal] = anyMsg - if err := govKeeper.SetProposal(ctx, proposal); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf( - "Replaced proposal with ID(%d) with MsgUpdateConsumer - consumerID(%s), chainID(%s)", - proposal.Id, modifyConsumerID, msg.ChainId, - ), - ) - return nil -} - -func MigrateMsgChangeRewardDenoms( - ctx sdk.Context, - govKeeper govkeeper.Keeper, - proposalID uint64, - msg providertypes.MsgChangeRewardDenoms, - indexOfMessageInProposal int, -) error { - proposal, err := govKeeper.Proposals.Get(ctx, proposalID) - if err != nil { - return err - } - if proposal.Status == govtypesv1.StatusPassed { - // proposal that passed -- it was already handled in - // a previous block since these proposals are handled immediately - ctx.Logger().Info( - fmt.Sprintf("Proposal with ID(%d) was skipped as it was already handled", proposal.Id), - ) - } else { - // ChangeRewardDenomsProposal that was submitted, but not yet passed - - // replace the message in the proposal with a MsgChangeRewardDenoms - msgChangeRewardDenoms := providertypes.MsgChangeRewardDenoms{ - Authority: govKeeper.GetAuthority(), - DenomsToAdd: msg.DenomsToAdd, - DenomsToRemove: msg.DenomsToRemove, - } - if err := msgChangeRewardDenoms.ValidateBasic(); err != nil { - // this should not happen if the original ChangeRewardDenomsProposal - // was well formed - if err := govKeeper.DeleteProposal(ctx, proposal.Id); err != nil { - return err - } - ctx.Logger().Error( - fmt.Sprintf( - "Proposal with ID(%d) was deleted as it failed validation: %s", - proposal.Id, err.Error(), - ), - ) - return nil - } - anyMsg, err := codec.NewAnyWithValue(&msgChangeRewardDenoms) - if err != nil { - return err - } - proposal.Messages[indexOfMessageInProposal] = anyMsg - if err := govKeeper.SetProposal(ctx, proposal); err != nil { - return err - } - ctx.Logger().Info( - fmt.Sprintf("Replaced proposal with ID(%d) with MsgChangeRewardDenoms", proposal.Id), - ) - } - return nil -} - -// SetICSConsumerMetadata sets the metadata for launched consumer chains -func SetICSConsumerMetadata(ctx sdk.Context, providerKeeper providerkeeper.Keeper) error { - for _, consumerID := range providerKeeper.GetAllActiveConsumerIds(ctx) { - phase := providerKeeper.GetConsumerPhase(ctx, consumerID) - if phase != providertypes.CONSUMER_PHASE_LAUNCHED { - continue - } - chainID, err := providerKeeper.GetConsumerChainId(ctx, consumerID) - if err != nil { - ctx.Logger().Error( - fmt.Sprintf("cannot get chain ID for consumer chain, consumerID(%s)", consumerID), - ) - continue - } - - if chainID == "stride-1" { - var metatadaField string - if u, err := json.Marshal(map[string]string{ - "phase": "mainnet", - "forge_json_url": "https://raw.githubusercontent.com/Stride-Labs/stride/main/forge.json", - }); err != nil { - ctx.Logger().Error( - fmt.Sprintf("cannot marshal metadata, consumerID(%s), chainID(%s): %s", consumerID, chainID, err.Error()), - ) - metatadaField = "" - } else { - metatadaField = string(u) - } - metadata := providertypes.ConsumerMetadata{ - Name: "Stride", - Description: "The Stride blockchain has a single purpose: to provide the best liquid staking service for chains in the Cosmos ecosystem. " + - "Stride protocol currently provides liquid staking for seven Cosmos chains, and has over 80%% of Cosmos ecosystem liquid staking market share.\n" + - "With Stride's stTokens integrated into major DeFi apps across the Cosmos, a rapidly growing TVL, and more IBC traffic than almost any other Cosmos chain - the Stride blockchain has clearly achieved product market fit.\n" + - "Stride's top priority is security; it always has been and always will be. " + - "Like the Cosmos Hub, Stride is a highly secure minimalist blockchain, with no smart contracts and no other apps beside the core liquid staking protocol. " + - "The Stride codebase has been fully audited by numerous security firms, and receives continuous auditing from Informal Systems. " + - "And the Stride blockchain is protected by IBC rate-limiting.", - Metadata: metatadaField, - } - err = providerKeeper.SetConsumerMetadata(ctx, consumerID, metadata) - if err != nil { - ctx.Logger().Error( - fmt.Sprintf("cannot set consumer metadata, consumerID(%s), chainID(%s): %s", consumerID, chainID, err.Error()), - ) - continue - } - } else if chainID == "neutron-1" { - var metatadaField string - if u, err := json.Marshal(map[string]string{ - "phase": "mainnet", - "forge_json_url": "https://raw.githubusercontent.com/neutron-org/neutron/main/forge.json", - }); err != nil { - ctx.Logger().Error( - fmt.Sprintf("cannot marshal metadata, consumerID(%s), chainID(%s): %s", consumerID, chainID, err.Error()), - ) - metatadaField = "" - } else { - metatadaField = string(u) - } - metadata := providertypes.ConsumerMetadata{ - Name: "Neutron", - Description: "Neutron is the only blockchain network specifically designed to support Integrated Applications. " + - "By granting contracts the power of an appchain, Neutron minimises development overhead, facilitates improved mechanism design, lowers risk and enhances the scalability of decentralised applications.\n" + - "Unlike typical smart contracts, Integrated Applications have access to components of the blockchain that exist outside of their virtual machine: " + - "begin and end block automation, mempools, transaction fee mechanisms, consensus votes, interchain transactions and queries, and more.\n" + - "Integrated Applications can customise their network's blockspace to provide gasless onboarding to newly acquired users and do away with network selectors to onboard deposits from any connected blockchain in a single click. " + - "They can deploy and manage capital and integrations across multiple chains, maximising network effects and the ubiquity of their denominations.\n" + - "These features allow Integrated Applications to establish stronger moats around their technology and business model, while providing a competitive edge that standard applications lack. " + - "This makes them inherently more attractive and competitive, as they operate on an enhanced platform offering higher performance and broader reach compared to traditional applications.", - Metadata: metatadaField, - } - err = providerKeeper.SetConsumerMetadata(ctx, consumerID, metadata) - if err != nil { - ctx.Logger().Error( - fmt.Sprintf("cannot set consumer metadata, consumerID(%s), chainID(%s): %s", consumerID, chainID, err.Error()), - ) - continue - } - } - } - return nil -} diff --git a/app/upgrades/v20/upgrades_test.go b/app/upgrades/v20/upgrades_test.go deleted file mode 100644 index a3233ee5fb..0000000000 --- a/app/upgrades/v20/upgrades_test.go +++ /dev/null @@ -1,284 +0,0 @@ -package v20_test - -import ( - "encoding/base64" - "encoding/json" - "fmt" - "testing" - "time" - - "github.com/stretchr/testify/require" - - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - - clienttypes "github.com/cosmos/ibc-go/v10/modules/core/02-client/types" - providerkeeper "github.com/cosmos/interchain-security/v7/x/ccv/provider/keeper" - providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - "github.com/cosmos/interchain-security/v7/x/ccv/types" - - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - v1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - - "github.com/cosmos/gaia/v25/app/helpers" - v20 "github.com/cosmos/gaia/v25/app/upgrades/v20" -) - -func GetTestMsgConsumerAddition() providertypes.MsgConsumerAddition { //nolint:staticcheck - return providertypes.MsgConsumerAddition{ //nolint:staticcheck - ChainId: "chainid-1", - InitialHeight: clienttypes.NewHeight(1, 1), - GenesisHash: []byte(base64.StdEncoding.EncodeToString([]byte("gen_hash"))), - BinaryHash: []byte(base64.StdEncoding.EncodeToString([]byte("bin_hash"))), - SpawnTime: time.Now().UTC(), - UnbondingPeriod: types.DefaultConsumerUnbondingPeriod, - CcvTimeoutPeriod: types.DefaultCCVTimeoutPeriod, - TransferTimeoutPeriod: types.DefaultTransferTimeoutPeriod, - ConsumerRedistributionFraction: types.DefaultConsumerRedistributeFrac, - BlocksPerDistributionTransmission: types.DefaultBlocksPerDistributionTransmission, - HistoricalEntries: types.DefaultHistoricalEntries, - DistributionTransmissionChannel: "", - Top_N: 50, - ValidatorsPowerCap: 0, - ValidatorSetCap: 0, - Allowlist: nil, - Denylist: nil, - Authority: authtypes.NewModuleAddress(govtypes.ModuleName).String(), - } -} - -func TestMigrateMsgConsumerAdditionWithNotPassedProposalAndInvalidParams(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - providerKeeper := gaiaApp.ProviderKeeper - govKeeper := gaiaApp.GovKeeper - - // assert that when a not-passed proposal has invalid params, it gets deleted - // create a sample message, so we can use it in the proposal - messages := make([]*codectypes.Any, 1) - messages[0] = &codectypes.Any{TypeUrl: "", Value: []byte{}} - proposal := v1.Proposal{Messages: messages} - err := govKeeper.SetProposal(ctx, proposal) - require.NoError(t, err) - - // verify the proposal can be found - _, err = govKeeper.Proposals.Get(ctx, 0) - require.NoError(t, err) - - msgConsumerAddition := GetTestMsgConsumerAddition() - msgConsumerAddition.Top_N = 13 // invalid param, not in [0]\union[50, 100] - msgServer := providerkeeper.NewMsgServerImpl(&providerKeeper) - err = v20.MigrateMsgConsumerAddition(ctx, msgServer, - providerKeeper, - *govKeeper, - 0, - msgConsumerAddition, - 0) - require.NoError(t, err) - - // verify that the proposal got deleted (we cannot find it) - _, err = govKeeper.Proposals.Get(ctx, 0) - require.ErrorContains(t, err, "not found") - - // (indirectly) verify that `CreateConsumer` was not called by checking that consumer id was not updated - consumerID, found := providerKeeper.GetConsumerId(ctx) - require.False(t, found) - require.Equal(t, uint64(0), consumerID) -} - -func TestMigrateMsgConsumerAdditionWithNotPassedProposalAndValidParams(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - providerKeeper := gaiaApp.ProviderKeeper - govKeeper := gaiaApp.GovKeeper - - // create a proposal with 2 messages and only update the second message (call `MigrateConsumerAddition` with - // `indexOfMessageInProposal` being 1) - messages := make([]*codectypes.Any, 2) - messages[0] = &codectypes.Any{TypeUrl: "", Value: []byte{1, 2, 3}} - messages[1] = &codectypes.Any{TypeUrl: "", Value: []byte{}} - proposal := v1.Proposal{Messages: messages} - err := govKeeper.SetProposal(ctx, proposal) - require.NoError(t, err) - - msgConsumerAddition := GetTestMsgConsumerAddition() - msgServer := providerkeeper.NewMsgServerImpl(&providerKeeper) - err = v20.MigrateMsgConsumerAddition(ctx, msgServer, - providerKeeper, - *govKeeper, - 0, - msgConsumerAddition, - 1) - require.NoError(t, err) - - // (indirectly) verify that `CreateConsumer` was called by checking that consumer id was updated - consumerID, found := providerKeeper.GetConsumerId(ctx) - require.True(t, found) - require.Equal(t, uint64(1), consumerID) - consumerMetadata, err := providerKeeper.GetConsumerMetadata(ctx, "0") - require.NoError(t, err) - fmt.Println(consumerMetadata) - require.Equal(t, msgConsumerAddition.ChainId, consumerMetadata.Name) - - proposal, err = govKeeper.Proposals.Get(ctx, 0) - require.NoError(t, err) - // first message was not updated - require.Equal(t, messages[0].TypeUrl, proposal.Messages[0].TypeUrl) - require.Equal(t, messages[0].Value, proposal.Messages[0].Value) - - // verify that the proposal's second message now contains a `MsgUpdateConsumer` message - initParams, err := v20.CreateConsumerInitializationParameters(msgConsumerAddition) - require.NoError(t, err) - - powerShapingParams, err := v20.CreatePowerShapingParameters(msgConsumerAddition.Top_N, msgConsumerAddition.ValidatorsPowerCap, - msgConsumerAddition.ValidatorSetCap, msgConsumerAddition.Allowlist, msgConsumerAddition.Denylist, msgConsumerAddition.MinStake, - msgConsumerAddition.AllowInactiveVals) - require.NoError(t, err) - - expectedMsgUpdateConsumer := providertypes.MsgUpdateConsumer{ - Owner: govKeeper.GetAuthority(), - ConsumerId: "0", - Metadata: nil, - InitializationParameters: &initParams, - PowerShapingParameters: &powerShapingParams, - } - expectedMsgUpdateConsumerBytes, err := expectedMsgUpdateConsumer.Marshal() - require.NoError(t, err) - require.Equal(t, "/interchain_security.ccv.provider.v1.MsgUpdateConsumer", proposal.Messages[1].TypeUrl) - require.Equal(t, expectedMsgUpdateConsumerBytes, proposal.Messages[1].Value) -} - -func TestMigrateMsgConsumerAdditionWithPassedProposal(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - providerKeeper := gaiaApp.ProviderKeeper - govKeeper := gaiaApp.GovKeeper - - // create a passed proposal with one message - messages := make([]*codectypes.Any, 1) - messages[0] = &codectypes.Any{TypeUrl: "", Value: []byte{1, 2, 3}} - proposal := v1.Proposal{Messages: messages, Status: v1.ProposalStatus_PROPOSAL_STATUS_PASSED} - err := govKeeper.SetProposal(ctx, proposal) - require.NoError(t, err) - - msgConsumerAddition := GetTestMsgConsumerAddition() - msgServer := providerkeeper.NewMsgServerImpl(&providerKeeper) - err = v20.MigrateMsgConsumerAddition(ctx, msgServer, - providerKeeper, - *govKeeper, - 0, - msgConsumerAddition, - 0) - require.NoError(t, err) - - // (indirectly) verify that `CreateConsumer` was called by checking that consumer id was updated - consumerID, found := providerKeeper.GetConsumerId(ctx) - require.True(t, found) - require.Equal(t, uint64(1), consumerID) - consumerMetadata, err := providerKeeper.GetConsumerMetadata(ctx, "0") - require.NoError(t, err) - require.Equal(t, msgConsumerAddition.ChainId, consumerMetadata.Name) - - proposal, err = govKeeper.Proposals.Get(ctx, 0) - require.NoError(t, err) - // first message was not updated - require.Equal(t, messages[0].TypeUrl, proposal.Messages[0].TypeUrl) - require.Equal(t, messages[0].Value, proposal.Messages[0].Value) - - // verify that the proposal's second message now contains a `MsgUpdateConsumer` message - initParams, err := v20.CreateConsumerInitializationParameters(msgConsumerAddition) - require.NoError(t, err) - - powerShapingParams, err := v20.CreatePowerShapingParameters(msgConsumerAddition.Top_N, msgConsumerAddition.ValidatorsPowerCap, - msgConsumerAddition.ValidatorSetCap, msgConsumerAddition.Allowlist, msgConsumerAddition.Denylist, msgConsumerAddition.MinStake, - msgConsumerAddition.AllowInactiveVals) - require.NoError(t, err) - - actualInitParams, err := providerKeeper.GetConsumerInitializationParameters(ctx, "0") - require.NoError(t, err) - actualPowerShapingParams, err := providerKeeper.GetConsumerPowerShapingParameters(ctx, "0") - require.NoError(t, err) - require.Equal(t, powerShapingParams, actualPowerShapingParams) - require.Equal(t, initParams, actualInitParams) -} - -func TestMigrateMsgConsumerAdditionWithPassedProposalOfAnAlreadyHandleChain(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - providerKeeper := gaiaApp.ProviderKeeper - govKeeper := gaiaApp.GovKeeper - - // create a passed proposal with one message - messages := make([]*codectypes.Any, 1) - messages[0] = &codectypes.Any{TypeUrl: "", Value: []byte{1, 2, 3}} - proposal := v1.Proposal{Messages: messages, Status: v1.ProposalStatus_PROPOSAL_STATUS_PASSED} - err := govKeeper.SetProposal(ctx, proposal) - require.NoError(t, err) - - msgConsumerAddition := GetTestMsgConsumerAddition() - - // the chain is already handled and launched - providerKeeper.FetchAndIncrementConsumerId(ctx) - providerKeeper.SetConsumerPhase(ctx, "0", providertypes.CONSUMER_PHASE_LAUNCHED) - providerKeeper.SetConsumerChainId(ctx, "0", msgConsumerAddition.ChainId) - - msgServer := providerkeeper.NewMsgServerImpl(&providerKeeper) - err = v20.MigrateMsgConsumerAddition(ctx, msgServer, - providerKeeper, - *govKeeper, - 0, - msgConsumerAddition, - 0) - require.NoError(t, err) - - // (indirectly) verify that `CreateConsumer` was not called by checking there are no consumer metadata - _, err = providerKeeper.GetConsumerMetadata(ctx, "0") - require.Error(t, err) -} - -func TestSetICSConsumerMetadata(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - pk := gaiaApp.ProviderKeeper - - // Add consumer chains - neutronConsumerID := pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerChainId(ctx, neutronConsumerID, "neutron-1") - pk.SetConsumerPhase(ctx, neutronConsumerID, providertypes.CONSUMER_PHASE_LAUNCHED) - strideConsumerID := pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerChainId(ctx, strideConsumerID, "stride-1") - pk.SetConsumerPhase(ctx, strideConsumerID, providertypes.CONSUMER_PHASE_LAUNCHED) - - err := v20.SetICSConsumerMetadata(ctx, pk) - require.NoError(t, err) - - metadata, err := pk.GetConsumerMetadata(ctx, neutronConsumerID) - require.NoError(t, err) - require.Equal(t, "Neutron", metadata.Name) - expectedMetadataField := map[string]string{ - "phase": "mainnet", - "forge_json_url": "https://raw.githubusercontent.com/neutron-org/neutron/main/forge.json", - } - metadataField := map[string]string{} - err = json.Unmarshal([]byte(metadata.Metadata), &metadataField) - require.NoError(t, err) - require.Equal(t, expectedMetadataField, metadataField) - - metadata, err = pk.GetConsumerMetadata(ctx, strideConsumerID) - require.NoError(t, err) - require.Equal(t, "Stride", metadata.Name) - expectedMetadataField = map[string]string{ - "phase": "mainnet", - "forge_json_url": "https://raw.githubusercontent.com/Stride-Labs/stride/main/forge.json", - } - metadataField = map[string]string{} - err = json.Unmarshal([]byte(metadata.Metadata), &metadataField) - require.NoError(t, err) - require.Equal(t, expectedMetadataField, metadataField) -} diff --git a/app/upgrades/v21/constants.go b/app/upgrades/v21/constants.go deleted file mode 100644 index 41c86ab725..0000000000 --- a/app/upgrades/v21/constants.go +++ /dev/null @@ -1,15 +0,0 @@ -package v21 - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v21" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v21/upgrades.go b/app/upgrades/v21/upgrades.go deleted file mode 100644 index faa966106c..0000000000 --- a/app/upgrades/v21/upgrades.go +++ /dev/null @@ -1,153 +0,0 @@ -package v21 - -import ( - "context" - "fmt" - - providerkeeper "github.com/cosmos/interchain-security/v7/x/ccv/provider/keeper" - providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - - errorsmod "cosmossdk.io/errors" - "cosmossdk.io/math" - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" - govparams "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -// Neutron and Stride denoms that were not whitelisted but the consumer rewards pool contains amounts of those denoms. -// Price in $ for each denom corresponds to an approximation fo the current amount stored in the consumer rewards pool -// as of 27.09.2024. Only denoms with amounts more than $10 are included. -const ( - NeutronUusdc = "ibc/4E0D0854C0F846150FA8389D75EA5B5129B17703D7F4992D0356B4FE7C013D42" // ~$40 - NeutronUtia = "ibc/7054742D02E4F28B7DB5B44D97A496CF5AD16C2AE6948028A5FD57DCE7C5E271" // ~$300 - - StrideStutia = "ibc/17DABEBAC71C388DA064A3D54FB7E68BAF0687965EC39DEADA1FB78C0F1447E6" // ~$18,000 - StrideStadym = "ibc/3F0A41ECB6FAF27E315583DBF39B5B69A7149D23959A0E4B319F7EF5C618DCD7" // ~$800 - StrideStaISLM = "ibc/61A6F21D6AFF9835F66056461F1CAE24AA3323820259856B485FE7C063CA4FA6" // ~$1650 - StrideStuband = "ibc/E9401AC885592AC2023E0FB9BA7C8BC66D346CEE04CED8E9F545F3C25290708A" // ~$300 - StrideStadydx = "ibc/EEFD952A6DE346F2649039E99A16430B05FFEDF628A4DE99F34BB4B5F6A9346E" // ~$21,000 - StrideStusaga = "ibc/F918765AC289257B35DECC52BD92EBCDBA3C139658BD6F2670D70A6E10B97F58" // ~$300 -) - -// CreateUpgradeHandler returns an upgrade handler for Gaia v21. -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - - ctx.Logger().Info("allocating rewards of Neutron and Stride unaccounted denoms") - err = AllocateNeutronAndStrideUnaccountedDenoms(ctx, keepers.ProviderKeeper, keepers.BankKeeper, keepers.AccountKeeper) - if err != nil { - // migration can only work on cosmoshub-4 - // all testchains except for mainnet export fork will fail this - ctx.Logger().Error("Error allocating rewards of Neutron and Stride unaccounted denoms:", "message", err.Error()) - } - - err = InitializeConstitutionCollection(ctx, *keepers.GovKeeper) - if err != nil { - ctx.Logger().Error("Error initializing Constitution Collection:", "message", err.Error()) - } - - err = InitializeGovParams(ctx, *keepers.GovKeeper) - if err != nil { - ctx.Logger().Error("Error initializing Gov Params:", "message", err.Error()) - } - - ctx.Logger().Info("Upgrade v21 complete") - return vm, nil - } -} - -// AllocateRewards allocates all the `denoms` that reside in the `address` and are meant for the chain with `consumerID` -func AllocateRewards(ctx sdk.Context, providerKeeper providerkeeper.Keeper, bankKeeper bankkeeper.Keeper, address sdk.AccAddress, consumerID string, denoms []string) error { - for _, denom := range denoms { - coinRewards := bankKeeper.GetBalance(ctx, address, denom) - decCoinRewards := sdk.DecCoins{sdk.DecCoin{Denom: coinRewards.Denom, Amount: math.LegacyNewDecFromInt(coinRewards.Amount)}} - consumerRewardsAllocation := providertypes.ConsumerRewardsAllocation{Rewards: decCoinRewards} - - err := providerKeeper.SetConsumerRewardsAllocationByDenom(ctx, consumerID, denom, consumerRewardsAllocation) - if err != nil { - return err - } - } - return nil -} - -// HasexpectedChainIDSanityCheck returns true if the chain with the provided `consumerID` is of a chain with the `expectedChainID` -func HasExpectedChainIDSanityCheck(ctx sdk.Context, providerKeeper providerkeeper.Keeper, consumerID string, expectedChainID string) bool { - actualChainID, err := providerKeeper.GetConsumerChainId(ctx, consumerID) - if err != nil { - return false - } - if expectedChainID != actualChainID { - return false - } - return true -} - -// AllocateNeutronAndStrideUnaccountedDenoms allocates previously unaccounted denoms to the Stride and Neutron consumer chains -func AllocateNeutronAndStrideUnaccountedDenoms(ctx sdk.Context, providerKeeper providerkeeper.Keeper, bankKeeper bankkeeper.Keeper, accountKeeper authkeeper.AccountKeeper) error { - consumerRewardsPoolAddress := accountKeeper.GetModuleAccount(ctx, providertypes.ConsumerRewardsPool).GetAddress() - - const NeutronconsumerID = "0" - const NeutronChainID = "neutron-1" - - if !HasExpectedChainIDSanityCheck(ctx, providerKeeper, NeutronconsumerID, NeutronChainID) { - return fmt.Errorf("failed sanity check: consumer id (%s) does not correspond to chain id (%s)", NeutronconsumerID, NeutronChainID) - } - - neutronUnaccountedDenoms := []string{NeutronUusdc, NeutronUtia} - err := AllocateRewards(ctx, providerKeeper, bankKeeper, consumerRewardsPoolAddress, NeutronconsumerID, neutronUnaccountedDenoms) - if err != nil { - return fmt.Errorf("cannot allocate rewards for consumer id (%s): %w", NeutronconsumerID, err) - } - - const StrideconsumerID = "1" - const StrideChainID = "stride-1" - - if !HasExpectedChainIDSanityCheck(ctx, providerKeeper, StrideconsumerID, StrideChainID) { - return fmt.Errorf("failed sanity check: consumer id (%s) does not correspond to chain id (%s)", StrideconsumerID, StrideChainID) - } - - strideUnaccountedDenoms := []string{StrideStutia, StrideStadym, StrideStaISLM, StrideStuband, StrideStadydx, StrideStusaga} - err = AllocateRewards(ctx, providerKeeper, bankKeeper, consumerRewardsPoolAddress, StrideconsumerID, strideUnaccountedDenoms) - if err != nil { - return fmt.Errorf("cannot allocate rewards for consumer id (%s): %w", StrideconsumerID, err) - } - - return nil -} - -// setting the default constitution for the chain -// this is in line with cosmos-sdk v5 gov migration: https://github.com/cosmos/cosmos-sdk/blob/v0.50.10/x/gov/migrations/v5/store.go#L57 -func InitializeConstitutionCollection(ctx sdk.Context, govKeeper govkeeper.Keeper) error { - return govKeeper.Constitution.Set(ctx, "This chain has no constitution.") -} - -func InitializeGovParams(ctx sdk.Context, govKeeper govkeeper.Keeper) error { - params, err := govKeeper.Params.Get(ctx) - if err != nil { - return err - } - - params.ProposalCancelRatio = govparams.DefaultProposalCancelRatio.String() - params.ProposalCancelDest = govparams.DefaultProposalCancelDestAddress - - return govKeeper.Params.Set(ctx, params) -} diff --git a/app/upgrades/v21/upgrades_test.go b/app/upgrades/v21/upgrades_test.go deleted file mode 100644 index bf7a9232c2..0000000000 --- a/app/upgrades/v21/upgrades_test.go +++ /dev/null @@ -1,82 +0,0 @@ -package v21_test - -import ( - "testing" - - "github.com/stretchr/testify/require" - - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - - govparams "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - - "github.com/cosmos/gaia/v25/app/helpers" - v21 "github.com/cosmos/gaia/v25/app/upgrades/v21" -) - -func TestHasExpectedChainIDSanityCheck(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - pk := gaiaApp.ProviderKeeper - - // no such consumer chain - consumerID := "0" - require.False(t, v21.HasExpectedChainIDSanityCheck(ctx, pk, consumerID, "chain-1")) - - // consumer chain does not have `chain-1` id - pk.SetConsumerChainId(ctx, consumerID, "chain-2") - require.False(t, v21.HasExpectedChainIDSanityCheck(ctx, pk, consumerID, "chain-1")) - - pk.SetConsumerChainId(ctx, consumerID, "chain-1") - require.True(t, v21.HasExpectedChainIDSanityCheck(ctx, pk, consumerID, "chain-1")) -} - -func TestInitializeConstitutionCollection(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - govKeeper := gaiaApp.GovKeeper - - pre, err := govKeeper.Constitution.Get(ctx) - require.NoError(t, err) - require.Equal(t, "", pre) - err = v21.InitializeConstitutionCollection(ctx, *govKeeper) - require.NoError(t, err) - post, err := govKeeper.Constitution.Get(ctx) - require.NoError(t, err) - require.Equal(t, "This chain has no constitution.", post) -} - -func TestInitializeGovParams(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{}) - - govKeeper := gaiaApp.GovKeeper - - // sets the params to "" so we can confirm that the migration - // function actually changes the parameter to 0.5 from "" - setupParams, err := govKeeper.Params.Get(ctx) - require.NoError(t, err) - setupParams.ProposalCancelRatio = "" // mainnet value - setupParams.ProposalCancelDest = "" // mainnet value - if err := govKeeper.Params.Set(ctx, setupParams); err != nil { - t.Fatalf("error setting params: %s", err) - } - - pre, err := govKeeper.Params.Get(ctx) - require.NoError(t, err) - require.Equal(t, "", pre.ProposalCancelRatio) // mainnet value - require.NotEqual(t, govparams.DefaultProposalCancelRatio.String(), pre.ProposalCancelRatio) - - err = v21.InitializeGovParams(ctx, *govKeeper) - require.NoError(t, err) - - post, err := govKeeper.Params.Get(ctx) - require.NoError(t, err) - - require.NotEqual(t, pre.ProposalCancelRatio, post.ProposalCancelRatio) - require.Equal(t, govparams.DefaultProposalCancelRatio.String(), post.ProposalCancelRatio) // confirm change to sdk default - - require.Equal(t, pre.ProposalCancelDest, post.ProposalCancelDest) // does not change (it was already default) - require.Equal(t, "", post.ProposalCancelDest) -} diff --git a/app/upgrades/v22/constants.go b/app/upgrades/v22/constants.go deleted file mode 100644 index 897d2a05e8..0000000000 --- a/app/upgrades/v22/constants.go +++ /dev/null @@ -1,15 +0,0 @@ -package v22 - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v22" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v22/upgrades.go b/app/upgrades/v22/upgrades.go deleted file mode 100644 index 29aea86bf7..0000000000 --- a/app/upgrades/v22/upgrades.go +++ /dev/null @@ -1,54 +0,0 @@ -package v22 - -import ( - "context" - - providerkeeper "github.com/cosmos/interchain-security/v7/x/ccv/provider/keeper" - providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - - errorsmod "cosmossdk.io/errors" - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -// CreateUpgradeHandler returns an upgrade handler for Gaia v22. -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - - infractionParameters, err := providertypes.DefaultConsumerInfractionParameters(ctx, keepers.SlashingKeeper) - if err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - if err := SetConsumerInfractionParams(ctx, keepers.ProviderKeeper, infractionParameters); err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - - ctx.Logger().Info("Upgrade v22 complete") - return vm, nil - } -} - -func SetConsumerInfractionParams(ctx sdk.Context, pk providerkeeper.Keeper, infractionParameters providertypes.InfractionParameters) error { - for _, consumerID := range pk.GetAllConsumerIds(ctx) { - if err := pk.SetInfractionParameters(ctx, consumerID, infractionParameters); err != nil { - return err - } - } - - return nil -} diff --git a/app/upgrades/v22/upgrades_test.go b/app/upgrades/v22/upgrades_test.go deleted file mode 100644 index ca29481264..0000000000 --- a/app/upgrades/v22/upgrades_test.go +++ /dev/null @@ -1,64 +0,0 @@ -package v22_test - -import ( - "testing" - "time" - - "github.com/stretchr/testify/require" - - testutil "github.com/cosmos/interchain-security/v7/testutil/keeper" - providertypes "github.com/cosmos/interchain-security/v7/x/ccv/provider/types" - - "cosmossdk.io/math" - - v22 "github.com/cosmos/gaia/v25/app/upgrades/v22" -) - -func TestSetDefaultConsumerInfractionParams(t *testing.T) { - t.Helper() - inMemParams := testutil.NewInMemKeeperParams(t) - pk, ctx, ctrl, _ := testutil.GetProviderKeeperAndCtx(t, inMemParams) - defer ctrl.Finish() - - // Add consumer chains - initConsumerID := pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerChainId(ctx, initConsumerID, "init-1") - pk.SetConsumerPhase(ctx, initConsumerID, providertypes.CONSUMER_PHASE_INITIALIZED) - launchedConsumerID := pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerChainId(ctx, launchedConsumerID, "launched-1") - pk.SetConsumerPhase(ctx, launchedConsumerID, providertypes.CONSUMER_PHASE_LAUNCHED) - stoppedConsumerID := pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerChainId(ctx, stoppedConsumerID, "stopped-1") - pk.SetConsumerPhase(ctx, stoppedConsumerID, providertypes.CONSUMER_PHASE_STOPPED) - - consumerIDs := pk.GetAllConsumerIds(ctx) - require.Equal(t, 3, len(consumerIDs)) - - for _, consumerID := range consumerIDs { - _, err := pk.GetInfractionParameters(ctx, consumerID) - require.Error(t, err) - } - - testParams := testInfractionParams() - err := v22.SetConsumerInfractionParams(ctx, pk, testParams) - require.NoError(t, err) - - for _, consumerID := range consumerIDs { - infractionParams, err := pk.GetInfractionParameters(ctx, consumerID) - require.NoError(t, err) - require.Equal(t, testParams, infractionParams) - } -} - -func testInfractionParams() providertypes.InfractionParameters { - return providertypes.InfractionParameters{ - DoubleSign: &providertypes.SlashJailParameters{ - JailDuration: time.Duration(1<<63 - 1), // the largest value a time.Duration can hold 9223372036854775807 (approximately 292 years) - SlashFraction: math.LegacyNewDecWithPrec(5, 2), // 0.05 - }, - Downtime: &providertypes.SlashJailParameters{ - JailDuration: 600 * time.Second, - SlashFraction: math.LegacyNewDec(0), // no slashing for downtime on the consumer - }, - } -} diff --git a/app/upgrades/v22_2_0/constants.go b/app/upgrades/v22_2_0/constants.go deleted file mode 100644 index fc4cf43efd..0000000000 --- a/app/upgrades/v22_2_0/constants.go +++ /dev/null @@ -1,15 +0,0 @@ -package v22_2_0 //nolint:revive - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v22.2.0" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v22_2_0/upgrades.go b/app/upgrades/v22_2_0/upgrades.go deleted file mode 100644 index c4de3abf38..0000000000 --- a/app/upgrades/v22_2_0/upgrades.go +++ /dev/null @@ -1,31 +0,0 @@ -package v22_2_0 //nolint:revive - -import ( - "context" - - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, err - } - - ctx.Logger().Info("Upgrade v22.2.0 complete") - return vm, nil - } -} diff --git a/app/upgrades/v23/constants.go b/app/upgrades/v23/constants.go deleted file mode 100644 index 9bb9184380..0000000000 --- a/app/upgrades/v23/constants.go +++ /dev/null @@ -1,43 +0,0 @@ -package v23 - -import ( - ibcwasmtypes "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10/types" - - "cosmossdk.io/store/types" - - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v23" - // RCUpgradeName defines the on-chain upgrade name specifically for the testnet RC upgrade. - RCUpgradeName = "23.0.0-rc3" - IbcFeeStoreKey = "feeibc" - ClientUploaderAddress = "cosmos1raa4kyx5ypz75qqk3566c6slx2mw3qzs5ps5du" - IBCWasmStoreCodeTypeURL = "/ibc.lightclients.wasm.v1.MsgStoreCode" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, - StoreUpgrades: types.StoreUpgrades{ - Added: []string{ - ibcwasmtypes.StoreKey, - }, - Renamed: nil, - Deleted: []string{ - IbcFeeStoreKey, - }, - }, -} - -var RCUpgrade = upgrades.Upgrade{ - UpgradeName: RCUpgradeName, - CreateUpgradeHandler: CreateRCUpgradeHandler, - StoreUpgrades: types.StoreUpgrades{ - Added: nil, - Renamed: nil, - Deleted: nil, - }, -} diff --git a/app/upgrades/v23/upgrades.go b/app/upgrades/v23/upgrades.go deleted file mode 100644 index c0987b99d1..0000000000 --- a/app/upgrades/v23/upgrades.go +++ /dev/null @@ -1,97 +0,0 @@ -package v23 - -import ( - "context" - - ibcwasmtypes "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10/types" - ibctmtypes "github.com/cosmos/ibc-go/v10/modules/light-clients/07-tendermint" - - errorsmod "cosmossdk.io/errors" - upgradetypes "cosmossdk.io/x/upgrade/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/cosmos-sdk/x/authz" - authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" - govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" - - "github.com/cosmos/gaia/v25/app/keepers" -) - -// CreateRCUpgradeHandler returns an upgrade handler for Gaia v23.0.0-rc3. -// This should only be executed on networks which have already run a previous v23 upgrade handler. -func CreateRCUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting custom migration...") - - if err := AuthzGrantWasmLightClient(c, keepers.AuthzKeeper, *keepers.GovKeeper); err != nil { - ctx.Logger().Error("Error running authz grant for ibc wasm client", "message", err.Error()) - return vm, err - } - - ctx.Logger().Info("Upgrade v23.0.0-rc3 complete") - return vm, nil - } -} - -// CreateUpgradeHandler returns an upgrade handler for Gaia v23. -func CreateUpgradeHandler( - mm *module.Manager, - configurator module.Configurator, - keepers *keepers.AppKeepers, -) upgradetypes.UpgradeHandler { - return func(c context.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { - ctx := sdk.UnwrapSDKContext(c) - ctx.Logger().Info("Starting module migrations...") - - vm, err := mm.RunMigrations(ctx, configurator, vm) - if err != nil { - return vm, errorsmod.Wrapf(err, "running module migrations") - } - - // Set IBC Client AllowedClients - ctx.Logger().Info("Setting IBC Client AllowedClients") - params := keepers.IBCKeeper.ClientKeeper.GetParams(ctx) - params.AllowedClients = []string{ibctmtypes.ModuleName, ibcwasmtypes.ModuleName} - keepers.IBCKeeper.ClientKeeper.SetParams(ctx, params) - - ctx.Logger().Info("Running authz ibc wasm client grant") - if err := AuthzGrantWasmLightClient(ctx, keepers.AuthzKeeper, *keepers.GovKeeper); err != nil { - ctx.Logger().Error("Error running authz grant for ibc wasm client", "message", err.Error()) - return nil, err - } - - ctx.Logger().Info("Upgrade v23 complete") - return vm, nil - } -} - -func AuthzGrantWasmLightClient(ctx context.Context, authzKeeper authzkeeper.Keeper, govKeeper govkeeper.Keeper) error { - sdkCtx := sdk.UnwrapSDKContext(ctx) - grant, err := authz.NewGrant( - sdkCtx.BlockTime(), - authz.NewGenericAuthorization(IBCWasmStoreCodeTypeURL), - nil, - ) - if err != nil { - return err - } - sdkCtx.Logger().Info("Granting IBC Wasm Store Code", "granter", govKeeper.GetAuthority(), "grantee", ClientUploaderAddress) - resp, err := authzKeeper.Grant(ctx, &authz.MsgGrant{ - Granter: govKeeper.GetAuthority(), - Grantee: ClientUploaderAddress, - Grant: grant, - }) - if err != nil { - return err - } - if resp != nil { - sdkCtx.Logger().Info("Authz Keeper Grant", "response", resp.String()) - } - return nil -} diff --git a/app/upgrades/v23/upgrades_test.go b/app/upgrades/v23/upgrades_test.go deleted file mode 100644 index b5600a324b..0000000000 --- a/app/upgrades/v23/upgrades_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package v23_test - -import ( - "testing" - "time" - - "github.com/stretchr/testify/require" - - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - - sdk "github.com/cosmos/cosmos-sdk/types" - - "github.com/cosmos/gaia/v25/app/helpers" - v23 "github.com/cosmos/gaia/v25/app/upgrades/v23" -) - -func TestGrantIBCWasmAuth(t *testing.T) { - gaiaApp := helpers.Setup(t) - ctx := gaiaApp.NewUncachedContext(true, tmproto.Header{ - Time: time.Unix(1740829624, 0), - }) - - err := v23.AuthzGrantWasmLightClient(ctx, gaiaApp.AuthzKeeper, *gaiaApp.GovKeeper) - require.NoError(t, err) - - granteeAddr, err := sdk.AccAddressFromBech32(v23.ClientUploaderAddress) - require.NoError(t, err) - granterAddr, err := sdk.AccAddressFromBech32(gaiaApp.GovKeeper.GetAuthority()) - require.NoError(t, err) - - auth, _ := gaiaApp.AuthzKeeper.GetAuthorization( - ctx, granteeAddr, - granterAddr, - v23.IBCWasmStoreCodeTypeURL) - require.NotNil(t, auth) -} diff --git a/app/upgrades/v23_2_0/constants.go b/app/upgrades/v23_2_0/constants.go deleted file mode 100644 index 946f722bd6..0000000000 --- a/app/upgrades/v23_2_0/constants.go +++ /dev/null @@ -1,19 +0,0 @@ -package v23_2_0 //nolint:revive - -import ( - "github.com/cosmos/gaia/v25/app/upgrades" -) - -const ( - // UpgradeName defines the on-chain upgrade name. - UpgradeName = "v23.2.0" - HexChecksum = "b92e9904aab2292916507f0db04b7ab6d024c2fdb57a9d52e6725f69b2e684c1" - MigrateMsgBase64 = "eyJtaWdyYXRpb24iOnsidXBkYXRlX2ZvcmtfcGFyYW1ldGVycyI6eyJnZW5lc2lzX2ZvcmtfdmVyc2lvbiI6IjB4MDAwMDAwMDAiLCJnZW5lc2lzX3Nsb3QiOjAsImFsdGFpciI6eyJ2ZXJzaW9uIjoiMHgwMTAwMDAwMCIsImVwb2NoIjo3NDI0MH0sImJlbGxhdHJpeCI6eyJ2ZXJzaW9uIjoiMHgwMjAwMDAwMCIsImVwb2NoIjoxNDQ4OTZ9LCJjYXBlbGxhIjp7InZlcnNpb24iOiIweDAzMDAwMDAwIiwiZXBvY2giOjE5NDA0OH0sImRlbmViIjp7InZlcnNpb24iOiIweDA0MDAwMDAwIiwiZXBvY2giOjI2OTU2OH0sImVsZWN0cmEiOnsidmVyc2lvbiI6IjB4MDUwMDAwMDAiLCJlcG9jaCI6MzY0MDMyfX19fQ" - SignerAccount = "cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn" - ClientID = "08-wasm-1369" -) - -var Upgrade = upgrades.Upgrade{ - UpgradeName: UpgradeName, - CreateUpgradeHandler: CreateUpgradeHandler, -} diff --git a/app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.1.0.wasm.gz b/app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.1.0.wasm.gz deleted file mode 100644 index 9ce3d940ce29443cc3f28d293c1b70aa42ee9b47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229151 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 M4>-;dp-Nf_0K^j9NdN!< diff --git a/app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.2.0.wasm.gz b/app/upgrades/v23_2_0/cw_ics08_wasm_eth-1.2.0.wasm.gz deleted file mode 100644 index 2ea77ae1c78b3beda34dbb6ec3a9b592a6017644..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232828 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 sAGjYU8hf^q9!Y6;Y| github.com/informalsystems/cosmos-sdk/api v0.7.5-lsm - // Use cosmos keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - // Use special SDK v0.50.x release with support for both ICS and LSM - github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.50.11-lsm.0.20250523173923-11578258172e - // TODO: remove it: https://github.com/cosmos/cosmos-sdk/issues/13134 github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt/v4 v4.4.2 diff --git a/go.sum b/go.sum index d61e192fd9..b1237fdb7a 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,13 @@ cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= @@ -19,6 +21,7 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= @@ -30,32 +33,100 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= 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.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= 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/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= 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/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs= cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= +cloud.google.com/go/auth v0.15.0 h1:Ly0u4aA5vG/fsSsxu98qCQBemXtAtJf+95z9HK+cxps= +cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8= cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= +cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= +cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= 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/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -63,13 +134,45 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -77,143 +180,469 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= 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 v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA= cloud.google.com/go/iam v1.2.2/go.mod h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= 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/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/logging v1.12.0 h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk= cloud.google.com/go/logging v1.12.0/go.mod h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/longrunning v0.6.2 h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc= cloud.google.com/go/longrunning v0.6.2/go.mod h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/monitoring v1.21.2 h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU= cloud.google.com/go/monitoring v1.21.2/go.mod h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= 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.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= cloud.google.com/go/storage v1.49.0 h1:zenOPBOWHCnojRd9aJZAyQXBYqkJkdQS42dxL55CIMw= cloud.google.com/go/storage v1.49.0/go.mod h1:k1eHhhpLvrPjVGfo0mOUPEJ4Y2+a/Hv5PiwehZI9qGU= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= 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/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= cloud.google.com/go/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI= cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +cosmossdk.io/api v0.9.2/go.mod h1:CWt31nVohvoPMTlPv+mMNCtC0a7BqRdESjCsstHcTkU= cosmossdk.io/client/v2 v2.0.0-beta.7 h1:O0PfZL5kC3Sp54wZASLNihQ612Gd6duMp11aM9wawNg= cosmossdk.io/client/v2 v2.0.0-beta.7/go.mod h1:TzwwrzeK+AfSVSESVEIOYO/9xuCh1fPv0HgeocmfVnM= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/collections v1.2.1/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= +cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= +cosmossdk.io/depinject v1.2.0/go.mod h1:pvitjtUxZZZTQESKNS9KhGjWVslJZxtO9VooRJYyPjk= cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= cosmossdk.io/log v1.5.1 h1:wLwiYXmfrort/O+j6EkjF+HvbdrRQd+4cYCPKFSm+zM= cosmossdk.io/log v1.5.1/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/log v1.6.0/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= cosmossdk.io/math v1.5.1 h1:c6zo52nBRlqOeSIIQrn/zbxwcNwhaLjTMRn6e4vD7uc= cosmossdk.io/math v1.5.1/go.mod h1:ToembcWID/wR94cucsMD+2gq6xrlBBOfWcGwC7ZdwZA= +cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= cosmossdk.io/simapp v0.0.0-20240118210941-3897926e722e h1:prrEM8wTWf6Rv0XchutuUtWfWlQHG4G3OylkTYgPlNk= cosmossdk.io/simapp v0.0.0-20240118210941-3897926e722e/go.mod h1:MoWto/xnPVt23TgkMEp5Rssw9Z7sV7VUQb8j5/y+fXY= cosmossdk.io/store v1.1.2 h1:3HOZG8+CuThREKv6cn3WSohAc6yccxO3hLzwK6rBC7o= @@ -224,22 +653,35 @@ cosmossdk.io/tools/rosetta v0.2.1-0.20230613133644-0a778132a60f h1:p/pez1Q7Xwh9A cosmossdk.io/tools/rosetta v0.2.1-0.20230613133644-0a778132a60f/go.mod h1:kzkqn95F9UonJTmjS+aydreXxsWiaGKe/b4HxHZvwHM= cosmossdk.io/x/circuit v0.1.1 h1:KPJCnLChWrxD4jLwUiuQaf5mFD/1m7Omyo7oooefBVQ= cosmossdk.io/x/circuit v0.1.1/go.mod h1:B6f/urRuQH8gjt4eLIXfZJucrbreuYrKh5CSjaOxr+Q= +cosmossdk.io/x/circuit v0.2.0-rc.2 h1:48L/6cH810PJT6j1hV2KfutZtNWJuYpxE30M+ciH7K8= +cosmossdk.io/x/circuit v0.2.0-rc.2/go.mod h1:nzIRWtDL3bz9ZBJ2dN1qLxAw38CT8bk0oIoCTzbhX7w= cosmossdk.io/x/evidence v0.1.1 h1:Ks+BLTa3uftFpElLTDp9L76t2b58htjVbSZ86aoK/E4= cosmossdk.io/x/evidence v0.1.1/go.mod h1:OoDsWlbtuyqS70LY51aX8FBTvguQqvFrt78qL7UzeNc= +cosmossdk.io/x/evidence v0.2.0-rc.2 h1:cLTCebjHTye/QoehLM8WJG4xZTFE6ET0WRY108aF/Yk= +cosmossdk.io/x/evidence v0.2.0-rc.2/go.mod h1:FH9n6k1oCDoVk4hSd1JOiVpKO3HrFsBAL6kzfrVqagc= cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= +cosmossdk.io/x/feegrant v0.2.0-rc.2 h1:yA7a+wF0ax0p5d0L19KYAwaLBLawtc5woZgF0R2zzcA= +cosmossdk.io/x/feegrant v0.2.0-rc.2/go.mod h1:Z1daRnKKiqdJqwc5+Iq8jrI2tJn2c0IKT3PwPmGpPdY= cosmossdk.io/x/nft v0.1.1 h1:pslAVS8P5NkW080+LWOamInjDcq+v2GSCo+BjN9sxZ8= cosmossdk.io/x/nft v0.1.1/go.mod h1:Kac6F6y2gsKvoxU+fy8uvxRTi4BIhLOor2zgCNQwVgY= +cosmossdk.io/x/nft v0.2.0-rc.2 h1:YrxiSienta4SLQOq8TBj1o8nvUDsZAfO2ZLMjLnVIgg= +cosmossdk.io/x/nft v0.2.0-rc.2/go.mod h1:8bASPHFv8KOpu3pCUriZZD2LYfEcelzJGeI9mnjNS8c= cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v0.14.0/go.mod h1:Tn30rSRA1PRfdGB3Yz55W4Sn6EIutr9xtMKSHij+9PM= cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= +cosmossdk.io/x/upgrade v0.2.0-rc.2 h1:JYxl0qAEaIPG/bYfuNkJVd9blAgr2fPaCxquf1S6AXI= +cosmossdk.io/x/upgrade v0.2.0-rc.2/go.mod h1:Rq6Rl6Z9m4SNbnMutNZs+p/n9SF6Ku1FwTrnoWMHxM8= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= @@ -264,14 +706,17 @@ github.com/DataDog/datadog-go v4.8.3+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY= github.com/DataDog/zstd v1.5.6/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DataDog/zstd v1.5.7/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= @@ -289,7 +734,10 @@ github.com/adlio/schema v1.3.6 h1:k1/zc2jNfeiZBA5aFTRy37jlBIuCkXCm0XmvpzCKI9I= github.com/adlio/schema v1.3.6/go.mod h1:qkxwLgPBd1FgLRHYVCmQT/rrBr3JH38J9LjmVzWNudg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -297,10 +745,14 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= 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/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= 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= @@ -336,8 +788,11 @@ github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE5 github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.17.0 h1:1X2TS7aHz1ELcC0yU1y2stUs/0ig5oMU6STFZGrhvHI= github.com/bits-and-blooms/bitset v1.17.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= @@ -367,6 +822,7 @@ github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g1 github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bytedance/sonic v1.13.1 h1:Jyd5CIvdFnkOWuKXr+wm4Nyk2h0yAFsr8ucJgEasO3g= github.com/bytedance/sonic v1.13.1/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= +github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= @@ -378,9 +834,12 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq 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/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= 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.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= @@ -407,13 +866,18 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySeApCX4GeOjPl9qhRF3QuIZq+Q= github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= @@ -423,22 +887,27 @@ github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaY github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= 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/errors v1.12.0/go.mod h1:SvzfYNNBshAVbZ8wzNc/UPK3w1vf0dKDUP41ucAIf7g= github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 h1:pU88SPhIFid6/k0egdR5V6eALQYq2qbSmukrkgIh/0A= github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILMqgNeV5jiqR4j+sTuvQNHdf2chuKj1M5k= github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo= github.com/cockroachdb/pebble v1.1.4 h1:5II1uEP4MyHLDnsrbv/EZ36arcb9Mxg3n+owhZ3GrG8= github.com/cockroachdb/pebble v1.1.4/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= +github.com/cockroachdb/pebble v1.1.5/go.mod h1:17wO9el1YEigxkP/YtV8NtCivQDgoCyBg5c4VR/eOWo= 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/redact v1.1.6/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/cockroachdb/tokenbucket v0.0.0-20250429170803-42689b6311bb/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= github.com/cometbft/cometbft v0.38.17 h1:FkrQNbAjiFqXydeAO81FUzriL4Bz0abYxN/eOHrQGOk= github.com/cometbft/cometbft v0.38.17/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= +github.com/cometbft/cometbft v1.0.1/go.mod h1:r9fEwrbU6Oxs11I2bLsfAiG37OMn0Vip0w9arYU0Nw0= github.com/cometbft/cometbft-db v1.0.4 h1:cezb8yx/ZWcF124wqUtAFjAuDksS1y1yXedvtprUFxs= github.com/cometbft/cometbft-db v1.0.4/go.mod h1:M+BtHAGU2XLrpUxo3Nn1nOCcnVCiLM9yx5OuT0u5SCA= github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= @@ -461,10 +930,12 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNCM= github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= +github.com/cosmos/cosmos-db v1.1.2/go.mod h1:dMg2gav979Ig2N076POEw4CEKbCsieaOfDWSfFZxs8M= 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.11-lsm.0.20250523173923-11578258172e h1:dGh+sk2XJuajAu7JF4tdReISEhAxWXsn9KD+GZmT8p0= github.com/cosmos/cosmos-sdk v0.50.11-lsm.0.20250523173923-11578258172e/go.mod h1:NflT1/PkUKwiAI2H6pZbn5I3bVYcY05qzk64XgZwkmw= +github.com/cosmos/cosmos-sdk v0.53.1/go.mod h1:nNPWS5QOmf1fui8VHoYamQPoBvuV6uY2sY6VwM4jav8= 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= @@ -474,6 +945,7 @@ github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fr github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= github.com/cosmos/iavl v1.2.4 h1:IHUrG8dkyueKEY72y92jajrizbkZKPZbMmG14QzsEkw= github.com/cosmos/iavl v1.2.4/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= +github.com/cosmos/iavl v1.2.6/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v10 v10.1.0 h1:epKcbFAeWRRw1i1jZnYzLIEm9sgUPaL1RftuRjjUKGw= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v10 v10.1.0/go.mod h1:S4ZQwf5/LhpOi8JXSAese/6QQDk87nTdicJPlZ5q9UQ= github.com/cosmos/ibc-apps/modules/rate-limiting/v10 v10.1.0 h1:Wpa3gDW2tNxxdcUzVL6u34ltPF4tI3SnFP1IIOnlROw= @@ -531,6 +1003,7 @@ github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPc github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= @@ -563,6 +1036,7 @@ github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -578,6 +1052,7 @@ github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7j github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A= github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +github.com/emicklei/dot v1.8.0/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -588,6 +1063,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/go-control-plane v0.13.4 h1:zEqyPVyku6IvWCFwux4x9RxkLOMUL+1vC9xUFv5l2/M= github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= github.com/envoyproxy/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= @@ -595,6 +1072,9 @@ github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1 github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an9lx6VBE2cnb8wp1vEGNYGI= github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/ethereum/c-kzg-4844 v1.0.0 h1:0X1LBXxaEtYD9xsyj9B9ctQEZIpnvVDeoBx8aHEwTNA= @@ -608,10 +1088,12 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= @@ -622,11 +1104,13 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getsentry/sentry-go v0.31.1 h1:ELVc0h7gwyhnXHDouXkhqTFSO5oslsRDk0++eyE0KJ4= github.com/getsentry/sentry-go v0.31.1/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= +github.com/getsentry/sentry-go v0.33.0/go.mod h1:C55omcY9ChRQIUcVcGcs+Zdy4ZpQGvNJ7JYHIoSWOtE= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= @@ -635,6 +1119,11 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1T github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= 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-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -646,6 +1135,8 @@ github.com/go-kit/kit v0.13.0/go.mod h1:phqEHMMUbyrCFCTgH48JueqrM3md2HcAZ8N3XE4F 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= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= @@ -659,6 +1150,8 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= @@ -675,6 +1168,7 @@ github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22 github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +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= @@ -694,6 +1188,8 @@ github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= 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= @@ -729,6 +1225,7 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3/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.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -736,12 +1233,14 @@ github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e h1:4bw4WeyTYPp0smaXiJZCNnLrvVBqirQVreixayXezGc= github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/flatbuffers v25.1.24+incompatible h1:4wPqL3K7GzBd1CwyhSd3usxLKOaJN/AC6puCca6Jm7o= github.com/google/flatbuffers v25.1.24+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -759,6 +1258,7 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= @@ -771,6 +1271,7 @@ 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/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= @@ -784,6 +1285,7 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -792,6 +1294,8 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -804,8 +1308,11 @@ github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -815,9 +1322,12 @@ 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.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q= github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= @@ -841,6 +1351,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -854,6 +1366,7 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.5 h1:dT58k9hQ/vbxNMwoI5+xFYAJuv6152UNvdHokfI5wE4= github.com/hashicorp/go-getter v1.7.5/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.8/go.mod h1:2c6CboOEb9jG6YvmC9xdD+tyAFsrUaJPedwXDGr0TM4= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -875,6 +1388,7 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= @@ -894,6 +1408,7 @@ github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2p github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/hdevalence/ed25519consensus v0.2.0 h1:37ICyZqdyj0lAZ8P4D1d1id3HqbbG1N3iBb1Tb4rdcU= github.com/hdevalence/ed25519consensus v0.2.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/herumi/bls-eth-go-binary v1.31.0 h1:9eeW3EA4epCb7FIHt2luENpAW69MvKGL5jieHlBiP+w= @@ -907,6 +1422,7 @@ github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3 github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= @@ -914,6 +1430,7 @@ github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJn+Ichc= github.com/iancoleman/orderedmap v0.3.0/go.mod h1:XuLcCUkdL5owUCQeF2Ue9uuw1EptkJDkXXS7VoV7XGE= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -969,21 +1486,26 @@ github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= 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/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= 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.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= @@ -993,6 +1515,7 @@ github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH6 github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -1016,7 +1539,11 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/linxGnu/grocksdb v1.9.8 h1:vOIKv9/+HKiqJAElJIEYv3ZLcihRxyP7Suu/Mu8Dxjs= github.com/linxGnu/grocksdb v1.9.8/go.mod h1:C3CNe9UYc9hlEM2pC82AqiGS3LRW537u9LFV4wIZuHk= +github.com/linxGnu/grocksdb v1.10.1/go.mod h1:C3CNe9UYc9hlEM2pC82AqiGS3LRW537u9LFV4wIZuHk= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= 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= @@ -1050,10 +1577,13 @@ github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/minio/highwayhash v1.0.3 h1:kbnuUMoHYyVl7szWjSxJnxw11k2U709jqFPPmIUyD6Q= github.com/minio/highwayhash v1.0.3/go.mod h1:GGYsuwP/fPD6Y9hMiXuapVvlIUEhFhMTh0rxU3ik1LQ= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= @@ -1134,6 +1664,7 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -1166,14 +1697,19 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 h1:Dx7Ovyv/SFnMFw3fD4oEoeorXc6saIiQ23LrGLth0Gw= github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= 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/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= 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= @@ -1182,6 +1718,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= @@ -1198,14 +1736,17 @@ github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA= github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= 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/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -1217,6 +1758,7 @@ github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16 github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= 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= @@ -1226,6 +1768,7 @@ github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= 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/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prysmaticlabs/fastssz v0.0.0-20241008181541-518c4ce73516 h1:xuVAdtz5ShYblG2sPyb4gw01DF8InbOI/kBCQjk7NiM= github.com/prysmaticlabs/fastssz v0.0.0-20241008181541-518c4ce73516/go.mod h1:h2OlIZD/M6wFvV3YMZbW16lFgh3Rsye00G44J2cwLyU= @@ -1240,6 +1783,7 @@ github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Ung 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= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -1261,6 +1805,8 @@ github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3V github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= @@ -1286,6 +1832,8 @@ github.com/skip-mev/chaintestutil v0.0.0-20240514161515-056d7ba45610 h1:4JlsiRVt github.com/skip-mev/chaintestutil v0.0.0-20240514161515-056d7ba45610/go.mod h1:kB8gFZX07CyJnw8q9iEZijI3qJTIe1K/Y++P5VGkrcg= github.com/skip-mev/feemarket v1.1.1 h1:L34K7N2J6o635kzNYRAvQ93+hAFtSiJ2t03jmaNx0zw= github.com/skip-mev/feemarket v1.1.1/go.mod h1:DUa6djUsTeMOrbrcIZqWSVxU9IZNCXp96ruaojyBNpc= +github.com/skip-mev/feemarket v1.1.2-0.20250423211022-1831f9c724d1 h1:DL5oQfNwmV3RehJd3qHmQf/W1AksXMAjlbUMpIqCmx0= +github.com/skip-mev/feemarket v1.1.2-0.20250423211022-1831f9c724d1/go.mod h1:42lrkZu8h8hBcmoejd96YGTehzCB2Bdpcih+4WrqNeo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -1295,11 +1843,15 @@ github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIK github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= 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.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.8.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.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= @@ -1313,6 +1865,7 @@ github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.20.0 h1:zrxIyR3RQIOsarIrgL8+sAvALXul9jeEPa06Y0Ph6vY= github.com/spf13/viper v1.20.0/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1334,6 +1887,7 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -1400,7 +1954,10 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= @@ -1426,8 +1983,12 @@ go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//sn go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= @@ -1441,6 +2002,8 @@ go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6Yv go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= 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= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1462,6 +2025,7 @@ 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/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= +golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= 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= @@ -1471,6 +2035,7 @@ golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8U 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= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1480,10 +2045,17 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1491,6 +2063,7 @@ golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL 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= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -1498,11 +2071,23 @@ 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-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= 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/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1526,7 +2111,15 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1572,6 +2165,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -1580,6 +2174,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1591,10 +2186,24 @@ golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/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.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -1618,10 +2227,16 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/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.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= 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= @@ -1635,9 +2250,16 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1698,6 +2320,8 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1706,6 +2330,7 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1719,6 +2344,7 @@ golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBc 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= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1741,18 +2367,42 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= 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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= 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= @@ -1762,17 +2412,33 @@ golang.org/x/text v0.3.4/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.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= 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= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= +golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1793,6 +2459,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1827,19 +2494,28 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= 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= @@ -1851,9 +2527,14 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNq gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1902,9 +2583,20 @@ google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaE google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= 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.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0= google.golang.org/api v0.215.0/go.mod h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY= +google.golang.org/api v0.223.0 h1:JUTaWEriXmEy5AhvdMgksGGPEFsYfUKaPEYXd4c3Wvc= +google.golang.org/api v0.223.0/go.mod h1:C+RS7Z+dDwds2b+zoAk5hN/eSfsiCn0UDrYof/M4d2M= 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= @@ -1953,8 +2645,10 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1988,6 +2682,7 @@ google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= @@ -2020,13 +2715,44 @@ google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53B google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= 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-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= +google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= 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= @@ -2059,6 +2785,7 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= @@ -2068,8 +2795,14 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= 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= @@ -2086,6 +2819,9 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -2143,6 +2879,40 @@ k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= nhooyr.io/websocket v1.8.17 h1:KEVeLJkUywCKVsnLIDlD/5gtayKp8VoCkksHCGGfT9Y= nhooyr.io/websocket v1.8.17/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= From f323acb69a8d1f4e5a1d79f0b10c69bca8c3004e Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 14:08:44 -0700 Subject: [PATCH 4/9] Update upgrade test versions --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2dda61d49d..b027a3f898 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -163,10 +163,10 @@ jobs: # the old gaiad binary version is hardcoded, need to be updated each major release. - name: Install Old Gaiad run: | - curl -LO https://github.com/cosmos/gaia/releases/download/v23.2.0/gaiad-v23.2.0-linux-amd64 - chmod a+x gaiad-v23.2.0-linux-amd64 + curl -LO https://github.com/cosmos/gaia/releases/download/v24.0.0/gaiad-v24.0.0-linux-amd64 + chmod a+x gaiad-v24.0.0-linux-amd64 mkdir build - mv ./gaiad-v23.2.0-linux-amd64 ./build/gaiadold + mv ./gaiad-v20.0.0-linux-amd64 ./build/gaiadold if: env.GIT_DIFF - name: Install New Gaiad run: | From 502977d924c772d3c6f792aebdf33b944ce67b78 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 14:39:21 -0700 Subject: [PATCH 5/9] typo --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b027a3f898..7616246eaa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -166,7 +166,7 @@ jobs: curl -LO https://github.com/cosmos/gaia/releases/download/v24.0.0/gaiad-v24.0.0-linux-amd64 chmod a+x gaiad-v24.0.0-linux-amd64 mkdir build - mv ./gaiad-v20.0.0-linux-amd64 ./build/gaiadold + mv ./gaiad-v24.0.0-linux-amd64 ./build/gaiadold if: env.GIT_DIFF - name: Install New Gaiad run: | From 5b4de69fa7128222d1c29850cf9f383d775a97d4 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 21:48:56 -0700 Subject: [PATCH 6/9] Fixes --- ante/gov_vote_ante_test.go | 2 +- app/app.go | 22 +- app/export.go | 5 +- app/helpers/test_helpers.go | 6 +- app/keepers/keepers.go | 23 +- app/keepers/keys.go | 2 - app/modules.go | 7 +- app/sim_bench_test.go | 5 +- app/sim_test.go | 2 - app/upgrades/v25/constants.go | 8 +- cmd/gaiad/cmd/root.go | 2 - cmd/gaiad/cmd/testnet.go | 9 +- go.mod | 24 +- go.sum | 239 +++++++----------- tests/e2e/common/chain.go | 9 +- tests/e2e/common/validator.go | 5 +- tests/integration/interchain_security_test.go | 24 -- 17 files changed, 143 insertions(+), 251 deletions(-) diff --git a/ante/gov_vote_ante_test.go b/ante/gov_vote_ante_test.go index 97543b4a67..6879784d22 100644 --- a/ante/gov_vote_ante_test.go +++ b/ante/gov_vote_ante_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" "cosmossdk.io/math" diff --git a/app/app.go b/app/app.go index 208dd7dc2f..c42164e5e8 100644 --- a/app/app.go +++ b/app/app.go @@ -10,11 +10,11 @@ import ( "github.com/gorilla/mux" "github.com/rakyll/statik/fs" feemarketkeeper "github.com/skip-mev/feemarket/x/feemarket/keeper" - "github.com/spf13/cast" abci "github.com/cometbft/cometbft/abci/types" - tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" tmjson "github.com/cometbft/cometbft/libs/json" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/gogoproto/proto" ibcwasm "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10" @@ -60,7 +60,6 @@ import ( authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" txmodule "github.com/cosmos/cosmos-sdk/x/auth/tx/config" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/cosmos/cosmos-sdk/x/crisis" govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" @@ -99,8 +98,6 @@ type GaiaApp struct { //nolint: revive txConfig client.TxConfig interfaceRegistry types.InterfaceRegistry - invCheckPeriod uint - // the module manager mm *module.Manager ModuleBasics module.BasicManager @@ -152,10 +149,6 @@ func NewGaiaApp( std.RegisterLegacyAminoCodec(legacyAmino) std.RegisterInterfaces(interfaceRegistry) - // App Opts - skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) - invCheckPeriod := cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)) - bApp := baseapp.NewBaseApp( appName, logger, @@ -174,7 +167,6 @@ func NewGaiaApp( txConfig: txConfig, appCodec: appCodec, interfaceRegistry: interfaceRegistry, - invCheckPeriod: invCheckPeriod, } moduleAccountAddresses := app.ModuleAccountAddrs() @@ -189,7 +181,6 @@ func NewGaiaApp( app.BlockedModuleAccountAddrs(moduleAccountAddresses), skipUpgradeHeights, homePath, - invCheckPeriod, logger, appOpts, wasmOpts, @@ -206,7 +197,7 @@ func NewGaiaApp( // NOTE: Any module instantiated in the module manager that is later modified // must be passed by reference here. - app.mm = module.NewManager(appModules(app, appCodec, txConfig, skipGenesisInvariants, tmLightClientModule)...) + app.mm = module.NewManager(appModules(app, appCodec, txConfig, tmLightClientModule)...) app.ModuleBasics = newBasicManagerFromManager(app) enabledSignModes := append([]sigtypes.SignMode(nil), authtx.DefaultSignModes...) @@ -247,7 +238,6 @@ func NewGaiaApp( // Uncomment if you want to set a custom migration order here. // app.mm.SetOrderMigrations(custom order) - app.mm.RegisterInvariants(app.CrisisKeeper) app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) err = app.mm.RegisterServices(app.configurator) if err != nil { @@ -269,7 +259,7 @@ func NewGaiaApp( // // NOTE: this is not required apps that don't use the simulator for fuzz testing // transactions - app.sm = module.NewSimulationManager(simulationModules(app, appCodec, skipGenesisInvariants)...) + app.sm = module.NewSimulationManager(simulationModules(app, appCodec)...) app.sm.RegisterStoreDecoders() @@ -374,7 +364,7 @@ func NewGaiaApp( func (app *GaiaApp) Name() string { return app.BaseApp.Name() } // PreBlocker application updates every pre block -func (app *GaiaApp) PreBlocker(ctx sdk.Context, _ *abci.FinalizeBlockRequest) (*sdk.ResponsePreBlock, error) { +func (app *GaiaApp) PreBlocker(ctx sdk.Context, _ *abci.RequestFinalizeBlock) (*sdk.ResponsePreBlock, error) { return app.mm.PreBlock(ctx) } @@ -389,7 +379,7 @@ func (app *GaiaApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error) { } // InitChainer application update at chain initialization -func (app *GaiaApp) InitChainer(ctx sdk.Context, req *abci.InitChainRequest) (*abci.InitChainResponse, error) { +func (app *GaiaApp) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { var genesisState GenesisState if err := tmjson.Unmarshal(req.AppStateBytes, &genesisState); err != nil { panic(err) diff --git a/app/export.go b/app/export.go index 632e61de17..41d57a8bb3 100644 --- a/app/export.go +++ b/app/export.go @@ -4,7 +4,7 @@ import ( "encoding/json" "sort" - tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" storetypes "cosmossdk.io/store/types" @@ -81,9 +81,6 @@ func (app *GaiaApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs [ allowedAddrsMap[addr] = true } - /* Just to be safe, assert the invariants on current state. */ - app.CrisisKeeper.AssertInvariants(ctx) - /* Handle fee distribution state. */ // withdraw all validator commission diff --git a/app/helpers/test_helpers.go b/app/helpers/test_helpers.go index 8209cd306a..abe9192e2d 100644 --- a/app/helpers/test_helpers.go +++ b/app/helpers/test_helpers.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/require" abci "github.com/cometbft/cometbft/abci/types" - tmproto "github.com/cometbft/cometbft/api/cometbft/types/v1" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" tmtypes "github.com/cometbft/cometbft/types" dbm "github.com/cosmos/cosmos-db" @@ -105,7 +105,7 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs // init chain will set the validator set and initialize the genesis accounts _, err = gaiaApp.InitChain( - &abci.InitChainRequest{ + &abci.RequestInitChain{ Validators: []abci.ValidatorUpdate{}, ConsensusParams: DefaultConsensusParams, AppStateBytes: stateBytes, @@ -114,7 +114,7 @@ func SetupWithGenesisValSet(t *testing.T, valSet *tmtypes.ValidatorSet, genAccs require.NoError(t, err) require.NoError(t, err) - _, err = gaiaApp.FinalizeBlock(&abci.FinalizeBlockRequest{ + _, err = gaiaApp.FinalizeBlock(&abci.RequestFinalizeBlock{ Height: gaiaApp.LastBlockHeight() + 1, Hash: gaiaApp.LastCommitID().Hash, NextValidatorsHash: valSet.Hash(), diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index 0e5d34c4f5..698e011482 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -66,8 +66,6 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" consensusparamkeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper" consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types" - crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" - crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" @@ -109,9 +107,8 @@ type AppKeepers struct { DistrKeeper distrkeeper.Keeper LiquidKeeper *liquidkeeper.Keeper GovKeeper *govkeeper.Keeper - CrisisKeeper *crisiskeeper.Keeper UpgradeKeeper *upgradekeeper.Keeper - ParamsKeeper paramskeeper.Keeper + ParamsKeeper paramskeeper.Keeper //nolint:staticcheck WasmKeeper wasmkeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly IBCKeeper *ibckeeper.Keeper @@ -148,7 +145,6 @@ func NewAppKeeper( blockedAddress map[string]bool, skipUpgradeHeights map[int64]bool, homePath string, - invCheckPeriod uint, logger log.Logger, appOpts servertypes.AppOptions, wasmOpts []wasmkeeper.Option, @@ -205,16 +201,6 @@ func NewAppKeeper( logger, ) - appKeepers.CrisisKeeper = crisiskeeper.NewKeeper( - appCodec, - runtime.NewKVStoreService(appKeepers.keys[crisistypes.StoreKey]), - invCheckPeriod, - appKeepers.BankKeeper, - authtypes.FeeCollectorName, - authtypes.NewModuleAddress(govtypes.ModuleName).String(), - appKeepers.AccountKeeper.AddressCodec(), - ) - appKeepers.AuthzKeeper = authzkeeper.NewKeeper( runtime.NewKVStoreService(appKeepers.keys[authzkeeper.StoreKey]), appCodec, @@ -596,8 +582,10 @@ func (appKeepers *AppKeepers) GetSubspace(moduleName string) paramstypes.Subspac } // initParamsKeeper init params keeper and its subspaces -func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper { - paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) +func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, + tkey storetypes.StoreKey, +) paramskeeper.Keeper { //nolint:staticcheck + paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) //nolint:staticcheck // register the key tables for legacy param subspaces keyTable := ibcclienttypes.ParamKeyTable() @@ -609,7 +597,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(distrtypes.ModuleName).WithKeyTable(distrtypes.ParamKeyTable()) //nolint: staticcheck // SA1019 paramsKeeper.Subspace(slashingtypes.ModuleName).WithKeyTable(slashingtypes.ParamKeyTable()) //nolint: staticcheck // SA1019 paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govv1.ParamKeyTable()) //nolint: staticcheck // SA1019 - paramsKeeper.Subspace(crisistypes.ModuleName).WithKeyTable(crisistypes.ParamKeyTable()) //nolint: staticcheck // SA1019 paramsKeeper.Subspace(ibcexported.ModuleName).WithKeyTable(keyTable) paramsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) paramsKeeper.Subspace(icacontrollertypes.SubModuleName).WithKeyTable(icacontrollertypes.ParamKeyTable()) diff --git a/app/keepers/keys.go b/app/keepers/keys.go index ab9b0a6731..ae140a2d19 100644 --- a/app/keepers/keys.go +++ b/app/keepers/keys.go @@ -21,7 +21,6 @@ import ( authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types" - crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" @@ -41,7 +40,6 @@ func (appKeepers *AppKeepers) GenerateKeys() { authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, - crisistypes.StoreKey, minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, diff --git a/app/modules.go b/app/modules.go index 34c897cb9b..7d525982a4 100644 --- a/app/modules.go +++ b/app/modules.go @@ -38,7 +38,6 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/consensus" consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types" - "github.com/cosmos/cosmos-sdk/x/crisis" crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" distr "github.com/cosmos/cosmos-sdk/x/distribution" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -86,7 +85,6 @@ func appModules( app *GaiaApp, appCodec codec.Codec, txConfig client.TxEncodingConfig, - skipGenesisInvariants bool, tmLightClientModule tendermint.LightClientModule, ) []module.AppModule { return []module.AppModule{ @@ -99,7 +97,6 @@ func appModules( auth.NewAppModule(appCodec, app.AccountKeeper, nil, app.GetSubspace(authtypes.ModuleName)), vesting.NewAppModule(app.AccountKeeper, app.BankKeeper), bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)), - crisis.NewAppModule(app.CrisisKeeper, skipGenesisInvariants, app.GetSubspace(crisistypes.ModuleName)), gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(govtypes.ModuleName)), mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)), slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry), @@ -111,7 +108,7 @@ func appModules( authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), ibc.NewAppModule(app.IBCKeeper), ibcwasm.NewAppModule(app.WasmClientKeeper), - sdkparams.NewAppModule(app.ParamsKeeper), + sdkparams.NewAppModule(app.ParamsKeeper), //nolint:staticcheck consensus.NewAppModule(appCodec, app.ConsensusParamsKeeper), wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.MsgServiceRouter(), app.GetSubspace(wasmtypes.ModuleName)), app.TransferModule, @@ -150,7 +147,6 @@ func newBasicManagerFromManager(app *GaiaApp) module.BasicManager { func simulationModules( app *GaiaApp, appCodec codec.Codec, - _ bool, ) []module.AppModuleSimulation { return []module.AppModuleSimulation{ auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)), @@ -161,7 +157,6 @@ func simulationModules( staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)), distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)), slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry), - sdkparams.NewAppModule(app.ParamsKeeper), evidence.NewAppModule(app.EvidenceKeeper), authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.MsgServiceRouter(), app.GetSubspace(wasmtypes.ModuleName)), diff --git a/app/sim_bench_test.go b/app/sim_bench_test.go index 5d3211b27f..babe0d8661 100644 --- a/app/sim_bench_test.go +++ b/app/sim_bench_test.go @@ -7,7 +7,6 @@ import ( "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/server" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" simulation2 "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" @@ -25,7 +24,8 @@ func BenchmarkFullAppSimulation(b *testing.B) { config := simcli.NewConfigFromFlags() config.ChainID = AppChainID - db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "goleveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "goleveldb-app-sim", "Simulation", + simcli.FlagVerboseValue, false) if err != nil { b.Fatalf("simulation setup failed: %s", err.Error()) } @@ -40,7 +40,6 @@ func BenchmarkFullAppSimulation(b *testing.B) { }() appOptions := make(simtestutil.AppOptionsMap, 0) - appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue app := gaia.NewGaiaApp( logger, diff --git a/app/sim_test.go b/app/sim_test.go index d2778beb05..7a9d00128e 100644 --- a/app/sim_test.go +++ b/app/sim_test.go @@ -54,8 +54,6 @@ func TestAppStateDeterminism(t *testing.T) { config := sim.NewConfigFromFlags() config.InitialBlockHeight = 1 config.ExportParamsPath = "" - config.OnOperation = false - config.AllInvariants = false config.ChainID = AppChainID numSeeds := 3 diff --git a/app/upgrades/v25/constants.go b/app/upgrades/v25/constants.go index b83994a254..6a6eae4d4c 100644 --- a/app/upgrades/v25/constants.go +++ b/app/upgrades/v25/constants.go @@ -3,6 +3,8 @@ package v25 import ( storetypes "cosmossdk.io/store/types" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + "github.com/cosmos/gaia/v25/app/upgrades" ) @@ -14,5 +16,9 @@ const ( var Upgrade = upgrades.Upgrade{ UpgradeName: UpgradeName, CreateUpgradeHandler: CreateUpgradeHandler, - StoreUpgrades: storetypes.StoreUpgrades{}, + StoreUpgrades: storetypes.StoreUpgrades{ + Deleted: []string{ + crisistypes.ModuleName, + }, + }, } diff --git a/cmd/gaiad/cmd/root.go b/cmd/gaiad/cmd/root.go index 560e8b4c79..f3482775e4 100644 --- a/cmd/gaiad/cmd/root.go +++ b/cmd/gaiad/cmd/root.go @@ -49,7 +49,6 @@ import ( authtxconfig "github.com/cosmos/cosmos-sdk/x/auth/tx/config" "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/crisis" genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" @@ -234,7 +233,6 @@ func initRootCmd(rootCmd *cobra.Command, } func addModuleInitFlags(startCmd *cobra.Command) { - crisis.AddModuleInitFlags(startCmd) wasm.AddModuleInitFlags(startCmd) } diff --git a/cmd/gaiad/cmd/testnet.go b/cmd/gaiad/cmd/testnet.go index ce507b16d6..2b7f94cc33 100644 --- a/cmd/gaiad/cmd/testnet.go +++ b/cmd/gaiad/cmd/testnet.go @@ -4,6 +4,7 @@ import ( "bufio" "encoding/json" "fmt" + "math/rand" "net" "os" "path/filepath" @@ -12,7 +13,6 @@ import ( "github.com/spf13/pflag" cmtconfig "github.com/cometbft/cometbft/config" - tmrand "github.com/cometbft/cometbft/libs/rand" "github.com/cometbft/cometbft/types" tmtime "github.com/cometbft/cometbft/types/time" @@ -51,6 +51,7 @@ var ( flagAPIAddress = "api.address" flagPrintMnemonic = "print-mnemonic" unsafeStartValidatorFn UnsafeStartValidatorCmdCreator + strChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" // 62 characters ) type UnsafeStartValidatorCmdCreator func(ac appCreator) *cobra.Command @@ -219,8 +220,12 @@ func initTestnetFiles( genBalIterator banktypes.GenesisBalancesIterator, args initArgs, ) error { + chainID := []byte("chain-") + for i := 0; i < 6; i++ { + chainID = append(chainID, strChars[rand.Int()%len(strChars)]) + } if args.chainID == "" { - args.chainID = "chain-" + tmrand.Str(6) + args.chainID = string(chainID) } nodeIDs := make([]string, args.numValidators) valPubKeys := make([]cryptotypes.PubKey, args.numValidators) diff --git a/go.mod b/go.mod index e429fc7715..265cd8dc18 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ toolchain go1.24.1 require ( cosmossdk.io/api v0.9.2 cosmossdk.io/client/v2 v2.0.0-beta.7 - cosmossdk.io/core v1.0.0 + cosmossdk.io/core v0.11.3 cosmossdk.io/errors v1.0.2 cosmossdk.io/log v1.6.0 cosmossdk.io/math v1.5.3 @@ -19,20 +19,21 @@ require ( cosmossdk.io/x/feegrant v0.2.0-rc.2 cosmossdk.io/x/tx v0.14.0 cosmossdk.io/x/upgrade v0.2.0-rc.2 - github.com/CosmWasm/wasmd v0.55.0 + github.com/CosmWasm/wasmd v0.60.0 github.com/CosmWasm/wasmvm/v2 v2.2.3 - github.com/cometbft/cometbft v1.0.1 + github.com/cometbft/cometbft v0.38.17 github.com/cometbft/cometbft-db v1.0.4 - github.com/cosmos/cosmos-db v1.1.2 + github.com/cometbft/cometbft/api v1.0.0 + github.com/cosmos/cosmos-db v1.1.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.53.1 + github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v10 v10.1.0 github.com/cosmos/ibc-apps/modules/rate-limiting/v10 v10.1.0 github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10 v10.1.1 github.com/cosmos/ibc-go/v10 v10.1.1 - github.com/cosmos/interchain-security/v7 v7.0.1 + github.com/cosmos/interchain-security/v7 v7.0.0-20250408210344-06e0dc6bf6d6 github.com/golang/protobuf v1.5.4 github.com/google/gofuzz v1.2.0 github.com/gorilla/mux v1.8.1 @@ -52,6 +53,16 @@ require ( gopkg.in/yaml.v2 v2.4.0 ) +require ( + cosmossdk.io/schema v1.1.0 // indirect + github.com/go-jose/go-jose/v4 v4.0.4 // indirect + github.com/mdp/qrterminal/v3 v3.2.1 // indirect + github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect + github.com/zeebo/errs v1.4.0 // indirect + go.uber.org/mock v0.5.2 // indirect + rsc.io/qr v0.2.0 // indirect +) + require ( cel.dev/expr v0.20.0 // indirect cloud.google.com/go v0.116.0 // indirect @@ -91,7 +102,6 @@ require ( github.com/cloudwego/base64x v0.1.5 // indirect github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/cockroachdb/apd/v3 v3.2.1 // indirect github.com/cockroachdb/errors v1.12.0 // indirect github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 // indirect github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect diff --git a/go.sum b/go.sum index b1237fdb7a..d29b0a015c 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,4 @@ -cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= -cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -104,12 +103,8 @@ cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVo cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= -cloud.google.com/go/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs= -cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q= cloud.google.com/go/auth v0.15.0 h1:Ly0u4aA5vG/fsSsxu98qCQBemXtAtJf+95z9HK+cxps= cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8= -cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU= -cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8= cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M= cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= @@ -623,26 +618,24 @@ cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vf cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +cosmossdk.io/api v0.9.2 h1:9i9ptOBdmoIEVEVWLtYYHjxZonlF/aOVODLFaxpmNtg= cosmossdk.io/api v0.9.2/go.mod h1:CWt31nVohvoPMTlPv+mMNCtC0a7BqRdESjCsstHcTkU= cosmossdk.io/client/v2 v2.0.0-beta.7 h1:O0PfZL5kC3Sp54wZASLNihQ612Gd6duMp11aM9wawNg= cosmossdk.io/client/v2 v2.0.0-beta.7/go.mod h1:TzwwrzeK+AfSVSESVEIOYO/9xuCh1fPv0HgeocmfVnM= -cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= -cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/collections v1.2.1 h1:mAlNMs5vJwkda4TA+k5q/43p24RVAQ/qyDrjANu3BXE= cosmossdk.io/collections v1.2.1/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= -cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= -cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= -cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= -cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= +cosmossdk.io/core v0.11.3 h1:mei+MVDJOwIjIniaKelE3jPDqShCc/F4LkNNHh+4yfo= +cosmossdk.io/core v0.11.3/go.mod h1:9rL4RE1uDt5AJ4Tg55sYyHWXA16VmpHgbe0PbJc6N2Y= +cosmossdk.io/depinject v1.2.0 h1:6NW/FSK1IkWTrX7XxUpBmX1QMBozpEI9SsWkKTBc5zw= cosmossdk.io/depinject v1.2.0/go.mod h1:pvitjtUxZZZTQESKNS9KhGjWVslJZxtO9VooRJYyPjk= cosmossdk.io/errors v1.0.2 h1:wcYiJz08HThbWxd/L4jObeLaLySopyyuUFB5w4AGpCo= cosmossdk.io/errors v1.0.2/go.mod h1:0rjgiHkftRYPj//3DrD6y8hcm40HcPv/dR4R/4efr0k= -cosmossdk.io/log v1.5.1 h1:wLwiYXmfrort/O+j6EkjF+HvbdrRQd+4cYCPKFSm+zM= -cosmossdk.io/log v1.5.1/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= +cosmossdk.io/log v1.6.0 h1:SJIOmJ059wi1piyRgNRXKXhlDXGqnB5eQwhcZKv2tOk= cosmossdk.io/log v1.6.0/go.mod h1:5cXXBvfBkR2/BcXmosdCSLXllvgSjphrrDVdfVRmBGM= -cosmossdk.io/math v1.5.1 h1:c6zo52nBRlqOeSIIQrn/zbxwcNwhaLjTMRn6e4vD7uc= -cosmossdk.io/math v1.5.1/go.mod h1:ToembcWID/wR94cucsMD+2gq6xrlBBOfWcGwC7ZdwZA= +cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= +cosmossdk.io/schema v1.1.0 h1:mmpuz3dzouCoyjjcMcA/xHBEmMChN+EHh8EHxHRHhzE= +cosmossdk.io/schema v1.1.0/go.mod h1:Gb7pqO+tpR+jLW5qDcNOSv0KtppYs7881kfzakguhhI= cosmossdk.io/simapp v0.0.0-20240118210941-3897926e722e h1:prrEM8wTWf6Rv0XchutuUtWfWlQHG4G3OylkTYgPlNk= cosmossdk.io/simapp v0.0.0-20240118210941-3897926e722e/go.mod h1:MoWto/xnPVt23TgkMEp5Rssw9Z7sV7VUQb8j5/y+fXY= cosmossdk.io/store v1.1.2 h1:3HOZG8+CuThREKv6cn3WSohAc6yccxO3hLzwK6rBC7o= @@ -651,27 +644,16 @@ cosmossdk.io/tools/confix v0.1.2 h1:2hoM1oFCNisd0ltSAAZw2i4ponARPmlhuNu3yy0VwI4= cosmossdk.io/tools/confix v0.1.2/go.mod h1:7XfcbK9sC/KNgVGxgLM0BrFbVcR/+6Dg7MFfpx7duYo= cosmossdk.io/tools/rosetta v0.2.1-0.20230613133644-0a778132a60f h1:p/pez1Q7Xwh9AiHWMA0uHxsB+XpReABHr6xCyMWdDAg= cosmossdk.io/tools/rosetta v0.2.1-0.20230613133644-0a778132a60f/go.mod h1:kzkqn95F9UonJTmjS+aydreXxsWiaGKe/b4HxHZvwHM= -cosmossdk.io/x/circuit v0.1.1 h1:KPJCnLChWrxD4jLwUiuQaf5mFD/1m7Omyo7oooefBVQ= -cosmossdk.io/x/circuit v0.1.1/go.mod h1:B6f/urRuQH8gjt4eLIXfZJucrbreuYrKh5CSjaOxr+Q= cosmossdk.io/x/circuit v0.2.0-rc.2 h1:48L/6cH810PJT6j1hV2KfutZtNWJuYpxE30M+ciH7K8= cosmossdk.io/x/circuit v0.2.0-rc.2/go.mod h1:nzIRWtDL3bz9ZBJ2dN1qLxAw38CT8bk0oIoCTzbhX7w= -cosmossdk.io/x/evidence v0.1.1 h1:Ks+BLTa3uftFpElLTDp9L76t2b58htjVbSZ86aoK/E4= -cosmossdk.io/x/evidence v0.1.1/go.mod h1:OoDsWlbtuyqS70LY51aX8FBTvguQqvFrt78qL7UzeNc= cosmossdk.io/x/evidence v0.2.0-rc.2 h1:cLTCebjHTye/QoehLM8WJG4xZTFE6ET0WRY108aF/Yk= cosmossdk.io/x/evidence v0.2.0-rc.2/go.mod h1:FH9n6k1oCDoVk4hSd1JOiVpKO3HrFsBAL6kzfrVqagc= -cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= -cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= cosmossdk.io/x/feegrant v0.2.0-rc.2 h1:yA7a+wF0ax0p5d0L19KYAwaLBLawtc5woZgF0R2zzcA= cosmossdk.io/x/feegrant v0.2.0-rc.2/go.mod h1:Z1daRnKKiqdJqwc5+Iq8jrI2tJn2c0IKT3PwPmGpPdY= -cosmossdk.io/x/nft v0.1.1 h1:pslAVS8P5NkW080+LWOamInjDcq+v2GSCo+BjN9sxZ8= -cosmossdk.io/x/nft v0.1.1/go.mod h1:Kac6F6y2gsKvoxU+fy8uvxRTi4BIhLOor2zgCNQwVgY= cosmossdk.io/x/nft v0.2.0-rc.2 h1:YrxiSienta4SLQOq8TBj1o8nvUDsZAfO2ZLMjLnVIgg= cosmossdk.io/x/nft v0.2.0-rc.2/go.mod h1:8bASPHFv8KOpu3pCUriZZD2LYfEcelzJGeI9mnjNS8c= -cosmossdk.io/x/tx v0.13.7 h1:8WSk6B/OHJLYjiZeMKhq7DK7lHDMyK0UfDbBMxVmeOI= -cosmossdk.io/x/tx v0.13.7/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v0.14.0 h1:hB3O25kIcyDW/7kMTLMaO8Ripj3yqs5imceVd6c/heA= cosmossdk.io/x/tx v0.14.0/go.mod h1:Tn30rSRA1PRfdGB3Yz55W4Sn6EIutr9xtMKSHij+9PM= -cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= -cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= cosmossdk.io/x/upgrade v0.2.0-rc.2 h1:JYxl0qAEaIPG/bYfuNkJVd9blAgr2fPaCxquf1S6AXI= cosmossdk.io/x/upgrade v0.2.0-rc.2/go.mod h1:Rq6Rl6Z9m4SNbnMutNZs+p/n9SF6Ku1FwTrnoWMHxM8= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= @@ -695,8 +677,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c h1:pxW6RcqyfI9/kWtOwnv/G+AzdKuy2ZrqINhenH4HyNs= github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/CosmWasm/wasmd v0.55.0 h1:NJgTxvdqh4WunjQ/djL0hnnq3LUU58rW7CiUkeCBu/8= -github.com/CosmWasm/wasmd v0.55.0/go.mod h1:67K2PzoSF9+NjImaALEYMaAHd3zwaSuWLsQ7iSznUik= +github.com/CosmWasm/wasmd v0.60.0 h1:zaMX7wCnce55844BNd2om/LCWrL39zR4s8yHvNxxXig= +github.com/CosmWasm/wasmd v0.60.0/go.mod h1:3CfQjeiCkZSHfQEif8eBLI0/V/edGZfaIo5cT/auThc= github.com/CosmWasm/wasmvm/v2 v2.2.3 h1:LVaAdkCMbgfUTSFOANmp2OOU1rIgz4iylow4SFD/lqs= github.com/CosmWasm/wasmvm/v2 v2.2.3/go.mod h1:bMhLQL4Yp9CzJi9A83aR7VO9wockOsSlZbT4ztOl6bg= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= @@ -704,11 +686,9 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 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.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY= -github.com/DataDog/zstd v1.5.6/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DataDog/zstd v1.5.7 h1:ybO8RBeh29qrxIhCA9E8gKY6xfONU9T6G6aP9DTKfLE= github.com/DataDog/zstd v1.5.7/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk= @@ -786,8 +766,7 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE51E= github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.17.0 h1:1X2TS7aHz1ELcC0yU1y2stUs/0ig5oMU6STFZGrhvHI= -github.com/bits-and-blooms/bitset v1.17.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4= github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= @@ -817,11 +796,10 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= -github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= +github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= +github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/bytedance/sonic v1.13.1 h1:Jyd5CIvdFnkOWuKXr+wm4Nyk2h0yAFsr8ucJgEasO3g= -github.com/bytedance/sonic v1.13.1/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= +github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= @@ -875,31 +853,24 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySeApCX4GeOjPl9qhRF3QuIZq+Q= -github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= -github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= -github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= 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.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= -github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= +github.com/cockroachdb/errors v1.12.0 h1:d7oCs6vuIMUQRVbi6jWWWEJZahLCfJpnJSVobd1/sUo= github.com/cockroachdb/errors v1.12.0/go.mod h1:SvzfYNNBshAVbZ8wzNc/UPK3w1vf0dKDUP41ucAIf7g= github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 h1:pU88SPhIFid6/k0egdR5V6eALQYq2qbSmukrkgIh/0A= github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILMqgNeV5jiqR4j+sTuvQNHdf2chuKj1M5k= github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo= -github.com/cockroachdb/pebble v1.1.4 h1:5II1uEP4MyHLDnsrbv/EZ36arcb9Mxg3n+owhZ3GrG8= -github.com/cockroachdb/pebble v1.1.4/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= +github.com/cockroachdb/pebble v1.1.5 h1:5AAWCBWbat0uE0blr8qzufZP5tBjkRyy/jWe1QWLnvw= github.com/cockroachdb/pebble v1.1.5/go.mod h1:17wO9el1YEigxkP/YtV8NtCivQDgoCyBg5c4VR/eOWo= -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/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314= github.com/cockroachdb/redact v1.1.6/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/cockroachdb/tokenbucket v0.0.0-20250429170803-42689b6311bb h1:3bCgBvB8PbJVMX1ouCcSIxvsqKPYM7gs72o0zC76n9g= github.com/cockroachdb/tokenbucket v0.0.0-20250429170803-42689b6311bb/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= @@ -907,9 +878,10 @@ github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZ github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= github.com/cometbft/cometbft v0.38.17 h1:FkrQNbAjiFqXydeAO81FUzriL4Bz0abYxN/eOHrQGOk= github.com/cometbft/cometbft v0.38.17/go.mod h1:5l0SkgeLRXi6bBfQuevXjKqML1jjfJJlvI1Ulp02/o4= -github.com/cometbft/cometbft v1.0.1/go.mod h1:r9fEwrbU6Oxs11I2bLsfAiG37OMn0Vip0w9arYU0Nw0= github.com/cometbft/cometbft-db v1.0.4 h1:cezb8yx/ZWcF124wqUtAFjAuDksS1y1yXedvtprUFxs= github.com/cometbft/cometbft-db v1.0.4/go.mod h1:M+BtHAGU2XLrpUxo3Nn1nOCcnVCiLM9yx5OuT0u5SCA= +github.com/cometbft/cometbft/api v1.0.0 h1:gGBwvsJi/gnHJEtwYfjPIGs2AKg/Vfa1ZuKCPD1/Ko4= +github.com/cometbft/cometbft/api v1.0.0/go.mod h1:EkQiqVSu/p2ebrZEnB2z6Re7r8XNe//M7ylR0qEwWm0= github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= github.com/consensys/bavard v0.1.22 h1:Uw2CGvbXSZWhqK59X0VG/zOjpTFuOMcPLStrp1ihI0A= @@ -930,12 +902,10 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNCM= github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw= -github.com/cosmos/cosmos-db v1.1.2/go.mod h1:dMg2gav979Ig2N076POEw4CEKbCsieaOfDWSfFZxs8M= 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.11-lsm.0.20250523173923-11578258172e h1:dGh+sk2XJuajAu7JF4tdReISEhAxWXsn9KD+GZmT8p0= -github.com/cosmos/cosmos-sdk v0.50.11-lsm.0.20250523173923-11578258172e/go.mod h1:NflT1/PkUKwiAI2H6pZbn5I3bVYcY05qzk64XgZwkmw= -github.com/cosmos/cosmos-sdk v0.53.1/go.mod h1:nNPWS5QOmf1fui8VHoYamQPoBvuV6uY2sY6VwM4jav8= +github.com/cosmos/cosmos-sdk v0.53.0 h1:ZsB2tnBVudumV059oPuElcr0K1lLOutaI6WJ+osNTbI= +github.com/cosmos/cosmos-sdk v0.53.0/go.mod h1:UPcRyFwOUy2PfSFBWxBceO/HTjZOuBVqY583WyazIGs= 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= @@ -943,8 +913,7 @@ 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.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.2.4 h1:IHUrG8dkyueKEY72y92jajrizbkZKPZbMmG14QzsEkw= -github.com/cosmos/iavl v1.2.4/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= +github.com/cosmos/iavl v1.2.6 h1:Hs3LndJbkIB+rEvToKJFXZvKo6Vy0Ex1SJ54hhtioIs= github.com/cosmos/iavl v1.2.6/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v10 v10.1.0 h1:epKcbFAeWRRw1i1jZnYzLIEm9sgUPaL1RftuRjjUKGw= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v10 v10.1.0/go.mod h1:S4ZQwf5/LhpOi8JXSAese/6QQDk87nTdicJPlZ5q9UQ= @@ -958,6 +927,8 @@ github.com/cosmos/ibc-go/v10 v10.1.1 h1:Mtl0Ydr9dVdOrPqmxCAG49RmX2/VDYeKYdwv3G2y github.com/cosmos/ibc-go/v10 v10.1.1/go.mod h1:0pJCkgEYRMygqkvUcwy6Kuf5wPfIsObRoxFU2DJEil4= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= +github.com/cosmos/interchain-security/v7 v7.0.0-20250408210344-06e0dc6bf6d6 h1:SzJ/+uqrTsJmI+f/GqPdC4lGxgDQKYvtRCMXFdJljNM= +github.com/cosmos/interchain-security/v7 v7.0.0-20250408210344-06e0dc6bf6d6/go.mod h1:W7JHsNaZ5XoH88cKT+wuCRsXkx/Fcn2kEwzpeGdJBxI= github.com/cosmos/interchain-security/v7 v7.0.1 h1:jg2pMbchCBN5LRDDgd9l86fcvw1v8dezGAxazhI0gtQ= github.com/cosmos/interchain-security/v7 v7.0.1/go.mod h1:pcb0SYZVxy1LuY4UK9ceIdQ+kjnosa9tzE3tcCWdIZw= github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo= @@ -998,11 +969,10 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= -github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/crypto/blake256 v1.1.0 h1:zPMNGQCm0g4QTY27fOCorQW7EryeQ/U0x++OzVrdms8= +github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= @@ -1050,8 +1020,7 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A= -github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +github.com/emicklei/dot v1.8.0 h1:HnD60yAKFAevNeT+TPYr9pb8VB9bqdeSo0nzwIW6IOI= github.com/emicklei/dot v1.8.0/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -1086,8 +1055,7 @@ github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cn github.com/ethereum/go-verkle v0.2.2/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= -github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -1102,14 +1070,12 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk 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.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= -github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getsentry/sentry-go v0.31.1 h1:ELVc0h7gwyhnXHDouXkhqTFSO5oslsRDk0++eyE0KJ4= -github.com/getsentry/sentry-go v0.31.1/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= +github.com/getsentry/sentry-go v0.33.0 h1:YWyDii0KGVov3xOaamOnF0mjOrqSjBqwv48UEzn7QFg= github.com/getsentry/sentry-go v0.33.0/go.mod h1:C55omcY9ChRQIUcVcGcs+Zdy4ZpQGvNJ7JYHIoSWOtE= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= @@ -1127,6 +1093,8 @@ github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmn github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E= +github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc= 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= @@ -1231,8 +1199,7 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6 github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e h1:4bw4WeyTYPp0smaXiJZCNnLrvVBqirQVreixayXezGc= -github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -1292,8 +1259,6 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= -github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -1310,8 +1275,7 @@ github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= -github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= +github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4= github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -1364,8 +1328,7 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.5 h1:dT58k9hQ/vbxNMwoI5+xFYAJuv6152UNvdHokfI5wE4= -github.com/hashicorp/go-getter v1.7.5/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.8 h1:mshVHx1Fto0/MydBekWan5zUipGq7jO0novchgMmSiY= github.com/hashicorp/go-getter v1.7.8/go.mod h1:2c6CboOEb9jG6YvmC9xdD+tyAFsrUaJPedwXDGr0TM4= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= @@ -1386,9 +1349,8 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/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/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= @@ -1406,8 +1368,7 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= -github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8= github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns= github.com/hdevalence/ed25519consensus v0.2.0 h1:37ICyZqdyj0lAZ8P4D1d1id3HqbbG1N3iBb1Tb4rdcU= github.com/hdevalence/ed25519consensus v0.2.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= @@ -1420,8 +1381,7 @@ github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXei github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= -github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= -github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/huandu/skiplist v1.2.1 h1:dTi93MgjwErA/8idWTzIw4Y1kZsMWx35fmI2c8Rij7w= github.com/huandu/skiplist v1.2.1/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -1452,14 +1412,12 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= -github.com/informalsystems/cosmos-sdk/api v0.7.5-lsm h1:M0+CQZLf2yS41TiWaiKw8nF5vlPaFDmVfwfyMHViRZk= -github.com/informalsystems/cosmos-sdk/api v0.7.5-lsm/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= -github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1503,8 +1461,7 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -1537,8 +1494,7 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 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.9.8 h1:vOIKv9/+HKiqJAElJIEYv3ZLcihRxyP7Suu/Mu8Dxjs= -github.com/linxGnu/grocksdb v1.9.8/go.mod h1:C3CNe9UYc9hlEM2pC82AqiGS3LRW537u9LFV4wIZuHk= +github.com/linxGnu/grocksdb v1.10.1 h1:YX6gUcKvSC3d0s9DaqgbU+CRkZHzlELgHu1Z/kmtslg= github.com/linxGnu/grocksdb v1.10.1/go.mod h1:C3CNe9UYc9hlEM2pC82AqiGS3LRW537u9LFV4wIZuHk= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= @@ -1546,8 +1502,8 @@ github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuz github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= 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/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= +github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -1580,6 +1536,8 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mdp/qrterminal/v3 v3.2.1 h1:6+yQjiiOsSuXT5n9/m60E54vdgFsw0zhADHhHLrFet4= +github.com/mdp/qrterminal/v3 v3.2.1/go.mod h1:jOTmXvnBsMy5xqLniO0R++Jmjs2sTm9dFSuQ5kpz/SU= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= @@ -1641,8 +1599,8 @@ github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OS github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= 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= @@ -1662,9 +1620,8 @@ github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5 github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= 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.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= -github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= +github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -1695,8 +1652,7 @@ github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChl 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.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= -github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= @@ -1734,8 +1690,7 @@ github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeD github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA= -github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -1744,8 +1699,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -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/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -1756,8 +1710,7 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b 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.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= -github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/common v0.64.0 h1:pdZeA+g617P7oGv1CzdTzyeShxAGrTBsolKNOLQPGO4= github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= 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= @@ -1766,8 +1719,7 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx 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.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -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/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prysmaticlabs/fastssz v0.0.0-20241008181541-518c4ce73516 h1:xuVAdtz5ShYblG2sPyb4gw01DF8InbOI/kBCQjk7NiM= @@ -1830,8 +1782,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skip-mev/chaintestutil v0.0.0-20240514161515-056d7ba45610 h1:4JlsiRVt/YZOvrKH525T7sZXgEWUEjqSDMwE6fXNbdo= github.com/skip-mev/chaintestutil v0.0.0-20240514161515-056d7ba45610/go.mod h1:kB8gFZX07CyJnw8q9iEZijI3qJTIe1K/Y++P5VGkrcg= -github.com/skip-mev/feemarket v1.1.1 h1:L34K7N2J6o635kzNYRAvQ93+hAFtSiJ2t03jmaNx0zw= -github.com/skip-mev/feemarket v1.1.1/go.mod h1:DUa6djUsTeMOrbrcIZqWSVxU9IZNCXp96ruaojyBNpc= github.com/skip-mev/feemarket v1.1.2-0.20250423211022-1831f9c724d1 h1:DL5oQfNwmV3RehJd3qHmQf/W1AksXMAjlbUMpIqCmx0= github.com/skip-mev/feemarket v1.1.2-0.20250423211022-1831f9c724d1/go.mod h1:42lrkZu8h8hBcmoejd96YGTehzCB2Bdpcih+4WrqNeo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -1849,8 +1799,7 @@ github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcD github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk= github.com/spf13/cast v1.8.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= @@ -1863,9 +1812,10 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.20.0 h1:zrxIyR3RQIOsarIrgL8+sAvALXul9jeEPa06Y0Ph6vY= -github.com/spf13/viper v1.20.0/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= +github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1957,6 +1907,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= @@ -1981,12 +1933,8 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//snGVIM3Tx6QRzlQBao= go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= @@ -2011,8 +1959,8 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= -go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= +go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= +go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -2023,8 +1971,7 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= 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/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw= -golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= +golang.org/x/arch v0.17.0 h1:4O3dfLzd+lQewptAHqjewQZQDyEdejz3VwgeYwkZneU= golang.org/x/arch v0.17.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -2053,8 +2000,7 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2072,8 +2018,7 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH 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-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= -golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI= golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -2201,8 +2146,7 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= -golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= 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= @@ -2229,13 +2173,11 @@ 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-20221006150949-b44042a4b9c1/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.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= -golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= 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= @@ -2257,8 +2199,7 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2381,8 +2322,7 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -2400,8 +2340,7 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= 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= @@ -2423,8 +2362,7 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= 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= @@ -2435,8 +2373,6 @@ golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2513,8 +2449,7 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= -golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= 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= @@ -2593,8 +2528,6 @@ google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/ google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= -google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0= -google.golang.org/api v0.215.0/go.mod h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY= google.golang.org/api v0.223.0 h1:JUTaWEriXmEy5AhvdMgksGGPEFsYfUKaPEYXd4c3Wvc= google.golang.org/api v0.223.0/go.mod h1:C+RS7Z+dDwds2b+zoAk5hN/eSfsiCn0UDrYof/M4d2M= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -2717,7 +2650,6 @@ google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= @@ -2747,11 +2679,9 @@ google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOl google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= -google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= +google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a h1:SGktgSolFCo75dnHJF2yMvnns6jCmHFJ0vE4Vn2JKvQ= google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= 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= @@ -2800,8 +2730,7 @@ google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5v google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= -google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -2921,6 +2850,8 @@ pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= +rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU= diff --git a/tests/e2e/common/chain.go b/tests/e2e/common/chain.go index c1fbf2e7e4..6504885749 100644 --- a/tests/e2e/common/chain.go +++ b/tests/e2e/common/chain.go @@ -7,8 +7,6 @@ import ( "path/filepath" "strconv" - tmrand "github.com/cometbft/cometbft/libs/rand" - dbm "github.com/cosmos/cosmos-db" ratelimittypes "github.com/cosmos/ibc-apps/modules/rate-limiting/v10/types" wasmclienttypes "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/v10/types" @@ -41,6 +39,7 @@ import ( const ( keyringPassphrase = "testpassphrase" KeyringAppName = "testnet" + strChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ) var ( @@ -91,9 +90,13 @@ func NewChain() (*Chain, error) { if err != nil { return nil, err } + chainID := []byte("chain-") + for i := 0; i < 6; i++ { + chainID = append(chainID, strChars[rand.Int()%len(strChars)]) + } return &Chain{ - ID: "chain-" + tmrand.Str(6), + ID: string(chainID), DataDir: tmpDir, }, nil } diff --git a/tests/e2e/common/validator.go b/tests/e2e/common/validator.go index dab3bff328..32bb970662 100644 --- a/tests/e2e/common/validator.go +++ b/tests/e2e/common/validator.go @@ -9,7 +9,6 @@ import ( "path/filepath" tmcfg "github.com/cometbft/cometbft/config" - tmos "github.com/cometbft/cometbft/libs/os" "github.com/cometbft/cometbft/p2p" "github.com/cometbft/cometbft/privval" @@ -121,12 +120,12 @@ func (v *validator) createConsensusKey() error { config.Moniker = v.Moniker pvKeyFile := config.PrivValidatorKeyFile() - if err := tmos.EnsureDir(filepath.Dir(pvKeyFile), 0o777); err != nil { + if err := os.MkdirAll(filepath.Dir(pvKeyFile), 0o777); err != nil { return err } pvStateFile := config.PrivValidatorStateFile() - if err := tmos.EnsureDir(filepath.Dir(pvStateFile), 0o777); err != nil { + if err := os.MkdirAll(filepath.Dir(pvStateFile), 0o777); err != nil { return err } diff --git a/tests/integration/interchain_security_test.go b/tests/integration/interchain_security_test.go index 449722a9f7..e16027d2a8 100644 --- a/tests/integration/interchain_security_test.go +++ b/tests/integration/interchain_security_test.go @@ -14,7 +14,6 @@ import ( "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - crysistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/cosmos/gaia/v25/ante" @@ -40,29 +39,6 @@ func TestCCVTestSuite(t *testing.T) { suite.Run(t, ccvSuite) } -// TestVerifyInvariant checks the integration of the crisis module by -// sending a message to verify an invariant -func TestVerifyInvariant(t *testing.T) { - ccvSuite.SetT(t) - ccvSuite.SetupTest() - - delAddr := ccvSuite.GetProviderChain().SenderAccount.GetAddress() - msg := crysistypes.MsgVerifyInvariant{ - Sender: delAddr.String(), - InvariantModuleName: "gov", - InvariantRoute: "module-account", - } - - var err error - var resp *crysistypes.MsgVerifyInvariantResponse - provCtx := ccvSuite.GetProviderChain().GetContext() - require.NotPanics(t, func() { - resp, err = app.CrisisKeeper.VerifyInvariant(provCtx, &msg) - }) - require.NoError(t, err, "verify invariant returned an error") - require.NotNil(t, resp, "verify invariant returned an invalid response") -} - func TestICSEpochs(t *testing.T) { // a bit hacky but cannot be called // in SetupTest() since it requires `t` From 59b5f98e4a1ed0329fd26b68ddc115b6d06d28e1 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Mon, 2 Jun 2025 22:20:58 -0700 Subject: [PATCH 7/9] Fix test failures --- Makefile | 2 +- app/sim_test.go | 2 ++ contrib/scripts/upgrade_test_scripts/run_gaia.sh | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e12caa5086..4e02747a40 100644 --- a/Makefile +++ b/Makefile @@ -356,7 +356,7 @@ start-localnet-ci: build ./build/gaiad genesis gentx val 1000000000stake --home ~/.gaiad-liveness --chain-id liveness --keyring-backend test ./build/gaiad genesis collect-gentxs --home ~/.gaiad-liveness sed -i.bak'' 's/minimum-gas-prices = ""/minimum-gas-prices = "0uatom"/' ~/.gaiad-liveness/config/app.toml - ./build/gaiad start --home ~/.gaiad-liveness --x-crisis-skip-assert-invariants + ./build/gaiad start --home ~/.gaiad-liveness .PHONY: start-localnet-ci diff --git a/app/sim_test.go b/app/sim_test.go index 7a9d00128e..5997815dfb 100644 --- a/app/sim_test.go +++ b/app/sim_test.go @@ -54,6 +54,8 @@ func TestAppStateDeterminism(t *testing.T) { config := sim.NewConfigFromFlags() config.InitialBlockHeight = 1 config.ExportParamsPath = "" + config.OnOperation = false //nolint:staticcheck + config.AllInvariants = false //nolint:staticcheck config.ChainID = AppChainID numSeeds := 3 diff --git a/contrib/scripts/upgrade_test_scripts/run_gaia.sh b/contrib/scripts/upgrade_test_scripts/run_gaia.sh index 14e32a6b3f..2eb013033c 100755 --- a/contrib/scripts/upgrade_test_scripts/run_gaia.sh +++ b/contrib/scripts/upgrade_test_scripts/run_gaia.sh @@ -109,4 +109,4 @@ enable = true/g' $NODE_HOME/config/app.toml pwd ls $NODE_HOME -$COSMOVISOR run start --home $NODE_HOME --x-crisis-skip-assert-invariants >log.out 2>&1 & +$COSMOVISOR run start --home $NODE_HOME >log.out 2>&1 & From b6598a5e3035fde96586cf12814f1cc679203306 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Tue, 3 Jun 2025 12:53:47 -0700 Subject: [PATCH 8/9] Update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ded1d63adc..417e5fed4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## UNRELEASED +### DEPENDENCIES +- Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to [v0.53.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.0) (#3773) + +### STATE BREAKING +- Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to [v0.53.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.0) (#3773) + +## v24.0.0 + +*May 30, 2025* + ### DEPENDENCIES - Bump [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 2.0.9 ([#3710](https://github.com/cosmos/gaia/pull/3710)) - Bump [golang.org/x/crypto](https://github.com/golang/crypto) from 0.32.0 to 0.35.0 ([#3709](https://github.com/cosmos/gaia/pull/3709)) From ce590e1200471218503ff6a534bbbac296daefd4 Mon Sep 17 00:00:00 2001 From: Eric Warehime Date: Tue, 3 Jun 2025 14:12:40 -0700 Subject: [PATCH 9/9] Fix time issue in sim test --- app/sim_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/sim_test.go b/app/sim_test.go index 5997815dfb..84e20bbd3f 100644 --- a/app/sim_test.go +++ b/app/sim_test.go @@ -6,6 +6,7 @@ import ( "math/rand" "os" "testing" + "time" "github.com/stretchr/testify/require" @@ -56,6 +57,7 @@ func TestAppStateDeterminism(t *testing.T) { config.ExportParamsPath = "" config.OnOperation = false //nolint:staticcheck config.AllInvariants = false //nolint:staticcheck + config.GenesisTime = time.Now().UTC().Unix() config.ChainID = AppChainID numSeeds := 3