From 42dec2eddb12232f14e88c3f00538f1ac411a093 Mon Sep 17 00:00:00 2001 From: Paul Chen Date: Tue, 9 Apr 2024 11:51:19 +0800 Subject: [PATCH] build(deps): upgrade to cheqd v2 and cosmos-sdk v0.47.x --- .github/workflows/docker-build.yml | 6 +- .github/workflows/lint.yml | 5 +- .github/workflows/test.yml | 5 +- .gitignore | 1 + CHANGELOG.md | 116 +- Dockerfile.cosmwasm | 20 + Dockerfile.default | 10 +- Makefile | 24 +- README.md | 16 +- Requirements.md | 6 +- cmd/{bdjuno => callisto}/main.go | 22 +- cmd/migrate/cmd.go | 6 +- cmd/migrate/v3/migrate.go | 8 +- cmd/migrate/v3/types.go | 4 +- cmd/migrate/v3/utils.go | 2 +- cmd/migrate/v5/migrate.go | 12 +- cmd/migrate/v5/utils.go | 2 +- cmd/parse/auth/cmd.go | 2 +- cmd/parse/auth/vesting.go | 10 +- cmd/parse/bank/cmd.go | 2 +- cmd/parse/bank/supply.go | 10 +- cmd/parse/distribution/cmd.go | 2 +- cmd/parse/distribution/communitypool.go | 10 +- cmd/parse/feegrant/allowance.go | 15 +- cmd/parse/feegrant/cmd.go | 2 +- cmd/parse/gov/cmd.go | 2 +- cmd/parse/gov/proposal.go | 108 +- cmd/parse/mint/cmd.go | 2 +- cmd/parse/mint/inflation.go | 10 +- cmd/parse/parse.go | 26 +- cmd/parse/pricefeed/cmd.go | 2 +- cmd/parse/pricefeed/price.go | 8 +- cmd/parse/pricefeed/pricehistory.go | 8 +- cmd/parse/staking/cmd.go | 2 +- cmd/parse/staking/staking.go | 10 +- cmd/parse/staking/validators.go | 10 +- cmd/parse/top_accounts/all.go | 22 +- cmd/parse/top_accounts/cmd.go | 2 +- cmd/parse/top_accounts/worker.go | 2 +- database/auth.go | 24 +- database/auth_test.go | 4 +- database/bank.go | 2 +- database/bank_test.go | 2 +- database/consensus.go | 22 +- database/consensus_test.go | 6 +- database/database.go | 4 +- database/database_test.go | 30 +- database/did.go | 2 +- database/distribution.go | 4 +- database/distribution_test.go | 6 +- database/feegrant.go | 2 +- database/feegrant_test.go | 8 +- database/gov.go | 244 ++-- database/gov_test.go | 419 +++--- database/message_type.go | 2 +- database/migrate/v5/migrate.go | 4 +- database/migrate/v5/migrator.go | 4 +- database/mint.go | 2 +- database/mint_test.go | 4 +- database/pricefeed.go | 4 +- database/pricefeed_test.go | 4 +- database/resource.go | 2 +- database/schema/08-gov.sql | 31 +- database/slashing.go | 2 +- database/slashing_test.go | 4 +- database/staking_params.go | 4 +- database/staking_params_test.go | 5 +- database/staking_pool.go | 2 +- database/staking_pool_test.go | 4 +- database/staking_validators.go | 46 +- database/staking_validators_test.go | 15 +- database/top_accounts.go | 4 +- database/top_accounts_test.go | 4 +- database/types/consensus.go | 8 + database/types/gov.go | 86 +- database/types/utils.go | 26 + database/utils/bank.go | 2 +- database/utils_test.go | 2 +- docker-compose.yml | 6 +- go.mod | 194 +-- go.sum | 1165 ++++++++++++++--- .../bdjuno/tables/public_gov_params.yaml | 4 +- .../bdjuno/tables/public_proposal.yaml | 3 +- .../bdjuno/tables/public_proposal_vote.yaml | 1 + hasura/metadata/databases/databases.yaml | 6 +- modules/actions/config.go | 2 +- .../actions/handle_additional_operations.go | 4 +- modules/actions/handlers/account_balance.go | 2 +- modules/actions/handlers/delegation.go | 2 +- modules/actions/handlers/delegation_total.go | 2 +- modules/actions/handlers/delegator_reward.go | 2 +- .../handlers/delegator_withdraw_address.go | 2 +- modules/actions/handlers/redelegation.go | 2 +- .../handlers/unbonding_delegation_total.go | 2 +- .../actions/handlers/unbonding_delegations.go | 2 +- .../actions/handlers/validator_commission.go | 2 +- .../actions/handlers/validator_delegation.go | 2 +- .../handlers/validator_redelegations_from.go | 2 +- .../validator_unbonding_delegations.go | 2 +- modules/actions/logging/prometheus.go | 6 +- modules/actions/module.go | 16 +- modules/actions/types/handler.go | 4 +- modules/actions/types/worker.go | 2 +- modules/auth/auth_accounts.go | 5 +- modules/auth/handle_genesis.go | 2 +- modules/auth/handle_msg.go | 8 +- modules/auth/module.go | 9 +- modules/auth/source/local/source.go | 4 +- modules/auth/source/remote/source.go | 4 +- .../auth/utils_refresh_all_base_accounts.go | 2 +- modules/bank/handle_periodic_operations.go | 8 +- modules/bank/module.go | 8 +- modules/bank/source/local/source.go | 28 +- modules/bank/source/remote/source.go | 20 +- modules/bank/source/remote/source_actions.go | 2 +- modules/bank/source/source.go | 4 +- modules/bank/utils_update_balances.go | 10 +- modules/consensus/handle_block.go | 4 +- modules/consensus/handle_genesis.go | 4 +- .../consensus/handle_periodic_operations.go | 2 +- modules/consensus/module.go | 4 +- .../handle_periodic_operations.go | 6 +- modules/daily_refetch/module.go | 10 +- modules/did/handle_msg.go | 5 +- modules/did/module.go | 6 +- modules/distribution/handle_genesis.go | 4 +- modules/distribution/handle_msg.go | 2 +- .../handle_periodic_operations.go | 6 +- modules/distribution/module.go | 6 +- modules/distribution/source/local/source.go | 4 +- modules/distribution/source/remote/source.go | 4 +- .../source/remote/source_actions.go | 4 +- modules/distribution/utils_params.go | 2 +- modules/distribution/utils_rewards.go | 4 +- modules/feegrant/handle_block.go | 10 +- modules/feegrant/handle_msg.go | 4 +- modules/feegrant/module.go | 4 +- modules/gov/expected_modules.go | 8 +- modules/gov/handle_block.go | 20 +- modules/gov/handle_genesis.go | 43 +- modules/gov/handle_msg.go | 73 +- modules/gov/module.go | 9 +- modules/gov/source/local/source.go | 66 +- modules/gov/source/remote/source.go | 61 +- modules/gov/source/source.go | 7 +- modules/gov/utils_events.go | 39 +- modules/gov/utils_params.go | 23 +- modules/gov/utils_proposal.go | 351 +++-- modules/message_type/handle_msg.go | 8 +- modules/message_type/module.go | 6 +- modules/mint/handle_genesis.go | 4 +- modules/mint/handle_periodic_operations.go | 38 +- modules/mint/module.go | 6 +- modules/mint/source/local/source.go | 4 +- modules/mint/source/remote/source.go | 4 +- modules/mint/utils_params.go | 2 +- modules/modules/module.go | 6 +- modules/pricefeed/coingecko/apis.go | 2 +- modules/pricefeed/coingecko/apis_test.go | 2 +- modules/pricefeed/config.go | 2 +- .../pricefeed/handle_additional_operations.go | 2 +- .../pricefeed/handle_periodic_operations.go | 6 +- modules/pricefeed/module.go | 6 +- modules/registrar.go | 68 +- modules/resource/handle_msg.go | 4 +- modules/resource/module.go | 6 +- modules/slashing/handle_block.go | 4 +- modules/slashing/handle_genesis.go | 4 +- modules/slashing/module.go | 6 +- modules/slashing/source/local/source.go | 4 +- modules/slashing/source/remote/source.go | 4 +- modules/slashing/utils_params.go | 2 +- modules/slashing/utils_signing_info.go | 2 +- modules/staking/handle_block.go | 77 +- modules/staking/handle_genesis.go | 4 +- modules/staking/handle_msg.go | 15 +- modules/staking/handle_periodic_operations.go | 15 +- modules/staking/module.go | 6 +- modules/staking/source/local/source.go | 4 +- modules/staking/source/remote/source.go | 4 +- .../staking/source/remote/source_actions.go | 4 +- modules/staking/utils_delegations.go | 4 +- modules/staking/utils_gentx.go | 4 +- modules/staking/utils_params.go | 2 +- modules/staking/utils_staking_pool.go | 3 +- modules/staking/utils_unbondings.go | 2 +- modules/staking/utils_validators.go | 139 +- modules/top_accounts/expected_modules.go | 2 +- modules/top_accounts/handle_msg.go | 4 +- .../handle_periodic_operations.go | 2 +- modules/top_accounts/module.go | 8 +- modules/top_accounts/utils_refresh_all.go | 2 +- modules/types/sources.go | 76 +- modules/upgrade/handle_block.go | 4 +- modules/upgrade/module.go | 4 +- modules/utils/addresses_test.go | 2 +- modules/utils/time.go | 17 + testutils/time.go | 13 + types/config/config.go | 8 +- types/config/encoding.go | 2 +- types/gov.go | 200 +-- utils/genesis.go | 10 +- utils/node.go | 4 +- 203 files changed, 2903 insertions(+), 1868 deletions(-) create mode 100644 Dockerfile.cosmwasm rename cmd/{bdjuno => callisto}/main.go (74%) create mode 100644 modules/utils/time.go create mode 100644 testutils/time.go diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index a4661cbfa..feef138ef 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -14,18 +14,18 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set BDJuno chain name 🔧 + - name: Set Callisto chain name 🔧 shell: bash run: echo "CHAIN_NAME=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//_/g')" >> $GITHUB_ENV - - name: Set BDJuno version 🔧 + - name: Set Callisto version 🔧 shell: bash run: echo "GITHUB_VERSION=$(git describe --tags)" >> $GITHUB_ENV - name: Prepare tags 🏷️ id: prep run: | - DOCKER_IMAGE=${{ secrets.DOCKERHUB_BDJUNO_REPO }} + DOCKER_IMAGE=${{ secrets.DOCKERHUB_CALLISTO_REPO }} CHAIN_NAME="${{env.CHAIN_NAME}}" VERSION="${{env.GITHUB_VERSION}}" TAGS="${DOCKER_IMAGE}:${CHAIN_NAME}-${VERSION}" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2b137c1ef..fba316c05 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,6 +5,9 @@ name: Lint on: pull_request: push: + branches: + - chains/* + - cosmos/* jobs: GolangCI: @@ -18,7 +21,7 @@ jobs: - name: Setup Go 🧰 uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version: "1.20" - name: Compute diff 📜 uses: technote-space/get-diff-action@v6.1.2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f51999d16..2bced486f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,6 +4,9 @@ name: Tests on: pull_request: push: + branches: + - chains/* + - cosmos/* jobs: Cleanup-runs: @@ -24,7 +27,7 @@ jobs: - name: Setup Go 🧰 uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version: "1.20" - name: Compute diff 📜 uses: technote-space/get-diff-action@v6.1.2 diff --git a/.gitignore b/.gitignore index 8034ed4a2..4123aebe2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ build/ +vendor/ # Configuration *.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index d0614de0b..78660d4a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,68 +1,76 @@ ## Unreleased -- ([\#702](https://github.com/forbole/bdjuno/pull/702)) Add `message_type` module and store msg types inside `message_type` table, add `messages_by_type` function to allow to query messages by their types ### Changes #### [cheqd] -- ([\#545](https://github.com/forbole/bdjuno/pull/545)) Added `x/did` and `x/resource` module handlers to store data in db -- ([\#550](https://github.com/forbole/bdjuno/pull/550)) Updated validators VP handlers, `voting_power` column type to TEXT, updated VotingPower type to `sdkmath.Int` for ValidatorVotingPower and ProposalValidatorStatusSnapshot struct -- ([\#580](https://github.com/forbole/bdjuno/pull/580)) Removed `redelegation` from top accounts calculations +- ([\#545](https://github.com/forbole/callisto/pull/545)) Added `x/did` and `x/resource` module handlers to store data in db +- ([\#550](https://github.com/forbole/callisto/pull/550)) Updated validators VP handlers, `voting_power` column type to TEXT, updated VotingPower type to `sdkmath.Int` for ValidatorVotingPower and ProposalValidatorStatusSnapshot struct +- ([\#580](https://github.com/forbole/callisto/pull/580)) Removed `redelegation` from top accounts calculations #### [cheqd] Top Accounts Module -- ([\#510](https://github.com/forbole/bdjuno/pull/510)) Implemented `top_accounts` module to store chain native token's balance for ranking -- ([\#511](https://github.com/forbole/bdjuno/pull/511)) Implemented parse cmd for `top_accounts` module -- ([\#520](https://github.com/forbole/bdjuno/pull/520)) Upgraded `cheqd-node` to `v1.2.2` and proposals parsing to correctly parse `v0.46.x` gov proposals -- ([\#547](https://github.com/forbole/bdjuno/pull/547)) Upgraded `cheqd-node` to `v1.3.0` and added MsgDeactivateDidDoc handling -- ([\#552](https://github.com/forbole/bdjuno/pull/552)) Upgraded `cheqd-node` to `v1.4.0` -- ([\#555](https://github.com/forbole/bdjuno/pull/555)) Added `height` column to top accounts table -- ([\#560](https://github.com/forbole/bdjuno/pull/560)) Stored latest block height instead of height `0` when updating top accounts and added RefreshAvailableBalance to periodic ops -- ([\#570](https://github.com/forbole/bdjuno/pull/570)) Added `type` column to top accounts table, stored account type with top accounts module and added RefreshTopAccountsList to periodic ops +- ([\#510](https://github.com/forbole/callisto/pull/510)) Implemented `top_accounts` module to store chain native token's balance for ranking +- ([\#511](https://github.com/forbole/callisto/pull/511)) Implemented parse cmd for `top_accounts` module +- ([\#520](https://github.com/forbole/callisto/pull/520)) Upgraded `cheqd-node` to `v1.2.2` and proposals parsing to correctly parse `v0.46.x` gov proposals +- ([\#547](https://github.com/forbole/callisto/pull/547)) Upgraded `cheqd-node` to `v1.3.0` and added MsgDeactivateDidDoc handling +- ([\#552](https://github.com/forbole/callisto/pull/552)) Upgraded `cheqd-node` to `v1.4.0` +- ([\#555](https://github.com/forbole/callisto/pull/555)) Added `height` column to top accounts table +- ([\#560](https://github.com/forbole/callisto/pull/560)) Stored latest block height instead of height `0` when updating top accounts and added RefreshAvailableBalance to periodic ops +- ([\#570](https://github.com/forbole/callisto/pull/570)) Added `type` column to top accounts table, stored account type with top accounts module and added RefreshTopAccountsList to periodic ops #### CI -- ([\#508](https://github.com/forbole/bdjuno/pull/508)) Upgrade workflow golangci version to v1.50.1 +- ([\#508](https://github.com/forbole/callisto/pull/508)) Upgrade workflow golangci version to v1.50.1 +- ([\#610](https://github.com/forbole/callisto/pull/610)) Add support for gov `v1` proposals +- ([\#652](https://github.com/forbole/callisto/pull/652)) Update gov module parsing +- ([\#702](https://github.com/forbole/callisto/pull/702)) Add `message_type` module and store msg types inside `message_type` table, add `messages_by_type` function to allow to query messages by their types +- ([\#704](https://github.com/forbole/callisto/pull/704)) Update `BDJuno` name to `Callisto` + +## Version v4.0.0 +## Notes +This version is thought to be used with Cosmos SDK `v0.47.x`. + +### Changes #### Parse Command -- ([\#492](https://github.com/forbole/bdjuno/pull/492)) Add parse command for periodic tasks: `x/bank` total supply, `x/distribution` community pool, `x/mint` inflation, `pricefeed` token price and price history, `x/staking` staking pool +- ([\#492](https://github.com/forbole/callisto/pull/492)) Add parse command for periodic tasks: `x/bank` total supply, `x/distribution` community pool, `x/mint` inflation, `pricefeed` token price and price history, `x/staking` staking pool #### Upgrade Module -- ([\#467](https://github.com/forbole/bdjuno/pull/467)) Store software upgrade plan and refresh data at upgrade height +- ([\#467](https://github.com/forbole/callisto/pull/467)) Store software upgrade plan and refresh data at upgrade height #### Staking Module -- ([\#443](https://github.com/forbole/bdjuno/pull/443)) Remove tombstone status from staking module(already stored in slashing module) -- ([\#455](https://github.com/forbole/bdjuno/pull/455)) Added `unbonding_tokens` and `staked_not_bonded_tokens` values to staking pool table -- ([\#536](https://github.com/forbole/bdjuno/pull/536) Fix `PoolSnapshot` tokens type from `sdk.Int` to `sdkmath.Int` +- ([\#443](https://github.com/forbole/callisto/pull/443)) Remove tombstone status from staking module(already stored in slashing module) +- ([\#455](https://github.com/forbole/callisto/pull/455)) Added `unbonding_tokens` and `staked_not_bonded_tokens` values to staking pool table +- ([\#536](https://github.com/forbole/callisto/pull/536)) Fix `PoolSnapshot` tokens type from `sdk.Int` to `sdkmath.Int` #### Gov Module -- ([\#461](https://github.com/forbole/bdjuno/pull/461)) Parse `x/gov` genesis with `genesisDoc.InitialHeight` instead of the hard-coded height 1 -- ([\#465](https://github.com/forbole/bdjuno/pull/465)) Get open proposal ids in deposit or voting period by block time instead of current time -- ([\#489](https://github.com/forbole/bdjuno/pull/489)) Remove block height foreign key from proposal_vote and proposal_deposit tables and add column timestamp -- ([\#499](https://github.com/forbole/bdjuno/pull/499)) Check if proposal has passed voting end time before marking it invalid -- ([\#523](https://github.com/forbole/bdjuno/pull/523)) Update proposal snapshots handling on block -- ([\#681](https://github.com/forbole/bdjuno/pull/681)) Handle proposal status change from deposit to voting +- ([\#461](https://github.com/forbole/callisto/pull/461)) Parse `x/gov` genesis with `genesisDoc.InitialHeight` instead of the hard-coded height 1 +- ([\#465](https://github.com/forbole/callisto/pull/465)) Get open proposal ids in deposit or voting period by block time instead of current time +- ([\#489](https://github.com/forbole/callisto/pull/489)) Remove block height foreign key from proposal_vote and proposal_deposit tables and add column timestamp +- ([\#499](https://github.com/forbole/callisto/pull/499)) Check if proposal has passed voting end time before marking it invalid +- ([\#523](https://github.com/forbole/callisto/pull/523)) Update proposal snapshots handling on block +- ([\#681](https://github.com/forbole/callisto/pull/681)) Handle proposal status change from deposit to voting - #### Daily refetch -- ([\#454](https://github.com/forbole/bdjuno/pull/454)) Added `daily refetch` module to refetch missing blocks every day +- ([\#454](https://github.com/forbole/callisto/pull/454)) Added `daily refetch` module to refetch missing blocks every day #### Hasura -- ([\#473](https://github.com/forbole/bdjuno/pull/473)) Improved Hasura permissions -- ([\#491](https://github.com/forbole/bdjuno/pull/491)) Add host address to Hasura actions +- ([\#473](https://github.com/forbole/callisto/pull/473)) Improved Hasura permissions +- ([\#491](https://github.com/forbole/callisto/pull/491)) Add host address to Hasura actions ### Dependencies -- ([\#462](https://github.com/forbole/bdjuno/pull/462)) Updated Juno to `v3.4.0` -- ([\#542](https://github.com/forbole/bdjuno/pull/542)) Updated Juno to `v4.1.0`, BDJuno to `v4` and Golang version to `1.19` +- ([\#542](https://github.com/forbole/callisto/pull/542)) Updated Juno to `v5.1.0` ## Version v3.2.0 ### Changes #### Mint module -- ([\#432](https://github.com/forbole/bdjuno/pull/432)) Update inflation rate when mint param change proposal is passed +- ([\#432](https://github.com/forbole/callisto/pull/432)) Update inflation rate when mint param change proposal is passed #### Gov module -- ([\#401](https://github.com/forbole/bdjuno/pull/401)) Update the proposal status to the latest in `bdjuno parse gov proposal [id]` command -- ([\#430](https://github.com/forbole/bdjuno/pull/430)) Update the proposals that have invalid status but can still be in voting or deposit periods +- ([\#401](https://github.com/forbole/callisto/pull/401)) Update the proposal status to the latest in `callisto parse gov proposal [id]` command +- ([\#430](https://github.com/forbole/callisto/pull/430)) Update the proposals that have invalid status but can still be in voting or deposit periods ### Dependencies -- ([\#440](https://github.com/forbole/bdjuno/pull/440)) Updated Juno to `v3.3.0` +- ([\#440](https://github.com/forbole/callisto/pull/440)) Updated Juno to `v3.3.0` ## Version v3.1.0 ### Dependencies @@ -70,10 +78,10 @@ ### Changes #### Hasura -- ([\#395](https://github.com/forbole/bdjuno/pull/395)) Remove time label from Hasura Prometheus monitoring +- ([\#395](https://github.com/forbole/callisto/pull/395)) Remove time label from Hasura Prometheus monitoring #### Bank module -- ([\#410](https://github.com/forbole/bdjuno/pull/410)) Change total supply query from only 1 page to all pages +- ([\#410](https://github.com/forbole/callisto/pull/410)) Change total supply query from only 1 page to all pages ## Version v3.0.1 ### Dependencies @@ -85,20 +93,20 @@ This version introduces breaking changes to `transaction` and `message` PostgreS ### New features #### CLI -- ([\#356](https://github.com/forbole/bdjuno/pull/356)) Implemented `migrate` command to perform easy migration to higher BDJuno versions -- ([\#356](https://github.com/forbole/bdjuno/pull/356)) Updated `parse-genesis` command to parse genesis file without accessing the node +- ([\#356](https://github.com/forbole/callisto/pull/356)) Implemented `migrate` command to perform easy migration to higher BDJuno versions +- ([\#356](https://github.com/forbole/callisto/pull/356)) Updated `parse-genesis` command to parse genesis file without accessing the node #### Database -- ([\#356](https://github.com/forbole/bdjuno/pull/356)) Added PostgreSQL table partition to `transaction` and `message` table -- ([\#356](https://github.com/forbole/bdjuno/pull/356)) Created new `messages_by_address` function +- ([\#356](https://github.com/forbole/callisto/pull/356)) Added PostgreSQL table partition to `transaction` and `message` table +- ([\#356](https://github.com/forbole/callisto/pull/356)) Created new `messages_by_address` function ### Changes #### Hasura -- ([\#377](https://github.com/forbole/bdjuno/pull/377)) Updated Hasura metadata -- ([\#381](https://github.com/forbole/bdjuno/pull/381)) Hasura actions are now a module +- ([\#377](https://github.com/forbole/callisto/pull/377)) Updated Hasura metadata +- ([\#381](https://github.com/forbole/callisto/pull/381)) Hasura actions are now a module ### Dependencies -- ([\#356](https://github.com/forbole/bdjuno/pull/356)) Updated Juno to `v3.0.0` +- ([\#356](https://github.com/forbole/callisto/pull/356)) Updated Juno to `v3.0.0` ## Version v2.0.0 ### Notes @@ -106,15 +114,15 @@ This version introduces breaking changes to certain address-specific data that i ### New features #### CLI -- ([\#257](https://github.com/forbole/bdjuno/pull/257)) Added `parse-genesis` command to parse the genesis file -- ([\#228](https://github.com/forbole/bdjuno/pull/228)) ([\#248](https://github.com/forbole/bdjuno/pull/248)) Added `fix` command: +- ([\#257](https://github.com/forbole/callisto/pull/257)) Added `parse-genesis` command to parse the genesis file +- ([\#228](https://github.com/forbole/callisto/pull/228)) ([\#248](https://github.com/forbole/callisto/pull/248)) Added `fix` command: - `auth`: fix vesting accounts details - `blocks`: fix missing blocks and transactions from given start height - `gov`: fix proposal with given proposal ID - `staking`: fix validators info at the latest height #### Hasura Actions -- ([\#329](https://github.com/forbole/bdjuno/pull/329)) Implemented Hasura Actions service to replace periodic queries. If you are using GraphQL queries on your application, you should updated the old queries to use the below new actions instead. +- ([\#329](https://github.com/forbole/callisto/pull/329)) Implemented Hasura Actions service to replace periodic queries. If you are using GraphQL queries on your application, you should updated the old queries to use the below new actions instead. Here's a list of data acquired through Hasura Actions: - Of a certain address/delegator: - Account balance (`action_account_balance`) @@ -130,25 +138,25 @@ This version introduces breaking changes to certain address-specific data that i - Delegations to this validator (`action_validator_delegations`) - Redelegations from this validator (`action_validator_redelegations_from`) - Unbonding delegations (`action_validator_unbonding_delegations`) -- ([\#352](https://github.com/forbole/bdjuno/pull/352)) Added prometheus monitoring to hasura actions +- ([\#352](https://github.com/forbole/callisto/pull/352)) Added prometheus monitoring to hasura actions #### Local node support - Added the support for `node.type = "local"` for parsing a static local node without the usage gRPC queries: [config reference](https://docs.bigdipper.live/cosmos-based/parser/config/config#node). #### Modules -- ([\#232](https://github.com/forbole/bdjuno/pull/232)) Updated the `x/auth` module support to handle and store `vesting accounts` and `vesting periods` inside the database. -- ([\#276](https://github.com/forbole/bdjuno/pull/276)) Added the support for the `x/feegrant` module (v0.44.x) +- ([\#232](https://github.com/forbole/callisto/pull/232)) Updated the `x/auth` module support to handle and store `vesting accounts` and `vesting periods` inside the database. +- ([\#276](https://github.com/forbole/callisto/pull/276)) Added the support for the `x/feegrant` module (v0.44.x) ### Changes #### CLI -- ([\#351](https://github.com/forbole/bdjuno/pull/351)) Fixed version display for `bdjuno version` cmd +- ([\#351](https://github.com/forbole/callisto/pull/351)) Fixed version display for `callisto version` cmd #### Database -- ([\#300](https://github.com/forbole/bdjuno/pull/300)) Changed `bonded_tokens` and `not_bonded_tokens` type inside `staking_pool` table to `TEXT` to avoid value overflow -- ([\#275](https://github.com/forbole/bdjuno/pull/275)) Added `tombstoned` column inside `validator_status` table -- ([\#232](https://github.com/forbole/bdjuno/pull/232)) Added `vesting_account` and `vesting_period` table -- ([\#276](https://github.com/forbole/bdjuno/pull/276)) Added `fee_grant_allowance` table (v0.44.x) +- ([\#300](https://github.com/forbole/callisto/pull/300)) Changed `bonded_tokens` and `not_bonded_tokens` type inside `staking_pool` table to `TEXT` to avoid value overflow +- ([\#275](https://github.com/forbole/callisto/pull/275)) Added `tombstoned` column inside `validator_status` table +- ([\#232](https://github.com/forbole/callisto/pull/232)) Added `vesting_account` and `vesting_period` table +- ([\#276](https://github.com/forbole/callisto/pull/276)) Added `fee_grant_allowance` table (v0.44.x) #### Modules -- ([\#353](https://github.com/forbole/bdjuno/pull/353)) Removed the support for the `history` module +- ([\#353](https://github.com/forbole/callisto/pull/353)) Removed the support for the `history` module diff --git a/Dockerfile.cosmwasm b/Dockerfile.cosmwasm new file mode 100644 index 000000000..ec51a0d0c --- /dev/null +++ b/Dockerfile.cosmwasm @@ -0,0 +1,20 @@ +FROM golang:1.20-alpine AS builder +RUN apk update && apk add --no-cache make git +WORKDIR /go/src/github.com/forbole/callisto +COPY . ./ + +RUN apk update && apk add --no-cache ca-certificates build-base git +ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a +ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a +RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 9ecb037336bd56076573dc18c26631a9d2099a7f2b40dc04b6cae31ffb4c8f9a +RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 6e4de7ba9bad4ae9679c7f9ecf7e283dd0160e71567c6a7be6ae47c81ebe7f32 +## Copy the library you want to the final location that will be found by the linker flag `-lwasmvm_muslc` +RUN cp /lib/libwasmvm_muslc.$(uname -m).a /lib/libwasmvm_muslc.a +RUN go mod download +RUN LINK_STATICALLY=true BUILD_TAGS="muslc" make build + +FROM alpine:latest +RUN apk update && apk add --no-cache ca-certificates build-base +WORKDIR /callisto +COPY --from=builder /go/src/github.com/forbole/callisto/build/callisto /usr/bin/callisto +CMD [ "callisto" ] \ No newline at end of file diff --git a/Dockerfile.default b/Dockerfile.default index a23590386..935226c2e 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -1,11 +1,11 @@ -FROM golang:1.19-alpine AS builder +FROM golang:1.20-alpine AS builder RUN apk update && apk add --no-cache make git -WORKDIR /go/src/github.com/forbole/bdjuno +WORKDIR /go/src/github.com/forbole/callisto COPY . ./ RUN go mod download RUN make build FROM alpine:latest -WORKDIR /bdjuno -COPY --from=builder /go/src/github.com/forbole/bdjuno/build/bdjuno /usr/bin/bdjuno -CMD [ "bdjuno" ] \ No newline at end of file +WORKDIR /callisto +COPY --from=builder /go/src/github.com/forbole/callisto/build/callisto /usr/bin/callisto +CMD [ "callisto" ] \ No newline at end of file diff --git a/Makefile b/Makefile index 92b8061a2..5fddd412b 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,8 @@ all: lint build test-unit ### Build flags ### ############################################################################### -LD_FLAGS = -X github.com/forbole/juno/v4/cmd.Version=$(VERSION) \ - -X github.com/forbole/juno/v4/cmd.Commit=$(COMMIT) +LD_FLAGS = -X github.com/forbole/juno/v5/cmd.Version=$(VERSION) \ + -X github.com/forbole/juno/v5/cmd.Commit=$(COMMIT) BUILD_FLAGS := -ldflags '$(LD_FLAGS)' ifeq ($(LINK_STATICALLY),true) @@ -32,11 +32,11 @@ BUILD_FLAGS := -ldflags '$(LD_FLAGS)' -tags "$(build_tags)" build: go.sum ifeq ($(OS),Windows_NT) - @echo "building bdjuno binary..." - @go build -mod=readonly $(BUILD_FLAGS) -o build/bdjuno.exe ./cmd/bdjuno + @echo "building callisto binary..." + @go build -mod=readonly $(BUILD_FLAGS) -o build/callisto.exe ./cmd/callisto else - @echo "building bdjuno binary..." - @go build -mod=readonly $(BUILD_FLAGS) -o build/bdjuno ./cmd/bdjuno + @echo "building callisto binary..." + @go build -mod=readonly $(BUILD_FLAGS) -o build/callisto ./cmd/callisto endif .PHONY: build @@ -45,8 +45,8 @@ endif ############################################################################### install: go.sum - @echo "installing bdjuno binary..." - @go install -mod=readonly $(BUILD_FLAGS) ./cmd/bdjuno + @echo "installing callisto binary..." + @go install -mod=readonly $(BUILD_FLAGS) ./cmd/callisto .PHONY: install ############################################################################### @@ -55,12 +55,12 @@ install: go.sum stop-docker-test: @echo "Stopping Docker container..." - @docker stop bdjuno-test-db || true && docker rm bdjuno-test-db || true + @docker stop callisto-test-db || true && docker rm callisto-test-db || true .PHONY: stop-docker-test start-docker-test: stop-docker-test @echo "Starting Docker container..." - @docker run --name bdjuno-test-db -e POSTGRES_USER=bdjuno -e POSTGRES_PASSWORD=password -e POSTGRES_DB=bdjuno -d -p 6433:5432 postgres + @docker run --name callisto-test-db -e POSTGRES_USER=callisto -e POSTGRES_PASSWORD=password -e POSTGRES_DB=callisto -d -p 6433:5432 postgres .PHONY: start-docker-test test-unit: start-docker-test @@ -71,7 +71,7 @@ test-unit: start-docker-test ############################################################################### ### Linting ### ############################################################################### -golangci_lint_cmd=github.com/golangci/golangci-lint/cmd/golangci-lint +golangci_lint_cmd=github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 lint: @echo "--> Running linter" @@ -86,7 +86,7 @@ lint-fix: format: find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs gofmt -w -s find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs misspell -w - find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs goimports -w -local github.com/forbole/bdjuno + find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs goimports -w -local github.com/forbole/callisto .PHONY: format clean: diff --git a/README.md b/README.md index f74fd6193..89faf1c49 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# BDJuno -[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/forbole/bdjuno/Tests)](https://github.com/forbole/bdjuno/actions?query=workflow%3ATests) -[![Go Report Card](https://goreportcard.com/badge/github.com/forbole/bdjuno)](https://goreportcard.com/report/github.com/forbole/bdjuno) -![Codecov branch](https://img.shields.io/codecov/c/github/forbole/bdjuno/cosmos/v0.40.x) +# Callisto +[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/forbole/callisto/Tests)](https://github.com/forbole/callisto/actions?query=workflow%3ATests) +[![Go Report Card](https://goreportcard.com/badge/github.com/forbole/callisto)](https://goreportcard.com/report/github.com/forbole/callisto) +![Codecov branch](https://img.shields.io/codecov/c/github/forbole/callisto/cosmos/v0.40.x) -BDJuno (shorthand for BigDipper Juno) is the [Juno](https://github.com/forbole/juno) implementation -for [BigDipper](https://github.com/forbole/big-dipper). +Callisto (shorthand for BigDipper Juno) is the [Juno](https://github.com/forbole/juno) implementation +for [Big Dipper](https://github.com/forbole/big-dipper). -It extends the custom Juno behavior by adding different handlers and custom operations to make it easier for BigDipper +It extends the custom Juno behavior by adding different handlers and custom operations to make it easier for Big Dipper showing the data inside the UI. All the chains' data that are queried from the RPC and gRPC endpoints are stored inside @@ -14,7 +14,7 @@ a [PostgreSQL](https://www.postgresql.org/) database on top of which [GraphQL](h created using [Hasura](https://hasura.io/). ## Usage -To know how to setup and run BDJuno, please refer to +To know how to setup and run Callisto, please refer to the [docs website](https://docs.bigdipper.live/cosmos-based/parser/overview/). ## Testing diff --git a/Requirements.md b/Requirements.md index 8ea424af7..92ac43a74 100644 --- a/Requirements.md +++ b/Requirements.md @@ -1,5 +1,5 @@ -# Requirements of BDjuno -The BDjuno is working as a backend for Big Dipper. The followings are the features currently supported in Big Dipper in the backend which BDjuno should adapt. +# Requirements of Callisto +The Callisto is working as a backend for Big Dipper. The followings are the features currently supported in Big Dipper in the backend which Callisto should adapt. ## On every block ### Done by Juno by default @@ -7,7 +7,7 @@ The BDjuno is working as a backend for Big Dipper. The followings are the featur - [x] Parsing all transactions - [x] Store validator set of the block -### Custom BDJuno implementations +### Custom Callisto implementations - [x] Update missed block records - [x] Read the latest consensus state - [x] [x/auth] Store vesting accounts and vesting periods details diff --git a/cmd/bdjuno/main.go b/cmd/callisto/main.go similarity index 74% rename from cmd/bdjuno/main.go rename to cmd/callisto/main.go index 220554897..fd48a8238 100644 --- a/cmd/bdjuno/main.go +++ b/cmd/callisto/main.go @@ -4,19 +4,19 @@ import ( "github.com/cheqd/cheqd-node/app" "github.com/cosmos/cosmos-sdk/types/module" - "github.com/forbole/juno/v4/cmd" - initcmd "github.com/forbole/juno/v4/cmd/init" - parsetypes "github.com/forbole/juno/v4/cmd/parse/types" - startcmd "github.com/forbole/juno/v4/cmd/start" - "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/juno/v5/cmd" + initcmd "github.com/forbole/juno/v5/cmd/init" + parsetypes "github.com/forbole/juno/v5/cmd/parse/types" + startcmd "github.com/forbole/juno/v5/cmd/start" + "github.com/forbole/juno/v5/modules/messages" - migratecmd "github.com/forbole/bdjuno/v4/cmd/migrate" - parsecmd "github.com/forbole/bdjuno/v4/cmd/parse" + migratecmd "github.com/forbole/callisto/v4/cmd/migrate" + parsecmd "github.com/forbole/callisto/v4/cmd/parse" - "github.com/forbole/bdjuno/v4/types/config" + "github.com/forbole/callisto/v4/types/config" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules" ) func main() { @@ -28,7 +28,7 @@ func main() { WithEncodingConfigBuilder(config.MakeEncodingConfig(getBasicManagers())). WithRegistrar(modules.NewRegistrar(getAddressesParser())) - cfg := cmd.NewConfig("bdjuno"). + cfg := cmd.NewConfig("callisto"). WithInitConfig(initCfg). WithParseConfig(parseCfg) diff --git a/cmd/migrate/cmd.go b/cmd/migrate/cmd.go index e0ba6b0f6..e5c2b67f5 100644 --- a/cmd/migrate/cmd.go +++ b/cmd/migrate/cmd.go @@ -4,11 +4,11 @@ import ( "fmt" "os" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" - v3 "github.com/forbole/bdjuno/v4/cmd/migrate/v3" - v5 "github.com/forbole/bdjuno/v4/cmd/migrate/v5" + v3 "github.com/forbole/callisto/v4/cmd/migrate/v3" + v5 "github.com/forbole/callisto/v4/cmd/migrate/v5" ) type Migrator func(parseCfg *parsecmdtypes.Config) error diff --git a/cmd/migrate/v3/migrate.go b/cmd/migrate/v3/migrate.go index 89e26cbe6..e0f9c1575 100644 --- a/cmd/migrate/v3/migrate.go +++ b/cmd/migrate/v3/migrate.go @@ -4,14 +4,14 @@ import ( "fmt" "os" - "github.com/forbole/bdjuno/v4/modules/actions" + "github.com/forbole/callisto/v4/modules/actions" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "gopkg.in/yaml.v3" - junov4 "github.com/forbole/juno/v4/cmd/migrate/v4" - "github.com/forbole/juno/v4/types/config" + junov4 "github.com/forbole/juno/v5/cmd/migrate/v4" + "github.com/forbole/juno/v5/types/config" ) // RunMigration runs the migrations from v2 to v3 diff --git a/cmd/migrate/v3/types.go b/cmd/migrate/v3/types.go index 98b84a28e..69fd3ef3b 100644 --- a/cmd/migrate/v3/types.go +++ b/cmd/migrate/v3/types.go @@ -1,9 +1,9 @@ package v3 import ( - v3 "github.com/forbole/juno/v4/cmd/migrate/v3" + v3 "github.com/forbole/juno/v5/cmd/migrate/v3" - "github.com/forbole/bdjuno/v4/modules/actions" + "github.com/forbole/callisto/v4/modules/actions" ) type Config struct { diff --git a/cmd/migrate/v3/utils.go b/cmd/migrate/v3/utils.go index b3b47a460..37fc66f09 100644 --- a/cmd/migrate/v3/utils.go +++ b/cmd/migrate/v3/utils.go @@ -5,7 +5,7 @@ import ( "os" "path" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/types/config" "gopkg.in/yaml.v3" ) diff --git a/cmd/migrate/v5/migrate.go b/cmd/migrate/v5/migrate.go index ad44ecb3d..c8910bd3d 100644 --- a/cmd/migrate/v5/migrate.go +++ b/cmd/migrate/v5/migrate.go @@ -3,11 +3,11 @@ package v5 import ( "fmt" - v5db "github.com/forbole/bdjuno/v4/database/migrate/v5" - parse "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/database" - "github.com/forbole/juno/v4/database/postgresql" - "github.com/forbole/juno/v4/types/config" + v5db "github.com/forbole/callisto/v4/database/migrate/v5" + parse "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/database" + "github.com/forbole/juno/v5/database/postgresql" + "github.com/forbole/juno/v5/types/config" ) // RunMigration runs the migrations to v5 @@ -31,7 +31,7 @@ func migrateDb(cfg config.Config, parseConfig *parse.Config) error { encodingConfig := parseConfig.GetEncodingConfigBuilder()() // Get the db - databaseCtx := database.NewContext(cfg.Database, &encodingConfig, parseConfig.GetLogger()) + databaseCtx := database.NewContext(cfg.Database, encodingConfig, parseConfig.GetLogger()) db, err := postgresql.Builder(databaseCtx) if err != nil { return fmt.Errorf("error while building the db: %s", err) diff --git a/cmd/migrate/v5/utils.go b/cmd/migrate/v5/utils.go index 854ee714a..2ae2f3c0e 100644 --- a/cmd/migrate/v5/utils.go +++ b/cmd/migrate/v5/utils.go @@ -5,7 +5,7 @@ import ( "os" "path" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/types/config" "gopkg.in/yaml.v3" ) diff --git a/cmd/parse/auth/cmd.go b/cmd/parse/auth/cmd.go index 8d4c3baa4..f91f6ced6 100644 --- a/cmd/parse/auth/cmd.go +++ b/cmd/parse/auth/cmd.go @@ -1,7 +1,7 @@ package auth import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/auth/vesting.go b/cmd/parse/auth/vesting.go index d24ded4bd..82ff2d439 100644 --- a/cmd/parse/auth/vesting.go +++ b/cmd/parse/auth/vesting.go @@ -4,13 +4,13 @@ import ( "encoding/json" "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - authutils "github.com/forbole/bdjuno/v4/modules/auth" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/database" + authutils "github.com/forbole/callisto/v4/modules/auth" + "github.com/forbole/callisto/v4/utils" ) // vestingCmd returns a Cobra command that allows to fix the vesting data for the accounts diff --git a/cmd/parse/bank/cmd.go b/cmd/parse/bank/cmd.go index 90afb8e09..94d3ae68b 100644 --- a/cmd/parse/bank/cmd.go +++ b/cmd/parse/bank/cmd.go @@ -1,7 +1,7 @@ package bank import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/bank/supply.go b/cmd/parse/bank/supply.go index def846b62..526ff48d3 100644 --- a/cmd/parse/bank/supply.go +++ b/cmd/parse/bank/supply.go @@ -3,14 +3,14 @@ package bank import ( "fmt" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/bank" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/bank" ) // supplyCmd returns the Cobra command allowing to refresh x/bank total supply diff --git a/cmd/parse/distribution/cmd.go b/cmd/parse/distribution/cmd.go index a7fd698b8..086a9fe99 100644 --- a/cmd/parse/distribution/cmd.go +++ b/cmd/parse/distribution/cmd.go @@ -1,7 +1,7 @@ package distribution import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/distribution/communitypool.go b/cmd/parse/distribution/communitypool.go index 1e0b60a33..f1f4dbdd8 100644 --- a/cmd/parse/distribution/communitypool.go +++ b/cmd/parse/distribution/communitypool.go @@ -3,13 +3,13 @@ package distribution import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/distribution" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/distribution" + modulestypes "github.com/forbole/callisto/v4/modules/types" ) // communityPoolCmd returns the Cobra command allowing to refresh community pool diff --git a/cmd/parse/feegrant/allowance.go b/cmd/parse/feegrant/allowance.go index 79664fdf3..f359ce64b 100644 --- a/cmd/parse/feegrant/allowance.go +++ b/cmd/parse/feegrant/allowance.go @@ -3,20 +3,19 @@ package feegrant import ( "encoding/hex" "fmt" + "sort" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v4/modules/feegrant" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/modules/feegrant" + "github.com/forbole/callisto/v4/utils" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - - "sort" + "github.com/forbole/callisto/v4/database" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" "github.com/rs/zerolog/log" diff --git a/cmd/parse/feegrant/cmd.go b/cmd/parse/feegrant/cmd.go index 9f45e9767..d08909c4f 100644 --- a/cmd/parse/feegrant/cmd.go +++ b/cmd/parse/feegrant/cmd.go @@ -1,7 +1,7 @@ package feegrant import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/gov/cmd.go b/cmd/parse/gov/cmd.go index 8e7e3ea2e..f86d8ca1e 100644 --- a/cmd/parse/gov/cmd.go +++ b/cmd/parse/gov/cmd.go @@ -1,7 +1,7 @@ package gov import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/gov/proposal.go b/cmd/parse/gov/proposal.go index 3b2a96c5c..899455972 100644 --- a/cmd/parse/gov/proposal.go +++ b/cmd/parse/gov/proposal.go @@ -4,24 +4,25 @@ import ( "encoding/hex" "fmt" "strconv" - "time" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" "github.com/rs/zerolog/log" + modulestypes "github.com/forbole/callisto/v4/modules/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/distribution" - "github.com/forbole/bdjuno/v4/modules/gov" - "github.com/forbole/bdjuno/v4/modules/mint" - "github.com/forbole/bdjuno/v4/modules/slashing" - "github.com/forbole/bdjuno/v4/modules/staking" - "github.com/forbole/bdjuno/v4/utils" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/parser" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/parser" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" + + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/distribution" + "github.com/forbole/callisto/v4/modules/gov" + "github.com/forbole/callisto/v4/modules/mint" + "github.com/forbole/callisto/v4/modules/slashing" + "github.com/forbole/callisto/v4/modules/staking" + "github.com/forbole/callisto/v4/utils" ) // proposalCmd returns the Cobra command allowing to fix all things related to a proposal @@ -55,7 +56,7 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) // Build the gov module - govModule := gov.NewModule(sources.GovSource, nil, distrModule, mintModule, slashingModule, stakingModule, parseCtx.EncodingConfig.Codec, db) + govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, parseCtx.EncodingConfig.Codec, db) err = refreshProposalDetails(parseCtx, proposalID, govModule) if err != nil { @@ -78,7 +79,17 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return fmt.Errorf("error while getting chain latest block height: %s", err) } - err = govModule.UpdateProposal(height, time.Now(), proposalID) + err = govModule.UpdateProposalStatus(height, proposalID) + if err != nil { + return err + } + + err = govModule.UpdateProposalTallyResult(proposalID, height) + if err != nil { + return err + } + + err = govModule.UpdateProposalStakingPoolSnapshot(height, proposalID) if err != nil { return err } @@ -114,17 +125,13 @@ func refreshProposalDetails(parseCtx *parser.Context, proposalID uint64, govModu // Handle the MsgSubmitProposal messages for index, msg := range tx.GetMsgs() { - _, isMsgSubmitProposalV1 := msg.(*govtypesv1.MsgSubmitProposal) - _, isMsgSubmitProposalV1Beta1 := msg.(*govtypesv1beta1.MsgSubmitProposal) - // Skip if the message is not a submit proposal message - if !isMsgSubmitProposalV1 && !isMsgSubmitProposalV1Beta1 { - continue - } - - err = govModule.HandleMsg(index, msg, tx) - if err != nil { - return fmt.Errorf("error while handling MsgSubmitProposal: %s", err) + switch msg.(type) { + case *govtypesv1.MsgSubmitProposal, *govtypesv1beta1.MsgSubmitProposal: + err = govModule.HandleMsg(index, msg, tx) + if err != nil { + return fmt.Errorf("error while handling MsgSubmitProposal: %s", err) + } } } @@ -149,17 +156,12 @@ func refreshProposalDeposits(parseCtx *parser.Context, proposalID uint64, govMod // Handle the MsgDeposit messages for index, msg := range junoTx.GetMsgs() { - _, isMsgDepositV1beta1 := msg.(*govtypesv1beta1.MsgDeposit) - _, isMsgDepositV1 := msg.(*govtypesv1.MsgDeposit) - - // Skip if the message is not a deposit message - if !isMsgDepositV1 && !isMsgDepositV1beta1 { - continue - } - - err = govModule.HandleMsg(index, msg, junoTx) - if err != nil { - return fmt.Errorf("error while handling MsgDeposit: %s", err) + switch msg.(type) { + case *govtypesv1.MsgDeposit, *govtypesv1beta1.MsgDeposit: + err = govModule.HandleMsg(index, msg, junoTx) + if err != nil { + return fmt.Errorf("error while handling MsgDeposit: %s", err) + } } } } @@ -185,19 +187,39 @@ func refreshProposalVotes(parseCtx *parser.Context, proposalID uint64, govModule // Handle the MsgVote messages for index, msg := range junoTx.GetMsgs() { - _, isMsgVoteV1 := msg.(*govtypesv1.MsgVote) - _, isMsgVoteV1Beta1 := msg.(*govtypesv1beta1.MsgVote) - _, isMsgVoteWeightedV1 := msg.(*govtypesv1.MsgVoteWeighted) - _, isMsgVoteWeightedV1Beta1 := msg.(*govtypesv1beta1.MsgVoteWeighted) + var msgProposalID uint64 + + switch cosmosMsg := msg.(type) { + case *govtypesv1.MsgVote: + msgProposalID = cosmosMsg.ProposalId + + case *govtypesv1beta1.MsgVote: + msgProposalID = cosmosMsg.ProposalId + + case *govtypesv1.MsgVoteWeighted: + msgProposalID = cosmosMsg.ProposalId + + case *govtypesv1beta1.MsgVoteWeighted: + msgProposalID = cosmosMsg.ProposalId // Skip if the message is not a vote message - if !isMsgVoteV1 && !isMsgVoteV1Beta1 && !isMsgVoteWeightedV1 && !isMsgVoteWeightedV1Beta1 { + default: continue } - err = govModule.HandleMsg(index, msg, junoTx) - if err != nil { - return fmt.Errorf("error while handling MsgVote: %s", err) + // check if requested proposal ID is the same as proposal ID returned + // from the msg as some txs may contain multiple MsgVote msgs + // for different proposals which can cause error if one of the proposals + // info is not stored in database + if proposalID == msgProposalID { + err = govModule.HandleMsg(index, msg, junoTx) + if err != nil { + return fmt.Errorf("error while handling MsgVote: %s", err) + } + } else { + // skip votes for proposals with IDs + // different than requested in the query + continue } } } diff --git a/cmd/parse/mint/cmd.go b/cmd/parse/mint/cmd.go index 2bcc991aa..5c45f1faf 100644 --- a/cmd/parse/mint/cmd.go +++ b/cmd/parse/mint/cmd.go @@ -1,7 +1,7 @@ package mint import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/mint/inflation.go b/cmd/parse/mint/inflation.go index 213f5ab6c..547085f85 100644 --- a/cmd/parse/mint/inflation.go +++ b/cmd/parse/mint/inflation.go @@ -3,13 +3,13 @@ package mint import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/mint" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/mint" + modulestypes "github.com/forbole/callisto/v4/modules/types" ) // inflationCmd returns the Cobra command allowing to refresh x/mint inflation diff --git a/cmd/parse/parse.go b/cmd/parse/parse.go index 0230e6f46..8a6f0c7f9 100644 --- a/cmd/parse/parse.go +++ b/cmd/parse/parse.go @@ -1,23 +1,23 @@ package parse import ( - parse "github.com/forbole/juno/v4/cmd/parse/types" + parse "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" - parseblocks "github.com/forbole/juno/v4/cmd/parse/blocks" + parseblocks "github.com/forbole/juno/v5/cmd/parse/blocks" - parsegenesis "github.com/forbole/juno/v4/cmd/parse/genesis" + parsegenesis "github.com/forbole/juno/v5/cmd/parse/genesis" - parseauth "github.com/forbole/bdjuno/v4/cmd/parse/auth" - parsebank "github.com/forbole/bdjuno/v4/cmd/parse/bank" - parsedistribution "github.com/forbole/bdjuno/v4/cmd/parse/distribution" - parsefeegrant "github.com/forbole/bdjuno/v4/cmd/parse/feegrant" - parsegov "github.com/forbole/bdjuno/v4/cmd/parse/gov" - parsemint "github.com/forbole/bdjuno/v4/cmd/parse/mint" - parsepricefeed "github.com/forbole/bdjuno/v4/cmd/parse/pricefeed" - parsestaking "github.com/forbole/bdjuno/v4/cmd/parse/staking" - parsetopaccounts "github.com/forbole/bdjuno/v4/cmd/parse/top_accounts" - parsetransaction "github.com/forbole/juno/v4/cmd/parse/transactions" + parseauth "github.com/forbole/callisto/v4/cmd/parse/auth" + parsebank "github.com/forbole/callisto/v4/cmd/parse/bank" + parsedistribution "github.com/forbole/callisto/v4/cmd/parse/distribution" + parsefeegrant "github.com/forbole/callisto/v4/cmd/parse/feegrant" + parsegov "github.com/forbole/callisto/v4/cmd/parse/gov" + parsemint "github.com/forbole/callisto/v4/cmd/parse/mint" + parsepricefeed "github.com/forbole/callisto/v4/cmd/parse/pricefeed" + parsestaking "github.com/forbole/callisto/v4/cmd/parse/staking" + parsetopaccounts "github.com/forbole/callisto/v4/cmd/parse/top_accounts" + parsetransaction "github.com/forbole/juno/v5/cmd/parse/transactions" ) // NewParseCmd returns the Cobra command allowing to parse some chain data without having to re-sync the whole database diff --git a/cmd/parse/pricefeed/cmd.go b/cmd/parse/pricefeed/cmd.go index a45262969..51e705cf7 100644 --- a/cmd/parse/pricefeed/cmd.go +++ b/cmd/parse/pricefeed/cmd.go @@ -1,7 +1,7 @@ package pricefeed import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/pricefeed/price.go b/cmd/parse/pricefeed/price.go index 9d7228f14..308719d4a 100644 --- a/cmd/parse/pricefeed/price.go +++ b/cmd/parse/pricefeed/price.go @@ -3,12 +3,12 @@ package pricefeed import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/pricefeed" ) // priceCmd returns the Cobra command allowing to refresh token price diff --git a/cmd/parse/pricefeed/pricehistory.go b/cmd/parse/pricefeed/pricehistory.go index 112990f96..aa4b210df 100644 --- a/cmd/parse/pricefeed/pricehistory.go +++ b/cmd/parse/pricefeed/pricehistory.go @@ -3,12 +3,12 @@ package pricefeed import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/pricefeed" ) // priceHistoryCmd returns the Cobra command allowing to store token price history diff --git a/cmd/parse/staking/cmd.go b/cmd/parse/staking/cmd.go index b74bee7f4..7f0792f18 100644 --- a/cmd/parse/staking/cmd.go +++ b/cmd/parse/staking/cmd.go @@ -1,7 +1,7 @@ package staking import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/staking/staking.go b/cmd/parse/staking/staking.go index cbfc9834b..ff476e8e2 100644 --- a/cmd/parse/staking/staking.go +++ b/cmd/parse/staking/staking.go @@ -3,13 +3,13 @@ package staking import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/staking" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/staking" + modulestypes "github.com/forbole/callisto/v4/modules/types" ) // poolCmd returns the Cobra command allowing to refresh x/staking pool diff --git a/cmd/parse/staking/validators.go b/cmd/parse/staking/validators.go index b6ecb770f..7f74209d6 100644 --- a/cmd/parse/staking/validators.go +++ b/cmd/parse/staking/validators.go @@ -3,14 +3,14 @@ package staking import ( "fmt" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/staking" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/staking" ) // validatorsCmd returns a Cobra command that allows to fix the validator infos for all validators. diff --git a/cmd/parse/top_accounts/all.go b/cmd/parse/top_accounts/all.go index a33bc9804..d11ef9531 100644 --- a/cmd/parse/top_accounts/all.go +++ b/cmd/parse/top_accounts/all.go @@ -7,21 +7,21 @@ import ( "sync" "syscall" - "github.com/forbole/bdjuno/v4/modules/bank" - "github.com/forbole/bdjuno/v4/modules/distribution" - "github.com/forbole/bdjuno/v4/modules/staking" - topaccounts "github.com/forbole/bdjuno/v4/modules/top_accounts" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/bank" + "github.com/forbole/callisto/v4/modules/distribution" + "github.com/forbole/callisto/v4/modules/staking" + topaccounts "github.com/forbole/callisto/v4/modules/top_accounts" + modulestypes "github.com/forbole/callisto/v4/modules/types" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" - "github.com/forbole/juno/v4/parser" - "github.com/forbole/juno/v4/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/parser" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/auth" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/auth" ) var ( diff --git a/cmd/parse/top_accounts/cmd.go b/cmd/parse/top_accounts/cmd.go index e643d2e58..3e3864c35 100644 --- a/cmd/parse/top_accounts/cmd.go +++ b/cmd/parse/top_accounts/cmd.go @@ -1,7 +1,7 @@ package top_accounts import ( - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/top_accounts/worker.go b/cmd/parse/top_accounts/worker.go index 153c5b423..680565e56 100644 --- a/cmd/parse/top_accounts/worker.go +++ b/cmd/parse/top_accounts/worker.go @@ -1,7 +1,7 @@ package top_accounts import ( - topaccounts "github.com/forbole/bdjuno/v4/modules/top_accounts" + topaccounts "github.com/forbole/callisto/v4/modules/top_accounts" "github.com/rs/zerolog/log" ) diff --git a/database/auth.go b/database/auth.go index 8084b3d09..88745c594 100644 --- a/database/auth.go +++ b/database/auth.go @@ -6,13 +6,13 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/vesting/exported" vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/gogoproto/proto" "github.com/lib/pq" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - dbutils "github.com/forbole/bdjuno/v4/database/utils" + dbtypes "github.com/forbole/callisto/v4/database/types" + dbutils "github.com/forbole/callisto/v4/database/utils" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveAccounts saves the given accounts inside the database @@ -98,8 +98,14 @@ func (db *Db) storeVestingAccount(account exported.VestingAccount) (int, error) start_time = excluded.start_time RETURNING id ` + // Store the vesting account + err := db.SaveAccounts([]types.Account{types.NewAccount(account.GetAddress().String())}) + if err != nil { + return 0, fmt.Errorf("error while storing vesting account address: %s", err) + } + var vestingAccountRowID int - err := db.SQL.QueryRow(stmt, + err = db.SQL.QueryRow(stmt, proto.MessageName(account), account.GetAddress().String(), pq.Array(dbtypes.NewDbCoins(account.GetOriginalVesting())), @@ -124,7 +130,13 @@ func (db *Db) StoreBaseVestingAccountFromMsg(bva *vestingtypes.BaseVestingAccoun start_time = excluded.start_time, end_time = excluded.end_time` - _, err := db.SQL.Exec(stmt, + // Store the vesting account + err := db.SaveAccounts([]types.Account{types.NewAccount(bva.GetAddress().String())}) + if err != nil { + return fmt.Errorf("error while storing vesting account address: %s", err) + } + + _, err = db.SQL.Exec(stmt, proto.MessageName(bva), bva.GetAddress().String(), pq.Array(dbtypes.NewDbCoins(bva.OriginalVesting)), diff --git a/database/auth_test.go b/database/auth_test.go index e4ad0ee2b..96014ddf5 100644 --- a/database/auth_test.go +++ b/database/auth_test.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestSaveAccount() { diff --git a/database/bank.go b/database/bank.go index fc1e9519d..91bfa3cab 100644 --- a/database/bank.go +++ b/database/bank.go @@ -3,7 +3,7 @@ package database import ( "fmt" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lib/pq" diff --git a/database/bank_test.go b/database/bank_test.go index 9ec4db31b..7fee1e28b 100644 --- a/database/bank_test.go +++ b/database/bank_test.go @@ -3,7 +3,7 @@ package database_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { diff --git a/database/consensus.go b/database/consensus.go index 556c8c8a1..afb74f2ca 100644 --- a/database/consensus.go +++ b/database/consensus.go @@ -4,9 +4,9 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) // GetLastBlock returns the last block stored inside the database based on the heights @@ -25,20 +25,20 @@ func (db *Db) GetLastBlock() (*dbtypes.BlockRow, error) { return &blocks[0], nil } -// GetLastBlockHeight returns the last block height stored inside the database -func (db *Db) GetLastBlockHeight() (int64, error) { - stmt := `SELECT height FROM block ORDER BY height DESC LIMIT 1` +// GetLastBlockHeight returns the last block height and timestamp stored inside the database +func (db *Db) GetLastBlockHeightAndTimestamp() (dbtypes.BlockHeightAndTimestamp, error) { + stmt := `SELECT height, timestamp FROM block ORDER BY height DESC LIMIT 1` - var heights []int64 - if err := db.Sqlx.Select(&heights, stmt); err != nil { - return 0, err + var blockHeightAndTimestamp []dbtypes.BlockHeightAndTimestamp + if err := db.Sqlx.Select(&blockHeightAndTimestamp, stmt); err != nil { + return dbtypes.BlockHeightAndTimestamp{}, fmt.Errorf("cannot get last block height and timestamp from db: %s", err) } - if len(heights) == 0 { - return 0, nil + if len(blockHeightAndTimestamp) == 0 { + return dbtypes.BlockHeightAndTimestamp{}, nil } - return heights[0], nil + return blockHeightAndTimestamp[0], nil } // ------------------------------------------------------------------------------------------------------------------- diff --git a/database/consensus_test.go b/database/consensus_test.go index 2511e47aa..6537a5bdf 100644 --- a/database/consensus_test.go +++ b/database/consensus_test.go @@ -1,10 +1,10 @@ package database_test import ( - time "time" + "time" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) func (suite *DbTestSuite) TestSaveConsensus_GetBlockHeightTimeMinuteAgo() { diff --git a/database/database.go b/database/database.go index 8b48f624a..da5d4bc10 100644 --- a/database/database.go +++ b/database/database.go @@ -3,8 +3,8 @@ package database import ( "fmt" - db "github.com/forbole/juno/v4/database" - "github.com/forbole/juno/v4/database/postgresql" + db "github.com/forbole/juno/v5/database" + "github.com/forbole/juno/v5/database/postgresql" "github.com/jmoiron/sqlx" ) diff --git a/database/database_test.go b/database/database_test.go index 6fb239c0c..7617b28b7 100644 --- a/database/database_test.go +++ b/database/database_test.go @@ -9,22 +9,24 @@ import ( "testing" "time" - dbconfig "github.com/forbole/juno/v4/database/config" - "github.com/forbole/juno/v4/logging" + "github.com/cheqd/cheqd-node/app" + dbconfig "github.com/forbole/juno/v5/database/config" + "github.com/forbole/juno/v5/logging" - junodb "github.com/forbole/juno/v4/database" + junodb "github.com/forbole/juno/v5/database" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/types" + "github.com/forbole/callisto/v4/types/config" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" + tmversion "github.com/cometbft/cometbft/proto/tendermint/version" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" sdk "github.com/cosmos/cosmos-sdk/types" - tmversion "github.com/tendermint/tendermint/proto/tendermint/version" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/cosmos/cosmos-sdk/types/module" - "github.com/cosmos/cosmos-sdk/simapp" "github.com/stretchr/testify/suite" _ "github.com/proullon/ramsql/driver" @@ -41,12 +43,12 @@ type DbTestSuite struct { } func (suite *DbTestSuite) SetupTest() { - // Create the codec - codec := simapp.MakeTestEncodingConfig() + // Create the encodingConfig + encodingConfig := config.MakeEncodingConfig([]module.BasicManager{app.ModuleBasics})() // Build the database dbCfg := dbconfig.NewDatabaseConfig( - "postgresql://bdjuno:password@localhost:6433/bdjuno?sslmode=disable&search_path=public", + "postgresql://callisto:password@localhost:6433/callisto?sslmode=disable&search_path=public", "", "", "", @@ -56,7 +58,7 @@ func (suite *DbTestSuite) SetupTest() { 100000, 100, ) - db, err := database.Builder(junodb.NewContext(dbCfg, &codec, logging.DefaultLogger())) + db, err := database.Builder(junodb.NewContext(dbCfg, encodingConfig, logging.DefaultLogger())) suite.Require().NoError(err) bigDipperDb, ok := (db).(*database.Db) diff --git a/database/did.go b/database/did.go index 60959ed63..58da85acf 100644 --- a/database/did.go +++ b/database/did.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" "github.com/lib/pq" ) diff --git a/database/distribution.go b/database/distribution.go index 94d2d2c7d..94619fa16 100644 --- a/database/distribution.go +++ b/database/distribution.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lib/pq" diff --git a/database/distribution_test.go b/database/distribution_test.go index 6aa4f7bab..356311dda 100644 --- a/database/distribution_test.go +++ b/database/distribution_test.go @@ -5,12 +5,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - bddbtypes "github.com/forbole/bdjuno/v4/database/types" + bddbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { diff --git a/database/feegrant.go b/database/feegrant.go index 9ffaf4286..7737953ee 100644 --- a/database/feegrant.go +++ b/database/feegrant.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveFeeGrantAllowance allows to store the fee grant allowances for the given block height diff --git a/database/feegrant_test.go b/database/feegrant_test.go index 0f329a543..a41e283b9 100644 --- a/database/feegrant_test.go +++ b/database/feegrant_test.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveFeeGrantAllowance() { @@ -36,10 +36,6 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveFeeGrantAllowance() { suite.Require().Equal(rows[0].Grantee, grantee.String()) suite.Require().Equal(rows[0].Height, int64(121622)) - var stored feegranttypes.FeeAllowanceI - err = suite.database.Cdc.UnmarshalInterfaceJSON([]byte(rows[0].Allowance), &stored) - suite.Require().NoError(err) - suite.Require().Equal(allowance, stored) } func (suite *DbTestSuite) TestBigDipperDb_RemoveFeeGrantAllowance() { diff --git a/database/gov.go b/database/gov.go index 0172a4d69..93dd66399 100644 --- a/database/gov.go +++ b/database/gov.go @@ -3,50 +3,33 @@ package database import ( "encoding/json" "fmt" + "strings" "time" codectypes "github.com/cosmos/cosmos-sdk/codec/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/gogo/protobuf/proto" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - - "github.com/forbole/bdjuno/v4/types" - - dbtypes "github.com/forbole/bdjuno/v4/database/types" - - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" "github.com/lib/pq" + + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) // SaveGovParams saves the given x/gov parameters inside the database func (db *Db) SaveGovParams(params *types.GovParams) error { - - depositParamsBz, err := json.Marshal(¶ms.DepositParams) - if err != nil { - return fmt.Errorf("error while marshaling deposit params: %s", err) - } - - votingParamsBz, err := json.Marshal(¶ms.VotingParams) - if err != nil { - return fmt.Errorf("error while marshaling voting params: %s", err) - } - - tallyingParams, err := json.Marshal(¶ms.TallyParams) + paramsBz, err := json.Marshal(¶ms.Params) if err != nil { - return fmt.Errorf("error while marshaling tally params: %s", err) + return fmt.Errorf("error while marshalling gov params: %s", err) } stmt := ` -INSERT INTO gov_params(deposit_params, voting_params, tally_params, height) -VALUES ($1, $2, $3, $4) +INSERT INTO gov_params(params, height) +VALUES ($1, $2) ON CONFLICT (one_row_id) DO UPDATE - SET deposit_params = excluded.deposit_params, - voting_params = excluded.voting_params, - tally_params = excluded.tally_params, + SET params = excluded.params, height = excluded.height WHERE gov_params.height <= excluded.height` - _, err = db.SQL.Exec(stmt, string(depositParamsBz), string(votingParamsBz), string(tallyingParams), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing gov params: %s", err) } @@ -54,41 +37,6 @@ WHERE gov_params.height <= excluded.height` return nil } -// SaveGenesisGovParams saves the genesis x/gov parameters inside the database -func (db *Db) SaveGenesisGovParams(params *types.GenesisGovParams) error { - - depositParamsBz, err := json.Marshal(¶ms.DepositParams) - if err != nil { - return fmt.Errorf("error while marshaling genesis deposit params: %s", err) - } - - votingParamsBz, err := json.Marshal(¶ms.VotingParams) - if err != nil { - return fmt.Errorf("error while marshaling genesis voting params: %s", err) - } - - tallyingParams, err := json.Marshal(¶ms.TallyParams) - if err != nil { - return fmt.Errorf("error while marshaling genesis tally params: %s", err) - } - - stmt := ` -INSERT INTO gov_params(deposit_params, voting_params, tally_params, height) -VALUES ($1, $2, $3, $4) -ON CONFLICT (one_row_id) DO UPDATE - SET deposit_params = excluded.deposit_params, - voting_params = excluded.voting_params, - tally_params = excluded.tally_params, - height = excluded.height -WHERE gov_params.height <= excluded.height` - _, err = db.SQL.Exec(stmt, string(depositParamsBz), string(votingParamsBz), string(tallyingParams), params.Height) - if err != nil { - return fmt.Errorf("error while storing genesis gov params: %s", err) - } - - return nil -} - // GetGovParams returns the most recent governance parameters func (db *Db) GetGovParams() (*types.GovParams, error) { var rows []dbtypes.GovParamsRow @@ -103,28 +51,13 @@ func (db *Db) GetGovParams() (*types.GovParams, error) { row := rows[0] - var depositParams types.DepositParams - err = json.Unmarshal([]byte(row.DepositParams), &depositParams) - if err != nil { - return nil, err - } - - var votingParams types.VotingParams - err = json.Unmarshal([]byte(row.VotingParams), &votingParams) - if err != nil { - return nil, err - } - - var tallyParams types.TallyParams - err = json.Unmarshal([]byte(row.TallyParams), &tallyParams) + var params govtypesv1.Params + err = json.Unmarshal([]byte(row.Params), ¶ms) if err != nil { return nil, err } - return types.NewGovParams( - votingParams, depositParams, tallyParams, - row.Height, - ), nil + return types.NewGovParams(¶ms, row.Height), nil } // -------------------------------------------------------------------------------------------------------------------- @@ -139,7 +72,7 @@ func (db *Db) SaveProposals(proposals []types.Proposal) error { proposalsQuery := ` INSERT INTO proposal( - id, title, description, content, proposer_address, proposal_route, proposal_type, status, + id, title, description, metadata, content, proposer_address, status, submit_time, deposit_end_time, voting_start_time, voting_end_time ) VALUES` var proposalsParams []interface{} @@ -149,34 +82,26 @@ INSERT INTO proposal( accounts = append(accounts, types.NewAccount(proposal.Proposer)) // Prepare the proposal query - vi := i * 12 - proposalsQuery += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d),", - vi+1, vi+2, vi+3, vi+4, vi+5, vi+6, vi+7, vi+8, vi+9, vi+10, vi+11, vi+12) - - // Encode the content properly - protoContent, ok := proposal.Content.(proto.Message) - if !ok { - return fmt.Errorf("invalid proposal content types: %T", proposal.Content) - } - - anyContent, err := codectypes.NewAnyWithValue(protoContent) - if err != nil { - return fmt.Errorf("error while wrapping proposal proto content: %s", err) - } - - contentBz, err := db.Cdc.MarshalJSON(anyContent) - if err != nil { - return fmt.Errorf("error while marshaling proposal content: %s", err) + vi := i * 11 + proposalsQuery += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d),", + vi+1, vi+2, vi+3, vi+4, vi+5, vi+6, vi+7, vi+8, vi+9, vi+10, vi+11) + + var jsonMessages []string + for _, msg := range proposal.Messages { + contentBz, err := db.Cdc.MarshalJSON(msg) + if err != nil { + return fmt.Errorf("error while marshalling proposal msg: %s", err) + } + jsonMessages = append(jsonMessages, string(contentBz)) } proposalsParams = append(proposalsParams, - proposal.ProposalID, - proposal.Content.GetTitle(), - proposal.Content.GetDescription(), - string(contentBz), + proposal.ID, + proposal.Title, + proposal.Summary, + proposal.Metadata, + fmt.Sprintf("[%s]", strings.Join(jsonMessages, ",")), proposal.Proposer, - proposal.ProposalRoute, - proposal.ProposalType, proposal.Status, proposal.SubmitTime, proposal.DepositEndTime, @@ -185,7 +110,7 @@ INSERT INTO proposal( ) } - // Store the accounts + // Store the proposers accounts err := db.SaveAccounts(accounts) if err != nil { return fmt.Errorf("error while storing proposers accounts: %s", err) @@ -193,7 +118,17 @@ INSERT INTO proposal( // Store the proposals proposalsQuery = proposalsQuery[:len(proposalsQuery)-1] // Remove trailing "," - proposalsQuery += " ON CONFLICT DO NOTHING" + proposalsQuery += ` +ON CONFLICT (id) DO UPDATE + SET title = excluded.title, + description = excluded.description, + content = excluded.content, + proposer_address = excluded.proposer_address, + status = excluded.status, + submit_time = excluded.submit_time, + deposit_end_time = excluded.deposit_end_time, + voting_start_time = excluded.voting_start_time, + voting_end_time = excluded.voting_end_time` _, err = db.SQL.Exec(proposalsQuery, proposalsParams...) if err != nil { return fmt.Errorf("error while storing proposals: %s", err) @@ -205,9 +140,9 @@ INSERT INTO proposal( // GetProposal returns the proposal with the given id, or nil if not found func (db *Db) GetProposal(id uint64) (types.Proposal, error) { var rows []*dbtypes.ProposalRow - err := db.Sqlx.Select(&rows, `SELECT * FROM proposal WHERE id = $1`, id) + err := db.SQL.Select(&rows, `SELECT * FROM proposal WHERE id = $1`, id) if err != nil { - return types.Proposal{}, err + return types.Proposal{}, fmt.Errorf("error while getting proposal %d: %s", id, err) } if len(rows) == 0 { @@ -216,28 +151,31 @@ func (db *Db) GetProposal(id uint64) (types.Proposal, error) { row := rows[0] - var contentAny codectypes.Any - err = db.Cdc.UnmarshalJSON([]byte(row.Content), &contentAny) - if err != nil { - return types.Proposal{}, err - } + trimContent := strings.TrimPrefix(row.Content, "{") + trimContent = strings.TrimPrefix(trimContent, "}") + jsonMessages := strings.Split(trimContent, ",") - var content govtypesv1beta1.Content - err = db.Cdc.UnpackAny(&contentAny, &content) - if err != nil { - return types.Proposal{}, err + var messages []*codectypes.Any + for _, jsonMessage := range jsonMessages { + var msg codectypes.Any + err = db.Cdc.UnmarshalJSON([]byte(jsonMessage), &msg) + if err != nil { + return types.Proposal{}, err + } + messages = append(messages, &msg) } proposal := types.NewProposal( row.ProposalID, - row.ProposalRoute, - row.ProposalType, - content, + row.Title, + row.Description, + row.Metadata, + messages, row.Status, row.SubmitTime, row.DepositEndTime, - row.VotingStartTime, - row.VotingEndTime, + dbtypes.NullTimeToTime(row.VotingStartTime), + dbtypes.NullTimeToTime(row.VotingEndTime), row.Proposer, ) return proposal, nil @@ -273,7 +211,7 @@ func (db *Db) UpdateProposal(update types.ProposalUpdate) error { update.ProposalID, ) if err != nil { - return fmt.Errorf("error while updating proposal: %s", err) + return fmt.Errorf("error while updating proposal %d: %s", update.ProposalID, err) } return nil @@ -285,25 +223,29 @@ func (db *Db) SaveDeposits(deposits []types.Deposit) error { return nil } - query := `INSERT INTO proposal_deposit (proposal_id, depositor_address, amount, timestamp, height) VALUES ` + query := `INSERT INTO proposal_deposit (proposal_id, depositor_address, + amount, timestamp, transaction_hash, height) VALUES ` var param []interface{} var accounts []types.Account for i, deposit := range deposits { - vi := i * 5 - query += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d),", vi+1, vi+2, vi+3, vi+4, vi+5) + vi := i * 6 + + accounts = append(accounts, types.NewAccount(deposit.Depositor)) + + query += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d),", vi+1, vi+2, vi+3, vi+4, vi+5, vi+6) param = append(param, deposit.ProposalID, deposit.Depositor, pq.Array(dbtypes.NewDbCoins(deposit.Amount)), deposit.Timestamp, + deposit.TransactionHash, deposit.Height, ) - accounts = append(accounts, types.NewAccount(deposit.Depositor)) } - // Store the depositor account + // Store depositors accounts err := db.SaveAccounts(accounts) if err != nil { - return fmt.Errorf("error while storing depositor account: %s", err) + return fmt.Errorf("error while storing depositors accounts: %s", err) } query = query[:len(query)-1] // Remove trailing "," @@ -326,10 +268,10 @@ WHERE proposal_deposit.height <= excluded.height` // SaveVote allows to save for the given height and the message vote func (db *Db) SaveVote(vote types.Vote) error { query := ` -INSERT INTO proposal_vote (proposal_id, voter_address, option, timestamp, height) -VALUES ($1, $2, $3, $4, $5) +INSERT INTO proposal_vote (proposal_id, voter_address, option, weight, timestamp, height) +VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT ON CONSTRAINT unique_vote DO UPDATE - SET option = excluded.option, + SET weight = excluded.weight, timestamp = excluded.timestamp, height = excluded.height WHERE proposal_vote.height <= excluded.height` @@ -340,9 +282,9 @@ WHERE proposal_vote.height <= excluded.height` return fmt.Errorf("error while storing voter account: %s", err) } - _, err = db.SQL.Exec(query, vote.ProposalID, vote.Voter, vote.Option.String(), vote.Timestamp, vote.Height) + _, err = db.SQL.Exec(query, vote.ProposalID, vote.Voter, vote.Option.String(), vote.Weight, vote.Timestamp, vote.Height) if err != nil { - return fmt.Errorf("error while storing vote: %s", err) + return fmt.Errorf("error while storing vote for proposal %d: %s", vote.ProposalID, err) } return nil @@ -393,17 +335,19 @@ func (db *Db) SaveProposalStakingPoolSnapshot(snapshot types.ProposalStakingPool stmt := ` INSERT INTO proposal_staking_pool_snapshot (proposal_id, bonded_tokens, not_bonded_tokens, height) VALUES ($1, $2, $3, $4) -ON CONFLICT ON CONSTRAINT unique_staking_pool_snapshot DO UPDATE SET - proposal_id = excluded.proposal_id, - bonded_tokens = excluded.bonded_tokens, - not_bonded_tokens = excluded.not_bonded_tokens, +ON CONFLICT ON CONSTRAINT unique_staking_pool_snapshot DO UPDATE + SET bonded_tokens = excluded.bonded_tokens, + not_bonded_tokens = excluded.not_bonded_tokens, height = excluded.height WHERE proposal_staking_pool_snapshot.height <= excluded.height` _, err := db.SQL.Exec(stmt, - snapshot.ProposalID, snapshot.Pool.BondedTokens.String(), snapshot.Pool.NotBondedTokens.String(), snapshot.Pool.Height) + snapshot.ProposalID, snapshot.Pool.BondedTokens.String(), + snapshot.Pool.NotBondedTokens.String(), snapshot.Pool.Height) + if err != nil { - return fmt.Errorf("error while storing proposal staking pool snapshot: %s", err) + return fmt.Errorf("error while storing proposal staking pool snapshot for proposal %d: %s", + snapshot.ProposalID, err) } return nil @@ -416,7 +360,7 @@ func (db *Db) SaveProposalValidatorsStatusesSnapshots(snapshots []types.Proposal } stmt := ` -INSERT INTO proposal_validator_status_snapshot(proposal_id, validator_address, voting_power, status, jailed, height) +INSERT INTO proposal_validator_status_snapshot (proposal_id, validator_address, voting_power, status, jailed, height) VALUES ` var args []interface{} @@ -425,23 +369,21 @@ VALUES ` stmt += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d),", si+1, si+2, si+3, si+4, si+5, si+6) args = append(args, - snapshot.ProposalID, snapshot.ValidatorConsAddress, snapshot.ValidatorVotingPower.String(), + snapshot.ProposalID, snapshot.ValidatorConsAddress, snapshot.ValidatorVotingPower, snapshot.ValidatorStatus, snapshot.ValidatorJailed, snapshot.Height) } stmt = stmt[:len(stmt)-1] stmt += ` -ON CONFLICT ON CONSTRAINT unique_validator_status_snapshot DO UPDATE - SET proposal_id = excluded.proposal_id, - validator_address = excluded.validator_address, - voting_power = excluded.voting_power, - status = excluded.status, +ON CONFLICT ON CONSTRAINT unique_validator_status_snapshot DO UPDATE + SET voting_power = excluded.voting_power, + status = excluded.status, jailed = excluded.jailed, height = excluded.height WHERE proposal_validator_status_snapshot.height <= excluded.height` _, err := db.SQL.Exec(stmt, args...) if err != nil { - return fmt.Errorf("error while storing proposal validator statuses snapshot: %s", err) + return fmt.Errorf("error while storing proposal validator statuses snapshots: %s", err) } return nil @@ -463,7 +405,7 @@ WHERE software_upgrade_plan.height <= excluded.height` _, err := db.SQL.Exec(stmt, proposalID, plan.Name, plan.Height, plan.Info, height) if err != nil { - return fmt.Errorf("error while storing software upgrade plan: %s", err) + return fmt.Errorf("error while storing software upgrade plan for proposal %d: %s", proposalID, err) } return nil @@ -475,7 +417,7 @@ func (db *Db) DeleteSoftwareUpgradePlan(proposalID uint64) error { _, err := db.SQL.Exec(stmt, proposalID) if err != nil { - return fmt.Errorf("error while deleting software upgrade plan: %s", err) + return fmt.Errorf("error while deleting software upgrade plan for proposal %d: %s", proposalID, err) } return nil diff --git a/database/gov_test.go b/database/gov_test.go index a3641ea59..28b31852c 100644 --- a/database/gov_test.go +++ b/database/gov_test.go @@ -4,24 +4,37 @@ import ( "fmt" "time" - sdkmath "cosmossdk.io/math" + gov "github.com/cosmos/cosmos-sdk/x/gov/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + + "github.com/forbole/callisto/v4/testutils" + "github.com/forbole/callisto/v4/types" + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/forbole/bdjuno/v4/types" - "github.com/gogo/protobuf/proto" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { - votingParams := govtypesv1.NewVotingParams(time.Second * 10) - tallyParams := govtypesv1.NewTallyParams(sdk.NewDec(10), sdk.NewDec(10), sdk.NewDec(10)) - depositParams := govtypesv1.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(10))), time.Minute*5) - original := types.NewGovParams(types.NewVotingParams(&votingParams), types.NewDepositParam(&depositParams), types.NewTallyParams(&tallyParams), 10) + params := govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + } + + original := types.NewGovParams(¶ms, 10) err := suite.database.SaveGovParams(original) suite.Require().NoError(err) @@ -32,8 +45,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a lower height - depositParams = govtypesv1.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(1000))), time.Minute*5) - updated := types.NewGovParams(types.NewVotingParams(&votingParams), types.NewDepositParam(&depositParams), types.NewTallyParams(&tallyParams), 9) + params.BurnVoteQuorum = false + updated := types.NewGovParams(¶ms, 9) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -43,8 +56,9 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { suite.Require().Equal(original, stored) // ---------------------------------------------------------------------------------------------------------------- - // Try updating with the same height depositParams = govtypesv1.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(1000))), time.Minute*5) - updated = types.NewGovParams(types.NewVotingParams(&votingParams), types.NewDepositParam(&depositParams), types.NewTallyParams(&tallyParams), 10) + // Try updating with the same height + params.BurnProposalDepositPrevote = true + updated = types.NewGovParams(¶ms, 10) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -55,9 +69,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a higher height - tallyParams = govtypesv1.NewTallyParams(sdk.NewDec(100), sdk.NewDec(100), sdk.NewDec(100)) - depositParams = govtypesv1.NewDepositParams(sdk.NewCoins(sdk.NewCoin("udesmos", sdk.NewInt(10000))), time.Minute*5) - updated = types.NewGovParams(types.NewVotingParams(&votingParams), types.NewDepositParam(&depositParams), types.NewTallyParams(&tallyParams), 11) + params.BurnVoteVeto = true + updated = types.NewGovParams(¶ms, 11) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -72,78 +85,94 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { func (suite *DbTestSuite) getProposalRow(id int) types.Proposal { proposer := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - title := fmt.Sprintf("title%d", id) - description := fmt.Sprintf("description%d", id) - proposalRoute := fmt.Sprintf("proposalRoute%d", id) - proposalType := fmt.Sprintf("proposalType%d", id) + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) proposal := types.NewProposal( uint64(id), - proposalRoute, - proposalType, - govtypesv1beta1.NewTextProposal(title, description), - govtypesv1.StatusPassed.String(), + fmt.Sprintf("Proposal %d", id), + fmt.Sprintf("Description of proposal %d", id), + fmt.Sprintf("Metadata of proposal %d", id), + []*codectypes.Any{msgAny}, + govtypesv1.StatusVotingPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer.String(), ) - err := suite.database.SaveProposals([]types.Proposal{proposal}) + err = suite.database.SaveProposals([]types.Proposal{proposal}) suite.Require().NoError(err) return proposal } -func (suite *DbTestSuite) encodeProposalContent(content govtypesv1beta1.Content) string { - protoContent, ok := content.(proto.Message) - suite.Require().True(ok) - - anyContent, err := codectypes.NewAnyWithValue(protoContent) - suite.Require().NoError(err) - - contentBz, err := suite.database.Cdc.MarshalJSON(anyContent) - suite.Require().NoError(err) - - return string(contentBz) -} - func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { proposer1 := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - proposer2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) - content1 := govtypesv1beta1.NewTextProposal("title", "description") - content2 := govtypesv1beta1.NewTextProposal("title1", "description1") + proposer2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") input := []types.Proposal{ types.NewProposal( 1, - "proposalRoute", - "proposalType", - content1, + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + []*codectypes.Any{msgAny}, govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 2, - "proposalRoute1", - "proposalType1", - content2, + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, govtypesv1.StatusPassed.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), } - err := suite.database.SaveProposals(input) + err = suite.database.SaveProposals(input) suite.Require().NoError(err) var proposalRow []dbtypes.ProposalRow @@ -153,29 +182,27 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { expected := []dbtypes.ProposalRow{ dbtypes.NewProposalRow( 1, - "proposalRoute", - "proposalType", - "title", - "description", - suite.encodeProposalContent(content1), + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + "[{\"@type\": \"/cosmos.gov.v1.MsgUpdateParams\", \"params\": {\"quorum\": \"0.5\", \"threshold\": \"0.3\", \"min_deposit\": [{\"denom\": \"uatom\", \"amount\": \"1000\"}], \"voting_period\": \"0.000300s\", \"burn_vote_veto\": false, \"veto_threshold\": \"0.15\", \"burn_vote_quorum\": false, \"max_deposit_period\": \"300s\", \"min_initial_deposit_ratio\": \"0\", \"burn_proposal_deposit_prevote\": false}, \"authority\": \"cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn\"}]", time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), govtypesv1.StatusDepositPeriod.String(), ), dbtypes.NewProposalRow( 2, - "proposalRoute1", - "proposalType1", - "title1", - "description1", - suite.encodeProposalContent(content2), + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + "[]", time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), govtypesv1.StatusPassed.String(), ), @@ -186,97 +213,116 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { } func (suite *DbTestSuite) TestBigDipperDb_GetProposal() { - content := govtypesv1beta1.NewTextProposal("title", "description") proposer := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) proposal := types.NewProposal( 1, - "proposalRoute", - "proposalType", - content, + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + []*codectypes.Any{msgAny}, govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer.String(), ) input := []types.Proposal{proposal} - err := suite.database.SaveProposals(input) + err = suite.database.SaveProposals(input) suite.Require().NoError(err) - stored, err := suite.database.GetProposal(1) + var rows []dbtypes.ProposalRow + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM proposal`) suite.Require().NoError(err) - suite.Require().True(proposal.Equal(stored)) + suite.Require().Len(rows, 1) } func (suite *DbTestSuite) TestBigDipperDb_GetOpenProposalsIds() { proposer1 := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") proposer2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") - content1 := govtypesv1beta1.NewTextProposal("title", "description") - content2 := govtypesv1beta1.NewTextProposal("title1", "description1") - invalidProposal := types.NewProposal( 6, - "proposalRoute1", - "proposalType1", - content2, + "Proposal Title 6", + "Proposal Description 6", + "Proposal Metadata 6", + nil, types.ProposalStatusInvalid, time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ) input := []types.Proposal{ types.NewProposal( 1, - "proposalRoute", - "proposalType", - content1, + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, govtypesv1.StatusVotingPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 2, - "proposalRoute", - "proposalType", - content1, + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 3, - "proposalRoute1", - "proposalType1", - content2, + "Proposal Title 3", + "Proposal Description 3", + "Proposal Metadata 3", + nil, govtypesv1.StatusPassed.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), types.NewProposal( 5, - "proposalRoute1", - "proposalType1", - content2, + "Proposal Title 5", + "Proposal Description 5", + "Proposal Metadata 5", + nil, govtypesv1.StatusRejected.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), invalidProposal, @@ -296,11 +342,11 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { proposer, err := sdk.AccAddressFromBech32(proposal.Proposer) suite.Require().NoError(err) - timestamp1 := time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC) - timestamp2 := time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC) + timestamp1 := testutils.NewTimePointer(time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC)) + timestamp2 := testutils.NewTimePointer(time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC)) update := types.NewProposalUpdate( - proposal.ProposalID, + proposal.ID, govtypesv1.StatusPassed.String(), timestamp1, timestamp2, @@ -310,12 +356,11 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { suite.Require().NoError(err) expected := dbtypes.NewProposalRow( - proposal.ProposalID, - proposal.ProposalRoute, - proposal.ProposalType, - proposal.Content.GetTitle(), - proposal.Content.GetDescription(), - suite.encodeProposalContent(proposal.Content), + proposal.ID, + "Proposal 1", + "Description of proposal 1", + "Metadata of proposal 1", + "[{\"@type\": \"/cosmos.gov.v1.MsgUpdateParams\", \"params\": {\"quorum\": \"0.5\", \"threshold\": \"0.3\", \"min_deposit\": [{\"denom\": \"uatom\", \"amount\": \"1000\"}], \"voting_period\": \"0.000300s\", \"burn_vote_veto\": false, \"veto_threshold\": \"0.15\", \"burn_vote_quorum\": false, \"max_deposit_period\": \"300s\", \"min_initial_deposit_ratio\": \"0\", \"burn_proposal_deposit_prevote\": false}, \"authority\": \"cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn\"}]", proposal.SubmitTime, proposal.DepositEndTime, timestamp1, @@ -324,13 +369,10 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { govtypesv1.StatusPassed.String(), ) - var result []dbtypes.ProposalRow - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal`) + var stored dbtypes.ProposalRow + err = suite.database.SQL.Get(&stored, `SELECT * FROM proposal LIMIT 1`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - for _, r := range result { - suite.Require().True(expected.Equals(r)) - } + suite.Require().True(expected.Equals(stored)) } // ------------------------------------------------------------------------------------------------------------------- @@ -344,30 +386,33 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { depositor := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") amount := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10000))) + txHash := "D40FE0C386FA85677FFB9B3C4CECD54CF2CD7ABECE4EF15FAEF328FCCBF4C3A8" depositor2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") amount2 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30000))) + txHash2 := "40A9812A137256E88593E19428E006C01D87DB35F60F8D14739B4A46AC3C67A5" depositor3 := suite.getAccount("cosmos1gyds87lg3m52hex9yqta2mtwzw89pfukx3jl7g") amount3 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(50000))) + txHash3 := "086CFE10741EF3800DB7F72B1666DE298DD40913BBB84C5530C87AF5EDE8027A" timestamp1 := time.Date(2020, 1, 1, 15, 00, 00, 000, time.UTC) timestamp2 := time.Date(2020, 1, 1, 16, 00, 00, 000, time.UTC) timestamp3 := time.Date(2020, 1, 1, 17, 00, 00, 000, time.UTC) deposit := []types.Deposit{ - types.NewDeposit(proposal.ProposalID, depositor.String(), amount, timestamp1, 10), - types.NewDeposit(proposal.ProposalID, depositor2.String(), amount2, timestamp2, 10), - types.NewDeposit(proposal.ProposalID, depositor3.String(), amount3, timestamp3, 10), + types.NewDeposit(proposal.ID, depositor.String(), amount, timestamp1, txHash, 10), + types.NewDeposit(proposal.ID, depositor2.String(), amount2, timestamp2, txHash2, 10), + types.NewDeposit(proposal.ID, depositor3.String(), amount3, timestamp3, txHash3, 10), } err := suite.database.SaveDeposits(deposit) suite.Require().NoError(err) expected := []dbtypes.DepositRow{ - dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, 10), - dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, 10), - dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), timestamp3, 10), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, txHash, 10), + dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, txHash2, 10), + dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), timestamp3, txHash3, 10), } var result []dbtypes.DepositRow err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_deposit`) @@ -379,28 +424,24 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { // ---------------------------------------------------------------------------------------------------------------- // Update values - amount = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10))) - amount2 = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(20))) - amount3 = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30))) - deposit = []types.Deposit{ - types.NewDeposit(proposal.ProposalID, depositor.String(), amount, timestamp1, 9), - types.NewDeposit(proposal.ProposalID, depositor2.String(), amount2, timestamp2, 10), - types.NewDeposit(proposal.ProposalID, depositor3.String(), amount3, timestamp3, 11), + types.NewDeposit(proposal.ID, depositor.String(), amount, timestamp1, "8E6EA32C656A6EED84132425533E897D458F1B877080DF842B068C4AS92WP01A", 9), + types.NewDeposit(proposal.ID, depositor2.String(), amount2, timestamp2, txHash2, 11), + types.NewDeposit(proposal.ID, depositor3.String(), sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30))), timestamp3, txHash3, 11), } err = suite.database.SaveDeposits(deposit) suite.Require().NoError(err) expected = []dbtypes.DepositRow{ - dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins( - sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10000)))), timestamp1, 10), - dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, 10), - dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), timestamp3, 11), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, txHash, 10), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, "8E6EA32C656A6EED84132425533E897D458F1B877080DF842B068C4AS92WP01A", 9), + dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, txHash2, 11), + dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30)))), timestamp3, txHash3, 11), } result = []dbtypes.DepositRow{} - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_deposit`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_deposit`) suite.Require().NoError(err) for i, r := range result { suite.Require().True(expected[i].Equals(r)) @@ -419,54 +460,86 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveVote() { timestamp := time.Date(2020, 1, 1, 15, 00, 00, 000, time.UTC) - vote := types.NewVote(1, voter.String(), govtypesv1.OptionYes, timestamp, 1) + vote := types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.5", timestamp, 1) err := suite.database.SaveVote(vote) suite.Require().NoError(err) - expected := dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypesv1.OptionYes.String(), timestamp, 1) + vote2 := types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.5", timestamp, 1) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + + expected := []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.5", timestamp, 1), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.5", timestamp, 1), + } var result []dbtypes.VoteRow - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with lower height should not change option - vote = types.NewVote(1, voter.String(), govtypesv1.OptionNo, timestamp, 0) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.7", timestamp, 0) err = suite.database.SaveVote(vote) suite.Require().NoError(err) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.3", timestamp, 0) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + result = []dbtypes.VoteRow{} - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with same height should change option - vote = types.NewVote(1, voter.String(), govtypesv1.OptionAbstain, timestamp, 1) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.6", timestamp, 1) err = suite.database.SaveVote(vote) suite.Require().NoError(err) - expected = dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypesv1.OptionAbstain.String(), timestamp, 1) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.4", timestamp, 1) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + + expected = []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.6", timestamp, 1), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.4", timestamp, 1), + } result = []dbtypes.VoteRow{} err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with higher height should change option - vote = types.NewVote(1, voter.String(), govtypesv1.OptionNoWithVeto, timestamp, 2) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.6", timestamp, 3) err = suite.database.SaveVote(vote) suite.Require().NoError(err) - expected = dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypesv1.OptionNoWithVeto.String(), timestamp, 2) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.4", timestamp, 3) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + expected = []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.6", timestamp, 3), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.4", timestamp, 3), + } result = []dbtypes.VoteRow{} err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } } func (suite *DbTestSuite) TestBigDipperDb_SaveTallyResults() { @@ -638,16 +711,16 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot types.NewProposalValidatorStatusSnapshot( 1, validator1.GetConsAddr(), - sdkmath.NewInt(100), - int(stakingtypes.Bonded), + 100, + stakingtypes.Bonded, false, 10, ), types.NewProposalValidatorStatusSnapshot( 1, validator2.GetConsAddr(), - sdkmath.NewInt(100), - int(stakingtypes.Unbonding), + 100, + stakingtypes.Unbonding, true, 10, ), @@ -687,16 +760,16 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot types.NewProposalValidatorStatusSnapshot( 1, validator1.GetConsAddr(), - sdkmath.NewInt(10), - int(stakingtypes.Bonded), + 10, + stakingtypes.Bonded, true, 9, ), types.NewProposalValidatorStatusSnapshot( 1, validator2.GetConsAddr(), - sdkmath.NewInt(700), - int(stakingtypes.Unbonding), + 700, + stakingtypes.Unbonding, true, 9, ), @@ -736,16 +809,16 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot types.NewProposalValidatorStatusSnapshot( 1, validator1.GetConsAddr(), - sdkmath.NewInt(10), - int(stakingtypes.Bonded), + 10, + stakingtypes.Bonded, true, 10, ), types.NewProposalValidatorStatusSnapshot( 1, validator2.GetConsAddr(), - sdkmath.NewInt(700), - int(stakingtypes.Unbonding), + 700, + stakingtypes.Unbonding, true, 10, ), @@ -785,16 +858,16 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot types.NewProposalValidatorStatusSnapshot( 1, validator1.GetConsAddr(), - sdkmath.NewInt(100000), - int(stakingtypes.Unspecified), + 100000, + stakingtypes.Unspecified, false, 11, ), types.NewProposalValidatorStatusSnapshot( 1, validator2.GetConsAddr(), - sdkmath.NewInt(700000), - int(stakingtypes.Unbonded), + 700000, + stakingtypes.Unbonded, false, 11, ), diff --git a/database/message_type.go b/database/message_type.go index 99fa81b4c..aafaac00b 100644 --- a/database/message_type.go +++ b/database/message_type.go @@ -1,7 +1,7 @@ package database import ( - types "github.com/forbole/bdjuno/v4/types" + types "github.com/forbole/callisto/v4/types" ) // SaveMessageType stores the given message type inside the database diff --git a/database/migrate/v5/migrate.go b/database/migrate/v5/migrate.go index 2c39d9297..0fd00b242 100644 --- a/database/migrate/v5/migrate.go +++ b/database/migrate/v5/migrate.go @@ -3,8 +3,8 @@ package v5 import ( "fmt" - utils "github.com/forbole/bdjuno/v4/modules/utils" - "github.com/forbole/bdjuno/v4/types" + utils "github.com/forbole/callisto/v4/modules/utils" + "github.com/forbole/callisto/v4/types" ) // Migrate implements database.Migrator diff --git a/database/migrate/v5/migrator.go b/database/migrate/v5/migrator.go index ce30a031b..5255d88ad 100644 --- a/database/migrate/v5/migrator.go +++ b/database/migrate/v5/migrator.go @@ -3,8 +3,8 @@ package v5 import ( "github.com/jmoiron/sqlx" - "github.com/forbole/juno/v4/database" - "github.com/forbole/juno/v4/database/postgresql" + "github.com/forbole/juno/v5/database" + "github.com/forbole/juno/v5/database/postgresql" ) var _ database.Migrator = &Migrator{} diff --git a/database/mint.go b/database/mint.go index 0a3669485..6f83b74d9 100644 --- a/database/mint.go +++ b/database/mint.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveInflation allows to store the inflation for the given block height as well as timestamp diff --git a/database/mint_test.go b/database/mint_test.go index 233b17d46..ae962a4fb 100644 --- a/database/mint_test.go +++ b/database/mint_test.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { diff --git a/database/pricefeed.go b/database/pricefeed.go index aca814382..19f6d9bba 100644 --- a/database/pricefeed.go +++ b/database/pricefeed.go @@ -3,9 +3,9 @@ package database import ( "fmt" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" "github.com/lib/pq" ) diff --git a/database/pricefeed_test.go b/database/pricefeed_test.go index a246df41c..d1bfe534d 100644 --- a/database/pricefeed_test.go +++ b/database/pricefeed_test.go @@ -4,9 +4,9 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) insertToken(name string) { diff --git a/database/resource.go b/database/resource.go index 522e5afcc..3450074fd 100644 --- a/database/resource.go +++ b/database/resource.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveResource allows to store the given resource inside the database diff --git a/database/schema/08-gov.sql b/database/schema/08-gov.sql index 271de7c1f..17293dd00 100644 --- a/database/schema/08-gov.sql +++ b/database/schema/08-gov.sql @@ -1,10 +1,8 @@ CREATE TABLE gov_params ( - one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, - deposit_params JSONB NOT NULL, - voting_params JSONB NOT NULL, - tally_params JSONB NOT NULL, - height BIGINT NOT NULL, + one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, + params JSONB NOT NULL, + height BIGINT NOT NULL, CHECK (one_row_id) ); @@ -13,9 +11,8 @@ CREATE TABLE proposal id INTEGER NOT NULL PRIMARY KEY, title TEXT NOT NULL, description TEXT NOT NULL, - content JSONB NOT NULL, - proposal_route TEXT NOT NULL, - proposal_type TEXT NOT NULL, + metadata TEXT NOT NULL, + content JSONB NOT NULL DEFAULT '[]'::JSONB, submit_time TIMESTAMP NOT NULL, deposit_end_time TIMESTAMP, voting_start_time TIMESTAMP, @@ -28,11 +25,12 @@ CREATE INDEX proposal_proposer_address_index ON proposal (proposer_address); CREATE TABLE proposal_deposit ( proposal_id INTEGER NOT NULL REFERENCES proposal (id), - depositor_address TEXT REFERENCES account (address), + depositor_address TEXT REFERENCES account (address), amount COIN[], timestamp TIMESTAMP, + transaction_hash TEXT NOT NULL, height BIGINT NOT NULL, - CONSTRAINT unique_deposit UNIQUE (proposal_id, depositor_address) + CONSTRAINT unique_deposit UNIQUE (proposal_id, depositor_address, transaction_hash) ); CREATE INDEX proposal_deposit_proposal_id_index ON proposal_deposit (proposal_id); CREATE INDEX proposal_deposit_depositor_address_index ON proposal_deposit (depositor_address); @@ -43,9 +41,10 @@ CREATE TABLE proposal_vote proposal_id INTEGER NOT NULL REFERENCES proposal (id), voter_address TEXT NOT NULL REFERENCES account (address), option TEXT NOT NULL, + weight TEXT NOT NULL, timestamp TIMESTAMP, height BIGINT NOT NULL, - CONSTRAINT unique_vote UNIQUE (proposal_id, voter_address) + CONSTRAINT unique_vote UNIQUE (proposal_id, voter_address, option) ); CREATE INDEX proposal_vote_proposal_id_index ON proposal_vote (proposal_id); CREATE INDEX proposal_vote_voter_address_index ON proposal_vote (voter_address); @@ -54,10 +53,10 @@ CREATE INDEX proposal_vote_height_index ON proposal_vote (height); CREATE TABLE proposal_tally_result ( proposal_id INTEGER REFERENCES proposal (id) PRIMARY KEY, - yes TEXT NOT NULL, - abstain TEXT NOT NULL, - no TEXT NOT NULL, - no_with_veto TEXT NOT NULL, + yes TEXT NOT NULL, + abstain TEXT NOT NULL, + no TEXT NOT NULL, + no_with_veto TEXT NOT NULL, height BIGINT NOT NULL, CONSTRAINT unique_tally_result UNIQUE (proposal_id) ); @@ -76,7 +75,7 @@ CREATE INDEX proposal_staking_pool_snapshot_proposal_id_index ON proposal_stakin CREATE TABLE proposal_validator_status_snapshot ( - id SERIAL PRIMARY KEY NOT NULL, + id SERIAL PRIMARY KEY NOT NULL, proposal_id INTEGER REFERENCES proposal (id), validator_address TEXT NOT NULL REFERENCES validator (consensus_address), voting_power TEXT NOT NULL, diff --git a/database/slashing.go b/database/slashing.go index 55a4bbeda..2bf127c87 100644 --- a/database/slashing.go +++ b/database/slashing.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveValidatorsSigningInfos saves the given infos inside the database diff --git a/database/slashing_test.go b/database/slashing_test.go index ed0e85c85..39ca15589 100644 --- a/database/slashing_test.go +++ b/database/slashing_test.go @@ -4,12 +4,12 @@ import ( "encoding/json" "time" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_ValidatorSigningInfo() { diff --git a/database/staking_params.go b/database/staking_params.go index f6e5924a0..b24942af7 100644 --- a/database/staking_params.go +++ b/database/staking_params.go @@ -6,8 +6,8 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) // SaveStakingParams allows to store the given params into the database diff --git a/database/staking_params_test.go b/database/staking_params_test.go index 849ee4734..7a99945f9 100644 --- a/database/staking_params_test.go +++ b/database/staking_params_test.go @@ -7,8 +7,9 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) func (suite *DbTestSuite) TestSaveStakingParams() { diff --git a/database/staking_pool.go b/database/staking_pool.go index 0e2d83bf9..b9f31affd 100644 --- a/database/staking_pool.go +++ b/database/staking_pool.go @@ -3,7 +3,7 @@ package database import ( "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // SaveStakingPool allows to save for the given height the given stakingtypes pool diff --git a/database/staking_pool_test.go b/database/staking_pool_test.go index ceaeecd55..3e4f116f5 100644 --- a/database/staking_pool_test.go +++ b/database/staking_pool_test.go @@ -3,8 +3,8 @@ package database_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { diff --git a/database/staking_validators.go b/database/staking_validators.go index b48cf5123..ce6bf4044 100644 --- a/database/staking_validators.go +++ b/database/staking_validators.go @@ -3,9 +3,9 @@ package database import ( "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -456,24 +456,40 @@ VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT DO NOTHING RETURNING id` return id, err } -// SaveDoubleSignEvidence saves the given double sign evidence inside the proper tables -func (db *Db) SaveDoubleSignEvidence(evidence types.DoubleSignEvidence) error { - voteA, err := db.saveDoubleSignVote(evidence.VoteA) - if err != nil { - return fmt.Errorf("error while storing double sign vote: %s", err) - } - - voteB, err := db.saveDoubleSignVote(evidence.VoteB) - if err != nil { - return fmt.Errorf("error while storing double sign vote: %s", err) +// SaveDoubleSignEvidences saves the given double sign evidences inside the database +func (db *Db) SaveDoubleSignEvidences(evidence []types.DoubleSignEvidence) error { + if len(evidence) == 0 { + return nil } stmt := ` INSERT INTO double_sign_evidence (height, vote_a_id, vote_b_id) -VALUES ($1, $2, $3) ON CONFLICT DO NOTHING` - _, err = db.SQL.Exec(stmt, evidence.Height, voteA, voteB) +VALUES ` + + var doubleSignEvidence []interface{} + + for i, ev := range evidence { + voteA, err := db.saveDoubleSignVote(ev.VoteA) + if err != nil { + return fmt.Errorf("error while storing double sign vote: %s", err) + } + + voteB, err := db.saveDoubleSignVote(ev.VoteB) + if err != nil { + return fmt.Errorf("error while storing double sign vote: %s", err) + } + + si := i * 3 + stmt += fmt.Sprintf("($%d,$%d,$%d),", si+1, si+2, si+3) + doubleSignEvidence = append(doubleSignEvidence, ev.Height, voteA, voteB) + + } + + stmt = stmt[:len(stmt)-1] // remove tailing "," + stmt += " ON CONFLICT DO NOTHING" + _, err := db.SQL.Exec(stmt, doubleSignEvidence...) if err != nil { - return fmt.Errorf("error while storing double sign evidence: %s", err) + return fmt.Errorf("error while storing double sign evidences: %s", err) } return nil diff --git a/database/staking_validators_test.go b/database/staking_validators_test.go index 7a15049d9..bc178a85b 100644 --- a/database/staking_validators_test.go +++ b/database/staking_validators_test.go @@ -1,13 +1,15 @@ package database_test import ( - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" + tmtypes "github.com/cometbft/cometbft/proto/tendermint/types" + + "github.com/forbole/callisto/v4/types" sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + + dbtypes "github.com/forbole/callisto/v4/database/types" ) func newDecPts(value int64, prec int64) *sdk.Dec { @@ -721,9 +723,9 @@ func (suite *DbTestSuite) TestSaveDoubleVoteEvidence() { "cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl", "cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8", ) - + var evidences []types.DoubleSignEvidence // Insert data - evidence := types.NewDoubleSignEvidence( + evidences = append(evidences, types.NewDoubleSignEvidence( 10, types.NewDoubleSignVote( int(tmtypes.PrevoteType), @@ -743,8 +745,9 @@ func (suite *DbTestSuite) TestSaveDoubleVoteEvidence() { 1, "A5m7SVuvZ8YNXcUfBKLgkeV+Vy5ea+7rPfzlbkEvHOPPce6B7A2CwOIbCmPSVMKUarUdta+HiyTV+IELaOYyDA==", ), + ), ) - err := suite.database.SaveDoubleSignEvidence(evidence) + err := suite.database.SaveDoubleSignEvidences(evidences) suite.Require().NoError(err) // Verify insertion diff --git a/database/top_accounts.go b/database/top_accounts.go index 9e94c62dc..32258800a 100644 --- a/database/top_accounts.go +++ b/database/top_accounts.go @@ -3,8 +3,8 @@ package database import ( "fmt" - dbutils "github.com/forbole/bdjuno/v4/database/utils" - "github.com/forbole/bdjuno/v4/types" + dbutils "github.com/forbole/callisto/v4/database/utils" + "github.com/forbole/callisto/v4/types" ) // SaveTopAccounts saves top accounts inside the database diff --git a/database/top_accounts_test.go b/database/top_accounts_test.go index 56e147cc7..d89ef1571 100644 --- a/database/top_accounts_test.go +++ b/database/top_accounts_test.go @@ -2,8 +2,8 @@ package database_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/types" ) func (suite *DbTestSuite) TestSaveTopAccountsBalance() { diff --git a/database/types/consensus.go b/database/types/consensus.go index f16356a0a..4852979d0 100644 --- a/database/types/consensus.go +++ b/database/types/consensus.go @@ -87,3 +87,11 @@ type BlockRow struct { PreCommitsNum int64 `db:"pre_commits"` Timestamp time.Time `db:"timestamp"` } + +// ------------------------------------------------------------------------------------------------------------------- + +// BlockHeightAndTimestamp represents last block height and timestamp stored inside the database +type BlockHeightAndTimestamp struct { + Height int64 `db:"height"` + BlockTimestamp time.Time `db:"timestamp"` +} diff --git a/database/types/gov.go b/database/types/gov.go index 8025320f2..6afd3e366 100644 --- a/database/types/gov.go +++ b/database/types/gov.go @@ -1,64 +1,60 @@ package types import ( + "database/sql" "time" ) // GovParamsRow represents a single row of the "gov_params" table type GovParamsRow struct { - OneRowID bool `db:"one_row_id"` - DepositParams string `db:"deposit_params"` - VotingParams string `db:"voting_params"` - TallyParams string `db:"tally_params"` - Height int64 `db:"height"` + OneRowID bool `db:"one_row_id"` + Params string `db:"params"` + Height int64 `db:"height"` } // -------------------------------------------------------------------------------------------------------------------- // ProposalRow represents a single row inside the proposal table type ProposalRow struct { - Title string `db:"title"` - Description string `db:"description"` - Content string `db:"content"` - ProposalRoute string `db:"proposal_route"` - ProposalType string `db:"proposal_type"` - ProposalID uint64 `db:"id"` - SubmitTime time.Time `db:"submit_time"` - DepositEndTime time.Time `db:"deposit_end_time"` - VotingStartTime time.Time `db:"voting_start_time"` - VotingEndTime time.Time `db:"voting_end_time"` - Proposer string `db:"proposer_address"` - Status string `db:"status"` + Title string `db:"title"` + Description string `db:"description"` + Metadata string `db:"metadata"` + Content string `db:"content"` + ProposalID uint64 `db:"id"` + SubmitTime time.Time `db:"submit_time"` + DepositEndTime time.Time `db:"deposit_end_time"` + VotingStartTime sql.NullTime `db:"voting_start_time"` + VotingEndTime sql.NullTime `db:"voting_end_time"` + Proposer string `db:"proposer_address"` + Status string `db:"status"` } // NewProposalRow allows to easily create a new ProposalRow func NewProposalRow( proposalID uint64, - proposalRoute string, - proposalType string, title string, description string, + metadata string, content string, submitTime time.Time, depositEndTime time.Time, - votingStartTime time.Time, - votingEndTime time.Time, + votingStartTime *time.Time, + votingEndTime *time.Time, proposer string, status string, ) ProposalRow { return ProposalRow{ + ProposalID: proposalID, Title: title, Description: description, + Metadata: metadata, Content: content, - ProposalRoute: proposalRoute, - ProposalType: proposalType, - ProposalID: proposalID, + Status: status, SubmitTime: submitTime, DepositEndTime: depositEndTime, - VotingStartTime: votingStartTime, - VotingEndTime: votingEndTime, + VotingStartTime: TimeToNullTime(votingStartTime), + VotingEndTime: TimeToNullTime(votingEndTime), Proposer: proposer, - Status: status, } } @@ -66,13 +62,13 @@ func NewProposalRow( func (w ProposalRow) Equals(v ProposalRow) bool { return w.Title == v.Title && w.Description == v.Description && - w.ProposalRoute == v.ProposalRoute && - w.ProposalType == v.ProposalType && + w.Metadata == v.Metadata && + w.Content == v.Content && w.ProposalID == v.ProposalID && w.SubmitTime.Equal(v.SubmitTime) && w.DepositEndTime.Equal(v.DepositEndTime) && - w.VotingStartTime.Equal(v.VotingStartTime) && - w.VotingEndTime.Equal(v.VotingEndTime) && + AreNullTimesEqual(w.VotingStartTime, v.VotingStartTime) && + AreNullTimesEqual(w.VotingEndTime, v.VotingEndTime) && w.Proposer == v.Proposer && w.Status == v.Status } @@ -121,6 +117,7 @@ type VoteRow struct { ProposalID int64 `db:"proposal_id"` Voter string `db:"voter_address"` Option string `db:"option"` + Weight string `db:"weight"` Timestamp time.Time `db:"timestamp"` Height int64 `db:"height"` } @@ -130,6 +127,7 @@ func NewVoteRow( proposalID int64, voter string, option string, + weight string, timestamp time.Time, height int64, ) VoteRow { @@ -137,6 +135,7 @@ func NewVoteRow( ProposalID: proposalID, Voter: voter, Option: option, + Weight: weight, Timestamp: timestamp, Height: height, } @@ -147,17 +146,19 @@ func (w VoteRow) Equals(v VoteRow) bool { return w.ProposalID == v.ProposalID && w.Voter == v.Voter && w.Option == v.Option && + w.Weight == v.Weight && w.Timestamp.Equal(v.Timestamp) && w.Height == v.Height } // DepositRow represents a single row inside the deposit table type DepositRow struct { - ProposalID int64 `db:"proposal_id"` - Depositor string `db:"depositor_address"` - Amount DbCoins `db:"amount"` - Timestamp time.Time `db:"timestamp"` - Height int64 `db:"height"` + ProposalID int64 `db:"proposal_id"` + Depositor string `db:"depositor_address"` + Amount DbCoins `db:"amount"` + Timestamp time.Time `db:"timestamp"` + TransactionHash string `db:"transaction_hash"` + Height int64 `db:"height"` } // NewDepositRow allows to easily create a new NewDepositRow @@ -166,14 +167,16 @@ func NewDepositRow( depositor string, amount DbCoins, timestamp time.Time, + transactionHash string, height int64, ) DepositRow { return DepositRow{ - ProposalID: proposalID, - Depositor: depositor, - Amount: amount, - Timestamp: timestamp, - Height: height, + ProposalID: proposalID, + Depositor: depositor, + Amount: amount, + Timestamp: timestamp, + TransactionHash: transactionHash, + Height: height, } } @@ -183,6 +186,7 @@ func (w DepositRow) Equals(v DepositRow) bool { w.Depositor == v.Depositor && w.Amount.Equal(&v.Amount) && w.Timestamp.Equal(v.Timestamp) && + w.TransactionHash == v.TransactionHash && w.Height == v.Height } diff --git a/database/types/utils.go b/database/types/utils.go index be8d7783d..5be6926f1 100644 --- a/database/types/utils.go +++ b/database/types/utils.go @@ -1,5 +1,10 @@ package types +import ( + "database/sql" + "time" +) + // ModuleRow represents a single row inside the modules table type ModuleRow struct { Module string `db:"module_name"` @@ -39,3 +44,24 @@ func (v ModuleRows) Equal(w *ModuleRows) bool { } return true } + +func TimeToNullTime(t *time.Time) sql.NullTime { + if t == nil { + return sql.NullTime{} + } + return sql.NullTime{ + Time: *t, + Valid: true, + } +} + +func NullTimeToTime(t sql.NullTime) *time.Time { + if !t.Valid { + return nil + } + return &t.Time +} + +func AreNullTimesEqual(first sql.NullTime, second sql.NullTime) bool { + return first.Valid == second.Valid && first.Time.Equal(second.Time) +} diff --git a/database/utils/bank.go b/database/utils/bank.go index 6e88b6e5a..365b671cc 100644 --- a/database/utils/bank.go +++ b/database/utils/bank.go @@ -1,6 +1,6 @@ package utils -import "github.com/forbole/bdjuno/v4/types" +import "github.com/forbole/callisto/v4/types" const ( maxPostgreSQLParams = 65535 diff --git a/database/utils_test.go b/database/utils_test.go index 99600801c..af45d44c2 100644 --- a/database/utils_test.go +++ b/database/utils_test.go @@ -1,7 +1,7 @@ package database_test import ( - "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_InsertEnableModules() { diff --git a/docker-compose.yml b/docker-compose.yml index b382d6379..352c1d838 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,12 +15,12 @@ services: HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log ## uncomment next line to set an admin secret # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey - bdjuno: + callisto: build: context: . dockerfile: Dockerfile restart: always - command: bdjuno parse --home /bdjuno/.bdjuno + command: callisto parse --home /callisto/.callisto volumes: ## Modify first path to match configuration file. - - /bdjuno/.bdjuno:/bdjuno/.bdjuno + - /callisto/.callisto:/callisto/.callisto diff --git a/go.mod b/go.mod index 2247e336d..3801805e8 100644 --- a/go.mod +++ b/go.mod @@ -1,14 +1,16 @@ -module github.com/forbole/bdjuno/v4 +module github.com/forbole/callisto/v4 -go 1.19 +go 1.20 require ( - cosmossdk.io/math v1.2.0 + cosmossdk.io/math v1.3.0 github.com/cheqd/cheqd-node v1.4.4 - github.com/cosmos/cosmos-sdk v0.46.10 - github.com/forbole/juno/v4 v4.2.1-0.20231229085234-1fbaa999bb36 // custom version with cheqd message handler + github.com/cometbft/cometbft v0.37.4 + github.com/cosmos/cosmos-sdk v0.47.10 + github.com/cosmos/gogoproto v1.4.11 + github.com/forbole/juno/v5 v5.2.1-0.20240201075935-851426ddd905 github.com/go-co-op/gocron v1.37.0 - github.com/gogo/protobuf v1.3.3 + github.com/gogo/protobuf v1.3.2 github.com/golangci/golangci-lint v1.55.2 github.com/jmoiron/sqlx v1.3.5 github.com/lib/pq v1.10.9 @@ -17,22 +19,26 @@ require ( github.com/proullon/ramsql v0.1.3 github.com/rs/zerolog v1.32.0 github.com/spf13/cobra v1.8.0 - github.com/stretchr/testify v1.8.4 - github.com/tendermint/tendermint v0.34.26 - google.golang.org/grpc v1.61.0 + github.com/stretchr/testify v1.9.0 + google.golang.org/grpc v1.63.0 gopkg.in/yaml.v3 v3.0.1 ) require ( 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect 4d63.com/gochecknoglobals v0.2.1 // indirect - cloud.google.com/go v0.110.10 // indirect - cloud.google.com/go/compute v1.23.3 // indirect + cloud.google.com/go v0.112.0 // indirect + cloud.google.com/go/compute v1.24.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect - cloud.google.com/go/storage v1.30.1 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + cloud.google.com/go/iam v1.1.6 // indirect + cloud.google.com/go/storage v1.36.0 // indirect + cosmossdk.io/api v0.3.1 // indirect + cosmossdk.io/core v0.5.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/log v1.3.1 // indirect + cosmossdk.io/tools/rosetta v0.2.1 // indirect + filippo.io/edwards25519 v1.0.0 // indirect github.com/4meepo/tagalign v1.3.3 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -41,12 +47,11 @@ require ( github.com/Antonboom/nilnil v0.1.7 // indirect github.com/Antonboom/testifylint v0.2.3 // indirect github.com/BurntSushi/toml v1.3.2 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect + github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.1.0 // indirect - github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/alecthomas/go-check-sumtype v0.1.3 // indirect github.com/alexkohler/nakedret/v2 v2.0.2 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect @@ -54,7 +59,7 @@ require ( github.com/armon/go-metrics v0.4.1 // indirect github.com/ashanbrown/forbidigo v1.6.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect - github.com/aws/aws-sdk-go v1.44.122 // indirect + github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect @@ -68,30 +73,38 @@ require ( github.com/butuzov/mirror v1.1.0 // indirect github.com/catenacyber/perfsprint v0.2.0 // indirect github.com/ccojocar/zxcvbn-go v1.0.1 // indirect + github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/chavacava/garif v0.1.0 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect + github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.4 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.10 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.5 // indirect - github.com/cosmos/ibc-go/v6 v6.1.1 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/iavl v0.20.1 // indirect + github.com/cosmos/ibc-go/v7 v7.3.2 // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect + github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect + github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect + github.com/creachadair/taskgroup v0.4.2 // indirect github.com/curioswitch/go-reassign v0.2.0 // indirect github.com/daixiang0/gci v0.11.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect @@ -99,16 +112,19 @@ require ( github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/fatih/structtag v1.2.0 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect github.com/ghostiam/protogetter v0.2.3 // indirect github.com/go-critic/go-critic v0.9.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect @@ -119,13 +135,14 @@ require ( github.com/go-toolsmith/typep v1.1.0 // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect - github.com/goccy/go-json v0.9.7 // indirect + github.com/goccy/go-json v0.10.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect - github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/gogo/googleapis v1.4.1 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/mock v1.6.0 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect @@ -140,12 +157,12 @@ require ( github.com/google/go-cmp v0.6.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.7 // indirect - github.com/google/uuid v1.4.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.0 // indirect github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 // indirect github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/mux v1.8.0 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect @@ -158,16 +175,17 @@ require ( github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.7.0 // indirect + github.com/hashicorp/go-getter v1.7.1 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect - github.com/hashicorp/go-uuid v1.0.1 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect + github.com/huandu/skiplist v1.2.0 // indirect + github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jgautheron/goconst v1.6.0 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect @@ -178,7 +196,9 @@ require ( github.com/kisielk/errcheck v1.6.3 // indirect github.com/kisielk/gotool v1.0.0 // indirect github.com/kkHAIKE/contextcheck v1.1.4 // indirect - github.com/klauspost/compress v1.15.11 // indirect + github.com/klauspost/compress v1.16.7 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/kulti/thelper v0.6.3 // indirect github.com/kunwardeep/paralleltest v1.0.8 // indirect github.com/kyoh86/exportloopref v0.1.11 // indirect @@ -186,21 +206,22 @@ require ( github.com/ldez/tagliatelle v0.5.0 // indirect github.com/leonklingele/grouper v1.1.1 // indirect github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect - github.com/lestrrat-go/blackmagic v1.0.0 // indirect + github.com/lestrrat-go/blackmagic v1.0.2 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect - github.com/lestrrat-go/iter v1.0.1 // indirect - github.com/lestrrat-go/jwx v1.2.25 // indirect - github.com/lestrrat-go/option v1.0.0 // indirect + github.com/lestrrat-go/iter v1.0.2 // indirect + github.com/lestrrat-go/jwx v1.2.29 // indirect + github.com/lestrrat-go/option v1.0.1 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/linxGnu/grocksdb v1.7.16 // indirect github.com/lufeee/execinquery v1.2.1 // indirect github.com/macabu/inamedparam v0.1.2 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/maratori/testableexamples v1.0.0 // indirect github.com/maratori/testpackage v1.1.1 // indirect github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect @@ -221,9 +242,8 @@ require ( github.com/nishanths/predeclared v0.2.2 // indirect github.com/nunnatsa/ginkgolinter v0.14.1 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect - github.com/onsi/ginkgo v1.16.4 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v1.4.5 // indirect @@ -236,9 +256,9 @@ require ( github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rs/cors v1.8.2 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rs/cors v1.8.3 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect @@ -253,27 +273,26 @@ require ( github.com/sivchari/tenv v1.7.1 // indirect github.com/sonatard/noctx v0.0.2 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/spf13/afero v1.9.2 // indirect + github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.14.0 // indirect + github.com/spf13/viper v1.16.0 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect - github.com/stretchr/objx v0.5.0 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/stretchr/objx v0.5.2 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect github.com/tdakkota/asciicheck v0.2.0 // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tm-db v0.6.7 // indirect github.com/tetafro/godot v1.4.15 // indirect - github.com/tidwall/btree v1.5.0 // indirect + github.com/tidwall/btree v1.6.0 // indirect github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect github.com/timonwong/loggercheck v0.9.4 // indirect github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect - github.com/ulikunitz/xz v0.5.10 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect github.com/ultraware/funlen v0.1.0 // indirect github.com/ultraware/whitespace v0.0.5 // indirect github.com/uudashr/gocognit v1.1.2 // indirect @@ -281,34 +300,39 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect github.com/ykadowak/zerologlint v0.1.3 // indirect - github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.1 // indirect + github.com/zondax/hid v0.9.2 // indirect + github.com/zondax/ledger-go v0.14.3 // indirect gitlab.com/bosi/decorder v0.4.1 // indirect go-simpler.org/sloglint v0.1.2 // indirect - go.etcd.io/bbolt v1.3.6 // indirect + go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect + go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel/metric v1.22.0 // indirect + go.opentelemetry.io/otel/trace v1.22.0 // indirect go.tmz.dev/musttag v0.7.2 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.24.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect - golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.18.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/oauth2 v0.17.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.14.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.149.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.17.0 // indirect + google.golang.org/api v0.162.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect honnef.co/go/tools v0.4.6 // indirect @@ -316,16 +340,14 @@ require ( mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + nhooyr.io/websocket v1.8.6 // indirect + pgregory.net/rapid v1.1.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) +// This is to avoid warnings while running the binary +// See here: https://github.com/desmos-labs/desmos/pull/1131#discussion_r1194090419 replace ( - github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - github.com/cosmos/cosmos-sdk => github.com/cheqd/cosmos-sdk v0.46.10-state-sync - github.com/cosmos/cosmos-sdk/x/mint/types => github.com/cheqd/cosmos-sdk/x/mint/types v0.46.10-state-sync - github.com/cosmos/iavl => github.com/cheqd/iavl v0.19.5-cheqd - github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/jhump/protoreflect => github.com/jhump/protoreflect v1.9.0 - github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.26 + github.com/cheqd/cheqd-node => github.com/cheqd/cheqd-node v1.4.6-0.20240328121051-0293663c21d6 + github.com/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.10 ) diff --git a/go.sum b/go.sum index 24048a155..789a33e23 100644 --- a/go.sum +++ b/go.sum @@ -32,28 +32,76 @@ 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.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= -cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= +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.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +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/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/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.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +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/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/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/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.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.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= 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/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/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/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= @@ -61,12 +109,36 @@ 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.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= 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/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/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.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +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/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= @@ -74,101 +146,314 @@ 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.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +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.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= +cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= +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 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +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 v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +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/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/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.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= 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/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/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/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/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/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= @@ -178,30 +463,89 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f 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.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +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/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/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.6.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.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= 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/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/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/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= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/math v1.2.0 h1:8gudhTkkD3NxOP2YyyJIYYmt6dQ55ZfJkDOaxXpy7Ig= -cosmossdk.io/math v1.2.0/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= +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= +cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= +cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= +cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= +cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= +cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +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= github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw= github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= +github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= +github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= github.com/Abirdcfly/dupword v0.0.13 h1:SMS17YXypwP000fA7Lr+kfyBQyW14tTT+nRv9ASwUUo= github.com/Abirdcfly/dupword v0.0.13/go.mod h1:Ut6Ue2KgF/kCOawpW4LnExT+xZLQviJPE4klBPMK/5Y= github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY= @@ -215,13 +559,15 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/ChainSafe/go-schnorrkel v1.0.0 h1:3aDA67lAykLaG1y3AOjs88dMxC88PgUuHRrLeDnvGIM= +github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z7vcchBSbMBEhCw4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0 h1:3ZBs7LAezy8gh0uECsA6CGU43FF3zsx5f4eah5FxTMA= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0/go.mod h1:rZLTje5A9kFBe0pzhpe2TdhRniBF++PRHQuRpR8esVc= +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/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= @@ -230,10 +576,16 @@ github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard/v2 v2.1.0 h1:aQl70G173h/GZYhWf36aE5H0KaujXfVMnn/f1kSDVYY= github.com/OpenPeeDeeP/depguard/v2 v2.1.0/go.mod h1:PUBgk35fX4i7JDmwzlJwJ+GMe6NfO1723wmJMgPThNQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +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/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= github.com/alecthomas/go-check-sumtype v0.1.3 h1:M+tqMxB68hcgccRXBMVCPI4UJ+QUfdSx0xdbypKCqA8= github.com/alecthomas/go-check-sumtype v0.1.3/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ= @@ -249,18 +601,31 @@ github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pO github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= +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/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +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= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0= github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY= github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/aws/aws-sdk-go v1.44.122 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= +github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -268,6 +633,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bkielbasa/cyclop v1.2.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY= @@ -276,26 +642,34 @@ github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aNU= github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo= +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/breml/bidichk v0.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY= github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ= github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA= github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/butuzov/ireturn v0.2.2 h1:jWI36dxXwVrI+RnXDwux2IZOewpmfv930OuIRfaBUJ0= github.com/butuzov/ireturn v0.2.2/go.mod h1:RfGHUvvAuFFxoHKf4Z8Yxuh6OjlCw1KvR2zM1NFHeBk= github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI= github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/catenacyber/perfsprint v0.2.0 h1:azOocHLscPjqXVJ7Mf14Zjlkn4uNua0+Hcg1wTR6vUo= github.com/catenacyber/perfsprint v0.2.0/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/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/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -307,61 +681,89 @@ github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoG github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc= github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/cheqd/cheqd-node v1.4.4 h1:jdFnFrurrNVWH9HiMWLAUQWGke6nBgKjIi/XRpslrzA= -github.com/cheqd/cheqd-node v1.4.4/go.mod h1:fochSFbWa9fI8z1qYTHKTJq3d6Scg5HsemRWzYkTzpg= -github.com/cheqd/cosmos-sdk v0.46.10-state-sync h1:4JWHwmEvDRw0ppU8RAeJluwW1hPtFYyP5dZMKFOipHE= -github.com/cheqd/cosmos-sdk v0.46.10-state-sync/go.mod h1:ZFL/yjcIZq67H8FiWoLCnnaChkXnbRRYEEhGrFq8fzE= -github.com/cheqd/iavl v0.19.5-cheqd h1:GRiKnoDKMnuTRUuEZmSihY2MtBtbVz87Edzny0o4TL8= -github.com/cheqd/iavl v0.19.5-cheqd/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= +github.com/cheqd/cheqd-node v1.4.6-0.20240328121051-0293663c21d6 h1:MJ+FLc6JsZKkeqYA6EkMtPLu+EQ2kNRXbEcqCyGC25I= +github.com/cheqd/cheqd-node v1.4.6-0.20240328121051-0293663c21d6/go.mod h1:FxmZ9s2sHs5KIXIRb69b1nPBlUHzy3d5/mL+/EtCj38= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= 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-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= 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/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= +github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= +github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= +github.com/cometbft/cometbft v0.37.4 h1:xyvvEqlyfK8MgNIIKVJaMsuIp03wxOcFmVkT26+Ikpg= +github.com/cometbft/cometbft v0.37.4/go.mod h1:Cmg5Hp4sNpapm7j+x0xRyt2g0juQfmB752ous+pA0G8= +github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= +github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= -github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= +github.com/cosmos/cosmos-proto v1.0.0-beta.4 h1:aEL7tU/rLOmxZQ9z4i7mzxcLbSCY48OdY7lIWTLG7oU= +github.com/cosmos/cosmos-proto v1.0.0-beta.4/go.mod h1:oeB+FyVzG3XrQJbJng0EnV8Vljfk9XvTIpGILNU/9Co= +github.com/cosmos/cosmos-sdk v0.47.10 h1:Wxf5yEN3jZbG4fftxAMKB6rpd8ME0mxuCVihpz65dt0= +github.com/cosmos/cosmos-sdk v0.47.10/go.mod h1:UWpgWkhcsBIATS68uUC0del7IiBN4hPv/vqg8Zz23uw= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= +github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/ibc-go/v6 v6.1.1 h1:oqqMNyjj6SLQF8rvgCaDGwfdITEIsbhs8F77/8xvRIo= -github.com/cosmos/ibc-go/v6 v6.1.1/go.mod h1:NL17FpFAaWjRFVb1T7LUKuOoMSsATPpu+Icc4zL5/Ik= -github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo= -github.com/cosmos/keyring v1.2.0/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= +github.com/cosmos/iavl v0.20.1 h1:rM1kqeG3/HBT85vsZdoSNsehciqUQPWrR4BYmqE2+zg= +github.com/cosmos/iavl v0.20.1/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ibc-go/v7 v7.3.2 h1:FeUDcBX7VYY0e0iRmcVkPPUjYfAqIc//QuHXo8JHz9c= +github.com/cosmos/ibc-go/v7 v7.3.2/go.mod h1:IMeOXb7gwpZ+/nOG5BuUkdW4weM1ezvN4PQPws4uzOI= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= +github.com/cosmos/ledger-cosmos-go v0.12.4 h1:drvWt+GJP7Aiw550yeb3ON/zsrgW0jgh5saFCr7pDnw= +github.com/cosmos/ledger-cosmos-go v0.12.4/go.mod h1:fjfVWRf++Xkygt9wzCsjEBdjcf7wiiY35fv3ctT+k4M= +github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= +github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= @@ -372,29 +774,37 @@ github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnG github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.0-20210816181553-5444fa50b93d/go.mod h1:tmAIfUFEirG/Y8jhZ9M+h36obRZAk/1fcSpXwAVlfqE= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +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/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= +github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +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= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -404,62 +814,99 @@ 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.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= 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.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/forbole/juno/v4 v4.2.1-0.20231229085234-1fbaa999bb36 h1:y2gs3QiYNXSPqSNHr+s/AdmXROY0Pr4+rQ3ucZVdHz8= -github.com/forbole/juno/v4 v4.2.1-0.20231229085234-1fbaa999bb36/go.mod h1:oIioA0JVN5rRSECLP9iKMlYSUj3yBsItuw5VmST4m+0= +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/forbole/juno/v5 v5.2.1-0.20240201075935-851426ddd905 h1:nmNDGWsEDFLFWl4+taRg9zDyzZaApb2Ge2+8XiwbaEk= +github.com/forbole/juno/v5 v5.2.1-0.20240201075935-851426ddd905/go.mod h1:XHTUsu81JTPEDvVrVgirag5pkV5sDBSdEUluBtJdFfk= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghostiam/protogetter v0.2.3 h1:qdv2pzo3BpLqezwqfGDLZ+nHEYmc5bUpIdsMbBVwMjw= github.com/ghostiam/protogetter v0.2.3/go.mod h1:KmNLOsy1v04hKbvZs8EfGI1fk39AgTdRDxWNYPfXVc4= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-co-op/gocron v1.37.0 h1:ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0= github.com/go-co-op/gocron v1.37.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY= github.com/go-critic/go-critic v0.9.0 h1:Pmys9qvU3pSML/3GEQ2Xd9RZ/ip+aXHKILuxczKGV/U= github.com/go-critic/go-critic v0.9.0/go.mod h1:5P8tdXL7m/6qnyG6oRAlYLORvoXH0WDypYgAEmagT40= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +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= github.com/go-gorp/gorp v2.2.0+incompatible h1:xAUh4QgEeqPPhK3vxZN+bzrim1z5Av6q837gtjUlshc= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/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= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ozzo/ozzo-validation/v4 v4.3.0 h1:byhDUpfEwjsVQb1vBunvIjh2BHQ9ead57VkAEY4V+Es= github.com/go-ozzo/ozzo-validation/v4 v4.3.0/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew= +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.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -486,18 +933,37 @@ github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80 github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= -github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/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= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +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/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -531,8 +997,10 @@ 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 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= 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= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -560,6 +1028,7 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -586,6 +1055,7 @@ github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIG github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -600,6 +1070,7 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe 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-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= @@ -607,13 +1078,17 @@ 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.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -625,16 +1100,23 @@ 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.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= 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/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 h1:mrEEilTAUmaAORhssPPkxj84TsHrPMLBGW2Z4SoTxm8= github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= @@ -648,11 +1130,16 @@ github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +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-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -660,58 +1147,80 @@ github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +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.0 h1:bzrYP+qu/gMrL1au7/aDvkoOVGUJpeKBgbqRHACAFDY= -github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +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 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +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/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= 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/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= +github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/informalsystems/tendermint v0.34.26 h1:89XvVexAy62geGWxmDmdmmJvfindx+Su2oTuwfSWMeU= -github.com/informalsystems/tendermint v0.34.26/go.mod h1:q3uAZ/t5+MblQhFuHSd4flqaLDx7iUtWpwWbwvHAFhs= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= github.com/jgautheron/goconst v1.6.0 h1:gbMLWKRMkzAc6kYsQL6/TxaoBUg3Jm9LSF/Ih1ADWGA= github.com/jgautheron/goconst v1.6.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -720,18 +1229,28 @@ github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= 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/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +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/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/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8= github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= @@ -739,9 +1258,15 @@ github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8= github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +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.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= 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= @@ -750,6 +1275,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -764,32 +1290,43 @@ github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUc github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSioo= github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= -github.com/lestrrat-go/blackmagic v1.0.0 h1:XzdxDbuQTz0RZZEmdU7cnQxUtFUzgCSPq8RCz4BxIi4= -github.com/lestrrat-go/blackmagic v1.0.0/go.mod h1:TNgH//0vYSs8VXDCfkZLgIrVTTXQELZffUV0tz3MtdQ= +github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N+AkAr5k= +github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= -github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= -github.com/lestrrat-go/jwx v1.2.25 h1:tAx93jN2SdPvFn08fHNAhqFJazn5mBBOB8Zli0g0otA= -github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY= -github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= +github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= +github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= +github.com/lestrrat-go/jwx v1.2.29 h1:QT0utmUJ4/12rmsVQrJ3u55bycPkKqGYuGT4tyRhxSQ= +github.com/lestrrat-go/jwx v1.2.29/go.mod h1:hU8k2l6WF0ncx20uQdOmik/Gjg6E3/wIRtXSNFeZuB8= github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= +github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +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/macabu/inamedparam v0.1.2 h1:RR5cnayM6Q7cDhQol32DE2BGAPGMnffJ31LFE+UklaU= github.com/macabu/inamedparam v0.1.2/go.mod h1:Xg25QvY7IBRl1KLPV9Rbml8JOMZtF/iAkNkmV7eQgjw= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= @@ -803,14 +1340,19 @@ github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwM github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= @@ -819,22 +1361,33 @@ github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwg github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/revive v1.3.4 h1:k/tO3XTaWY4DEHal9tWBkkUMJYO/dLDVyMmAQxmIMDc= github.com/mgechev/revive v1.3.4/go.mod h1:W+pZCMu9qj8Uhfs1iJMQsEFLRozUfvwFwqVvRbSNLVw= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/minio/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.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA= github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= @@ -849,9 +1402,18 @@ github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoR github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nishanths/exhaustive v0.11.0 h1:T3I8nUGhl/Cwu5Z2hfc92l0e04D2GEW6e0l8pzda2l0= github.com/nishanths/exhaustive v0.11.0/go.mod h1:RqwDsZ1xY0dNdqHho2z6X+bgzizwbLYOWnZbbl2wLB4= @@ -862,21 +1424,37 @@ github.com/nunnatsa/ginkgolinter v0.14.1/go.mod h1:nY0pafUSst7v7F637e7fymaMlQqI9 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/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= +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.28.1 h1:MijcGUbfYuznzK/5R4CPNoUP/9Xvuo20sXfEm6XxoTA= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +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/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/copy v1.11.0 h1:OKBD80J/mLBrwnzXqGtFCzprFSGioo30JcmR4APsNwc= @@ -884,28 +1462,44 @@ github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJ github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +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/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polyfloyd/go-errorlint v1.4.5 h1:70YWmMy4FgRHehGNOUask3HtSFSOLKgmDn7ryNe7LqI= github.com/polyfloyd/go-errorlint v1.4.5/go.mod h1:sIZEbFoDOCnTYYZoVkjc4hTnM459tuWA9H/EkdXwsKk= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= 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.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= @@ -913,22 +1507,30 @@ github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrb github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= 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.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= 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= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= @@ -945,12 +1547,10 @@ github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4l github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= +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/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -958,18 +1558,26 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/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/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU= github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= @@ -978,15 +1586,18 @@ github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tM github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.24.0 h1:MKNzmXtGh5N0y74Z/CIaJh4GlB364l0K1RUT08WSWAc= github.com/sashamelentyev/usestdlibvars v1.24.0/go.mod h1:9cYkq+gYJ+a5W2RPdhfaSCnTVUC1OQP/bSiiBhq3OZE= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/securego/gosec/v2 v2.18.2 h1:DkDt3wCiOtAHf1XkiXZBhQ6m6mK/b9T/wD257R3/c+I= github.com/securego/gosec/v2 v2.18.2/go.mod h1:xUuqSF6i0So56Y2wwohWAmB07EdBkUN6crbLlHwbyJs= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE= @@ -995,40 +1606,53 @@ github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak= github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +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= github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +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.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= +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= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1036,53 +1660,61 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +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.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8= github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk= github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM= github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.4.15 h1:QzdIs+XB8q+U1WmQEWKHQbKmCw06QuQM7gLx/dky2RM= github.com/tetafro/godot v1.4.15/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio= -github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= -github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= github.com/timonwong/loggercheck v0.9.4 h1:HKKhqrjcVj8sxL7K77beXh0adEm6DLjV/QOGeMXEVi4= github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ= github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE= github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI= github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4= github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI= github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k= github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU= github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= @@ -1097,17 +1729,23 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec 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/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= -github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= -github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +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= +github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= gitlab.com/bosi/decorder v0.4.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4= gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA= go-simpler.org/assert v0.6.0 h1:QxSrXa4oRuo/1eHMXSBFHKvJIpWABayzKldqZyugG7E= go-simpler.org/sloglint v0.1.2 h1:IjdhF8NPxyn0Ckn2+fuIof7ntSnVUAqBFcQRrnG9AiM= go-simpler.org/sloglint v0.1.2/go.mod h1:2LL+QImPfTslD5muNPydAEYmpXIj6o/WYcqnJjLi4o4= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -1117,26 +1755,47 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= 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.tmz.dev/musttag v0.7.2 h1:1J6S9ipDbalBSODNT5jCep8dhZyMr4ttnjQagmGYR5s= go.tmz.dev/musttag v0.7.2/go.mod h1:m6q5NiiSKMnQYokefa2xGoyoXnrswCbJ0AWYzf4Zs28= +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= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= 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.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= 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.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1144,28 +1803,47 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= 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.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +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= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= 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= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 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-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 h1:jWGQJV4niP+CCmFW9ekjA9Zx8vYORzOUH2/Nl5WPuLQ= golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +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= @@ -1189,20 +1867,25 @@ 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.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= 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.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -1213,6 +1896,7 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1220,6 +1904,7 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -1227,7 +1912,6 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -1238,8 +1922,11 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/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-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1252,13 +1939,19 @@ 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.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= -golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +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.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= 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= @@ -1282,10 +1975,14 @@ 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.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +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.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= +golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= 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= @@ -1299,13 +1996,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.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-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= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1321,14 +2021,18 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1336,17 +2040,15 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1356,6 +2058,7 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w 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-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1370,9 +2073,12 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-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-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1382,6 +2088,7 @@ golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1395,23 +2102,34 @@ 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.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/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.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.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.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +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.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= 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= @@ -1423,20 +2141,34 @@ 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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +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-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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.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= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1446,7 +2178,10 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/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= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1455,6 +2190,7 @@ golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1480,9 +2216,9 @@ golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/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-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= 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-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1505,8 +2241,9 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= 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= @@ -1516,6 +2253,15 @@ golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNq golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +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-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= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1563,10 +2309,18 @@ 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.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +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.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= +google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= 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= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -1581,6 +2335,7 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1596,7 +2351,6 @@ google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1614,6 +2368,7 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D 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= @@ -1648,6 +2403,7 @@ google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= 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= @@ -1680,18 +2436,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-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= +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-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= +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.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1701,6 +2483,7 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= @@ -1714,6 +2497,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= @@ -1723,8 +2507,12 @@ 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.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8= +google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= 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= @@ -1741,8 +2529,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.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/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 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1750,14 +2539,17 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1774,6 +2566,9 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1781,8 +2576,43 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= honnef.co/go/tools v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8= honnef.co/go/tools v0.4.6/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= +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= mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= @@ -1792,9 +2622,14 @@ mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jC mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQOxksVMGK7sml4nG57w= mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml index 37de9f06d..00078ded3 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml @@ -5,9 +5,7 @@ select_permissions: - permission: allow_aggregations: false columns: - - deposit_params - - voting_params - - tally_params + - params - height filter: {} limit: 1 diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml index 491202cce..d7e13dbad 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml @@ -58,8 +58,6 @@ select_permissions: columns: - title - description - - proposal_route - - proposal_type - id - submit_time - deposit_end_time @@ -67,6 +65,7 @@ select_permissions: - voting_end_time - proposer_address - status + - metadata - content filter: {} limit: 100 diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml index 60f3694be..7b889106d 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml @@ -24,6 +24,7 @@ select_permissions: - proposal_id - voter_address - option + - weight - timestamp - height filter: {} diff --git a/hasura/metadata/databases/databases.yaml b/hasura/metadata/databases/databases.yaml index 44731b435..bb932c950 100644 --- a/hasura/metadata/databases/databases.yaml +++ b/hasura/metadata/databases/databases.yaml @@ -1,4 +1,4 @@ -- name: bdjuno +- name: callisto kind: postgres configuration: connection_info: @@ -11,5 +11,5 @@ max_connections: 50 retries: 1 use_prepared_statements: true - tables: "!include bdjuno/tables/tables.yaml" - functions: "!include bdjuno/functions/functions.yaml" + tables: "!include callisto/tables/tables.yaml" + functions: "!include callisto/functions/functions.yaml" diff --git a/modules/actions/config.go b/modules/actions/config.go index 2930cbcc4..1ba56a2a0 100644 --- a/modules/actions/config.go +++ b/modules/actions/config.go @@ -1,7 +1,7 @@ package actions import ( - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" "gopkg.in/yaml.v3" ) diff --git a/modules/actions/handle_additional_operations.go b/modules/actions/handle_additional_operations.go index e555de208..8978b7de4 100644 --- a/modules/actions/handle_additional_operations.go +++ b/modules/actions/handle_additional_operations.go @@ -6,8 +6,8 @@ import ( "sync" "syscall" - "github.com/forbole/bdjuno/v4/modules/actions/handlers" - actionstypes "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/handlers" + actionstypes "github.com/forbole/callisto/v4/modules/actions/types" ) var ( diff --git a/modules/actions/handlers/account_balance.go b/modules/actions/handlers/account_balance.go index 8aa693ad4..ba6597c81 100644 --- a/modules/actions/handlers/account_balance.go +++ b/modules/actions/handlers/account_balance.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/delegation.go b/modules/actions/handlers/delegation.go index c0f7d98f9..0466b73b4 100644 --- a/modules/actions/handlers/delegation.go +++ b/modules/actions/handlers/delegation.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "google.golang.org/grpc/codes" diff --git a/modules/actions/handlers/delegation_total.go b/modules/actions/handlers/delegation_total.go index b6d81083b..8352b71c3 100644 --- a/modules/actions/handlers/delegation_total.go +++ b/modules/actions/handlers/delegation_total.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/delegator_reward.go b/modules/actions/handlers/delegator_reward.go index 0eb29f16e..fa72d27fa 100644 --- a/modules/actions/handlers/delegator_reward.go +++ b/modules/actions/handlers/delegator_reward.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/delegator_withdraw_address.go b/modules/actions/handlers/delegator_withdraw_address.go index 92debf01e..df53d4235 100644 --- a/modules/actions/handlers/delegator_withdraw_address.go +++ b/modules/actions/handlers/delegator_withdraw_address.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/redelegation.go b/modules/actions/handlers/redelegation.go index 5334ca3a5..7a65d1fee 100644 --- a/modules/actions/handlers/redelegation.go +++ b/modules/actions/handlers/redelegation.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/unbonding_delegation_total.go b/modules/actions/handlers/unbonding_delegation_total.go index 6f79fdd32..41aca678d 100644 --- a/modules/actions/handlers/unbonding_delegation_total.go +++ b/modules/actions/handlers/unbonding_delegation_total.go @@ -4,7 +4,7 @@ import ( "fmt" "math/big" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/unbonding_delegations.go b/modules/actions/handlers/unbonding_delegations.go index bdd227609..2c8867511 100644 --- a/modules/actions/handlers/unbonding_delegations.go +++ b/modules/actions/handlers/unbonding_delegations.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/validator_commission.go b/modules/actions/handlers/validator_commission.go index 7a1ece22b..9fb7d3deb 100644 --- a/modules/actions/handlers/validator_commission.go +++ b/modules/actions/handlers/validator_commission.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/validator_delegation.go b/modules/actions/handlers/validator_delegation.go index bb3598c88..cdc14cc5b 100644 --- a/modules/actions/handlers/validator_delegation.go +++ b/modules/actions/handlers/validator_delegation.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/validator_redelegations_from.go b/modules/actions/handlers/validator_redelegations_from.go index d04f8608e..c281865c4 100644 --- a/modules/actions/handlers/validator_redelegations_from.go +++ b/modules/actions/handlers/validator_redelegations_from.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/validator_unbonding_delegations.go b/modules/actions/handlers/validator_unbonding_delegations.go index be6258655..e048f91ac 100644 --- a/modules/actions/handlers/validator_unbonding_delegations.go +++ b/modules/actions/handlers/validator_unbonding_delegations.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v4/modules/actions/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/logging/prometheus.go b/modules/actions/logging/prometheus.go index e6d54c63d..3e7e00417 100644 --- a/modules/actions/logging/prometheus.go +++ b/modules/actions/logging/prometheus.go @@ -7,7 +7,7 @@ import ( // ActionResponseTime represents the Telemetry counter used to classify each executed action by response time var ActionResponseTime = prometheus.NewHistogramVec( prometheus.HistogramOpts{ - Name: "bdjuno_action_response_time", + Name: "callisto_action_response_time", Help: "Time it has taken to execute an action", Buckets: []float64{0.5, 1, 2, 3, 4, 5}, }, []string{"path"}) @@ -15,14 +15,14 @@ var ActionResponseTime = prometheus.NewHistogramVec( // ActionCounter represents the Telemetry counter used to track the total number of actions executed var ActionCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ - Name: "bdjuno_actions_total_count", + Name: "callisto_actions_total_count", Help: "Total number of actions executed.", }, []string{"path", "http_status_code"}) // ActionErrorCounter represents the Telemetry counter used to track the number of action's errors emitted var ActionErrorCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ - Name: "bdjuno_actions_error_count", + Name: "callisto_actions_error_count", Help: "Total number of errors emitted.", }, []string{"path", "http_status_code"}, ) diff --git a/modules/actions/module.go b/modules/actions/module.go index 7726ad665..20e613fc0 100644 --- a/modules/actions/module.go +++ b/modules/actions/module.go @@ -1,14 +1,14 @@ package actions import ( - "github.com/cosmos/cosmos-sdk/simapp/params" - "github.com/forbole/juno/v4/modules" - "github.com/forbole/juno/v4/node" - "github.com/forbole/juno/v4/node/builder" - nodeconfig "github.com/forbole/juno/v4/node/config" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/node" + "github.com/forbole/juno/v5/node/builder" + nodeconfig "github.com/forbole/juno/v5/node/config" + "github.com/forbole/juno/v5/types/config" + "github.com/forbole/juno/v5/types/params" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" ) const ( @@ -26,7 +26,7 @@ type Module struct { sources *modulestypes.Sources } -func NewModule(cfg config.Config, encodingConfig *params.EncodingConfig) *Module { +func NewModule(cfg config.Config, encodingConfig params.EncodingConfig) *Module { bz, err := cfg.GetBytes() if err != nil { panic(err) diff --git a/modules/actions/types/handler.go b/modules/actions/types/handler.go index 0d615d4bb..a9716fe70 100644 --- a/modules/actions/types/handler.go +++ b/modules/actions/types/handler.go @@ -3,9 +3,9 @@ package types import ( "fmt" - "github.com/forbole/juno/v4/node" + "github.com/forbole/juno/v5/node" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" ) // Context contains the data about a Hasura actions worker execution diff --git a/modules/actions/types/worker.go b/modules/actions/types/worker.go index 64bc28d49..984b67628 100644 --- a/modules/actions/types/worker.go +++ b/modules/actions/types/worker.go @@ -7,7 +7,7 @@ import ( "net/http" "time" - "github.com/forbole/bdjuno/v4/modules/actions/logging" + "github.com/forbole/callisto/v4/modules/actions/logging" "github.com/rs/zerolog/log" ) diff --git a/modules/auth/auth_accounts.go b/modules/auth/auth_accounts.go index 63c869f5b..d14b24c51 100644 --- a/modules/auth/auth_accounts.go +++ b/modules/auth/auth_accounts.go @@ -7,7 +7,7 @@ import ( authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // GetGenesisAccounts parses the given appState and returns the genesis accounts @@ -50,6 +50,9 @@ func GetAccounts(height int64, addresses []string) []types.Account { // RefreshAccounts takes the given addresses and for each one queries the chain // retrieving the account data and stores it inside the database. func (m *Module) RefreshAccounts(height int64, addresses []string) error { + if len(addresses) == 0 { + return nil + } accounts := GetAccounts(height, addresses) return m.db.SaveAccounts(accounts) } diff --git a/modules/auth/handle_genesis.go b/modules/auth/handle_genesis.go index 78368217f..75346d050 100644 --- a/modules/auth/handle_genesis.go +++ b/modules/auth/handle_genesis.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" ) diff --git a/modules/auth/handle_msg.go b/modules/auth/handle_msg.go index 7b8d59b02..a9b60bcc9 100644 --- a/modules/auth/handle_msg.go +++ b/modules/auth/handle_msg.go @@ -6,15 +6,15 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" - juno "github.com/forbole/juno/v4/types" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/gogoproto/proto" + juno "github.com/forbole/juno/v5/types" "github.com/rs/zerolog/log" authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/forbole/bdjuno/v4/modules/utils" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/utils" + "github.com/forbole/callisto/v4/types" ) // HandleMsgExec implements modules.AuthzMessageModule diff --git a/modules/auth/module.go b/modules/auth/module.go index 86c87f988..6d6671417 100644 --- a/modules/auth/module.go +++ b/modules/auth/module.go @@ -3,10 +3,11 @@ package auth import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/auth/source" - "github.com/forbole/juno/v4/modules" - "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/auth/source" + + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/auth/source/local/source.go b/modules/auth/source/local/source.go index 4f4f8eab5..4a49723b2 100644 --- a/modules/auth/source/local/source.go +++ b/modules/auth/source/local/source.go @@ -8,10 +8,10 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/rs/zerolog/log" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" sdk "github.com/cosmos/cosmos-sdk/types" - source "github.com/forbole/bdjuno/v4/modules/auth/source" + source "github.com/forbole/callisto/v4/modules/auth/source" ) var ( diff --git a/modules/auth/source/remote/source.go b/modules/auth/source/remote/source.go index aaff312da..267703af5 100644 --- a/modules/auth/source/remote/source.go +++ b/modules/auth/source/remote/source.go @@ -4,12 +4,12 @@ import ( "fmt" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" "github.com/rs/zerolog/log" codectypes "github.com/cosmos/cosmos-sdk/codec/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - source "github.com/forbole/bdjuno/v4/modules/auth/source" + source "github.com/forbole/callisto/v4/modules/auth/source" ) var ( diff --git a/modules/auth/utils_refresh_all_base_accounts.go b/modules/auth/utils_refresh_all_base_accounts.go index 3807ad180..b5f7627c9 100644 --- a/modules/auth/utils_refresh_all_base_accounts.go +++ b/modules/auth/utils_refresh_all_base_accounts.go @@ -5,7 +5,7 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/bank/handle_periodic_operations.go b/modules/bank/handle_periodic_operations.go index 856b3bb17..a282d6afb 100644 --- a/modules/bank/handle_periodic_operations.go +++ b/modules/bank/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.Module @@ -27,15 +27,15 @@ func (m *Module) UpdateSupply() error { log.Trace().Str("module", "bank").Str("operation", "total supply"). Msg("updating total supply") - height, err := m.db.GetLastBlockHeight() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return fmt.Errorf("error while getting latest block height: %s", err) } - supply, err := m.keeper.GetSupply(height) + supply, err := m.keeper.GetSupply(block.Height) if err != nil { return err } - return m.db.SaveSupply(supply, height) + return m.db.SaveSupply(supply, block.Height) } diff --git a/modules/bank/module.go b/modules/bank/module.go index 83544c316..ac16161e2 100644 --- a/modules/bank/module.go +++ b/modules/bank/module.go @@ -3,12 +3,12 @@ package bank import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/bank/source" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/bank/source" - junomessages "github.com/forbole/juno/v4/modules/messages" + junomessages "github.com/forbole/juno/v5/modules/messages" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/bank/source/local/source.go b/modules/bank/source/local/source.go index 8ff7fce2f..6ad623c02 100644 --- a/modules/bank/source/local/source.go +++ b/modules/bank/source/local/source.go @@ -7,11 +7,10 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" - "github.com/forbole/bdjuno/v4/modules/bank/source" - "github.com/forbole/bdjuno/v4/modules/pricefeed" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/bank/source" + "github.com/forbole/callisto/v4/types" ) var ( @@ -32,30 +31,21 @@ func NewSource(source *local.Source, bk banktypes.QueryServer) *Source { } } -// GetBalances implements bankkeeper.Source -func (s Source) GetBalances(addresses []string, height int64) ([]types.NativeTokenAmount, error) { +// GetBalances implements keeper.Source +func (s Source) GetBalances(addresses []string, height int64) ([]types.AccountBalance, error) { ctx, err := s.LoadHeight(height) if err != nil { return nil, fmt.Errorf("error while loading height: %s", err) } - var balances []types.NativeTokenAmount + var balances []types.AccountBalance for _, address := range addresses { - balRes, err := s.q.Balance( - sdk.WrapSDKContext(ctx), - &banktypes.QueryBalanceRequest{ - Address: address, - Denom: pricefeed.GetDenom(), - }) + res, err := s.q.AllBalances(sdk.WrapSDKContext(ctx), &banktypes.QueryAllBalancesRequest{Address: address}) if err != nil { - return nil, fmt.Errorf("error while getting balance: %s", err) + return nil, err } - balances = append(balances, types.NewNativeTokenAmount( - address, - balRes.Balance.Amount, - height, - )) + balances = append(balances, types.NewAccountBalance(address, res.Balances, height)) } return balances, nil diff --git a/modules/bank/source/remote/source.go b/modules/bank/source/remote/source.go index 8dc6e12a8..4e50cfcc0 100644 --- a/modules/bank/source/remote/source.go +++ b/modules/bank/source/remote/source.go @@ -6,11 +6,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - bankkeeper "github.com/forbole/bdjuno/v4/modules/bank/source" - pricefeed "github.com/forbole/bdjuno/v4/modules/pricefeed" - "github.com/forbole/bdjuno/v4/types" + bankkeeper "github.com/forbole/callisto/v4/modules/bank/source" + "github.com/forbole/callisto/v4/types" ) var ( @@ -31,22 +30,19 @@ func NewSource(source *remote.Source, bankClient banktypes.QueryClient) *Source } // GetBalances implements bankkeeper.Source -func (s Source) GetBalances(addresses []string, height int64) ([]types.NativeTokenAmount, error) { +func (s Source) GetBalances(addresses []string, height int64) ([]types.AccountBalance, error) { ctx := remote.GetHeightRequestContext(s.Ctx, height) - var balances []types.NativeTokenAmount + var balances []types.AccountBalance for _, address := range addresses { - balRes, err := s.bankClient.Balance(ctx, &banktypes.QueryBalanceRequest{ - Address: address, - Denom: pricefeed.GetDenom(), - }) + balRes, err := s.bankClient.AllBalances(ctx, &banktypes.QueryAllBalancesRequest{Address: address}) if err != nil { return nil, fmt.Errorf("error while getting all balances: %s", err) } - balances = append(balances, types.NewNativeTokenAmount( + balances = append(balances, types.NewAccountBalance( address, - balRes.Balance.Amount, + balRes.Balances, height, )) } diff --git a/modules/bank/source/remote/source_actions.go b/modules/bank/source/remote/source_actions.go index f2a0efae7..8e9927ec5 100644 --- a/modules/bank/source/remote/source_actions.go +++ b/modules/bank/source/remote/source_actions.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/utils" ) // GetAccountBalances implements bankkeeper.Source diff --git a/modules/bank/source/source.go b/modules/bank/source/source.go index 8218e5229..2cd5504ac 100644 --- a/modules/bank/source/source.go +++ b/modules/bank/source/source.go @@ -3,11 +3,11 @@ package source import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) type Source interface { - GetBalances(addresses []string, height int64) ([]types.NativeTokenAmount, error) + GetBalances(addresses []string, height int64) ([]types.AccountBalance, error) GetSupply(height int64) (sdk.Coins, error) // -- For hasura action -- diff --git a/modules/bank/utils_update_balances.go b/modules/bank/utils_update_balances.go index b510c333c..b8c067da6 100644 --- a/modules/bank/utils_update_balances.go +++ b/modules/bank/utils_update_balances.go @@ -3,6 +3,8 @@ package bank import ( "fmt" + "github.com/forbole/callisto/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) @@ -16,7 +18,13 @@ func (m *Module) UpdateBalances(addresses []string, height int64) error { return fmt.Errorf("error while getting account balances: %s", err) } - err = m.db.SaveTopAccountsBalance("available", balances) + nativeTokenAmounts := make([]types.NativeTokenAmount, len(balances)) + for index, balance := range balances { + denomAmount := balance.Balance.AmountOf(pricefeed.GetDenom()) + nativeTokenAmounts[index] = types.NewNativeTokenAmount(balance.Address, denomAmount, height) + } + + err = m.db.SaveTopAccountsBalance("available", nativeTokenAmounts) if err != nil { return fmt.Errorf("error while saving top accounts available balances: %s", err) } diff --git a/modules/consensus/handle_block.go b/modules/consensus/handle_block.go index 82cfd2ba4..f77c7a60e 100644 --- a/modules/consensus/handle_block.go +++ b/modules/consensus/handle_block.go @@ -3,11 +3,11 @@ package consensus import ( "fmt" - "github.com/forbole/juno/v4/types" + "github.com/forbole/juno/v5/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" ) // HandleBlock implements modules.Module diff --git a/modules/consensus/handle_genesis.go b/modules/consensus/handle_genesis.go index 2e434c34c..a02611611 100644 --- a/modules/consensus/handle_genesis.go +++ b/modules/consensus/handle_genesis.go @@ -4,10 +4,10 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" ) // HandleGenesis implements modules.Module diff --git a/modules/consensus/handle_periodic_operations.go b/modules/consensus/handle_periodic_operations.go index 32c61c11e..15499fb04 100644 --- a/modules/consensus/handle_periodic_operations.go +++ b/modules/consensus/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.Module diff --git a/modules/consensus/module.go b/modules/consensus/module.go index df96853c7..a2ccc9f72 100644 --- a/modules/consensus/module.go +++ b/modules/consensus/module.go @@ -1,9 +1,9 @@ package consensus import ( - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/daily_refetch/handle_periodic_operations.go b/modules/daily_refetch/handle_periodic_operations.go index 83be18edc..ae8f5c307 100644 --- a/modules/daily_refetch/handle_periodic_operations.go +++ b/modules/daily_refetch/handle_periodic_operations.go @@ -4,13 +4,13 @@ import ( "fmt" "time" - "github.com/forbole/juno/v4/parser" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/parser" + "github.com/forbole/juno/v5/types/config" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - parsecmdtypes "github.com/forbole/juno/v4/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" ) func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { diff --git a/modules/daily_refetch/module.go b/modules/daily_refetch/module.go index 7918a8b20..3f38ffac3 100644 --- a/modules/daily_refetch/module.go +++ b/modules/daily_refetch/module.go @@ -1,11 +1,11 @@ package daily_refetch import ( - "github.com/forbole/juno/v4/node" + "github.com/forbole/juno/v5/node" - bdjunodb "github.com/forbole/bdjuno/v4/database" + callistodb "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( @@ -15,13 +15,13 @@ var ( type Module struct { node node.Node - database *bdjunodb.Db + database *callistodb.Db } // NewModule builds a new Module instance func NewModule( node node.Node, - database *bdjunodb.Db, + database *callistodb.Db, ) *Module { return &Module{ node: node, diff --git a/modules/did/handle_msg.go b/modules/did/handle_msg.go index 5ad4ec289..cf5e119e2 100644 --- a/modules/did/handle_msg.go +++ b/modules/did/handle_msg.go @@ -2,9 +2,10 @@ package did import ( didtypes "github.com/cheqd/cheqd-node/x/did/types" + sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/types" - juno "github.com/forbole/juno/v4/types" + "github.com/forbole/callisto/v4/types" + juno "github.com/forbole/juno/v5/types" ) // HandleMsg implements MessageModule diff --git a/modules/did/module.go b/modules/did/module.go index cb2ad144f..3b34f2371 100644 --- a/modules/did/module.go +++ b/modules/did/module.go @@ -3,10 +3,10 @@ package did import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" - junomessages "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/juno/v5/modules" + junomessages "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/distribution/handle_genesis.go b/modules/distribution/handle_genesis.go index 6a1d6f871..532e2931d 100644 --- a/modules/distribution/handle_genesis.go +++ b/modules/distribution/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/rs/zerolog/log" diff --git a/modules/distribution/handle_msg.go b/modules/distribution/handle_msg.go index e79c6da56..5503b7e83 100644 --- a/modules/distribution/handle_msg.go +++ b/modules/distribution/handle_msg.go @@ -3,7 +3,7 @@ package distribution import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" ) diff --git a/modules/distribution/handle_periodic_operations.go b/modules/distribution/handle_periodic_operations.go index 59c8e6ad6..534ef2b8a 100644 --- a/modules/distribution/handle_periodic_operations.go +++ b/modules/distribution/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.PeriodicOperationsModule @@ -25,10 +25,10 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { // GetLatestCommunityPool gets the latest community pool from the chain and stores inside the database func (m *Module) GetLatestCommunityPool() error { - height, err := m.db.GetLastBlockHeight() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return fmt.Errorf("error while getting latest block height: %s", err) } - return m.updateCommunityPool(height) + return m.updateCommunityPool(block.Height) } diff --git a/modules/distribution/module.go b/modules/distribution/module.go index af439ba71..ee72027e2 100644 --- a/modules/distribution/module.go +++ b/modules/distribution/module.go @@ -3,11 +3,11 @@ package distribution import ( "github.com/cosmos/cosmos-sdk/codec" - distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" + distrsource "github.com/forbole/callisto/v4/modules/distribution/source" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" ) var ( diff --git a/modules/distribution/source/local/source.go b/modules/distribution/source/local/source.go index 9e5ed9997..511a70a28 100644 --- a/modules/distribution/source/local/source.go +++ b/modules/distribution/source/local/source.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" - distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" + distrsource "github.com/forbole/callisto/v4/modules/distribution/source" ) var ( diff --git a/modules/distribution/source/remote/source.go b/modules/distribution/source/remote/source.go index 1d68b2eb0..3292b14a1 100644 --- a/modules/distribution/source/remote/source.go +++ b/modules/distribution/source/remote/source.go @@ -3,9 +3,9 @@ package remote import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" + distrsource "github.com/forbole/callisto/v4/modules/distribution/source" ) var ( diff --git a/modules/distribution/source/remote/source_actions.go b/modules/distribution/source/remote/source_actions.go index 0c5c25b1c..ed9d3eab1 100644 --- a/modules/distribution/source/remote/source_actions.go +++ b/modules/distribution/source/remote/source_actions.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/utils" ) // DelegatorTotalRewards implements distrsource.Source diff --git a/modules/distribution/utils_params.go b/modules/distribution/utils_params.go index fbbf53213..d8a53a585 100644 --- a/modules/distribution/utils_params.go +++ b/modules/distribution/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/distribution/utils_rewards.go b/modules/distribution/utils_rewards.go index d6267e390..1012bed69 100644 --- a/modules/distribution/utils_rewards.go +++ b/modules/distribution/utils_rewards.go @@ -4,8 +4,8 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/modules/pricefeed" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/feegrant/handle_block.go b/modules/feegrant/handle_block.go index 3041fa7f7..8324b8762 100644 --- a/modules/feegrant/handle_block.go +++ b/modules/feegrant/handle_block.go @@ -3,15 +3,15 @@ package feegrant import ( "fmt" - abci "github.com/tendermint/tendermint/abci/types" + abci "github.com/cometbft/cometbft/abci/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // HandleBlock implements BlockModule @@ -43,7 +43,7 @@ func (m *Module) removeExpiredFeeGrantAllowances(height int64, events []abci.Eve if err != nil { return fmt.Errorf("error while getting fee grant grantee address: %s", err) } - err = m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(string(granteeAddress.Value), string(granterAddress.Value), height)) + err = m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(granteeAddress.Value, granterAddress.Value, height)) if err != nil { return fmt.Errorf("error while deleting fee grant allowance: %s", err) diff --git a/modules/feegrant/handle_msg.go b/modules/feegrant/handle_msg.go index 825d9db9b..1594f4c0e 100644 --- a/modules/feegrant/handle_msg.go +++ b/modules/feegrant/handle_msg.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // HandleMsgExec implements modules.AuthzMessageModule diff --git a/modules/feegrant/module.go b/modules/feegrant/module.go index bb68d1a16..64e96e421 100644 --- a/modules/feegrant/module.go +++ b/modules/feegrant/module.go @@ -3,9 +3,9 @@ package feegrant import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/gov/expected_modules.go b/modules/gov/expected_modules.go index def7fca1c..72c5a1854 100644 --- a/modules/gov/expected_modules.go +++ b/modules/gov/expected_modules.go @@ -1,16 +1,12 @@ package gov import ( + tmctypes "github.com/cometbft/cometbft/rpc/core/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) -type AuthModule interface { - RefreshAccounts(height int64, addresses []string) error -} - type DistrModule interface { UpdateParams(height int64) error } diff --git a/modules/gov/handle_block.go b/modules/gov/handle_block.go index 1d6c05d51..c521144a4 100644 --- a/modules/gov/handle_block.go +++ b/modules/gov/handle_block.go @@ -3,15 +3,15 @@ package gov import ( "fmt" "strconv" - "time" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + abci "github.com/cometbft/cometbft/abci/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/rs/zerolog/log" - abci "github.com/tendermint/tendermint/abci/types" ) // HandleBlock implements modules.BlockModule @@ -19,17 +19,18 @@ func (m *Module) HandleBlock( b *tmctypes.ResultBlock, blockResults *tmctypes.ResultBlockResults, txs []*juno.Tx, vals *tmctypes.ResultValidators, ) error { txEvents := collectTxEvents(txs) - err := m.updateProposalsStatus(b.Block.Height, b.Block.Time, txEvents, blockResults.EndBlockEvents, vals) + err := m.updateProposalsStatus(b.Block.Height, txEvents, blockResults.EndBlockEvents, vals) if err != nil { log.Error().Str("module", "gov").Int64("height", b.Block.Height). Err(err).Msg("error while updating proposals") } + return nil } // updateProposalsStatus updates the status of proposals if they have been included in the EndBlockEvents or status // was changed from deposit to voting -func (m *Module) updateProposalsStatus(height int64, blockTime time.Time, txEvents, endBlockEvents []abci.Event, blockVals *tmctypes.ResultValidators) error { +func (m *Module) updateProposalsStatus(height int64, txEvents, endBlockEvents []abci.Event, blockVals *tmctypes.ResultValidators) error { var ids []uint64 // check if EndBlockEvents contains active_proposal event endBlockIDs, err := findProposalIDsInEvents(endBlockEvents, govtypes.EventTypeActiveProposal, govtypes.AttributeKeyProposalID) @@ -54,7 +55,7 @@ func (m *Module) updateProposalsStatus(height int64, blockTime time.Time, txEven // update status for proposals IDs stored in ids array for _, id := range ids { - err = m.UpdateProposal(height, blockTime, id) + err := m.UpdateProposalStatus(height, id) if err != nil { return fmt.Errorf("error while updating proposal: %s", err) } @@ -69,6 +70,7 @@ func (m *Module) updateProposalsStatus(height int64, blockTime time.Time, txEven return fmt.Errorf("error while updating proposal validator statuses snapshots: %s", err) } } + return nil } @@ -79,11 +81,11 @@ func findProposalIDsInEvents(events []abci.Event, eventType, attrKey string) ([] continue } for _, attr := range event.Attributes { - if string(attr.Key) != attrKey { + if attr.Key != attrKey { continue } // parse proposal ID from []byte to unit64 - id, err := strconv.ParseUint(string(attr.Value), 10, 64) + id, err := strconv.ParseUint(attr.Value, 10, 64) if err != nil { return nil, fmt.Errorf("error while parsing proposal id: %s", err) } diff --git a/modules/gov/handle_genesis.go b/modules/gov/handle_genesis.go index 07ab39ead..0ad0521ba 100644 --- a/modules/gov/handle_genesis.go +++ b/modules/gov/handle_genesis.go @@ -4,12 +4,12 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" gov "github.com/cosmos/cosmos-sdk/x/gov/types" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" "github.com/rs/zerolog/log" ) @@ -18,7 +18,7 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json log.Debug().Str("module", "gov").Msg("parsing genesis") // Read the genesis state - var genStatev1beta1 govtypesv1beta1.GenesisState + var genStatev1beta1 govtypesv1.GenesisState err := m.cdc.UnmarshalJSON(appState[gov.ModuleName], &genStatev1beta1) if err != nil { return fmt.Errorf("error while reading gov genesis data: %s", err) @@ -31,12 +31,7 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json } // Save the params - err = m.db.SaveGenesisGovParams(types.NewGenesisGovParams( - types.NewGenesisVotingParams(&genStatev1beta1.VotingParams), - types.NewGenesisDepositParam(&genStatev1beta1.DepositParams), - types.NewGenesisTallyParams(&genStatev1beta1.TallyParams), - doc.InitialHeight, - )) + err = m.db.SaveGovParams(types.NewGovParams(genStatev1beta1.Params, doc.InitialHeight)) if err != nil { return fmt.Errorf("error while storing genesis governance params: %s", err) } @@ -45,7 +40,7 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json } // saveGenesisProposals save proposals from genesis file -func (m *Module) saveGenesisProposals(slice govtypesv1beta1.Proposals, genDoc *tmtypes.GenesisDoc) error { +func (m *Module) saveGenesisProposals(slice govtypesv1.Proposals, genDoc *tmtypes.GenesisDoc) error { proposals := make([]types.Proposal, len(slice)) tallyResults := make([]types.TallyResult, len(slice)) deposits := make([]types.Deposit, len(slice)) @@ -53,32 +48,34 @@ func (m *Module) saveGenesisProposals(slice govtypesv1beta1.Proposals, genDoc *t for index, proposal := range slice { // Since it's not possible to get the proposer, set it to nil proposals[index] = types.NewProposal( - proposal.ProposalId, - proposal.ProposalRoute(), - proposal.ProposalType(), - proposal.GetContent(), + proposal.Id, + proposal.Title, + proposal.Summary, + proposal.Metadata, + proposal.Messages, proposal.Status.String(), - proposal.SubmitTime, - proposal.DepositEndTime, + *proposal.SubmitTime, + *proposal.DepositEndTime, proposal.VotingStartTime, proposal.VotingEndTime, "", ) tallyResults[index] = types.NewTallyResult( - proposal.ProposalId, - proposal.FinalTallyResult.Yes.String(), - proposal.FinalTallyResult.Abstain.String(), - proposal.FinalTallyResult.No.String(), - proposal.FinalTallyResult.NoWithVeto.String(), + proposal.Id, + proposal.FinalTallyResult.YesCount, + proposal.FinalTallyResult.AbstainCount, + proposal.FinalTallyResult.NoCount, + proposal.FinalTallyResult.NoWithVetoCount, genDoc.InitialHeight, ) deposits[index] = types.NewDeposit( - proposal.ProposalId, + proposal.Id, "", proposal.TotalDeposit, genDoc.GenesisTime, + "", genDoc.InitialHeight, ) } diff --git a/modules/gov/handle_msg.go b/modules/gov/handle_msg.go index 228fc527c..dd8aaf1d8 100644 --- a/modules/gov/handle_msg.go +++ b/modules/gov/handle_msg.go @@ -2,17 +2,20 @@ package gov import ( "fmt" + "strings" "time" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" + "google.golang.org/grpc/codes" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/authz" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" ) // HandleMsgExec implements modules.AuthzMessageModule @@ -62,7 +65,44 @@ func (m *Module) handleSubmitProposalEvent(tx *juno.Tx, proposer string, events // Get the proposal proposal, err := m.source.Proposal(tx.Height, proposalID) if err != nil { - return fmt.Errorf("error while getting proposal: %s", err) + if strings.Contains(err.Error(), codes.NotFound.String()) { + // query the proposal details using the latest height stored in db + // to fix the rpc error returning code = NotFound desc = proposal x doesn't exist + block, err := m.db.GetLastBlockHeightAndTimestamp() + if err != nil { + return fmt.Errorf("error while getting latest block height: %s", err) + } + proposal, err = m.source.Proposal(block.Height, proposalID) + if err != nil { + return fmt.Errorf("error while getting proposal: %s", err) + } + } else { + return fmt.Errorf("error while getting proposal: %s", err) + } + } + + var addresses []types.Account + for _, msg := range proposal.Messages { + var sdkMsg sdk.Msg + err := m.cdc.UnpackAny(msg, &sdkMsg) + if err != nil { + return fmt.Errorf("error while unpacking proposal message: %s", err) + } + + switch msg := sdkMsg.(type) { + case *distrtypes.MsgCommunityPoolSpend: + addresses = append(addresses, types.NewAccount(msg.Recipient)) + case *govtypesv1.MsgExecLegacyContent: + content, ok := msg.Content.GetCachedValue().(*distrtypes.CommunityPoolSpendProposal) + if ok { + addresses = append(addresses, types.NewAccount(content.Recipient)) + } + } + } + + err = m.db.SaveAccounts(addresses) + if err != nil { + return fmt.Errorf("error while storing proposal recipient: %s", err) } // Unpack the proposal interfaces @@ -73,13 +113,14 @@ func (m *Module) handleSubmitProposalEvent(tx *juno.Tx, proposer string, events // Store the proposal proposalObj := types.NewProposal( - proposal.ProposalId, - proposal.GetContent().ProposalRoute(), - proposal.GetContent().ProposalType(), - proposal.GetContent(), + proposal.Id, + proposal.Title, + proposal.Summary, + proposal.Metadata, + proposal.Messages, proposal.Status.String(), - proposal.SubmitTime, - proposal.DepositEndTime, + *proposal.SubmitTime, + *proposal.DepositEndTime, proposal.VotingStartTime, proposal.VotingEndTime, proposer, @@ -112,7 +153,7 @@ func (m *Module) handleDepositEvent(tx *juno.Tx, depositor string, events sdk.St } return m.db.SaveDeposits([]types.Deposit{ - types.NewDeposit(proposalID, depositor, deposit.Amount, txTimestamp, tx.Height), + types.NewDeposit(proposalID, depositor, deposit.Amount, txTimestamp, tx.TxHash, tx.Height), }) } @@ -130,12 +171,18 @@ func (m *Module) handleVoteEvent(tx *juno.Tx, voter string, events sdk.StringEve } // Get the vote option - voteOption, err := VoteOptionFromEvents(events) + weightVoteOption, err := WeightVoteOptionFromEvents(events) if err != nil { return fmt.Errorf("error while getting vote option: %s", err) } - vote := types.NewVote(proposalID, voter, voteOption, txTimestamp, tx.Height) + vote := types.NewVote(proposalID, voter, weightVoteOption.Option, weightVoteOption.Weight, txTimestamp, tx.Height) + + err = m.db.SaveVote(vote) + if err != nil { + return fmt.Errorf("error while saving vote: %s", err) + } - return m.db.SaveVote(vote) + // update tally result for given proposal + return m.UpdateProposalTallyResult(proposalID, tx.Height) } diff --git a/modules/gov/module.go b/modules/gov/module.go index b5a7f272e..34ca290f3 100644 --- a/modules/gov/module.go +++ b/modules/gov/module.go @@ -3,11 +3,11 @@ package gov import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + govsource "github.com/forbole/callisto/v4/modules/gov/source" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( @@ -23,7 +23,6 @@ type Module struct { cdc codec.Codec db *database.Db source govsource.Source - authModule AuthModule distrModule DistrModule mintModule MintModule slashingModule SlashingModule @@ -33,7 +32,6 @@ type Module struct { // NewModule returns a new Module instance func NewModule( source govsource.Source, - authModule AuthModule, distrModule DistrModule, mintModule MintModule, slashingModule SlashingModule, @@ -44,7 +42,6 @@ func NewModule( return &Module{ cdc: cdc, source: source, - authModule: authModule, distrModule: distrModule, mintModule: mintModule, slashingModule: slashingModule, diff --git a/modules/gov/source/local/source.go b/modules/gov/source/local/source.go index 1246dfac8..0b1360eb5 100644 --- a/modules/gov/source/local/source.go +++ b/modules/gov/source/local/source.go @@ -5,11 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/forbole/juno/v5/node/local" - "github.com/forbole/juno/v4/node/local" - - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + govsource "github.com/forbole/callisto/v4/modules/gov/source" ) var ( @@ -19,29 +17,27 @@ var ( // Source implements govsource.Source by using a local node type Source struct { *local.Source - q govtypesv1.QueryServer - qv1beta1 govtypesv1beta1.QueryClient + queryClient govtypesv1.QueryServer } // NewSource returns a new Source instance -func NewSource(source *local.Source, govKeeper govtypesv1.QueryServer, govKeeperv1beta1 govtypesv1beta1.QueryClient) *Source { +func NewSource(source *local.Source, govKeeper govtypesv1.QueryServer) *Source { return &Source{ - Source: source, - q: govKeeper, - qv1beta1: govKeeperv1beta1, + Source: source, + queryClient: govKeeper, } } // Proposal implements govsource.Source -func (s Source) Proposal(height int64, id uint64) (govtypesv1beta1.Proposal, error) { +func (s Source) Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) { ctx, err := s.LoadHeight(height) if err != nil { - return govtypesv1beta1.Proposal{}, fmt.Errorf("error while loading height: %s", err) + return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.qv1beta1.Proposal(sdk.WrapSDKContext(ctx), &govtypesv1beta1.QueryProposalRequest{ProposalId: id}) + res, err := s.queryClient.Proposal(sdk.WrapSDKContext(ctx), &govtypesv1.QueryProposalRequest{ProposalId: id}) if err != nil { - return govtypesv1beta1.Proposal{}, err + return nil, err } return res.Proposal, nil @@ -54,7 +50,7 @@ func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (*gov return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.Deposit(sdk.WrapSDKContext(ctx), &govtypesv1.QueryDepositRequest{ProposalId: id, Depositor: depositor}) + res, err := s.queryClient.Deposit(sdk.WrapSDKContext(ctx), &govtypesv1.QueryDepositRequest{ProposalId: id, Depositor: depositor}) if err != nil { return nil, err } @@ -69,7 +65,7 @@ func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyR return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.TallyResult(sdk.WrapSDKContext(ctx), &govtypesv1.QueryTallyResultRequest{ProposalId: proposalID}) + res, err := s.queryClient.TallyResult(sdk.WrapSDKContext(ctx), &govtypesv1.QueryTallyResultRequest{ProposalId: proposalID}) if err != nil { return nil, err } @@ -77,47 +73,17 @@ func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyR return res.Tally, nil } -// DepositParams implements govsource.Source -func (s Source) DepositParams(height int64) (*govtypesv1.DepositParams, error) { - ctx, err := s.LoadHeight(height) - if err != nil { - return nil, fmt.Errorf("error while loading height: %s", err) - } - - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamDeposit}) - if err != nil { - return nil, err - } - - return res.DepositParams, nil -} - -// VotingParams implements govsource.Source -func (s Source) VotingParams(height int64) (*govtypesv1.VotingParams, error) { - ctx, err := s.LoadHeight(height) - if err != nil { - return nil, fmt.Errorf("error while loading height: %s", err) - } - - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamVoting}) - if err != nil { - return nil, err - } - - return res.VotingParams, nil -} - -// TallyParams implements govsource.Source -func (s Source) TallyParams(height int64) (*govtypesv1.TallyParams, error) { +// Params implements govsource.Source +func (s Source) Params(height int64) (*govtypesv1.Params, error) { ctx, err := s.LoadHeight(height) if err != nil { return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamTallying}) + res, err := s.queryClient.Params(sdk.WrapSDKContext(ctx), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamDeposit}) if err != nil { return nil, err } - return res.TallyParams, nil + return res.Params, nil } diff --git a/modules/gov/source/remote/source.go b/modules/gov/source/remote/source.go index db0330471..2ea04ea5d 100644 --- a/modules/gov/source/remote/source.go +++ b/modules/gov/source/remote/source.go @@ -2,10 +2,9 @@ package remote import ( govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + govsource "github.com/forbole/callisto/v4/modules/gov/source" ) var ( @@ -15,27 +14,25 @@ var ( // Source implements govsource.Source using a remote node type Source struct { *remote.Source - govClient govtypesv1.QueryClient - govClientv1beta1 govtypesv1beta1.QueryClient + queryClient govtypesv1.QueryClient } // NewSource returns a new Source implementation -func NewSource(source *remote.Source, govClient govtypesv1.QueryClient, govClientv1beta1 govtypesv1beta1.QueryClient) *Source { +func NewSource(source *remote.Source, queryClient govtypesv1.QueryClient) *Source { return &Source{ - Source: source, - govClient: govClient, - govClientv1beta1: govClientv1beta1, + Source: source, + queryClient: queryClient, } } // Proposal implements govsource.Source -func (s Source) Proposal(height int64, id uint64) (govtypesv1beta1.Proposal, error) { - res, err := s.govClientv1beta1.Proposal( +func (s Source) Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) { + res, err := s.queryClient.Proposal( remote.GetHeightRequestContext(s.Ctx, height), - &govtypesv1beta1.QueryProposalRequest{ProposalId: id}, + &govtypesv1.QueryProposalRequest{ProposalId: id}, ) if err != nil { - return govtypesv1beta1.Proposal{}, err + return nil, err } return res.Proposal, err @@ -43,7 +40,7 @@ func (s Source) Proposal(height int64, id uint64) (govtypesv1beta1.Proposal, err // ProposalDeposit implements govsource.Source func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (*govtypesv1.Deposit, error) { - res, err := s.govClient.Deposit( + res, err := s.queryClient.Deposit( remote.GetHeightRequestContext(s.Ctx, height), &govtypesv1.QueryDepositRequest{ProposalId: id, Depositor: depositor}, ) @@ -56,7 +53,7 @@ func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (*gov // TallyResult implements govsource.Source func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyResult, error) { - res, err := s.govClient.TallyResult( + res, err := s.queryClient.TallyResult( remote.GetHeightRequestContext(s.Ctx, height), &govtypesv1.QueryTallyResultRequest{ProposalId: proposalID}, ) @@ -67,9 +64,9 @@ func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyR return res.Tally, nil } -// DepositParams implements govsource.Source -func (s Source) DepositParams(height int64) (*govtypesv1.DepositParams, error) { - res, err := s.govClient.Params( +// Params implements govsource.Source +func (s Source) Params(height int64) (*govtypesv1.Params, error) { + res, err := s.queryClient.Params( remote.GetHeightRequestContext(s.Ctx, height), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamDeposit}, ) @@ -77,31 +74,5 @@ func (s Source) DepositParams(height int64) (*govtypesv1.DepositParams, error) { return nil, err } - return res.DepositParams, nil -} - -// VotingParams implements govsource.Source -func (s Source) VotingParams(height int64) (*govtypesv1.VotingParams, error) { - res, err := s.govClient.Params( - remote.GetHeightRequestContext(s.Ctx, height), - &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamVoting}, - ) - if err != nil { - return nil, err - } - - return res.VotingParams, nil -} - -// TallyParams implements govsource.Source -func (s Source) TallyParams(height int64) (*govtypesv1.TallyParams, error) { - res, err := s.govClient.Params( - remote.GetHeightRequestContext(s.Ctx, height), - &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamTallying}, - ) - if err != nil { - return nil, err - } - - return res.TallyParams, nil + return res.Params, nil } diff --git a/modules/gov/source/source.go b/modules/gov/source/source.go index 87761c2a9..b499e6d32 100644 --- a/modules/gov/source/source.go +++ b/modules/gov/source/source.go @@ -2,14 +2,11 @@ package source import ( govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) type Source interface { - Proposal(height int64, id uint64) (govtypesv1beta1.Proposal, error) + Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) ProposalDeposit(height int64, id uint64, depositor string) (*govtypesv1.Deposit, error) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyResult, error) - DepositParams(height int64) (*govtypesv1.DepositParams, error) - VotingParams(height int64) (*govtypesv1.VotingParams, error) - TallyParams(height int64) (*govtypesv1.TallyParams, error) + Params(height int64) (*govtypesv1.Params, error) } diff --git a/modules/gov/utils_events.go b/modules/gov/utils_events.go index 4b426b6ba..772d9e802 100644 --- a/modules/gov/utils_events.go +++ b/modules/gov/utils_events.go @@ -9,7 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - eventsutil "github.com/forbole/bdjuno/v4/utils/events" + eventsutil "github.com/forbole/callisto/v4/utils/events" ) // ProposalIDFromEvent returns the proposal id from the given events @@ -24,40 +24,43 @@ func ProposalIDFromEvents(events sdk.StringEvents) (uint64, error) { return 0, fmt.Errorf("no proposal id found") } -// VoteOptionFromEvents returns the vote option from the given events -func VoteOptionFromEvents(events sdk.StringEvents) (govtypesv1.VoteOption, error) { +// WeightVoteOptionFromEvents returns the vote option from the given events +func WeightVoteOptionFromEvents(events sdk.StringEvents) (govtypesv1.WeightedVoteOption, error) { for _, event := range events { attribute, ok := eventsutil.FindAttributeByKey(event, govtypes.AttributeKeyOption) if ok { - return parseVoteOption(attribute.Value) + return parseWeightVoteOption(attribute.Value) } } - return 0, fmt.Errorf("no vote option found") + return govtypesv1.WeightedVoteOption{}, fmt.Errorf("no vote option found") } -// parseVoteOption returns the vote option from the given string -// option value in string could be 2 cases, for example: +// parseWeightVoteOption returns the vote option from the given string +// option value in string has 2 cases, for example: // 1. "{\"option\":1,\"weight\":\"1.000000000000000000\"}" // 2. "option:VOTE_OPTION_NO weight:\"1.000000000000000000\"" -func parseVoteOption(optionValue string) (govtypesv1.VoteOption, error) { - // try parse option value as json - type voteOptionJSON struct { - Option govtypesv1.VoteOption `json:"option"` - } - var voteOptionParsedJSON voteOptionJSON - err := json.Unmarshal([]byte(optionValue), &voteOptionParsedJSON) +func parseWeightVoteOption(optionValue string) (govtypesv1.WeightedVoteOption, error) { + // try parse json option value + var weightedVoteOption govtypesv1.WeightedVoteOption + err := json.Unmarshal([]byte(optionValue), &weightedVoteOption) if err == nil { - return voteOptionParsedJSON.Option, nil + return weightedVoteOption, nil } - // try parse option value as string + // try parse string option value // option:VOTE_OPTION_NO weight:"1.000000000000000000" voteOptionParsed := strings.Split(optionValue, " ") + if len(voteOptionParsed) != 2 { + return govtypesv1.WeightedVoteOption{}, fmt.Errorf("failed to parse vote option %s", optionValue) + } + voteOption, err := govtypesv1.VoteOptionFromString(strings.ReplaceAll(voteOptionParsed[0], "option:", "")) if err != nil { - return 0, fmt.Errorf("failed to parse vote option %s: %s", optionValue, err) + return govtypesv1.WeightedVoteOption{}, fmt.Errorf("failed to parse vote option %s: %s", optionValue, err) } + weight := strings.ReplaceAll(voteOptionParsed[1], "weight:", "") + weight = strings.ReplaceAll(weight, "\"", "") - return voteOption, nil + return govtypesv1.WeightedVoteOption{Option: voteOption, Weight: weight}, nil } diff --git a/modules/gov/utils_params.go b/modules/gov/utils_params.go index 0c82ca53d..08a371ee8 100644 --- a/modules/gov/utils_params.go +++ b/modules/gov/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // UpdateParams updates the governance parameters for the given height @@ -13,25 +13,10 @@ func (m *Module) UpdateParams(height int64) error { log.Debug().Str("module", "gov").Int64("height", height). Msg("updating params") - depositParams, err := m.source.DepositParams(height) + params, err := m.source.Params(height) if err != nil { - return fmt.Errorf("error while getting gov deposit params: %s", err) + return fmt.Errorf("error while getting gov params: %s", err) } - votingParams, err := m.source.VotingParams(height) - if err != nil { - return fmt.Errorf("error while getting gov voting params: %s", err) - } - - tallyParams, err := m.source.TallyParams(height) - if err != nil { - return fmt.Errorf("error while getting gov tally params: %s", err) - } - - return m.db.SaveGovParams(types.NewGovParams( - types.NewVotingParams(votingParams), - types.NewDepositParam(depositParams), - types.NewTallyParams(tallyParams), - height, - )) + return m.db.SaveGovParams(types.NewGovParams(params, height)) } diff --git a/modules/gov/utils_proposal.go b/modules/gov/utils_proposal.go index 92895d069..c0ffe6cdb 100644 --- a/modules/gov/utils_proposal.go +++ b/modules/gov/utils_proposal.go @@ -3,27 +3,29 @@ package gov import ( "fmt" "strings" - "time" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + sdk "github.com/cosmos/cosmos-sdk/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/rs/zerolog/log" + + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" proposaltypes "github.com/cosmos/cosmos-sdk/x/params/types/proposal" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "google.golang.org/grpc/codes" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - - "github.com/forbole/bdjuno/v4/types" - - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/forbole/callisto/v4/types" gov "github.com/cosmos/cosmos-sdk/x/gov/types" ) -func (m *Module) UpdateProposal(height int64, blockTime time.Time, id uint64) error { +// UpdateProposalStatus queries the latest details of given proposal ID, updates it's status +// in database and handles changes if the proposal has been passed. +func (m *Module) UpdateProposalStatus(height int64, id uint64) error { // Get the proposal proposal, err := m.source.Proposal(height, id) if err != nil { @@ -41,16 +43,6 @@ func (m *Module) UpdateProposal(height int64, blockTime time.Time, id uint64) er return fmt.Errorf("error while updating proposal status: %s", err) } - err = m.updateProposalTallyResult(proposal) - if err != nil { - return fmt.Errorf("error while updating proposal tally result: %s", err) - } - - err = m.updateAccounts(proposal) - if err != nil { - return fmt.Errorf("error while updating account: %s", err) - } - err = m.handlePassedProposal(proposal, height) if err != nil { return fmt.Errorf("error while handling passed proposals: %s", err) @@ -59,22 +51,53 @@ func (m *Module) UpdateProposal(height int64, blockTime time.Time, id uint64) er return nil } -func (m *Module) UpdateProposalValidatorStatusesSnapshot(height int64, blockVals *tmctypes.ResultValidators, id uint64) error { - err := m.updateProposalValidatorStatusesSnapshot(height, id, blockVals) +// updateProposalStatus updates given proposal status +func (m *Module) updateProposalStatus(proposal *govtypesv1.Proposal) error { + return m.db.UpdateProposal( + types.NewProposalUpdate( + proposal.Id, + proposal.Status.String(), + proposal.VotingStartTime, + proposal.VotingEndTime, + ), + ) +} + +// UpdateProposalsStakingPoolSnapshot updates +// staking pool snapshots for active proposals +func (m *Module) UpdateProposalsStakingPoolSnapshot() error { + log.Debug().Str("module", "gov").Msg("refreshing proposal staking pool snapshots") + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { - return fmt.Errorf("error while updating proposal validator statuses snapshot: %s", err) + return err + } + + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) + if err != nil { + log.Error().Err(err).Str("module", "gov").Msg("error while getting open proposals ids") + } + + for _, proposalID := range ids { + err = m.UpdateProposalStakingPoolSnapshot(block.Height, proposalID) + if err != nil { + return fmt.Errorf("error while updating proposal %d staking pool snapshots: %s", proposalID, err) + } } return nil } -func (m *Module) UpdateProposalStakingPoolSnapshot(height int64, id uint64) error { - err := m.updateProposalStakingPoolSnapshot(height, id) +// UpdateProposalStakingPoolSnapshot updates the staking pool snapshot associated with the gov +// proposal having the provided id +func (m *Module) UpdateProposalStakingPoolSnapshot(height int64, proposalID uint64) error { + pool, err := m.stakingModule.GetStakingPoolSnapshot(height) if err != nil { - return fmt.Errorf("error while updating proposal staking pool snapshot: %s", err) + return fmt.Errorf("error while getting staking pool: %s", err) } - return nil + return m.db.SaveProposalStakingPoolSnapshot( + types.NewProposalStakingPoolSnapshot(proposalID, pool), + ) } // updateDeletedProposalStatus updates the proposal having the given id by setting its status @@ -87,7 +110,7 @@ func (m *Module) updateDeletedProposalStatus(id uint64) error { return m.db.UpdateProposal( types.NewProposalUpdate( - stored.ProposalID, + stored.ID, types.ProposalStatusInvalid, stored.VotingStartTime, stored.VotingEndTime, @@ -96,73 +119,77 @@ func (m *Module) updateDeletedProposalStatus(id uint64) error { } // handleParamChangeProposal updates params to the corresponding modules if a ParamChangeProposal has passed -func (m *Module) handleParamChangeProposal(height int64, paramChangeProposal *proposaltypes.ParameterChangeProposal) (err error) { - for _, change := range paramChangeProposal.Changes { - // Update the params for corresponding modules - switch change.Subspace { - case distrtypes.ModuleName: - err = m.distrModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", distrtypes.ModuleName, err) - } - case gov.ModuleName: - err = m.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", gov.ModuleName, err) - } - case minttypes.ModuleName: - err = m.mintModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", minttypes.ModuleName, err) - } +func (m *Module) handleParamChangeProposal(height int64, moduleName string) (err error) { + switch moduleName { + case distrtypes.ModuleName: + err = m.distrModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", distrtypes.ModuleName, err) + } + case gov.ModuleName: + err = m.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", gov.ModuleName, err) + } + case minttypes.ModuleName: + err = m.mintModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", minttypes.ModuleName, err) + } - // Update the inflation - err = m.mintModule.UpdateInflation() - if err != nil { - return fmt.Errorf("error while updating inflation with ParamChangeProposal: %s", err) - } - case slashingtypes.ModuleName: - err = m.slashingModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", slashingtypes.ModuleName, err) - } - case stakingtypes.ModuleName: - err = m.stakingModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", stakingtypes.ModuleName, err) - } + // Update the inflation + err = m.mintModule.UpdateInflation() + if err != nil { + return fmt.Errorf("error while updating inflation with ParamChangeProposal: %s", err) + } + case slashingtypes.ModuleName: + err = m.slashingModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", slashingtypes.ModuleName, err) + } + case stakingtypes.ModuleName: + err = m.stakingModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", stakingtypes.ModuleName, err) } } - return nil -} -// updateProposalStatus updates the given proposal status -func (m *Module) updateProposalStatus(proposal govtypesv1beta1.Proposal) error { - return m.db.UpdateProposal( - types.NewProposalUpdate( - proposal.ProposalId, - proposal.Status.String(), - proposal.VotingStartTime, - proposal.VotingEndTime, - ), - ) + return nil } -// updateProposalTallyResult updates the tally result associated with the given proposal -func (m *Module) updateProposalTallyResult(proposal govtypesv1beta1.Proposal) error { - height, err := m.db.GetLastBlockHeight() +// UpdateProposalsTallyResults updates the tally for active proposals +func (m *Module) UpdateProposalsTallyResults() error { + log.Debug().Str("module", "gov").Msg("refreshing proposal tally results") + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return err } - result, err := m.source.TallyResult(height, proposal.ProposalId) + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) + if err != nil { + log.Error().Err(err).Str("module", "gov").Msg("error while getting open proposals ids") + } + + for _, proposalID := range ids { + err = m.UpdateProposalTallyResult(proposalID, block.Height) + if err != nil { + return fmt.Errorf("error while updating proposal %d tally result : %s", proposalID, err) + } + } + + return nil +} + +// UpdateProposalTallyResult updates the tally result associated with the given proposal ID +func (m *Module) UpdateProposalTallyResult(proposalID uint64, height int64) error { + result, err := m.source.TallyResult(height, proposalID) if err != nil { return fmt.Errorf("error while getting tally result: %s", err) } return m.db.SaveTallyResults([]types.TallyResult{ types.NewTallyResult( - proposal.ProposalId, + proposalID, result.YesCount, result.AbstainCount, result.NoCount, @@ -172,38 +199,130 @@ func (m *Module) updateProposalTallyResult(proposal govtypesv1beta1.Proposal) er }) } -// updateAccounts updates any account that might be involved in the proposal (eg. fund community recipient) -func (m *Module) updateAccounts(proposal govtypesv1beta1.Proposal) error { - content, ok := proposal.Content.GetCachedValue().(*distrtypes.CommunityPoolSpendProposal) - if ok { - height, err := m.db.GetLastBlockHeight() +func (m *Module) handlePassedProposal(proposal *govtypesv1.Proposal, height int64) error { + if proposal.Status != govtypesv1.StatusPassed { + // If proposal status is not passed, do nothing + return nil + } + + for _, msg := range proposal.Messages { + var sdkMsg sdk.Msg + err := m.cdc.UnpackAny(msg, &sdkMsg) if err != nil { - return fmt.Errorf("error while getting last block height: %s", err) + return fmt.Errorf("error while unpacking proposal message: %s", err) + } + + switch msg := sdkMsg.(type) { + case *govtypesv1.MsgExecLegacyContent: + err := m.handlePassedV1Beta1Proposal(proposal, msg, height) + if err != nil { + return err + } + + default: + err := m.handlePassedV1Proposal(proposal, msg, height) + if err != nil { + return err + } } + } - addresses := []string{content.Recipient} + return nil +} - err = m.authModule.RefreshAccounts(height, addresses) +// handlePassedV1Proposal handles a passed proposal that contains a v1 message (new version) +func (m *Module) handlePassedV1Proposal(proposal *govtypesv1.Proposal, msg sdk.Msg, height int64) error { + switch msg := msg.(type) { + case *upgradetypes.MsgSoftwareUpgrade: + // Store software upgrade plan while SoftwareUpgradeProposal passed + err := m.db.SaveSoftwareUpgradePlan(proposal.Id, msg.Plan, height) if err != nil { - return err + return fmt.Errorf("error while storing software upgrade plan: %s", err) } - return nil + case *upgradetypes.MsgCancelUpgrade: + // Delete software upgrade plan while CancelSoftwareUpgradeProposal passed + err := m.db.DeleteSoftwareUpgradePlan(proposal.Id) + if err != nil { + return fmt.Errorf("error while deleting software upgrade plan: %s", err) + } + + default: + // Try to see if it's a param change proposal. This should be handled as last case + // because it's the most generic one + subspace, ok := getParamChangeSubspace(msg) + if ok { + err := m.handleParamChangeProposal(height, subspace) + if err != nil { + return err + } + } } + return nil } -// updateProposalStakingPoolSnapshot updates the staking pool snapshot associated with the gov -// proposal having the provided id -func (m *Module) updateProposalStakingPoolSnapshot(height int64, proposalID uint64) error { - pool, err := m.stakingModule.GetStakingPoolSnapshot(height) +// getParamChangeSubspace returns the subspace of the param change proposal, if any. +// If the message is not a param change proposal, it returns false +func getParamChangeSubspace(msg sdk.Msg) (string, bool) { + switch msg.(type) { + case *distrtypes.MsgUpdateParams: + return distrtypes.ModuleName, true + case *govtypesv1.MsgUpdateParams: + return gov.ModuleName, true + case *minttypes.MsgUpdateParams: + return minttypes.ModuleName, true + case *slashingtypes.MsgUpdateParams: + return slashingtypes.ModuleName, true + case *stakingtypes.MsgUpdateParams: + return stakingtypes.ModuleName, true + + default: + return "", false + } +} + +// handlePassedV1Beta1Proposal handles a passed proposal with a v1beta1 message (legacy) +func (m *Module) handlePassedV1Beta1Proposal(proposal *govtypesv1.Proposal, msg *govtypesv1.MsgExecLegacyContent, height int64) error { + // Unpack proposal + var content govtypesv1beta1.Content + err := m.cdc.UnpackAny(msg.Content, &content) if err != nil { - return fmt.Errorf("error while getting staking pool: %s", err) + return fmt.Errorf("error while handling ParamChangeProposal: %s", err) } - return m.db.SaveProposalStakingPoolSnapshot( - types.NewProposalStakingPoolSnapshot(proposalID, pool), - ) + switch p := content.(type) { + case *proposaltypes.ParameterChangeProposal: + // Update params while ParameterChangeProposal passed + for _, change := range p.Changes { + err = m.handleParamChangeProposal(height, change.Subspace) + if err != nil { + return fmt.Errorf("error while updating params from ParamChangeProposal: %s", err) + } + } + case *upgradetypes.SoftwareUpgradeProposal: + // Store software upgrade plan while SoftwareUpgradeProposal passed + err = m.db.SaveSoftwareUpgradePlan(proposal.Id, p.Plan, height) + if err != nil { + return fmt.Errorf("error while storing software upgrade plan: %s", err) + } + case *upgradetypes.CancelSoftwareUpgradeProposal: + // Delete software upgrade plan while CancelSoftwareUpgradeProposal passed + err = m.db.DeleteSoftwareUpgradePlan(proposal.Id) + if err != nil { + return fmt.Errorf("error while deleting software upgrade plan: %s", err) + } + } + return nil +} + +func (m *Module) UpdateProposalValidatorStatusesSnapshot(height int64, blockVals *tmctypes.ResultValidators, id uint64) error { + err := m.updateProposalValidatorStatusesSnapshot(height, id, blockVals) + if err != nil { + return fmt.Errorf("error while updating proposal validator statuses snapshot: %s", err) + } + + return nil } // updateProposalValidatorStatusesSnapshot updates the snapshots of the various validators for @@ -246,8 +365,8 @@ func (m *Module) updateProposalValidatorStatusesSnapshot( snapshots[index] = types.NewProposalValidatorStatusSnapshot( proposalID, consAddr.String(), - votingPower.VotingPower, - status.Status, + votingPower.VotingPower.Int64(), + stakingtypes.BondStatus(status.Status), status.Jailed, height, ) @@ -273,39 +392,3 @@ func findStatus(consAddr string, statuses []types.ValidatorStatus) (types.Valida } return types.ValidatorStatus{}, fmt.Errorf("cannot find status for validator with consensus address %s", consAddr) } - -func (m *Module) handlePassedProposal(proposal govtypesv1beta1.Proposal, height int64) error { - if proposal.Status != govtypesv1beta1.StatusPassed { - // If proposal status is not passed, do nothing - return nil - } - - // Unpack proposal - var content govtypesv1beta1.Content - err := m.db.Cdc.UnpackAny(proposal.Content, &content) - if err != nil { - return fmt.Errorf("error while handling ParamChangeProposal: %s", err) - } - - switch p := content.(type) { - case *proposaltypes.ParameterChangeProposal: - // Update params while ParameterChangeProposal passed - err = m.handleParamChangeProposal(height, p) - if err != nil { - return fmt.Errorf("error while updating params from ParamChangeProposal: %s", err) - } - case *upgradetypes.SoftwareUpgradeProposal: - // Store software upgrade plan while SoftwareUpgradeProposal passed - err = m.db.SaveSoftwareUpgradePlan(proposal.ProposalId, p.Plan, height) - if err != nil { - return fmt.Errorf("error while storing software upgrade plan: %s", err) - } - case *upgradetypes.CancelSoftwareUpgradeProposal: - // Delete software upgrade plan while CancelSoftwareUpgradeProposal passed - err = m.db.DeleteSoftwareUpgradePlan(proposal.ProposalId) - if err != nil { - return fmt.Errorf("error while deleting software upgrade plan: %s", err) - } - } - return nil -} diff --git a/modules/message_type/handle_msg.go b/modules/message_type/handle_msg.go index fa89cbdd9..f1d95623a 100644 --- a/modules/message_type/handle_msg.go +++ b/modules/message_type/handle_msg.go @@ -2,11 +2,11 @@ package message_type import ( sdk "github.com/cosmos/cosmos-sdk/types" - utils "github.com/forbole/bdjuno/v4/modules/utils" - msgtypes "github.com/forbole/bdjuno/v4/types" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/gogoproto/proto" + utils "github.com/forbole/callisto/v4/modules/utils" + msgtypes "github.com/forbole/callisto/v4/types" - "github.com/forbole/juno/v4/types" + "github.com/forbole/juno/v5/types" ) // HandleMsg represents a message handler that stores the given message inside the proper database table diff --git a/modules/message_type/module.go b/modules/message_type/module.go index d3aca1175..e328c6cd7 100644 --- a/modules/message_type/module.go +++ b/modules/message_type/module.go @@ -2,9 +2,9 @@ package message_type import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/juno/v4/modules" - "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/mint/handle_genesis.go b/modules/mint/handle_genesis.go index aa671dbc0..c5e1f56b5 100644 --- a/modules/mint/handle_genesis.go +++ b/modules/mint/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/rs/zerolog/log" diff --git a/modules/mint/handle_periodic_operations.go b/modules/mint/handle_periodic_operations.go index 6f64b9da1..a275b1568 100644 --- a/modules/mint/handle_periodic_operations.go +++ b/modules/mint/handle_periodic_operations.go @@ -1,13 +1,7 @@ package mint import ( - "encoding/json" - "fmt" - "io" - "net/http" - - "github.com/forbole/bdjuno/v4/modules/utils" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/utils" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" @@ -35,38 +29,16 @@ func (m *Module) UpdateInflation() error { Str("operation", "inflation"). Msg("getting inflation data") - height, err := m.db.GetLastBlockHeight() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return err } - inflation, err := queryLatestInflation() + // Get the inflation + inflation, err := m.source.GetInflation(block.Height) if err != nil { return err } - return m.db.SaveInflation(inflation, height) - -} - -// queryLatestInflation queries cheqd latest inflation value -func queryLatestInflation() (string, error) { - resp, err := http.Get("https://api.cheqd.net/cosmos/mint/v1beta1/inflation") - if err != nil { - return "", err - } - defer resp.Body.Close() - - bz, err := io.ReadAll(resp.Body) - if err != nil { - return "", fmt.Errorf("error while reading inflation response body: %s", err) - } - - var inflation types.InflationCheqd - err = json.Unmarshal(bz, &inflation) - if err != nil { - return "", fmt.Errorf("error while unmarshaling inflation response body: %s", err) - } - - return inflation.Inflation, nil + return m.db.SaveInflation(inflation.String(), block.Height) } diff --git a/modules/mint/module.go b/modules/mint/module.go index 1440693db..ddee8fa98 100644 --- a/modules/mint/module.go +++ b/modules/mint/module.go @@ -2,10 +2,10 @@ package mint import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v4/database" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + "github.com/forbole/callisto/v4/database" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" ) var ( diff --git a/modules/mint/source/local/source.go b/modules/mint/source/local/source.go index 74e3f4fc2..846467b42 100644 --- a/modules/mint/source/local/source.go +++ b/modules/mint/source/local/source.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" ) var ( diff --git a/modules/mint/source/remote/source.go b/modules/mint/source/remote/source.go index 52fba9c4e..ee2c44548 100644 --- a/modules/mint/source/remote/source.go +++ b/modules/mint/source/remote/source.go @@ -3,9 +3,9 @@ package remote import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" ) var ( diff --git a/modules/mint/utils_params.go b/modules/mint/utils_params.go index af4805702..f8dcc4d8d 100644 --- a/modules/mint/utils_params.go +++ b/modules/mint/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/modules/module.go b/modules/modules/module.go index b3b42147a..5798936fb 100644 --- a/modules/modules/module.go +++ b/modules/modules/module.go @@ -1,10 +1,10 @@ package modules import ( - "github.com/forbole/juno/v4/modules" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" ) var ( diff --git a/modules/pricefeed/coingecko/apis.go b/modules/pricefeed/coingecko/apis.go index 2cf80fbcc..db03cec08 100644 --- a/modules/pricefeed/coingecko/apis.go +++ b/modules/pricefeed/coingecko/apis.go @@ -8,7 +8,7 @@ import ( "net/http" "strings" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // GetCoinsList allows to fetch from the remote APIs the list of all the supported tokens diff --git a/modules/pricefeed/coingecko/apis_test.go b/modules/pricefeed/coingecko/apis_test.go index 5164f6f5a..7da790832 100644 --- a/modules/pricefeed/coingecko/apis_test.go +++ b/modules/pricefeed/coingecko/apis_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/forbole/bdjuno/v4/modules/pricefeed/coingecko" + "github.com/forbole/callisto/v4/modules/pricefeed/coingecko" ) func TestConvertCoingeckoPrices(t *testing.T) { diff --git a/modules/pricefeed/config.go b/modules/pricefeed/config.go index 5f35ecbe2..37b7c43d1 100644 --- a/modules/pricefeed/config.go +++ b/modules/pricefeed/config.go @@ -3,7 +3,7 @@ package pricefeed import ( "gopkg.in/yaml.v3" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // Config contains the configuration about the pricefeed module diff --git a/modules/pricefeed/handle_additional_operations.go b/modules/pricefeed/handle_additional_operations.go index 944a2cbb1..5265cabab 100644 --- a/modules/pricefeed/handle_additional_operations.go +++ b/modules/pricefeed/handle_additional_operations.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/pricefeed/handle_periodic_operations.go b/modules/pricefeed/handle_periodic_operations.go index 0b893ffa8..28125b3e6 100644 --- a/modules/pricefeed/handle_periodic_operations.go +++ b/modules/pricefeed/handle_periodic_operations.go @@ -7,10 +7,10 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - "github.com/forbole/bdjuno/v4/modules/pricefeed/coingecko" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/pricefeed/coingecko" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.PeriodicOperationsModule diff --git a/modules/pricefeed/module.go b/modules/pricefeed/module.go index 52a857f6f..86718b0a1 100644 --- a/modules/pricefeed/module.go +++ b/modules/pricefeed/module.go @@ -2,11 +2,11 @@ package pricefeed import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v4/types/config" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/registrar.go b/modules/registrar.go index 6d245f751..0dcb12bb9 100644 --- a/modules/registrar.go +++ b/modules/registrar.go @@ -1,39 +1,39 @@ package modules import ( - "github.com/forbole/bdjuno/v4/modules/actions" - "github.com/forbole/bdjuno/v4/modules/did" - "github.com/forbole/bdjuno/v4/modules/resource" - "github.com/forbole/bdjuno/v4/modules/types" - - "github.com/forbole/juno/v4/modules/pruning" - "github.com/forbole/juno/v4/modules/telemetry" - - "github.com/forbole/bdjuno/v4/modules/slashing" - - jmodules "github.com/forbole/juno/v4/modules" - "github.com/forbole/juno/v4/modules/messages" - "github.com/forbole/juno/v4/modules/registrar" - - "github.com/forbole/bdjuno/v4/utils" - - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules/auth" - "github.com/forbole/bdjuno/v4/modules/bank" - "github.com/forbole/bdjuno/v4/modules/consensus" - "github.com/forbole/bdjuno/v4/modules/distribution" - "github.com/forbole/bdjuno/v4/modules/feegrant" - - dailyrefetch "github.com/forbole/bdjuno/v4/modules/daily_refetch" - "github.com/forbole/bdjuno/v4/modules/gov" - messagetype "github.com/forbole/bdjuno/v4/modules/message_type" - "github.com/forbole/bdjuno/v4/modules/mint" - "github.com/forbole/bdjuno/v4/modules/modules" - "github.com/forbole/bdjuno/v4/modules/pricefeed" - "github.com/forbole/bdjuno/v4/modules/staking" - topaccounts "github.com/forbole/bdjuno/v4/modules/top_accounts" - "github.com/forbole/bdjuno/v4/modules/upgrade" - juno "github.com/forbole/juno/v4/types" + "github.com/forbole/callisto/v4/modules/actions" + "github.com/forbole/callisto/v4/modules/did" + "github.com/forbole/callisto/v4/modules/types" + + "github.com/forbole/juno/v5/modules/pruning" + "github.com/forbole/juno/v5/modules/telemetry" + + "github.com/forbole/callisto/v4/modules/slashing" + + jmodules "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/modules/messages" + "github.com/forbole/juno/v5/modules/registrar" + + "github.com/forbole/callisto/v4/utils" + + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules/auth" + "github.com/forbole/callisto/v4/modules/bank" + "github.com/forbole/callisto/v4/modules/consensus" + "github.com/forbole/callisto/v4/modules/distribution" + "github.com/forbole/callisto/v4/modules/feegrant" + + dailyrefetch "github.com/forbole/callisto/v4/modules/daily_refetch" + "github.com/forbole/callisto/v4/modules/gov" + messagetype "github.com/forbole/callisto/v4/modules/message_type" + "github.com/forbole/callisto/v4/modules/mint" + "github.com/forbole/callisto/v4/modules/modules" + "github.com/forbole/callisto/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/modules/resource" + "github.com/forbole/callisto/v4/modules/staking" + topaccounts "github.com/forbole/callisto/v4/modules/top_accounts" + "github.com/forbole/callisto/v4/modules/upgrade" + juno "github.com/forbole/juno/v5/types" ) // UniqueAddressesParser returns a wrapper around the given parser that removes all duplicated addresses @@ -89,7 +89,7 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { resourceModule := resource.NewModule(r.parser, cdc, db) slashingModule := slashing.NewModule(sources.SlashingSource, cdc, db) stakingModule := staking.NewModule(sources.StakingSource, cdc, db) - govModule := gov.NewModule(sources.GovSource, authModule, distrModule, mintModule, slashingModule, stakingModule, cdc, db) + govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, cdc, db) upgradeModule := upgrade.NewModule(db, stakingModule) topAccountsModule := topaccounts.NewModule(authModule, sources.AuthSource, bankModule, distrModule, stakingModule, r.parser, cdc, ctx.Proxy, db) diff --git a/modules/resource/handle_msg.go b/modules/resource/handle_msg.go index 14cbc88de..b2428975c 100644 --- a/modules/resource/handle_msg.go +++ b/modules/resource/handle_msg.go @@ -3,8 +3,8 @@ package resource import ( resourcetypes "github.com/cheqd/cheqd-node/x/resource/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/types" - juno "github.com/forbole/juno/v4/types" + "github.com/forbole/callisto/v4/types" + juno "github.com/forbole/juno/v5/types" ) // HandleMsg implements MessageModule diff --git a/modules/resource/module.go b/modules/resource/module.go index 300ba5b14..5d78c3f33 100644 --- a/modules/resource/module.go +++ b/modules/resource/module.go @@ -3,10 +3,10 @@ package resource import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" - junomessages "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/juno/v5/modules" + junomessages "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/slashing/handle_block.go b/modules/slashing/handle_block.go index 9be0c3f69..928f83774 100644 --- a/modules/slashing/handle_block.go +++ b/modules/slashing/handle_block.go @@ -3,10 +3,10 @@ package slashing import ( "fmt" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" ) // HandleBlock implements BlockModule diff --git a/modules/slashing/handle_genesis.go b/modules/slashing/handle_genesis.go index b9e4ed966..be1d10d7f 100644 --- a/modules/slashing/handle_genesis.go +++ b/modules/slashing/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/rs/zerolog/log" diff --git a/modules/slashing/module.go b/modules/slashing/module.go index 5c085ea5a..f2b107811 100644 --- a/modules/slashing/module.go +++ b/modules/slashing/module.go @@ -2,10 +2,10 @@ package slashing import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v4/database" - slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" + "github.com/forbole/callisto/v4/database" + slashingsource "github.com/forbole/callisto/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/source/local/source.go b/modules/slashing/source/local/source.go index 3f64bc787..58d330347 100644 --- a/modules/slashing/source/local/source.go +++ b/modules/slashing/source/local/source.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" - slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" + slashingsource "github.com/forbole/callisto/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/source/remote/source.go b/modules/slashing/source/remote/source.go index 87e6b5315..a898375cf 100644 --- a/modules/slashing/source/remote/source.go +++ b/modules/slashing/source/remote/source.go @@ -5,9 +5,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" + slashingsource "github.com/forbole/callisto/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/utils_params.go b/modules/slashing/utils_params.go index 1e4c468be..fff588d31 100644 --- a/modules/slashing/utils_params.go +++ b/modules/slashing/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // UpdateParams gets the slashing params for the given height, and stores them inside the database diff --git a/modules/slashing/utils_signing_info.go b/modules/slashing/utils_signing_info.go index fe07c3154..17d832d8a 100644 --- a/modules/slashing/utils_signing_info.go +++ b/modules/slashing/utils_signing_info.go @@ -3,7 +3,7 @@ package slashing import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) func (m *Module) getSigningInfos(height int64) ([]types.ValidatorSigningInfo, error) { diff --git a/modules/staking/handle_block.go b/modules/staking/handle_block.go index cf3055154..171141e3c 100644 --- a/modules/staking/handle_block.go +++ b/modules/staking/handle_block.go @@ -4,14 +4,13 @@ import ( "encoding/hex" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - tmtypes "github.com/tendermint/tendermint/types" ) // HandleBlock implements BlockModule @@ -19,77 +18,30 @@ func (m *Module) HandleBlock( block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Tx, vals *tmctypes.ResultValidators, ) error { // Update the validators - validators, err := m.updateValidators(block.Block.Height) + _, err := m.updateValidators(block.Block.Height) if err != nil { return fmt.Errorf("error while updating validators: %s", err) } - // Update the voting powers - go m.updateValidatorVotingPower(block.Block.Height, vals) - - // Update the validators statuses - go m.updateValidatorsStatus(block.Block.Height, validators) - // Updated the double sign evidences go m.updateDoubleSignEvidence(block.Block.Height, block.Block.Evidence.Evidence) return nil } -// updateValidatorsStatus updates all validators' statuses -func (m *Module) updateValidatorsStatus(height int64, validators []stakingtypes.Validator) { - log.Debug().Str("module", "staking").Int64("height", height). - Msg("updating validators statuses") - - statuses, err := m.GetValidatorsStatuses(height, validators) - if err != nil { - log.Error().Str("module", "staking").Err(err). - Int64("height", height). - Send() - return - } - - err = m.db.SaveValidatorsStatuses(statuses) - if err != nil { - log.Error().Str("module", "staking").Err(err). - Int64("height", height). - Msg("error while saving validators statuses") - } -} - -// updateValidatorVotingPower fetches and stores into the database all the current validators' voting powers -func (m *Module) updateValidatorVotingPower(height int64, vals *tmctypes.ResultValidators) { - log.Debug().Str("module", "staking").Int64("height", height). - Msg("updating validators voting powers") - - // Get the voting powers - votingPowers, err := m.GetValidatorsVotingPowers(height, vals) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while getting validators voting powers") - return - } - - // Save all the voting powers - err = m.db.SaveValidatorsVotingPowers(votingPowers) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while saving validators voting powers") - } -} - // updateDoubleSignEvidence updates the double sign evidence of all validators func (m *Module) updateDoubleSignEvidence(height int64, evidenceList tmtypes.EvidenceList) { log.Debug().Str("module", "staking").Int64("height", height). Msg("updating double sign evidence") + var evidences []types.DoubleSignEvidence for _, ev := range evidenceList { dve, ok := ev.(*tmtypes.DuplicateVoteEvidence) if !ok { continue } - evidence := types.NewDoubleSignEvidence( + evidences = append(evidences, types.NewDoubleSignEvidence( height, types.NewDoubleSignVote( int(dve.VoteA.Type), @@ -109,14 +61,15 @@ func (m *Module) updateDoubleSignEvidence(height int64, evidenceList tmtypes.Evi dve.VoteB.ValidatorIndex, hex.EncodeToString(dve.VoteB.Signature), ), + ), ) + } - err := m.db.SaveDoubleSignEvidence(evidence) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while saving double sign evidence") - return - } - + err := m.db.SaveDoubleSignEvidences(evidences) + if err != nil { + log.Error().Str("module", "staking").Err(err).Int64("height", height). + Msg("error while saving double sign evidence") + return } + } diff --git a/modules/staking/handle_genesis.go b/modules/staking/handle_genesis.go index e8ddd52cf..f829ac02b 100644 --- a/modules/staking/handle_genesis.go +++ b/modules/staking/handle_genesis.go @@ -6,9 +6,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" diff --git a/modules/staking/handle_msg.go b/modules/staking/handle_msg.go index 4d08ee9bd..d463a0d17 100644 --- a/modules/staking/handle_msg.go +++ b/modules/staking/handle_msg.go @@ -7,7 +7,7 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v4/types" + juno "github.com/forbole/juno/v5/types" ) // HandleMsgExec implements modules.AuthzMessageModule @@ -27,6 +27,19 @@ func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { case *stakingtypes.MsgEditValidator: return m.handleEditValidator(tx.Height, cosmosMsg) + + // update validators statuses, voting power + // and proposals validators satatus snapshots + // when there is a voting power change + case *stakingtypes.MsgDelegate: + return m.UpdateValidatorStatuses() + + case *stakingtypes.MsgBeginRedelegate: + return m.UpdateValidatorStatuses() + + case *stakingtypes.MsgUndelegate: + return m.UpdateValidatorStatuses() + } return nil diff --git a/modules/staking/handle_periodic_operations.go b/modules/staking/handle_periodic_operations.go index 352ad8cab..884d06cae 100644 --- a/modules/staking/handle_periodic_operations.go +++ b/modules/staking/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.PeriodicOperationsModule @@ -20,19 +20,26 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { return fmt.Errorf("error while scheduling staking pool periodic operation: %s", err) } + // refresh proposal validators status snapshots every 5 mins + if _, err := scheduler.Every(5).Minutes().Do(func() { + utils.WatchMethod(m.UpdateValidatorStatuses) + }); err != nil { + return fmt.Errorf("error while setting up gov period operations: %s", err) + } + return nil } // UpdateStakingPool reads from the LCD the current staking pool and stores its value inside the database func (m *Module) UpdateStakingPool() error { - height, err := m.db.GetLastBlockHeight() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return fmt.Errorf("error while getting latest block height: %s", err) } - log.Debug().Str("module", "staking").Int64("height", height). + log.Debug().Str("module", "staking").Int64("height", block.Height). Msg("updating staking pool") - pool, err := m.GetStakingPool(height) + pool, err := m.GetStakingPool(block.Height) if err != nil { return fmt.Errorf("error while getting staking pool: %s", err) diff --git a/modules/staking/module.go b/modules/staking/module.go index 9b0903b7f..f3c83c1bc 100644 --- a/modules/staking/module.go +++ b/modules/staking/module.go @@ -2,10 +2,10 @@ package staking import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v4/database" - stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" + "github.com/forbole/callisto/v4/database" + stakingsource "github.com/forbole/callisto/v4/modules/staking/source" ) var ( diff --git a/modules/staking/source/local/source.go b/modules/staking/source/local/source.go index 0c3b17bff..916f6a6b2 100644 --- a/modules/staking/source/local/source.go +++ b/modules/staking/source/local/source.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v4/node/local" + "github.com/forbole/juno/v5/node/local" - stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" + stakingsource "github.com/forbole/callisto/v4/modules/staking/source" ) var ( diff --git a/modules/staking/source/remote/source.go b/modules/staking/source/remote/source.go index 734a589a8..6b3ebaa2a 100644 --- a/modules/staking/source/remote/source.go +++ b/modules/staking/source/remote/source.go @@ -5,9 +5,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" + stakingsource "github.com/forbole/callisto/v4/modules/staking/source" ) var ( diff --git a/modules/staking/source/remote/source_actions.go b/modules/staking/source/remote/source_actions.go index ca2174695..9edd7b17d 100644 --- a/modules/staking/source/remote/source_actions.go +++ b/modules/staking/source/remote/source_actions.go @@ -3,9 +3,9 @@ package remote import ( "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v4/node/remote" + "github.com/forbole/juno/v5/node/remote" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/utils" ) // GetDelegationsWithPagination implements stakingsource.Source diff --git a/modules/staking/utils_delegations.go b/modules/staking/utils_delegations.go index 856dc9c42..cc557cc14 100644 --- a/modules/staking/utils_delegations.go +++ b/modules/staking/utils_delegations.go @@ -5,8 +5,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/forbole/bdjuno/v4/modules/pricefeed" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/pricefeed" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/staking/utils_gentx.go b/modules/staking/utils_gentx.go index 42726c63b..bbe5c2060 100644 --- a/modules/staking/utils_gentx.go +++ b/modules/staking/utils_gentx.go @@ -7,8 +7,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/bdjuno/v4/modules/staking/keybase" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/staking/keybase" + "github.com/forbole/callisto/v4/types" ) // StoreValidatorFromMsgCreateValidator handles properly a MsgCreateValidator instance by diff --git a/modules/staking/utils_params.go b/modules/staking/utils_params.go index eff89883c..9c16f63a9 100644 --- a/modules/staking/utils_params.go +++ b/modules/staking/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/staking/utils_staking_pool.go b/modules/staking/utils_staking_pool.go index f0c01e89f..2323b7645 100644 --- a/modules/staking/utils_staking_pool.go +++ b/modules/staking/utils_staking_pool.go @@ -6,7 +6,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/bdjuno/v4/types" + + "github.com/forbole/callisto/v4/types" ) func (m *Module) GetStakingPool(height int64) (*types.Pool, error) { diff --git a/modules/staking/utils_unbondings.go b/modules/staking/utils_unbondings.go index 11839b559..884f21b26 100644 --- a/modules/staking/utils_unbondings.go +++ b/modules/staking/utils_unbondings.go @@ -5,7 +5,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/staking/utils_validators.go b/modules/staking/utils_validators.go index 2c8a8b7be..8bafc2f1d 100644 --- a/modules/staking/utils_validators.go +++ b/modules/staking/utils_validators.go @@ -3,10 +3,10 @@ package staking import ( "fmt" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - - "github.com/forbole/bdjuno/v4/modules/staking/keybase" - "github.com/forbole/bdjuno/v4/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + "github.com/forbole/callisto/v4/modules/staking/keybase" + "github.com/forbole/callisto/v4/types" + juno "github.com/forbole/juno/v5/types" "github.com/rs/zerolog/log" @@ -34,7 +34,7 @@ func (m *Module) getValidatorConsAddr(validator stakingtypes.Validator) (sdk.Con // --------------------------------------------------------------------------------------------------------------------- -// ConvertValidator converts the given staking validator into a BDJuno validator +// ConvertValidator converts the given staking validator into a callisto validator func (m *Module) convertValidator(height int64, validator stakingtypes.Validator) (types.Validator, error) { consAddr, err := m.getValidatorConsAddr(validator) if err != nil { @@ -203,6 +203,124 @@ func (m *Module) GetValidatorsStatuses(height int64, validators []stakingtypes.V return statuses, nil } +// UpdateValidatorStatuses allows to update validators status, voting power +// and active proposals validator status snapshots +func (m *Module) UpdateValidatorStatuses() error { + // get the latest block height from db + block, err := m.db.GetLastBlockHeightAndTimestamp() + if err != nil { + return fmt.Errorf("error while getting latest block height from db: %s", err) + } + + validators, _, err := m.GetValidatorsWithStatus(block.Height, stakingtypes.Bonded.String()) + if err != nil { + return fmt.Errorf("error while getting validators with bonded status: %s", err) + } + + // update validators status and voting power in database + err = m.updateValidatorStatusAndVP(block.Height, validators) + if err != nil { + return fmt.Errorf("error while updating validators status and voting power: %s", err) + } + + // get all active proposals IDs from db + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) + if err != nil { + return fmt.Errorf("error while getting open proposals ids: %s", err) + } + + // update validator status snapshots for all proposals IDs + // returned from database + for _, id := range ids { + // update validator status snapshot for given height and proposal ID + err = m.updateProposalValidatorStatusSnapshot(block.Height, id, validators) + if err != nil { + return fmt.Errorf("error while updating proposal validator status snapshots: %s", err) + } + } + + return nil +} + +// updateProposalValidatorStatusSnapshot updates validators snapshot for +// the proposal having the given id +func (m *Module) updateProposalValidatorStatusSnapshot( + height int64, proposalID uint64, validators []stakingtypes.Validator) error { + snapshots := make([]types.ProposalValidatorStatusSnapshot, len(validators)) + + for index, validator := range validators { + consAddr, err := validator.GetConsAddr() + if err != nil { + return err + } + + snapshots[index] = types.NewProposalValidatorStatusSnapshot( + proposalID, + consAddr.String(), + validator.Tokens.Int64(), + validator.Status, + validator.Jailed, + height, + ) + } + + log.Debug().Str("module", "staking").Msg("refreshing proposal validator statuses snapshots") + + return m.db.SaveProposalValidatorsStatusesSnapshots(snapshots) +} + +// updateValidatorStatusAndVP updates validators status +// and validators voting power +func (m *Module) updateValidatorStatusAndVP(height int64, validators []stakingtypes.Validator) error { + votingPowers := make([]types.ValidatorVotingPower, len(validators)) + statuses := make([]types.ValidatorStatus, len(validators)) + + for index, validator := range validators { + consAddr, err := validator.GetConsAddr() + if err != nil { + return err + } + + if found, _ := m.db.HasValidator(consAddr.String()); !found { + continue + } + + consPubKey, err := m.getValidatorConsPubKey(validator) + if err != nil { + return err + } + + votingPowers[index] = types.NewValidatorVotingPower(consAddr.String(), validator.Tokens, height) + + statuses[index] = types.NewValidatorStatus( + consAddr.String(), + consPubKey.String(), + int(validator.GetStatus()), + validator.IsJailed(), + height, + ) + } + + log.Debug().Str("module", "staking").Msg("refreshing validator voting power") + // Save validators voting powers in db + err := m.db.SaveValidatorsVotingPowers(votingPowers) + if err != nil { + log.Error().Str("module", "staking").Err(err).Int64("height", height). + Msg("error while saving validators voting powers") + } + + log.Debug().Str("module", "staking").Msg("refreshing validator statuses") + // Save validators statuses in db + err = m.db.SaveValidatorsStatuses(statuses) + if err != nil { + log.Error().Str("module", "staking").Err(err). + Int64("height", height). + Msg("error while saving validators statuses") + } + + return nil +} + func (m *Module) GetValidatorsVotingPowers(height int64, vals *tmctypes.ResultValidators) ([]types.ValidatorVotingPower, error) { stakingVals, _, err := m.getValidators(height) if err != nil { @@ -217,11 +335,20 @@ func (m *Module) GetValidatorsVotingPowers(height int64, vals *tmctypes.ResultVa return nil, err } + // Find the voting power of this validator + var votingPower int64 = 0 + for _, blockVal := range vals.Validators { + blockValConsAddr := juno.ConvertValidatorAddressToBech32String(blockVal.Address) + if blockValConsAddr == consAddr.String() { + votingPower = blockVal.VotingPower + } + } + if found, _ := m.db.HasValidator(consAddr.String()); !found { continue } - votingPowers[index] = types.NewValidatorVotingPower(consAddr.String(), validator.Tokens, height) + votingPowers[index] = types.NewValidatorVotingPower(consAddr.String(), sdk.NewInt(votingPower), height) } return votingPowers, nil diff --git a/modules/top_accounts/expected_modules.go b/modules/top_accounts/expected_modules.go index 60e329318..18d69fc9f 100644 --- a/modules/top_accounts/expected_modules.go +++ b/modules/top_accounts/expected_modules.go @@ -1,7 +1,7 @@ package top_accounts import ( - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) type AuthModule interface { diff --git a/modules/top_accounts/handle_msg.go b/modules/top_accounts/handle_msg.go index e52e20129..dc8d9ac0a 100644 --- a/modules/top_accounts/handle_msg.go +++ b/modules/top_accounts/handle_msg.go @@ -7,8 +7,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distritypes "github.com/cosmos/cosmos-sdk/x/distribution/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/bdjuno/v4/modules/utils" - juno "github.com/forbole/juno/v4/types" + "github.com/forbole/callisto/v4/modules/utils" + juno "github.com/forbole/juno/v5/types" "github.com/gogo/protobuf/proto" ) diff --git a/modules/top_accounts/handle_periodic_operations.go b/modules/top_accounts/handle_periodic_operations.go index 31d1194bb..68a990037 100644 --- a/modules/top_accounts/handle_periodic_operations.go +++ b/modules/top_accounts/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.Module diff --git a/modules/top_accounts/module.go b/modules/top_accounts/module.go index 0162fecd7..10f8e5e4e 100644 --- a/modules/top_accounts/module.go +++ b/modules/top_accounts/module.go @@ -3,11 +3,11 @@ package top_accounts import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/juno/v4/node" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/juno/v5/node" - "github.com/forbole/juno/v4/modules" - junomessages "github.com/forbole/juno/v4/modules/messages" + "github.com/forbole/juno/v5/modules" + junomessages "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/top_accounts/utils_refresh_all.go b/modules/top_accounts/utils_refresh_all.go index 8c15dc04f..1c48b50a2 100644 --- a/modules/top_accounts/utils_refresh_all.go +++ b/modules/top_accounts/utils_refresh_all.go @@ -12,7 +12,7 @@ func (m *Module) RefreshAll(address string) error { // Set the height 5 blocks lower to avoid error // codespace sdk code 26: invalid height: cannot query with height in the future height := latestHeight - 5 - + err = m.bankModule.UpdateBalances([]string{address}, height) if err != nil { return fmt.Errorf("error while refreshing balance of account %s, error: %s", address, err) diff --git a/modules/types/sources.go b/modules/types/sources.go index 58b7f792d..95f87e0e4 100644 --- a/modules/types/sources.go +++ b/modules/types/sources.go @@ -4,46 +4,45 @@ import ( "fmt" "os" - "github.com/cosmos/cosmos-sdk/simapp" - "github.com/tendermint/tendermint/libs/log" - - "github.com/cosmos/cosmos-sdk/simapp/params" - "github.com/forbole/juno/v4/node/remote" + "github.com/cheqd/cheqd-node/app" + "github.com/cometbft/cometbft/libs/log" + "github.com/forbole/juno/v5/node/remote" + "github.com/forbole/juno/v5/types/params" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distrtkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v4/node/local" - - nodeconfig "github.com/forbole/juno/v4/node/config" - - authsource "github.com/forbole/bdjuno/v4/modules/auth/source" - localauthsource "github.com/forbole/bdjuno/v4/modules/auth/source/local" - remoteauthsource "github.com/forbole/bdjuno/v4/modules/auth/source/remote" - banksource "github.com/forbole/bdjuno/v4/modules/bank/source" - localbanksource "github.com/forbole/bdjuno/v4/modules/bank/source/local" - remotebanksource "github.com/forbole/bdjuno/v4/modules/bank/source/remote" - distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" - localdistrsource "github.com/forbole/bdjuno/v4/modules/distribution/source/local" - remotedistrsource "github.com/forbole/bdjuno/v4/modules/distribution/source/remote" - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" - localgovsource "github.com/forbole/bdjuno/v4/modules/gov/source/local" - remotegovsource "github.com/forbole/bdjuno/v4/modules/gov/source/remote" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" - localmintsource "github.com/forbole/bdjuno/v4/modules/mint/source/local" - remotemintsource "github.com/forbole/bdjuno/v4/modules/mint/source/remote" - slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" - localslashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source/local" - remoteslashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source/remote" - stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" - localstakingsource "github.com/forbole/bdjuno/v4/modules/staking/source/local" - remotestakingsource "github.com/forbole/bdjuno/v4/modules/staking/source/remote" + "github.com/forbole/juno/v5/node/local" + + nodeconfig "github.com/forbole/juno/v5/node/config" + + authsource "github.com/forbole/callisto/v4/modules/auth/source" + localauthsource "github.com/forbole/callisto/v4/modules/auth/source/local" + remoteauthsource "github.com/forbole/callisto/v4/modules/auth/source/remote" + banksource "github.com/forbole/callisto/v4/modules/bank/source" + localbanksource "github.com/forbole/callisto/v4/modules/bank/source/local" + remotebanksource "github.com/forbole/callisto/v4/modules/bank/source/remote" + distrsource "github.com/forbole/callisto/v4/modules/distribution/source" + localdistrsource "github.com/forbole/callisto/v4/modules/distribution/source/local" + remotedistrsource "github.com/forbole/callisto/v4/modules/distribution/source/remote" + govsource "github.com/forbole/callisto/v4/modules/gov/source" + localgovsource "github.com/forbole/callisto/v4/modules/gov/source/local" + remotegovsource "github.com/forbole/callisto/v4/modules/gov/source/remote" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" + localmintsource "github.com/forbole/callisto/v4/modules/mint/source/local" + remotemintsource "github.com/forbole/callisto/v4/modules/mint/source/remote" + slashingsource "github.com/forbole/callisto/v4/modules/slashing/source" + localslashingsource "github.com/forbole/callisto/v4/modules/slashing/source/local" + remoteslashingsource "github.com/forbole/callisto/v4/modules/slashing/source/remote" + stakingsource "github.com/forbole/callisto/v4/modules/staking/source" + localstakingsource "github.com/forbole/callisto/v4/modules/staking/source/local" + remotestakingsource "github.com/forbole/callisto/v4/modules/staking/source/remote" ) type Sources struct { @@ -56,7 +55,7 @@ type Sources struct { StakingSource stakingsource.Source } -func BuildSources(nodeCfg nodeconfig.Config, encodingConfig *params.EncodingConfig) (*Sources, error) { +func BuildSources(nodeCfg nodeconfig.Config, encodingConfig params.EncodingConfig) (*Sources, error) { switch cfg := nodeCfg.Details.(type) { case *remote.Details: return buildRemoteSources(cfg) @@ -68,22 +67,21 @@ func BuildSources(nodeCfg nodeconfig.Config, encodingConfig *params.EncodingConf } } -func buildLocalSources(cfg *local.Details, encodingConfig *params.EncodingConfig) (*Sources, error) { +func buildLocalSources(cfg *local.Details, encodingConfig params.EncodingConfig) (*Sources, error) { source, err := local.NewSource(cfg.Home, encodingConfig) if err != nil { return nil, err } - app := simapp.NewSimApp( - log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, map[int64]bool{}, - cfg.Home, 0, simapp.MakeTestEncodingConfig(), simapp.EmptyAppOptions{}, + app := app.New( + log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, nil, nil, ) sources := &Sources{ AuthSource: localauthsource.NewSource(source, authtypes.QueryServer(app.AccountKeeper)), BankSource: localbanksource.NewSource(source, banktypes.QueryServer(app.BankKeeper)), - DistrSource: localdistrsource.NewSource(source, distrtypes.QueryServer(app.DistrKeeper)), - GovSource: localgovsource.NewSource(source, govtypesv1.QueryServer(app.GovKeeper), nil), + DistrSource: localdistrsource.NewSource(source, distrtkeeper.NewQuerier(app.DistrKeeper)), + GovSource: localgovsource.NewSource(source, govtypesv1.QueryServer(app.GovKeeper)), MintSource: localmintsource.NewSource(source, minttypes.QueryServer(app.MintKeeper)), SlashingSource: localslashingsource.NewSource(source, slashingtypes.QueryServer(app.SlashingKeeper)), StakingSource: localstakingsource.NewSource(source, stakingkeeper.Querier{Keeper: app.StakingKeeper}), @@ -122,7 +120,7 @@ func buildRemoteSources(cfg *remote.Details) (*Sources, error) { AuthSource: remoteauthsource.NewSource(source, authtypes.NewQueryClient(source.GrpcConn)), BankSource: remotebanksource.NewSource(source, banktypes.NewQueryClient(source.GrpcConn)), DistrSource: remotedistrsource.NewSource(source, distrtypes.NewQueryClient(source.GrpcConn)), - GovSource: remotegovsource.NewSource(source, govtypesv1.NewQueryClient(source.GrpcConn), govtypesv1beta1.NewQueryClient(source.GrpcConn)), + GovSource: remotegovsource.NewSource(source, govtypesv1.NewQueryClient(source.GrpcConn)), MintSource: remotemintsource.NewSource(source, minttypes.NewQueryClient(source.GrpcConn)), SlashingSource: remoteslashingsource.NewSource(source, slashingtypes.NewQueryClient(source.GrpcConn)), StakingSource: remotestakingsource.NewSource(source, stakingtypes.NewQueryClient(source.GrpcConn)), diff --git a/modules/upgrade/handle_block.go b/modules/upgrade/handle_block.go index 96896658e..c5ca62fd8 100644 --- a/modules/upgrade/handle_block.go +++ b/modules/upgrade/handle_block.go @@ -3,9 +3,9 @@ package upgrade import ( "fmt" - "github.com/forbole/juno/v4/types" + "github.com/forbole/juno/v5/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" ) // HandleBlock implements modules.Module diff --git a/modules/upgrade/module.go b/modules/upgrade/module.go index d4a6c32de..0b67826b8 100644 --- a/modules/upgrade/module.go +++ b/modules/upgrade/module.go @@ -1,9 +1,9 @@ package upgrade import ( - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v4/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/utils/addresses_test.go b/modules/utils/addresses_test.go index 303f78141..0d1580984 100644 --- a/modules/utils/addresses_test.go +++ b/modules/utils/addresses_test.go @@ -3,7 +3,7 @@ package utils_test import ( "testing" - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" "github.com/stretchr/testify/require" ) diff --git a/modules/utils/time.go b/modules/utils/time.go new file mode 100644 index 000000000..e52cfedcd --- /dev/null +++ b/modules/utils/time.go @@ -0,0 +1,17 @@ +package utils + +import ( + "time" +) + +func AreTimesEqual(first *time.Time, second *time.Time) bool { + if first == nil && second == nil { + return true + } + + if first == nil || second == nil { + return false + } + + return first.Equal(*second) +} diff --git a/testutils/time.go b/testutils/time.go new file mode 100644 index 000000000..64bd9d401 --- /dev/null +++ b/testutils/time.go @@ -0,0 +1,13 @@ +package testutils + +import ( + "time" +) + +func NewDurationPointer(duration time.Duration) *time.Duration { + return &duration +} + +func NewTimePointer(time time.Time) *time.Time { + return &time +} diff --git a/types/config/config.go b/types/config/config.go index f3587737c..8d058d2b8 100644 --- a/types/config/config.go +++ b/types/config/config.go @@ -1,15 +1,15 @@ package config import ( - initcmd "github.com/forbole/juno/v4/cmd/init" - junoconfig "github.com/forbole/juno/v4/types/config" + initcmd "github.com/forbole/juno/v5/cmd/init" + junoconfig "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" "gopkg.in/yaml.v3" - "github.com/forbole/bdjuno/v4/modules/actions" + "github.com/forbole/callisto/v4/modules/actions" ) -// Config represents the BDJuno configuration +// Config represents the callisto configuration type Config struct { JunoConfig junoconfig.Config `yaml:"-,inline"` ActionsConfig *actions.Config `yaml:"actions"` diff --git a/types/config/encoding.go b/types/config/encoding.go index 76b393743..368d29e3d 100644 --- a/types/config/encoding.go +++ b/types/config/encoding.go @@ -1,9 +1,9 @@ package config import ( - "github.com/cosmos/cosmos-sdk/simapp/params" "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/types/module" + "github.com/forbole/juno/v5/types/params" ) // MakeEncodingConfig creates an EncodingConfig to properly handle all the messages diff --git a/types/gov.go b/types/gov.go index 747612292..7836d2136 100644 --- a/types/gov.go +++ b/types/gov.go @@ -3,122 +3,27 @@ package types import ( "time" - sdkmath "cosmossdk.io/math" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) const ( ProposalStatusInvalid = "PROPOSAL_STATUS_INVALID" ) -// DepositParams contains the data of the deposit parameters of the x/gov module -type DepositParams struct { - MinDeposit sdk.Coins `json:"min_deposit,omitempty" yaml:"min_deposit"` - MaxDepositPeriod int64 `json:"max_deposit_period,omitempty" yaml:"max_deposit_period"` -} - -// NewDepositParam allows to build a new DepositParams -func NewDepositParam(d *govtypesv1.DepositParams) DepositParams { - return DepositParams{ - MinDeposit: d.MinDeposit, - MaxDepositPeriod: d.MaxDepositPeriod.Nanoseconds(), - } -} - -// NewGenesisDepositParam allows to build a new DepositParams -func NewGenesisDepositParam(d *govtypesv1beta1.DepositParams) DepositParams { - return DepositParams{ - MinDeposit: d.MinDeposit, - MaxDepositPeriod: d.MaxDepositPeriod.Nanoseconds(), - } -} - -// VotingParams contains the voting parameters of the x/gov module -type VotingParams struct { - VotingPeriod int64 `json:"voting_period,omitempty" yaml:"voting_period"` -} - -// NewVotingParams allows to build a new VotingParams instance -func NewVotingParams(v *govtypesv1.VotingParams) VotingParams { - return VotingParams{ - VotingPeriod: v.VotingPeriod.Nanoseconds(), - } -} - -// NewGenesisVotingParams allows to build a new VotingParams instance -func NewGenesisVotingParams(v *govtypesv1beta1.VotingParams) VotingParams { - return VotingParams{ - VotingPeriod: v.VotingPeriod.Nanoseconds(), - } -} - // GovParams contains the data of the x/gov module parameters type GovParams struct { - DepositParams DepositParams `json:"deposit_params" yaml:"deposit_params"` - VotingParams VotingParams `json:"voting_params" yaml:"voting_params"` - TallyParams TallyParams `json:"tally_params" yaml:"tally_params"` - Height int64 `json:"height" ymal:"height"` -} - -// GenesisGovParams contains the data of the x/gov module parameters -type GenesisGovParams struct { - DepositParams DepositParams `json:"deposit_params" yaml:"deposit_params"` - VotingParams VotingParams `json:"voting_params" yaml:"voting_params"` - TallyParams GenesisTallyParams `json:"tally_params" yaml:"tally_params"` - Height int64 `json:"height" ymal:"height"` -} - -// TallyParams contains the tally parameters of the x/gov module -type TallyParams struct { - Quorum string `json:"quorum,omitempty"` - Threshold string `json:"threshold,omitempty"` - VetoThreshold string `json:"veto_threshold,omitempty" yaml:"veto_threshold"` -} - -// GenesisTallyParams contains genesis tally parameters of the x/gov module -type GenesisTallyParams struct { - Quorum sdk.Dec `json:"quorum,omitempty"` - Threshold sdk.Dec `json:"threshold,omitempty"` - VetoThreshold sdk.Dec `json:"veto_threshold,omitempty" yaml:"veto_threshold"` -} - -// NewTallyParams allows to build a new TallyParams instance -func NewTallyParams(t *govtypesv1.TallyParams) TallyParams { - return TallyParams{ - Quorum: t.Quorum, - Threshold: t.Threshold, - VetoThreshold: t.VetoThreshold, - } + *govtypesv1.Params + Height int64 `json:"height" ymal:"height"` } -// NewGenesisTallyParams allows to build a new GenesisTallyParams instance -func NewGenesisTallyParams(t *govtypesv1beta1.TallyParams) GenesisTallyParams { - return GenesisTallyParams{ - Quorum: t.Quorum, - Threshold: t.Threshold, - VetoThreshold: t.VetoThreshold, - } -} - -// NewGovParams allows to build a new GovParams instance -func NewGovParams(votingParams VotingParams, depositParams DepositParams, tallyParams TallyParams, height int64) *GovParams { +func NewGovParams(params *govtypesv1.Params, height int64) *GovParams { return &GovParams{ - DepositParams: depositParams, - VotingParams: votingParams, - TallyParams: tallyParams, - Height: height, - } -} - -// NewGenesisGovParams allows to build a new GenesisGovParams instance -func NewGenesisGovParams(votingParams VotingParams, depositParams DepositParams, tallyParams GenesisTallyParams, height int64) *GenesisGovParams { - return &GenesisGovParams{ - DepositParams: depositParams, - VotingParams: votingParams, - TallyParams: tallyParams, - Height: height, + Params: params, + Height: height, } } @@ -126,36 +31,39 @@ func NewGenesisGovParams(votingParams VotingParams, depositParams DepositParams, // Proposal represents a single governance proposal type Proposal struct { - ProposalRoute string - ProposalType string - ProposalID uint64 - Content govtypesv1beta1.Content + ID uint64 + Title string + Summary string + Metadata string + Messages []*codectypes.Any Status string SubmitTime time.Time DepositEndTime time.Time - VotingStartTime time.Time - VotingEndTime time.Time + VotingStartTime *time.Time + VotingEndTime *time.Time Proposer string } // NewProposal return a new Proposal instance func NewProposal( proposalID uint64, - proposalRoute string, - proposalType string, - content govtypesv1beta1.Content, + title string, + summary string, + metadata string, + messages []*codectypes.Any, status string, submitTime time.Time, depositEndTime time.Time, - votingStartTime time.Time, - votingEndTime time.Time, + votingStartTime *time.Time, + votingEndTime *time.Time, proposer string, ) Proposal { return Proposal{ - Content: content, - ProposalRoute: proposalRoute, - ProposalType: proposalType, - ProposalID: proposalID, + ID: proposalID, + Title: title, + Summary: summary, + Metadata: metadata, + Messages: messages, Status: status, SubmitTime: submitTime, DepositEndTime: depositEndTime, @@ -165,32 +73,16 @@ func NewProposal( } } -// Equal tells whether p and other contain the same data -func (p Proposal) Equal(other Proposal) bool { - return p.ProposalRoute == other.ProposalRoute && - p.ProposalType == other.ProposalType && - p.ProposalID == other.ProposalID && - p.Content.String() == other.Content.String() && - p.Status == other.Status && - p.SubmitTime.Equal(other.SubmitTime) && - p.DepositEndTime.Equal(other.DepositEndTime) && - p.VotingStartTime.Equal(other.VotingStartTime) && - p.VotingEndTime.Equal(other.VotingEndTime) && - p.Proposer == other.Proposer -} - // ProposalUpdate contains the data that should be used when updating a governance proposal type ProposalUpdate struct { ProposalID uint64 Status string - VotingStartTime time.Time - VotingEndTime time.Time + VotingStartTime *time.Time + VotingEndTime *time.Time } // NewProposalUpdate allows to build a new ProposalUpdate instance -func NewProposalUpdate( - proposalID uint64, status string, votingStartTime, votingEndTime time.Time, -) ProposalUpdate { +func NewProposalUpdate(proposalID uint64, status string, votingStartTime, votingEndTime *time.Time) ProposalUpdate { return ProposalUpdate{ ProposalID: proposalID, Status: status, @@ -203,11 +95,12 @@ func NewProposalUpdate( // Deposit contains the data of a single deposit made towards a proposal type Deposit struct { - ProposalID uint64 - Depositor string - Amount sdk.Coins - Timestamp time.Time - Height int64 + ProposalID uint64 + Depositor string + Amount sdk.Coins + Timestamp time.Time + TransactionHash string + Height int64 } // NewDeposit return a new Deposit instance @@ -216,14 +109,16 @@ func NewDeposit( depositor string, amount sdk.Coins, timestamp time.Time, + transactionHash string, height int64, ) Deposit { return Deposit{ - ProposalID: proposalID, - Depositor: depositor, - Amount: amount, - Timestamp: timestamp, - Height: height, + ProposalID: proposalID, + Depositor: depositor, + Amount: amount, + Timestamp: timestamp, + TransactionHash: transactionHash, + Height: height, } } @@ -234,6 +129,7 @@ type Vote struct { ProposalID uint64 Voter string Option govtypesv1.VoteOption + Weight string Timestamp time.Time Height int64 } @@ -243,6 +139,7 @@ func NewVote( proposalID uint64, voter string, option govtypesv1.VoteOption, + weight string, timestamp time.Time, height int64, ) Vote { @@ -250,6 +147,7 @@ func NewVote( ProposalID: proposalID, Voter: voter, Option: option, + Weight: weight, Timestamp: timestamp, Height: height, } @@ -309,8 +207,8 @@ func NewProposalStakingPoolSnapshot(proposalID uint64, pool *PoolSnapshot) Propo type ProposalValidatorStatusSnapshot struct { ProposalID uint64 ValidatorConsAddress string - ValidatorVotingPower sdkmath.Int - ValidatorStatus int + ValidatorVotingPower int64 + ValidatorStatus stakingtypes.BondStatus ValidatorJailed bool Height int64 } @@ -319,8 +217,8 @@ type ProposalValidatorStatusSnapshot struct { func NewProposalValidatorStatusSnapshot( proposalID uint64, validatorConsAddr string, - validatorVotingPower sdkmath.Int, - validatorStatus int, + validatorVotingPower int64, + validatorStatus stakingtypes.BondStatus, validatorJailed bool, height int64, ) ProposalValidatorStatusSnapshot { diff --git a/utils/genesis.go b/utils/genesis.go index 969d11ff7..5023f0c0a 100644 --- a/utils/genesis.go +++ b/utils/genesis.go @@ -3,11 +3,11 @@ package utils import ( "fmt" - "github.com/forbole/juno/v4/node" - "github.com/forbole/juno/v4/types/config" - tmjson "github.com/tendermint/tendermint/libs/json" - tmos "github.com/tendermint/tendermint/libs/os" - tmtypes "github.com/tendermint/tendermint/types" + tmjson "github.com/cometbft/cometbft/libs/json" + tmos "github.com/cometbft/cometbft/libs/os" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/juno/v5/node" + "github.com/forbole/juno/v5/types/config" ) // ReadGenesis reads the genesis data based on the given config diff --git a/utils/node.go b/utils/node.go index 01c3a0744..2c56a1354 100644 --- a/utils/node.go +++ b/utils/node.go @@ -3,8 +3,8 @@ package utils import ( "fmt" - "github.com/forbole/juno/v4/node" - coretypes "github.com/tendermint/tendermint/rpc/core/types" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + "github.com/forbole/juno/v5/node" ) // QueryTxs queries all the transactions from the given node corresponding to the given query