From 388caf8b93a01b818b76a62edc2b593d6ac04716 Mon Sep 17 00:00:00 2001 From: Yiming Zang <50607998+yzang2019@users.noreply.github.com> Date: Thu, 28 Dec 2023 10:24:47 -0800 Subject: [PATCH 1/2] [SeiDB] Add setup logic and integration test for SeiDB (#1170) * Add setup logic for seiDB * Add integration test support for SeiDB * Bump golang version for docker * Bump version for cosmos * Bump seidb version * Fix integration test for distribution * Fix oracle vote round up issue * Fix goleveldb version * Upload latest gringotts * Fix deploy_timelocked_token_contract.sh * Fix integration test * Update go mod * Bump tendermint version Add config validation logic for seidb (#1207) * Add config validation logic for seidb * Add comments --- .github/workflows/codeql.yml | 57 +++ .github/workflows/fuzz.yml | 2 +- .github/workflows/golangci.yml | 2 +- .github/workflows/integration-test.yml | 2 +- Makefile | 17 + app/app.go | 3 +- app/seidb.go | 104 ++++++ docker/docker-compose.yml | 4 + docker/localnode/Dockerfile | 7 +- docker/localnode/config/app.toml | 66 +++- docker/localnode/config/config.toml | 2 +- docker/rpcnode/Dockerfile | 6 +- docker/rpcnode/config/app.toml | 62 +++- docker/rpcnode/config/config.toml | 2 +- go.mod | 136 ++++--- go.sum | 334 +++++++++++++----- .../deploy_timelocked_token_contract.sh | 90 +++++ integration_test/contracts/gringotts.wasm | Bin 0 -> 450852 bytes .../distribution_module/rewards.yaml | 28 ++ .../oracle_module/verify_penalty_counts.yaml | 46 +++ .../timelocked_token_withdraw_test.yaml | 17 + 21 files changed, 844 insertions(+), 143 deletions(-) create mode 100644 .github/workflows/codeql.yml create mode 100644 app/seidb.go create mode 100755 integration_test/contracts/deploy_timelocked_token_contract.sh create mode 100644 integration_test/contracts/gringotts.wasm create mode 100644 integration_test/distribution_module/rewards.yaml create mode 100644 integration_test/oracle_module/verify_penalty_counts.yaml create mode 100644 integration_test/wasm_module/timelocked_token_withdraw_test.yaml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000000..ffc99fe537 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,57 @@ +name: "CodeQL" + +on: + pull_request: + paths: + - "**.go" + push: + branches: + - main + - release/** + paths: + - "**.go" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: 1.19 + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: "go" + queries: crypto-com/cosmos-sdk-codeql@main,security-and-quality + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 \ No newline at end of file diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index 12403aa20f..5e7fdac4cf 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -20,7 +20,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.18 + go-version: 1.19 - name: Fuzz Place Order Msg run: go test github.com/sei-protocol/sei-chain/x/dex/keeper/msgserver -fuzz FuzzPlaceOrders -fuzztime 30s diff --git a/.github/workflows/golangci.yml b/.github/workflows/golangci.yml index b70b2b2838..0c0f6e6cfe 100644 --- a/.github/workflows/golangci.yml +++ b/.github/workflows/golangci.yml @@ -18,7 +18,7 @@ jobs: steps: - uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - uses: actions/checkout@v3 - name: golangci-lint uses: golangci/golangci-lint-action@v3 diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index d62fa79110..f428eb466e 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -24,7 +24,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: Start 4 node docker cluster run: make clean && make docker-cluster-start & diff --git a/Makefile b/Makefile index 1ef4beb150..1a56129c14 100644 --- a/Makefile +++ b/Makefile @@ -146,12 +146,29 @@ run-rpc-node: kill-rpc-node build-rpc-node -v $(PROJECT_HOME):/sei-protocol/sei-chain:Z \ -v $(PROJECT_HOME)/../sei-tendermint:/sei-protocol/sei-tendermint:Z \ -v $(PROJECT_HOME)/../sei-cosmos:/sei-protocol/sei-cosmos:Z \ + -v $(PROJECT_HOME)/../sei-db:/sei-protocol/sei-db:Z \ -v $(GO_PKG_PATH)/mod:/root/go/pkg/mod:Z \ -p 26668-26670:26656-26658 \ --platform linux/x86_64 \ sei-chain/rpcnode .PHONY: run-rpc-node + +run-rpc-node-skipbuild: build-rpc-node + docker run --rm \ + --name sei-rpc-node \ + --network docker_localnet \ + -v $(PROJECT_HOME):/sei-protocol/sei-chain:Z \ + -v $(PROJECT_HOME)/../sei-tendermint:/sei-protocol/sei-tendermint:Z \ + -v $(PROJECT_HOME)/../sei-cosmos:/sei-protocol/sei-cosmos:Z \ + -v $(PROJECT_HOME)/../sei-db:/sei-protocol/sei-db:Z \ + -v $(GO_PKG_PATH)/mod:/root/go/pkg/mod:Z \ + -p 26668-26670:26656-26658 \ + --platform linux/x86_64 \ + --env SKIP_BUILD=true \ + sei-chain/rpcnode +.PHONY: run-rpc-node + kill-sei-node: docker ps --filter name=sei-node --filter status=running -aq | xargs docker kill diff --git a/app/app.go b/app/app.go index 650c99a4c1..e76fe5f432 100644 --- a/app/app.go +++ b/app/app.go @@ -366,7 +366,8 @@ func New( cdc := encodingConfig.Amino interfaceRegistry := encodingConfig.InterfaceRegistry - bApp := baseapp.NewBaseApp(AppName, logger, db, encodingConfig.TxConfig.TxDecoder(), tmConfig, appOpts, baseAppOptions...) + bAppOptions := SetupSeiDB(logger, homePath, appOpts, baseAppOptions) + bApp := baseapp.NewBaseApp(AppName, logger, db, encodingConfig.TxConfig.TxDecoder(), tmConfig, appOpts, bAppOptions...) bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(interfaceRegistry) diff --git a/app/seidb.go b/app/seidb.go new file mode 100644 index 0000000000..6bb013da25 --- /dev/null +++ b/app/seidb.go @@ -0,0 +1,104 @@ +package app + +import ( + "fmt" + + "github.com/cosmos/cosmos-sdk/baseapp" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/storev2/rootmulti" + "github.com/sei-protocol/sei-db/config" + "github.com/spf13/cast" + "github.com/tendermint/tendermint/libs/log" +) + +const ( + // SC Store configs + FlagSCEnable = "state-commit.sc-enable" + FlagSCDirectory = "state-commit.sc-directory" + FlagSCAsyncCommitBuffer = "state-commit.sc-async-commit-buffer" + FlagSCZeroCopy = "state-commit.sc-zero-copy" + FlagSCSnapshotKeepRecent = "state-commit.sc-keep-recent" + FlagSCSnapshotInterval = "state-commit.sc-snapshot-interval" + FlagSCSnapshotWriterLimit = "state-commit.sc-snapshot-writer-limit" + FlagSCCacheSize = "state-commit.sc-cache-size" + + // SS Store configs + FlagSSEnable = "state-store.ss-enable" + FlagSSDirectory = "state-store.ss-db-directory" + FlagSSBackend = "state-store.ss-backend" + FlagSSAsyncWriterBuffer = "state-store.ss-async-write-buffer" + FlagSSKeepRecent = "state-store.ss-keep-recent" + FlagSSPruneInterval = "state-store.ss-prune-interval" + FlagSSImportNumWorkers = "state-store.ss-import-num-workers" + + // Other configs + FlagSnapshotInterval = "state-sync.snapshot-interval" +) + +func SetupSeiDB( + logger log.Logger, + homePath string, + appOpts servertypes.AppOptions, + baseAppOptions []func(*baseapp.BaseApp), +) []func(*baseapp.BaseApp) { + scEnabled := cast.ToBool(appOpts.Get(FlagSCEnable)) + if !scEnabled { + logger.Info("SeiDB is disabled, falling back to IAVL") + return baseAppOptions + } + logger.Info("SeiDB SC is enabled, running node with StoreV2 commit store") + scConfig := parseSCConfigs(appOpts) + ssConfig := parseSSConfigs(appOpts) + if ssConfig.Enable { + logger.Info(fmt.Sprintf("SeiDB StateStore is enabled, running %s for historical state", ssConfig.Backend)) + } + validateConfigs(appOpts) + + // cms must be overridden before the other options, because they may use the cms, + // make sure the cms aren't be overridden by the other options later on. + cms := rootmulti.NewStore(homePath, logger, scConfig, ssConfig) + baseAppOptions = append([]func(*baseapp.BaseApp){ + func(baseApp *baseapp.BaseApp) { + baseApp.SetCMS(cms) + }, + }, baseAppOptions...) + + return baseAppOptions +} + +func parseSCConfigs(appOpts servertypes.AppOptions) config.StateCommitConfig { + return config.StateCommitConfig{ + Enable: cast.ToBool(appOpts.Get(FlagSCEnable)), + Directory: cast.ToString(appOpts.Get(FlagSCDirectory)), + ZeroCopy: cast.ToBool(appOpts.Get(FlagSCZeroCopy)), + AsyncCommitBuffer: cast.ToInt(appOpts.Get(FlagSCAsyncCommitBuffer)), + SnapshotKeepRecent: cast.ToUint32(appOpts.Get(FlagSCSnapshotKeepRecent)), + SnapshotInterval: cast.ToUint32(appOpts.Get(FlagSCSnapshotInterval)), + SnapshotWriterLimit: cast.ToInt(appOpts.Get(FlagSCSnapshotWriterLimit)), + CacheSize: cast.ToInt(appOpts.Get(FlagSCCacheSize)), + } +} + +func parseSSConfigs(appOpts servertypes.AppOptions) config.StateStoreConfig { + return config.StateStoreConfig{ + Enable: cast.ToBool(appOpts.Get(FlagSSEnable)), + Backend: cast.ToString(appOpts.Get(FlagSSBackend)), + AsyncWriteBuffer: cast.ToInt(appOpts.Get(FlagSSAsyncWriterBuffer)), + KeepRecent: cast.ToInt(appOpts.Get(FlagSSKeepRecent)), + PruneIntervalSeconds: cast.ToInt(appOpts.Get(FlagSSPruneInterval)), + ImportNumWorkers: cast.ToInt(appOpts.Get(FlagSSImportNumWorkers)), + DBDirectory: cast.ToString(appOpts.Get(FlagSSDirectory)), + } +} + +func validateConfigs(appOpts servertypes.AppOptions) { + scEnabled := cast.ToBool(appOpts.Get(FlagSCEnable)) + ssEnabled := cast.ToBool(appOpts.Get(FlagSSEnable)) + snapshotExportInterval := cast.ToUint64(appOpts.Get(FlagSnapshotInterval)) + // Make sure when snapshot is enabled, we should enable SS store + if snapshotExportInterval > 0 && scEnabled { + if !ssEnabled { + panic(fmt.Sprintf("Config validation failed, SeiDB SS store needs to be enabled when snapshot interval %d > 0", snapshotExportInterval)) + } + } +} diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index d2437c1cf1..ca0c9bb16b 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -17,6 +17,7 @@ services: - "${PROJECT_HOME}:/sei-protocol/sei-chain:Z" - "${PROJECT_HOME}/../sei-tendermint:/sei-protocol/sei-tendermint:Z" - "${PROJECT_HOME}/../sei-cosmos:/sei-protocol/sei-cosmos:Z" + - "${PROJECT_HOME}/../sei-db:/sei-protocol/sei-db:Z" - "${GO_PKG_PATH}/mod:/root/go/pkg/mod:Z" networks: localnet: @@ -38,6 +39,7 @@ services: - "${PROJECT_HOME}:/sei-protocol/sei-chain:Z" - "${PROJECT_HOME}/../sei-tendermint:/sei-protocol/sei-tendermint:Z" - "${PROJECT_HOME}/../sei-cosmos:/sei-protocol/sei-cosmos:Z" + - "${PROJECT_HOME}/../sei-db:/sei-protocol/sei-db:Z" - "${GO_PKG_PATH}/mod:/root/go/pkg/mod:Z" networks: localnet: @@ -59,6 +61,7 @@ services: - "${PROJECT_HOME}:/sei-protocol/sei-chain:Z" - "${PROJECT_HOME}/../sei-tendermint:/sei-protocol/sei-tendermint:Z" - "${PROJECT_HOME}/../sei-cosmos:/sei-protocol/sei-cosmos:Z" + - "${PROJECT_HOME}/../sei-db:/sei-protocol/sei-db:Z" - "${GO_PKG_PATH}/mod:/root/go/pkg/mod:Z" networks: localnet: @@ -80,6 +83,7 @@ services: - "${PROJECT_HOME}:/sei-protocol/sei-chain:Z" - "${PROJECT_HOME}/../sei-tendermint:/sei-protocol/sei-tendermint:Z" - "${PROJECT_HOME}/../sei-cosmos:/sei-protocol/sei-cosmos:Z" + - "${PROJECT_HOME}/../sei-db:/sei-protocol/sei-db:Z" - "${GO_PKG_PATH}/mod:/root/go/pkg/mod:Z" networks: localnet: diff --git a/docker/localnode/Dockerfile b/docker/localnode/Dockerfile index 332d584a44..be0e491df3 100644 --- a/docker/localnode/Dockerfile +++ b/docker/localnode/Dockerfile @@ -1,7 +1,12 @@ FROM ubuntu:latest RUN apt-get update && \ - apt-get install -y make git golang jq python3 curl vim + apt-get install -y make git wget build-essential jq python3 curl vim uuid-runtime RUN rm -rf build/generated +RUN wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz +RUN tar -xvf go1.20.6.linux-amd64.tar.gz +RUN mv go /usr/local/ +SHELL ["/bin/bash", "-c"] + VOLUME [ "/sei-protocol" ] VOLUME [ "/root/go/pkg/mod" ] diff --git a/docker/localnode/config/app.toml b/docker/localnode/config/app.toml index a137e81a45..33b8902982 100644 --- a/docker/localnode/config/app.toml +++ b/docker/localnode/config/app.toml @@ -200,4 +200,68 @@ snapshot-keep-recent = 2 query_gas_limit = 300000 # This is the number of wasm vm instances we keep cached in memory for speed-up # Warning: this is currently unstable and may lead to crashes, best to keep for 0 unless testing locally -lru_size = 0 \ No newline at end of file +lru_size = 0 + +############################################################################### +### SeiDB Configuration ### +############################################################################### + +[state-commit] + +# Enable defines if the state-commit (memiavl) should be enabled to override existing IAVL db backend. +sc-enable = true + +sc-directory = "" + +# ZeroCopy defines if memiavl should return slices pointing to mmap-ed buffers directly (zero-copy), +# the zero-copied slices must not be retained beyond current block's execution. +# the sdk address cache will be disabled if zero-copy is enabled. +sc-zero-copy = false + +# AsyncCommitBuffer defines the size of asynchronous commit queue, this greatly improve block catching-up +# performance, <=0 means synchronous commit. +sc-async-commit-buffer = 100 + +# SnapshotKeepRecent defines how many state-commit snapshots (besides the latest one) to keep +# defaults to 1 to make sure ibc relayers work. +sc-keep-recent = 1 + +# SnapshotInterval defines the block interval the snapshot is taken, default to 10000 blocks. +sc-snapshot-interval = 1000 + +# SnapshotWriterLimit defines the max concurrency for taking commit store snapshot +sc-snapshot-writer-limit = 2 + +# CacheSize defines the size of the LRU cache for each store on top of the tree, default to 100000. +sc-cache-size = 1000 + +[state-store] + +# Enable defines if the state-store should be enabled for historical queries. +# In order to use state-store, you need to make sure to enable state-commit at the same time +ss-enable = true + +ss-db-directory = "" + +# DBBackend defines the backend database used for state-store. +# Supported backends: pebbledb, rocksdb, sqlite +# defaults to pebbledb (recommended) +ss-backend = "pebbledb" + +# AsyncWriteBuffer defines the async queue length for commits to be applied to State Store +# Set <= 0 for synchronous writes, which means commits also need to wait for data to be persisted in State Store. +# defaults to 100 +ss-async-write-buffer = 100 + +# KeepRecent defines the number of versions to keep in state store +# Setting it to 0 means keep everything, default to 0 +ss-keep-recent = 10000 + +# PruneIntervalSeconds defines the minimum interval in seconds + some random delay to trigger pruning. +# It is more efficient to trigger pruning less frequently with large interval. +# default to 600 seconds +ss-prune-interval = 60 + +# ImportNumWorkers defines the concurrency for state sync import +# defaults to 1 +ss-import-num-workers = 1 \ No newline at end of file diff --git a/docker/localnode/config/config.toml b/docker/localnode/config/config.toml index 51c591237f..4669424fc0 100644 --- a/docker/localnode/config/config.toml +++ b/docker/localnode/config/config.toml @@ -46,7 +46,7 @@ db-backend = "goleveldb" db-dir = "data" # Output level for logging, including package level options -log-level = "debug" +log-level = "info" # Output format: 'plain' (colored text) or 'json' log-format = "plain" diff --git a/docker/rpcnode/Dockerfile b/docker/rpcnode/Dockerfile index 952079ba9b..12d3e1ba7f 100644 --- a/docker/rpcnode/Dockerfile +++ b/docker/rpcnode/Dockerfile @@ -1,6 +1,10 @@ FROM ubuntu:latest RUN apt-get update && \ - apt-get install -y make git golang jq python3 curl vim + apt-get install -y make git wget build-essential jq python3 curl vim +RUN wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz +RUN tar -xvf go1.20.6.linux-amd64.tar.gz +RUN mv go /usr/local/ +SHELL ["/bin/bash", "-c"] VOLUME [ "/sei-protocol" ] VOLUME [ "/root/go/pkg/mod" ] diff --git a/docker/rpcnode/config/app.toml b/docker/rpcnode/config/app.toml index 6eabf634dc..ce4a0569a1 100644 --- a/docker/rpcnode/config/app.toml +++ b/docker/rpcnode/config/app.toml @@ -200,4 +200,64 @@ snapshot-keep-recent = 2 query_gas_limit = 300000 # This is the number of wasm vm instances we keep cached in memory for speed-up # Warning: this is currently unstable and may lead to crashes, best to keep for 0 unless testing locally -lru_size = 0 \ No newline at end of file +lru_size = 0 + +############################################################################### +### SeiDB Configuration ### +############################################################################### + +[state-commit] + +# Enable defines if the state-commit (memiavl) should be enabled to override existing IAVL db backend. +sc-enable = true + +# ZeroCopy defines if memiavl should return slices pointing to mmap-ed buffers directly (zero-copy), +# the zero-copied slices must not be retained beyond current block's execution. +# the sdk address cache will be disabled if zero-copy is enabled. +sc-zero-copy = false + +# AsyncCommitBuffer defines the size of asynchronous commit queue, this greatly improve block catching-up +# performance, <=0 means synchronous commit. +sc-async-commit-buffer = 100 + +# SnapshotKeepRecent defines how many state-commit snapshots (besides the latest one) to keep +# defaults to 1 to make sure ibc relayers work. +sc-keep-recent = 1 + +# SnapshotInterval defines the block interval the snapshot is taken, default to 10000 blocks. +sc-snapshot-interval = 1000 + +# SnapshotWriterLimit defines the max concurrency for taking commit store snapshot +sc-snapshot-writer-limit = 2 + +# CacheSize defines the size of the LRU cache for each store on top of the tree, default to 100000. +sc-cache-size = 1000 + +[state-store] + +# Enable defines if the state-store should be enabled for historical queries. +# In order to use state-store, you need to make sure to enable state-commit at the same time +ss-enable = true + +# DBBackend defines the backend database used for state-store. +# Supported backends: pebbledb, rocksdb, sqlite +# defaults to pebbledb (recommended) +ss-backend = "pebbledb" + +# AsyncWriteBuffer defines the async queue length for commits to be applied to State Store +# Set <= 0 for synchronous writes, which means commits also need to wait for data to be persisted in State Store. +# defaults to 100 +ss-async-write-buffer = 100 + +# KeepRecent defines the number of versions to keep in state store +# Setting it to 0 means keep everything, default to 0 +ss-keep-recent = 1000 + +# PruneIntervalSeconds defines the minimum interval in seconds + some random delay to trigger pruning. +# It is more efficient to trigger pruning less frequently with large interval. +# default to 600 seconds +ss-prune-interval = 60 + +# ImportNumWorkers defines the concurrency for state sync import +# defaults to 1 +ss-import-num-workers = 1 \ No newline at end of file diff --git a/docker/rpcnode/config/config.toml b/docker/rpcnode/config/config.toml index 4b0936154c..01e438987b 100644 --- a/docker/rpcnode/config/config.toml +++ b/docker/rpcnode/config/config.toml @@ -46,7 +46,7 @@ db-backend = "goleveldb" db-dir = "data" # Output level for logging, including package level options -log-level = "debug" +log-level = "info" # Output format: 'plain' (colored text) or 'json' log-format = "plain" diff --git a/go.mod b/go.mod index 19f1f0fe30..42a8f87a87 100644 --- a/go.mod +++ b/go.mod @@ -1,15 +1,15 @@ module github.com/sei-protocol/sei-chain -go 1.18 +go 1.19 require ( github.com/BurntSushi/toml v1.1.0 github.com/CosmWasm/wasmd v0.27.0 github.com/CosmWasm/wasmvm v1.0.1 - github.com/armon/go-metrics v0.3.10 - github.com/cosmos/cosmos-sdk v0.45.4 + github.com/armon/go-metrics v0.4.1 + github.com/cosmos/cosmos-sdk v0.45.10 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/iavl v0.19.4 + github.com/cosmos/iavl v0.21.0-alpha.1.0.20230904092046-df3db2d96583 github.com/cosmos/ibc-go/v3 v3.0.0 github.com/go-playground/validator/v10 v10.4.1 github.com/gogo/protobuf v1.3.3 @@ -23,38 +23,43 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/pkg/errors v0.9.1 github.com/rs/cors v1.8.2 - github.com/rs/zerolog v1.27.0 + github.com/rs/zerolog v1.30.0 + github.com/sei-protocol/sei-db v0.0.23 github.com/sirkon/goproxy v1.4.8 github.com/spf13/cast v1.5.0 - github.com/spf13/cobra v1.4.0 - github.com/stretchr/testify v1.8.1 + github.com/spf13/cobra v1.6.1 + github.com/stretchr/testify v1.8.4 github.com/tendermint/tendermint v0.37.0-dev github.com/tendermint/tm-db v0.6.8-0.20220519162814-e24b96538a12 go.opentelemetry.io/otel v1.9.0 go.opentelemetry.io/otel/exporters/jaeger v1.9.0 go.opentelemetry.io/otel/sdk v1.9.0 go.opentelemetry.io/otel/trace v1.9.0 - golang.org/x/exp v0.0.0-20221031165847-c99f073a8326 - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 - golang.org/x/text v0.7.0 - google.golang.org/genproto v0.0.0-20230223222841-637eb2293923 - google.golang.org/grpc v1.53.0 - google.golang.org/protobuf v1.28.1 + golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa + golang.org/x/sync v0.5.0 + golang.org/x/text v0.14.0 + google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f + google.golang.org/grpc v1.60.1 + google.golang.org/protobuf v1.32.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 ) require ( 4d63.com/gochecknoglobals v0.1.0 // indirect - filippo.io/edwards25519 v1.0.0-beta.2 // indirect - github.com/99designs/keyring v1.1.6 // indirect + cosmossdk.io/errors v1.0.1 // indirect + filippo.io/edwards25519 v1.0.0-rc.1 // indirect + github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect + github.com/99designs/keyring v1.2.1 // indirect github.com/Antonboom/errname v0.1.6 // indirect github.com/Antonboom/nilnil v0.1.1 // indirect + github.com/DataDog/zstd v1.4.5 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect + github.com/alitto/pond v1.8.3 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -67,37 +72,43 @@ require ( github.com/btcsuite/btcd v0.22.1 // indirect github.com/butuzov/ireturn v0.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/charithe/durationcheck v0.0.9 // indirect github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 // indirect + github.com/cockroachdb/errors v1.8.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f // indirect + github.com/cockroachdb/pebble v0.0.0-20230819001538-1798fbf5956c // indirect + github.com/cockroachdb/redact v1.0.8 // indirect + github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect - github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect + github.com/confio/ics23/go v0.9.0 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect github.com/daixiang0/gci v0.3.3 // indirect - github.com/danieljoos/wincred v1.0.2 // indirect + github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deckarep/golang-set v1.8.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/v3 v3.2103.2 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect - github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect - github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/dgraph-io/ristretto v0.1.1 // 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.13.0 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/firefart/nonamedreturns v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fzipp/gocyclo v0.5.1 // indirect github.com/go-critic/go-critic v0.6.3 // indirect github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.0 // indirect + github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect @@ -115,7 +126,7 @@ require ( github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/glog v1.0.0 // indirect + github.com/golang/glog v1.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect @@ -149,36 +160,40 @@ require ( github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/golang-lru/v2 v2.0.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect github.com/improbable-eng/grpc-web v0.14.1 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/julz/importas v0.1.0 // indirect - github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kisielk/errcheck v1.6.0 // indirect github.com/kisielk/gotool v1.0.0 // indirect - github.com/klauspost/compress v1.15.9 // 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.2 // indirect github.com/kunwardeep/paralleltest v1.0.3 // indirect github.com/kyoh86/exportloopref v0.1.8 // indirect github.com/ldez/gomoddirectives v0.2.3 // indirect github.com/ldez/tagliatelle v0.3.1 // indirect + github.com/ledgerwatch/erigon-lib v0.0.0-20230210071639-db0e7ed11263 // indirect github.com/leodido/go-urn v1.2.0 // indirect github.com/leonklingele/grouper v1.1.0 // indirect github.com/lib/pq v1.10.6 // indirect github.com/libp2p/go-buffer-pool v0.0.2 // indirect + github.com/linxGnu/grocksdb v1.8.4 // indirect github.com/lufeee/execinquery v1.0.0 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/maratori/testpackage v1.0.1 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // 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.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mgechev/revive v1.2.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect @@ -194,21 +209,23 @@ require ( github.com/otiai10/copy v1.6.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.2 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/polyfloyd/go-errorlint v0.0.0-20211125173453-6d6d39c5bb8b // indirect - github.com/prometheus/client_golang v1.12.2 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.34.0 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect - github.com/rs/xid v1.3.0 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rs/xid v1.5.0 // indirect github.com/ryancurrah/gomodguard v1.2.3 // indirect github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect @@ -231,12 +248,17 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.0 // indirect github.com/sylvia7788/contextcheck v1.0.4 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tdakkota/asciicheck v0.1.1 // indirect github.com/tendermint/btcd v0.1.1 // indirect github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tetafro/godot v1.4.11 // indirect + github.com/tidwall/gjson v1.10.2 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.0 // indirect + github.com/tidwall/tinylru v1.1.0 // indirect + github.com/tidwall/wal v1.1.7 // indirect github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 // indirect github.com/tomarrell/wrapcheck/v2 v2.6.1 // indirect github.com/tommy-muehle/go-mnd/v2 v2.5.0 // indirect @@ -246,19 +268,32 @@ require ( github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect github.com/yourbasic/graph v0.0.0-20210606180040-8ecfec1c2869 // indirect + github.com/zbiljic/go-filelock v0.0.0-20170914061330-1dbf7103ab7d // indirect github.com/zondax/hid v0.9.0 // indirect gitlab.com/bosi/decorder v0.2.1 // indirect - go.etcd.io/bbolt v1.3.6 // indirect + go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.1.0 // indirect + golang.org/x/crypto v0.16.0 // indirect golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect - golang.org/x/mod v0.6.0 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/tools v0.2.0 // indirect - gopkg.in/ini.v1 v1.66.6 // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/term v0.15.0 // indirect + golang.org/x/tools v0.15.0 // indirect + google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect honnef.co/go/tools v0.3.1 // indirect + lukechampine.com/uint128 v1.2.0 // indirect + modernc.org/cc/v3 v3.40.0 // indirect + modernc.org/ccgo/v3 v3.16.13 // indirect + modernc.org/libc v1.24.1 // indirect + modernc.org/mathutil v1.5.0 // indirect + modernc.org/memory v1.6.0 // indirect + modernc.org/opt v0.1.3 // indirect + modernc.org/sqlite v1.26.0 // indirect + modernc.org/strutil v1.1.3 // indirect + modernc.org/token v1.0.1 // indirect mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect @@ -269,10 +304,13 @@ require ( replace ( github.com/CosmWasm/wasmd => github.com/sei-protocol/sei-wasmd v0.0.1 github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 - github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.2.27 - github.com/cosmos/iavl => github.com/sei-protocol/sei-iavl v0.1.3 + github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.2.28-0.20250326061557-5ee6f9f10b2a + github.com/cosmos/iavl => github.com/sei-protocol/sei-iavl v0.2.0 github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/keybase/go-keychain => github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 + github.com/sei-protocol/sei-db => github.com/sei-protocol/sei-db v0.0.38 + // Latest goleveldb is broken, we have to stick to this version + github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 github.com/tendermint/tendermint => github.com/sei-protocol/sei-tendermint v0.2.15 + github.com/tendermint/tm-db => github.com/sei-protocol/tm-db v0.0.4 google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index 5fec64abef..1489fc2260 100644 --- a/go.sum +++ b/go.sum @@ -57,13 +57,16 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX 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= contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= -filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= +filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= -github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= +github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= +github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Antonboom/errname v0.1.6 h1:LzIJZlyLOCSu51o3/t2n9Ck7PcoP9wdbrdaW6J8fX24= github.com/Antonboom/errname v0.1.6/go.mod h1:7lz79JAnuoMNDAWE9MeeIr1/c/VpSUWatBv2FH9NYpI= github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= @@ -86,15 +89,20 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I= github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= github.com/CosmWasm/wasmvm v1.0.1 h1:ZgkPm/nMiahE2CNjQRsOJTjF3eNkjeDVVWt3Pf7B0Gc= github.com/CosmWasm/wasmvm v1.0.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= 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/v2 v2.1.0 h1:LAPPhJ4KR5Z8aKVZF5S48csJkxL5RMKmE/98fMs1u5M= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0/go.mod h1:LGOGuvEgCfCQsy3JF2tRmpGDpzA53iZfyGEWSPwQ6/4= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= @@ -108,6 +116,7 @@ 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 v1.1.0 h1:pjK9nLPS1FwQYGGpPxoMYpe7qACHOhAWQMQzV71i49o= github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= @@ -118,6 +127,7 @@ github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1: github.com/adlio/schema v1.3.0 h1:eSVYLxYWbm/6ReZBCkLw4Fz7uqC+ZNoPvA39bOwi52A= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= 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= @@ -125,6 +135,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alitto/pond v1.8.3 h1:ydIqygCLVPqIX/USe5EaV/aSRXTRXDEI9JwuDdu+/xs= +github.com/alitto/pond v1.8.3/go.mod h1:CmvIIGd5jKLasGI3D87qDkQxjzChdKMmnXMg3fG6M6Q= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -135,8 +147,9 @@ github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1: 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.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +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/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= @@ -151,6 +164,7 @@ github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -198,8 +212,9 @@ github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW 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 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= 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/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 h1:tFXjAxje9thrTF4h57Ckik+scJjTWdwAtZqZPtOT48M= @@ -215,7 +230,23 @@ github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4 github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= +github.com/cockroachdb/errors v1.8.1 h1:A5+txlVZfOqFBDa4mGz2bUWSp0aHElvHX2bKkdbQu+Y= +github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/cockroachdb/pebble v0.0.0-20230819001538-1798fbf5956c h1:aDetJlMe4qJxWAwu+/bzTs2/b1EW9ecVyawpRD7N/tE= +github.com/cockroachdb/pebble v0.0.0-20230819001538-1798fbf5956c/go.mod h1:EDjiaAXc0FXiRmxDzcu1wIEJ093ohHMUWxrI6iku0XA= +github.com/cockroachdb/redact v1.0.8 h1:8QG/764wK+vmEYoOlfobpe12EQcS81ukx/a4hdVMxNw= +github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeSfSaiCbEBZGKODaixqtHM= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= +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/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= @@ -228,11 +259,11 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= +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-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= @@ -249,7 +280,7 @@ github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9 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.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= @@ -257,8 +288,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/daixiang0/gci v0.3.3 h1:55xJKH7Gl9Vk6oQ1cMkwrDWjAkT1D+D1G9kNmRcAIY4= github.com/daixiang0/gci v0.3.3/go.mod h1:1Xr2bxnQbDxCqqulUOv8qpGqkgRw9RSCGGjEC2LjF8o= -github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= -github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= +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 v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -272,13 +303,15 @@ github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20 github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= @@ -292,33 +325,37 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= 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-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b h1:HBah4D48ypg3J7Np4N+HY/ZR76fx3HEUGxDU6Uk39oQ= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= +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/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= 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 v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= 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/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= +github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= 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 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= @@ -326,6 +363,7 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/firefart/nonamedreturns v1.0.1 h1:fSvcq6ZpK/uBAgJEGMvzErlzyM4NELLqqdTofVjVNag= github.com/firefart/nonamedreturns v1.0.1/go.mod h1:D3dpIBojGGNh5UfElmwPu73SwDCm+VKhHYqwlNOk2uQ= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= @@ -334,19 +372,26 @@ github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3 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.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= 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/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fzipp/gocyclo v0.5.1 h1:L66amyuYogbxl0j2U+vGqJXusPF2IkduvXLnYD5TFgw= github.com/fzipp/gocyclo v0.5.1/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= 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.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.7 h1:3DoBmSbJbZAWqXJC3SLjAPfutPJJRN1U5pALB7EeTTs= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-critic/go-critic v0.6.3 h1:abibh5XYBTASawfTQ0rA7dVtQT+6KzpGqb/J+DxRDaw= github.com/go-critic/go-critic v0.6.3/go.mod h1:c6b3ZP1MQ7o6lPR7Rv3lEf7pYQUmAcx8ABHgdZCQt/k= +github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= 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= @@ -356,8 +401,8 @@ github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgO github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= @@ -368,6 +413,7 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -419,9 +465,11 @@ github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -484,6 +532,7 @@ github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 h1:SgM7GDZTxtTTQP github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= @@ -507,6 +556,7 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -535,6 +585,7 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe 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/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/trillian v1.3.11/go.mod h1:0tPraVHrSDkA3BO6vKX67zgLXs6SsOAbHEivX+9mPgw= github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -564,6 +615,7 @@ github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/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= @@ -647,8 +699,8 @@ github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOn github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= @@ -658,16 +710,23 @@ github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63 github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= 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/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -701,7 +760,10 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= +github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -713,17 +775,26 @@ github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q github.com/k0kubun/pp/v3 v3.2.0 h1:h33hNTZ9nVFNP3u2Fsgz8JXiF5JINoZfFq4SvKJwNcs= github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= +github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= +github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.6.0 h1:YTDO4pNy7AUN/021p+JGHycQyYNIyMoenM1YDVK6RlY= github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +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/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= 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.2/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= @@ -732,7 +803,8 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -744,10 +816,14 @@ github.com/kunwardeep/paralleltest v1.0.3/go.mod h1:vLydzomDFpk7yu5UX02RmP0H8QfR github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= +github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= +github.com/ledgerwatch/erigon-lib v0.0.0-20230210071639-db0e7ed11263 h1:LGEzZvf33Y1NhuP5+jI/ni9l1TFS6oYPDilgy74NusM= +github.com/ledgerwatch/erigon-lib v0.0.0-20230210071639-db0e7ed11263/go.mod h1:OXgMDuUo2lZ3NpH29ZvMYbk+LxFd5ffDl2Z2mGMuY/I= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= @@ -763,6 +839,8 @@ github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOS github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.8.4 h1:ZMsBpPpJNtRLHiKKp0mI7gW+NT4s7UgfD5xHxx1jVRo= +github.com/linxGnu/grocksdb v1.8.4/go.mod h1:xZCIb5Muw+nhbDK4Y5UJuOrin5MceOuiXkVUR7vp4WY= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/lufeee/execinquery v1.0.0 h1:1XUTuLIVPDlFvUU3LXmmZwHDsolsxXnY67lzhpeqe0I= github.com/lufeee/execinquery v1.0.0/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= @@ -777,6 +855,7 @@ 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.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -789,13 +868,16 @@ github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HN 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.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= 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 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= 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-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -803,14 +885,19 @@ github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m 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.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +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/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= +github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= github.com/mgechev/revive v1.2.1 h1:GjFml7ZsoR0IrQ2E2YIvWFNS5GPDV7xNwvA5GM1HZC4= github.com/mgechev/revive v1.2.1/go.mod h1:+Ro3wqY4vakcYNtkBWdZC7dBg1xSB6sp054wWwmeFm0= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= @@ -845,6 +932,7 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= @@ -863,7 +951,9 @@ github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= @@ -894,6 +984,7 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= @@ -905,8 +996,8 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa 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.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -948,12 +1039,15 @@ github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuw github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= 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/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= 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= @@ -976,15 +1070,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.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= -github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= 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 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= @@ -994,8 +1089,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.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= -github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= 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= @@ -1003,8 +1098,9 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= @@ -1028,24 +1124,29 @@ github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzy github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.12.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.14.3/go.mod h1:3WXPzbXEEliJ+a6UFE4vhIxV8qR1EML6ngzP9ug4eYg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= 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= @@ -1054,6 +1155,7 @@ github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoL github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/crypt v0.5.0/go.mod h1:l+nzl7KWh51rpzp2h7t4MZWyiEWdhNpOAnclKvg+mdA= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= @@ -1062,21 +1164,26 @@ github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71e github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/savaki/jq v0.0.0-20161209013833-0e6baecebbf8 h1:ajJQhvqPSQFJJ4aV5mDAMx8F7iFi6Dxfo6y62wymLNs= github.com/savaki/jq v0.0.0-20161209013833-0e6baecebbf8/go.mod h1:Nw/CCOXNyF5JDd6UpYxBwG5WWZ2FOJ/d5QnXL4KQ6vY= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/securego/gosec/v2 v2.11.0 h1:+PDkpzR41OI2jrw1q6AdXZCbsNGNGT7pQjal0H0cArI= github.com/securego/gosec/v2 v2.11.0/go.mod h1:SX8bptShuG8reGC0XS09+a4H2BoWSJi+fscA+Pulbpo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/sei-protocol/sei-cosmos v0.2.27 h1:GdaBFCSEClzbJCLP6XuyZry1xvbZ+Ce5L4OUI04y5iY= -github.com/sei-protocol/sei-cosmos v0.2.27/go.mod h1:HaL4lCXp1N4BITUzrT3m7ztLQ27ac4yWNdrnsAT3d+I= -github.com/sei-protocol/sei-iavl v0.1.3 h1:0hvW1NtmBlZ7ZkerQcM/n+2tFKg0vUlYWK8q/OeuCgw= -github.com/sei-protocol/sei-iavl v0.1.3/go.mod h1:7PfkEVT5dcoQE+s/9KWdoXJ8VVVP1QpYYPLdxlkSXFk= +github.com/sei-protocol/sei-cosmos v0.2.28-0.20250326061557-5ee6f9f10b2a h1:7AnUYzJWVjojUagbZ+9f09OcL2zIo+A5GQsrvPJYG84= +github.com/sei-protocol/sei-cosmos v0.2.28-0.20250326061557-5ee6f9f10b2a/go.mod h1:AbP65Qsq3NdfWph7MG3wFVlsq1QN4Uj0m3+Eki0OXHM= +github.com/sei-protocol/sei-db v0.0.38 h1:GiQl3qBd6XgGsHkJd4I8GnOmGjGoWQg3SJAS82TTNao= +github.com/sei-protocol/sei-db v0.0.38/go.mod h1:F/ZKZA8HJPcUzSZPA8yt6pfwlGriJ4RDR4eHKSGLStI= +github.com/sei-protocol/sei-iavl v0.2.0 h1:OisPjXiDT+oe+aeckzDEFgkZCYuUjHgs/PP8DPicN+I= +github.com/sei-protocol/sei-iavl v0.2.0/go.mod h1:qRf8QYUPfrAO7K6VDB2B2l/N7K5L76OorioGBcJBIbw= github.com/sei-protocol/sei-tendermint v0.2.15 h1:sP3ETBjD7+Rys82INRXKlFj8a4ZsstR0tFnA2N77mjA= github.com/sei-protocol/sei-tendermint v0.2.15/go.mod h1:+BtDvAwTkE64BlxzpH9ZP7S6vUYT9wRXiZa/WW8/o4g= github.com/sei-protocol/sei-tm-db v0.0.5 h1:3WONKdSXEqdZZeLuWYfK5hP37TJpfaUa13vAyAlvaQY= github.com/sei-protocol/sei-tm-db v0.0.5/go.mod h1:Cpa6rGyczgthq7/0pI31jys2Fw0Nfrc+/jKdP1prVqY= github.com/sei-protocol/sei-wasmd v0.0.1 h1:dRvdapc1sqWxhIB2+DKS5LfilFjOsaFwWkGkSWwQIow= github.com/sei-protocol/sei-wasmd v0.0.1/go.mod h1:iiHoIuoCjR7kV4cS7PPt4NmyOXv+V9kohRQBsFIreMU= +github.com/sei-protocol/tm-db v0.0.4 h1:7Y4EU62Xzzg6wKAHEotm7SXQR0aPLcGhKHkh3qd0tnk= +github.com/sei-protocol/tm-db v0.0.4/go.mod h1:PWsIWOTwdwC7Ow/GUvx8HgUJTO691pBuorIQD8JvwAs= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= @@ -1117,8 +1224,8 @@ github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= 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.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= 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= @@ -1142,7 +1249,6 @@ github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= 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= @@ -1157,15 +1263,14 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +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.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.0 h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs= github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= github.com/sylvia7788/contextcheck v1.0.4 h1:MsiVqROAdr0efZc/fOCt0c235qm9XJqHtWwM+2h2B04= github.com/sylvia7788/contextcheck v1.0.4/go.mod h1:vuPKJMQ7MQ91ZTqfdyreNKwZjyUg6KO+IebVyQDedZQ= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= @@ -1176,18 +1281,27 @@ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RM github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.8-0.20220519162814-e24b96538a12 h1:unOeFDC/TV4Oh371XZGmZyfeIzeGfK/JINb0T+6C+QY= -github.com/tendermint/tm-db v0.6.8-0.20220519162814-e24b96538a12/go.mod h1:PWsIWOTwdwC7Ow/GUvx8HgUJTO691pBuorIQD8JvwAs= github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= +github.com/tidwall/gjson v1.10.2 h1:APbLGOM0rrEkd8WBw9C24nllro4ajFuJu0Sc9hRz8Bo= +github.com/tidwall/gjson v1.10.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= +github.com/tidwall/tinylru v1.1.0 h1:XY6IUfzVTU9rpwdhKUF6nQdChgCdGjkMfLzbWyiau6I= +github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ6OFbzw8= +github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= +github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -1201,6 +1315,7 @@ github.com/tommy-muehle/go-mnd/v2 v2.5.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= 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= @@ -1212,19 +1327,28 @@ github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqz github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/uudashr/gocognit v1.0.5 h1:rrSex7oHr3/pPLQ0xoWq108XMU8s678FJcQ+aSfOHa4= github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= @@ -1240,6 +1364,8 @@ 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.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zbiljic/go-filelock v0.0.0-20170914061330-1dbf7103ab7d h1:XQyeLr7N9iY9mi+TGgsBFkj54+j3fdoo8e2u6zrGP5A= +github.com/zbiljic/go-filelock v0.0.0-20170914061330-1dbf7103ab7d/go.mod h1:hoMeDjlNXTNqVwrCk8YDyaBS2g5vFfEX2ezMi4vb6CY= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= @@ -1247,8 +1373,8 @@ gitlab.com/bosi/decorder v0.2.1 h1:ehqZe8hI4w7O4b1vgsDZw1YU1PE7iJXrQWFMsocbQ1w= gitlab.com/bosi/decorder v0.2.1/go.mod h1:6C/nhLSbF6qZbYD8bRmISBwc6vcWdNsiIBkRvjJFrH0= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd/api/v3 v3.5.2/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= @@ -1309,8 +1435,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= 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= @@ -1323,8 +1449,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-20221031165847-c99f073a8326 h1:QfTh0HpN6hlw6D3vu8DAwC8pBIwikq0AI1evdm+FksE= -golang.org/x/exp v0.0.0-20221031165847-c99f073a8326/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM= golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -1355,8 +1481,8 @@ 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.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 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1369,6 +1495,7 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -1378,6 +1505,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1418,8 +1546,8 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su 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= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= 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= @@ -1452,8 +1580,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1473,8 +1601,8 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1512,7 +1640,6 @@ golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1539,6 +1666,7 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1560,13 +1688,16 @@ golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/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.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/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= @@ -1576,8 +1707,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +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= @@ -1585,6 +1716,7 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/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-20181221001348-537d06c36207/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-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1593,6 +1725,7 @@ golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1681,8 +1814,8 @@ golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= 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= @@ -1735,6 +1868,7 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= 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-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1816,8 +1950,12 @@ google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20230223222841-637eb2293923 h1:znp6mq/drrY+6khTAlJUDNFFcDGV2ENLYKpMq8SyCds= -google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 h1:1hfbdAfFbkmpg41000wDVqr7jUpK/Yo+LPnIxxGzmkg= +google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3/go.mod h1:5RBcpGRxr25RbDzY5w+dmaqpSEvl8Gwl1x2CICf60ic= +google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f h1:2yNACc1O40tTnrsbk9Cv6oxiW8pxI/pXj0wRtdlYmgY= +google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f/go.mod h1:Uy9bTZJqmfrw2rIBxgGLnamc78euZULUBrLZ9XTITKI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 h1:/jFB8jK5R3Sq3i/lmeZO0cATSzFfZaJq1J2Euan3XKU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0/go.mod h1:FUoWkonphQm3RhTS+kOEhF8h0iDpm4tdXolVCeZ9KKA= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1835,22 +1973,26 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.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= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= -gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= @@ -1884,6 +2026,30 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.3.1 h1:1kJlrWJLkaGXgcaeosRXViwviqjI7nkBvU2+sZW0AYc= honnef.co/go/tools v0.3.1/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70= +lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= +modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= +modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= +modernc.org/libc v1.24.1 h1:uvJSeCKL/AgzBo2yYIPPTy82v21KgGnizcGYfBHaNuM= +modernc.org/libc v1.24.1/go.mod h1:FmfO1RLrU3MHJfyi9eYYmZBfi/R+tqZ6+hQ3yQQUkak= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.6.0 h1:i6mzavxrE9a30whzMfwf7XWVODx2r5OYXvU46cirX7o= +modernc.org/memory v1.6.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.26.0 h1:SocQdLRSYlA8W99V8YH0NES75thx19d9sB/aFc4R8Lw= +modernc.org/sqlite v1.26.0/go.mod h1:FL3pVXie73rg3Rii6V/u5BoHlSoyeZeIgKZEgHARyCU= +modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= +modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= diff --git a/integration_test/contracts/deploy_timelocked_token_contract.sh b/integration_test/contracts/deploy_timelocked_token_contract.sh new file mode 100755 index 0000000000..99e04c31bd --- /dev/null +++ b/integration_test/contracts/deploy_timelocked_token_contract.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +seidbin=$(which ~/go/bin/seid | tr -d '"') +keyname=$(printf "12345678\n" | $seidbin keys list --output json | jq ".[0].name" | tr -d '"') +chainid=$($seidbin status | jq ".NodeInfo.network" | tr -d '"') +seihome=$(git rev-parse --show-toplevel | tr -d '"') +migration=$1 + +# Prepare admin accounts +echo "Preparing admin accounts..." +printf "12345678\n" | $seidbin keys add admin1 +printf "12345678\n" | $seidbin keys add admin2 +printf "12345678\n" | $seidbin keys add admin3 +printf "12345678\n" | $seidbin keys add admin4 +printf "12345678\n" | $seidbin keys add op +printf "12345678\n" | $seidbin keys add staking_reward_dest +printf "12345678\n" | $seidbin keys add unlocked_dest +key_admin1=$(printf "12345678\n" |$seidbin keys show admin1 -a) +key_admin2=$(printf "12345678\n" |$seidbin keys show admin2 -a) +key_admin3=$(printf "12345678\n" |$seidbin keys show admin3 -a) +key_admin4=$(printf "12345678\n" |$seidbin keys show admin4 -a) +key_op=$(printf "12345678\n" |$seidbin keys show op -a) +key_staking=$(printf "12345678\n" |$seidbin keys show staking_reward_dest -a) +key_unlock=$(printf "12345678\n" |$seidbin keys show unlocked_dest -a) +printf "12345678\n" | $seidbin tx bank send admin "$key_admin1" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_admin2" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_admin3" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_admin4" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_op" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_staking" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block +printf "12345678\n" | $seidbin tx bank send admin "$key_unlock" 10000000sei -y --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block + + +# Deploy goblin contract +contract_name=goblin +cd $seihome || exit +echo "Deploying $contract_name contract..." + +# store +echo "Storing contract..." +store_result=$(printf "12345678\n" | $seidbin tx wasm store integration_test/contracts/"$contract_name".wasm -y --from="$keyname" --chain-id="$chainid" --gas=5000000 --fees=1000000usei --broadcast-mode=block --output=json) +contract_id=$(echo "$store_result" | jq -r '.logs[].events[].attributes[] | select(.key == "code_id").value') +echo "Got $contract_name contract id: $contract_id" + +# instantiate +echo "Instantiating contract..." +params='{"admins":["'$key_admin1'", "'$key_admin2'", "'$key_admin3'", "'$key_admin4'"], "max_voting_period": {"time":1800}, "admin_voting_threshold_percentage": 75}' +instantiate_result=$(printf "12345678\n" | $seidbin tx wasm instantiate "$contract_id" "$params" -y --no-admin --amount=1500000usei --from="$keyname" --chain-id="$chainid" --gas=5000000 --fees=1000000usei --broadcast-mode=block --label=$contract_name --output=json) +contract_addr=$(echo "$instantiate_result" |jq -r '.logs[].events[].attributes[] | select(.key == "_contract_address").value') +echo "Instantiated $contract_name contract address: $contract_addr" +echo "$contract_addr,$contract_id" > $seihome/integration_test/contracts/"$contract_name"-contract-addr.txt +if [ -z "$contract_addr" ] +then + echo "Failed to deploy contract $contract_name" + exit 1 +fi + +# Deploy gringotts contract +goblin_addr=$contract_addr +if [ -z "$migration" ] +then + contract_name=gringotts +else + contract_name=gringotts_migrate +fi +cd $seihome || exit +echo "Deploying $contract_name contract..." + +# store +echo "Storing contract..." +store_result=$(printf "12345678\n" | $seidbin tx wasm store integration_test/contracts/"$contract_name".wasm -y --from="$keyname" --chain-id="$chainid" --gas=5000000 --fees=1000000usei --broadcast-mode=block --output=json) +contract_id=$(echo "$store_result" | jq -r '.logs[].events[].attributes[] | select(.key == "code_id").value') +echo "Got $contract_name contract id: $contract_id" + +# instantiate +echo "Instantiating contract..." +VESTING_TIMESTAMPS='["1893456000000000000", "1924992000000000000"]' # nanoseconds since unix epoch +VESTING_AMOUNTS='["1000000", "500000"]' # in usei +params='{"admins":["'$key_admin1'", "'$key_admin2'", "'$key_admin3'", "'$key_admin4'"], "ops": ["'$key_op'"], "tranche": {"denom":"usei", "vesting_timestamps":'$VESTING_TIMESTAMPS', "vesting_amounts":'$VESTING_AMOUNTS', "unlocked_token_distribution_address": "'$key_unlock'", "staking_reward_distribution_address": "'$key_staking'"}, "max_voting_period": {"time":1800}, "admin_voting_threshold_percentage": 75}' +instantiate_result=$(printf "12345678\n" | $seidbin tx wasm instantiate "$contract_id" "$params" -y --admin="$goblin_addr" --amount=1500000usei --from="$keyname" --chain-id="$chainid" --gas=5000000 --fees=1000000usei --broadcast-mode=block --label=$contract_name --output=json) +contract_addr=$(echo "$instantiate_result" |jq -r '.logs[].events[].attributes[] | select(.key == "_contract_address").value') +echo "Instantiated $contract_name contract address: $contract_addr" +echo "$contract_addr,$contract_id" > $seihome/integration_test/contracts/"$contract_name"-contract-addr.txt +if [ -z "$contract_addr" ] +then + echo "Failed to deploy contract $contract_name" + exit 1 +fi + +exit 0 diff --git a/integration_test/contracts/gringotts.wasm b/integration_test/contracts/gringotts.wasm new file mode 100644 index 0000000000000000000000000000000000000000..98947d52c5475cc9e7a750d5a28b817ce141d3c1 GIT binary patch literal 450852 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

d8W?RrVP=%90$4R>75z~6^`zQv?Z%v% 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

M_6 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 literal 0 HcmV?d00001 diff --git a/integration_test/distribution_module/rewards.yaml b/integration_test/distribution_module/rewards.yaml new file mode 100644 index 0000000000..b24ba81e08 --- /dev/null +++ b/integration_test/distribution_module/rewards.yaml @@ -0,0 +1,28 @@ +- name: Test withdraw rewards + inputs: + # Create test account + - cmd: seid keys add --keyring-backend test distribution-test + - cmd: printf "12345678\n" | seid keys show -a node_admin + env: NODE_ADMIN_ACC + - cmd: seid keys show -a distribution-test --keyring-backend test + env: DISTRIBUTION_TEST_ACC + # Get current rewards + - cmd: seid q distribution rewards $NODE_ADMIN_ACC -o json | jq -r ".total[0].amount | tonumber" + env: REWARDS_START + # Simple tx to increase rewards + - cmd: printf "12345678\n" | seid tx bank send $NODE_ADMIN_ACC $DISTRIBUTION_TEST_ACC 1sei -b block --fees 2000usei --chain-id sei -y + # Get rewards after tx + - cmd: seid q distribution rewards $NODE_ADMIN_ACC -o json | jq -r ".total[0].amount | tonumber" + env: REWARDS_AFTER_TX + # Withdraw all rewards + - cmd: printf "12345678\n" | seid tx distribution withdraw-all-rewards -b block --fees 2000usei --chain-id sei -y --from node_admin + # Get rewards after withdraw + - cmd: seid q distribution rewards $NODE_ADMIN_ACC -o json | jq -r ".total[0].amount | tonumber" + env: REWARDS_AFTER_WITHDRAW + verifiers: + # Rewards should have increased + - type: eval + expr: REWARDS_AFTER_TX > REWARDS_START + - type: eval + expr: REWARDS_AFTER_WITHDRAW < REWARDS_AFTER_TX + diff --git a/integration_test/oracle_module/verify_penalty_counts.yaml b/integration_test/oracle_module/verify_penalty_counts.yaml new file mode 100644 index 0000000000..448b8821a7 --- /dev/null +++ b/integration_test/oracle_module/verify_penalty_counts.yaml @@ -0,0 +1,46 @@ +- name: Test penalty counts for oracle process + inputs: + # Get slashing window + - cmd: seid q oracle params --output json | jq -r ".params.slash_window" + env: ORACLE_SLASH_WINDOW + # Get vote period + - cmd: seid q oracle params --output json | jq -r ".params.vote_period" + env: VOTE_PERIOD + # Get current height + - cmd: seid q block | jq -r ".block.header.height" + env: BLOCK_HEIGHT + # calculate progress in slash window + - cmd: expr $BLOCK_HEIGHT % $ORACLE_SLASH_WINDOW + env: WINDOW_PROGRESS + # get expected number of penalty counts + - cmd: expr \( $WINDOW_PROGRESS + 1 \) / $VOTE_PERIOD + env: EXPECTED_COUNTS + # Get admin val addr + - cmd: printf "12345678\n" | seid keys show node_admin --bech val --output json | jq -r ".address" + env: ADMIN_VAL_ADDR + # get vote penalty counts + - cmd: seid q oracle vote-penalty-counter $ADMIN_VAL_ADDR --height $BLOCK_HEIGHT --output json | jq -r ".vote_penalty_counter" + env: PENALTY_JSON + # get success counts + - cmd: echo $PENALTY_JSON | jq -r ".success_count" + env: SUCCESS_COUNT + # get abstain counts + - cmd: echo $PENALTY_JSON | jq -r ".abstain_count" + env: ABSTAIN_COUNT + # get miss counts + - cmd: echo $PENALTY_JSON | jq -r ".miss_count" + env: MISS_COUNT + # calculate total + - cmd: expr $SUCCESS_COUNT + $ABSTAIN_COUNT + $MISS_COUNT + env: TOTAL_COUNT + # calculate success rate + - cmd: expr $(expr $SUCCESS_COUNT \* 100 ) / $TOTAL_COUNT + env: SUCCESS_PERCENT + verifiers: + # verify total counts GEQ expected: not asserting equal due to block movement between evaluation + - type: eval + expr: TOTAL_COUNT == EXPECTED_COUNTS or TOTAL_COUNT == EXPECTED_COUNTS + 1 + # verify success rate > 5% to ensure some successes and that theyre about slash threshold + - type: eval + expr: SUCCESS_PERCENT >= 5 + diff --git a/integration_test/wasm_module/timelocked_token_withdraw_test.yaml b/integration_test/wasm_module/timelocked_token_withdraw_test.yaml new file mode 100644 index 0000000000..2df2d401c9 --- /dev/null +++ b/integration_test/wasm_module/timelocked_token_withdraw_test.yaml @@ -0,0 +1,17 @@ +- name: Test withdraw unvested tokens and rewards + inputs: + # query and store the gringotts contract address + - cmd: tail -1 integration_test/contracts/gringotts-contract-addr.txt |cut -d "," -f 1 + env: GRINGOTTS_ADDR + # query the current token balance + - cmd: seid q wasm contract-state smart $GRINGOTTS_ADDR " {\"info\":{}} " --output json |jq -r .data.withdrawn_unlocked + # withdraw vested tokens, note that no partial withdrawal is supported, and op needs to make sure, that enough staked tokens are already unbonded, otherwise the tx would fail + - cmd: printf "12345678\n" | seid tx wasm execute $GRINGOTTS_ADDR " {\"initiate_withdraw_unlocked\":{}} " -y --from=op --chain-id=sei --gas=5000000 --fees=1000000usei --broadcast-mode=block --output json |jq -r .code + # withdraw staking rewards + - cmd: printf "12345678\n" | seid tx wasm execute $GRINGOTTS_ADDR " {\"initiate_withdraw_reward\":{}} " -y --from=op --chain-id=sei --gas=5000000 --fees=1000000usei --broadcast-mode=block --output json |jq -r .code + # query the token balance again + - cmd: seid q wasm contract-state smart $GRINGOTTS_ADDR " {\"info\":{}} " --output json |jq -r .data.withdrawn_unlocked + env: RESULT + verifiers: + - type: eval + expr: RESULT == 0 From 3636b10016681510cc29471e963473930daf2774 Mon Sep 17 00:00:00 2001 From: yzang2019 Date: Wed, 26 Mar 2025 21:31:14 +0800 Subject: [PATCH 2/2] 2.0.48beta cherry pick SeiDB --- cmd/seid/cmd/debug.go | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/seid/cmd/debug.go b/cmd/seid/cmd/debug.go index b9a2a63311..eb67919207 100644 --- a/cmd/seid/cmd/debug.go +++ b/cmd/seid/cmd/debug.go @@ -115,7 +115,7 @@ func dumpIavlCmdHandler(cmd *cobra.Command, args []string) error { os.Exit(1) } lines = append(lines, []byte(fmt.Sprintf("Hash: %X\n", hash))...) - lines = append(lines, []byte(fmt.Sprintf("Size: %X\n", tree.Size()))...) + lines = append(lines, []byte(fmt.Sprintf("Size: %X\n", tree.ITree.Size()))...) // write lines to file err = os.WriteFile(fmt.Sprintf("%s/%s.data", outputDir, module), lines, os.ModePerm) if err != nil { @@ -267,7 +267,7 @@ func encodeID(id []byte) string { func PrintShape(tree *iavl.MutableTree) ([]byte, error) { // shape := tree.RenderShape(" ", nil) - shape, err := tree.RenderShape(" ", nodeEncoder) + shape, err := tree.ITree.RenderShape(" ", nodeEncoder) if err != nil { return []byte{}, err } diff --git a/go.mod b/go.mod index 42a8f87a87..027c7b44c0 100644 --- a/go.mod +++ b/go.mod @@ -310,7 +310,7 @@ replace ( github.com/sei-protocol/sei-db => github.com/sei-protocol/sei-db v0.0.38 // Latest goleveldb is broken, we have to stick to this version github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 - github.com/tendermint/tendermint => github.com/sei-protocol/sei-tendermint v0.2.15 + github.com/tendermint/tendermint => github.com/sei-protocol/sei-tendermint v0.2.16-0.20250326131624-d970f911e93a github.com/tendermint/tm-db => github.com/sei-protocol/tm-db v0.0.4 google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index 1489fc2260..48a0a8c2e8 100644 --- a/go.sum +++ b/go.sum @@ -1176,8 +1176,8 @@ github.com/sei-protocol/sei-db v0.0.38 h1:GiQl3qBd6XgGsHkJd4I8GnOmGjGoWQg3SJAS82 github.com/sei-protocol/sei-db v0.0.38/go.mod h1:F/ZKZA8HJPcUzSZPA8yt6pfwlGriJ4RDR4eHKSGLStI= github.com/sei-protocol/sei-iavl v0.2.0 h1:OisPjXiDT+oe+aeckzDEFgkZCYuUjHgs/PP8DPicN+I= github.com/sei-protocol/sei-iavl v0.2.0/go.mod h1:qRf8QYUPfrAO7K6VDB2B2l/N7K5L76OorioGBcJBIbw= -github.com/sei-protocol/sei-tendermint v0.2.15 h1:sP3ETBjD7+Rys82INRXKlFj8a4ZsstR0tFnA2N77mjA= -github.com/sei-protocol/sei-tendermint v0.2.15/go.mod h1:+BtDvAwTkE64BlxzpH9ZP7S6vUYT9wRXiZa/WW8/o4g= +github.com/sei-protocol/sei-tendermint v0.2.16-0.20250326131624-d970f911e93a h1:bywup72/3fJwlS2gM1ZDkiMMbJ9Qr6uqF4dBzD/xmXM= +github.com/sei-protocol/sei-tendermint v0.2.16-0.20250326131624-d970f911e93a/go.mod h1:4LSlJdhl3nf3OmohliwRNUFLOB1XWlrmSodrIP7fLh4= github.com/sei-protocol/sei-tm-db v0.0.5 h1:3WONKdSXEqdZZeLuWYfK5hP37TJpfaUa13vAyAlvaQY= github.com/sei-protocol/sei-tm-db v0.0.5/go.mod h1:Cpa6rGyczgthq7/0pI31jys2Fw0Nfrc+/jKdP1prVqY= github.com/sei-protocol/sei-wasmd v0.0.1 h1:dRvdapc1sqWxhIB2+DKS5LfilFjOsaFwWkGkSWwQIow=