diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 00000000..fa1c3385 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,59 @@ +name: docker-build + +on: + push: + branches: + - cosmos/*/* + - chains/*/* + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v4 + + - name: Set Callisto chain name 🔧 + shell: bash + run: echo "CHAIN_NAME=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//_/g')" >> $GITHUB_ENV + + - 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 }} + CHAIN_NAME="${{env.CHAIN_NAME}}" + VERSION="${{env.GITHUB_VERSION}}" + TAGS="${DOCKER_IMAGE}:${CHAIN_NAME}-${VERSION}" + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Determine Dockerfile to use 🔍 + run: | + if [[ -f Dockerfile.cosmwasm ]]; then + export DOCKERFILE=Dockerfile.cosmwasm + else + export DOCKERFILE=Dockerfile.default + fi + echo "DOCKERFILE=${DOCKERFILE}" >> $GITHUB_ENV + + - name: Set up Docker Buildx 🧰 + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub 👤 + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push 📤 + uses: docker/build-push-action@v5 + with: + context: . + file: "./${{ env.DOCKERFILE }}" + push: true + tags: ${{ steps.prep.outputs.tags }} diff --git a/.github/workflows/lint-pr.yml b/.github/workflows/lint-pr.yml new file mode 100644 index 00000000..e5dba313 --- /dev/null +++ b/.github/workflows/lint-pr.yml @@ -0,0 +1,16 @@ +name: "Lint PR" + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + +jobs: + main: + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5.4.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7f6901e1..e04b8169 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,9 +19,9 @@ jobs: uses: actions/checkout@v4 - name: Setup Go 🧰 - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.21" - 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 a96b85ea..eda2f01e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,9 +25,9 @@ jobs: uses: actions/checkout@v4 - name: Setup Go 🧰 - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: - go-version: "1.20" + go-version: "1.21" - name: Compute diff 📜 uses: technote-space/get-diff-action@v6.1.2 @@ -47,6 +47,6 @@ jobs: - name: Upload coverage 📤 if: "env.GIT_DIFF != ''" - uses: codecov/codecov-action@v4-beta + uses: codecov/codecov-action@v4.0.1 with: file: ./coverage.txt diff --git a/.gitignore b/.gitignore index 02ca44f9..769a8649 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .idea/ build/ pgdata +vendor/ # Configuration *.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index dbc87d44..1168459d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## Unreleased -- ([\#610](https://github.com/forbole/bdjuno/pull/610)) Add support for gov `v1` proposals -- ([\#652](https://github.com/forbole/bdjuno/pull/652)) Update gov module parsing +- ([\#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 @@ -9,56 +11,57 @@ 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 - +- ([\#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 -- ([\#542](https://github.com/forbole/bdjuno/pull/542)) Updated Juno to `v5.1.0` +- ([\#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 `bdjuno 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 -- ([\#412](https://github.com/forbole/bdjuno/pull/412)) Updated Juno to `v3.2.1` +- ([\#412](https://github.com/forbole/callisto/pull/412)) Updated Juno to `v3.2.1` ### 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 @@ -70,20 +73,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 @@ -91,15 +94,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`) @@ -115,25 +118,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 `bdjuno 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 b/Dockerfile index f05d40ab..67eaf882 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM golang:1.19-bullseye AS builder -WORKDIR /go/src/github.com/forbole/bdjuno +WORKDIR /go/src/github.com/forbole/callisto COPY . ./ RUN go mod download RUN make build @@ -12,7 +12,7 @@ WORKDIR /root RUN apt-get update && apt-get install ca-certificates -y COPY --from=builder /deps.txt /root/deps.txt COPY --from=builder /go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.4.1/internal/api/libwasmvm.x86_64.so /root -COPY --from=builder /go/src/github.com/forbole/bdjuno/build/bdjuno /root/bdjuno +COPY --from=builder /go/src/github.com/forbole/callisto/build/bdjuno /root/bdjuno ENV LD_LIBRARY_PATH=/root CMD [ "bdjuno" ] diff --git a/Dockerfile.cosmwasm b/Dockerfile.cosmwasm index 31579b7b..72f140c4 100644 --- a/Dockerfile.cosmwasm +++ b/Dockerfile.cosmwasm @@ -2,7 +2,7 @@ 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 apk update && apk add --no-cache ca-certificates build-base git @@ -17,6 +17,6 @@ RUN LINK_STATICALLY=true BUILD_TAGS="muslc" make build FROM alpine:latest RUN apk update && apk add --no-cache ca-certificates build-base -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/Dockerfile.default b/Dockerfile.default index 92c36709..935226c2 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -1,11 +1,11 @@ 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 24e44440..7ca522b6 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,8 @@ all: lint build test-unit ### Build flags ### ############################################################################### -LD_FLAGS = -X github.com/forbole/juno/v5/cmd.Version=$(VERSION) \ - -X github.com/forbole/juno/v5/cmd.Commit=$(COMMIT) +LD_FLAGS = -X github.com/forbole/juno/v6/cmd.Version=$(VERSION) \ + -X github.com/forbole/juno/v6/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 -v ./database/schema:/docker-entrypoint-initdb.d postgres .PHONY: start-docker-test test-unit: start-docker-test @@ -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 4766194e..53e14262 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) +# Callisto +[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/forbole/bdjuno/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/bdjuno/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 (formerly BDJuno) 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 8ea424af..92ac43a7 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/bdjuno/main.go deleted file mode 100644 index 2b03b278..00000000 --- a/cmd/bdjuno/main.go +++ /dev/null @@ -1,72 +0,0 @@ -package main - -import ( - "github.com/cosmos/cosmos-sdk/types/module" - "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" - - "github.com/forbole/bdjuno/v4/types/config" - - "cosmossdk.io/simapp" - - "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/bdjuno/v4/modules" - - wasmapp "github.com/CosmWasm/wasmd/app" -) - -func main() { - initCfg := initcmd.NewConfig(). - WithConfigCreator(config.Creator) - - parseCfg := parsetypes.NewConfig(). - WithDBBuilder(database.Builder). - WithEncodingConfigBuilder(config.MakeEncodingConfig(getBasicManagers())). - WithRegistrar(modules.NewRegistrar(getAddressesParser())) - - cfg := cmd.NewConfig("bdjuno"). - WithInitConfig(initCfg). - WithParseConfig(parseCfg) - - // Run the command - rootCmd := cmd.RootCmd(cfg.GetName()) - - rootCmd.AddCommand( - cmd.VersionCmd(), - initcmd.NewInitCmd(cfg.GetInitConfig()), - parsecmd.NewParseCmd(cfg.GetParseConfig()), - migratecmd.NewMigrateCmd(cfg.GetName(), cfg.GetParseConfig()), - startcmd.NewStartCmd(cfg.GetParseConfig()), - ) - - executor := cmd.PrepareRootCmd(cfg.GetName(), rootCmd) - err := executor.Execute() - if err != nil { - panic(err) - } -} - -// getBasicManagers returns the various basic managers that are used to register the encoding to -// support custom messages. -// This should be edited by custom implementations if needed. -func getBasicManagers() []module.BasicManager { - return []module.BasicManager{ - simapp.ModuleBasics, - wasmapp.ModuleBasics, - } -} - -// getAddressesParser returns the messages parser that should be used to get the users involved in -// a specific message. -// This should be edited by custom implementations if needed. -func getAddressesParser() messages.MessageAddressesParser { - return messages.JoinMessageParsers( - messages.CosmosMessageAddressesParser, - ) -} diff --git a/cmd/callisto/main.go b/cmd/callisto/main.go new file mode 100644 index 00000000..d9e2651a --- /dev/null +++ b/cmd/callisto/main.go @@ -0,0 +1,58 @@ +package main + +import ( + "github.com/forbole/juno/v6/cmd" + initcmd "github.com/forbole/juno/v6/cmd/init" + parsetypes "github.com/forbole/juno/v6/cmd/parse/types" + startcmd "github.com/forbole/juno/v6/cmd/start" + "github.com/forbole/juno/v6/modules/messages" + + migratecmd "github.com/forbole/callisto/v4/cmd/migrate" + parsecmd "github.com/forbole/callisto/v4/cmd/parse" + "github.com/forbole/callisto/v4/utils" + + "github.com/forbole/callisto/v4/types/config" + + "github.com/forbole/callisto/v4/database" + "github.com/forbole/callisto/v4/modules" +) + +func main() { + initCfg := initcmd.NewConfig(). + WithConfigCreator(config.Creator) + + cdc := utils.GetCodec() + parseCfg := parsetypes.NewConfig(). + WithDBBuilder(database.Builder(cdc)). + WithRegistrar(modules.NewRegistrar(getAddressesParser(), cdc)) + + cfg := cmd.NewConfig("callisto"). + WithInitConfig(initCfg). + WithParseConfig(parseCfg) + + // Run the command + rootCmd := cmd.RootCmd(cfg.GetName()) + + rootCmd.AddCommand( + cmd.VersionCmd(), + initcmd.NewInitCmd(cfg.GetInitConfig()), + parsecmd.NewParseCmd(cfg.GetParseConfig()), + migratecmd.NewMigrateCmd(cfg.GetName(), cfg.GetParseConfig()), + startcmd.NewStartCmd(cfg.GetParseConfig()), + ) + + executor := cmd.PrepareRootCmd(cfg.GetName(), rootCmd) + err := executor.Execute() + if err != nil { + panic(err) + } +} + +// getAddressesParser returns the messages parser that should be used to get the users involved in +// a specific message. +// This should be edited by custom implementations if needed. +func getAddressesParser() messages.MessageAddressesParser { + return messages.JoinMessageParsers( + messages.CosmosMessageAddressesParser, + ) +} diff --git a/cmd/migrate/cmd.go b/cmd/migrate/cmd.go index 06810e3a..ddfac795 100644 --- a/cmd/migrate/cmd.go +++ b/cmd/migrate/cmd.go @@ -4,10 +4,11 @@ import ( "fmt" "os" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" - v3 "github.com/forbole/bdjuno/v4/cmd/migrate/v3" + 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 @@ -15,6 +16,7 @@ type Migrator func(parseCfg *parsecmdtypes.Config) error var ( migrations = map[string]Migrator{ "v3": v3.RunMigration, + "v5": v5.RunMigration, } ) diff --git a/cmd/migrate/v3/migrate.go b/cmd/migrate/v3/migrate.go index c32361c3..628fea05 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "gopkg.in/yaml.v3" - junov4 "github.com/forbole/juno/v5/cmd/migrate/v4" - "github.com/forbole/juno/v5/types/config" + junov4 "github.com/forbole/juno/v6/cmd/migrate/v4" + "github.com/forbole/juno/v6/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 01d44c81..7a6bfb70 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/v5/cmd/migrate/v3" + v3 "github.com/forbole/juno/v6/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 37fc66f0..3870e5c9 100644 --- a/cmd/migrate/v3/utils.go +++ b/cmd/migrate/v3/utils.go @@ -5,7 +5,7 @@ import ( "os" "path" - "github.com/forbole/juno/v5/types/config" + "github.com/forbole/juno/v6/types/config" "gopkg.in/yaml.v3" ) diff --git a/cmd/migrate/v5/migrate.go b/cmd/migrate/v5/migrate.go new file mode 100644 index 00000000..dd2ddfc3 --- /dev/null +++ b/cmd/migrate/v5/migrate.go @@ -0,0 +1,41 @@ +package v5 + +import ( + "fmt" + + parse "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/database" + "github.com/forbole/juno/v6/database/postgresql" + "github.com/forbole/juno/v6/types/config" + + v5db "github.com/forbole/callisto/v4/database/migrate/v5" +) + +// RunMigration runs the migrations to v5 +func RunMigration(parseConfig *parse.Config) error { + cfg, err := GetConfig() + if err != nil { + return fmt.Errorf("error while reading config: %s", err) + } + + // Migrate the database + err = migrateDb(cfg, parseConfig) + if err != nil { + return fmt.Errorf("error while migrating database: %s", err) + } + + return nil +} + +func migrateDb(cfg config.Config, parseConfig *parse.Config) error { + // Get the db + databaseCtx := database.NewContext(cfg.Database, parseConfig.GetLogger()) + db, err := postgresql.Builder(databaseCtx) + if err != nil { + return fmt.Errorf("error while building the db: %s", err) + } + + // Build the migrator and perform the migrations + migrator := v5db.NewMigrator(db.(*postgresql.Database)) + return migrator.Migrate() +} diff --git a/cmd/migrate/v5/utils.go b/cmd/migrate/v5/utils.go new file mode 100644 index 00000000..a435fd57 --- /dev/null +++ b/cmd/migrate/v5/utils.go @@ -0,0 +1,29 @@ +package v5 + +import ( + "fmt" + "os" + "path" + + "github.com/forbole/juno/v6/types/config" + "gopkg.in/yaml.v3" +) + +// GetConfig returns the configuration reading it from the config.yaml file present inside the home directory +func GetConfig() (config.Config, error) { + file := path.Join(config.HomePath, "config.yaml") + + // Make sure the path exists + if _, err := os.Stat(file); os.IsNotExist(err) { + return config.Config{}, fmt.Errorf("config file does not exist") + } + + bz, err := os.ReadFile(file) + if err != nil { + return config.Config{}, fmt.Errorf("error while reading config file: %s", err) + } + + var cfg config.Config + err = yaml.Unmarshal(bz, &cfg) + return cfg, err +} diff --git a/cmd/parse/auth/cmd.go b/cmd/parse/auth/cmd.go index f91f6ced..bed66b49 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/auth/vesting.go b/cmd/parse/auth/vesting.go index a3e6253d..14ea053e 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/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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 @@ -38,7 +38,7 @@ func vestingCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return fmt.Errorf("error unmarshalling genesis doc: %s", err) } - vestingAccounts, err := authutils.GetGenesisVestingAccounts(appState, parseCtx.EncodingConfig.Codec) + vestingAccounts, err := authutils.GetGenesisVestingAccounts(appState, utils.GetCodec()) if err != nil { return fmt.Errorf("error while gestting vesting accounts: %s", err) } diff --git a/cmd/parse/bank/cmd.go b/cmd/parse/bank/cmd.go index 94d3ae68..ea78ddd1 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/bank/supply.go b/cmd/parse/bank/supply.go index dab2d8fc..11a38e97 100644 --- a/cmd/parse/bank/supply.go +++ b/cmd/parse/bank/supply.go @@ -3,14 +3,15 @@ package bank import ( "fmt" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" + "github.com/forbole/callisto/v4/utils" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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 @@ -24,7 +25,7 @@ func supplyCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + sources, err := modulestypes.BuildSources(config.Cfg.Node, utils.GetCodec()) if err != nil { return err } @@ -33,7 +34,7 @@ func supplyCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build bank module - bankModule := bank.NewModule(nil, sources.BankSource, parseCtx.EncodingConfig.Codec, db) + bankModule := bank.NewModule(nil, sources.BankSource, utils.GetCodec(), db) err = bankModule.UpdateSupply() if err != nil { diff --git a/cmd/parse/distribution/cmd.go b/cmd/parse/distribution/cmd.go index 086a9fe9..5d664bc8 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/distribution/communitypool.go b/cmd/parse/distribution/communitypool.go index e898df35..b5337711 100644 --- a/cmd/parse/distribution/communitypool.go +++ b/cmd/parse/distribution/communitypool.go @@ -3,13 +3,14 @@ package distribution import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/utils" ) // communityPoolCmd returns the Cobra command allowing to refresh community pool @@ -23,7 +24,7 @@ func communityPoolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + sources, err := modulestypes.BuildSources(config.Cfg.Node, utils.GetCodec()) if err != nil { return err } @@ -32,7 +33,7 @@ func communityPoolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build distribution module - distrModule := distribution.NewModule(sources.DistrSource, parseCtx.EncodingConfig.Codec, db) + distrModule := distribution.NewModule(sources.DistrSource, utils.GetCodec(), db) err = distrModule.GetLatestCommunityPool() if err != nil { diff --git a/cmd/parse/feegrant/allowance.go b/cmd/parse/feegrant/allowance.go index c2c74dc4..9f6d7ecb 100644 --- a/cmd/parse/feegrant/allowance.go +++ b/cmd/parse/feegrant/allowance.go @@ -5,19 +5,19 @@ import ( "fmt" "sort" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/database" tmctypes "github.com/cometbft/cometbft/rpc/core/types" - feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" + feegranttypes "cosmossdk.io/x/feegrant" "github.com/rs/zerolog/log" ) @@ -36,7 +36,7 @@ func allowanceCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build feegrant module - feegrantModule := feegrant.NewModule(parseCtx.EncodingConfig.Codec, db) + feegrantModule := feegrant.NewModule(utils.GetCodec(), db) // Get the accounts // Collect all the transactions @@ -71,15 +71,15 @@ func allowanceCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { } // Handle only the MsgGrantAllowance and MsgRevokeAllowance instances - for index, msg := range transaction.GetMsgs() { - _, isMsgGrantAllowance := msg.(*feegranttypes.MsgGrantAllowance) - _, isMsgRevokeAllowance := msg.(*feegranttypes.MsgRevokeAllowance) + for index, sdkMsg := range transaction.GetMsgs() { + _, isMsgGrantAllowance := sdkMsg.(*feegranttypes.MsgGrantAllowance) + _, isMsgRevokeAllowance := sdkMsg.(*feegranttypes.MsgRevokeAllowance) if !isMsgGrantAllowance && !isMsgRevokeAllowance { continue } - err = feegrantModule.HandleMsg(index, msg, transaction) + err = feegrantModule.HandleMsg(index, transaction.Body.Messages[index], transaction) if err != nil { return fmt.Errorf("error while handling feegrant module message: %s", err) } diff --git a/cmd/parse/feegrant/cmd.go b/cmd/parse/feegrant/cmd.go index d08909c4..59405e32 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/gov/cmd.go b/cmd/parse/gov/cmd.go index f86d8ca1..efdfeba1 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) @@ -14,6 +14,7 @@ func NewGovCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { cmd.AddCommand( proposalCmd(parseConfig), + paramsCmd(parseConfig), ) return cmd diff --git a/cmd/parse/gov/params.go b/cmd/parse/gov/params.go new file mode 100644 index 00000000..901779df --- /dev/null +++ b/cmd/parse/gov/params.go @@ -0,0 +1,55 @@ +package gov + +import ( + "github.com/spf13/cobra" + + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/types/config" + + "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" + modulestypes "github.com/forbole/callisto/v4/modules/types" + "github.com/forbole/callisto/v4/utils" +) + +func paramsCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "params", + Short: "Get the current parameters of the gov module", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + cdc := utils.GetCodec() + sources, err := modulestypes.BuildSources(config.Cfg.Node, cdc) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build expected modules of gov modules + distrModule := distribution.NewModule(sources.DistrSource, cdc, db) + mintModule := mint.NewModule(sources.MintSource, cdc, db) + slashingModule := slashing.NewModule(sources.SlashingSource, cdc, db) + stakingModule := staking.NewModule(sources.StakingSource, cdc, db) + + // Build the gov module + govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, cdc, db) + + height, err := parseCtx.Node.LatestHeight() + if err != nil { + return err + } + + return govModule.UpdateParams(height) + }, + } +} diff --git a/cmd/parse/gov/proposal.go b/cmd/parse/gov/proposal.go index eb8ab876..36cd4e80 100644 --- a/cmd/parse/gov/proposal.go +++ b/cmd/parse/gov/proposal.go @@ -7,21 +7,22 @@ import ( "github.com/rs/zerolog/log" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/parser" - "github.com/forbole/juno/v5/types/config" + govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/parser" + "github.com/forbole/juno/v6/types/config" "github.com/spf13/cobra" - "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" + "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 @@ -40,7 +41,8 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + cdc := utils.GetCodec() + sources, err := modulestypes.BuildSources(config.Cfg.Node, cdc) if err != nil { return err } @@ -49,13 +51,13 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build expected modules of gov modules for handleParamChangeProposal - distrModule := distribution.NewModule(sources.DistrSource, parseCtx.EncodingConfig.Codec, db) - mintModule := mint.NewModule(sources.MintSource, parseCtx.EncodingConfig.Codec, db) - slashingModule := slashing.NewModule(sources.SlashingSource, parseCtx.EncodingConfig.Codec, db) - stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) + distrModule := distribution.NewModule(sources.DistrSource, cdc, db) + mintModule := mint.NewModule(sources.MintSource, cdc, db) + slashingModule := slashing.NewModule(sources.SlashingSource, cdc, db) + stakingModule := staking.NewModule(sources.StakingSource, cdc, db) // Build the gov module - govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, parseCtx.EncodingConfig.Codec, db) + govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, cdc, db) err = refreshProposalDetails(parseCtx, proposalID, govModule) if err != nil { @@ -124,13 +126,13 @@ func refreshProposalDetails(parseCtx *parser.Context, proposalID uint64, govModu // Handle the MsgSubmitProposal messages for index, msg := range tx.GetMsgs() { - if _, ok := msg.(*govtypesv1.MsgSubmitProposal); !ok { - 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, tx.Body.Messages[index], tx) + if err != nil { + return fmt.Errorf("error while handling MsgSubmitProposal: %s", err) + } } } @@ -155,13 +157,12 @@ func refreshProposalDeposits(parseCtx *parser.Context, proposalID uint64, govMod // Handle the MsgDeposit messages for index, msg := range junoTx.GetMsgs() { - if _, ok := msg.(*govtypesv1.MsgDeposit); !ok { - 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, junoTx.Body.Messages[index], junoTx) + if err != nil { + return fmt.Errorf("error while handling MsgDeposit: %s", err) + } } } } @@ -187,23 +188,39 @@ func refreshProposalVotes(parseCtx *parser.Context, proposalID uint64, govModule // Handle the MsgVote messages for index, msg := range junoTx.GetMsgs() { - if msgVote, ok := msg.(*govtypesv1.MsgVote); !ok { + 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 + default: continue - } else { - // 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 == msgVote.ProposalId { - 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 + } + + // 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, junoTx.Body.Messages[index], 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 5c45f1fa..571da8f4 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/mint/inflation.go b/cmd/parse/mint/inflation.go index b2d514fc..e636b326 100644 --- a/cmd/parse/mint/inflation.go +++ b/cmd/parse/mint/inflation.go @@ -3,13 +3,14 @@ package mint import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/utils" ) // inflationCmd returns the Cobra command allowing to refresh x/mint inflation @@ -23,7 +24,8 @@ func inflationCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + cdc := utils.GetCodec() + sources, err := modulestypes.BuildSources(config.Cfg.Node, cdc) if err != nil { return err } @@ -32,7 +34,7 @@ func inflationCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build mint module - mintModule := mint.NewModule(sources.MintSource, parseCtx.EncodingConfig.Codec, db) + mintModule := mint.NewModule(sources.MintSource, cdc, db) err = mintModule.UpdateInflation() if err != nil { diff --git a/cmd/parse/parse.go b/cmd/parse/parse.go index ab642559..fce055cf 100644 --- a/cmd/parse/parse.go +++ b/cmd/parse/parse.go @@ -1,23 +1,23 @@ package parse import ( - parse "github.com/forbole/juno/v5/cmd/parse/types" + parse "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" - parseblocks "github.com/forbole/juno/v5/cmd/parse/blocks" + parseblocks "github.com/forbole/juno/v6/cmd/parse/blocks" - parsegenesis "github.com/forbole/juno/v5/cmd/parse/genesis" + parsegenesis "github.com/forbole/juno/v6/cmd/parse/genesis" - parsetransaction "github.com/forbole/juno/v5/cmd/parse/transactions" + parsetransaction "github.com/forbole/juno/v6/cmd/parse/transactions" - 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" + 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" ) // 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 51e705cf..53d67b41 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/pricefeed/price.go b/cmd/parse/pricefeed/price.go index 209f0fd1..d36c9963 100644 --- a/cmd/parse/pricefeed/price.go +++ b/cmd/parse/pricefeed/price.go @@ -3,12 +3,13 @@ package pricefeed import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/utils" ) // priceCmd returns the Cobra command allowing to refresh token price @@ -22,11 +23,13 @@ func priceCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } + cdc := utils.GetCodec() + // Get the database db := database.Cast(parseCtx.Database) // Build pricefeed module - pricefeedModule := pricefeed.NewModule(config.Cfg, parseCtx.EncodingConfig.Codec, db) + pricefeedModule := pricefeed.NewModule(config.Cfg, cdc, db) err = pricefeedModule.RunAdditionalOperations() if err != nil { diff --git a/cmd/parse/pricefeed/pricehistory.go b/cmd/parse/pricefeed/pricehistory.go index d0b0f57f..62f8986c 100644 --- a/cmd/parse/pricefeed/pricehistory.go +++ b/cmd/parse/pricefeed/pricehistory.go @@ -3,12 +3,13 @@ package pricefeed import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/utils" ) // priceHistoryCmd returns the Cobra command allowing to store token price history @@ -22,11 +23,13 @@ func priceHistoryCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } + cdc := utils.GetCodec() + // Get the database db := database.Cast(parseCtx.Database) // Build pricefeed module - pricefeedModule := pricefeed.NewModule(config.Cfg, parseCtx.EncodingConfig.Codec, db) + pricefeedModule := pricefeed.NewModule(config.Cfg, cdc, db) err = pricefeedModule.RunAdditionalOperations() if err != nil { diff --git a/cmd/parse/staking/cmd.go b/cmd/parse/staking/cmd.go index 7f0792f1..770401a9 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/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/staking/staking.go b/cmd/parse/staking/staking.go index 1a89d208..ae93c93b 100644 --- a/cmd/parse/staking/staking.go +++ b/cmd/parse/staking/staking.go @@ -3,13 +3,14 @@ package staking import ( "fmt" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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" + "github.com/forbole/callisto/v4/utils" ) // poolCmd returns the Cobra command allowing to refresh x/staking pool @@ -23,7 +24,9 @@ func poolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + cdc := utils.GetCodec() + + sources, err := modulestypes.BuildSources(config.Cfg.Node, cdc) if err != nil { return err } @@ -32,7 +35,7 @@ func poolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build staking module - stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) + stakingModule := staking.NewModule(sources.StakingSource, cdc, db) err = stakingModule.UpdateStakingPool() if err != nil { diff --git a/cmd/parse/staking/validators.go b/cmd/parse/staking/validators.go index eb5560cf..1ca7633d 100644 --- a/cmd/parse/staking/validators.go +++ b/cmd/parse/staking/validators.go @@ -3,14 +3,15 @@ package staking import ( "fmt" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + modulestypes "github.com/forbole/callisto/v4/modules/types" + "github.com/forbole/callisto/v4/utils" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" - "github.com/forbole/juno/v5/types/config" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" + "github.com/forbole/juno/v6/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. @@ -24,7 +25,9 @@ func validatorsCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } - sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + cdc := utils.GetCodec() + + sources, err := modulestypes.BuildSources(config.Cfg.Node, cdc) if err != nil { return err } @@ -33,7 +36,7 @@ func validatorsCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build the staking module - stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) + stakingModule := staking.NewModule(sources.StakingSource, cdc, db) // Get latest height height, err := parseCtx.Node.LatestHeight() diff --git a/database/auth.go b/database/auth.go index 4b406ddd..88745c59 100644 --- a/database/auth.go +++ b/database/auth.go @@ -9,10 +9,10 @@ import ( "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 diff --git a/database/auth_test.go b/database/auth_test.go index e4ad0ee2..96014ddf 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 fc1e9519..91bfa3ca 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 28edd87e..cb82a2b5 100644 --- a/database/bank_test.go +++ b/database/bank_test.go @@ -1,24 +1,24 @@ package database_test import ( + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - - bddbtypes "github.com/forbole/bdjuno/v4/database/types" + bddbtypes "github.com/forbole/callisto/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { // Save the data original := sdk.NewCoins( - sdk.NewCoin("desmos", sdk.NewInt(10000)), - sdk.NewCoin("uatom", sdk.NewInt(15)), + sdk.NewCoin("desmos", math.NewInt(10000)), + sdk.NewCoin("uatom", math.NewInt(15)), ) err := suite.database.SaveSupply(original, 10) suite.Require().NoError(err) // Verify the data - expected := bddbtypes.NewSupplyRow(dbtypes.NewDbCoins(original), 10) + expected := bddbtypes.NewSupplyRow(bddbtypes.NewDbCoins(original), 10) var rows []bddbtypes.SupplyRow err = suite.database.Sqlx.Select(&rows, `SELECT * FROM supply`) @@ -30,8 +30,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { // Try updating with a lower height coins := sdk.NewCoins( - sdk.NewCoin("desmos", sdk.NewInt(10000)), - sdk.NewCoin("uatom", sdk.NewInt(15)), + sdk.NewCoin("desmos", math.NewInt(10000)), + sdk.NewCoin("uatom", math.NewInt(15)), ) err = suite.database.SaveSupply(coins, 9) suite.Require().NoError(err) @@ -46,7 +46,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with same height - coins = sdk.NewCoins(sdk.NewCoin("uakash", sdk.NewInt(10))) + coins = sdk.NewCoins(sdk.NewCoin("uakash", math.NewInt(10))) err = suite.database.SaveSupply(coins, 10) suite.Require().NoError(err) @@ -62,7 +62,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with higher height - coins = sdk.NewCoins(sdk.NewCoin("btc", sdk.NewInt(10))) + coins = sdk.NewCoins(sdk.NewCoin("btc", math.NewInt(10))) err = suite.database.SaveSupply(coins, 20) suite.Require().NoError(err) diff --git a/database/consensus.go b/database/consensus.go index 2d6cfa0d..8e33e1cf 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 diff --git a/database/consensus_test.go b/database/consensus_test.go index 8190a771..6537a5bd 100644 --- a/database/consensus_test.go +++ b/database/consensus_test.go @@ -3,8 +3,8 @@ package database_test import ( "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 da5d4bc1..3c60cee7 100644 --- a/database/database.go +++ b/database/database.go @@ -3,8 +3,9 @@ package database import ( "fmt" - db "github.com/forbole/juno/v5/database" - "github.com/forbole/juno/v5/database/postgresql" + codec "github.com/cosmos/cosmos-sdk/codec" + db "github.com/forbole/juno/v6/database" + "github.com/forbole/juno/v6/database/postgresql" "github.com/jmoiron/sqlx" ) @@ -15,24 +16,28 @@ var _ db.Database = &Db{} type Db struct { *postgresql.Database Sqlx *sqlx.DB + cdc codec.Codec } // Builder allows to create a new Db instance implementing the db.Builder type -func Builder(ctx *db.Context) (db.Database, error) { - database, err := postgresql.Builder(ctx) - if err != nil { - return nil, err +func Builder(cdc codec.Codec) db.Builder { + return func(ctx *db.Context) (db.Database, error) { + database, err := postgresql.Builder(ctx) + if err != nil { + return nil, err + } + + psqlDb, ok := (database).(*postgresql.Database) + if !ok { + return nil, fmt.Errorf("invalid configuration database, must be PostgreSQL") + } + + return &Db{ + Database: psqlDb, + Sqlx: sqlx.NewDb(psqlDb.SQL.DB, "postgresql"), + cdc: cdc, + }, nil } - - psqlDb, ok := (database).(*postgresql.Database) - if !ok { - return nil, fmt.Errorf("invalid configuration database, must be PostgreSQL") - } - - return &Db{ - Database: psqlDb, - Sqlx: sqlx.NewDb(psqlDb.SQL.DB, "postgresql"), - }, nil } // Cast allows to cast the given db to a Db instance diff --git a/database/database_test.go b/database/database_test.go index 90dfa9da..472e9c03 100644 --- a/database/database_test.go +++ b/database/database_test.go @@ -9,22 +9,23 @@ import ( "testing" "time" - dbconfig "github.com/forbole/juno/v5/database/config" - "github.com/forbole/juno/v5/logging" + "cosmossdk.io/math" + dbconfig "github.com/forbole/juno/v6/database/config" + "github.com/forbole/juno/v6/logging" - junodb "github.com/forbole/juno/v5/database" + junodb "github.com/forbole/juno/v6/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/utils" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/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" - simappparams "cosmossdk.io/simapp/params" "github.com/stretchr/testify/suite" _ "github.com/proullon/ramsql/driver" @@ -41,12 +42,9 @@ type DbTestSuite struct { } func (suite *DbTestSuite) SetupTest() { - // Create the codec - codec := simappparams.MakeTestEncodingConfig() - // 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 +54,8 @@ func (suite *DbTestSuite) SetupTest() { 100000, 100, ) - db, err := database.Builder(junodb.NewContext(dbCfg, &codec, logging.DefaultLogger())) + + db, err := database.Builder(utils.GetCodec())(junodb.NewContext(dbCfg, logging.DefaultLogger())) suite.Require().NoError(err) bigDipperDb, ok := (db).(*database.Db) @@ -141,8 +140,8 @@ func (suite *DbTestSuite) getBlock(height int64) *juno.Block { func (suite *DbTestSuite) getValidator(consAddr, valAddr, pubkey string) types.Validator { selfDelegation := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - maxRate := sdk.NewDec(10) - maxChangeRate := sdk.NewDec(20) + maxRate := math.LegacyNewDec(10) + maxChangeRate := math.LegacyNewDec(20) validator := types.NewValidator( consAddr, diff --git a/database/distribution.go b/database/distribution.go index 750f503a..89e8caa5 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 6aa4f7ba..256fbc4e 100644 --- a/database/distribution_test.go +++ b/database/distribution_test.go @@ -3,19 +3,20 @@ package database_test import ( "encoding/json" + "cosmossdk.io/math" 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() { // Save data - original := sdk.NewDecCoins(sdk.NewDecCoin("uatom", sdk.NewInt(100))) + original := sdk.NewDecCoins(sdk.NewDecCoin("uatom", math.NewInt(100))) err := suite.database.SaveCommunityPool(original, 10) suite.Require().NoError(err) @@ -30,7 +31,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { // --------------------------------------------------------------------------------------------------------------- // Try updating with lower height - coins := sdk.NewDecCoins(sdk.NewDecCoin("uatom", sdk.NewInt(50))) + coins := sdk.NewDecCoins(sdk.NewDecCoin("uatom", math.NewInt(50))) err = suite.database.SaveCommunityPool(coins, 5) suite.Require().NoError(err) @@ -45,7 +46,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { // --------------------------------------------------------------------------------------------------------------- // Try updating with equal height - coins = sdk.NewDecCoins(sdk.NewDecCoin("uatom", sdk.NewInt(120))) + coins = sdk.NewDecCoins(sdk.NewDecCoin("uatom", math.NewInt(120))) err = suite.database.SaveCommunityPool(coins, 10) suite.Require().NoError(err) @@ -60,7 +61,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { // --------------------------------------------------------------------------------------------------------------- // Try updating with higher height - coins = sdk.NewDecCoins(sdk.NewDecCoin("uatom", sdk.NewInt(200))) + coins = sdk.NewDecCoins(sdk.NewDecCoin("uatom", math.NewInt(200))) err = suite.database.SaveCommunityPool(coins, 11) suite.Require().NoError(err) @@ -75,9 +76,9 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { func (suite *DbTestSuite) TestBigDipperDb_SaveDistributionParams() { distrParams := distrtypes.Params{ - CommunityTax: sdk.NewDecWithPrec(2, 2), - BaseProposerReward: sdk.NewDecWithPrec(1, 2), - BonusProposerReward: sdk.NewDecWithPrec(4, 2), + CommunityTax: math.LegacyNewDecWithPrec(2, 2), + BaseProposerReward: math.LegacyNewDecWithPrec(1, 2), + BonusProposerReward: math.LegacyNewDecWithPrec(4, 2), WithdrawAddrEnabled: true, } err := suite.database.SaveDistributionParams(types.NewDistributionParams(distrParams, 10)) diff --git a/database/feegrant.go b/database/feegrant.go index 9ffaf428..7737953e 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 eec74e30..5260b2ad 100644 --- a/database/feegrant_test.go +++ b/database/feegrant_test.go @@ -1,11 +1,11 @@ package database_test import ( + feegranttypes "cosmossdk.io/x/feegrant" 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() { diff --git a/database/gov.go b/database/gov.go index 96af2ac8..1d560329 100644 --- a/database/gov.go +++ b/database/gov.go @@ -6,14 +6,13 @@ import ( "strings" "time" - "github.com/cosmos/cosmos-sdk/codec" + upgradetypes "cosmossdk.io/x/upgrade/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "github.com/lib/pq" - 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" ) // SaveGovParams saves the given x/gov parameters inside the database @@ -88,9 +87,8 @@ INSERT INTO proposal( 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 - var protoCodec codec.ProtoCodec for _, msg := range proposal.Messages { - contentBz, err := protoCodec.MarshalJSON(msg) + contentBz, err := db.cdc.MarshalJSON(msg) if err != nil { return fmt.Errorf("error while marshalling proposal msg: %s", err) } @@ -160,7 +158,7 @@ func (db *Db) GetProposal(id uint64) (types.Proposal, error) { var messages []*codectypes.Any for _, jsonMessage := range jsonMessages { var msg codectypes.Any - err = db.Cdc.UnmarshalJSON([]byte(jsonMessage), &msg) + err = db.cdc.UnmarshalJSON([]byte(jsonMessage), &msg) if err != nil { return types.Proposal{}, err } diff --git a/database/gov_test.go b/database/gov_test.go index f5e4aa6a..56f4f9da 100644 --- a/database/gov_test.go +++ b/database/gov_test.go @@ -4,25 +4,26 @@ import ( "fmt" "time" + "cosmossdk.io/math" + upgradetypes "cosmossdk.io/x/upgrade/types" 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/bdjuno/v4/testutils" - "github.com/forbole/bdjuno/v4/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" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { params := govtypesv1.Params{ - MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", math.NewInt(1000))}, MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), Quorum: "0.5", @@ -88,7 +89,7 @@ func (suite *DbTestSuite) getProposalRow(id int) types.Proposal { msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), Params: govtypesv1.Params{ - MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", math.NewInt(1000))}, MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), Quorum: "0.5", @@ -127,7 +128,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), Params: govtypesv1.Params{ - MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", math.NewInt(1000))}, MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), Quorum: "0.5", @@ -185,7 +186,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { "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\"}]", + "[{\"@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, \"min_deposit_ratio\": \"\", \"max_deposit_period\": \"300s\", \"expedited_threshold\": \"\", \"proposal_cancel_dest\": \"\", \"expedited_min_deposit\": [], \"proposal_cancel_ratio\": \"\", \"expedited_voting_period\": null, \"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), testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), @@ -217,7 +218,7 @@ func (suite *DbTestSuite) TestBigDipperDb_GetProposal() { msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), Params: govtypesv1.Params{ - MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", math.NewInt(1000))}, MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), Quorum: "0.5", @@ -360,7 +361,7 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { "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\"}]", + "[{\"@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, \"min_deposit_ratio\": \"\", \"max_deposit_period\": \"300s\", \"expedited_threshold\": \"\", \"proposal_cancel_dest\": \"\", \"expedited_min_deposit\": [], \"proposal_cancel_ratio\": \"\", \"expedited_voting_period\": null, \"min_initial_deposit_ratio\": \"0\", \"burn_proposal_deposit_prevote\": false}, \"authority\": \"cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn\"}]", proposal.SubmitTime, proposal.DepositEndTime, timestamp1, @@ -372,6 +373,7 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { var stored dbtypes.ProposalRow err = suite.database.SQL.Get(&stored, `SELECT * FROM proposal LIMIT 1`) suite.Require().NoError(err) + suite.T().Logf("actual: %v\nexpected: %v", stored, expected) suite.Require().True(expected.Equals(stored)) } @@ -385,15 +387,15 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { proposal := suite.getProposalRow(1) depositor := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - amount := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10000))) + amount := sdk.NewCoins(sdk.NewCoin("desmos", math.NewInt(10000))) txHash := "D40FE0C386FA85677FFB9B3C4CECD54CF2CD7ABECE4EF15FAEF328FCCBF4C3A8" depositor2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") - amount2 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30000))) + amount2 := sdk.NewCoins(sdk.NewCoin("desmos", math.NewInt(30000))) txHash2 := "40A9812A137256E88593E19428E006C01D87DB35F60F8D14739B4A46AC3C67A5" depositor3 := suite.getAccount("cosmos1gyds87lg3m52hex9yqta2mtwzw89pfukx3jl7g") - amount3 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(50000))) + amount3 := sdk.NewCoins(sdk.NewCoin("desmos", math.NewInt(50000))) txHash3 := "086CFE10741EF3800DB7F72B1666DE298DD40913BBB84C5530C87AF5EDE8027A" timestamp1 := time.Date(2020, 1, 1, 15, 00, 00, 000, time.UTC) @@ -427,7 +429,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { deposit = []types.Deposit{ 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), + types.NewDeposit(proposal.ID, depositor3.String(), sdk.NewCoins(sdk.NewCoin("desmos", math.NewInt(30))), timestamp3, txHash3, 11), } err = suite.database.SaveDeposits(deposit) @@ -437,7 +439,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { 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), + dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(sdk.NewCoins(sdk.NewCoin("desmos", math.NewInt(30)))), timestamp3, txHash3, 11), } result = []dbtypes.DepositRow{} @@ -605,8 +607,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // Save snapshot snapshot := types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( - sdk.NewInt(100), - sdk.NewInt(200), + math.NewInt(100), + math.NewInt(200), 10, )) err := suite.database.SaveProposalStakingPoolSnapshot(snapshot) @@ -627,8 +629,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // Update with lower height err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( - sdk.NewInt(200), - sdk.NewInt(500), + math.NewInt(200), + math.NewInt(500), 9, ))) suite.Require().NoError(err) @@ -648,8 +650,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // Update with same height err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( - sdk.NewInt(500), - sdk.NewInt(1000), + math.NewInt(500), + math.NewInt(1000), 10, ))) suite.Require().NoError(err) @@ -669,8 +671,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // Update with higher height err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( - sdk.NewInt(1000), - sdk.NewInt(2000), + math.NewInt(1000), + math.NewInt(2000), 11, ))) suite.Require().NoError(err) diff --git a/database/message_type.go b/database/message_type.go new file mode 100644 index 00000000..aafaac00 --- /dev/null +++ b/database/message_type.go @@ -0,0 +1,16 @@ +package database + +import ( + types "github.com/forbole/callisto/v4/types" +) + +// SaveMessageType stores the given message type inside the database +func (db *Db) SaveMessageType(msg *types.MessageType) error { + stmt := ` +INSERT INTO message_type(type, module, label, height) +VALUES ($1, $2, $3, $4) +ON CONFLICT (type) DO NOTHING` + + _, err := db.SQL.Exec(stmt, msg.Type, msg.Module, msg.Label, msg.Height) + return err +} diff --git a/database/messages.go b/database/messages.go index 8d015e5f..d9211380 100644 --- a/database/messages.go +++ b/database/messages.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" ) // GetMessages returns all messages between block heights diff --git a/database/migrate/v5/migrate.go b/database/migrate/v5/migrate.go new file mode 100644 index 00000000..0fd00b24 --- /dev/null +++ b/database/migrate/v5/migrate.go @@ -0,0 +1,53 @@ +package v5 + +import ( + "fmt" + + utils "github.com/forbole/callisto/v4/modules/utils" + "github.com/forbole/callisto/v4/types" +) + +// Migrate implements database.Migrator +func (db *Migrator) Migrate() error { + msgTypes, err := db.getMsgTypesFromMessageTable() + if err != nil { + return fmt.Errorf("error while getting message types rows: %s", err) + } + + for _, msgType := range msgTypes { + // migrate message types + err = db.migrateMsgTypes(types.NewMessageType( + msgType.Type, + utils.GetModuleNameFromTypeURL(msgType.Type), + utils.GetMsgFromTypeURL(msgType.Type), + msgType.Height)) + + if err != nil { + return err + } + } + return nil +} + +// getMsgTypesFromMessageTable retrieves messages types stored in database inside message table +func (db *Migrator) getMsgTypesFromMessageTable() ([]MessageRow, error) { + smt := "SELECT DISTINCT ON (type) type, transaction_hash, height FROM message ORDER BY type DESC" + var rows []MessageRow + err := db.SQL.Select(&rows, smt) + if err != nil { + return nil, err + } + + return rows, nil +} + +// migrateMsgTypes stores the given message type inside the database +func (db *Migrator) migrateMsgTypes(msg *types.MessageType) error { + stmt := ` +INSERT INTO message_type(type, module, label, height) +VALUES ($1, $2, $3, $4) +ON CONFLICT (type) DO NOTHING` + + _, err := db.SQL.Exec(stmt, msg.Type, msg.Module, msg.Label, msg.Height) + return err +} diff --git a/database/migrate/v5/migrator.go b/database/migrate/v5/migrator.go new file mode 100644 index 00000000..79cfca7a --- /dev/null +++ b/database/migrate/v5/migrator.go @@ -0,0 +1,21 @@ +package v5 + +import ( + "github.com/jmoiron/sqlx" + + "github.com/forbole/juno/v6/database" + "github.com/forbole/juno/v6/database/postgresql" +) + +var _ database.Migrator = &Migrator{} + +// Migrator represents the database migrator that should be used to migrate from v4 of the database to v5 +type Migrator struct { + SQL *sqlx.DB +} + +func NewMigrator(db *postgresql.Database) *Migrator { + return &Migrator{ + SQL: db.SQL, + } +} diff --git a/database/migrate/v5/types.go b/database/migrate/v5/types.go new file mode 100644 index 00000000..6f954f7a --- /dev/null +++ b/database/migrate/v5/types.go @@ -0,0 +1,10 @@ +package v5 + +type MessageRow struct { + TransactionHash string `db:"transaction_hash"` + Index int64 `db:"index"` + Type string `db:"type"` + Value string `db:"value"` + InvolvedAccountsAddresses string `db:"involved_accounts_addresses"` + Height int64 `db:"height"` +} diff --git a/database/mint.go b/database/mint.go index ef080eef..89568cbd 100644 --- a/database/mint.go +++ b/database/mint.go @@ -4,13 +4,13 @@ import ( "encoding/json" "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" - "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 -func (db *Db) SaveInflation(inflation sdk.Dec, height int64) error { +func (db *Db) SaveInflation(inflation math.LegacyDec, height int64) error { stmt := ` INSERT INTO inflation (value, height) VALUES ($1, $2) diff --git a/database/mint_test.go b/database/mint_test.go index d55d2a55..03e630dd 100644 --- a/database/mint_test.go +++ b/database/mint_test.go @@ -3,18 +3,18 @@ package database_test import ( "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" 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() { // Save the data - err := suite.database.SaveInflation(sdk.NewDecWithPrec(10050, 2), 100) + err := suite.database.SaveInflation(math.LegacyNewDecWithPrec(10050, 2), 100) suite.Require().NoError(err) // Verify the data @@ -29,7 +29,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { // --------------------------------------------------------------------------------------------------------------- // Try updating with lower height - err = suite.database.SaveInflation(sdk.NewDecWithPrec(20000, 2), 90) + err = suite.database.SaveInflation(math.LegacyNewDecWithPrec(20000, 2), 90) suite.Require().NoError(err, "double inflation insertion should return no error") // Verify the data @@ -44,7 +44,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { // --------------------------------------------------------------------------------------------------------------- // Try updating with same height - err = suite.database.SaveInflation(sdk.NewDecWithPrec(30000, 2), 100) + err = suite.database.SaveInflation(math.LegacyNewDecWithPrec(30000, 2), 100) suite.Require().NoError(err, "double inflation insertion should return no error") // Verify the data @@ -59,7 +59,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { // --------------------------------------------------------------------------------------------------------------- // Try updating with higher height - err = suite.database.SaveInflation(sdk.NewDecWithPrec(40000, 2), 110) + err = suite.database.SaveInflation(math.LegacyNewDecWithPrec(40000, 2), 110) suite.Require().NoError(err, "double inflation insertion should return no error") // Verify the data @@ -75,10 +75,10 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { func (suite *DbTestSuite) TestBigDipperDb_SaveMintParams() { mintParams := minttypes.NewParams( "udaric", - sdk.NewDecWithPrec(4, 1), - sdk.NewDecWithPrec(8, 1), - sdk.NewDecWithPrec(4, 1), - sdk.NewDecWithPrec(8, 1), + math.LegacyNewDecWithPrec(4, 1), + math.LegacyNewDecWithPrec(8, 1), + math.LegacyNewDecWithPrec(4, 1), + math.LegacyNewDecWithPrec(8, 1), 5006000, ) err := suite.database.SaveMintParams(types.NewMintParams(mintParams, 10)) diff --git a/database/pricefeed.go b/database/pricefeed.go index aca81438..19f6d9bb 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 a246df41..d1bfe534 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/schema/00-cosmos.sql b/database/schema/00-cosmos.sql index 890008f3..e0785658 100644 --- a/database/schema/00-cosmos.sql +++ b/database/schema/00-cosmos.sql @@ -43,7 +43,7 @@ CREATE TABLE transaction success BOOLEAN NOT NULL, /* Body */ - messages JSONB NOT NULL DEFAULT '[]'::JSONB, + messages JSON NOT NULL DEFAULT '[]'::JSON, memo TEXT, signatures TEXT[] NOT NULL, @@ -66,12 +66,22 @@ CREATE INDEX transaction_hash_index ON transaction (hash); CREATE INDEX transaction_height_index ON transaction (height); CREATE INDEX transaction_partition_id_index ON transaction (partition_id); +CREATE TABLE message_type +( + type TEXT NOT NULL UNIQUE, + module TEXT NOT NULL, + label TEXT NOT NULL, + height BIGINT NOT NULL +); +CREATE INDEX message_type_module_index ON message_type (module); +CREATE INDEX message_type_type_index ON message_type (type); + CREATE TABLE message ( transaction_hash TEXT NOT NULL, index BIGINT NOT NULL, - type TEXT NOT NULL, - value JSONB NOT NULL, + type TEXT NOT NULL REFERENCES message_type(type), + value JSON NOT NULL, involved_accounts_addresses TEXT[] NOT NULL, /* PSQL partition */ @@ -101,6 +111,17 @@ WHERE (cardinality(types) = 0 OR type = ANY (types)) ORDER BY height DESC LIMIT "limit" OFFSET "offset" $$ LANGUAGE sql STABLE; +CREATE FUNCTION messages_by_type( + types text [], + "limit" bigint DEFAULT 100, + "offset" bigint DEFAULT 0) + RETURNS SETOF message AS +$$ +SELECT * FROM message +WHERE (cardinality(types) = 0 OR type = ANY (types)) +ORDER BY height DESC LIMIT "limit" OFFSET "offset" +$$ LANGUAGE sql STABLE; + CREATE TABLE pruning ( last_pruned_height BIGINT NOT NULL diff --git a/database/slashing.go b/database/slashing.go index 55a4bbed..2bf127c8 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 ed0e85c8..08a599cf 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" + "cosmossdk.io/math" 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() { @@ -139,10 +139,10 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSlashingParams() { // Save data slashingParams := slashingtypes.Params{ SignedBlocksWindow: 10, - MinSignedPerWindow: sdk.NewDecWithPrec(100, 2), + MinSignedPerWindow: math.LegacyNewDecWithPrec(100, 2), DowntimeJailDuration: 10000, - SlashFractionDoubleSign: sdk.NewDecWithPrec(100, 2), - SlashFractionDowntime: sdk.NewDecWithPrec(100, 4), + SlashFractionDoubleSign: math.LegacyNewDecWithPrec(100, 2), + SlashFractionDowntime: math.LegacyNewDecWithPrec(100, 4), } params := types.NewSlashingParams(slashingParams, 10) err := suite.database.SaveSlashingParams(params) @@ -163,10 +163,10 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSlashingParams() { err = suite.database.SaveSlashingParams(types.NewSlashingParams( slashingtypes.Params{ SignedBlocksWindow: 5, - MinSignedPerWindow: sdk.NewDecWithPrec(50, 2), + MinSignedPerWindow: math.LegacyNewDecWithPrec(50, 2), DowntimeJailDuration: 10000, - SlashFractionDoubleSign: sdk.NewDecWithPrec(50, 2), - SlashFractionDowntime: sdk.NewDecWithPrec(50, 4), + SlashFractionDoubleSign: math.LegacyNewDecWithPrec(50, 2), + SlashFractionDowntime: math.LegacyNewDecWithPrec(50, 4), }, 9, )) @@ -184,10 +184,10 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSlashingParams() { // Try updating with same height slashingParams = slashingtypes.Params{ SignedBlocksWindow: 5, - MinSignedPerWindow: sdk.NewDecWithPrec(50, 2), + MinSignedPerWindow: math.LegacyNewDecWithPrec(50, 2), DowntimeJailDuration: 10000, - SlashFractionDoubleSign: sdk.NewDecWithPrec(50, 2), - SlashFractionDowntime: sdk.NewDecWithPrec(50, 4), + SlashFractionDoubleSign: math.LegacyNewDecWithPrec(50, 2), + SlashFractionDowntime: math.LegacyNewDecWithPrec(50, 4), } err = suite.database.SaveSlashingParams(types.NewSlashingParams(slashingParams, 10)) suite.Require().NoError(err) @@ -204,10 +204,10 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveSlashingParams() { // Try updating with higher height slashingParams = slashingtypes.Params{ SignedBlocksWindow: 6, - MinSignedPerWindow: sdk.NewDecWithPrec(60, 2), + MinSignedPerWindow: math.LegacyNewDecWithPrec(60, 2), DowntimeJailDuration: 10000, - SlashFractionDoubleSign: sdk.NewDecWithPrec(60, 2), - SlashFractionDowntime: sdk.NewDecWithPrec(60, 4), + SlashFractionDoubleSign: math.LegacyNewDecWithPrec(60, 2), + SlashFractionDowntime: math.LegacyNewDecWithPrec(60, 4), } err = suite.database.SaveSlashingParams(types.NewSlashingParams(slashingParams, 11)) suite.Require().NoError(err) diff --git a/database/staking_params.go b/database/staking_params.go index f6e5924a..b24942af 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 68253ec8..1934ac1a 100644 --- a/database/staking_params_test.go +++ b/database/staking_params_test.go @@ -4,12 +4,11 @@ import ( "encoding/json" "time" + "cosmossdk.io/math" 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() { @@ -19,7 +18,7 @@ func (suite *DbTestSuite) TestSaveStakingParams() { 7, 10000, "uatom", - sdk.NewDec(1), + math.LegacyNewDec(1), ) err := suite.database.SaveStakingParams(types.NewStakingParams(stakingParams, 10)) suite.Require().NoError(err) @@ -43,7 +42,7 @@ func (suite *DbTestSuite) TestGetStakingParams() { 7, 10000, "uatom", - sdk.NewDec(1), + math.LegacyNewDec(1), ) paramsBz, err := json.Marshal(&stakingParams) diff --git a/database/staking_pool.go b/database/staking_pool.go index 0e2d83bf..b9f31aff 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 ceaeecd5..197d7109 100644 --- a/database/staking_pool_test.go +++ b/database/staking_pool_test.go @@ -1,15 +1,15 @@ package database_test import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" - 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() { // Save the data - original := types.NewPool(sdk.NewInt(50), sdk.NewInt(100), sdk.NewInt(5), sdk.NewInt(1), 10) + original := types.NewPool(math.NewInt(50), math.NewInt(100), math.NewInt(5), math.NewInt(1), 10) err := suite.database.SaveStakingPool(original) suite.Require().NoError(err) @@ -25,7 +25,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating using a lower height - pool := types.NewPool(sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), 8) + pool := types.NewPool(math.NewInt(1), math.NewInt(1), math.NewInt(1), math.NewInt(1), 8) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) @@ -39,7 +39,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with the same height - pool = types.NewPool(sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), 10) + pool = types.NewPool(math.NewInt(1), math.NewInt(1), math.NewInt(1), math.NewInt(1), 10) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) @@ -55,7 +55,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a higher height - pool = types.NewPool(sdk.NewInt(1000000), sdk.NewInt(1000000), sdk.NewInt(20), sdk.NewInt(15), 20) + pool = types.NewPool(math.NewInt(1000000), math.NewInt(1000000), math.NewInt(20), math.NewInt(15), 20) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) diff --git a/database/staking_validators.go b/database/staking_validators.go index 54d7d551..f5767469 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" @@ -436,7 +436,7 @@ ON CONFLICT (validator_address) DO UPDATE WHERE validator_status.height <= excluded.height` _, err = db.SQL.Exec(statusStmt, statusParams...) if err != nil { - return fmt.Errorf("error while stroring validators statuses: %s", err) + return fmt.Errorf("error while storing validators statuses: %s", err) } return nil diff --git a/database/staking_validators_test.go b/database/staking_validators_test.go index e75b59dc..c6ea719b 100644 --- a/database/staking_validators_test.go +++ b/database/staking_validators_test.go @@ -3,29 +3,29 @@ package database_test import ( tmtypes "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbtypes "github.com/forbole/callisto/v4/database/types" ) -func newDecPts(value int64, prec int64) *sdk.Dec { - dec := sdk.NewDecWithPrec(value, prec) +func newDecPts(value int64, prec int64) *math.LegacyDec { + dec := math.LegacyNewDecWithPrec(value, prec) return &dec } -func newIntPtr(value int64) *sdk.Int { - val := sdk.NewInt(value) +func newIntPtr(value int64) *math.Int { + val := math.NewInt(value) return &val } // ----------------------------------------------------------- func (suite *DbTestSuite) TestSaveValidator() { - expectedMaxRate := sdk.NewDec(int64(1)) - expectedMaxChangeRate := sdk.NewDec(int64(2)) + expectedMaxRate := math.LegacyNewDec(int64(1)) + expectedMaxChangeRate := math.LegacyNewDec(int64(2)) suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") validator := dbtypes.NewValidatorData( @@ -101,16 +101,16 @@ func (suite *DbTestSuite) TestSaveValidators() { "cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl", "cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl", "cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs", - sdk.NewDec(int64(1)).String(), - sdk.NewDec(int64(2)).String(), + math.LegacyNewDec(int64(1)).String(), + math.LegacyNewDec(int64(2)).String(), 10, ), dbtypes.NewValidatorInfoRow( "cosmosvalcons1qq92t2l4jz5pt67tmts8ptl4p0jhr6utx5xa8y", "cosmosvaloper1000ya26q2cmh399q4c5aaacd9lmmdqp90kw2jn", "cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a", - sdk.NewDec(int64(1)).String(), - sdk.NewDec(int64(2)).String(), + math.LegacyNewDec(int64(1)).String(), + math.LegacyNewDec(int64(2)).String(), 10, ), } @@ -166,16 +166,16 @@ func (suite *DbTestSuite) TestSaveValidators() { "cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl", "cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl", "cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs", - sdk.NewDec(int64(1)).String(), - sdk.NewDec(int64(2)).String(), + math.LegacyNewDec(int64(1)).String(), + math.LegacyNewDec(int64(2)).String(), 10, ), dbtypes.NewValidatorInfoRow( "cosmosvalcons1qq92t2l4jz5pt67tmts8ptl4p0jhr6utx5xa8y", "cosmosvaloper1000ya26q2cmh399q4c5aaacd9lmmdqp90kw2jn", "cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a", - sdk.NewDec(int64(10)).String(), - sdk.NewDec(int64(5)).String(), + math.LegacyNewDec(int64(10)).String(), + math.LegacyNewDec(int64(5)).String(), 11, ), } @@ -203,8 +203,8 @@ func (suite *DbTestSuite) TestSaveValidators() { func (suite *DbTestSuite) TestGetValidator() { var i int64 = 1 var ii int64 = 2 - maxRate := sdk.NewDec(i) - maxChangeRate := sdk.NewDec(ii) + maxRate := math.LegacyNewDec(i) + maxChangeRate := math.LegacyNewDec(ii) suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") // Insert test data _, err := suite.database.SQL.Exec(` @@ -246,7 +246,7 @@ VALUES ('cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl', func (suite *DbTestSuite) TestGetValidators() { suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") - // Inser the test data + // Insert the test data queries := []string{ `INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl', 'cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8')`, `INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('cosmosvalcons1qq92t2l4jz5pt67tmts8ptl4p0jhr6utx5xa8y', 'cosmosvalconspub1zcjduepqe93asg05nlnj30ej2pe3r8rkeryyuflhtfw3clqjphxn4j3u27msrr63nk')`, diff --git a/database/types/coins.go b/database/types/coins.go index 36a7221e..9d66eb8c 100644 --- a/database/types/coins.go +++ b/database/types/coins.go @@ -6,6 +6,7 @@ import ( "fmt" "strings" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -77,7 +78,7 @@ func (coin *DbCoin) Scan(src interface{}) error { // ToCoin converts this DbCoin to sdk.Coin func (coin DbCoin) ToCoin() sdk.Coin { - amount, _ := sdk.NewIntFromString(coin.Amount) + amount, _ := math.NewIntFromString(coin.Amount) return sdk.NewCoin(coin.Denom, amount) } @@ -189,7 +190,7 @@ func (coin *DbDecCoin) Scan(src interface{}) error { // ToDecCoin converts this DbDecCoin to sdk.DecCoin func (coin DbDecCoin) ToDecCoin() sdk.DecCoin { - amount, _ := sdk.NewDecFromStr(coin.Amount) + amount, _ := math.LegacyNewDecFromStr(coin.Amount) return sdk.NewDecCoinFromDec(coin.Denom, amount) } diff --git a/database/types/staking_validators.go b/database/types/staking_validators.go index 8db6c9e5..9fd0a80a 100644 --- a/database/types/staking_validators.go +++ b/database/types/staking_validators.go @@ -4,7 +4,7 @@ import ( "database/sql" "strconv" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) // ValidatorData contains all the data of a single validator. @@ -55,22 +55,22 @@ func (v ValidatorData) GetSelfDelegateAddress() string { } // GetMaxChangeRate implements types.Validator -func (v ValidatorData) GetMaxChangeRate() *sdk.Dec { +func (v ValidatorData) GetMaxChangeRate() *math.LegacyDec { n, err := strconv.ParseInt(v.MaxChangeRate, 10, 64) if err != nil { panic(err) } - result := sdk.NewDec(n) + result := math.LegacyNewDec(n) return &result } // GetMaxRate implements types.Validator -func (v ValidatorData) GetMaxRate() *sdk.Dec { +func (v ValidatorData) GetMaxRate() *math.LegacyDec { n, err := strconv.ParseInt(v.MaxRate, 10, 64) if err != nil { panic(err) } - result := sdk.NewDec(n) + result := math.LegacyNewDec(n) return &result } diff --git a/database/utils/bank.go b/database/utils/bank.go index 5a0af8bb..a0109df1 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/wasm.go b/database/utils/wasm.go index adc9de87..bc2f9e6a 100644 --- a/database/utils/wasm.go +++ b/database/utils/wasm.go @@ -1,6 +1,6 @@ package utils -import "github.com/forbole/bdjuno/v4/types" +import "github.com/forbole/callisto/v4/types" func SplitWasmContracts(contracts []types.WasmContract, paramsNumber int) [][]types.WasmContract { maxBalancesPerSlice := maxPostgreSQLParams / paramsNumber diff --git a/database/utils_test.go b/database/utils_test.go index 99600801..af45d44c 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/database/wasm.go b/database/wasm.go index b059bcbe..b638963d 100644 --- a/database/wasm.go +++ b/database/wasm.go @@ -3,10 +3,10 @@ package database import ( "fmt" - dbtypes "github.com/forbole/bdjuno/v4/database/types" - dbutils "github.com/forbole/bdjuno/v4/database/utils" - "github.com/forbole/bdjuno/v4/types" - juno "github.com/forbole/juno/v5/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + dbutils "github.com/forbole/callisto/v4/database/utils" + "github.com/forbole/callisto/v4/types" + juno "github.com/forbole/juno/v6/types" "github.com/lib/pq" ) @@ -201,27 +201,43 @@ VALUES ` } // SaveWasmExecuteContractEvents allows to store the wasm contract events -func (db *Db) SaveWasmExecuteContractEvents(executeContract types.WasmExecuteContract, tx *juno.Tx) error { +func (db *Db) SaveWasmExecuteContractEvents(executeContract types.WasmExecuteContract, tx *juno.Transaction) error { stmt := ` -INSERT INTO wasm_execute_contract_event_types -(contract_address, -event_type, -first_seen_height, -first_seen_hash, -last_seen_height, -last_seen_hash) -VALUES ($1, $2, $3, $4, $3, $4) -ON CONFLICT (contract_address, event_type) DO UPDATE -SET (last_seen_height, last_seen_hash) = (EXCLUDED.last_seen_height, EXCLUDED.last_seen_hash); -` - - for _, txLog := range tx.Logs { - for _, event := range txLog.Events { - - _, err := db.SQL.Exec(stmt, executeContract.ContractAddress, event.Type, - executeContract.Height, tx.TxHash) - if err != nil { - return fmt.Errorf("error while saving wasm execute contracts: %s", err) + INSERT INTO wasm_execute_contract_event_types + (contract_address, + event_type, + first_seen_height, + first_seen_hash, + last_seen_height, + last_seen_hash) + VALUES ($1, $2, $3, $4, $3, $4) + ON CONFLICT (contract_address, event_type) DO UPDATE + SET (last_seen_height, last_seen_hash) = (EXCLUDED.last_seen_height, EXCLUDED.last_seen_hash); + ` + // If the logs are present, we are using pre-0.50 + // Log parsing is still needed because events don't have a msg_index SDK <0.50 + // and ignoring that will index a lot of unwanted values and bloat DB + if len(tx.Logs) > 0 { + for _, txLog := range tx.Logs { + for _, event := range txLog.Events { + + _, err := db.SQL.Exec(stmt, executeContract.ContractAddress, event.Type, executeContract.Height, tx.TxHash) + if err != nil { + return fmt.Errorf("error while saving wasm execute contracts: %s", err) + } + } + } + } else { + + // We fall back to events for the newer version of SDK and look for events with msg_index set + for _, event := range tx.Events { + for _, attr := range event.Attributes { + if attr.Key == "msg_index" { + _, err := db.SQL.Exec(stmt, executeContract.ContractAddress, event.Type, executeContract.Height, tx.TxHash) + if err != nil { + return fmt.Errorf("error while saving wasm execute contracts: %s", err) + } + } } } } diff --git a/docker-compose.yml b/docker-compose.yml index b382d637..352c1d83 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 4042ee21..7e57b090 100644 --- a/go.mod +++ b/go.mod @@ -1,45 +1,52 @@ -module github.com/forbole/bdjuno/v4 +module github.com/forbole/callisto/v4 -go 1.20 +go 1.21 require ( - cosmossdk.io/math v1.1.2 - cosmossdk.io/simapp v0.0.0-20230602123434-616841b9704d - github.com/CosmWasm/wasmd v0.43.0 - github.com/cometbft/cometbft v0.37.2 - github.com/cosmos/cosmos-sdk v0.47.5 - github.com/cosmos/gogoproto v1.4.10 - github.com/forbole/juno/v5 v5.2.0 - github.com/go-co-op/gocron v1.35.3 - github.com/golangci/golangci-lint v1.55.1 + cosmossdk.io/log v1.3.1 + cosmossdk.io/math v1.3.0 + cosmossdk.io/store v1.1.0 + cosmossdk.io/x/evidence v0.1.1 + cosmossdk.io/x/feegrant v0.1.1 + cosmossdk.io/x/upgrade v0.1.3 + github.com/CosmWasm/wasmd v0.51.0 + github.com/cometbft/cometbft v0.38.7 + github.com/cosmos/cosmos-sdk v0.50.7 + github.com/cosmos/gogoproto v1.5.0 + github.com/forbole/juno/v6 v6.0.1 + github.com/go-co-op/gocron v1.37.0 + github.com/golangci/golangci-lint v1.55.2 github.com/invopop/jsonschema v0.12.0 github.com/jmoiron/sqlx v1.3.5 github.com/lib/pq v1.10.9 github.com/ohler55/ojg v1.20.3 github.com/pelletier/go-toml v1.9.5 - github.com/prometheus/client_golang v1.17.0 + github.com/prometheus/client_golang v1.19.0 github.com/proullon/ramsql v0.1.3 - github.com/rs/zerolog v1.31.0 - github.com/spf13/cobra v1.7.0 - github.com/stretchr/testify v1.8.4 - google.golang.org/grpc v1.59.0 + github.com/rs/zerolog v1.32.0 + github.com/spf13/cobra v1.8.0 + github.com/stretchr/testify v1.9.0 + google.golang.org/grpc v1.63.2 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.7 // indirect - cloud.google.com/go/compute v1.23.0 // 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.1 // indirect - cloud.google.com/go/storage v1.30.1 // indirect - cosmossdk.io/api v0.3.1 // indirect - cosmossdk.io/core v0.5.1 // indirect + cloud.google.com/go/iam v1.1.6 // indirect + cloud.google.com/go/storage v1.36.0 // indirect + cosmossdk.io/api v0.7.5 // indirect + cosmossdk.io/client/v2 v2.0.0-beta.1 // indirect + cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect - cosmossdk.io/errors v1.0.0 // indirect - cosmossdk.io/log v1.2.1 // indirect - cosmossdk.io/tools/rosetta v0.2.1 // indirect + cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/x/circuit v0.1.0 // indirect + cosmossdk.io/x/nft v0.1.0 // indirect + cosmossdk.io/x/tx v0.13.3 // 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 @@ -49,8 +56,9 @@ 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/CosmWasm/wasmvm v1.4.1 // indirect + github.com/CosmWasm/wasmvm/v2 v2.0.0 // indirect + github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/DataDog/zstd v1.5.5 // 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 @@ -59,15 +67,15 @@ require ( github.com/alexkohler/nakedret/v2 v2.0.2 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect github.com/alingse/asasalint v0.0.11 // indirect - 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.203 // indirect + github.com/aws/aws-sdk-go v1.44.224 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/bits-and-blooms/bitset v1.8.0 // indirect github.com/bkielbasa/cyclop v1.2.1 // indirect github.com/blizzy78/varnamelen v0.8.0 // indirect github.com/bombsimon/wsl/v3 v3.4.0 // indirect @@ -75,60 +83,63 @@ require ( github.com/breml/errchkjson v0.3.6 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/buger/jsonparser v1.1.1 // indirect - github.com/butuzov/ireturn v0.2.1 // indirect + github.com/butuzov/ireturn v0.2.2 // indirect 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/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.10 // indirect github.com/chavacava/garif v0.1.0 // 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/errors v1.11.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect - github.com/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/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect + github.com/cometbft/cometbft-db v0.9.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect + github.com/cosmos/cosmos-db v1.0.2 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/iavl v0.20.1 // indirect - github.com/cosmos/ibc-go/v7 v7.3.0 // indirect + github.com/cosmos/iavl v1.1.2 // indirect + github.com/cosmos/ibc-go/modules/capability v1.0.0 // indirect + github.com/cosmos/ibc-go/v8 v8.0.0 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.1 // indirect - github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect - github.com/creachadair/taskgroup v0.4.2 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.3 // 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.1.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // 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.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/distribution/reference v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/emicklei/dot v1.6.1 // indirect github.com/esimonov/ifshort v1.0.4 // indirect 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/fsnotify/fsnotify v1.7.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect - github.com/getsentry/sentry-go v0.23.0 // indirect + github.com/getsentry/sentry-go v0.27.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.6.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect github.com/go-toolsmith/astequal v1.1.0 // indirect @@ -142,10 +153,10 @@ require ( github.com/gofrs/flock v0.8.1 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect - github.com/golang/protobuf v1.5.3 // 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 @@ -160,35 +171,38 @@ require ( github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect - github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.4.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.11.0 // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/gax-go/v2 v2.12.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/handlers v1.5.2 // 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 github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - 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.1 // indirect + github.com/hashicorp/go-getter v1.7.4 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // 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/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/yamux v0.1.1 // 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/iancoleman/strcase v0.3.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 @@ -200,7 +214,7 @@ 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.16.3 // indirect + github.com/klauspost/compress v1.17.7 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/kulti/thelper v0.6.3 // indirect @@ -210,7 +224,7 @@ require ( github.com/ldez/tagliatelle v0.5.0 // indirect github.com/leonklingele/grouper v1.1.1 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/linxGnu/grocksdb v1.7.16 // indirect + github.com/linxGnu/grocksdb v1.8.14 // indirect github.com/lufeee/execinquery v1.2.1 // indirect github.com/macabu/inamedparam v0.1.2 // indirect github.com/magiconair/properties v1.8.7 // indirect @@ -220,12 +234,10 @@ require ( 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 v1.0.4 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.3.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect @@ -235,28 +247,31 @@ require ( github.com/nakabonne/nestif v0.3.1 // indirect github.com/nishanths/exhaustive v0.11.0 // indirect github.com/nishanths/predeclared v0.2.2 // indirect - github.com/nunnatsa/ginkgolinter v0.14.0 // indirect + github.com/nunnatsa/ginkgolinter v0.14.1 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect + github.com/oklog/run v1.1.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect - github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/polyfloyd/go-errorlint v1.4.5 // indirect - github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect - github.com/prometheus/common v0.44.0 // indirect - github.com/prometheus/procfs v0.11.1 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.52.2 // indirect + github.com/prometheus/procfs v0.13.0 // indirect github.com/quasilyte/go-ruleguard v0.4.0 // indirect github.com/quasilyte/gogrep v0.5.0 // indirect github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect 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/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rogpeppe/go-internal v1.12.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/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect @@ -268,22 +283,22 @@ require ( github.com/sivchari/nosnakecase v1.7.0 // indirect github.com/sivchari/tenv v1.7.1 // indirect github.com/sonatard/noctx v0.0.2 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect github.com/sourcegraph/go-diff v0.7.0 // 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/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.16.0 // indirect + github.com/spf13/viper v1.18.2 // 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.2 // indirect + github.com/stretchr/objx v0.5.2 // indirect + github.com/subosito/gotenv v1.6.0 // 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/tetafro/godot v1.4.15 // indirect - github.com/tidwall/btree v1.6.0 // indirect + github.com/tidwall/btree v1.7.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 @@ -297,52 +312,48 @@ 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.7 // indirect + go.etcd.io/bbolt v1.3.8 // 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/multierr v1.11.0 // indirect go.uber.org/zap v1.24.0 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // 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.17.0 // indirect - golang.org/x/oauth2 v0.11.0 // indirect - golang.org/x/sync v0.4.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/term v0.13.0 // indirect - golang.org/x/text v0.13.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.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect - google.golang.org/protobuf v1.31.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.20.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-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // 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 + gotest.tools/v3 v3.5.1 // indirect honnef.co/go/tools v0.4.6 // indirect mvdan.cc/gofumpt v0.5.0 // indirect 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 nhooyr.io/websocket v1.8.6 // indirect - pgregory.net/rapid v0.5.5 // indirect - sigs.k8s.io/yaml v1.3.0 // 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/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.8 - -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - -replace github.com/cosmos/iavl => github.com/cosmos/iavl v0.20.1 - -// replace cosmossdk.io/api => cosmossdk.io/api v0.3.1 diff --git a/go.mod.old b/go.mod.old new file mode 100644 index 00000000..1414a33c --- /dev/null +++ b/go.mod.old @@ -0,0 +1,348 @@ +module github.com/forbole/callisto/v4 + +go 1.20 + +require ( + cosmossdk.io/math v1.1.2 + cosmossdk.io/simapp v0.0.0-20230602123434-616841b9704d + github.com/CosmWasm/wasmd v0.43.0 + github.com/cometbft/cometbft v0.37.2 + github.com/cosmos/cosmos-sdk v0.47.5 + github.com/cosmos/gogoproto v1.4.10 + github.com/forbole/juno/v5 v5.2.0 + github.com/go-co-op/gocron v1.35.3 + github.com/golangci/golangci-lint v1.55.1 + github.com/invopop/jsonschema v0.12.0 + github.com/jmoiron/sqlx v1.3.5 + github.com/lib/pq v1.10.9 + github.com/ohler55/ojg v1.20.3 + github.com/pelletier/go-toml v1.9.5 + github.com/prometheus/client_golang v1.17.0 + github.com/proullon/ramsql v0.1.3 + github.com/rs/zerolog v1.31.0 + github.com/spf13/cobra v1.7.0 + github.com/stretchr/testify v1.8.4 + google.golang.org/grpc v1.59.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.7 // indirect + cloud.google.com/go/compute v1.23.0 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.30.1 // 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.0 // indirect + cosmossdk.io/log v1.2.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 + github.com/Abirdcfly/dupword v0.0.13 // indirect + github.com/Antonboom/errname v0.1.12 // indirect + 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/CosmWasm/wasmvm v1.4.1 // 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/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 + github.com/alingse/asasalint v0.0.11 // indirect + 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.203 // indirect + github.com/bahlo/generic-list-go v0.2.0 // indirect + github.com/benbjohnson/clock v1.3.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect + github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/bkielbasa/cyclop v1.2.1 // indirect + github.com/blizzy78/varnamelen v0.8.0 // indirect + github.com/bombsimon/wsl/v3 v3.4.0 // indirect + github.com/breml/bidichk v0.2.7 // indirect + github.com/breml/errchkjson v0.3.6 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/buger/jsonparser v1.1.1 // indirect + github.com/butuzov/ireturn v0.2.1 // indirect + 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 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-beta.2 // indirect + github.com/cosmos/go-bip39 v1.0.0 // 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.0 // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect + github.com/cosmos/ledger-cosmos-go v0.12.1 // 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.1.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.1 // indirect + github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/esimonov/ifshort v1.0.4 // indirect + 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/firefart/nonamedreturns v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fzipp/gocyclo v0.6.0 // 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.6.0 // indirect + github.com/go-toolsmith/astcast v1.1.0 // indirect + github.com/go-toolsmith/astcopy v1.1.0 // indirect + github.com/go-toolsmith/astequal v1.1.0 // indirect + github.com/go-toolsmith/astfmt v1.1.0 // indirect + github.com/go-toolsmith/astp v1.1.0 // indirect + github.com/go-toolsmith/strparse v1.1.0 // indirect + 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/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/gogo/googleapis v1.4.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.1.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect + github.com/golang/protobuf v1.5.3 // 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 + github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect + github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect + github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect + github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect + github.com/golangci/misspell v0.4.1 // indirect + github.com/golangci/revgrep v0.5.2 // indirect + github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect + github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/google/orderedcode v0.0.1 // indirect + github.com/google/s2a-go v0.1.4 // indirect + github.com/google/uuid v1.4.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.11.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/websocket v1.5.0 // indirect + github.com/gostaticanalysis/analysisutil v0.7.1 // indirect + github.com/gostaticanalysis/comment v1.4.2 // indirect + github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect + github.com/gostaticanalysis/nilerr v0.1.1 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect + github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/gtank/merlin v0.1.1 // indirect + github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // 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-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.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 + github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect + github.com/julz/importas v0.1.0 // indirect + 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.16.3 // 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 + github.com/ldez/gomoddirectives v0.2.3 // indirect + github.com/ldez/tagliatelle v0.5.0 // indirect + github.com/leonklingele/grouper v1.1.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.7 // indirect + github.com/mailru/easyjson v0.7.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-runewidth v0.0.9 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mgechev/revive v1.3.4 // indirect + github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moricho/tparallel v0.3.1 // indirect + github.com/mtibben/percent v0.2.1 // indirect + github.com/nakabonne/nestif v0.3.1 // indirect + github.com/nishanths/exhaustive v0.11.0 // indirect + github.com/nishanths/predeclared v0.2.2 // indirect + github.com/nunnatsa/ginkgolinter v0.14.0 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/opencontainers/go-digest v1.0.0 // 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 + github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.11.1 // indirect + github.com/quasilyte/go-ruleguard v0.4.0 // indirect + github.com/quasilyte/gogrep v0.5.0 // indirect + github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect + 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/robfig/cron/v3 v3.0.1 // 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 + github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/sashamelentyev/interfacebloat v1.1.0 // indirect + github.com/sashamelentyev/usestdlibvars v1.24.0 // indirect + github.com/securego/gosec/v2 v2.18.2 // indirect + github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/sivchari/containedctx v1.0.3 // indirect + github.com/sivchari/nosnakecase v1.7.0 // indirect + 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.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.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.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/tetafro/godot v1.4.15 // 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.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 + github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect + github.com/xen0n/gosmopolitan v1.2.2 // indirect + 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 + gitlab.com/bosi/decorder v0.4.1 // indirect + go-simpler.org/sloglint v0.1.2 // indirect + go.etcd.io/bbolt v1.3.7 // indirect + go.opencensus.io v0.24.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.14.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.17.0 // indirect + golang.org/x/oauth2 v0.11.0 // indirect + golang.org/x/sync v0.4.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.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.126.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/protobuf v1.31.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 + mvdan.cc/gofumpt v0.5.0 // indirect + 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 + nhooyr.io/websocket v1.8.6 // indirect + pgregory.net/rapid v0.5.5 // indirect + sigs.k8s.io/yaml v1.3.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/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.8 + +replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + +replace github.com/cosmos/iavl => github.com/cosmos/iavl v0.20.1 + +// replace cosmossdk.io/api => cosmossdk.io/api v0.3.1 diff --git a/go.sum b/go.sum index ce8ac8f4..0afa7f43 100644 --- a/go.sum +++ b/go.sum @@ -7,7 +7,6 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= @@ -20,7 +19,6 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= @@ -32,56 +30,28 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= -cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= -cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= -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/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 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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= @@ -89,28 +59,12 @@ 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/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/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/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/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/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/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/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/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= @@ -118,301 +72,152 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= -cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= -cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= -cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= -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 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.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/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/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/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/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/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/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/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/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/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/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= -cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= -cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= -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/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/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/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/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/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/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/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= -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/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/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= 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/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= -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/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/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/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -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/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/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/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= 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/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/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/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= -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/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/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/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= -cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -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/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= +cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= +cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= +cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= +cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= -cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= -cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= -cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= -cosmossdk.io/log v1.2.1/go.mod h1:GNSCc/6+DhFIj1aLn/j7Id7PaO8DzNylUZoOYBL9+I4= -cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= -cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= -cosmossdk.io/simapp v0.0.0-20230602123434-616841b9704d h1:G24nV8KQ5tcSLJEYPUEpKxuX4usvpQg5r7LhCLYPs1o= -cosmossdk.io/simapp v0.0.0-20230602123434-616841b9704d/go.mod h1:xbjky3L3DJEylaho6gXplkrMvJ5sFgv+qNX+Nn47bzY= -cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= -cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= +cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= +cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= +cosmossdk.io/x/circuit v0.1.0 h1:IAej8aRYeuOMritczqTlljbUVHq1E85CpBqaCTwYgXs= +cosmossdk.io/x/circuit v0.1.0/go.mod h1:YDzblVE8+E+urPYQq5kq5foRY/IzhXovSYXb4nwd39w= +cosmossdk.io/x/evidence v0.1.1 h1:Ks+BLTa3uftFpElLTDp9L76t2b58htjVbSZ86aoK/E4= +cosmossdk.io/x/evidence v0.1.1/go.mod h1:OoDsWlbtuyqS70LY51aX8FBTvguQqvFrt78qL7UzeNc= +cosmossdk.io/x/feegrant v0.1.1 h1:EKFWOeo/pup0yF0svDisWWKAA9Zags6Zd0P3nRvVvw8= +cosmossdk.io/x/feegrant v0.1.1/go.mod h1:2GjVVxX6G2fta8LWj7pC/ytHjryA6MHAJroBWHFNiEQ= +cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= +cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= +cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= +cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= +cosmossdk.io/x/upgrade v0.1.3 h1:q4XpXc6zp0dX6x74uBtfN6+J7ikaQev5Bla6Q0ADLK8= +cosmossdk.io/x/upgrade v0.1.3/go.mod h1:jOdQhnaY5B8CDUoUbed23/Lre0Dk+r6BMQE40iKlVVQ= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -430,18 +235,20 @@ github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTo github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ= github.com/Antonboom/testifylint v0.2.3 h1:MFq9zyL+rIVpsvLX4vDPLojgN7qODzWsrnftNX2Qh60= github.com/Antonboom/testifylint v0.2.3/go.mod h1:IYaXaOX9NbfAyO+Y04nfjGI8wDemC1rUyM/cYolz018= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= 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/CosmWasm/wasmd v0.43.0 h1:4xQAiNf6Ej+TuYe4PXwrtVJ9C+xyFrbsdqHH/kU9Vxk= -github.com/CosmWasm/wasmd v0.43.0/go.mod h1:gpri8YvkRErBz+qDme5jOThGZmSlHfyN532bWibXOl4= -github.com/CosmWasm/wasmvm v1.4.1 h1:YgodVlBrXa2HJZzOXjWDH0EIRwQzK3zuA73dDPRRLS4= -github.com/CosmWasm/wasmvm v1.4.1/go.mod h1:fXB+m2gyh4v9839zlIXdMZGeLAxqUdYdFQqYsTha2hc= +github.com/CosmWasm/wasmd v0.51.0 h1:3A2o20RrdF7P1D3Xb+R7A/pHbbHWsYCDXrHLa7S0SC8= +github.com/CosmWasm/wasmd v0.51.0/go.mod h1:7TSaj5HoolghujuVWeExqmcUKgpcYWEySGLSODbnnwY= +github.com/CosmWasm/wasmvm/v2 v2.0.0 h1:IqNCI2G0mvs7K6ej17/I28805rVqnu+Y1cWDqIdwb08= +github.com/CosmWasm/wasmvm/v2 v2.0.0/go.mod h1:su9lg5qLr7adV95eOfzjZWkGiky8WNaNIHDr7Fpu7Ck= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= 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= @@ -449,8 +256,10 @@ github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0/go.mod h1:rZLTje5A9kFBe0 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= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= 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= @@ -460,11 +269,14 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= 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/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= +github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= 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= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= +github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -482,8 +294,6 @@ github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb 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/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY= @@ -493,11 +303,12 @@ github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvx 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 v1.44.224 h1:09CiaaF35nRmxrzWZ2uRq5v6Ghg/d2RiPjZnSgtt+RQ= +github.com/aws/aws-sdk-go v1.44.224/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -509,6 +320,8 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.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/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= +github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/bkielbasa/cyclop v1.2.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY= github.com/bkielbasa/cyclop v1.2.1/go.mod h1:K/dT/M0FPAiYjBgQGau7tz+3TMh4FWAEqlMhzFWCrgM= github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= @@ -521,13 +334,16 @@ github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVr github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= -github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= +github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= 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/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= +github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/butuzov/ireturn v0.2.1 h1:w5Ks4tnfeFDZskGJ2x1GAkx5gaQV+kdU3NKNr3NEBzY= -github.com/butuzov/ireturn v0.2.1/go.mod h1:RfGHUvvAuFFxoHKf4Z8Yxuh6OjlCw1KvR2zM1NFHeBk= +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= @@ -541,14 +357,12 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq 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= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4= github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ= github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc= @@ -571,33 +385,35 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/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/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/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.2 h1:XB0yyHGT0lwmJlFmM4+rsRnczPlHoAKFX6K8Zgc2/Jc= -github.com/cometbft/cometbft v0.37.2/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -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/cometbft/cometbft v0.38.7 h1:ULhIOJ9+LgSy6nLekhq9ae3juX3NnQUMMPyVdhZV6Hk= +github.com/cometbft/cometbft v0.38.7/go.mod h1:HIyf811dFMI73IE0F7RrnY/Fr+d1+HuJAgtkEpQjCMY= +github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= +github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= 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= @@ -606,32 +422,32 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV 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-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= -github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.5 h1:n1+WjP/VM/gAEOx3TqU2/Ny734rj/MX1kpUnn7zVJP8= -github.com/cosmos/cosmos-sdk v0.47.5/go.mod h1:EHwCeN9IXonsjKcjpS12MqeStdZvIdxt3VYXhus3G3c= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= +github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= +github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= -github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ4= -github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= -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.0 h1:QtGeVMi/3JeLWuvEuC60sBHpAF40Oenx/y+bP8+wRRw= -github.com/cosmos/ibc-go/v7 v7.3.0/go.mod h1:mUmaHFXpXrEdcxfdXyau+utZf14pGKVUiXwYftRZZfQ= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= +github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= +github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= +github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= +github.com/cosmos/ibc-go/modules/capability v1.0.0/go.mod h1:D81ZxzjZAe0ZO5ambnvn1qedsFQ8lOwtqicG6liLBco= +github.com/cosmos/ibc-go/v8 v8.0.0 h1:QKipnr/NGwc+9L7NZipURvmSIu+nw9jOIWTJuDBqOhg= +github.com/cosmos/ibc-go/v8 v8.0.0/go.mod h1:C6IiJom0F3cIQCD5fKwVPDrDK9j/xTu563AWuOmXois= 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.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= -github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= -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/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= +github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= -github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= @@ -641,11 +457,13 @@ github.com/daixiang0/gci v0.11.2/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiE github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/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/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/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= @@ -659,20 +477,24 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm 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/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= -github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/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.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +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/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= +github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -683,39 +505,40 @@ 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/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 v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= 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/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.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/v5 v5.2.0 h1:NEaUReU723OfArHpcDjTofsgxAiAMtwsa6ZPvQYUiVc= -github.com/forbole/juno/v5 v5.2.0/go.mod h1:wl9jxyKnDx6rElBkc6Zn8i9DInBpMwMeoX6Kxkp71KM= +github.com/forbole/juno/v6 v6.0.1 h1:oOoHU+X/7YjKaGce8xtuT1xS9jF1czhvLr3OCH1ipPo= +github.com/forbole/juno/v6 v6.0.1/go.mod h1:O3o+73CiNjsIuPNWBOH3Wv59vvI5zeGfYIZBjsNj4/I= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= 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/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -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/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.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= @@ -723,15 +546,18 @@ 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.35.3 h1:it2WjWnabS8eJZ+P68WroBe+ZWyJ3kVjRD6KXdpr5yI= -github.com/go-co-op/gocron v1.35.3/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +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-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= 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-gorp/gorp v2.2.0+incompatible/go.mod h1:7IfkAQnO7jfT/9IQ3R9wL1dFhukN6aQxzKTHnkxzA/E= 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= @@ -745,20 +571,29 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= 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.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +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-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= +github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s= @@ -771,6 +606,7 @@ github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlN github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA= github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk= +github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw= github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= @@ -780,13 +616,16 @@ 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/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/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -796,10 +635,15 @@ github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFG 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/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/glog v1.1.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.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= @@ -834,8 +678,8 @@ 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= @@ -848,8 +692,8 @@ github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6 github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e h1:ULcKCDV1LOZPFxGZaA6TlQbiM3J2GCPnkx/bGF6sX/g= github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e/go.mod h1:Pm5KhLPA8gSnQwrQ6ukebRcapGb/BG9iUkdaiCcGHJM= -github.com/golangci/golangci-lint v1.55.1 h1:DL2j9Eeapg1N3WEkKnQFX5L40SYtjZZJjGVdyEgNrDc= -github.com/golangci/golangci-lint v1.55.1/go.mod h1:z00biPRqjo5MISKV1+RWgONf2KvrPDmfqxHpHKB6bI4= +github.com/golangci/golangci-lint v1.55.2 h1:yllEIsSJ7MtlDBwDJ9IMBkyEUz2fYE0b5B8IUgO1oP8= +github.com/golangci/golangci-lint v1.55.2/go.mod h1:H60CZ0fuqoTwlTvnbyjhpZPWp7KmsjwV2yupIMiMXbM= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= @@ -891,6 +735,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= @@ -902,27 +747,28 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-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= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10 h1:CqYfpuYIjnlNxM3msdyPRKabhXZWbKjf3Q8BWROFBso= +github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= -github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +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.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -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= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -932,21 +778,19 @@ 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.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= -github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +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/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= 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.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +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= @@ -962,23 +806,17 @@ 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/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= 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/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= 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= -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= @@ -988,15 +826,21 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= -github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= +github.com/hashicorp/go-getter v1.7.4/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= 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-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= +github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= 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-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= 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= @@ -1004,8 +848,9 @@ github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoD 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-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-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= @@ -1013,14 +858,16 @@ github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 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/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/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/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/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= 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= @@ -1031,7 +878,8 @@ github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0Jr 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/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= 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= @@ -1043,15 +891,21 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY= +github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= 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/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= +github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= 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/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= 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= @@ -1081,6 +935,8 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V 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/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= @@ -1092,11 +948,10 @@ github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -1119,6 +974,7 @@ github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSio 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/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -1128,12 +984,10 @@ github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6 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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= +github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= 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-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= @@ -1153,31 +1007,31 @@ github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859 github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= 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.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= 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.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= +github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= 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/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= @@ -1222,15 +1076,19 @@ github.com/nishanths/exhaustive v0.11.0 h1:T3I8nUGhl/Cwu5Z2hfc92l0e04D2GEW6e0l8p github.com/nishanths/exhaustive v0.11.0/go.mod h1:RqwDsZ1xY0dNdqHho2z6X+bgzizwbLYOWnZbbl2wLB4= github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= -github.com/nunnatsa/ginkgolinter v0.14.0 h1:XQPNmw+kZz5cC/HbFK3mQutpjzAQv1dHregRA+4CGGg= -github.com/nunnatsa/ginkgolinter v0.14.0/go.mod h1:cm2xaqCUCRd7qcP4DqbVvpcyEMkuLM9CF0wY6VASohk= +github.com/nunnatsa/ginkgolinter v0.14.1 h1:khx0CqR5U4ghsscjJ+lZVthp3zjIFytRXPTaQ/TMiyA= +github.com/nunnatsa/ginkgolinter v0.14.1/go.mod h1:nY0pafUSst7v7F637e7fymaMlQqI9c0Wka2fGsDkzWg= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= github.com/ohler55/ojg v1.20.3 h1:Z+fnElsA/GbI5oiT726qJaG4Ca9q5l7UO68Qd0PtkD4= github.com/ohler55/ojg v1.20.3/go.mod h1:uHcD1ErbErC27Zhb5Df2jUjbseLLcmOCo6oxSr3jZxo= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= 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= @@ -1242,17 +1100,21 @@ 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.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= 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.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.28.1 h1:MijcGUbfYuznzK/5R4CPNoUP/9Xvuo20sXfEm6XxoTA= +github.com/onsi/gomega v1.28.1/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= 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= @@ -1262,8 +1124,10 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ 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/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/copy v1.11.0 h1:OKBD80J/mLBrwnzXqGtFCzprFSGioo30JcmR4APsNwc= +github.com/otiai10/copy v1.11.0/go.mod h1:rSaLseMUsZFFbsFGc7wCJnnkTAvdc5L6VWxPE4308Ww= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= 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= @@ -1276,25 +1140,25 @@ github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtP 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.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.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/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/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= @@ -1306,16 +1170,16 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O 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= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= -github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= 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.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM= -github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.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= @@ -1324,8 +1188,8 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 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.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= -github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= +github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= +github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= @@ -1334,8 +1198,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O 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.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= -github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= github.com/proullon/ramsql v0.1.3 h1:/LRcXJf4lEmhdb4tYcci473I2VynjcZSzh2hsjJ8rSk= github.com/proullon/ramsql v0.1.3/go.mod h1:CFGqeQHQpdRfWqYmWD3yXqPTEaHkF4zgXy1C6qDWc9E= github.com/quasilyte/go-ruleguard v0.4.0 h1:DyM6r+TKL+xbKB4Nm7Afd1IQh9kEUKQs2pboWGKtvQo= @@ -1346,13 +1210,9 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= 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/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/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= @@ -1361,14 +1221,14 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR 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.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/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= -github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= +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= @@ -1377,6 +1237,10 @@ github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28 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/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= 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= @@ -1412,34 +1276,31 @@ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4k 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/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= 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.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/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +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.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= -github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= 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= @@ -1450,8 +1311,9 @@ github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5J 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= @@ -1463,11 +1325,11 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F 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.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -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/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.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= 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= @@ -1482,8 +1344,8 @@ github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpR 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.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= -github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/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= @@ -1498,7 +1360,8 @@ github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= 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= @@ -1529,18 +1392,19 @@ 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/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/assert v0.6.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28= 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.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/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/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= @@ -1553,8 +1417,19 @@ 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/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +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.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= @@ -1564,14 +1439,18 @@ 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.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= 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/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= 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.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= 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= @@ -1581,19 +1460,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk 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= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20220314234659-1baeb1ce4c0b/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.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1605,9 +1478,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-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 v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= 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= @@ -1637,15 +1509,14 @@ 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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.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= @@ -1686,7 +1557,6 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= @@ -1695,9 +1565,7 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT 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= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1708,16 +1576,13 @@ 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.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.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= 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= @@ -1741,12 +1606,10 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= -golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= -golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= 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= @@ -1762,8 +1625,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.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= @@ -1820,13 +1683,11 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-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= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1836,11 +1697,12 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-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-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1850,6 +1712,7 @@ golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBc 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-20220315194320-039c03cc5b86/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= @@ -1863,27 +1726,23 @@ 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-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.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.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.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.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= 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= @@ -1897,18 +1756,18 @@ 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.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +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-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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1969,7 +1828,6 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= @@ -1986,8 +1844,8 @@ 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.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= 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= @@ -2045,12 +1903,9 @@ google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaE google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= -google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= -google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +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= @@ -2058,8 +1913,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -2082,7 +1938,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= @@ -2099,10 +1954,8 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -2134,8 +1987,8 @@ google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= 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-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= @@ -2168,22 +2021,13 @@ google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53B google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= -google.golang.org/genproto v0.0.0-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-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= -google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= -google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= -google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +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-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -2216,7 +2060,6 @@ 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= @@ -2226,10 +2069,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/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= @@ -2246,9 +2087,8 @@ 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.30.0/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.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= @@ -2282,9 +2122,11 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C 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/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8= 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.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= 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= @@ -2305,12 +2147,12 @@ mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQ 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= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= -pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +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/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.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -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.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/databases.yaml b/hasura/metadata/databases/databases.yaml index 44731b43..bb932c95 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 1ba56a2a..63eba263 100644 --- a/modules/actions/config.go +++ b/modules/actions/config.go @@ -1,7 +1,7 @@ package actions import ( - "github.com/forbole/juno/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" "gopkg.in/yaml.v3" ) diff --git a/modules/actions/handle_additional_operations.go b/modules/actions/handle_additional_operations.go index 4b7f1c77..f46e178f 100644 --- a/modules/actions/handle_additional_operations.go +++ b/modules/actions/handle_additional_operations.go @@ -6,10 +6,9 @@ import ( "sync" "syscall" + "github.com/forbole/callisto/v4/modules/actions/handlers" + actionstypes "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" - - "github.com/forbole/bdjuno/v4/modules/actions/handlers" - actionstypes "github.com/forbole/bdjuno/v4/modules/actions/types" ) var ( diff --git a/modules/actions/handlers/account_balance.go b/modules/actions/handlers/account_balance.go index 8aa693ad..ba6597c8 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 c0f7d98f..0466b73b 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 b6d81083..8352b71c 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 0eb29f16..fa72d27f 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 92debf01..df53d423 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/external.go b/modules/actions/handlers/external.go index 638c03a4..780ac1b2 100644 --- a/modules/actions/handlers/external.go +++ b/modules/actions/handlers/external.go @@ -5,7 +5,7 @@ import ( "encoding/json" "net/http" - "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/messages.go b/modules/actions/handlers/messages.go index 4de5a9e6..7ffff55a 100644 --- a/modules/actions/handlers/messages.go +++ b/modules/actions/handlers/messages.go @@ -1,8 +1,8 @@ package handlers import ( - dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v4/modules/actions/types" + dbtypes "github.com/forbole/callisto/v4/database/types" + "github.com/forbole/callisto/v4/modules/actions/types" "github.com/rs/zerolog/log" ) @@ -29,23 +29,24 @@ func ValidateMessageParams(ctx *types.Context, payload *types.Payload, message s Str("location", "before"). Msg(message) - limit := uint64(10) + var limit uint64 offset := uint64(0) executedAtStart := payload.Input.ExecutedAtStart executedAtEnd := payload.Input.ExecutedAtEnd - startHeight := int64(-1) + var startHeight int64 endHeight := int64(-1) valueStart, err := ctx.Db.GetBlockHeightTime(executedAtStart) if err != nil { valueFirst, err := ctx.Db.GetFirstBlockTime() + if err != nil { return nil, err - } else { - startHeight = valueFirst.Height } + + startHeight = valueFirst.Height } else { startHeight = valueStart.Height } @@ -55,9 +56,8 @@ func ValidateMessageParams(ctx *types.Context, payload *types.Payload, message s valueLast, err := ctx.Db.GetLastBlockTime() if err != nil { return nil, err - } else { - startHeight = valueLast.Height } + startHeight = valueLast.Height } else { endHeight = valueEnd.Height } diff --git a/modules/actions/handlers/redelegation.go b/modules/actions/handlers/redelegation.go index 5334ca3a..7a65d1fe 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 6f79fdd3..41aca678 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 bdd22760..2c886751 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 7a1ece22..9fb7d3de 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 bb3598c8..cdc14cc5 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 d04f8608..c281865c 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 be625865..e048f91a 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 e6d54c63..3e7e0041 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 f51374db..9370c012 100644 --- a/modules/actions/module.go +++ b/modules/actions/module.go @@ -1,15 +1,19 @@ package actions import ( - "cosmossdk.io/simapp/params" - "github.com/forbole/bdjuno/v4/database" - "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" + "time" - modulestypes "github.com/forbole/bdjuno/v4/modules/types" + "github.com/cosmos/cosmos-sdk/codec" + authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/node" + "github.com/forbole/juno/v6/node/builder" + nodeconfig "github.com/forbole/juno/v6/node/config" + "github.com/forbole/juno/v6/types/config" + "github.com/rs/zerolog/log" + + modulestypes "github.com/forbole/callisto/v4/modules/types" ) const ( @@ -28,7 +32,7 @@ type Module struct { db *database.Db } -func NewModule(cfg config.Config, encodingConfig *params.EncodingConfig, db *database.Db) *Module { +func NewModule(cfg config.Config, cdc codec.Codec, sources *modulestypes.Sources, db *database.Db) *Module { bz, err := cfg.GetBytes() if err != nil { panic(err) @@ -44,21 +48,26 @@ func NewModule(cfg config.Config, encodingConfig *params.EncodingConfig, db *dat nodeCfg = nodeconfig.NewConfig(nodeconfig.TypeRemote, actionsCfg.Node) } - // Build the node - junoNode, err := builder.BuildNode(nodeCfg, encodingConfig) - if err != nil { - panic(err) - } + var node node.Node + if cfg.Node.Type == nodeconfig.TypeLocal { + log.Warn().Str("module", ModuleName).Msg("local node is not supported for actions module, please ensure actions module is removed from the configuration") - // Build the sources - sources, err := modulestypes.BuildSources(nodeCfg, encodingConfig) - if err != nil { - panic(err) + // Sleep for 3 seconds to allow the user to see the warning + time.Sleep(3 * time.Second) + } else { + // Build the node + txConfig := authtx.NewTxConfig(cdc, authtx.DefaultSignModes) + junoNode, err := builder.BuildNode(nodeCfg, txConfig, cdc) + if err != nil { + panic(err) + } + + node = junoNode } return &Module{ cfg: actionsCfg, - node: junoNode, + node: node, sources: sources, db: db, } diff --git a/modules/actions/types/handler.go b/modules/actions/types/handler.go index cc7b9a19..53bfec09 100644 --- a/modules/actions/types/handler.go +++ b/modules/actions/types/handler.go @@ -3,11 +3,10 @@ package types import ( "fmt" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" + "github.com/forbole/juno/v6/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 @@ -26,7 +25,7 @@ func NewContext(node node.Node, sources *modulestypes.Sources, db *database.Db) } } -// GetHeight uses the lastest height when the input height is empty from graphql request +// GetHeight uses the latest height when the input height is empty from graphql request func (c *Context) GetHeight(payload *Payload) (int64, error) { if payload == nil || payload.Input.Height == 0 { latestHeight, err := c.node.LatestHeight() diff --git a/modules/actions/types/response.go b/modules/actions/types/response.go index f1764ca3..a63f20f4 100644 --- a/modules/actions/types/response.go +++ b/modules/actions/types/response.go @@ -3,7 +3,7 @@ package types import ( "time" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" stakingtype "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -96,6 +96,6 @@ type Redelegation struct { } type RedelegationEntry struct { - CompletionTime time.Time `json:"completion_time"` - Balance sdkmath.Int `json:"balance"` + CompletionTime time.Time `json:"completion_time"` + Balance math.Int `json:"balance"` } diff --git a/modules/actions/types/worker.go b/modules/actions/types/worker.go index 64bc28d4..984b6762 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 4ad7e724..d14b24c5 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 diff --git a/modules/auth/handle_msg.go b/modules/auth/handle_msg.go index a3605c99..5a9a4756 100644 --- a/modules/auth/handle_msg.go +++ b/modules/auth/handle_msg.go @@ -5,46 +5,56 @@ import ( "time" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/authz" - "github.com/cosmos/gogoproto/proto" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/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" + moduleutils "github.com/forbole/callisto/v4/modules/utils" + "github.com/forbole/callisto/v4/types" + "github.com/forbole/callisto/v4/utils" ) +var msgFilter = map[string]bool{ + "/cosmos.vesting.v1beta1.MsgCreateVestingAccount": true, +} + // HandleMsgExec implements modules.AuthzMessageModule -func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { return m.HandleMsg(index, executedMsg, tx) } // HandleMsg implements modules.MessageModule -func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { - addresses, err := m.messagesParser(m.cdc, msg) +func (m *Module) HandleMsg(_ int, msg juno.Message, tx *juno.Transaction) error { + addresses, err := m.messagesParser(tx) if err != nil { log.Error().Str("module", "auth").Err(err). Str("operation", "refresh account"). - Msgf("error while refreshing accounts after message of type %s", proto.MessageName(msg)) + Msgf("error while refreshing accounts after message of type %s", msg.GetType()) + } + + if _, ok := msgFilter[msg.GetType()]; !ok { + return nil } - if cosmosMsg, ok := msg.(*vestingtypes.MsgCreateVestingAccount); ok { + log.Debug().Str("module", "auth").Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling auth message %s", msg.GetType())) + + if msg.GetType() == "/cosmos.vesting.v1beta1.MsgCreateVestingAccount" { // Store tx timestamp as start_time of the created vesting account timestamp, err := time.Parse(time.RFC3339, tx.Timestamp) if err != nil { return fmt.Errorf("error while parsing time: %s", err) } + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &vestingtypes.MsgCreateVestingAccount{}) err = m.handleMsgCreateVestingAccount(cosmosMsg, timestamp) if err != nil { return fmt.Errorf("error while handling MsgCreateVestingAccount %s", err) } } - return m.RefreshAccounts(tx.Height, utils.FilterNonAccountAddresses(addresses)) + return m.RefreshAccounts(int64(tx.Height), moduleutils.FilterNonAccountAddresses(addresses)) } func (m *Module) handleMsgCreateVestingAccount(msg *vestingtypes.MsgCreateVestingAccount, txTimestamp time.Time) error { @@ -60,9 +70,13 @@ func (m *Module) handleMsgCreateVestingAccount(msg *vestingtypes.MsgCreateVestin return fmt.Errorf("error while storing vesting account: %s", err) } - bva := vestingtypes.NewBaseVestingAccount( + bva, err := vestingtypes.NewBaseVestingAccount( authttypes.NewBaseAccountWithAddress(accAddress), msg.Amount, msg.EndTime, ) + if err != nil { + return fmt.Errorf("error while new base vesting account: %s", err) + } + err = m.db.StoreBaseVestingAccountFromMsg(bva, txTimestamp) if err != nil { return fmt.Errorf("error while storing base vesting account from msg %s", err) diff --git a/modules/auth/module.go b/modules/auth/module.go index 32bb89a9..ecfa76b9 100644 --- a/modules/auth/module.go +++ b/modules/auth/module.go @@ -3,16 +3,17 @@ package auth import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v5/modules" - "github.com/forbole/juno/v5/modules/messages" + "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/modules/messages" ) var ( - _ modules.Module = &Module{} - _ modules.GenesisModule = &Module{} - _ modules.MessageModule = &Module{} + _ modules.Module = &Module{} + _ modules.GenesisModule = &Module{} + _ modules.MessageModule = &Module{} + _ modules.AuthzMessageModule = &Module{} ) // Module represents the x/auth module diff --git a/modules/bank/handle_periodic_operations.go b/modules/bank/handle_periodic_operations.go index 1435aab3..a282d6af 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 diff --git a/modules/bank/module.go b/modules/bank/module.go index bf1e6c14..6c77e494 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/v5/modules/messages" + junomessages "github.com/forbole/juno/v6/modules/messages" - "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( diff --git a/modules/bank/source/local/source.go b/modules/bank/source/local/source.go index 25c346a7..268841cf 100644 --- a/modules/bank/source/local/source.go +++ b/modules/bank/source/local/source.go @@ -7,10 +7,10 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/juno/v5/node/local" + "github.com/forbole/juno/v6/node/local" - "github.com/forbole/bdjuno/v4/modules/bank/source" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/modules/bank/source" + "github.com/forbole/callisto/v4/types" ) var ( diff --git a/modules/bank/source/remote/source.go b/modules/bank/source/remote/source.go index c2ede4d6..f5fd4afa 100644 --- a/modules/bank/source/remote/source.go +++ b/modules/bank/source/remote/source.go @@ -6,10 +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/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - bankkeeper "github.com/forbole/bdjuno/v4/modules/bank/source" - "github.com/forbole/bdjuno/v4/types" + bankkeeper "github.com/forbole/callisto/v4/modules/bank/source" + "github.com/forbole/callisto/v4/types" ) var ( diff --git a/modules/bank/source/remote/source_actions.go b/modules/bank/source/remote/source_actions.go index f2a0efae..8e9927ec 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 a1a2ac9a..2cd5504a 100644 --- a/modules/bank/source/source.go +++ b/modules/bank/source/source.go @@ -3,7 +3,7 @@ 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 { diff --git a/modules/consensus/handle_block.go b/modules/consensus/handle_block.go index f77c7a60..af07e5a4 100644 --- a/modules/consensus/handle_block.go +++ b/modules/consensus/handle_block.go @@ -3,7 +3,7 @@ package consensus import ( "fmt" - "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" "github.com/rs/zerolog/log" @@ -12,7 +12,7 @@ import ( // HandleBlock implements modules.Module func (m *Module) HandleBlock( - b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*types.Tx, _ *tmctypes.ResultValidators, + b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*juno.Transaction, _ *tmctypes.ResultValidators, ) error { err := m.updateBlockTimeFromGenesis(b) if err != nil { diff --git a/modules/consensus/handle_genesis.go b/modules/consensus/handle_genesis.go index c2e8d1cb..a0261161 100644 --- a/modules/consensus/handle_genesis.go +++ b/modules/consensus/handle_genesis.go @@ -4,7 +4,7 @@ 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" diff --git a/modules/consensus/handle_periodic_operations.go b/modules/consensus/handle_periodic_operations.go index 4f39023c..15499fb0 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 @@ -61,7 +61,7 @@ func (m *Module) updateBlockTimeInMinute() error { minute, err := m.db.GetBlockHeightTimeMinuteAgo(block.Timestamp) if err != nil { - return fmt.Errorf("error while gettting block height a minute ago: %s", err) + return fmt.Errorf("error while getting block height a minute ago: %s", err) } newBlockTime := block.Timestamp.Sub(minute.Timestamp).Seconds() / float64(block.Height-minute.Height) diff --git a/modules/consensus/module.go b/modules/consensus/module.go index 2fccc9eb..1aa978ba 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/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( diff --git a/modules/daily_refetch/handle_periodic_operations.go b/modules/daily_refetch/handle_periodic_operations.go index ae8f5c30..d0fcac9d 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/v5/parser" - "github.com/forbole/juno/v5/types/config" + "github.com/forbole/juno/v6/parser" + "github.com/forbole/juno/v6/types/config" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v6/cmd/parse/types" ) func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { @@ -54,7 +54,7 @@ func (m *Module) refetchMissingBlocks() error { return err } - workerCtx := parser.NewContext(parseCtx.EncodingConfig, parseCtx.Node, parseCtx.Database, parseCtx.Logger, parseCtx.Modules) + workerCtx := parser.NewContext(parseCtx.Node, parseCtx.Database, parseCtx.Logger, parseCtx.Modules) worker := parser.NewWorker(workerCtx, nil, 0) log.Info().Int64("start height", startHeight).Int64("end height", latestBlock). diff --git a/modules/daily_refetch/module.go b/modules/daily_refetch/module.go index a9673f43..d2fa74e0 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/v5/node" + "github.com/forbole/juno/v6/node" - bdjunodb "github.com/forbole/bdjuno/v4/database" + callistodb "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v6/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/distribution/handle_genesis.go b/modules/distribution/handle_genesis.go index 623fa934..532e2931 100644 --- a/modules/distribution/handle_genesis.go +++ b/modules/distribution/handle_genesis.go @@ -6,7 +6,7 @@ import ( 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 5503b7e8..1df050c2 100644 --- a/modules/distribution/handle_msg.go +++ b/modules/distribution/handle_msg.go @@ -1,26 +1,31 @@ package distribution import ( - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/authz" - juno "github.com/forbole/juno/v5/types" + "fmt" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + juno "github.com/forbole/juno/v6/types" + "github.com/rs/zerolog/log" ) +var msgFilter = map[string]bool{ + "/cosmos.distribution.v1beta1.MsgFundCommunityPool": true, +} + // HandleMsgExec implements modules.AuthzMessageModule -func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { return m.HandleMsg(index, executedMsg, tx) } // HandleMsg implements modules.MessageModule -func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { - if len(tx.Logs) == 0 { +func (m *Module) HandleMsg(_ int, msg juno.Message, tx *juno.Transaction) error { + if _, ok := msgFilter[msg.GetType()]; !ok { return nil } - if _, ok := msg.(*distrtypes.MsgFundCommunityPool); ok { - return m.updateCommunityPool(tx.Height) + log.Debug().Str("module", "distribution").Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling distribution message %s", msg.GetType())) + + if msg.GetType() == "/cosmos.distribution.v1beta1.MsgFundCommunityPool" { + return m.updateCommunityPool(int64(tx.Height)) } return nil } diff --git a/modules/distribution/handle_periodic_operations.go b/modules/distribution/handle_periodic_operations.go index 3866d744..534ef2b8 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 @@ -17,7 +17,7 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { if _, err := scheduler.Every(1).Hour().Do(func() { utils.WatchMethod(m.GetLatestCommunityPool) }); err != nil { - return fmt.Errorf("error while scheduling distribution peridic operation: %s", err) + return fmt.Errorf("error while scheduling distribution periodic operation: %s", err) } return nil diff --git a/modules/distribution/module.go b/modules/distribution/module.go index 88ec8ef1..18f610c3 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/v5/modules" + "github.com/forbole/juno/v6/modules" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" ) var ( @@ -15,6 +15,7 @@ var ( _ modules.GenesisModule = &Module{} _ modules.PeriodicOperationsModule = &Module{} _ modules.MessageModule = &Module{} + _ modules.AuthzMessageModule = &Module{} ) // Module represents the x/distr module diff --git a/modules/distribution/source/local/source.go b/modules/distribution/source/local/source.go index 42ccd311..3726b5e8 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/v5/node/local" + "github.com/forbole/juno/v6/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 697e11b8..ab39c442 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/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" + distrsource "github.com/forbole/callisto/v4/modules/distribution/source" ) var ( @@ -18,7 +18,7 @@ type Source struct { distrClient distrtypes.QueryClient } -// NewSource returns a new Source instace +// NewSource returns a new Source instance func NewSource(source *remote.Source, distrClient distrtypes.QueryClient) *Source { return &Source{ Source: source, diff --git a/modules/distribution/source/remote/source_actions.go b/modules/distribution/source/remote/source_actions.go index 12044040..66f679c7 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/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/utils" ) // DelegatorTotalRewards implements distrsource.Source diff --git a/modules/distribution/utils_community_pool.go b/modules/distribution/utils_community_pool.go index 5e71f598..2a3fe71c 100644 --- a/modules/distribution/utils_community_pool.go +++ b/modules/distribution/utils_community_pool.go @@ -12,7 +12,7 @@ func (m *Module) updateCommunityPool(height int64) error { pool, err := m.source.CommunityPool(height) if err != nil { - return fmt.Errorf("error while getting comminity pool: %s", err) + return fmt.Errorf("error while getting community pool: %s", err) } // Store the pool into the database diff --git a/modules/distribution/utils_params.go b/modules/distribution/utils_params.go index fbbf5321..d8a53a58 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/external/handle_tx.go b/modules/external/handle_tx.go index d73d46ab..37ae8a08 100644 --- a/modules/external/handle_tx.go +++ b/modules/external/handle_tx.go @@ -4,12 +4,12 @@ import ( "bytes" "net/http" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" "github.com/rs/zerolog/log" ) // HandleTx implements modules.TransactionModule -func (m *Module) HandleTx(tx *juno.Tx) error { +func (m *Module) HandleTx(tx *juno.Transaction) error { log.Info().Str("txhash", tx.TxHash).Msg("✅✅✅✅ external HandleTx") txResponseJSON, err := m.cdc.MarshalJSON(tx.TxResponse) diff --git a/modules/external/module.go b/modules/external/module.go index 34d4b02d..333a3811 100644 --- a/modules/external/module.go +++ b/modules/external/module.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/juno/v5/modules" - "github.com/forbole/juno/v5/types/config" + "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/types/config" "github.com/invopop/jsonschema" "github.com/rs/zerolog/log" ) diff --git a/modules/feegrant/handle_block.go b/modules/feegrant/handle_block.go index 97808f89..46d735b7 100644 --- a/modules/feegrant/handle_block.go +++ b/modules/feegrant/handle_block.go @@ -5,22 +5,22 @@ import ( abci "github.com/cometbft/cometbft/abci/types" - feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - juno "github.com/forbole/juno/v5/types" + feegranttypes "cosmossdk.io/x/feegrant" + juno "github.com/forbole/juno/v6/types" tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) // HandleBlock implements BlockModule func (m *Module) HandleBlock( - block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Tx, _ *tmctypes.ResultValidators, + block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Transaction, _ *tmctypes.ResultValidators, ) error { // Remove expired fee grant allowances - err := m.removeExpiredFeeGrantAllowances(block.Block.Height, res.EndBlockEvents) + err := m.removeExpiredFeeGrantAllowances(block.Block.Height, res.FinalizeBlockEvents) if err != nil { fmt.Printf("Error when removing expired fee grant allowance, error: %s", err) } diff --git a/modules/feegrant/handle_msg.go b/modules/feegrant/handle_msg.go index bfddf22d..d423683a 100644 --- a/modules/feegrant/handle_msg.go +++ b/modules/feegrant/handle_msg.go @@ -3,29 +3,39 @@ package feegrant import ( "fmt" + feegranttypes "cosmossdk.io/x/feegrant" 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/v5/types" + juno "github.com/forbole/juno/v6/types" + "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" + "github.com/forbole/callisto/v4/utils" ) +var msgFilter = map[string]bool{ + "/cosmos.feegrant.v1beta1.MsgGrantAllowance": true, + "/cosmos.feegrant.v1beta1.MsgRevokeAllowance": true, +} + // HandleMsgExec implements modules.AuthzMessageModule -func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { return m.HandleMsg(index, executedMsg, tx) } // HandleMsg implements modules.MessageModule -func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { - if len(tx.Logs) == 0 { +func (m *Module) HandleMsg(_ int, msg juno.Message, tx *juno.Transaction) error { + if _, ok := msgFilter[msg.GetType()]; !ok { return nil } - switch cosmosMsg := msg.(type) { - case *feegranttypes.MsgGrantAllowance: + log.Debug().Str("module", "feegrant").Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling feegrant message %s", msg.GetType())) + + switch msg.GetType() { + case "/cosmos.feegrant.v1beta1.MsgGrantAllowance": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &feegranttypes.MsgGrantAllowance{}) return m.HandleMsgGrantAllowance(tx, cosmosMsg) - case *feegranttypes.MsgRevokeAllowance: + case "/cosmos.feegrant.v1beta1.MsgRevokeAllowance": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &feegranttypes.MsgRevokeAllowance{}) return m.HandleMsgRevokeAllowance(tx, cosmosMsg) } @@ -33,7 +43,7 @@ func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { } // HandleMsgGrantAllowance allows to properly handle a MsgGrantAllowance -func (m *Module) HandleMsgGrantAllowance(tx *juno.Tx, msg *feegranttypes.MsgGrantAllowance) error { +func (m *Module) HandleMsgGrantAllowance(tx *juno.Transaction, msg *feegranttypes.MsgGrantAllowance) error { allowance, err := msg.GetFeeAllowanceI() if err != nil { return fmt.Errorf("error while getting fee allowance: %s", err) @@ -50,10 +60,10 @@ func (m *Module) HandleMsgGrantAllowance(tx *juno.Tx, msg *feegranttypes.MsgGran if err != nil { return fmt.Errorf("error while getting new grant allowance: %s", err) } - return m.db.SaveFeeGrantAllowance(types.NewFeeGrant(feeGrant, tx.Height)) + return m.db.SaveFeeGrantAllowance(types.NewFeeGrant(feeGrant, int64(tx.Height))) } // HandleMsgRevokeAllowance allows to properly handle a MsgRevokeAllowance -func (m *Module) HandleMsgRevokeAllowance(tx *juno.Tx, msg *feegranttypes.MsgRevokeAllowance) error { - return m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(msg.Grantee, msg.Granter, tx.Height)) +func (m *Module) HandleMsgRevokeAllowance(tx *juno.Transaction, msg *feegranttypes.MsgRevokeAllowance) error { + return m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(msg.Grantee, msg.Granter, int64(tx.Height))) } diff --git a/modules/feegrant/module.go b/modules/feegrant/module.go index deeae860..c70500d7 100644 --- a/modules/feegrant/module.go +++ b/modules/feegrant/module.go @@ -3,15 +3,16 @@ 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/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( - _ modules.BlockModule = &Module{} - _ modules.Module = &Module{} - _ modules.MessageModule = &Module{} + _ modules.BlockModule = &Module{} + _ modules.Module = &Module{} + _ modules.MessageModule = &Module{} + _ modules.AuthzMessageModule = &Module{} ) // Module represent x/feegrant module diff --git a/modules/gov/expected_modules.go b/modules/gov/expected_modules.go index 876ab3dc..eb0abb5d 100644 --- a/modules/gov/expected_modules.go +++ b/modules/gov/expected_modules.go @@ -1,7 +1,7 @@ package gov import ( - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" ) type DistrModule interface { diff --git a/modules/gov/handle_block.go b/modules/gov/handle_block.go index e16e3416..2b5d1d00 100644 --- a/modules/gov/handle_block.go +++ b/modules/gov/handle_block.go @@ -4,7 +4,7 @@ import ( "fmt" "strconv" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" tmctypes "github.com/cometbft/cometbft/rpc/core/types" @@ -16,10 +16,10 @@ import ( // HandleBlock implements modules.BlockModule func (m *Module) HandleBlock( - b *tmctypes.ResultBlock, blockResults *tmctypes.ResultBlockResults, _ []*juno.Tx, _ *tmctypes.ResultValidators, + b *tmctypes.ResultBlock, blockResults *tmctypes.ResultBlockResults, txs []*juno.Transaction, _ *tmctypes.ResultValidators, ) error { - - err := m.updateProposalsStatus(b.Block.Height, blockResults.EndBlockEvents) + txEvents := collectTxEvents(txs) + err := m.updateProposalsStatus(b.Block.Height, txEvents, blockResults.FinalizeBlockEvents) if err != nil { log.Error().Str("module", "gov").Int64("height", b.Block.Height). Err(err).Msg("error while updating proposals") @@ -28,35 +28,30 @@ func (m *Module) HandleBlock( return nil } -// updateProposalsStatus updates the status of proposals if they have been included in the EndBlockEvents -func (m *Module) updateProposalsStatus(height int64, events []abci.Event) error { - if len(events) == 0 { - 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, txEvents, endBlockEvents []abci.Event) error { var ids []uint64 // check if EndBlockEvents contains active_proposal event - eventsList := juno.FindEventsByType(events, govtypes.EventTypeActiveProposal) - if len(eventsList) == 0 { - return nil + endBlockIDs, err := findProposalIDsInEvents(endBlockEvents, govtypes.EventTypeActiveProposal, govtypes.AttributeKeyProposalID) + if err != nil { + return err } + ids = append(ids, endBlockIDs...) - for _, event := range eventsList { - // find proposal ID - proposalID, err := juno.FindAttributeByKey(event, govtypes.AttributeKeyProposalID) - if err != nil { - return fmt.Errorf("error while getting proposal ID from block events: %s", err) - } - - // parse proposal ID from []byte to unit64 - id, err := strconv.ParseUint(proposalID.Value, 10, 64) - if err != nil { - return fmt.Errorf("error while parsing proposal id: %s", err) - } + // the proposal changes state from the submit to voting + idsInSubmitTxs, err := findProposalIDsInEvents(txEvents, govtypes.EventTypeSubmitProposal, govtypes.AttributeKeyVotingPeriodStart) + if err != nil { + return err + } + ids = append(ids, idsInSubmitTxs...) - // add proposal ID to ids array - ids = append(ids, id) + // the proposal changes state from the deposit to voting + idsInDepositTxs, err := findProposalIDsInEvents(txEvents, govtypes.EventTypeProposalDeposit, govtypes.AttributeKeyVotingPeriodStart) + if err != nil { + return err } + ids = append(ids, idsInDepositTxs...) // update status for proposals IDs stored in ids array for _, id := range ids { @@ -68,3 +63,37 @@ func (m *Module) updateProposalsStatus(height int64, events []abci.Event) error return nil } + +func findProposalIDsInEvents(events []abci.Event, eventType, attrKey string) ([]uint64, error) { + ids := make([]uint64, 0) + for _, event := range events { + if event.Type != eventType { + continue + } + for _, attr := range event.Attributes { + if attr.Key != attrKey { + continue + } + // parse proposal ID from []byte to unit64 + id, err := strconv.ParseUint(attr.Value, 10, 64) + if err != nil { + return nil, fmt.Errorf("error while parsing proposal id: %s", err) + } + // add proposal ID to ids array + ids = append(ids, id) + } + } + + return ids, nil +} + +func collectTxEvents(txs []*juno.Transaction) []abci.Event { + events := make([]abci.Event, 0) + for _, tx := range txs { + for _, ev := range tx.Events { + events = append(events, abci.Event{Type: ev.Type, Attributes: ev.Attributes}) + } + } + + return events +} diff --git a/modules/gov/handle_genesis.go b/modules/gov/handle_genesis.go index 44a1c8d2..0ad0521b 100644 --- a/modules/gov/handle_genesis.go +++ b/modules/gov/handle_genesis.go @@ -6,7 +6,7 @@ import ( 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" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" diff --git a/modules/gov/handle_msg.go b/modules/gov/handle_msg.go index 1232c808..43cbcbbd 100644 --- a/modules/gov/handle_msg.go +++ b/modules/gov/handle_msg.go @@ -2,71 +2,94 @@ package gov import ( "fmt" - "strconv" "strings" "time" - "github.com/cosmos/cosmos-sdk/x/authz" - - "github.com/forbole/bdjuno/v4/types" + "github.com/rs/zerolog/log" "google.golang.org/grpc/codes" + "github.com/forbole/callisto/v4/types" + "github.com/forbole/callisto/v4/utils" + sdk "github.com/cosmos/cosmos-sdk/types" 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/v6/types" - gov "github.com/cosmos/cosmos-sdk/x/gov/types" - juno "github.com/forbole/juno/v5/types" + eventutils "github.com/forbole/callisto/v4/utils/events" ) +var msgFilter = map[string]bool{ + "/cosmos.gov.v1.MsgSubmitProposal": true, + "/cosmos.gov.v1.MsgDeposit": true, + "/cosmos.gov.v1.MsgVote": true, + "/cosmos.gov.v1.MsgVoteWeighted": true, + + "/cosmos.gov.v1beta1.MsgSubmitProposal": true, + "/cosmos.gov.v1beta1.MsgDeposit": true, + "/cosmos.gov.v1beta1.MsgVote": true, + "/cosmos.gov.v1beta1.MsgVoteWeighted": true, +} + // HandleMsgExec implements modules.AuthzMessageModule -func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { return m.HandleMsg(index, executedMsg, tx) } // HandleMsg implements modules.MessageModule -func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { - if len(tx.Logs) == 0 { +func (m *Module) HandleMsg(index int, msg juno.Message, tx *juno.Transaction) error { + if _, ok := msgFilter[msg.GetType()]; !ok { return nil } - switch cosmosMsg := msg.(type) { - case *govtypesv1.MsgSubmitProposal: - return m.handleMsgSubmitProposal(tx, index, cosmosMsg) + log.Debug().Str("module", "gov").Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling gov message %s", msg.GetType())) - case *govtypesv1.MsgDeposit: - return m.handleMsgDeposit(tx, cosmosMsg) + switch msg.GetType() { + case "/cosmos.gov.v1.MsgSubmitProposal": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1.MsgSubmitProposal{}) + return m.handleSubmitProposalEvent(tx, cosmosMsg.Proposer, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) + case "/cosmos.gov.v1beta1.MsgSubmitProposal": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1beta1.MsgSubmitProposal{}) + return m.handleSubmitProposalEvent(tx, cosmosMsg.Proposer, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) - case *govtypesv1.MsgVote: - return m.handleMsgVote(tx, cosmosMsg) + case "/cosmos.gov.v1.MsgDeposit": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1.MsgDeposit{}) + return m.handleDepositEvent(tx, cosmosMsg.Depositor, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) + case "/cosmos.gov.v1beta1.MsgDeposit": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1beta1.MsgDeposit{}) + return m.handleDepositEvent(tx, cosmosMsg.Depositor, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) - case *govtypesv1.MsgVoteWeighted: - return m.handleMsgVoteWeighted(tx, cosmosMsg) + case "/cosmos.gov.v1.MsgVote": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1.MsgVote{}) + return m.handleVoteEvent(tx, cosmosMsg.Voter, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) + case "/cosmos.gov.v1beta1.MsgVote": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1beta1.MsgVote{}) + return m.handleVoteEvent(tx, cosmosMsg.Voter, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) + + case "/cosmos.gov.v1.MsgVoteWeighted": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1.MsgVoteWeighted{}) + return m.handleVoteEvent(tx, cosmosMsg.Voter, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) + case "/cosmos.gov.v1beta1.MsgVoteWeighted": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &govtypesv1beta1.MsgVoteWeighted{}) + + return m.handleVoteEvent(tx, cosmosMsg.Voter, eventutils.FindEventsByMsgIndex(sdk.StringifyEvents(tx.Events), index)) } return nil } -// handleMsgSubmitProposal allows to properly handle a MsgSubmitProposal -func (m *Module) handleMsgSubmitProposal(tx *juno.Tx, index int, msg *govtypesv1.MsgSubmitProposal) error { +// handleSubmitProposalEvent allows to properly handle a handleSubmitProposalEvent +func (m *Module) handleSubmitProposalEvent(tx *juno.Transaction, proposer string, events sdk.StringEvents) error { // Get the proposal id - event, err := tx.FindEventByType(index, gov.EventTypeSubmitProposal) - if err != nil { - return fmt.Errorf("error while searching for EventTypeSubmitProposal: %s", err) - } - - id, err := tx.FindAttributeByKey(event, gov.AttributeKeyProposalID) + proposalID, err := ProposalIDFromEvents(events) if err != nil { - return fmt.Errorf("error while searching for AttributeKeyProposalID: %s", err) - } - - proposalID, err := strconv.ParseUint(id, 10, 64) - if err != nil { - return fmt.Errorf("error while parsing proposal id: %s", err) + return fmt.Errorf("error while getting proposal id: %s", err) } // Get the proposal - proposal, err := m.source.Proposal(tx.Height, proposalID) + proposal, err := m.source.Proposal(int64(tx.Height), proposalID) if err != nil { if strings.Contains(err.Error(), codes.NotFound.String()) { // query the proposal details using the latest height stored in db @@ -108,39 +131,45 @@ func (m *Module) handleMsgSubmitProposal(tx *juno.Tx, index int, msg *govtypesv1 return fmt.Errorf("error while storing proposal recipient: %s", err) } + // Unpack the proposal interfaces + err = proposal.UnpackInterfaces(m.cdc) + if err != nil { + return fmt.Errorf("error while unpacking proposal interfaces: %s", err) + } + // Store the proposal proposalObj := types.NewProposal( proposal.Id, proposal.Title, proposal.Summary, proposal.Metadata, - msg.Messages, + proposal.Messages, proposal.Status.String(), *proposal.SubmitTime, *proposal.DepositEndTime, proposal.VotingStartTime, proposal.VotingEndTime, - msg.Proposer, + proposer, ) err = m.db.SaveProposals([]types.Proposal{proposalObj}) if err != nil { - return err + return fmt.Errorf("error while saving proposal: %s", err) } - txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + // Submit proposal must have a deposit event with depositor equal to the proposer + return m.handleDepositEvent(tx, proposer, events) +} + +// handleDepositEvent allows to properly handle a handleDepositEvent +func (m *Module) handleDepositEvent(tx *juno.Transaction, depositor string, events sdk.StringEvents) error { + // Get the proposal id + proposalID, err := ProposalIDFromEvents(events) if err != nil { - return fmt.Errorf("error while parsing time: %s", err) + return fmt.Errorf("error while getting proposal id: %s", err) } - // Store the deposit - deposit := types.NewDeposit(proposal.Id, msg.Proposer, msg.InitialDeposit, txTimestamp, tx.TxHash, tx.Height) - return m.db.SaveDeposits([]types.Deposit{deposit}) -} - -// handleMsgDeposit allows to properly handle a MsgDeposit -func (m *Module) handleMsgDeposit(tx *juno.Tx, msg *govtypesv1.MsgDeposit) error { - deposit, err := m.source.ProposalDeposit(tx.Height, msg.ProposalId, msg.Depositor) + deposit, err := m.source.ProposalDeposit(int64(tx.Height), proposalID, depositor) if err != nil { return fmt.Errorf("error while getting proposal deposit: %s", err) } @@ -150,43 +179,36 @@ func (m *Module) handleMsgDeposit(tx *juno.Tx, msg *govtypesv1.MsgDeposit) error } return m.db.SaveDeposits([]types.Deposit{ - types.NewDeposit(msg.ProposalId, msg.Depositor, deposit.Amount, txTimestamp, tx.TxHash, tx.Height), + types.NewDeposit(proposalID, depositor, deposit.Amount, txTimestamp, tx.TxHash, int64(tx.Height)), }) } -// handleMsgVote allows to properly handle a MsgVote -func (m *Module) handleMsgVote(tx *juno.Tx, msg *govtypesv1.MsgVote) error { +// handleVoteEvent allows to properly handle a handleVoteEvent +func (m *Module) handleVoteEvent(tx *juno.Transaction, voter string, events sdk.StringEvents) error { + // Get the proposal id + proposalID, err := ProposalIDFromEvents(events) + if err != nil { + return fmt.Errorf("error while getting proposal id: %s", err) + } + txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) if err != nil { return fmt.Errorf("error while parsing time: %s", err) } - vote := types.NewVote(msg.ProposalId, msg.Voter, msg.Option, "1.0", txTimestamp, tx.Height) - - err = m.db.SaveVote(vote) + // Get the vote option + weightVoteOption, err := WeightVoteOptionFromEvents(events) if err != nil { - return fmt.Errorf("error while saving vote: %s", err) + return fmt.Errorf("error while getting vote option: %s", err) } - // update tally result for given proposal - return m.UpdateProposalTallyResult(msg.ProposalId, tx.Height) -} + vote := types.NewVote(proposalID, voter, weightVoteOption.Option, weightVoteOption.Weight, txTimestamp, int64(tx.Height)) -// handleMsgVoteWeighted allows to properly handle a MsgVoteWeighted -func (m *Module) handleMsgVoteWeighted(tx *juno.Tx, msg *govtypesv1.MsgVoteWeighted) error { - txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + err = m.db.SaveVote(vote) if err != nil { - return fmt.Errorf("error while parsing time: %s", err) - } - - for _, option := range msg.Options { - vote := types.NewVote(msg.ProposalId, msg.Voter, option.Option, option.Weight, txTimestamp, tx.Height) - err = m.db.SaveVote(vote) - if err != nil { - return fmt.Errorf("error while saving weighted vote for address %s: %s", msg.Voter, err) - } + return fmt.Errorf("error while saving vote: %s", err) } // update tally result for given proposal - return m.UpdateProposalTallyResult(msg.ProposalId, tx.Height) + return m.UpdateProposalTallyResult(proposalID, int64(tx.Height)) } diff --git a/modules/gov/handle_periodic_operations.go b/modules/gov/handle_periodic_operations.go index 874d3ba4..7a52375a 100644 --- a/modules/gov/handle_periodic_operations.go +++ b/modules/gov/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 diff --git a/modules/gov/module.go b/modules/gov/module.go index 01e3875c..c38595e0 100644 --- a/modules/gov/module.go +++ b/modules/gov/module.go @@ -3,18 +3,19 @@ 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/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( - _ modules.Module = &Module{} - _ modules.GenesisModule = &Module{} - _ modules.BlockModule = &Module{} - _ modules.MessageModule = &Module{} + _ modules.Module = &Module{} + _ modules.GenesisModule = &Module{} + _ modules.BlockModule = &Module{} + _ modules.MessageModule = &Module{} + _ modules.AuthzMessageModule = &Module{} ) // Module represent x/gov module diff --git a/modules/gov/source/local/source.go b/modules/gov/source/local/source.go index cf04babb..fcdf8c75 100644 --- a/modules/gov/source/local/source.go +++ b/modules/gov/source/local/source.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/forbole/juno/v5/node/local" + "github.com/forbole/juno/v6/node/local" - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + govsource "github.com/forbole/callisto/v4/modules/gov/source" ) var ( diff --git a/modules/gov/source/remote/source.go b/modules/gov/source/remote/source.go index 17b836b5..18f26c58 100644 --- a/modules/gov/source/remote/source.go +++ b/modules/gov/source/remote/source.go @@ -2,9 +2,9 @@ package remote import ( govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - "github.com/forbole/juno/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + govsource "github.com/forbole/callisto/v4/modules/gov/source" ) var ( diff --git a/modules/gov/utils_events.go b/modules/gov/utils_events.go new file mode 100644 index 00000000..199d6a2f --- /dev/null +++ b/modules/gov/utils_events.go @@ -0,0 +1,67 @@ +package gov + +import ( + "encoding/json" + "fmt" + "strconv" + "strings" + + 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/callisto/v4/utils/events" +) + +// ProposalIDFromEvent returns the proposal id from the given events +func ProposalIDFromEvents(events sdk.StringEvents) (uint64, error) { + for _, event := range events { + attribute, ok := eventsutil.FindAttributeByKey(event, govtypes.AttributeKeyProposalID) + if ok { + return strconv.ParseUint(attribute.Value, 10, 64) + } + } + + return 0, fmt.Errorf("no proposal id found") +} + +// 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 parseWeightVoteOption(attribute.Value) + } + } + + return govtypesv1.WeightedVoteOption{}, fmt.Errorf("no vote option found") +} + +// 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 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 weightedVoteOption, nil + } + + // 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 govtypesv1.WeightedVoteOption{}, fmt.Errorf("failed to parse vote option %s: %s", optionValue, err) + } + weight := strings.ReplaceAll(voteOptionParsed[1], "weight:", "") + weight = strings.ReplaceAll(weight, "\"", "") + + return govtypesv1.WeightedVoteOption{Option: voteOption, Weight: weight}, nil +} diff --git a/modules/gov/utils_events_test.go b/modules/gov/utils_events_test.go new file mode 100644 index 00000000..23fd18e3 --- /dev/null +++ b/modules/gov/utils_events_test.go @@ -0,0 +1,72 @@ +package gov_test + +import ( + "testing" + + 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" + "github.com/stretchr/testify/require" + + "github.com/forbole/callisto/v4/modules/gov" +) + +func TestWeightVoteOptionFromEvents(t *testing.T) { + tests := []struct { + name string + events sdk.StringEvents + expected govtypesv1.WeightedVoteOption + shouldErr bool + }{ + { + "json option from vote event returns properly", + sdk.StringEvents{ + sdk.StringEvent{ + Type: "vote", + Attributes: []sdk.Attribute{ + sdk.NewAttribute(govtypes.AttributeKeyOption, "{\"option\":1,\"weight\":\"1.000000000000000000\"}"), + }, + }, + }, + govtypesv1.WeightedVoteOption{Option: govtypesv1.OptionYes, Weight: "1.000000000000000000"}, + false, + }, + { + "string option from vote event returns properly", + sdk.StringEvents{ + sdk.StringEvent{ + Type: "vote", + Attributes: []sdk.Attribute{ + sdk.NewAttribute(govtypes.AttributeKeyOption, "option:VOTE_OPTION_NO weight:\"1.000000000000000000\""), + }, + }, + }, + govtypesv1.WeightedVoteOption{Option: govtypesv1.OptionNo, Weight: "1.000000000000000000"}, + false, + }, + { + "invalid option from vote event returns error", + sdk.StringEvents{ + sdk.StringEvent{ + Type: "vote", + Attributes: []sdk.Attribute{ + sdk.NewAttribute("other", "value"), + }, + }, + }, + govtypesv1.WeightedVoteOption{}, + true, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + result, err := gov.WeightVoteOptionFromEvents(test.events) + if test.shouldErr { + require.Error(t, err) + } else { + require.Equal(t, test.expected, result) + } + }) + } +} diff --git a/modules/gov/utils_params.go b/modules/gov/utils_params.go index 03422b61..08a371ee 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 diff --git a/modules/gov/utils_proposal.go b/modules/gov/utils_proposal.go index 79f437f6..d2484275 100644 --- a/modules/gov/utils_proposal.go +++ b/modules/gov/utils_proposal.go @@ -11,14 +11,14 @@ import ( minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/rs/zerolog/log" + upgradetypes "cosmossdk.io/x/upgrade/types" 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" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" gov "github.com/cosmos/cosmos-sdk/x/gov/types" ) diff --git a/modules/message_type/handle_msg.go b/modules/message_type/handle_msg.go new file mode 100644 index 00000000..0f40fc23 --- /dev/null +++ b/modules/message_type/handle_msg.go @@ -0,0 +1,25 @@ +package message_type + +import ( + utils "github.com/forbole/callisto/v4/modules/utils" + msgtypes "github.com/forbole/callisto/v4/types" + + "github.com/forbole/juno/v6/types" +) + +// HandleMsg represents a message handler that stores the given message inside the proper database table +func (m *Module) HandleMsg( + index int, msg types.Message, tx *types.Transaction) error { + // Save message type + err := m.db.SaveMessageType(msgtypes.NewMessageType( + msg.GetType(), + utils.GetModuleNameFromTypeURL(msg.GetType()), + utils.GetMsgFromTypeURL(msg.GetType()), + int64(tx.Height))) + + if err != nil { + return err + } + + return nil +} diff --git a/modules/message_type/module.go b/modules/message_type/module.go new file mode 100644 index 00000000..421d9a86 --- /dev/null +++ b/modules/message_type/module.go @@ -0,0 +1,33 @@ +package message_type + +import ( + "github.com/cosmos/cosmos-sdk/codec" + "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/modules/messages" + + "github.com/forbole/callisto/v4/database" +) + +var ( + _ modules.Module = &Module{} + _ modules.MessageModule = &Module{} +) + +type Module struct { + cdc codec.Codec + db *database.Db + parser messages.MessageAddressesParser +} + +func NewModule(parser messages.MessageAddressesParser, cdc codec.Codec, db *database.Db) *Module { + return &Module{ + parser: parser, + cdc: cdc, + db: db, + } +} + +// Name implements modules.Module +func (m *Module) Name() string { + return "message_type" +} diff --git a/modules/mint/handle_genesis.go b/modules/mint/handle_genesis.go index a48c55ee..c5e1f56b 100644 --- a/modules/mint/handle_genesis.go +++ b/modules/mint/handle_genesis.go @@ -6,7 +6,7 @@ import ( 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 0a926f8b..25895135 100644 --- a/modules/mint/handle_periodic_operations.go +++ b/modules/mint/handle_periodic_operations.go @@ -1,7 +1,7 @@ package mint import ( - "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/callisto/v4/modules/utils" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" diff --git a/modules/mint/module.go b/modules/mint/module.go index 1462dde5..7a31dd56 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/v5/modules" + "github.com/forbole/juno/v6/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 b9ec18f7..69d4dc30 100644 --- a/modules/mint/source/local/source.go +++ b/modules/mint/source/local/source.go @@ -3,11 +3,12 @@ package local import ( "fmt" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v5/node/local" + "github.com/forbole/juno/v6/node/local" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" ) var ( @@ -20,7 +21,7 @@ type Source struct { querier minttypes.QueryServer } -// NewSource returns a new Source instace +// NewSource returns a new Source instance func NewSource(source *local.Source, querier minttypes.QueryServer) *Source { return &Source{ Source: source, @@ -29,15 +30,15 @@ func NewSource(source *local.Source, querier minttypes.QueryServer) *Source { } // GetInflation implements mintsource.Source -func (s Source) GetInflation(height int64) (sdk.Dec, error) { +func (s Source) GetInflation(height int64) (math.LegacyDec, error) { ctx, err := s.LoadHeight(height) if err != nil { - return sdk.Dec{}, fmt.Errorf("error while loading height: %s", err) + return math.LegacyDec{}, fmt.Errorf("error while loading height: %s", err) } res, err := s.querier.Inflation(sdk.WrapSDKContext(ctx), &minttypes.QueryInflationRequest{}) if err != nil { - return sdk.Dec{}, err + return math.LegacyDec{}, err } return res.Inflation, nil diff --git a/modules/mint/source/remote/source.go b/modules/mint/source/remote/source.go index 8471e6c5..e5fda6aa 100644 --- a/modules/mint/source/remote/source.go +++ b/modules/mint/source/remote/source.go @@ -1,11 +1,11 @@ package remote import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + mintsource "github.com/forbole/callisto/v4/modules/mint/source" ) var ( @@ -27,10 +27,10 @@ func NewSource(source *remote.Source, querier minttypes.QueryClient) *Source { } // GetInflation implements mintsource.Source -func (s Source) GetInflation(height int64) (sdk.Dec, error) { +func (s Source) GetInflation(height int64) (math.LegacyDec, error) { res, err := s.querier.Inflation(remote.GetHeightRequestContext(s.Ctx, height), &minttypes.QueryInflationRequest{}) if err != nil { - return sdk.Dec{}, err + return math.LegacyDec{}, err } return res.Inflation, nil diff --git a/modules/mint/source/source.go b/modules/mint/source/source.go index 04ce0b03..3cdde980 100644 --- a/modules/mint/source/source.go +++ b/modules/mint/source/source.go @@ -1,11 +1,11 @@ package source import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" ) type Source interface { - GetInflation(height int64) (sdk.Dec, error) + GetInflation(height int64) (math.LegacyDec, error) Params(height int64) (minttypes.Params, error) } diff --git a/modules/mint/utils_params.go b/modules/mint/utils_params.go index af480570..f8dcc4d8 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 ae22fb7c..54b08aa7 100644 --- a/modules/modules/module.go +++ b/modules/modules/module.go @@ -1,10 +1,10 @@ package modules import ( - "github.com/forbole/juno/v5/modules" - "github.com/forbole/juno/v5/types/config" + "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/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 eedd0f68..db03cec0 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 @@ -58,7 +58,7 @@ func queryCoinGecko(endpoint string, ptr interface{}) error { err = json.Unmarshal(bz, &ptr) if err != nil { - return fmt.Errorf("error while unmarshaling response body: %s", err) + return fmt.Errorf("error while unmarshalling response body: %s", err) } return nil diff --git a/modules/pricefeed/coingecko/apis_test.go b/modules/pricefeed/coingecko/apis_test.go index 5164f6f5..7da79083 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 db3819e8..2b2f8842 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 944a2cbb..5265caba 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 0b893ffa..28125b3e 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 21b42634..13b523f8 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/v5/types/config" + "github.com/forbole/juno/v6/types/config" - "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/callisto/v4/database" - "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( diff --git a/modules/registrar.go b/modules/registrar.go index fcfda3e4..dcc84a7e 100644 --- a/modules/registrar.go +++ b/modules/registrar.go @@ -1,44 +1,47 @@ package modules import ( - "github.com/forbole/bdjuno/v4/modules/actions" - "github.com/forbole/bdjuno/v4/modules/types" - "github.com/forbole/bdjuno/v4/modules/wasm" + "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v5/modules/pruning" - "github.com/forbole/juno/v5/modules/telemetry" + "github.com/forbole/callisto/v4/modules/actions" + "github.com/forbole/callisto/v4/modules/external" + "github.com/forbole/callisto/v4/modules/types" + "github.com/forbole/callisto/v4/modules/wasm" - "github.com/forbole/bdjuno/v4/modules/slashing" + "github.com/forbole/juno/v6/modules/pruning" + "github.com/forbole/juno/v6/modules/telemetry" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - jmodules "github.com/forbole/juno/v5/modules" - "github.com/forbole/juno/v5/modules/messages" - "github.com/forbole/juno/v5/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/external" - "github.com/forbole/bdjuno/v4/modules/gov" - "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" - "github.com/forbole/bdjuno/v4/modules/upgrade" + "github.com/forbole/callisto/v4/modules/slashing" + + jmodules "github.com/forbole/juno/v6/modules" + "github.com/forbole/juno/v6/modules/messages" + "github.com/forbole/juno/v6/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" + + juno "github.com/forbole/juno/v6/types" + + 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/staking" + "github.com/forbole/callisto/v4/modules/upgrade" ) // UniqueAddressesParser returns a wrapper around the given parser that removes all duplicated addresses func UniqueAddressesParser(parser messages.MessageAddressesParser) messages.MessageAddressesParser { - return func(cdc codec.Codec, msg sdk.Msg) ([]string, error) { - addresses, err := parser(cdc, msg) + return func(tx *juno.Transaction) ([]string, error) { + addresses, err := parser(tx) if err != nil { return nil, err } @@ -56,43 +59,45 @@ var ( // Registrar represents the modules.Registrar that allows to register all modules that are supported by BigDipper type Registrar struct { parser messages.MessageAddressesParser + cdc codec.Codec } // NewRegistrar allows to build a new Registrar instance -func NewRegistrar(parser messages.MessageAddressesParser) *Registrar { +func NewRegistrar(parser messages.MessageAddressesParser, cdc codec.Codec) *Registrar { return &Registrar{ parser: UniqueAddressesParser(parser), + cdc: cdc, } } // BuildModules implements modules.Registrar func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { - cdc := ctx.EncodingConfig.Codec db := database.Cast(ctx.Database) - sources, err := types.BuildSources(ctx.JunoConfig.Node, ctx.EncodingConfig) + sources, err := types.BuildSources(ctx.JunoConfig.Node, r.cdc) if err != nil { panic(err) } - actionsModule := actions.NewModule(ctx.JunoConfig, ctx.EncodingConfig, db) - authModule := auth.NewModule(r.parser, cdc, db) - bankModule := bank.NewModule(r.parser, sources.BankSource, cdc, db) + actionsModule := actions.NewModule(ctx.JunoConfig, r.cdc, sources, db) + authModule := auth.NewModule(r.parser, r.cdc, db) + bankModule := bank.NewModule(r.parser, sources.BankSource, r.cdc, db) consensusModule := consensus.NewModule(db) dailyRefetchModule := dailyrefetch.NewModule(ctx.Proxy, db) - distrModule := distribution.NewModule(sources.DistrSource, cdc, db) - feegrantModule := feegrant.NewModule(cdc, db) - mintModule := mint.NewModule(sources.MintSource, cdc, db) - slashingModule := slashing.NewModule(sources.SlashingSource, cdc, db) - stakingModule := staking.NewModule(sources.StakingSource, cdc, db) - govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, cdc, db) - wasmModule := wasm.NewModule(sources.WasmSource, cdc, db) + distrModule := distribution.NewModule(sources.DistrSource, r.cdc, db) + feegrantModule := feegrant.NewModule(r.cdc, db) + messagetypeModule := messagetype.NewModule(r.parser, r.cdc, db) + mintModule := mint.NewModule(sources.MintSource, r.cdc, db) + slashingModule := slashing.NewModule(sources.SlashingSource, r.cdc, db) + stakingModule := staking.NewModule(sources.StakingSource, r.cdc, db) + govModule := gov.NewModule(sources.GovSource, distrModule, mintModule, slashingModule, stakingModule, r.cdc, db) + wasmModule := wasm.NewModule(sources.WasmSource, r.cdc, db) upgradeModule := upgrade.NewModule(db, stakingModule) - externalModule := external.NewModule(ctx.JunoConfig, cdc, ctx.EncodingConfig.InterfaceRegistry) + externalModule := external.NewModule(ctx.JunoConfig, r.cdc, r.cdc.InterfaceRegistry()) return []jmodules.Module{ - messages.NewModule(r.parser, cdc, ctx.Database), + messages.NewModule(r.parser, ctx.Database), telemetry.NewModule(ctx.JunoConfig), pruning.NewModule(ctx.JunoConfig, db, ctx.Logger), @@ -105,8 +110,9 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { feegrantModule, govModule, mintModule, + messagetypeModule, modules.NewModule(ctx.JunoConfig.Chain, db), - pricefeed.NewModule(ctx.JunoConfig, cdc, db), + pricefeed.NewModule(ctx.JunoConfig, r.cdc, db), slashingModule, stakingModule, wasmModule, diff --git a/modules/slashing/handle_block.go b/modules/slashing/handle_block.go index 928f8377..3f4dc309 100644 --- a/modules/slashing/handle_block.go +++ b/modules/slashing/handle_block.go @@ -3,7 +3,7 @@ package slashing import ( "fmt" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" @@ -11,7 +11,7 @@ import ( // HandleBlock implements BlockModule func (m *Module) HandleBlock( - block *tmctypes.ResultBlock, results *tmctypes.ResultBlockResults, _ []*juno.Tx, _ *tmctypes.ResultValidators, + block *tmctypes.ResultBlock, results *tmctypes.ResultBlockResults, _ []*juno.Transaction, _ *tmctypes.ResultValidators, ) error { // Update the signing infos err := m.updateSigningInfo(block.Block.Height) diff --git a/modules/slashing/handle_genesis.go b/modules/slashing/handle_genesis.go index b5ee5e68..be1d10d7 100644 --- a/modules/slashing/handle_genesis.go +++ b/modules/slashing/handle_genesis.go @@ -6,7 +6,7 @@ import ( 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 70ada3ee..00d9a423 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/v5/modules" + "github.com/forbole/juno/v6/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 95271bea..2783f250 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/v5/node/local" + "github.com/forbole/juno/v6/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 89722d2a..f0af359f 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/v5/node/remote" + "github.com/forbole/juno/v6/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 1e4c468b..fff588d3 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 fe07c315..17d832d8 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 741e16b5..819f7b43 100644 --- a/modules/staking/handle_block.go +++ b/modules/staking/handle_block.go @@ -4,9 +4,9 @@ import ( "encoding/hex" "fmt" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" tmctypes "github.com/cometbft/cometbft/rpc/core/types" tmtypes "github.com/cometbft/cometbft/types" @@ -15,7 +15,7 @@ import ( // HandleBlock implements BlockModule func (m *Module) HandleBlock( - block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Tx, vals *tmctypes.ResultValidators, + block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Transaction, vals *tmctypes.ResultValidators, ) error { // Update the validators _, err := m.updateValidators(block.Block.Height) diff --git a/modules/staking/handle_genesis.go b/modules/staking/handle_genesis.go index c01f2895..d59464a6 100644 --- a/modules/staking/handle_genesis.go +++ b/modules/staking/handle_genesis.go @@ -6,7 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" tmtypes "github.com/cometbft/cometbft/types" @@ -24,7 +24,7 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json var genState stakingtypes.GenesisState err := m.cdc.UnmarshalJSON(appState[stakingtypes.ModuleName], &genState) if err != nil { - return fmt.Errorf("error while unmarshaling staking state: %s", err) + return fmt.Errorf("error while unmarshalling staking state: %s", err) } // Save the params @@ -95,7 +95,7 @@ func (m *Module) parseGenesisTransactions(doc *tmtypes.GenesisDoc, appState map[ // -------------------------------------------------------------------------------------------------------------------- // saveValidators stores the validators data present inside the given genesis state -func (m *Module) saveValidators(doc *tmtypes.GenesisDoc, validators stakingtypes.Validators) error { +func (m *Module) saveValidators(doc *tmtypes.GenesisDoc, validators []stakingtypes.Validator) error { vals := make([]types.Validator, len(validators)) for i, val := range validators { validator, err := m.convertValidator(doc.InitialHeight, val) @@ -110,7 +110,7 @@ func (m *Module) saveValidators(doc *tmtypes.GenesisDoc, validators stakingtypes } // saveValidatorDescription saves the description for the given validators -func (m *Module) saveValidatorDescription(doc *tmtypes.GenesisDoc, validators stakingtypes.Validators) error { +func (m *Module) saveValidatorDescription(doc *tmtypes.GenesisDoc, validators []stakingtypes.Validator) error { for _, account := range validators { description := m.convertValidatorDescription( doc.InitialHeight, @@ -130,7 +130,7 @@ func (m *Module) saveValidatorDescription(doc *tmtypes.GenesisDoc, validators st // -------------------------------------------------------------------------------------------------------------------- // saveValidatorsCommissions save the initial commission for each validator -func (m *Module) saveValidatorsCommissions(height int64, validators stakingtypes.Validators) error { +func (m *Module) saveValidatorsCommissions(height int64, validators []stakingtypes.Validator) error { for _, account := range validators { commissionRate := account.Commission.Rate minSelfDelegation := account.MinSelfDelegation diff --git a/modules/staking/handle_msg.go b/modules/staking/handle_msg.go index d463a0d1..866cbbd1 100644 --- a/modules/staking/handle_msg.go +++ b/modules/staking/handle_msg.go @@ -3,41 +3,54 @@ package staking import ( "fmt" - "github.com/cosmos/cosmos-sdk/x/authz" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/rs/zerolog/log" - sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" + + "github.com/forbole/callisto/v4/utils" ) +var msgFilter = map[string]bool{ + "/cosmos.staking.v1beta1.MsgCreateValidator": true, + "/cosmos.staking.v1beta1.MsgEditValidator": true, + "/cosmos.staking.v1beta1.MsgDelegate": true, + "/cosmos.staking.v1beta1.MsgUndelegate": true, + "/cosmos.staking.v1beta1.MsgBeginRedelegate": true, +} + // HandleMsgExec implements modules.AuthzMessageModule -func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { return m.HandleMsg(index, executedMsg, tx) } // HandleMsg implements MessageModule -func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { - if len(tx.Logs) == 0 { +func (m *Module) HandleMsg(_ int, msg juno.Message, tx *juno.Transaction) error { + if _, ok := msgFilter[msg.GetType()]; !ok { return nil } - switch cosmosMsg := msg.(type) { - case *stakingtypes.MsgCreateValidator: - return m.handleMsgCreateValidator(tx.Height, cosmosMsg) + log.Debug().Str("module", "staking").Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling staking message %s", msg.GetType())) + + switch msg.GetType() { + case "/cosmos.staking.v1beta1.MsgCreateValidator": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &stakingtypes.MsgCreateValidator{}) + return m.handleMsgCreateValidator(int64(tx.Height), cosmosMsg) - case *stakingtypes.MsgEditValidator: - return m.handleEditValidator(tx.Height, cosmosMsg) + case "/cosmos.staking.v1beta1.MsgEditValidator": + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &stakingtypes.MsgEditValidator{}) + return m.handleEditValidator(int64(tx.Height), cosmosMsg) // update validators statuses, voting power // and proposals validators satatus snapshots // when there is a voting power change - case *stakingtypes.MsgDelegate: + case "/cosmos.staking.v1beta1.MsgDelegate": return m.UpdateValidatorStatuses() - case *stakingtypes.MsgBeginRedelegate: + case "/cosmos.staking.v1beta1.MsgBeginRedelegate": return m.UpdateValidatorStatuses() - case *stakingtypes.MsgUndelegate: + case "/cosmos.staking.v1beta1.MsgUndelegate": return m.UpdateValidatorStatuses() } diff --git a/modules/staking/handle_periodic_operations.go b/modules/staking/handle_periodic_operations.go index 646ca2d2..884d06ca 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 diff --git a/modules/staking/keybase/apis.go b/modules/staking/keybase/apis.go index 3ec8969e..fd1f0cbf 100644 --- a/modules/staking/keybase/apis.go +++ b/modules/staking/keybase/apis.go @@ -58,7 +58,7 @@ func queryKeyBase(endpoint string, ptr interface{}) error { err = json.Unmarshal(bz, &ptr) if err != nil { - return fmt.Errorf("error while unmarshaling response body: %s", err) + return fmt.Errorf("error while unmarshalling response body: %s", err) } return nil diff --git a/modules/staking/module.go b/modules/staking/module.go index c92c6735..2b30e078 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/v5/modules" + "github.com/forbole/juno/v6/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 d1d1825f..042cf56a 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/v5/node/local" + "github.com/forbole/juno/v6/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 dd1d51fa..e305ab3f 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/v5/node/remote" + "github.com/forbole/juno/v6/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 3af79ff5..c126a17f 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/v5/node/remote" + "github.com/forbole/juno/v6/node/remote" - "github.com/forbole/bdjuno/v4/utils" + "github.com/forbole/callisto/v4/utils" ) // GetDelegationsWithPagination implements stakingsource.Source diff --git a/modules/staking/utils_gentx.go b/modules/staking/utils_gentx.go index 42726c63..bbe5c206 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 eff89883..9c16f63a 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 3cc64cbb..8a9da70b 100644 --- a/modules/staking/utils_staking_pool.go +++ b/modules/staking/utils_staking_pool.go @@ -3,11 +3,11 @@ package staking import ( "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "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) { @@ -21,7 +21,7 @@ func (m *Module) GetStakingPool(height int64) (*types.Pool, error) { return nil, fmt.Errorf("error while getting validators list: %s", err) } - var unbondingTokens = sdk.NewInt(0) + var unbondingTokens = math.NewInt(0) for _, validator := range validatorsList { // get list of all unbonding delegations for each validator diff --git a/modules/staking/utils_validators.go b/modules/staking/utils_validators.go index 30ae17f4..2c1c88ed 100644 --- a/modules/staking/utils_validators.go +++ b/modules/staking/utils_validators.go @@ -3,8 +3,8 @@ package staking import ( "fmt" - "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" "github.com/rs/zerolog/log" @@ -32,7 +32,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 { @@ -247,7 +247,7 @@ func (m *Module) updateProposalValidatorStatusSnapshot( snapshots := make([]types.ProposalValidatorStatusSnapshot, len(validators)) for index, validator := range validators { - consAddr, err := validator.GetConsAddr() + consAddr, err := m.getValidatorConsAddr(validator) if err != nil { return err } @@ -274,7 +274,7 @@ func (m *Module) updateValidatorStatusAndVP(height int64, validators []stakingty statuses := make([]types.ValidatorStatus, len(validators)) for index, validator := range validators { - consAddr, err := validator.GetConsAddr() + consAddr, err := m.getValidatorConsAddr(validator) if err != nil { return err } diff --git a/modules/types/sources.go b/modules/types/sources.go index fb25c15e..fbb77cff 100644 --- a/modules/types/sources.go +++ b/modules/types/sources.go @@ -5,45 +5,49 @@ import ( "os" wasmapp "github.com/CosmWasm/wasmd/app" - - "cosmossdk.io/simapp" - "cosmossdk.io/simapp/params" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - "github.com/cometbft/cometbft/libs/log" - "github.com/forbole/juno/v5/node/remote" - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + "github.com/forbole/callisto/v4/utils/simapp" + "github.com/forbole/juno/v6/node/remote" + + "cosmossdk.io/log" + + "github.com/cosmos/cosmos-sdk/codec" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" 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/v5/node/local" - - nodeconfig "github.com/forbole/juno/v5/node/config" - - 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" - 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" - wasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source" - localwasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source/local" - remotewasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source/remote" + "github.com/forbole/juno/v6/node/local" + + nodeconfig "github.com/forbole/juno/v6/node/config" + + 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" + wasmsource "github.com/forbole/callisto/v4/modules/wasm/source" + localwasmsource "github.com/forbole/callisto/v4/modules/wasm/source/local" + remotewasmsource "github.com/forbole/callisto/v4/modules/wasm/source/remote" ) type Sources struct { @@ -56,27 +60,25 @@ type Sources struct { WasmSource wasmsource.Source } -func BuildSources(nodeCfg nodeconfig.Config, encodingConfig *params.EncodingConfig) (*Sources, error) { +func BuildSources(nodeCfg nodeconfig.Config, cdc codec.Codec) (*Sources, error) { switch cfg := nodeCfg.Details.(type) { case *remote.Details: return buildRemoteSources(cfg) case *local.Details: - return buildLocalSources(cfg, encodingConfig) + return buildLocalSources(cfg, cdc) default: return nil, fmt.Errorf("invalid configuration type: %T", cfg) } } -func buildLocalSources(cfg *local.Details, encodingConfig *params.EncodingConfig) (*Sources, error) { - source, err := local.NewSource(cfg.Home, encodingConfig) +func buildLocalSources(cfg *local.Details, cdc codec.Codec) (*Sources, error) { + source, err := local.NewSource(cfg.Home, cdc) if err != nil { return nil, err } - app := simapp.NewSimApp( - log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, nil, nil, - ) + app := simapp.NewSimApp(cdc) var emptyWasmOpts []wasmkeeper.Option /* @@ -86,13 +88,13 @@ func buildLocalSources(cfg *local.Details, encodingConfig *params.EncodingConfig ) */ - wasmApp := wasmapp.NewWasmApp(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, nil, emptyWasmOpts, nil) + wasmApp := wasmapp.NewWasmApp(log.NewLogger(os.Stdout), source.StoreDB, nil, true, nil, emptyWasmOpts, nil) sources := &Sources{ - BankSource: localbanksource.NewSource(source, banktypes.QueryServer(app.BankKeeper)), - // DistrSource: localdistrsource.NewSource(source, distrtypes.QueryServer(app.DistrKeeper)), - GovSource: localgovsource.NewSource(source, govtypesv1.QueryServer(app.GovKeeper)), - MintSource: localmintsource.NewSource(source, minttypes.QueryServer(app.MintKeeper)), + BankSource: localbanksource.NewSource(source, banktypes.QueryServer(app.BankKeeper)), + DistrSource: localdistrsource.NewSource(source, distrkeeper.NewQuerier(app.DistrKeeper)), + GovSource: localgovsource.NewSource(source, govkeeper.NewQueryServer(&app.GovKeeper)), + MintSource: localmintsource.NewSource(source, mintkeeper.NewQueryServerImpl(app.MintKeeper)), SlashingSource: localslashingsource.NewSource(source, slashingtypes.QueryServer(app.SlashingKeeper)), StakingSource: localstakingsource.NewSource(source, stakingkeeper.Querier{Keeper: app.StakingKeeper}), WasmSource: localwasmsource.NewSource(source, wasmkeeper.Querier(&wasmApp.WasmKeeper)), @@ -104,16 +106,6 @@ func buildLocalSources(cfg *local.Details, encodingConfig *params.EncodingConfig return nil, err } - err = source.MountTransientStores(app, "tkeys") - if err != nil { - return nil, err - } - - err = source.MountMemoryStores(app, "memKeys") - if err != nil { - return nil, err - } - err = source.InitStores() if err != nil { return nil, err diff --git a/modules/upgrade/handle_block.go b/modules/upgrade/handle_block.go index c5ca62fd..5169e891 100644 --- a/modules/upgrade/handle_block.go +++ b/modules/upgrade/handle_block.go @@ -3,14 +3,14 @@ package upgrade import ( "fmt" - "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" tmctypes "github.com/cometbft/cometbft/rpc/core/types" ) // HandleBlock implements modules.Module func (m *Module) HandleBlock( - b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*types.Tx, _ *tmctypes.ResultValidators, + b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*juno.Transaction, _ *tmctypes.ResultValidators, ) error { err := m.refreshDataUponSoftwareUpgrade(b.Block.Height) if err != nil { diff --git a/modules/upgrade/module.go b/modules/upgrade/module.go index 463c3fa1..bc83cf89 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/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( diff --git a/modules/utils/addresses_test.go b/modules/utils/addresses_test.go index 303f7814..0d158098 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/message_type.go b/modules/utils/message_type.go new file mode 100644 index 00000000..9b114d91 --- /dev/null +++ b/modules/utils/message_type.go @@ -0,0 +1,30 @@ +package utils + +import ( + "fmt" + "strings" +) + +func GetModuleNameFromTypeURL(input string) string { + moduleName := strings.Split(input, ".") + if len(moduleName) > 1 { + switch { + case strings.Contains(moduleName[0], "cosmos"): + return moduleName[1] // e.g. "cosmos.bank.v1beta1.MsgSend" => "bank" + case strings.Contains(moduleName[0], "ibc"): + return fmt.Sprintf("%s %s %s", moduleName[0], moduleName[1], moduleName[2]) // e.g. "ibc.core.client.v1.MsgUpdateClient" => "ibc core client" + default: + return fmt.Sprintf("%s %s", moduleName[0], moduleName[1]) // e.g. "cosmwasm.wasm.v1.MsgExecuteContract" => "cosmwasm wasm" + } + } + + return "" +} + +func GetMsgFromTypeURL(input string) string { + messageName := strings.Split(input, ".") + if len(messageName) > 1 { + return messageName[len(messageName)-1] // e.g. "cosmos.bank.v1beta1.MsgSend" => "MsgSend" + } + return "" +} diff --git a/modules/wasm/handle_block.go b/modules/wasm/handle_block.go index 909f7a4d..dfa3c102 100644 --- a/modules/wasm/handle_block.go +++ b/modules/wasm/handle_block.go @@ -2,10 +2,10 @@ package wasm import ( tmctypes "github.com/cometbft/cometbft/rpc/core/types" - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" ) // HandleBlock implements modules.BlockModule -func (m *Module) HandleBlock(block *tmctypes.ResultBlock, results *tmctypes.ResultBlockResults, txs []*juno.Tx, vals *tmctypes.ResultValidators) error { +func (m *Module) HandleBlock(block *tmctypes.ResultBlock, results *tmctypes.ResultBlockResults, txs []*juno.Transaction, vals *tmctypes.ResultValidators) error { return nil } diff --git a/modules/wasm/handle_genesis.go b/modules/wasm/handle_genesis.go index 7499074b..5cf6a448 100644 --- a/modules/wasm/handle_genesis.go +++ b/modules/wasm/handle_genesis.go @@ -5,7 +5,7 @@ import ( "fmt" tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v4/types" + "github.com/forbole/callisto/v4/types" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" "github.com/rs/zerolog/log" @@ -65,7 +65,7 @@ func (m *Module) SaveGenesisCodes(codes []wasmtypes.Code, initHeight int64) erro for _, code := range codes { if code.CodeID != 0 { wasmCodes = append(wasmCodes, types.NewWasmCode( - "", code.CodeBytes, &code.CodeInfo.InstantiateConfig, code.CodeID, initHeight, + "", code.CodeBytes, &code.CodeInfo.InstantiateConfig, code.CodeID, initHeight, // #nosec G601 )) } } diff --git a/modules/wasm/handle_msg.go b/modules/wasm/handle_msg.go index a4a17833..ba252e2e 100644 --- a/modules/wasm/handle_msg.go +++ b/modules/wasm/handle_msg.go @@ -9,65 +9,96 @@ import ( "github.com/rs/zerolog/log" + "github.com/forbole/callisto/v4/utils" + eventutils "github.com/forbole/callisto/v4/utils/events" "github.com/ohler55/ojg/oj" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v4/types" - juno "github.com/forbole/juno/v5/types" + "github.com/forbole/callisto/v4/types" + juno "github.com/forbole/juno/v6/types" ) -// HandleMsg implements modules.MessageModule -func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { - log.Trace().Str("txhash", tx.TxHash).Msg("wasm HandleMsg") +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ int, executedMsg juno.Message, tx *juno.Transaction) error { + return m.HandleMsg(index, executedMsg, tx) - if len(tx.Logs) == 0 { - return nil - } +} + +func (m *Module) HandleMsg(index int, msg juno.Message, tx *juno.Transaction) error { + + log.Trace().Str("module", wasmtypes.ModuleName).Str("hash", tx.TxHash).Uint64("height", tx.Height).Msg(fmt.Sprintf("handling wasm message %s", msg.GetType())) - switch cosmosMsg := msg.(type) { - case *wasmtypes.MsgStoreCode: + switch msg.GetType() { + + case "/cosmwasm.wasm.v1.MsgStoreCode": + log.Trace().Msg(fmt.Sprintf("Handling a MsgStoreCode message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgStoreCode{}) err := m.HandleMsgStoreCode(index, tx, cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgStoreCode: %s", err) + return fmt.Errorf("error while handling MsgStoreCode: %w", err) } - case *wasmtypes.MsgInstantiateContract: - err := m.HandleMsgInstantiateContract(index, tx, cosmosMsg) + + case "/cosmwasm.wasm.v1.MsgExecuteContract": + log.Trace().Msg(fmt.Sprintf("Handling a execute message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgExecuteContract{}) + err := m.HandleMsgExecuteContract(index, tx, cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgInstantiateContract: %s", err) + return fmt.Errorf("error while handling MsgExecuteContract: %w", err) } - case *wasmtypes.MsgExecuteContract: - err := m.HandleMsgExecuteContract(index, tx, cosmosMsg) + + case "/cosmwasm.wasm.v1.MsgInstantiateContract": + log.Trace().Msg(fmt.Sprintf("Handling an instantiate message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgInstantiateContract{}) + err := m.HandleMsgInstantiateContract(index, tx, cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgExecuteContract: %s", err) + return fmt.Errorf("error while handling MsgInstantiateContract: %w", err) } - case *wasmtypes.MsgMigrateContract: + + case "/cosmwasm.wasm.v1.MsgMigrateContract": + log.Trace().Msg(fmt.Sprintf("Handling an execute message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgMigrateContract{}) err := m.HandleMsgMigrateContract(index, tx, cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgMigrateContract: %s", err) + return fmt.Errorf("error while handling MsgMigrateContract: %w", err) } - case *wasmtypes.MsgUpdateAdmin: + + case "/cosmwasm.wasm.v1.MsgUpdateAdmin": + log.Trace().Msg(fmt.Sprintf("Handling a MsgUpdateAdmin message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgUpdateAdmin{}) err := m.HandleMsgUpdateAdmin(cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgUpdateAdmin: %s", err) + return fmt.Errorf("error while handling MsgUpdateAdmin: %w", err) } - case *wasmtypes.MsgClearAdmin: + + case "/cosmwasm.wasm.v1.MsgClearAdmin": + log.Trace().Msg(fmt.Sprintf("Handling a MsgClearAdmin message %s", msg.GetType())) + cosmosMsg := utils.UnpackMessage(m.cdc, msg.GetBytes(), &wasmtypes.MsgClearAdmin{}) err := m.HandleMsgClearAdmin(cosmosMsg) + if err != nil { - return fmt.Errorf("error while handling MsgClearAdmin: %s", err) + return fmt.Errorf("error while handling MsgClearAdmin: %w", err) } + } return nil + } // HandleMsgStoreCode allows to properly handle a MsgStoreCode // The Store Code Event is to upload the contract code on the chain, where a Code ID is returned -func (m *Module) HandleMsgStoreCode(index int, tx *juno.Tx, msg *wasmtypes.MsgStoreCode) error { +func (m *Module) HandleMsgStoreCode(index int, tx *juno.Transaction, msg *wasmtypes.MsgStoreCode) error { // Get store code event - event, err := tx.FindEventByType(index, wasmtypes.EventTypeStoreCode) - if err != nil { - return fmt.Errorf("error while searching for EventTypeInstantiate: %s", err) + event, success := eventutils.FindEventByType(sdk.StringifyEvents(tx.Events), wasmtypes.EventTypeStoreCode) + + if !success { + return fmt.Errorf("error while searching for EventTypeStorecode in %s", tx.TxHash) } // Get code ID from store code event @@ -83,18 +114,19 @@ func (m *Module) HandleMsgStoreCode(index int, tx *juno.Tx, msg *wasmtypes.MsgSt return m.db.SaveWasmCode( types.NewWasmCode( - msg.Sender, msg.WASMByteCode, msg.InstantiatePermission, codeID, tx.Height, + msg.Sender, msg.WASMByteCode, msg.InstantiatePermission, codeID, int64(tx.Height), ), ) } // HandleMsgInstantiateContract allows to properly handle a MsgInstantiateContract // Instantiate Contract Event instantiates an executable contract with the code previously stored with Store Code Event -func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Tx, msg *wasmtypes.MsgInstantiateContract) error { +func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Transaction, msg *wasmtypes.MsgInstantiateContract) error { // Get instantiate contract event - event, err := tx.FindEventByType(index, wasmtypes.EventTypeInstantiate) - if err != nil { - return fmt.Errorf("error while searching for EventTypeInstantiate: %s", err) + event, success := eventutils.FindEventByType(sdk.StringifyEvents(tx.Events), wasmtypes.EventTypeInstantiate) + + if !success { + return fmt.Errorf("error while searching for EventTypeInstantiate in %s", tx.TxHash) } // Get contract address @@ -114,7 +146,7 @@ func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Tx, msg *wasmt } // Get the contract info - contractInfo, err := m.source.GetContractInfo(tx.Height, contractAddress) + contractInfo, err := m.source.GetContractInfo(int64(tx.Height), contractAddress) if err != nil { return fmt.Errorf("error while getting proposal: %s", err) } @@ -136,7 +168,7 @@ func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Tx, msg *wasmt } // Get contract states - contractStates, err := m.source.GetContractStates(tx.Height, contractAddress) + contractStates, err := m.source.GetContractStates(int64(tx.Height), contractAddress) if err != nil { return fmt.Errorf("error while getting genesis contract states: %s", err) } @@ -144,7 +176,7 @@ func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Tx, msg *wasmt contract := types.NewWasmContract( msg.Sender, msg.Admin, msg.CodeID, msg.Label, msg.Msg, msg.Funds, contractAddress, string(resultDataBz), timestamp, - contractInfo.Creator, contractInfoExt, contractStates, tx.Height, + contractInfo.Creator, contractInfoExt, contractStates, int64(tx.Height), ) return m.db.SaveWasmContracts( []types.WasmContract{contract}, @@ -153,15 +185,16 @@ func (m *Module) HandleMsgInstantiateContract(index int, tx *juno.Tx, msg *wasmt // HandleMsgExecuteContract allows to properly handle a MsgExecuteContract // Execute Event executes an instantiated contract -func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Tx, msg *wasmtypes.MsgExecuteContract) error { +func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Transaction, msg *wasmtypes.MsgExecuteContract) error { log.Trace().Str("txhash", tx.TxHash).Msg("wasm HandleMsgExecuteContract") - // - // parse the ExecuteContract message body - // + // Parse the ExecuteContract message body msgJSON, err := oj.ParseString(string(msg.Msg)) + if err != nil { + return fmt.Errorf("error while parsing message JSON: %s", err) + } - // use reflection to get the message name by pulling the 1st field name from the JSON struct + // Use reflection to get the message name by pulling the 1st field name from the JSON struct messageName := "" v := reflect.ValueOf(msgJSON) if v.Len() == 1 && len(v.MapKeys()) == 1 { @@ -170,18 +203,21 @@ func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Tx, msg *wasmtypes log.Warn().Str("txhash", tx.TxHash).Str("messageJson", string(msg.Msg)).Msg("Unable to parse message name from JSON") } - // skip some message types: - // - `write_k_v` will bloat the pgsql database with contract state imports + // Skip some message types if messageName == "write_k_v" { log.Trace().Str("txhash", tx.TxHash).Str("messageName", messageName).Msg("Skipping contract message") - return err + return nil } + log.Trace().Uint64("height", tx.Height).Int("index", index).Str("txhash", tx.TxHash).Str("messageName", messageName).Msg("Processing contract message") - log.Debug().Int64("height", tx.Height).Str("txhash", tx.TxHash).Str("messageName", messageName).Msg("Processing contract message") + // Check if events slice is not empty and index is within range + if index >= len(tx.Events) { + return fmt.Errorf("index out of range: %d, events length: %d", index, len(tx.Events)) + } - // Get Execute Contract event - event, err := tx.FindEventByType(index, wasmtypes.EventTypeExecute) - if err != nil { + event, success := eventutils.FindEventByType(sdk.StringifyEvents(tx.Events), wasmtypes.EventTypeExecute) + + if !success { return fmt.Errorf("error while searching for EventTypeExecute: %s", err) } @@ -212,9 +248,9 @@ func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Tx, msg *wasmtypes contractInfoLabel := "" // Check if there is a record of the contract, otherwise look it up - contractInfo, err := m.source.GetContractInfo(tx.Height, contractAddress) + contractInfo, err := m.source.GetContractInfo(int64(tx.Height), contractAddress) if err != nil { - log.Trace().Str("contractAddress", contractAddress).Int64("height", tx.Height).Msg("Unable to get contract info, using default values...") + log.Trace().Str("contractAddress", contractAddress).Uint64("height", tx.Height).Msg("Unable to get contract info, using default values...") } else { contractInfoCreator = contractInfo.Creator contractInfoAdmin = contractInfo.Admin @@ -288,7 +324,7 @@ func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Tx, msg *wasmtypes execute := types.NewWasmExecuteContract( msg.Sender, msg.Contract, msg.Msg, msg.Funds, - string(resultDataBz), timestamp, tx.Height, tx.TxHash, + string(resultDataBz), timestamp, int64(tx.Height), tx.TxHash, ) // save a record of the raw contract execution details @@ -303,16 +339,17 @@ func (m *Module) HandleMsgExecuteContract(index int, tx *juno.Tx, msg *wasmtypes log.Err(err).Msg("Could not save events for WasmExecuteContract") } - return err + return nil } // HandleMsgMigrateContract allows to properly handle a MsgMigrateContract // Migrate Contract Event upgrade the contract by updating code ID generated from new Store Code Event -func (m *Module) HandleMsgMigrateContract(index int, tx *juno.Tx, msg *wasmtypes.MsgMigrateContract) error { +func (m *Module) HandleMsgMigrateContract(index int, tx *juno.Transaction, msg *wasmtypes.MsgMigrateContract) error { // Get Migrate Contract event - event, err := tx.FindEventByType(index, wasmtypes.EventTypeMigrate) - if err != nil { - return fmt.Errorf("error while searching for EventTypeMigrate: %s", err) + event, success := eventutils.FindEventByType(sdk.StringifyEvents(tx.Events), wasmtypes.EventTypeMigrate) + + if !success { + return fmt.Errorf("error while searching for EventTypeMigrate in %s", tx.TxHash) } // Get result data diff --git a/modules/wasm/handle_tx.go b/modules/wasm/handle_tx.go index 3ebfacb0..2e0aec13 100644 --- a/modules/wasm/handle_tx.go +++ b/modules/wasm/handle_tx.go @@ -1,11 +1,11 @@ package wasm import ( - juno "github.com/forbole/juno/v5/types" + juno "github.com/forbole/juno/v6/types" ) // HandleTx implements modules.TransactionModule -func (m *Module) HandleTx(tx *juno.Tx) error { +func (m *Module) HandleTx(tx *juno.Transaction) error { // log.Debug().Str("txhash", tx.TxHash).Msg("wasm HandleTx") return nil } diff --git a/modules/wasm/module.go b/modules/wasm/module.go index 08a8567b..be971d28 100644 --- a/modules/wasm/module.go +++ b/modules/wasm/module.go @@ -3,10 +3,10 @@ package wasm import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v4/database" - wasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source" + "github.com/forbole/callisto/v4/database" + wasmsource "github.com/forbole/callisto/v4/modules/wasm/source" - "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v6/modules" ) var ( diff --git a/modules/wasm/source/local/source.go b/modules/wasm/source/local/source.go index 8d434a09..500d3a6d 100644 --- a/modules/wasm/source/local/source.go +++ b/modules/wasm/source/local/source.go @@ -6,9 +6,9 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - "github.com/forbole/juno/v5/node/local" + "github.com/forbole/juno/v6/node/local" - wasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source" + wasmsource "github.com/forbole/callisto/v4/modules/wasm/source" ) var ( diff --git a/modules/wasm/source/remote/source.go b/modules/wasm/source/remote/source.go index 1ef463a8..130f5b6f 100644 --- a/modules/wasm/source/remote/source.go +++ b/modules/wasm/source/remote/source.go @@ -5,8 +5,8 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" "github.com/cosmos/cosmos-sdk/types/query" - wasmsource "github.com/forbole/bdjuno/v4/modules/wasm/source" - "github.com/forbole/juno/v5/node/remote" + wasmsource "github.com/forbole/callisto/v4/modules/wasm/source" + "github.com/forbole/juno/v6/node/remote" ) var ( diff --git a/types/config/config.go b/types/config/config.go index c3e5abb2..95f480d0 100644 --- a/types/config/config.go +++ b/types/config/config.go @@ -1,16 +1,16 @@ package config import ( - "github.com/forbole/bdjuno/v4/modules/external" - initcmd "github.com/forbole/juno/v5/cmd/init" - junoconfig "github.com/forbole/juno/v5/types/config" + "github.com/forbole/callisto/v4/modules/external" + initcmd "github.com/forbole/juno/v6/cmd/init" + junoconfig "github.com/forbole/juno/v6/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 deleted file mode 100644 index 7549bb29..00000000 --- a/types/config/encoding.go +++ /dev/null @@ -1,31 +0,0 @@ -package config - -import ( - "cosmossdk.io/simapp/params" - "github.com/cosmos/cosmos-sdk/std" - "github.com/cosmos/cosmos-sdk/types/module" -) - -// MakeEncodingConfig creates an EncodingConfig to properly handle all the messages -func MakeEncodingConfig(managers []module.BasicManager) func() params.EncodingConfig { - return func() params.EncodingConfig { - encodingConfig := params.MakeTestEncodingConfig() - std.RegisterLegacyAminoCodec(encodingConfig.Amino) - std.RegisterInterfaces(encodingConfig.InterfaceRegistry) - manager := mergeBasicManagers(managers) - manager.RegisterLegacyAminoCodec(encodingConfig.Amino) - manager.RegisterInterfaces(encodingConfig.InterfaceRegistry) - return encodingConfig - } -} - -// mergeBasicManagers merges the given managers into a single module.BasicManager -func mergeBasicManagers(managers []module.BasicManager) module.BasicManager { - var union = module.BasicManager{} - for _, manager := range managers { - for k, v := range manager { - union[k] = v - } - } - return union -} diff --git a/types/feegrant.go b/types/feegrant.go index df266120..ddb25de6 100644 --- a/types/feegrant.go +++ b/types/feegrant.go @@ -1,6 +1,6 @@ package types -import feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" +import feegranttypes "cosmossdk.io/x/feegrant" // FeeGrant represents the x/feegrant module type FeeGrant struct { diff --git a/types/message_type.go b/types/message_type.go new file mode 100644 index 00000000..85c0ec69 --- /dev/null +++ b/types/message_type.go @@ -0,0 +1,19 @@ +package types + +// MessageType represents the data of a single message type +type MessageType struct { + Type string + Module string + Label string + Height int64 +} + +// NewMessageType allows to build a new MessageType instance +func NewMessageType(msgType string, module string, label string, height int64) *MessageType { + return &MessageType{ + Type: msgType, + Module: module, + Label: label, + Height: height, + } +} diff --git a/types/staking_pool_params.go b/types/staking_pool_params.go index ca6e5cab..49cdced4 100644 --- a/types/staking_pool_params.go +++ b/types/staking_pool_params.go @@ -1,21 +1,21 @@ package types import ( - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) // Pool contains the data of the staking pool at the given height type Pool struct { - BondedTokens sdkmath.Int - NotBondedTokens sdkmath.Int - UnbondingTokens sdkmath.Int - StakedNotBondedTokens sdkmath.Int + BondedTokens math.Int + NotBondedTokens math.Int + UnbondingTokens math.Int + StakedNotBondedTokens math.Int Height int64 } // NewPool allows to build a new Pool instance -func NewPool(bondedTokens, notBondedTokens, unbondingTokens, stakedNotBondedTokens sdkmath.Int, height int64) *Pool { +func NewPool(bondedTokens, notBondedTokens, unbondingTokens, stakedNotBondedTokens math.Int, height int64) *Pool { return &Pool{ BondedTokens: bondedTokens, NotBondedTokens: notBondedTokens, @@ -27,13 +27,13 @@ func NewPool(bondedTokens, notBondedTokens, unbondingTokens, stakedNotBondedToke // PoolSnapshot contains the data of the staking pool snapshot at the given height type PoolSnapshot struct { - BondedTokens sdkmath.Int - NotBondedTokens sdkmath.Int + BondedTokens math.Int + NotBondedTokens math.Int Height int64 } // NewPoolSnapshot allows to build a new PoolSnapshot instance -func NewPoolSnapshot(bondedTokens, notBondedTokens sdkmath.Int, height int64) *PoolSnapshot { +func NewPoolSnapshot(bondedTokens, notBondedTokens math.Int, height int64) *PoolSnapshot { return &PoolSnapshot{ BondedTokens: bondedTokens, NotBondedTokens: notBondedTokens, diff --git a/types/staking_validator.go b/types/staking_validator.go index b9049854..24665d9c 100644 --- a/types/staking_validator.go +++ b/types/staking_validator.go @@ -1,7 +1,7 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -13,8 +13,8 @@ type Validator interface { GetConsPubKey() string GetOperator() string GetSelfDelegateAddress() string - GetMaxChangeRate() *sdk.Dec - GetMaxRate() *sdk.Dec + GetMaxChangeRate() *math.LegacyDec + GetMaxRate() *math.LegacyDec GetHeight() int64 } @@ -24,16 +24,16 @@ type validator struct { ConsPubKey string OperatorAddr string SelfDelegateAddress string - MaxChangeRate *sdk.Dec - MaxRate *sdk.Dec + MaxChangeRate *math.LegacyDec + MaxRate *math.LegacyDec Height int64 } // NewValidator allows to build a new Validator implementation having the given data func NewValidator( consAddr string, opAddr string, consPubKey string, - selfDelegateAddress string, maxChangeRate *sdk.Dec, - maxRate *sdk.Dec, height int64, + selfDelegateAddress string, maxChangeRate *math.LegacyDec, + maxRate *math.LegacyDec, height int64, ) Validator { return validator{ ConsensusAddr: consAddr, @@ -64,11 +64,11 @@ func (v validator) GetSelfDelegateAddress() string { return v.SelfDelegateAddress } -func (v validator) GetMaxChangeRate() *sdk.Dec { +func (v validator) GetMaxChangeRate() *math.LegacyDec { return v.MaxChangeRate } -func (v validator) GetMaxRate() *sdk.Dec { +func (v validator) GetMaxRate() *math.LegacyDec { return v.MaxRate } @@ -104,14 +104,14 @@ func NewValidatorDescription( // ValidatorCommission contains the data of a validator commission at a given height type ValidatorCommission struct { ValAddress string - Commission *sdk.Dec - MinSelfDelegation *sdk.Int + Commission *math.LegacyDec + MinSelfDelegation *math.Int Height int64 } // NewValidatorCommission return a new validator commission instance func NewValidatorCommission( - valAddress string, rate *sdk.Dec, minSelfDelegation *sdk.Int, height int64, + valAddress string, rate *math.LegacyDec, minSelfDelegation *math.Int, height int64, ) ValidatorCommission { return ValidatorCommission{ ValAddress: valAddress, diff --git a/utils/codec.go b/utils/codec.go new file mode 100644 index 00000000..55803080 --- /dev/null +++ b/utils/codec.go @@ -0,0 +1,87 @@ +package utils + +import ( + "sync" + + "cosmossdk.io/x/evidence" + feegrantmodule "cosmossdk.io/x/feegrant/module" + "cosmossdk.io/x/upgrade" + wasm "github.com/CosmWasm/wasmd/x/wasm" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/std" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/cosmos/cosmos-sdk/x/auth" + "github.com/cosmos/cosmos-sdk/x/auth/vesting" + authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" + "github.com/cosmos/cosmos-sdk/x/bank" + consensus "github.com/cosmos/cosmos-sdk/x/consensus" + "github.com/cosmos/cosmos-sdk/x/crisis" + distr "github.com/cosmos/cosmos-sdk/x/distribution" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/gov" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" + groupmodule "github.com/cosmos/cosmos-sdk/x/group/module" + "github.com/cosmos/cosmos-sdk/x/mint" + "github.com/cosmos/cosmos-sdk/x/params" + paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" + "github.com/cosmos/cosmos-sdk/x/slashing" + "github.com/cosmos/cosmos-sdk/x/staking" + "github.com/cosmos/gogoproto/proto" +) + +var once sync.Once +var cdc *codec.ProtoCodec + +func GetCodec() codec.Codec { + once.Do(func() { + interfaceRegistry := codectypes.NewInterfaceRegistry() + getBasicManagers().RegisterInterfaces(interfaceRegistry) + std.RegisterInterfaces(interfaceRegistry) + cdc = codec.NewProtoCodec(interfaceRegistry) + }) + return cdc +} + +// getBasicManagers returns the various basic managers that are used to register the encoding to +// support custom messages. +// This should be edited by custom implementations if needed. +func getBasicManagers() module.BasicManager { + return module.NewBasicManager( + auth.AppModuleBasic{}, + genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), + bank.AppModuleBasic{}, + staking.AppModuleBasic{}, + mint.AppModuleBasic{}, + distr.AppModuleBasic{}, + gov.NewAppModuleBasic( + []govclient.ProposalHandler{ + paramsclient.ProposalHandler, + }, + ), + params.AppModuleBasic{}, + crisis.AppModuleBasic{}, + slashing.AppModuleBasic{}, + feegrantmodule.AppModuleBasic{}, + upgrade.AppModuleBasic{}, + evidence.AppModuleBasic{}, + authzmodule.AppModuleBasic{}, + groupmodule.AppModuleBasic{}, + vesting.AppModuleBasic{}, + consensus.AppModuleBasic{}, + wasm.AppModuleBasic{}, + ) +} + +// UnpackMessage unpacks a message from a byte slice +func UnpackMessage[T proto.Message](cdc codec.Codec, bz []byte, ptr T) T { + var any codectypes.Any + cdc.MustUnmarshalJSON(bz, &any) + var cosmosMsg sdk.Msg + if err := cdc.UnpackAny(&any, &cosmosMsg); err != nil { + panic(err) + } + return cosmosMsg.(T) +} diff --git a/utils/codec_test.go b/utils/codec_test.go new file mode 100644 index 00000000..0c43edc1 --- /dev/null +++ b/utils/codec_test.go @@ -0,0 +1,19 @@ +package utils + +import ( + "testing" + + govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/stretchr/testify/require" +) + +func TestUnpackMessage(t *testing.T) { + msgBz := []byte("{\"@type\":\"/cosmos.gov.v1beta1.MsgVote\",\"proposal_id\":\"797\",\"voter\":\"osmo1qk74379nc34ynvc4gmw2zrwlscn62mx5wps5xj\",\"option\":\"VOTE_OPTION_YES\"}") + cdc := GetCodec() + cosmosMsg := UnpackMessage(cdc, msgBz, &govtypesv1beta1.MsgVote{}) + require.Equal(t, &govtypesv1beta1.MsgVote{ + ProposalId: 797, + Voter: "osmo1qk74379nc34ynvc4gmw2zrwlscn62mx5wps5xj", + Option: govtypesv1beta1.OptionYes, + }, cosmosMsg) +} diff --git a/utils/events/events.go b/utils/events/events.go new file mode 100644 index 00000000..3637a82f --- /dev/null +++ b/utils/events/events.go @@ -0,0 +1,43 @@ +package events + +import ( + "strconv" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// FindEventByType returns the event with the given type +func FindEventByType(events sdk.StringEvents, eventType string) (sdk.StringEvent, bool) { + for _, event := range events { + if event.Type == eventType { + return event, true + } + } + return sdk.StringEvent{}, false +} + +// FindAttributeByKey returns the attribute with the given key +func FindAttributeByKey(event sdk.StringEvent, key string) (sdk.Attribute, bool) { + for _, attribute := range event.Attributes { + if attribute.Key == key { + return attribute, true + } + } + return sdk.Attribute{}, false +} + +// FindEventsByMsgIndex returns all events with the given msg index +func FindEventsByMsgIndex(events sdk.StringEvents, msgIndex int) sdk.StringEvents { + var res sdk.StringEvents + for _, event := range events { + attribute, exist := FindAttributeByKey(event, "msg_index") + if !exist { + continue + } + + if strconv.Itoa(msgIndex) == attribute.Value { + res = append(res, event) + } + } + return res +} diff --git a/utils/genesis.go b/utils/genesis.go index 5023f0c0..e3cbd93d 100644 --- a/utils/genesis.go +++ b/utils/genesis.go @@ -6,8 +6,8 @@ import ( 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" + "github.com/forbole/juno/v6/node" + "github.com/forbole/juno/v6/types/config" ) // ReadGenesis reads the genesis data based on the given config diff --git a/utils/node.go b/utils/node.go index 2c56a135..993af517 100644 --- a/utils/node.go +++ b/utils/node.go @@ -4,7 +4,7 @@ import ( "fmt" coretypes "github.com/cometbft/cometbft/rpc/core/types" - "github.com/forbole/juno/v5/node" + "github.com/forbole/juno/v6/node" ) // QueryTxs queries all the transactions from the given node corresponding to the given query diff --git a/utils/simapp/app.go b/utils/simapp/app.go new file mode 100644 index 00000000..273a3926 --- /dev/null +++ b/utils/simapp/app.go @@ -0,0 +1,95 @@ +// ! This file is for general cosmos-sdk chain for local mode node, please modify it according to your chain +package simapp + +import ( + storetypes "cosmossdk.io/store/types" + + "cosmossdk.io/log" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + authcodec "github.com/cosmos/cosmos-sdk/x/auth/codec" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" + 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" +) + +var maccPerms = map[string][]string{ + authtypes.FeeCollectorName: nil, + distrtypes.ModuleName: nil, + minttypes.ModuleName: {authtypes.Minter}, + stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, + stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + govtypes.ModuleName: {authtypes.Burner}, +} + +type SimApp struct { + // keys to access the substores + keys map[string]*storetypes.KVStoreKey + + // keepers + BankKeeper bankkeeper.BaseKeeper + StakingKeeper *stakingkeeper.Keeper + SlashingKeeper slashingkeeper.Keeper + MintKeeper mintkeeper.Keeper + DistrKeeper distrkeeper.Keeper + GovKeeper govkeeper.Keeper +} + +func NewSimApp(cdc codec.Codec) *SimApp { + keys := storetypes.NewKVStoreKeys( + authtypes.StoreKey, + banktypes.StoreKey, + stakingtypes.StoreKey, + minttypes.StoreKey, + slashingtypes.StoreKey, + govtypes.StoreKey, + distrtypes.StoreKey, + ) + + app := &SimApp{ + keys: keys, + } + + accountKeeper := authkeeper.NewAccountKeeper(cdc, runtime.NewKVStoreService(keys[authtypes.StoreKey]), authtypes.ProtoBaseAccount, maccPerms, authcodec.NewBech32Codec(sdk.GetConfig().GetBech32AccountAddrPrefix()), sdk.GetConfig().GetBech32AccountAddrPrefix(), authtypes.NewModuleAddress(govtypes.ModuleName).String()) + + app.BankKeeper = bankkeeper.NewBaseKeeper( + cdc, + runtime.NewKVStoreService(keys[banktypes.StoreKey]), + accountKeeper, + nil, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + log.NewNopLogger(), + ) + app.DistrKeeper = distrkeeper.NewKeeper(cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, app.BankKeeper, app.StakingKeeper, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + + app.StakingKeeper = stakingkeeper.NewKeeper( + cdc, runtime.NewKVStoreService(keys[stakingtypes.StoreKey]), accountKeeper, app.BankKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String(), authcodec.NewBech32Codec(sdk.GetConfig().GetBech32ValidatorAddrPrefix()), authcodec.NewBech32Codec(sdk.GetConfig().GetBech32ConsensusAddrPrefix()), + ) + + app.MintKeeper = mintkeeper.NewKeeper(cdc, runtime.NewKVStoreService(keys[minttypes.StoreKey]), app.StakingKeeper, accountKeeper, app.BankKeeper, authtypes.FeeCollectorName, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + + app.SlashingKeeper = slashingkeeper.NewKeeper( + cdc, nil, runtime.NewKVStoreService(keys[slashingtypes.StoreKey]), app.StakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + + govConfig := govtypes.DefaultConfig() + govKeeper := govkeeper.NewKeeper( + cdc, runtime.NewKVStoreService(keys[govtypes.StoreKey]), accountKeeper, app.BankKeeper, + app.StakingKeeper, app.DistrKeeper, nil, govConfig, authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + app.GovKeeper = *govKeeper + + return app +}