From 6e299e9dd1c9f37d3d98bb218ead90c3e5de3304 Mon Sep 17 00:00:00 2001 From: Wojtek <103407812+wojtek-coreum@users.noreply.github.com> Date: Tue, 7 Nov 2023 07:39:35 +0100 Subject: [PATCH] Upgrade bdjuno to support cosmos sdk v0.47.x (#30) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build(deps): bump github.com/lib/pq from 1.10.5 to 1.10.6 (#409) Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.5 to 1.10.6.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/lib/pq&package-manager=go_modules&previous-version=1.10.5&new-version=1.10.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: save all coins from total supply query (#410) ## Description Closes: #XXXX Currently BDjuno only stores 1 page of total supply, which can lead to the native token being not on the 1 page of query and we fail to store it. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump forbole/juno to v3.2.1 (#412) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#416) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.7.2.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.1&new-version=1.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/rs/zerolog from 1.26.1 to 1.27.0 (#417) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.26.1 to 1.27.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.26.1&new-version=1.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.13.0 to 1.14.0 (#420) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.13.0 to 1.14.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.14.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.13.0...v1.14.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.13.0&new-version=1.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.4 (#424) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.7.4.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.2&new-version=1.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#423) [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.
Release notes

Sourced from github.com/spf13/cobra's releases.

v1.5.0

Spring 2022 Release 🌥️

Hello everyone! Welcome to another release of cobra. Completions continue to get better and better. This release adds a few really cool new features. We also continue to patch versions of our dependencies as they become available via dependabot. Happy coding!

Active help 👐🏼

Shout out to @​marckhouzam for a big value add: Active Help spf13/cobra#1482. With active help, a program can provide some inline warnings or hints for users as they hit tab. Now, your CLIs can be even more intuitive to use!

Currently active help is only supported for bash V2 and zsh. Marc wrote a whole guide on how to do this, so make sure to give it a good read to learn how you can add this to your cobra code! https://github.com/spf13/cobra/blob/master/active_help.md

Group flags 🧑🏼‍🤝‍🧑🏼

Cobra now has the ability to mark flags as required or exclusive as a group. Shout out to our newest maintainer @​johnSchnake for this! spf13/cobra#1654 Let's say you have a username flag that MUST be partnered with a password flag. Well, now, you can enforce those as being required together:

rootCmd.Flags().StringVarP(&u, "username", "u", "", "Username (required if password is set)")
rootCmd.Flags().StringVarP(&pw, "password", "p", "", "Password (required if username is set)")
rootCmd.MarkFlagsRequiredTogether("username", "password")

Flags may also be marked as "mutally exclusive" with the MarkFlagsMutuallyExclusive(string, string ... ) command API. Refer to our user guide documentation for further info!

Completions 👀

Documentation 📝

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.4.0&new-version=1.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump technote-space/get-diff-action from 6.0.1 to 6.1.0 (#422) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 6.0.1 to 6.1.0.
Release notes

Sourced from technote-space/get-diff-action's releases.

v6.1.0

What’s Changed

:wrench: Maintenance

:sparkles: All Changes

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=technote-space/get-diff-action&package-manager=github_actions&previous-version=6.0.1&new-version=6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: update proposal to latest status in parse proposal cmd (#401) ## Description Closes: #XXXX Currently proposal status is not updated with `bdjuno parse gov proposal [id]` --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 (#425) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.4 to 1.7.5.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.4&new-version=1.7.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#428) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.7.5&new-version=1.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.14.0 to 1.15.0 (#427) [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.14.0 to 1.15.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.15.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.14.0...v1.15.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: missing go.sum entry when building container image (#429) ## Description When building the container image, I got this error go: github.com/cosmos/cosmos-sdk@v0.45.4 requires github.com/prometheus/client_golang@v1.12.1: missing go.sum entry; to add it: go mod download github.com/prometheus/client_golang make: *** [Makefile:31: build] Error 1 This can be solved by adding go mod download before running make build command * feat: Add workflow to build bdjuno container image (#431) ## Description This PR creates a workflow that is triggered by pushing changes to "chains/*/*" branch. I have a mock test at https://github.com/maiquanghiep/test_CICD/actions to demonstrate the result. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * feat: update proposals that have invalid status but can still be in voting or deposit periods (#430) ## Description Closes: #XXXX --- The proposals in voting period are often marked as `PROPOSAL_STATUS_INVALID` because of not found on chain probably due to gRPC failure. It results in the proposal never gets updated given its invalid status. Now the proposals will be updated until the `deposit_end_time` or `voting_end_time` even if the proposal status is invalid. ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * feat: update inflation following mint param change proposal passed (#432) ## Description Closes: #XXXX --- Test: - parse block 4114861 for getting proposal 15 - parse block 4213603 when the proposal is passed, the inflation will be updated ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build: updated Mergify config to also work on chains branches * build(deps): bump github.com/go-co-op/gocron from 1.15.0 to 1.15.1 (#437) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.15.0 to 1.15.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.15.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.15.0...v1.15.1

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.15.0&new-version=1.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump forbole/juno to v3.3.0 (#440) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/go-co-op/gocron from 1.15.1 to 1.16.1 (#441) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.15.1 to 1.16.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.16.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.16.0...v1.16.1

v1.16.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.15.1...v1.16.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.15.1&new-version=1.16.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* chore: release v3.2.0 * build(deps): bump github.com/go-co-op/gocron from 1.16.1 to 1.16.2 (#446) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.16.1 to 1.16.2.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.16.2

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.16.1...v1.16.2

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.16.1&new-version=1.16.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0 (#447) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.13.0.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

## 1.13.0 / 2022-08-06

New Contributors ❤️

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.13.0 / 2022-08-05

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.12.2&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: remove tombstone from `validator_status` (already exists in `validator_singing_info`) (#443) ## Description Closes: #XXXX Removing `tombstone status` from `validator_status` because: - it makes the code cleaner as `tombstone status` is already stored in `validator_singing_info` - it saves grpc calls for each validator at each block - the front-end `graphQL` does not query it from `validator_status` table anyways c.f. #411 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(ci): replace DOCKERHUB_TOKEN with DOCKERHUB_PASSWORD * build: go v1.18 (#452) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/go-co-op/gocron from 1.16.2 to 1.16.3 (#456) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.16.2 to 1.16.3.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.16.3

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.16.2...v1.16.3

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.16.2&new-version=1.16.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* feat: updated staking pool values (#455) ## Description Closes: [BDU-484](https://forbole.atlassian.net/browse/BDU-484) --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [x] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/go-co-op/gocron from 1.16.3 to 1.17.0 (#459) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.16.3 to 1.17.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.17.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.16.3...v1.17.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.16.3&new-version=1.17.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* feat: add daily refetch module (#454) ## Description Closes: BDU-479 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [x] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/rs/zerolog from 1.27.0 to 1.28.0 (#460) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.27.0 to 1.28.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.27.0&new-version=1.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: parse gov genesis with `doc.InitialHeight` instead of height 1 (#461) ## Description Closes: #XXXX jira: https://forbole.atlassian.net/browse/BDU-544 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/lib/pq from 1.10.6 to 1.10.7 (#463) Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.6 to 1.10.7.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/lib/pq&package-manager=go_modules&previous-version=1.10.6&new-version=1.10.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump forbole/juno to v3.4.0 (#462) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * fix: get open proposal ids in deposit/voting period by block time instead of current time (#465) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump amannn/action-semantic-pull-request from 4.5.0 to 4.6.0 (#471) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 4.5.0 to 4.6.0.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v4.6.0

4.6.0 (2022-09-26)

Features

Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

4.6.0 (2022-09-26)

Features

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=4.5.0&new-version=4.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump Dockerfile Go version to 1.18 (backport #466) (#474) This is an automatic backport of pull request #466 done by [Mergify](https://mergify.com). ---
Mergify commands and options
More conditions and actions can be found in the [documentation](https://docs.mergify.com/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport ` will backport this PR on `` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.com/) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.com
Co-authored-by: Rick Mak * feat: store software upgrade plan and refresh data at upgrade height (#467) ## Description Closes: #XXXX jira: https://forbole.atlassian.net/browse/BDU-604 Background: Sifchain hard-coded `validator minimum commission` in a new release and updated it with `software upgrade`. Without any `MsgEditValidator` involved, the `validator commission %` could not be updated and were then incorrect. This PR stores `software upgrade proposal's upgrade plan` and uses the `upgrade` module to check if there's an upgrade plan at each height, if yes it will proceed with neccessary updates of data. Currently it's only updating the validator infos (the rest of the data I believe we have `periodic task` or `handle block` which should be enough). We can add more in the future if similar cases pop up. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#478) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.5.0 to 1.6.0.
Release notes

Sourced from github.com/spf13/cobra's releases.

v1.6.0

Summer 2022 Release

Some exciting changes make their way to Cobra! Command completions continue to get better and better (including adding --help and --version automatic flags to the completions list). Grouping is now possible in your help output as well! And you can now use the OnFinalize method to cleanup things when all "work" is done. Checkout the full changelog below:


Features 🌠

Deprecation 👎🏼

  • ExactValidArgs is deprecated (but not being removed entirely). This is abit nuanced, so checkout #1643 for further information and the updated user_guide.md on how this may affect you (and how you can take advantage of the correct behavior in the validators): @​umarcor #1643

Bug fixes 🐛

Dependencies 🗳️

Testing 🤔

Docs ✏️

Misc 💭

Note: Per #1804, we will be moving away from "seasonal" releases and doing more generic point release targets. Continue to track the milestones and issues in the spf13/cobra GitHub repository for more information!

Great work everyone! Cobra would never be possible without your contributions! 🐍

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.5.0&new-version=1.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump amannn/action-semantic-pull-request from 4.6.0 to 5.0.0 (#477) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 4.6.0 to 5.0.0.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.0.0

5.0.0 (2022-10-11)

⚠ BREAKING CHANGES

  • Enum options need to be newline delimited (to allow whitespace within them) (#205)

Features

  • Enum options need to be newline delimited (to allow whitespace within them) (#205) (c906fe1)
Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.0.0 (2022-10-11)

⚠ BREAKING CHANGES

  • Enum options need to be newline delimited (to allow whitespace within them) (#205)

Features

  • Enum options need to be newline delimited (to allow whitespace within them) (#205) (c906fe1)
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=4.6.0&new-version=5.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump technote-space/get-diff-action from 6.1.0 to 6.1.1 (#481) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 6.1.0 to 6.1.1.
Release notes

Sourced from technote-space/get-diff-action's releases.

v6.1.1

What’s Changed

:wrench: Maintenance

:sparkles: All Changes

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=technote-space/get-diff-action&package-manager=github_actions&previous-version=6.1.0&new-version=6.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump amannn/action-semantic-pull-request from 5.0.0 to 5.0.1 (#480) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.0.0 to 5.0.1.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.0.1

5.0.1 (2022-10-14)

Bug Fixes

  • Upgrade GitHub Action to use Node v16 (#207) (6282ee3)
Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.0.1 (2022-10-14)

Bug Fixes

  • Upgrade GitHub Action to use Node v16 (#207) (6282ee3)
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=5.0.0&new-version=5.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump amannn/action-semantic-pull-request from 5.0.1 to 5.0.2 (#483) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.0.1 to 5.0.2.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.0.2

5.0.2 (2022-10-17)

Bug Fixes

  • Upgrade @actions/core to avoid deprecation warnings (#208) (91f4126)
Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.0.2 (2022-10-17)

Bug Fixes

  • Upgrade @actions/core to avoid deprecation warnings (#208) (91f4126)
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=5.0.1&new-version=5.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.17.0 to 1.17.1 (#484) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.17.0 to 1.17.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.17.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.17.0...v1.17.1

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.17.0&new-version=1.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: support building bdjuno image for chains with CosmWasm (#485) ## Description The current Dockerfile does not support building bdjuno for chains that have CosmWasm. The commit first modifies the Makefile to accept BUILD_TAGS and LINK_STATICALLY parameters. Then Dockerfile includes both CosmWasm/non-CosmWasm version so that we can adjust it for each chain. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 (#486) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.2.0 to 3.3.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golangci/golangci-lint-action&package-manager=github_actions&previous-version=3.2.0&new-version=3.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#487) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.0&new-version=1.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#488) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1.
Release notes

Sourced from github.com/spf13/cobra's releases.

v1.6.1

Bug fixes 🐛

  • Fixes a panic when AddGroup isn't called before AddCommand(my-sub-command) is executed. This can happen within more complex cobra file structures that have many different inits to be executed. Now, the check for groups has been moved to ExecuteC and provides more flexibility when working with grouped commands - @​marckhouzam (and shout out to @​aawsome, @​andig and @​KINGSABRI for a deep investigation into this! 👏🏼)
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.6.0&new-version=1.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: improve Hasura permissions (#473) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * feat: remove block height foreign key from propoval vote and deposit, add timestamp column (#489) ## Description block height foreign key on `proposal_vote` and `proposal_deposit` tables is getting `parse genesis-file` errors because the block table could be empty at the time of parsing genesis. It results in the error like `pq: insert or update on table "proposal_deposit" violates foreign key constraint "proposal_deposit_height_fkey"` Add `timestamp` column so frontend can access this data. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * feat: add host address to hasura actions (#491) ## Description Fixes #490 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [x] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/prometheus/client_golang from 1.13.0 to 1.13.1 (#493) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.13.0 to 1.13.1.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

1.13.1 / 2022-11-02

  • [BUGFIX] Fix race condition with Exemplar in Counter. #1146
  • [BUGFIX] Fix CumulativeCount value of +Inf bucket created from exemplar. #1148
  • [BUGFIX] Fix double-counting bug in promhttp.InstrumentRoundTripperCounter. #1118

Full Changelog: https://github.com/prometheus/client_golang/compare/v1.13.0...v1.13.1

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.13.1 / 2022-11-01

  • [BUGFIX] Fix race condition with Exemplar in Counter. #1146
  • [BUGFIX] Fix CumulativeCount value of +Inf bucket created from exemplar. #1148
  • [BUGFIX] Fix double-counting bug in promhttp.InstrumentRoundTripperCounter. #1118
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.13.0&new-version=1.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0 (#498) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.13.1 to 1.14.0.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

1.14.0 / 2022-11-08

It might look like a small release, but it's quite opposite 😱 There were many non user facing changes and fixes and enormous work from engineers from Grafana to add native histograms in 💪🏾 Enjoy! 😍

What's Changed

  • [FEATURE] Add Support for Native Histograms. #1150
  • [CHANGE] Extend prometheus.Registry to implement prometheus.Collector interface. #1103

New Contributors

Full Changelog: https://github.com/prometheus/client_golang/compare/v1.13.1...v1.14.0

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.14.0 / 2022-11-08

  • [FEATURE] Add Support for Native Histograms. #1150
  • [CHANGE] Extend prometheus.Registry to implement prometheus.Collector interface. #1103
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.13.1&new-version=1.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.17.1 to 1.18.0 (#497) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.17.1 to 1.18.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.18.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.17.1...v1.18.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.17.1&new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* feat: manually trigger periodic task (#492) ## Description Closes: #415 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [x] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * fix: check if proposal has passed voting end time before marking it as invalid (#499) ## Description Closes: #XXXX jira: https://forbole.atlassian.net/browse/BDU-693 --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#500) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.0 to 3.3.1.
Release notes

Sourced from golangci/golangci-lint-action's releases.

v3.3.1

What's Changed

Full Changelog: https://github.com/golangci/golangci-lint-action/compare/v3...v3.3.1

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golangci/golangci-lint-action&package-manager=github_actions&previous-version=3.3.0&new-version=3.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(ci): upgrade golangci version (#508) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump technote-space/get-diff-action from 6.1.1 to 6.1.2 (#503) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 6.1.1 to 6.1.2.
Release notes

Sourced from technote-space/get-diff-action's releases.

v6.1.2

What’s Changed

:sparkles: All Changes

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=technote-space/get-diff-action&package-manager=github_actions&previous-version=6.1.1&new-version=6.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/rs/zerolog from 1.28.0 to 1.29.0 (#516) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.28.0 to 1.29.0.
Commits
  • fa9bf37 Fix missing cbor encoder AppendType method
  • db22191 Use recent go versions in test workflow (#519)
  • 164f7aa Add Any field function (#515)
  • 3543e9d parsing CAPS log levels (#506)
  • 5bdc93f Fix console formatter for timestampunixnano (#502)
  • e3027a5 Fix docs and behavior of WithContext (#499)
  • a9a8199 ConsoleWriter fallbacks to local timezone for missing TZ indicator (#497)
  • 89617ff Adding Event.Type(...) method to log the type of an object (#437)
  • 55aaf04 Show original level message if it's not predefined value. (#476)
  • 315967f Avoid race in diode.Close with waiter (#481)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.28.0&new-version=1.29.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#515) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.1 to 3.4.0.
Release notes

Sourced from golangci/golangci-lint-action's releases.

v3.4.0

What's Changed

New Contributors

... (truncated)

Commits
  • 08e2f20 build(deps-dev): bump eslint-plugin-simple-import-sort from 8.0.0 to 9.0.0 (#...
  • 8d11078 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.48.1 to 5.48.2 ...
  • 724a542 build(deps-dev): bump @​typescript-eslint/parser from 5.48.1 to 5.48.2 (#656)
  • ac0edcd build(deps-dev): bump eslint-plugin-import from 2.27.4 to 2.27.5 (#655)
  • d6404ce build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.48.0 to 5.48.1 ...
  • cb88bde build(deps-dev): bump @​typescript-eslint/parser from 5.48.0 to 5.48.1 (#653)
  • f26018a build(deps-dev): bump eslint from 8.31.0 to 8.32.0 (#652)
  • 78451d0 build(deps-dev): bump prettier from 2.8.2 to 2.8.3 (#651)
  • 5570e66 build(deps-dev): bump eslint-plugin-import from 2.26.0 to 2.27.4 (#650)
  • 1626f2b Support Caching in Mono Repo (#629)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golangci/golangci-lint-action&package-manager=github_actions&previous-version=3.3.1&new-version=3.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump docker/build-push-action from 3 to 4 (#518) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
Release notes

Sourced from docker/build-push-action's releases.

v4.0.0

Warning

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v3.3.1...v4.0.0

v3.3.1

Full Changelog: https://github.com/docker/build-push-action/compare/v3.3.0...v3.3.1

v3.3.0

Warning

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v3.2.0...v3.3.0

v3.2.0

Full Changelog: https://github.com/docker/build-push-action/compare/v3.1.1...v3.2.0

v3.1.1

Full Changelog: https://github.com/docker/build-push-action/compare/v3.1.0...v3.1.1

v3.1.0

  • no-cache-filters input by @​crazy-max (#653)
  • Bump @​actions/github from 5.0.1 to 5.0.3 (#619)
  • Bump @​actions/core from 1.6.0 to 1.9.0 (#620 #637)
  • Bump csv-parse from 5.0.4 to 5.3.0 (#623 #650)

Full Changelog: https://github.com/docker/build-push-action/compare/v3.0.0...v3.1.0

Commits
  • 3b5e802 Merge pull request #784 from crazy-max/enable-provenance
  • 02d3266 update generated content
  • f403daf revert disable provenance by default if not set
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* updated cosmos-sdk to v0.46.x and juno to v4 * updated bdjuno paths to v4 * updated migrate cmd desc * updated golangci.yaml * build(deps): bump amannn/action-semantic-pull-request from 5.0.2 to 5.1.0 (#522) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.0.2 to 5.1.0.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.1.0

5.1.0 (2023-02-10)

Features

  • Add regex support to scope and disallowScopes configuration (#226) (403a6f8)
Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.1.0 (2023-02-10)

Features

  • Add regex support to scope and disallowScopes configuration (#226) (403a6f8)
Commits
  • b6bca70 chore: Release 5.1.0 [skip ci]
  • 403a6f8 feat: Add regex support to scope and disallowScopes configuration (#226)
  • 0b14f54 Update issue templates [skip ci]
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=5.0.2&new-version=5.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* feat: update proposal snapshots handling on block (#523) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * feat: update proposal snapshots handling on block (#523) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * fix: fix docker authentication & determine Dockerfile at run time (#524) ## Description This request has two changes: First, the request updates the login credentials to DockerHub. Second, the request enables the CI to build Docker images using two different Dockerfiles. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * fix: correct docker/build-push-action's input (#525) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 (#526) Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.
Commits
  • 434eadc language: reject excessively large Accept-Language strings
  • 23407e7 go.mod: ignore cyclic dependency for tagging
  • b18d3dd secure/precis: replace bytes.Compare with bytes.Equal
  • 795e854 all: replace io/ioutil with io and os package
  • b0ca10f internal/language: bump script types to uint16 and update registry
  • ba9b0e1 go.mod: update x/tools to HEAD
  • d03b418 A+C: delete AUTHORS and CONTRIBUTORS
  • b4bca84 language/display: fix Tag method comment
  • ea49e3e go.mod: update x/tools to HEAD
  • 78819d0 go.mod: update to golang.org/x/text v0.1.10
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/text&package-manager=go_modules&previous-version=0.3.7&new-version=0.3.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/forbole/bdjuno/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#528) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.1&new-version=1.8.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump golang.org/x/crypto from 0.0.0-20220214200702-86341886e292 to 0.1.0 (#529) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20220214200702-86341886e292 to 0.1.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/crypto&package-manager=go_modules&previous-version=0.0.0-20220214200702-86341886e292&new-version=0.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/forbole/bdjuno/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump golang.org/x/net from 0.1.0 to 0.7.0 (#535) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.1.0 to 0.7.0.
Commits
  • 8e2b117 http2/hpack: avoid quadratic complexity in hpack decoding
  • 547e7ed http2: avoid referencing ResponseWrite.Write parameter after returning
  • 39940ad html: parse comments per HTML spec
  • 87ce33e go.mod: update golang.org/x dependencies
  • 415cb6d all: fix some comments
  • 7e3c19c all: correct typos in comments
  • 296f09a http2: case insensitive handling for 100-continue
  • f8411da nettest: fix tests on dragonfly and js/wasm
  • 8e0e7d8 go.mod: update golang.org/x dependencies
  • 7805fdc http2: rewrite inbound flow control tracking
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/net&package-manager=go_modules&previous-version=0.1.0&new-version=0.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/forbole/bdjuno/network/alerts).
* build(deps): bump actions/setup-go from 3 to 4 (#538) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
Release notes

Sourced from actions/setup-go's releases.

v4.0.0

In scope of release we enable cache by default. The action won’t throw an error if the cache can’t be restored or saved. The action will throw a warning message but it won’t stop a build process. The cache can be disabled by specifying cache: false.

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v4
    with:
      go-version: ‘1.19’
  - run: go run hello.go

Besides, we introduce such changes as

Add support for stable and oldstable aliases

In scope of this release we introduce aliases for the go-version input. The stable alias instals the latest stable version of Go. The oldstable alias installs previous latest minor release (the stable is 1.19.x -> the oldstable is 1.18.x).

Stable

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
    with:
      go-version: 'stable'
  - run: go run hello.go

OldStable

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
    with:
      go-version: 'oldstable'
  - run: go run hello.go

Add support for go.work and pass the token input through on GHES

In scope of this release we added support for go.work file to pass it in go-version-file input.

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-go@v3
</tr></table>

... (truncated)

Commits
  • 4d34df0 Update configuration files (#348)
  • fdc0d67 Add Go bin if go-version input is empty (#351)
  • ebfdf6a add warning if go-version is empty (#350)
  • b27d769 fix lockfileVersion (#349)
  • c51a720 Enable caching by default with default input (#332)
  • 6b848af Merge pull request #343 from akv-platform/reusable-workflow
  • 12741cc Format update-config-files.yml
  • 7a77a6a Merge branch 'main' into reusable-workflow
  • 42a0cc8 Add update-config-files.yml
  • 7406d65 Add and configure ESLint and update configuration for Prettier (#341)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-go&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump amannn/action-semantic-pull-request from 5.1.0 to 5.2.0 (#539) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.1.0 to 5.2.0.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.2.0

5.2.0 (2023-03-16)

Features

Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.2.0 (2023-03-16)

Features

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=5.1.0&new-version=5.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* fix: sdkmath type in PoolSnapshot (#536) ## Description Closes: #XXXX typo fixes --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump forbole/juno and forbole/bdjuno to v4 (#542) ## Description Closes: #XXXX Changes: - Upgraded BDJuno to `v4` - Upgraded Juno to `v4.1.0` - Upgraded Go to `1.19` --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/go-co-op/gocron from 1.18.0 to 1.19.0 (#541) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.18.0 to 1.19.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.19.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.18.1...v1.18.2

v1.18.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.18.0...v1.18.1

Commits
  • 708b009 Fix a bug with scheduling next runs on daylight savings change days (#435)
  • fb8a255 job: Pad ScheduledAtTime(s) with leading zeroes (#432)
  • c07d41f Bump go.uber.org/goleak from 1.2.0 to 1.2.1 (#423)
  • daaff6d Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#427)
  • 568b685 Bump golang.org/x/sync from 0.0.0-20210220032951-036812b2e83c to 0.1.0 (#428)
  • f39c4ea fix panic caused by race condition (#426)
  • d7d2da6 Fix flaky testAt (#419)
  • ac2a5ac Fix flaky SetEventListeners test (#413)
  • 01aebbb Bump golangci/golangci-lint-action from 3.3.0 to 3.4.0 (#411)
  • ef9722c Refactor any type / fix for callback test (#410)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.18.0&new-version=1.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump google.golang.org/grpc from 1.50.0 to 1.53.0 (#544) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.0 to 1.53.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.53.0

API Changes

  • balancer: support injection of per-call metadata from LB policies (#5853)
  • resolver: remove deprecated field resolver.Target.Endpoint and replace with resolver.Target.Endpoint() (#5852)

New Features

  • xds/ringhash: introduce GRPC_RING_HASH_CAP environment variable to override the maximum ring size. (#5884)
  • rls: propagate headers received in RLS response to backends (#5883)

Bug Fixes

  • transport: drain client transport when streamID approaches MaxStreamID (#5889)
  • server: after GracefulStop, ensure connections are closed when final RPC completes (#5968)
  • server: fix a few issues where grpc server uses RST_STREAM for non-HTTP/2 errors (#5893)
  • xdsclient: fix race which can happen when multiple load reporting calls are made at the same time. (#5927)
  • rls: fix a data race involving the LRU cache (#5925)
  • xds: fix panic involving double close of channel in xDS transport (#5959)
  • gcp/observability: update method name validation (#5951)

Documentation

  • credentials/oauth: mark NewOauthAccess as deprecated (#5882)

Release 1.52.3

Bug Fixes

  • Fix user-agent version

Release 1.52.2

Bug Fixes

  • xds: fix panic involving double close of channel in xDS transport (#5959)

Release 1.52.1

Bug Fixes

  • grpclb: rename grpclbstate package back to state (#5963)

Release 1.52.0

New Features

  • xdsclient: log node ID with verbosity INFO (#5860)
  • ringhash: impose cap on max_ring_size to reduce possibility of OOMs (#5801)

Behavior Changes

... (truncated)

Commits
  • dba26e1 Change version to 1.53.0 (#5983)
  • 2a1e934 server: after GracefulStop, ensure connections are closed when final RPC comp...
  • e2d69aa tests: fix spelling of variable (#5966)
  • a6376c9 xds/resolver: cleanup tests to use real xDS client 3/n (#5953)
  • bf8fc46 xds/resolver: cleanup tests to use real xDS client 5/n (#5955)
  • 3930549 resolver: replace resolver.Target.Endpoint field with Endpoint() method (#5852)
  • 894816c grpclb: rename grpclbstate package back to state (#5962)
  • e5a0237 encoding: fix duplicate compressor names (#5958)
  • 4adb2a7 xds/resolver: cleanup tests to use real xDS client 2/n (#5952)
  • 52a8392 gcp/observability: update method name validation (#5951)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.50.0&new-version=1.53.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#546) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.54.0

Behavior Changes

  • xds: remove support for xDS v2 transport API (#6013)

New Features

  • server: expose SetSendCompressor API to set send compressor name (#5744)
  • xdsclient: include Node proto only in the first discovery request message, to improve performance (#6078)

Bug Fixes

  • metadata: fix validation logic and properly validate metadata appended via AppendToOutgoingContext (#6001)
  • transport: do not close connections when we encounter I/O errors until after all data is consumed (#6110)
  • ringhash: ensure addresses are consistently hashed across updates (#6066)
  • xds/clusterimpl: fix a bug causing unnecessary closing and re-opening of LRS streams (#6112)
  • xds: NACK route configuration if sum of weights of weighted clusters exceeds uint32_max (#6085)

Documentation

  • resolver: update Resolver.Scheme() docstring to mention requirement of lowercase scheme names (#6014)
  • resolver: document expected error handling of UpdateState errors (#6002)
  • examples: add example for ORCA load reporting (#6114)
  • examples: add an example to illustrate authorization (authz) support (#5920)
Commits
  • 2997e84 Change version to 1.54.0 (#6129)
  • b638faf stats/opencensus: Add message prefix to metrics names (#6126)
  • c84a500 credentials/alts: defer ALTS stream creation until handshake time (#6077)
  • 6f44ae8 metadata: add benchmark test for FromIncomingContext and ValueFromIncomingCon...
  • a1e657c client: log last error on subchannel connectivity change (#6109)
  • 36fd0a4 gcp/observability: Add compressed metrics to observability module and synchro...
  • 52ca957 xds: make comparison of server configs in bootstrap more reliable (#6112)
  • 7507ea6 gcp/observability: Change logging schema and set queue size limit for logs an...
  • 16c3b7d examples: add example for ORCA load reporting (#6114)
  • b458a4f transport: stop always closing connections when loopy returns (#6110)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.53.0&new-version=1.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#551) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0.
Release notes

Sourced from github.com/spf13/cobra's releases.

v1.7.0

✨ Features

🐛 Bug fixes

🧪 Testing & CI/CD

🔧 Maintenance

✏️ Documentation


This release contains several long running fixes, improvements to powershell completions, and further optimizations for completions.

Thank you everyone who contributed to this release and all your hard work! Cobra and this community would never be possible without all of you! 🐍

Full changelog: https://github.com/spf13/cobra/compare/v1.6.1...v1.7.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/cobra&package-manager=go_modules&previous-version=1.6.1&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump golangci-lint from v1.50.1 to v1.51.1 (#559) ## Description Closes: #XXXX Changes: - Updated golangci-lint from `v1.50.1` to `v1.51.1` - Updated `io/ioutil` imports --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * build(deps): bump github.com/go-co-op/gocron from 1.19.0 to 1.22.0 (#557) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.19.0 to 1.22.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.22.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.21.1...v1.22.0

v1.21.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.21.0...v1.21.1

v1.21.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.20.0...v1.20.1

v1.20.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.19.1...v1.20.0

v1.19.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.19.0...v1.19.1

Commits
  • 23c3543 add FinishedRunCount() to job (#452)
  • 9b1fc3e fix singleton mode to avoid goroutine leaks, and accurate run counts (#451)
  • 0f22dbe Fix build badge in readme (#450)
  • a86ec0c fix random interval where lastRun ends up in the past (#449)
  • 6cd5439 when Week() is called without At(), but StartAt() is called, use StartAt() of...
  • 9319e67 fix issue where At() without StartAt() never ran (#447)
  • 761b3ee fix issue where weekday, startat and at set at the same time result in unexpe...
  • f76295a fix couple of tests that are flakey due to timing (#445)
  • 0c31906 add func for getting all tags (#443)
  • 081083e handle case where last run would be in the future on a job update (#444)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.19.0&new-version=1.22.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/rs/zerolog from 1.29.0 to 1.29.1 (#558) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.29.0 to 1.29.1.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.29.0&new-version=1.29.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/prometheus/client_golang from 1.14.0 to 1.15.0 (#556) [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.14.0 to 1.15.0.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

v1.15.0

Changed

[BUGFIX] Fix issue with atomic variables on ppc64le #1171 [BUGFIX] Support for multiple samples within same metric #1181 [BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 #1187 [ENHANCEMENT] Add exemplars and middleware examples #1173 [ENHANCEMENT] Add more context to "duplicate label names" error to enable debugging #1177 [ENHANCEMENT] Add constrained labels and constrained variant for all MetricVecs #1151 [ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf package #1183 [ENHANCEMENT] Add possibility to dynamically get label values for http instrumentation #1066 [ENHANCEMENT] Add ability to Pusher to add custom headers #1218 [ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage #1225 [ENHANCEMENT] Added (official) support for go 1.20 #1234 [ENHANCEMENT] timer: Added support for exemplars #1233 [ENHANCEMENT] Filter expected metrics as well in CollectAndCompare #1143 [ENHANCEMENT] ⚠️ Only set start/end if time is not Zero. This breaks compatibility in experimental api package. If you strictly depend on empty time.Time as actual value, the behavior is now changed #1238

... (truncated)

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.15.0 / 2023-04-13

What's Changed

  • [BUGFIX] Fix issue with atomic variables on ppc64le #1171
  • [BUGFIX] Support for multiple samples within same metric #1181
  • [BUGFIX] Bump golang.org/x/text to v0.3.8 to mitigate CVE-2022-32149 #1187
  • [ENHANCEMENT] Add exemplars and middleware examples #1173
  • [ENHANCEMENT] Add more context to "duplicate label names" error to enable debugging #1177
  • [ENHANCEMENT] Add constrained labels and constrained variant for all MetricVecs #1151
  • [ENHANCEMENT] Moved away from deprecated github.com/golang/protobuf package #1183
  • [ENHANCEMENT] Add possibility to dynamically get label values for http instrumentation #1066
  • [ENHANCEMENT] Add ability to Pusher to add custom headers #1218
  • [ENHANCEMENT] api: Extend and improve efficiency of json-iterator usage #1225
  • [ENHANCEMENT] Added (official) support for go 1.20 #1234
  • [ENHANCEMENT] timer: Added support for exemplars #1233
  • [ENHANCEMENT] Filter expected metrics as well in CollectAndCompare #1143
  • [ENHANCEMENT] :warning: Only set start/end if time is not Zero. This breaks compatibility in experimental api package. If you strictly depend on empty time.Time as actual value, the behavior is now changed #1238
Commits
  • d7896d4 Cut v1.15.0 (#1249)
  • bba12b5 Bump github.com/prometheus/common from 0.41.0 to 0.42.0 (#1244)
  • 9015fcf Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 (#1245)
  • 1bb8cf8 Bump golang.org/x/sys from 0.5.0 to 0.6.0 (#1246)
  • ff7efed Merge pull request #1243 from prometheus/dependabot/go_modules/google.golang....
  • 852a282 Bump google.golang.org/protobuf from 1.28.1 to 1.30.0
  • 63a3955 Merge pull request #1238 from jacksontj/issue_621
  • eb33971 Filter expected metrics as well in CollectAndCompare (#1143)
  • 5c7821d Update common Prometheus files (#1237)
  • 6037863 Only set start/end if time is not Zero
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/lib/pq from 1.10.7 to 1.10.8 (#561) Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.7 to 1.10.8.
Commits
  • c10fcfe remove stray debugging code
  • 96e73eb conn: Implement driver.Validator, SessionResetter for cancelation
  • 922c00e Update codeql-analysis.yml
  • a2a3173 Update test.yml
  • 3a6282f Reduced the complexity of handlePgpass (#1101)
  • 133ac67 Improved the performance of CopyIn and CopyInSchema and added BufferQuoteIden...
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/lib/pq&package-manager=go_modules&previous-version=1.10.7&new-version=1.10.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.22.0 to 1.22.1 (#562) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.22.0 to 1.22.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.22.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.22.0...v1.22.1

Commits
  • c283137 allow scheduler functions pertaining to a job to be called in any order (#453)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.22.0&new-version=1.22.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/tendermint/tendermint from 0.34.22 to 0.34.24 (#564) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.22 to 0.34.24.
Release notes

Sourced from github.com/tendermint/tendermint's releases.

0.34.24

https://github.com/tendermint/tendermint/blob/v0.34.24/CHANGELOG.md#v03424

0.34.23

https://github.com/tendermint/tendermint/blob/v0.34.23/CHANGELOG.md#v03423

Changelog

Sourced from github.com/tendermint/tendermint's changelog.

v0.34.24

Nov 21, 2022

Apart from one minor bug fix, this release aims to optimize the output of the RPC (both HTTP and WebSocket endpoints). See our upgrading guidelines for more details.

IMPROVEMENTS

BUG FIXES

  • [rpc] #9692 Remove Cache-Control header response from /check_tx endpoint (@​JayT106)

v0.34.23

Nov 9, 2022

This release introduces some new Prometheus metrics to help in determining what kinds of messages are consuming the most P2P bandwidth. This builds towards our broader goal of optimizing Tendermint bandwidth consumption, and will give us meaningful insights once we can establish these metrics for a number of chains.

We now also return Cache-Control headers for select RPC endpoints to help facilitate caching.

Special thanks to external contributors on this release: @​JayT106

IMPROVEMENTS

  • [p2p] #9641 Add new Envelope type and associated methods for sending and receiving Envelopes instead of raw bytes. This also adds new metrics, tendermint_p2p_message_send_bytes_total and tendermint_p2p_message_receive_bytes_total, that expose how many bytes of each message type have been sent.

  • [rpc] #9666 Enable caching of RPC responses (@​JayT106)

    The following RPC endpoints will return Cache-Control headers with a maximum age of 1 day:

    • /abci_info
    • /block, if height is supplied
    • /block_by_hash
    • /block_results, if height is supplied
    • /blockchain

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/tendermint/tendermint&package-manager=go_modules&previous-version=0.34.22&new-version=0.34.24)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.22.1 to 1.22.2 (#563) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.22.1 to 1.22.2.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.22.2

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.22.1...v1.22.2

Commits
  • b77fa0d rework the exectuor stopping to use context with cancel and wait groups inste...
  • f9acde1 Update README.md (#454)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.22.1&new-version=1.22.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.22.2 to 1.22.4 (#567) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.22.2 to 1.22.4.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.22.4

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.22.3...v1.22.4

v1.22.3

What's Changed

  • refactor/fix the max concurrent jobs executor func by @​JohnRoesler in go-co-op/gocron#456

    the existing limit mode was leaking goroutines due to the implementation spinning up a goroutine for each job whether or not it is blocked. So if there a lot of jobs being queued the goroutines will pile up. this implementation uses a single goroutine limited job runner that reads jobs from a mutex protected slice and runs then when slots are available within the max concurrent runs limit.

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.22.2...v1.22.3

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.22.2&new-version=1.22.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/go-co-op/gocron from 1.22.4 to 1.23.0 (#569) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.22.4 to 1.23.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.23.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.22.4...v1.23.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.22.4&new-version=1.23.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/lib/pq from 1.10.8 to 1.10.9 (#571) Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.8 to 1.10.9.
Release notes

Sourced from github.com/lib/pq's releases.

v1.10.9

  • Fixes backwards incompat bug with 1.13.
  • Fixes pgpass issue
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/lib/pq&package-manager=go_modules&previous-version=1.10.8&new-version=1.10.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/prometheus/client_golang from 1.15.0 to 1.15.1 (#572) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.15.0 to 1.15.1.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

v1.15.1

Changes

  • [BUGFIX] Fixed promhttp.Instrument* handlers wrongly trying to attach exemplar to unsupported metrics (e.g. summary),
    causing panics #1253

Full Changelog: https://github.com/prometheus/client_golang/compare/v1.15.0...v1.15.1

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

Unreleased

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.15.0&new-version=1.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump google.golang.org/grpc from 1.54.0 to 1.55.0 (#574) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.54.0 to 1.55.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.55.0

Behavior Changes

  • xds: enable federation support by default (#6151)
  • status: status.Code and status.FromError handle wrapped errors (#6031 and #6150)

New Features

  • xds/xdsclient: support ignore_resource_deletion server feature as per gRFC A53 (#6035)
  • security/advancedtls: add min/max TLS version selection options (#6007)

Bug Fixes

  • xds: stop routing RPCs to deleted clusters (#6125)
  • client: fix race between stream creation and GOAWAY receipt, which could lead to spurious UNAVAILABLE stream errors (#6142)

Performance Improvements

Commits
  • 82c6376 Change version to 1.55.0 (#6211)
  • d33f68e googledirectpatph: enable ignore_resource_deletion in bootstrap (#6243) (#6246)
  • 3fc6e00 authz: Move audit package (#6218) (#6219)
  • 875c97a examples/features/observability: use observability module v1.0.0 (#6210)
  • aa8c137 authz: add audit logging APIs (#6158)
  • b91b884 gcp/observability: Have o11y module point to grpc 1.54 and opencensus 1.0.0 (...
  • eab9e20 test/kokoro: increase PSM Security test timeout to 4h (#6193)
  • d90621f remove the unnecessary call to ResetTimer and StopTimer (#6185)
  • fe72db9 testing: add helpers to start test service, and retrieve port (#6187)
  • 5a50b97 Revert "Revert "credentials/alts: defer ALTS stream creation until handshake ...
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.54.0&new-version=1.55.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.23.0 to 1.24.0 (#573) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.23.0 to 1.24.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.24.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.23.0...v1.24.0

v1.24.0-rc2

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.23.0...v1.24.0-rc2

v1.24.0-rc1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.23.0...v1.24.0-rc1

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.23.0&new-version=1.24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(ci): update Mergify to only require 1 review * build(deps): bump github.com/go-co-op/gocron from 1.24.0 to 1.25.0 (#575) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.24.0 to 1.25.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.25.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.24.0...v1.25.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.24.0&new-version=1.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.25.0 to 1.26.0 (#576) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.25.0 to 1.26.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.26.0

What's Changed

New Features

Fixes

Documentation

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.25.0...v1.26.0

Commits
  • 724bbbc fix the flakey at time tests (#481)
  • 47efd39 fix: deadlock for blocking channel (#473)
  • 5944648 enhance the locker documentation (#480)
  • c253265 Add support for setting the job name - used as the lock key when using distri...
  • 51e4a72 fix: clear the limitModeQueue chan on stop (#477)
  • 2156260 fix: executor run block when executor.stop() (#475)
  • 2936a47 Fix data race in executor with enabling the limit mode (#474)
  • c4e641b Fix the distributed locking didn't take effect if the max concurrent (#471)
  • 02bb002 fix: atomic.Bool for scheduler.running (#470)
  • 01b3bf0 docs: add CronWithSeconds example in readme.md (#469)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.25.0&new-version=1.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.26.0 to 1.27.0 (#577) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.26.0 to 1.27.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.27.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.26.0...v1.27.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.26.0&new-version=1.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.27.0 to 1.27.1 (#578) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.27.0 to 1.27.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.27.1

What's Changed

fixed

docs updated

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.27.0...v1.27.1

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.27.0&new-version=1.27.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* chore: update dependabot reviewers & bug report assignees (#579) ## Description Closes: #XXXX --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) * Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#582) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.2 to 1.8.3.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.2&new-version=1.8.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/go-co-op/gocron from 1.27.1 to 1.28.0 (#585) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.27.1 to 1.28.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.28.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.27.1...v1.28.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.27.1&new-version=1.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* Merge branch 'cosmos/v0.44.x' of https://github.com/forbole/bdjuno into cosmos/v0.46.x * build(deps): bump github.com/go-co-op/gocron from 1.28.0 to 1.28.1 (#587) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.28.0 to 1.28.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.28.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.28.0...v1.28.1

Commits
  • 604aa9b Revert "provide a better panic message when no jobs in scheduler and start bl...
  • 5bc0245 fix: atTime being incorrectly set for non compatible units (#502)
  • b035fe3 provide a better panic message when no jobs in scheduler and start blocking c...
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.28.0&new-version=1.28.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#588) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.3 to 1.8.4.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/stretchr/testify&package-manager=go_modules&previous-version=1.8.3&new-version=1.8.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.28.1 to 1.28.2 (#592) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.28.1 to 1.28.2.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.28.2

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.28.1...v1.28.2

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.28.1&new-version=1.28.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 (#595) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.4.0 to 3.5.0.
Release notes

Sourced from golangci/golangci-lint-action's releases.

v3.5.0

What's Changed

... (truncated)

Commits
  • 5f1fec7 build(deps-dev): bump @​typescript-eslint/parser from 5.59.6 to 5.59.7 (#758)
  • 601007b build(deps): bump @​types/node from 20.2.3 to 20.2.5 (#756)
  • d2a913e build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.59.6 to 5.59.7 ...
  • 7233bd7 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.59.5 to 5.59.6 ...
  • 687f029 build(deps): bump @​types/node from 20.1.4 to 20.2.3 (#755)
  • f9990cd build(deps-dev): bump @​typescript-eslint/parser from 5.59.5 to 5.59.6 (#754)
  • f30aa51 build(deps-dev): bump eslint from 8.40.0 to 8.41.0 (#753)
  • 6b21f58 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.59.2 to 5.59.5 ...
  • 535ed3a build(deps): bump @​types/semver from 7.3.13 to 7.5.0 (#748)
  • 0078ef0 build(deps-dev): bump @​typescript-eslint/parser from 5.59.1 to 5.59.5 (#750)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golangci/golangci-lint-action&package-manager=github_actions&previous-version=3.4.0&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * update juno to v5 * Merge branch 'cosmos/v0.46.x' of https://github.com/forbole/bdjuno into cosmos/v0.47.x * replace tendermint with cometbft pkg * build(deps): replace github.com/gogo/protobuf with github.com/cosmos/gogoproto * build: bump Go version to 1.20 * build(deps): bump github.com/forbole/juno to v5.1.0 * build(deps): bump github.com/forbole/bdjuno to v5 * build(deps): replace github.com/gogo/protobuf with github.com/cosmos/gogoproto * build(deps): bump cosmossdk.io/math from 1.0.0 to 1.0.1 (#596) Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0 to 1.0.1.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cosmossdk.io/math&package-manager=go_modules&previous-version=1.0.0&new-version=1.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/cosmos/gogoproto from 1.4.8 to 1.4.10 (#597) Bumps [github.com/cosmos/gogoproto](https://github.com/cosmos/gogoproto) from 1.4.8 to 1.4.10.
Release notes

Sourced from github.com/cosmos/gogoproto's releases.

v1.4.10

What's Changed

Full Changelog: https://github.com/cosmos/gogoproto/compare/v1.4.9...v1.4.10

v1.4.9

What's Changed

Full Changelog: https://github.com/cosmos/gogoproto/compare/v1.4.8...v1.4.9

Changelog

Sourced from github.com/cosmos/gogoproto's changelog.

v1.4.10 - 2023-05-11

  • #67 Remove warning about double registration. The Cosmos SDK does purposely double-registration so this warning is not useful.

v1.4.9 - 2023-05-03

Breaking changes

  • #62 Change public API for MergedFileDescriptors, MergedGlobalFileDescriptors, etc. introduced in v1.4.8, retracting that release.

Improvements

  • #62 Add the proto.HybridResolver var which exposes the merged *protoregistry.Files functionality in a high-performance way. Also add the proto.GogoResolver var.
Commits
  • 28c37ed chore: remove double registration warning (#67)
  • 413865a chore(deps): bump google.golang.org/grpc from 1.54.0 to 1.55.0 (#64)
  • d4ceb75 chore(deps): bump bufbuild/buf-setup-action from 1.17.0 to 1.18.0 (#65)
  • e74325c docs: v1.4.9 CHANGELOG (#63)
  • 8051872 feat!: add HybridResolver (#62)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/gogoproto&package-manager=go_modules&previous-version=1.4.8&new-version=1.4.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump golangci/golangci-lint-action from 3.5.0 to 3.6.0 (#599) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.5.0 to 3.6.0.
Release notes

Sourced from golangci/golangci-lint-action's releases.

v3.6.0

What's Changed

New Contributors

Full Changelog: https://github.com/golangci/golangci-lint-action/compare/v3.5.0...v3.6.0

Commits
  • 639cd34 tests: increase timeout
  • 569abaa fix: out-format (#770)
  • c57cc43 build(deps-dev): bump typescript from 5.0.4 to 5.1.3 (#764)
  • 322510a feat: support out-format as args (#769)
  • 185e7a2 feat: add install-mode (#768)
  • 5be60c7 docs: improve args examples
  • 825a50d chore: update workflow and doc
  • 8c13ec4 doc: Add custom configuration file path to args (#767)
  • 416b5d0 build(deps-dev): bump @​typescript-eslint/parser from 5.59.7 to 5.59.8 (#765)
  • 66a6080 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.59.7 to 5.59.8 ...
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golangci/golangci-lint-action&package-manager=github_actions&previous-version=3.5.0&new-version=3.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/go-co-op/gocron from 1.28.2 to 1.28.3 (#598) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.28.2 to 1.28.3.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.28.3

Bug fixes

Chores

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.28.2...v1.28.3

Commits
  • fed28e8 protect the job function's waitgroup with a mutex to avoid race conditions (#...
  • 272915a chore: don't do codeql scanning on push for dependabot branches (#511)
  • f79bf56 Bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 (#509)
  • 7390192 fix race occurrence with single queue in executor (#508)
  • 2c3b43d upgrade to golangci lint 1.53.1 (#506)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.28.2&new-version=1.28.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/cometbft/cometbft from 0.37.1 to 0.37.2 (#600) Bumps [github.com/cometbft/cometbft](https://github.com/cometbft/cometbft) from 0.37.1 to 0.37.2.
Release notes

Sourced from github.com/cometbft/cometbft's releases.

v0.37.2

See the CHANGELOG for this release.

Changelog

Sourced from github.com/cometbft/cometbft's changelog.

v0.37.2

June 14, 2023

Provides several minor bug fixes, as well as fixes for several low-severity security issues.

BUG FIXES

  • [state/kvindex] Querying event attributes that are bigger than int64 is now enabled. We are not supporting reading floats from the db into the indexer nor parsing them into BigFloats to not introduce breaking changes in minor releases. (#771)
  • [pubsub] Pubsub queries are now able to parse big integers (larger than int64). Very big floats are also properly parsed into very big integers instead of being truncated to int64. (#771)

IMPROVEMENTS

  • [rpc] Remove response data from response failure logs in order to prevent large quantities of log data from being produced (#654)

SECURITY FIXES

  • [rpc/jsonrpc/client] Low severity - Prevent RPC client credentials from being inadvertently dumped to logs (#787)
  • [cmd/cometbft/commands/debug/kill] Low severity - Fix unsafe int cast in debug kill command (#793)
  • [consensus] Low severity - Avoid recursive call after rename to (*PeerState).MarshalJSON (#863)
  • [mempool/clist_mempool] Low severity - Prevent a transaction from appearing twice in the mempool (#890: @​otrack)
Commits
  • fe45483 Release v0.37.2 (#972)
  • 9a453da fix: avoid recursive call after rename to (*PeerState).MarshalJSON (#865) (#969)
  • 4f04b67 Add requirement for CheckTx in ABCI spec (backport #928) (#965)
  • 3e6b456 build(deps): Bump docker/build-push-action from 4.0.0 to 4.1.1 (#959)
  • 79f182b build(deps): Bump docker/setup-buildx-action from 2.5.0 to 2.7.0 (#958)
  • 3f62405 build(deps): Bump docker/login-action from 2.1.0 to 2.2.0 (#937)
  • e45db5d build(deps): Bump bufbuild/buf-setup-action from 1.20.0 to 1.21.0 (#936)
  • 9cbdef8 e2e: Generate prometheus.yaml on setup (#954) (#957)
  • 587522f v0.37.x: Prevent a transaction to appear twice in the mempool (backport #890)...
  • 6c94617 build(deps): Bump bufbuild/buf-setup-action from 1.19.0 to 1.20.0 (#911)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cometbft/cometbft&package-manager=go_modules&previous-version=0.37.1&new-version=0.37.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (#603) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.15.1 to 1.16.0.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

v1.16.0

What's Changed

  • [BUGFIX] api: Switch to POST for LabelNames, Series, and QueryExemplars. #1252
  • [BUGFIX] api: Fix undefined execution order in return statements. #1260
  • [BUGFIX] native histograms: Fix bug in bucket key calculation. #1279
  • [ENHANCEMENT] Reduce constrainLabels allocations for all metrics. #1272
  • [ENHANCEMENT] promhttp: Add process start time header for scrape efficiency. #1278
  • [ENHANCEMENT] promlint: Improve metricUnits runtime. #1286

New Contributors

Full Changelog: https://github.com/prometheus/client_golang/compare/v1.15.1...v1.16.0

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.16.0 / 2023-06-15

  • [BUGFIX] api: Switch to POST for LabelNames, Series, and QueryExemplars. #1252
  • [BUGFIX] api: Fix undefined execution order in return statements. #1260
  • [BUGFIX] native histograms: Fix bug in bucket key calculation. #1279
  • [ENHANCEMENT] Reduce constrainLabels allocations for all metrics. #1272
  • [ENHANCEMENT] promhttp: Add process start time header for scrape efficiency. #1278
  • [ENHANCEMENT] promlint: Improve metricUnits runtime. #1286
Commits
  • 3583c1e Cut v1.16.0 (#1292)
  • 2feda42 Fixed README & CHANGELOG; Added fmt makefile command (+bingo) for easier cont...
  • 5b9cf9c Merge pull request #1290 from prometheus/fix-nh-docstring-refs
  • 1b19d5f Fix docstring references to renamed native histogram fields / functions.
  • 7352ab7 Moving fully to GH actions. (#1288)
  • e4ff34d Improve metricUnits runtime (#1286)
  • 781ea28 added circleci as gh action YAML (#1281)
  • a09a1d3 Reduce constrainLabels allocations (#1272)
  • 8840afc Bump github.com/prometheus/procfs from 0.9.0 to 0.10.1 (#1283)
  • 5e78d5f Merge pull request #1279 from prometheus/beorn7/histogram
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.15.1&new-version=1.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump google.golang.org/grpc from 1.55.0 to 1.56.0 (#604) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.55.0 to 1.56.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.56.0

New Features

  • client: support channel idleness using WithIdleTimeout dial option (#6263)
    • This feature is currently disabled by default, but will be enabled with a 30 minute default in the future.
  • client: when using pickfirst, keep channel state in TRANSIENT_FAILURE until it becomes READY (gRFC A62) (#6306)
  • xds: Add support for Custom LB Policies (gRFC A52) (#6224)
  • xds: support pick_first Custom LB policy (gRFC A62) (#6314) (#6317)
  • client: add support for pickfirst address shuffling (gRFC A62) (#6311)
  • xds: Add support for String Matcher Header Matcher in RDS (#6313)
  • xds/outlierdetection: Add Channelz Logger to Outlier Detection LB (#6145)
  • xds: enable RLS in xDS by default (#6343)
  • orca: add support for application_utilization field and missing range checks on several metrics setters
  • balancer/weightedroundrobin: add new LB policy for balancing between backends based on their load reports (gRFC A58) (#6241)
  • authz: add conversion of json to RBAC Audit Logging config (#6192)
  • authz: add support for stdout logger (#6230 and #6298)

Bug Fixes

  • orca: fix a race at startup of out-of-band metric subscriptions that would cause the report interval to request 0 (#6245)
  • xds/xdsresource: Fix Outlier Detection Config Handling and correctly set xDS Defaults (#6361)
  • xds/outlierdetection: Fix Outlier Detection Config Handling by setting defaults in ParseConfig() (#6361)

API Changes

  • orca: allow a ServerMetricsProvider to be passed to the ORCA service and ServerOption (#6223)
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.55.0&new-version=1.56.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build: update how golangci-lint version is tracked * build(ci): update lint workflow to use make lint * build(ci): run tests on all branches * build(ci): improve Docker build steps names * chore: run make format * chore: update CHANGELOG * chore: set go module to github.com/forbole/bdjuno/v4 * build: set Go version to 1.19 * build(deps): bump technote-space/get-diff-action from 6.1.0 to 6.1.2 (#611) Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 6.1.0 to 6.1.2.
Release notes

Sourced from technote-space/get-diff-action's releases.

v6.1.2

What’s Changed

:sparkles: All Changes

v6.1.1

What’s Changed

:wrench: Maintenance

:sparkles: All Changes

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=technote-space/get-diff-action&package-manager=github_actions&previous-version=6.1.0&new-version=6.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(ci): increase linting timeout to 10 minutes * build(ci): replace PATTERNS with SUFFIX_FILTER when computing git diff * feat: support gov v1 proposals (#610) ## Description This PR aims at updating the codebase in order to properlty support `x/gov` new `v1` proposal types and inner workings. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch - [ ] provided a link to the relevant issue or specification - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) --------- Co-authored-by: Magic Cat <37407870+MonikaCat@users.noreply.github.com> Co-authored-by: Magic Cat * build(deps): bump google.golang.org/grpc from 1.56.0 to 1.56.2 (#616) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.0 to 1.56.2.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.56.2

  • status: To fix a panic, status.FromError now returns an error with codes.Unknown when the error implements the GRPCStatus() method, and calling GRPCStatus() returns nil. (#6374)

Release 1.56.1

  • client: handle empty address lists correctly in addrConn.updateAddrs
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.56.0&new-version=1.56.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.28.3 to 1.30.1 (#614) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.28.3 to 1.30.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.30.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.30.0...v1.30.1

v1.30.0

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.29.0...v1.30.0

v1.29.0

What's Changed

Chores

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.28.3...v1.29.0

Commits
  • 76f5162 fix job with details run times with singleton mode (#521)
  • 61f60f6 add pause job execution on the scheduler (#518)
  • ffa4c91 add new RegisterEventListeners using new EventListener type (#517)
  • 8db49d2 Bump golangci/golangci-lint-action from 3.5.0 to 3.6.0 (#514)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.28.3&new-version=1.30.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/proullon/ramsql from 0.0.0-20181213202341-817cee58a244 to 0.0.1 (#613) Bumps [github.com/proullon/ramsql](https://github.com/proullon/ramsql) from 0.0.0-20181213202341-817cee58a244 to 0.0.1.
Release notes

Sourced from github.com/proullon/ramsql's releases.

Stable-ish beta

Main branch has never been tagged with a stable version for user to specify in go.mod.

Here it is, only bugfixing in 3 years.

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/proullon/ramsql&package-manager=go_modules&previous-version=0.0.0-20181213202341-817cee58a244&new-version=0.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump google.golang.org/grpc from 1.56.2 to 1.57.0 (#620) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.2 to 1.57.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.57.0

API Changes

  • resolver: remove deprecated Target.Scheme and Target.Authority. Use URL.Scheme and URL.Host instead, respectively (#6363)

Behavior Changes

  • client: percent-encode the default authority for the channel (#6428)
  • xds: require EDS service name to be set in a CDS cluster with an 'xdstp' resource name (gRFC A47) (#6438)

New Features

  • reflection: support the v1 reflection service and update Register to register both v1alpha and v1 (#6329)
  • xds: add support for string matcher in RBAC header matching (#6419)
  • alts: add support for GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES env var (#6267)
  • balancer/weightedroundrobin: de-experimentalize name of LB policy (#6477)

Bug Fixes

  • status: status.FromError now returns an error with codes.Unknown when the error implements the GRPCStatus() method, and calling GRPCStatus() returns nil (#6374)
  • server: fix bug preventing TCP user timeout from being set on the connection when TLS is used (#6321)
  • client: eliminate connection churn during an address update that differs only in balancer attributes (#6439)
  • clusterresolver: handle EDS nacks, resource-not-found errors, and DNS Resolver errors correctly (#6436, #6461)
  • xds/ringhash: cache connectivity state of subchannels inside picker to avoid rare races (#6351)
Commits
  • 87bf02a Change version to 1.57.0 (#6448)
  • 6b64be9 resolver/weighted_round_robin: remove experimental suffix from name
  • 9489082 github: replace deprecated command with environment file (#6417)
  • d1868a5 clusterresolver: add logs for dns discovery mechanism error cases (#6444)
  • 8e9c8f8 grpc: do not use balancer attributes during address comparison (#6439)
  • db32c5b Fix preloader mode in benchmarks (#6359)
  • f0280f9 xds: require EDS service name in new-style CDS clusters (gRFC A47) (#6438)
  • bf5b7ae clusterresolver: handle EDS nacks and resource-not-found errors correctly (#6...
  • fc0aa46 client: encode the authority by default (#6428)
  • 11feb0a resolver: delete Target.Scheme and Target.Authority (#6363)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.56.2&new-version=1.57.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/rs/zerolog from 1.29.1 to 1.30.0 (#621) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.29.1 to 1.30.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.29.1&new-version=1.30.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.30.1 to 1.31.0 (#622) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.30.1 to 1.31.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.31.0

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.30.2...v1.31.0

v1.30.2

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.30.1...v1.30.2

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.30.1&new-version=1.31.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.31.0 to 1.31.2 (#630) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.31.0 to 1.31.2.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.31.2

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.31.1...v1.31.2

v1.31.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.31.0...v1.31.1

Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.31.0&new-version=1.31.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/golangci/golangci-lint from 1.52.2 to 1.54.1 (#629) Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.52.2 to 1.54.1.
Release notes

Sourced from github.com/golangci/golangci-lint's releases.

v1.54.1

golangci-lint is a free and open-source project, built by people in their free time. Also, the linter authors are an important part of golangci-lint. If you use and appreciate golangci-lint please think to support us (golangci-lint maintainers and linters authors). :heart:

Changelog

  • 9fc1e207 build(deps): bump github.com/go-critic/go-critic from 0.8.2 to 0.9.0 (#4000)
  • ea4481a1 build(deps): bump github.com/quasilyte/go-ruleguard from v0.3.19 to v0.4.0 (#3999)
  • a9378d9b plugin: temporarily hide warning about using plugins using the old API (#4002)

v1.54.0

golangci-lint is a free and open-source project, built by people in their free time. Also, the linter authors are an important part of golangci-lint. If you use and appreciate golangci-lint please think to support us (golangci-lint maintainers and linters authors). :heart:

Changelog

  • ffe688c2 build(deps): bump github.com/4meepo/tagalign from 1.2.2 to 1.3.1 (#3979)
  • e555470c build(deps): bump github.com/4meepo/tagalign from 1.3.1 to 1.3.2 (#3980)
  • 68b4988d build(deps): bump github.com/Abirdcfly/dupword from 0.0.11 to 0.0.12 (#3944)
  • d58342f0 build(deps): bump github.com/GaijinEntertainment/go-exhaustruct/v3 from 2.3.0 to 3.1.0 (#3963)
  • 6e31512a build(deps): bump github.com/ashanbrown/forbidigo from 1.5.3 to 1.6.0 (#3942)
  • c37828a8 build(deps): bump github.com/daixiang0/gci from 0.10.1 to 0.11.0 (#3994)
  • 78462c2b build(deps): bump github.com/go-critic/go-critic from 0.8.1 to 0.8.2 (#3978)
  • cecd497d build(deps): bump github.com/golangci/misspell 0.4.0 to 0.4.1 (#3918)
  • 1c67f591 build(deps): bump github.com/kunwardeep/paralleltest from 1.0.7 to 1.0.8 (#3985)
  • fc5a8f90 build(deps): bump github.com/nunnatsa/ginkgolinter from 0.12.1 to 0.12.2 (#3937)
  • 91afddc9 build(deps): bump github.com/nunnatsa/ginkgolinter from 0.12.2 to 0.13.0 (#3962)
  • 52793e78 build(deps): bump github.com/nunnatsa/ginkgolinter from 0.13.0 to 0.13.3 (#3972)
  • 0f31e51b build(deps): bump github.com/polyfloyd/go-errorlint from 1.4.2 to 1.4.3 (#3935)
  • c406ca5c build(deps): bump github.com/shirou/gopsutil/v3 from 3.23.5 to 3.23.6 (#3936)
  • 1a32d402 build(deps): bump github.com/shirou/gopsutil/v3 from 3.23.6 to 3.23.7 (#3989)
  • 2c0224fb build(deps): bump github.com/ultraware/funlen from 0.0.3 to 0.1.0 (#3988)
  • 67dd65fc build(deps): bump github.com/uudashr/gocognit from 1.0.6 to 1.0.7 (#3961)
  • bbcabb73 build(deps): bump github.com/ykadowak/zerologlint from 0.1.2 to 0.1.3 (#3923)
  • 17f6fcc9 build(deps): bump gitlab.com/bosi/decorder from 0.2.3 to 0.4.0 (#3959)
  • a303529a build(deps): bump go.tmz.dev/musttag from 0.7.0 to 0.7.1 (#3924)
  • a6caf8bf build(deps): bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 in /scripts/gen_github_action_config (#3991)
  • 043c368f build(deps): bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 in /scripts/gen_github_action_config (#3920)
  • a56dfe8c build(deps): bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 in /scripts/gen_github_action_config (#3946)
  • 6b7a9645 build(deps): bump golang.org/x/tools from 0.10.0 to 0.11.0 (#3943)
  • 29f9717f build(deps): bump golang.org/x/tools from 0.11.1 to 0.12.0 (#3992)
  • 7cf30e7b build(deps): bump golang.org/x/tools from 0.9.3 to 0.10.0 (#3914)
  • 494bb075 build(deps): bump semver from 5.7.0 to 5.7.2 in /tools (#3948)
  • e3ff6e7c build(deps): bump semver from 5.7.1 to 5.7.2 in /.github/contributors (#3947)
  • 9d32f6ec chore: fix nancy
  • 79c78d6f feat: explain typecheck and remove it from the linter list (#3929)
  • 6c7aba67 fix: include custom linters in enable-all (#3911)
  • c1d8c565 fix: trim Go version (#3995)
  • e0a8bd85 go1.21 support (#3922)

... (truncated)

Changelog

Sourced from github.com/golangci/golangci-lint's changelog.

v1.54.1

  1. updated linters:
    • go-critic: from 0.8.2 to 0.9.0
  2. misc.
    • plugin: temporarily hide warning about using plugins using the old API

v1.54.0

  1. updated linters:
    • decorder: from 0.2.3 to 0.4.0
    • dupword: from 0.0.11 to 0.0.12
    • errorlint: from 1.4.2 to 1.4.3
    • exhaustruct: from 2.3.0 to 3.1.0
    • forbidigo: from 1.5.3 to 1.6.0
    • funlen: from 0.0.3 to 0.1.0
    • gci: from 0.10.1 to 0.11.0
    • ginkgolinter: from 0.12.1 to 0.13.3
    • go-critic: from 0.8.1 to 0.8.2
    • go-errorlint: from 1.4.2 to 1.4.3
    • go-exhaustruct: from 2.3.0 to 3.1.0
    • gocognit: from 1.0.6 to 1.0.7
    • gocritic: from 0.8.1 to 0.8.2
    • gofmt: autofix missing newline at EOF
    • misspell: 0.4.0 to 0.4.1
    • musttag: from 0.7.0 to 0.7.1
    • paralleltest: from 1.0.7 to 1.0.8
    • tagalign: from 1.2.2 to 1.3.2
    • typecheck: explain it and remove it from the linter list
    • zerologlint: from 0.1.2 to 0.1.3
  2. misc.
    • 🎉 go1.21 support
    • plugin: include custom linters in enable-all
    • plugin: allow to use settings for plugins
  3. Documentation
    • Add linter descriptions.

Important

ruleguard (a "rule" inside gocritic) was disabled in this release (v1.54.0) and was enabled again in the next release (v1.54.1).

exhaustruct has breaking changes with regular expressions, more details here.

v1.53.3

  1. updated linters:
    • cyclop: from 1.2.0 to 1.2.1
    • exhaustive: from 0.10.0 to 0.11.0
    • forbidigo: from 1.5.1 to 1.5.3
    • ginkgolinter: from 0.12.2 to 0.12.1

... (truncated)

Commits
  • a9378d9 plugin: temporarily hide warning about using plugins using the old API (#4002)
  • 9fc1e20 build(deps): bump github.com/go-critic/go-critic from 0.8.2 to 0.9.0 (#4000)
  • ea4481a build(deps): bump github.com/quasilyte/go-ruleguard from v0.3.19 to v0.4.0 (#...
  • 03b1824 docs: Update documentation and assets (#3997)
  • c1d8c56 fix: trim Go version (#3995)
  • e0a8bd8 go1.21 support (#3922)
  • c37828a build(deps): bump github.com/daixiang0/gci from 0.10.1 to 0.11.0 (#3994)
  • 29f9717 build(deps): bump golang.org/x/tools from 0.11.1 to 0.12.0 (#3992)
  • a6caf8b build(deps): bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 in /scripts/gen_g...
  • 2c0224f build(deps): bump github.com/ultraware/funlen from 0.0.3 to 0.1.0 (#3988)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/golangci/golangci-lint&package-manager=go_modules&previous-version=1.52.2&new-version=1.54.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Magic Cat * build(deps): bump github.com/forbole/juno/v5 from 5.1.0 to 5.2.0 (#631) Bumps [github.com/forbole/juno/v5](https://github.com/forbole/juno) from 5.1.0 to 5.2.0.
Changelog

Sourced from github.com/forbole/juno/v5's changelog.

v5.2.0

Changes

  • Exposed Database#CreatePartitionIfNotExists method
  • (#97) Add x/authz message parser
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/forbole/juno/v5&package-manager=go_modules&previous-version=5.1.0&new-version=5.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Magic Cat * build(deps): bump github.com/go-co-op/gocron from 1.31.2 to 1.32.1 (#633) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.31.2 to 1.32.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.32.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.32.0...v1.32.1

v1.32.0

What's Changed

  • add job uuids and change scheduler job slice to map by @​JohnRoesler in go-co-op/gocron#541
    • The Swap() and Less() methods were removed from the scheduler. These were public methods to enable slice sorting of the jobs in the scheduler. With the change to a map, they no longer have any use or value.
  • support monthly schedules counting backwards from end of month by @​JohnRoesler in go-co-op/gocron#542

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.31.2...v1.32.0

Commits
  • 39d4071 put Jobs() back to returning slice and add JobsMap() (#544)
  • 22cd6b7 support monthly schedules counting backwards from end of month (#542)
  • a7577a9 add job uuids and change scheduler job slice to map (#541)
  • See full diff in compare view

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.31.2&new-version=1.32.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/proullon/ramsql from 0.0.1 to 0.1.1 (#636) Bumps [github.com/proullon/ramsql](https://github.com/proullon/ramsql) from 0.0.1 to 0.1.1.
Release notes

Sourced from github.com/proullon/ramsql's releases.

Fix regression on CamelCase attribute query

What's Changed

New Contributors

Full Changelog: https://github.com/proullon/ramsql/compare/v0.1.0...v0.1.1

Transaction based rewrite

Context

Introduction of agnostic in-memory store, leveraging GC-optimized storage to garantee low GC pauses and good GC behavior over time.

Complete rewrite improving performance, removing deadlocks and storage as Go types, allowing creation of objects table.

Ensure compatibility with gorm, a popular Go ORM.

Added implementation goal in README, in preparation for stable 1.0 release.

What's Changed

Full Changelog: https://github.com/proullon/ramsql/compare/v0.0.1...v0.1.0

Commits
  • 71d06ed fix: AttributeSelector uses lower case to match attributes
  • 5b0278f fix: add failing test for CamelCase query
  • 481f3e2 fix(engine): Relation.Attribute() convert name argument to lower case to be c...
  • e12c987 fix: insert mixed case value attribute
  • a7e15a6 fix: use driver.Conn as Tx
  • d851e3f feat: extend transaction testing
  • 6014112 chore: update travis go version
  • dc4783e feat: add test for #40
  • 7e9cda5 chore: update benchstat
  • 6cae3e0 chore: update benchstat
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/proullon/ramsql&package-manager=go_modules&previous-version=0.0.1&new-version=0.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump cosmossdk.io/math from 1.0.1 to 1.1.2 (#635) Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.1 to 1.1.2.
Release notes

Sourced from cosmossdk.io/math's releases.

Cosmovisor v1.1.0

Release Notes

New execution model

With this release we are shifting to a new CLI design:

  • in the past, Cosmovisor was designed to act as a wrapper for a Cosmos App. An admin could link it and use it instead of the Cosmos App. When running it will pass all options and configuration parameters to the app. Hence the only way to configure the Cosmovisor was through environment variables.
  • now, we are moving to a more traditional model, where Cosmovisor has it's own command set and is a true supervisor.

New commands have been added:

  • run will start the Cosmos App and pass remaining arguments to the app (similar to npm run)
  • help will display Cosmovisor help
  • version will display both Cosmovisor and the associated app version.

The existing way of starting an app with Cosmovisor has been deprecated (cosmovisor [app params]) and will be removed in the future version. Please use cosmovisor run [app pararms] instead.

New Features

We added a new configuration option: DAEMON_BACKUP_DIR (as env variable). When set, Cosmovisor will create backup the app data backup in that directory (instead of using the app home directory) before running the update. See the README file for more details.

Bug Fixes

  • Fixed cosmovisor version output when installed using 'go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0'.

Changelog

For more details, please see the CHANGELOG.

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cosmossdk.io/math&package-manager=go_modules&previous-version=1.0.1&new-version=1.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/golangci/golangci-lint from 1.54.1 to 1.54.2 (#637) Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.54.1 to 1.54.2.
Release notes

Sourced from github.com/golangci/golangci-lint's releases.

v1.54.2

If you use and appreciate golangci-lint please think to support us (golangci-lint maintainers and linter authors). :heart:

Changelog

  • 07fb6ffd build(deps): bump github.com/Antonboom/errname from 0.1.10 to 0.1.12 (#4026)
  • 2de4bc69 build(deps): bump github.com/Antonboom/nilnil from 0.1.5 to 0.1.7 (#4024)
  • 8000abaf build(deps): bump github.com/nunnatsa/ginkgolinter from 0.13.3 to 0.13.5 (#4019)
  • ac0627dd build(deps): bump github.com/polyfloyd/go-errorlint from 1.4.3 to 1.4.4 (#4030)
  • f787bc70 build(deps): bump github.com/sashamelentyev/usestdlibvars from 1.23.0 to 1.24.0 (#4016)
  • fb50d99e build(deps): bump github.com/securego/gosec/v2 from 2.16.0 to 2.17.0 (#4015)
  • 2741ab2a build(deps): bump github.com/tetafro/godot from 1.4.11 to 1.4.14 (#4029)
  • be49b5aa build(deps): bump go.tmz.dev/musttag from 0.7.1 to 0.7.2 (#4017)
  • 3736e093 build(deps): bump honnef.co/go/tools from 0.4.3 to 0.4.4 (#4018)
  • 3db5817e build(deps): bump honnef.co/go/tools from 0.4.4 to 0.4.5 (#4022)
  • 411e0bbb fix: add all directories as safe git directories inside the Docker image (#4034)
  • a5eaf9fe govet: add directive and slog passes (#4028)
Changelog

Sourced from github.com/golangci/golangci-lint's changelog.

v1.54.2

  1. updated linters:
    • errname: from 0.1.10 to 0.1.12
    • ginkgolinter: from 0.13.3 to 0.13.5
    • go-errorlint: from 1.4.3 to 1.4.4
    • godot: from 1.4.11 to 1.4.14
    • gosec: from 2.16.0 to 2.17.0
    • musttag: from 0.7.1 to 0.7.2
    • nilnil: from 0.1.5 to 0.1.7
    • staticcheck: from 0.4.3 to 0.4.5
    • usestdlibvars: from 1.23.0 to 1.24.0
    • govet: add missing directive and slog passes
Commits
  • 411e0bb fix: add all directories as safe git directories inside the Docker image (#4034)
  • ac0627d build(deps): bump github.com/polyfloyd/go-errorlint from 1.4.3 to 1.4.4 (#4030)
  • a5eaf9f govet: add directive and slog passes (#4028)
  • 2741ab2 build(deps): bump github.com/tetafro/godot from 1.4.11 to 1.4.14 (#4029)
  • fb50d99 build(deps): bump github.com/securego/gosec/v2 from 2.16.0 to 2.17.0 (#4015)
  • f787bc7 build(deps): bump github.com/sashamelentyev/usestdlibvars from 1.23.0 to 1.24...
  • 07fb6ff build(deps): bump github.com/Antonboom/errname from 0.1.10 to 0.1.12 (#4026)
  • 2de4bc6 build(deps): bump github.com/Antonboom/nilnil from 0.1.5 to 0.1.7 (#4024)
  • 3db5817 build(deps): bump honnef.co/go/tools from 0.4.4 to 0.4.5 (#4022)
  • 0f8b1e2 dev: remove netlify (#4014)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/golangci/golangci-lint&package-manager=go_modules&previous-version=1.54.1&new-version=1.54.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/proullon/ramsql from 0.1.1 to 0.1.2 (#638) Bumps [github.com/proullon/ramsql](https://github.com/proullon/ramsql) from 0.1.1 to 0.1.2.
Release notes

Sourced from github.com/proullon/ramsql's releases.

v0.1.2

What's Changed

Full Changelog: https://github.com/proullon/ramsql/compare/v0.1.1...v0.1.2

Commits
  • 8cb2915 fix: AttributeSelector returns error containing unfound attribute name
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/proullon/ramsql&package-manager=go_modules&previous-version=0.1.1&new-version=0.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.32.1 to 1.33.0 (#639) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.32.1 to 1.33.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.33.0

What's Changed

Documentation & Version Bumps

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.32.1...v1.33.0

Commits
  • b86d02b every X days should run on the same day if the At() time has yet to come (#553)
  • c233d8d add additional documentation for wait for schedule (#551)
  • e3b4f5f don't accept a *Job in Job for Update if the ptr address doesn't match (#549)
  • 8454d19 Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#545)
  • 5adcbd5 Bump github.com/google/uuid from 1.3.0 to 1.3.1 (#546)
  • See full diff in compare view

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.32.1&new-version=1.33.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump google.golang.org/grpc from 1.57.0 to 1.58.0 (#642) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.57.0 to 1.58.0.
Release notes

Sourced from google.golang.org/grpc's releases.

Release 1.58.0

API Changes

See #6472 for details about these changes.

  • balancer: add StateListener to NewSubConnOptions for SubConn state updates and deprecate Balancer.UpdateSubConnState (#6481)
    • UpdateSubConnState will be deleted in the future.
  • balancer: add SubConn.Shutdown and deprecate Balancer.RemoveSubConn (#6493)
    • RemoveSubConn will be deleted in the future.
  • resolver: remove deprecated AddressType (#6451)
    • This was previously used as a signal to enable the "grpclb" load balancing policy, and to pass LB addresses to the policy. Instead, balancer/grpclb/state.Set() should be used to add these addresses to the name resolver's output. The built-in "dns" name resolver already does this.
  • resolver: add new field Endpoints to State and deprecate Addresses (#6471)
    • Addresses will be deleted in the future.

New Features

  • balancer/leastrequest: Add experimental support for least request LB policy and least request configured as a custom xDS policy (#6510, #6517)
    • Set GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=true to enable
  • stats: Add an RPC event for blocking caused by the LB policy's picker (#6422)

Bug Fixes

  • clusterresolver: fix deadlock when dns resolver responds inline with update or error at build time (#6563)
  • grpc: fix a bug where the channel could erroneously report TRANSIENT_FAILURE when actually moving to IDLE (#6497)
  • balancergroup: do not cache closed sub-balancers by default; affects rls, weightedtarget and clustermanager LB policies (#6523)
  • client: fix a bug that prevented detection of RPC status in trailers-only RPC responses when using ClientStream.Header(), and prevented retry of the RPC (#6557)

Performance Improvements

  • client & server: Add experimental [With]SharedWriteBuffer to improve performance by reducing allocations when sending RPC messages. (Disabled by default.) (#6309)
Commits
  • c2b0797 Change version to 1.58.0 (#6579)
  • 0467e47 balancer/leastrequest: Cache atomic load and also add concurrent rpc test (#6...
  • 5d1c0ae leastrequest: fix data race in leastrequest picker (#6606)
  • e26457d stream: swallow Header errors as we used to; RecvMsg can still return it (#6591)
  • 4c9777c clusterresolver: fix deadlock when dns resolver responds inline with update o...
  • 81b9df2 idle: move idleness manager to separate package and ~13s of tests into it (#6...
  • 7d35b8e test: speed up TestServiceConfigTimeoutTD from 1.8s to 0.03s (#6571)
  • d51b3f4 interop/grpc_testing: update protos from grpc-proto repo (#6567)
  • fe1519e client: fix ClientStream.Header() behavior (#6557)
  • 8a2c220 cdsbalancer: test cleanup part 2/N (#6554)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.57.0&new-version=1.58.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump github.com/go-co-op/gocron from 1.33.0 to 1.33.1 (#640) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.33.0 to 1.33.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.33.1

What's Changed

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.33.0...v1.33.1

Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.33.0&new-version=1.33.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): bump actions/checkout from 3 to 4 (#641) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
Release notes

Sourced from actions/checkout's releases.

v4.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3...v4.0.0

v3.6.0

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3.5.3...v3.6.0

v3.5.3

What's Changed

New Contributors

Full Changelog: https://github.com/actions/checkout/compare/v3...v3.5.3

v3.5.2

What's Changed

Full Changelog: https://github.com/actions/checkout/compare/v3.5.1...v3.5.2

v3.5.1

What's Changed

New Contributors

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v4.0.0

v3.6.0

v3.5.3

v3.5.2

v3.5.1

v3.5.0

v3.4.0

v3.3.0

v3.2.0

v3.1.0

v3.0.2

v3.0.1

... (truncated)

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
--------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Magic Cat * feat: add MsgExec support for modules * build(deps): Bump docker/setup-buildx-action from 2 to 3 (#645) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
Release notes

Sourced from docker/setup-buildx-action's releases.

v3.0.0

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.10.0...v3.0.0

v2.10.0

What's Changed

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.9.1...v2.10.0

v2.9.1

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.9.0...v2.9.1

v2.9.0

  • Bump @​docker/actions-toolkit from 0.6.0 to 0.7.0 in docker/setup-buildx-action#246
    • Adds support to cache Buildx binary to hosted tool cache and GHA cache backend

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.8.0...v2.9.0

v2.8.0

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.7.0...v2.8.0

v2.7.0

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.6.0...v2.7.0

v2.6.0

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.5.0...v2.6.0

v2.5.0

Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.4.1...v2.5.0

v2.4.1

... (truncated)

Commits
  • f95db51 Merge pull request #267 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
  • 998a87c chore: update generated content
  • 28bae59 build(deps): bump @​actions/core from 1.10.0 to 1.10.1
  • c215341 Merge pull request #264 from crazy-max/update-node20
  • 02e9319 chore: node 20 as default runtime
  • 5c9160e chore: update generated content
  • 1283140 chore: fix author in package.json
  • c6afe06 vendor: bump @​docker/actions-toolkit from 0.10.0 to 0.12.0
  • f35e0d5 chore: update dev dependencies
  • baeb468 dev: remove unneeded binaries
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/setup-buildx-action&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump docker/login-action from 2 to 3 (#646) Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
Release notes

Sourced from docker/login-action's releases.

v3.0.0

Full Changelog: https://github.com/docker/login-action/compare/v2.2.0...v3.0.0

v2.2.0

Full Changelog: https://github.com/docker/login-action/compare/v2.1.0...v2.2.0

v2.1.0

  • Ensure AWS temp credentials are redacted in workflow logs by @​crazy-max (#275)
  • Bump @​actions/core from 1.6.0 to 1.10.0 (#252 #292)
  • Bump @​aws-sdk/client-ecr from 3.53.0 to 3.186.0 (#298)
  • Bump @​aws-sdk/client-ecr-public from 3.53.0 to 3.186.0 (#299)

Full Changelog: https://github.com/docker/login-action/compare/v2.0.0...v2.1.0

Commits
  • 343f7c4 Merge pull request #599 from docker/dependabot/npm_and_yarn/aws-sdk-dependenc...
  • aad0f97 chore: update generated content
  • 2e0cd39 build(deps): bump the aws-sdk-dependencies group with 2 updates
  • 203bc9c Merge pull request #588 from docker/dependabot/npm_and_yarn/proxy-agent-depen...
  • 2199648 chore: update generated content
  • b489376 build(deps): bump the proxy-agent-dependencies group with 1 update
  • 7c309e7 Merge pull request #598 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
  • 0ccf222 chore: update generated content
  • 56d703e Merge pull request #597 from docker/dependabot/github_actions/aws-actions/con...
  • 24d3b35 build(deps): bump @​actions/core from 1.10.0 to 1.10.1
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/login-action&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump docker/build-push-action from 4 to 5 (#647) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
Release notes

Sourced from docker/build-push-action's releases.

v5.0.0

Full Changelog: https://github.com/docker/build-push-action/compare/v4.2.1...v5.0.0

v4.2.1

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v4.2.0...v4.2.1

v4.2.0

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v4.1.1...v4.2.0

v4.1.1

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v4.1.0...v4.1.1

v4.1.0

Note

Buildx v0.10 enables support for a minimal SLSA Provenance attestation, which requires support for OCI-compliant multi-platform images. This may introduce issues with registry and runtime support (e.g. Google Cloud Run and AWS Lambda). You can optionally disable the default provenance attestation functionality using provenance: false.

Full Changelog: https://github.com/docker/build-push-action/compare/v4.0.0...v4.1.0

Commits
  • 0565240 Merge pull request #959 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
  • 3ab07f8 chore: update generated content
  • b9e7e4d chore(deps): Bump @​actions/core from 1.10.0 to 1.10.1
  • 04d1a3b Merge pull request #954 from crazy-max/update-node20
  • 1a4d1a1 chore: node 20 as default runtime
  • 675965c chore: update generated content
  • 58ee34c chore: fix author in package.json
  • c97c406 fix ProxyConfig type when checking length
  • 47d5369 vendor: bump @​docker/actions-toolkit from 0.8.0 to 0.12.0
  • 8895c74 chore: update dev dependencies
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump codecov/codecov-action from 3 to 4 (#648) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
Release notes

Sourced from codecov/codecov-action's releases.

v4.0.0-beta.2

What's Changed

Full Changelog: https://github.com/codecov/codecov-action/compare/v4.0.0-beta.1...v4.0.0-beta.2

4.0.0-beta.1

v4 represents a move from the universal uploader to the Codecov CLI. Although this will unlock new features for our users, the CLI is not yet at feature parity with the universal uploader.

Breaking Changes

  • No current support for aarch64 and alpine architectures.
  • Tokenless uploading is unsuported
  • Various arguments to the Action have been removed

What's Changed

... (truncated)

Changelog

Sourced from codecov/codecov-action's changelog.

4.0.0-beta.2

Fixes

  • #1085 not adding -n if empty to do-upload command

4.0.0-beta.1

v4 represents a move from the universal uploader to the Codecov CLI. Although this will unlock new features for our users, the CLI is not yet at feature parity with the universal uploader.

Breaking Changes

  • No current support for aarch64 and alpine architectures.
  • Tokenless uploading is unsuported
  • Various arguments to the Action have been removed

3.1.4

Fixes

  • #967 Fix typo in README.md
  • #971 fix: add back in working dir
  • #969 fix: CLI option names for uploader

Dependencies

  • #970 build(deps-dev): bump @​types/node from 18.15.12 to 18.16.3
  • #979 build(deps-dev): bump @​types/node from 20.1.0 to 20.1.2
  • #981 build(deps-dev): bump @​types/node from 20.1.2 to 20.1.4

3.1.3

Fixes

  • #960 fix: allow for aarch64 build

Dependencies

  • #957 build(deps-dev): bump jest-junit from 15.0.0 to 16.0.0
  • #958 build(deps): bump openpgp from 5.7.0 to 5.8.0
  • #959 build(deps-dev): bump @​types/node from 18.15.10 to 18.15.12

3.1.2

Fixes

  • #718 Update README.md
  • #851 Remove unsupported path_to_write_report argument
  • #898 codeql-analysis.yml
  • #901 Update README to contain correct information - inputs and negate feature
  • #955 fix: add in all the extra arguments for uploader

Dependencies

  • #819 build(deps): bump openpgp from 5.4.0 to 5.5.0
  • #835 build(deps): bump node-fetch from 3.2.4 to 3.2.10
  • #840 build(deps): bump ossf/scorecard-action from 1.1.1 to 2.0.4
  • #841 build(deps): bump @​actions/core from 1.9.1 to 1.10.0
  • #843 build(deps): bump @​actions/github from 5.0.3 to 5.1.1
  • #869 build(deps): bump node-fetch from 3.2.10 to 3.3.0
  • #872 build(deps-dev): bump jest-junit from 13.2.0 to 15.0.0
  • #879 build(deps): bump decode-uri-component from 0.2.0 to 0.2.2

... (truncated)

Commits
  • c4cf8a4 4.0.0-beta.2 (#1086)
  • 845c445 not adding -n if empty to do-upload command (#1085)
  • 0016507 chore(release): 4.0.0-beta.1 (#1084)
  • c9e4b73 use cli instead of node uploader (#1068)
  • c9e0f0b build(deps-dev): bump eslint from 8.48.0 to 8.49.0 (#1076)
  • da8479a build(deps-dev): bump @​typescript-eslint/parser from 6.6.0 to 6.7.0 (#1079)
  • 8e29a53 build(deps-dev): bump @​types/node from 20.5.9 to 20.6.0 (#1075)
  • 162bda9 build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3 (#1077)
  • 46acd9d build(deps): bump actions/checkout from 3.6.0 to 4.0.0 (#1078)
  • 904bf5a build(deps-dev): bump @​typescript-eslint/eslint-plugin from 6.6.0 to 6.7.0 (#...
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump github.com/go-co-op/gocron from 1.33.1 to 1.34.0 (#650) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.33.1 to 1.34.0.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.34.0

What's Changed

Fixes

Chores

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.33.1...v1.33.2

Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.33.1&new-version=1.34.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump github.com/go-co-op/gocron from 1.34.0 to 1.34.1 (#653) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.34.0 to 1.34.1.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.34.1

Fixes

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.34.0...v1.34.1

Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.34.0&new-version=1.34.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump github.com/go-co-op/gocron from 1.34.1 to 1.34.2 (#654) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.34.1 to 1.34.2.
Release notes

Sourced from github.com/go-co-op/gocron's releases.

v1.34.2

Fixes

New Contributors

Full Changelog: https://github.com/go-co-op/gocron/compare/v1.34.1...v1.34.2

Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.34.1&new-version=1.34.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump github.com/rs/zerolog from 1.30.0 to 1.31.0 (#656) Bumps [github.com/rs/zerolog](https://github.com/rs/zerolog) from 1.30.0 to 1.31.0.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/rs/zerolog&package-manager=go_modules&previous-version=1.30.0&new-version=1.31.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump amannn/action-semantic-pull-request from 5.2.0 to 5.3.0 (#657) Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.2.0 to 5.3.0.
Release notes

Sourced from amannn/action-semantic-pull-request's releases.

v5.3.0

5.3.0 (2023-09-25)

Features

Changelog

Sourced from amannn/action-semantic-pull-request's changelog.

5.3.0 (2023-09-25)

Features

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=amannn/action-semantic-pull-request&package-manager=github_actions&previous-version=5.2.0&new-version=5.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump github.com/go-co-op/gocron from 1.34.2 to 1.35.0 (#659) Bumps [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) from 1.34.2 to 1.35.0.
Commits

Most Recent Ignore Conditions Applied to This Pull Request | Dependency Name | Ignore Conditions | | --- | --- | | github.com/go-co-op/gocron | [>= 1.18.1.a, < 1.18.2] |
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/go-co-op/gocron&package-manager=go_modules&previous-version=1.34.2&new-version=1.35.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* build(deps): Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#658) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.16.0 to 1.17.0.
Release notes

Sourced from github.com/prometheus/client_golang's releases.

v1.17.0

What's Changed

  • [CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). #1325
  • [FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. #1313
  • [ENHANCEMENT] Enable detection of a native histogram without observations. #1314

New Contributors

... (truncated)

Changelog

Sourced from github.com/prometheus/client_golang's changelog.

1.17.0 / 2023-09-27

  • [CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). #1325
  • [FEATURE] Add support for Created Timestamps in Counters, Summaries and Historams. #1313
  • [ENHANCEMENT] Enable detection of a native histogram without observations. #1314
Commits
  • fa1408e Merge pull request #1352 from prometheus/arthursens/cut-1.17.0
  • 24a72b8 Add changelog entry for 1.17
  • 1bae6c1 Deprecated comment should begin with "Deprecated:" (#1347)
  • bbab8fe Fix typos in comments, tests, and errors (#1346)
  • df7fa49 Extend Counters, Summaries and Histograms with creation timestamp (#1313)
  • 74cc262 Add go_godebug_non_default_behavior_tlsmaxrsasize_events_total (#1348)
  • d03abf3 Cleanup golangci-lint errcheck (#1339)
  • ca6ba04 Update common Prometheus files (#1338)
  • 51d24f8 Update common Prometheus files (#1332)
  • c17edf0 Merge pull request #1304 from prometheus/dependabot/go_modules/google.golang....
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/client_golang&package-manager=go_modules&previous-version=1.16.0&new-version=1.17.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
* feat: update `x/gov` module parsing (#652) ## Description Closes: #XXXX [BDU-11](https://forbole.atlassian.net/browse/BDU-11) [BDU-771](https://forbole.atlassian.net/browse/BDU-771) [BDU-1077](https://forbole.atlassian.net/browse/BDU-1077) Changes: `gov` module: - Added handler on every block to check and update proposal status if `active_proposal` event has been emitted inside the EndBlockEvents - Added periodic operations to update `proposal staking pool snapshots` every 5 mins - Added periodic operations to update `proposal tally results` every 5 mins - Added handler to update `tally results` for given proposal on every `MsgVote` and `MsgVoteWeighted` msgs - Added handler for rpc error `rpc error returning code = NotFound desc = proposal x doesn't exist` returned from node sometimes when processing `MsgSubmitProposal` msg and querying the node for proposal details - Added amount to `unique_deposit` constraint to allow to store different deposits from the same address for the same proposal - Added `weight` column to `proposal_vote` table and added `option` to `unique_vote` constraint - Added handler for `MsgVoteWeighted` msgs to correctly store votes in db - Removed `auth` module from expected modules `staking` module: - Added periodic operations to update validators statuses, voting power and proposal validators status snapshots every 5 mins - Added handler to update validators statuses, voting powers and proposals validators status snapshots when there is a VP change on `MsgDelegate`, `MsgBeginRedelegate` and `MsgUndelegate` msgs --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch - [x] provided a link to the relevant issue or specification - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [x] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable) [BDU-11]: https://forbole.atlassian.net/browse/BDU-11?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [BDU-771]: https://forbole.atlassian.net/browse/BDU-771?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [BDU-1077]: https://forbole.atlassian.net/browse/BDU-1077?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ * Merge branch 'cosmos/v0.47.x' into chains/coreum-2 # Conflicts: # .github/workflows/lint-pr.yml # .github/workflows/lint.yml # .github/workflows/test.yml # Dockerfile.default # Makefile # cmd/bdjuno/main.go # cmd/parse/gov/proposal.go # go.mod # go.sum # modules/actions/types/worker.go # modules/bank/source/remote/source.go # modules/consensus/handle_block.go # modules/consensus/module.go # modules/gov/module.go # modules/gov/utils_proposal.go # modules/mint/handle_periodic_operations.go # modules/registrar.go # modules/types/sources.go * Post-merge fixes Co-Authored-By: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-Authored-By: Magic Cat Co-Authored-By: Sai Krishna Sunkari Co-Authored-By: Aaron <76254323+huichiaotsou@users.noreply.github.com> Co-Authored-By: maiquanghiep Co-Authored-By: Riccardo Montagnin Co-Authored-By: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-Authored-By: Rick Mak --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/dependabot.yml | 2 +- .github/workflows/docker-build.yml | 59 + .github/workflows/lint.yml | 17 +- .github/workflows/test.yml | 35 +- .golangci.yaml | 5 +- .mergify.yml | 10 +- CHANGELOG.md | 55 +- Dockerfile | 5 +- Dockerfile.cosmwasm | 22 + Dockerfile.hasura | 2 +- Makefile | 27 +- cmd/bdjuno/main.go | 30 +- cmd/migrate/cmd.go | 9 +- cmd/migrate/v3/migrate.go | 12 +- cmd/migrate/v3/types.go | 4 +- cmd/migrate/v3/utils.go | 2 +- cmd/parse/auth/cmd.go | 2 +- cmd/parse/auth/vesting.go | 12 +- cmd/parse/bank/cmd.go | 20 + cmd/parse/bank/supply.go | 46 + cmd/parse/distribution/cmd.go | 20 + cmd/parse/distribution/communitypool.go | 45 + cmd/parse/feegrant/allowance.go | 17 +- cmd/parse/feegrant/cmd.go | 2 +- cmd/parse/gov/cmd.go | 2 +- cmd/parse/gov/proposal.go | 127 +- cmd/parse/mint/cmd.go | 20 + cmd/parse/mint/inflation.go | 45 + cmd/parse/parse.go | 25 +- cmd/parse/pricefeed/cmd.go | 21 + cmd/parse/pricefeed/price.go | 44 + cmd/parse/pricefeed/pricehistory.go | 44 + cmd/parse/staking/cmd.go | 3 +- cmd/parse/staking/staking.go | 45 + cmd/parse/staking/validators.go | 25 +- database/assetft_params.go | 9 +- database/assetft_params_test.go | 9 +- database/assetnft_params.go | 9 +- database/assetnft_params_test.go | 9 +- database/auth.go | 30 +- database/auth_test.go | 6 +- database/bank.go | 4 +- database/bank_test.go | 4 +- database/consensus.go | 24 +- database/consensus_test.go | 18 +- database/customparams_params.go | 6 +- database/customparams_params_test.go | 9 +- database/daily_refetch.go | 17 + database/database.go | 6 +- database/database_test.go | 46 +- database/distribution.go | 8 +- database/distribution_test.go | 6 +- database/feegrant.go | 6 +- database/feegrant_test.go | 10 +- database/feemodel_params.go | 9 +- database/feemodel_params_test.go | 9 +- database/gov.go | 311 +-- database/gov_test.go | 576 ++++-- database/mint.go | 6 +- database/mint_test.go | 4 +- database/pricefeed.go | 12 +- database/pricefeed_test.go | 8 +- database/pruning.go | 22 +- database/schema/00-cosmos.sql | 14 +- database/schema/01-auth.sql | 6 +- database/schema/02-bank.sql | 108 +- database/schema/03-staking.sql | 11 +- database/schema/06-distribution.sql | 4 +- database/schema/08-gov.sql | 47 +- database/schema/11-feegrant.sql | 2 +- database/schema/12-upgrade.sql | 10 + .../{12-feemodel.sql => 14-feemodel.sql} | 0 ...assetftparams.sql => 15-assetftparams.sql} | 0 ...setnftparams.sql => 16-assetnftparams.sql} | 0 database/slashing.go | 6 +- database/slashing_test.go | 4 +- database/staking_params.go | 6 +- database/staking_params_test.go | 10 +- database/staking_pool.go | 15 +- database/staking_pool_test.go | 18 +- database/staking_validators.go | 73 +- database/staking_validators_test.go | 27 +- database/types/consensus.go | 8 + database/types/gov.go | 98 +- database/types/staking_pool.go | 24 +- database/types/staking_validators.go | 5 +- database/types/upgrade.go | 21 + database/types/utils.go | 26 + database/utils.go | 4 +- database/utils/bank.go | 2 +- database/utils_test.go | 2 +- go.mod | 346 +++- go.sum | 1832 ++++++++++++----- .../bdjuno/tables/public_account.yaml | 3 +- ...ublic_average_block_time_from_genesis.yaml | 3 +- .../public_average_block_time_per_day.yaml | 3 +- .../public_average_block_time_per_hour.yaml | 3 +- .../public_average_block_time_per_minute.yaml | 3 +- .../databases/bdjuno/tables/public_block.yaml | 3 +- .../bdjuno/tables/public_community_pool.yaml | 3 +- .../tables/public_distribution_params.yaml | 4 +- .../tables/public_double_sign_evidence.yaml | 11 +- .../tables/public_double_sign_vote.yaml | 17 +- .../tables/public_fee_grant_allowance.yaml | 4 +- .../bdjuno/tables/public_genesis.yaml | 13 +- .../bdjuno/tables/public_gov_params.yaml | 8 +- .../bdjuno/tables/public_inflation.yaml | 9 +- .../bdjuno/tables/public_message.yaml | 4 +- .../bdjuno/tables/public_mint_params.yaml | 4 +- .../bdjuno/tables/public_modules.yaml | 3 +- .../bdjuno/tables/public_pre_commit.yaml | 13 +- .../bdjuno/tables/public_proposal.yaml | 4 +- .../tables/public_proposal_deposit.yaml | 4 +- ...public_proposal_staking_pool_snapshot.yaml | 3 +- .../tables/public_proposal_tally_result.yaml | 3 +- ...ic_proposal_validator_status_snapshot.yaml | 4 +- .../bdjuno/tables/public_proposal_vote.yaml | 13 +- .../bdjuno/tables/public_slashing_params.yaml | 4 +- .../tables/public_software_upgrade_plan.yaml | 18 + .../bdjuno/tables/public_staking_params.yaml | 4 +- .../bdjuno/tables/public_staking_pool.yaml | 5 +- .../bdjuno/tables/public_supply.yaml | 3 +- .../databases/bdjuno/tables/public_token.yaml | 3 +- .../bdjuno/tables/public_token_price.yaml | 4 +- .../tables/public_token_price_history.yaml | 3 +- .../bdjuno/tables/public_token_unit.yaml | 3 +- .../bdjuno/tables/public_transaction.yaml | 4 +- .../bdjuno/tables/public_validator.yaml | 3 +- .../tables/public_validator_commission.yaml | 3 +- .../tables/public_validator_description.yaml | 3 +- .../bdjuno/tables/public_validator_info.yaml | 3 +- .../tables/public_validator_signing_info.yaml | 3 +- .../tables/public_validator_status.yaml | 2 +- .../tables/public_validator_voting_power.yaml | 1 + .../bdjuno/tables/public_vesting_account.yaml | 4 +- .../bdjuno/tables/public_vesting_period.yaml | 4 +- .../databases/bdjuno/tables/tables.yaml | 1 + modules/actions/config.go | 16 +- .../actions/handle_additional_operations.go | 6 +- modules/actions/handlers/account_balance.go | 2 +- modules/actions/handlers/delegation.go | 2 +- modules/actions/handlers/delegation_total.go | 2 +- modules/actions/handlers/delegator_reward.go | 2 +- .../handlers/delegator_withdraw_address.go | 2 +- modules/actions/handlers/redelegation.go | 2 +- .../handlers/unbonding_delegation_total.go | 2 +- .../actions/handlers/unbonding_delegations.go | 2 +- .../actions/handlers/validator_commission.go | 2 +- .../actions/handlers/validator_delegation.go | 2 +- .../handlers/validator_redelegations_from.go | 2 +- .../validator_unbonding_delegations.go | 2 +- modules/actions/module.go | 14 +- modules/actions/types/handler.go | 4 +- modules/actions/types/response.go | 5 +- modules/actions/types/worker.go | 13 +- modules/assetft/account_parser.go | 3 +- modules/assetft/handle_genesis.go | 7 +- modules/assetft/module.go | 6 +- modules/assetft/source/remote/source.go | 7 +- modules/assetft/source/source.go | 2 +- modules/assetft/utils_params.go | 2 +- modules/assetnft/account_parser.go | 3 +- modules/assetnft/handle_genesis.go | 7 +- modules/assetnft/module.go | 6 +- modules/assetnft/source/remote/source.go | 7 +- modules/assetnft/source/source.go | 2 +- modules/assetnft/utils_params.go | 2 +- modules/auth/auth_accounts.go | 5 +- modules/auth/handle_genesis.go | 2 +- modules/auth/handle_msg.go | 14 +- modules/auth/module.go | 6 +- modules/bank/handle_periodic_operations.go | 12 +- modules/bank/module.go | 8 +- modules/bank/source/local/source.go | 33 +- modules/bank/source/remote/source.go | 34 +- modules/bank/source/remote/source_actions.go | 2 +- modules/bank/source/source.go | 2 +- modules/consensus/handle_block.go | 13 +- modules/consensus/handle_genesis.go | 4 +- .../consensus/handle_periodic_operations.go | 4 +- modules/consensus/module.go | 6 +- modules/customparams/handle_genesis.go | 7 +- modules/customparams/module.go | 6 +- modules/customparams/source/remote/source.go | 7 +- modules/customparams/source/source.go | 2 +- modules/customparams/utils_params.go | 2 +- .../handle_periodic_operations.go | 71 + modules/daily_refetch/module.go | 35 + modules/distribution/handle_genesis.go | 4 +- modules/distribution/handle_msg.go | 8 +- .../handle_periodic_operations.go | 12 +- modules/distribution/module.go | 6 +- modules/distribution/source/local/source.go | 4 +- modules/distribution/source/remote/source.go | 4 +- .../source/remote/source_actions.go | 4 +- modules/distribution/utils_params.go | 2 +- modules/feegrant/handle_block.go | 10 +- modules/feegrant/handle_msg.go | 10 +- modules/feegrant/module.go | 4 +- modules/feemodel/handle_genesis.go | 7 +- modules/feemodel/module.go | 6 +- modules/feemodel/source/remote/source.go | 7 +- modules/feemodel/source/source.go | 2 +- modules/feemodel/utils_params.go | 2 +- modules/gov/expected_modules.go | 15 +- modules/gov/handle_block.go | 53 +- modules/gov/handle_genesis.go | 55 +- modules/gov/handle_msg.go | 147 +- modules/gov/handle_periodic_operations.go | 32 + modules/gov/module.go | 37 +- modules/gov/source/local/source.go | 80 +- modules/gov/source/remote/source.go | 76 +- modules/gov/source/source.go | 14 +- modules/gov/utils_params.go | 23 +- modules/gov/utils_proposal.go | 417 ++-- modules/mint/handle_genesis.go | 4 +- modules/mint/handle_periodic_operations.go | 14 +- modules/mint/module.go | 6 +- modules/mint/source/local/source.go | 4 +- modules/mint/source/remote/source.go | 4 +- modules/mint/utils_params.go | 2 +- modules/modules/module.go | 6 +- modules/nft/account_parser.go | 3 +- modules/pricefeed/coingecko/apis.go | 2 +- modules/pricefeed/coingecko/apis_test.go | 2 +- modules/pricefeed/config.go | 2 +- .../pricefeed/handle_additional_operations.go | 2 +- .../pricefeed/handle_periodic_operations.go | 18 +- modules/pricefeed/module.go | 6 +- modules/registrar.go | 66 +- modules/slashing/handle_block.go | 4 +- modules/slashing/handle_genesis.go | 4 +- modules/slashing/module.go | 6 +- modules/slashing/source/local/source.go | 4 +- modules/slashing/source/remote/source.go | 4 +- modules/slashing/utils_params.go | 2 +- modules/slashing/utils_signing_info.go | 2 +- modules/staking/expected_modules.go | 11 - modules/staking/handle_block.go | 90 +- modules/staking/handle_genesis.go | 10 +- modules/staking/handle_msg.go | 23 +- modules/staking/handle_periodic_operations.go | 55 + modules/staking/module.go | 32 +- modules/staking/source/local/source.go | 4 +- modules/staking/source/remote/source.go | 4 +- .../staking/source/remote/source_actions.go | 4 +- modules/staking/utils_gentx.go | 4 +- modules/staking/utils_params.go | 2 +- modules/staking/utils_staking_pool.go | 61 +- modules/staking/utils_validators.go | 152 +- modules/types/sources.go | 90 +- modules/upgrade/expected_modules.go | 5 + modules/upgrade/handle_block.go | 45 + modules/upgrade/module.go | 31 + modules/utils/addresses_test.go | 2 +- modules/utils/time.go | 17 + modules/wasm/handle_msg.go | 4 +- modules/wasm/module.go | 6 +- testutils/time.go | 13 + tools/tools.go | 12 + types/assetft.go | 2 +- types/assetnft.go | 2 +- types/config/config.go | 10 +- types/config/encoding.go | 2 +- types/feemodel.go | 2 +- types/gov.go | 157 +- types/staking_pool_params.go | 30 +- types/staking_validator.go | 4 +- utils/genesis.go | 10 +- utils/node.go | 4 +- 271 files changed, 5045 insertions(+), 2479 deletions(-) create mode 100644 .github/workflows/docker-build.yml create mode 100644 Dockerfile.cosmwasm create mode 100644 cmd/parse/bank/cmd.go create mode 100644 cmd/parse/bank/supply.go create mode 100644 cmd/parse/distribution/cmd.go create mode 100644 cmd/parse/distribution/communitypool.go create mode 100644 cmd/parse/mint/cmd.go create mode 100644 cmd/parse/mint/inflation.go create mode 100644 cmd/parse/pricefeed/cmd.go create mode 100644 cmd/parse/pricefeed/price.go create mode 100644 cmd/parse/pricefeed/pricehistory.go create mode 100644 cmd/parse/staking/staking.go create mode 100644 database/daily_refetch.go create mode 100644 database/schema/12-upgrade.sql rename database/schema/{12-feemodel.sql => 14-feemodel.sql} (100%) rename database/schema/{14-assetftparams.sql => 15-assetftparams.sql} (100%) rename database/schema/{14-assetnftparams.sql => 16-assetnftparams.sql} (100%) create mode 100644 database/types/upgrade.go create mode 100644 hasura/metadata/databases/bdjuno/tables/public_software_upgrade_plan.yaml create mode 100644 modules/daily_refetch/handle_periodic_operations.go create mode 100644 modules/daily_refetch/module.go create mode 100644 modules/gov/handle_periodic_operations.go delete mode 100644 modules/staking/expected_modules.go create mode 100644 modules/staking/handle_periodic_operations.go create mode 100644 modules/upgrade/expected_modules.go create mode 100644 modules/upgrade/handle_block.go create mode 100644 modules/upgrade/module.go create mode 100644 modules/utils/time.go create mode 100644 testutils/time.go create mode 100644 tools/tools.go diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index ace6b778f..799771c33 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -3,7 +3,7 @@ name: Bug report about: Create a report to help us improve title: '' labels: 'kind/bug' -assignees: 'RiccardoM' +assignees: 'MonikaCat' --- Running linter" + @go run $(golangci_lint_cmd) run --timeout=10m lint-fix: - golangci-lint run --fix --out-format=tab --issues-exit-code=0 + @echo "--> Running linter" + @go run $(golangci_lint_cmd) run --fix --out-format=tab --issues-exit-code=0 + .PHONY: lint lint-fix format: - find . -name '*.go' -type f -not -path "*.git*" | xargs gofmt -w -s - find . -name '*.go' -type f -not -path "*.git*" | xargs misspell -w - find . -name '*.go' -type f -not -path "*.git*" | xargs goimports -w -local github.com/forbole/bdjuno + find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs gofmt -w -s + find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs misspell -w + find . -name '*.go' -type f -not -path "*.git*" -not -name '*.pb.go' -not -name '*_mocks.go' | xargs goimports -w -local github.com/forbole/bdjuno .PHONY: format clean: diff --git a/cmd/bdjuno/main.go b/cmd/bdjuno/main.go index 0ef3cda57..9d36c89fe 100644 --- a/cmd/bdjuno/main.go +++ b/cmd/bdjuno/main.go @@ -2,25 +2,25 @@ package main import ( "github.com/cosmos/cosmos-sdk/types/module" - "github.com/forbole/juno/v3/cmd" - initcmd "github.com/forbole/juno/v3/cmd/init" - parsetypes "github.com/forbole/juno/v3/cmd/parse/types" - startcmd "github.com/forbole/juno/v3/cmd/start" - "github.com/forbole/juno/v3/modules/messages" + "github.com/forbole/juno/v5/cmd" + initcmd "github.com/forbole/juno/v5/cmd/init" + parsetypes "github.com/forbole/juno/v5/cmd/parse/types" + startcmd "github.com/forbole/juno/v5/cmd/start" + "github.com/forbole/juno/v5/modules/messages" - migratecmd "github.com/forbole/bdjuno/v3/cmd/migrate" - parsecmd "github.com/forbole/bdjuno/v3/cmd/parse" + migratecmd "github.com/forbole/bdjuno/v4/cmd/migrate" + parsecmd "github.com/forbole/bdjuno/v4/cmd/parse" - "github.com/forbole/bdjuno/v3/types/config" + "github.com/forbole/bdjuno/v4/types/config" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/modules" - "github.com/forbole/bdjuno/v3/modules/assetft" - "github.com/forbole/bdjuno/v3/modules/assetnft" - "github.com/forbole/bdjuno/v3/modules/nft" - "github.com/forbole/bdjuno/v3/modules/wasm" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules" + "github.com/forbole/bdjuno/v4/modules/assetft" + "github.com/forbole/bdjuno/v4/modules/assetnft" + "github.com/forbole/bdjuno/v4/modules/nft" + "github.com/forbole/bdjuno/v4/modules/wasm" - coreumapp "github.com/CoreumFoundation/coreum/v2/app" + coreumapp "github.com/CoreumFoundation/coreum/v3/app" ) func main() { diff --git a/cmd/migrate/cmd.go b/cmd/migrate/cmd.go index 0aa4ac6bb..06810e3a6 100644 --- a/cmd/migrate/cmd.go +++ b/cmd/migrate/cmd.go @@ -4,18 +4,16 @@ import ( "fmt" "os" - v2 "github.com/forbole/juno/v3/cmd/migrate/v2" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" - v3 "github.com/forbole/bdjuno/v3/cmd/migrate/v3" + v3 "github.com/forbole/bdjuno/v4/cmd/migrate/v3" ) type Migrator func(parseCfg *parsecmdtypes.Config) error var ( migrations = map[string]Migrator{ - "v2": v2.RunMigration, "v3": v3.RunMigration, } ) @@ -34,8 +32,7 @@ func NewMigrateCmd(appName string, parseConfig *parsecmdtypes.Config) *cobra.Com Use: "migrate [to-version]", Short: "Perform the migrations from the current version to the specified one", Long: `Migrates all the necessary things (config file, database, etc) from the current version to the new one. -If you are upgrading from a very old version to the latest one, migrations must be performed in order -(eg. to migrate from v1 to v3 you need to do v1 -> v2 and then v2 -> v3). +Note that migrations must be performed in order: to migrate from vX to vX+2 you need to do vX -> vX+1 and then vX+1 -> vX+2. `, Example: fmt.Sprintf("%s migrate v3", appName), Args: cobra.RangeArgs(0, 1), diff --git a/cmd/migrate/v3/migrate.go b/cmd/migrate/v3/migrate.go index 62d2dcdf1..c32361c39 100644 --- a/cmd/migrate/v3/migrate.go +++ b/cmd/migrate/v3/migrate.go @@ -4,20 +4,20 @@ import ( "fmt" "os" - "github.com/forbole/bdjuno/v3/modules/actions" + "github.com/forbole/bdjuno/v4/modules/actions" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "gopkg.in/yaml.v3" - junov3 "github.com/forbole/juno/v3/cmd/migrate/v3" - "github.com/forbole/juno/v3/types/config" + junov4 "github.com/forbole/juno/v5/cmd/migrate/v4" + "github.com/forbole/juno/v5/types/config" ) // RunMigration runs the migrations from v2 to v3 func RunMigration(parseConfig *parsecmdtypes.Config) error { // Run Juno migration - err := junov3.RunMigration(parseConfig) + err := junov4.RunMigration(parseConfig) if err != nil { return err } @@ -59,7 +59,7 @@ func migrateConfig() (Config, error) { } if cfg.Actions == nil { - cfg.Actions = actions.NewConfig(3000, nil) + cfg.Actions = actions.NewConfig("127.0.0.1", 3000, nil) } return cfg, nil diff --git a/cmd/migrate/v3/types.go b/cmd/migrate/v3/types.go index a93e3d1eb..01d44c815 100644 --- a/cmd/migrate/v3/types.go +++ b/cmd/migrate/v3/types.go @@ -1,9 +1,9 @@ package v3 import ( - v3 "github.com/forbole/juno/v3/cmd/migrate/v3" + v3 "github.com/forbole/juno/v5/cmd/migrate/v3" - "github.com/forbole/bdjuno/v3/modules/actions" + "github.com/forbole/bdjuno/v4/modules/actions" ) type Config struct { diff --git a/cmd/migrate/v3/utils.go b/cmd/migrate/v3/utils.go index 9444285d9..37fc66f09 100644 --- a/cmd/migrate/v3/utils.go +++ b/cmd/migrate/v3/utils.go @@ -5,7 +5,7 @@ import ( "os" "path" - "github.com/forbole/juno/v3/types/config" + "github.com/forbole/juno/v5/types/config" "gopkg.in/yaml.v3" ) diff --git a/cmd/parse/auth/cmd.go b/cmd/parse/auth/cmd.go index 4012bb1e2..f91f6ced6 100644 --- a/cmd/parse/auth/cmd.go +++ b/cmd/parse/auth/cmd.go @@ -1,7 +1,7 @@ package auth import ( - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/auth/vesting.go b/cmd/parse/auth/vesting.go index a35eaad02..a3e6253db 100644 --- a/cmd/parse/auth/vesting.go +++ b/cmd/parse/auth/vesting.go @@ -4,13 +4,13 @@ import ( "encoding/json" "fmt" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" - "github.com/forbole/juno/v3/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v3/database" - authutils "github.com/forbole/bdjuno/v3/modules/auth" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/database" + authutils "github.com/forbole/bdjuno/v4/modules/auth" + "github.com/forbole/bdjuno/v4/utils" ) // vestingCmd returns a Cobra command that allows to fix the vesting data for the accounts @@ -38,7 +38,7 @@ func vestingCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return fmt.Errorf("error unmarshalling genesis doc: %s", err) } - vestingAccounts, err := authutils.GetGenesisVestingAccounts(appState, parseCtx.EncodingConfig.Marshaler) + vestingAccounts, err := authutils.GetGenesisVestingAccounts(appState, parseCtx.EncodingConfig.Codec) if err != nil { return fmt.Errorf("error while gestting vesting accounts: %s", err) } diff --git a/cmd/parse/bank/cmd.go b/cmd/parse/bank/cmd.go new file mode 100644 index 000000000..94d3ae68b --- /dev/null +++ b/cmd/parse/bank/cmd.go @@ -0,0 +1,20 @@ +package bank + +import ( + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/spf13/cobra" +) + +// NewBankCmd returns the Cobra command allowing to fix various things related to the x/bank module +func NewBankCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + cmd := &cobra.Command{ + Use: "bank", + Short: "Fix things related to the x/bank module", + } + + cmd.AddCommand( + supplyCmd(parseConfig), + ) + + return cmd +} diff --git a/cmd/parse/bank/supply.go b/cmd/parse/bank/supply.go new file mode 100644 index 000000000..dab2d8fc9 --- /dev/null +++ b/cmd/parse/bank/supply.go @@ -0,0 +1,46 @@ +package bank + +import ( + "fmt" + + modulestypes "github.com/forbole/bdjuno/v4/modules/types" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/bank" +) + +// supplyCmd returns the Cobra command allowing to refresh x/bank total supply +func supplyCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "supply", + Short: "Refresh total supply", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build bank module + bankModule := bank.NewModule(nil, sources.BankSource, parseCtx.EncodingConfig.Codec, db) + + err = bankModule.UpdateSupply() + if err != nil { + return fmt.Errorf("error while getting latest bank supply: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/distribution/cmd.go b/cmd/parse/distribution/cmd.go new file mode 100644 index 000000000..086a9fe99 --- /dev/null +++ b/cmd/parse/distribution/cmd.go @@ -0,0 +1,20 @@ +package distribution + +import ( + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/spf13/cobra" +) + +// NewDistributionCmd returns the Cobra command allowing to fix various things related to the x/distribution module +func NewDistributionCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + cmd := &cobra.Command{ + Use: "distribution", + Short: "Fix things related to the x/distribution module", + } + + cmd.AddCommand( + communityPoolCmd(parseConfig), + ) + + return cmd +} diff --git a/cmd/parse/distribution/communitypool.go b/cmd/parse/distribution/communitypool.go new file mode 100644 index 000000000..e898df353 --- /dev/null +++ b/cmd/parse/distribution/communitypool.go @@ -0,0 +1,45 @@ +package distribution + +import ( + "fmt" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/distribution" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" +) + +// communityPoolCmd returns the Cobra command allowing to refresh community pool +func communityPoolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "community-pool", + Short: "Refresh community pool", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build distribution module + distrModule := distribution.NewModule(sources.DistrSource, parseCtx.EncodingConfig.Codec, db) + + err = distrModule.GetLatestCommunityPool() + if err != nil { + return fmt.Errorf("error while updating community pool: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/feegrant/allowance.go b/cmd/parse/feegrant/allowance.go index 906fc9845..c2c74dc45 100644 --- a/cmd/parse/feegrant/allowance.go +++ b/cmd/parse/feegrant/allowance.go @@ -3,20 +3,19 @@ package feegrant import ( "encoding/hex" "fmt" + "sort" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" - "github.com/forbole/juno/v3/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v3/modules/feegrant" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/modules/feegrant" + "github.com/forbole/bdjuno/v4/utils" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v3/database" - - "sort" + "github.com/forbole/bdjuno/v4/database" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" "github.com/rs/zerolog/log" @@ -37,7 +36,7 @@ func allowanceCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build feegrant module - feegrantModule := feegrant.NewModule(parseCtx.EncodingConfig.Marshaler, db) + feegrantModule := feegrant.NewModule(parseCtx.EncodingConfig.Codec, db) // Get the accounts // Collect all the transactions diff --git a/cmd/parse/feegrant/cmd.go b/cmd/parse/feegrant/cmd.go index 40438d3ba..d08909c4f 100644 --- a/cmd/parse/feegrant/cmd.go +++ b/cmd/parse/feegrant/cmd.go @@ -1,7 +1,7 @@ package feegrant import ( - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/gov/cmd.go b/cmd/parse/gov/cmd.go index 8b9619a1e..f86d8ca1e 100644 --- a/cmd/parse/gov/cmd.go +++ b/cmd/parse/gov/cmd.go @@ -1,7 +1,7 @@ package gov import ( - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) diff --git a/cmd/parse/gov/proposal.go b/cmd/parse/gov/proposal.go index eb633e900..2c0e9f3c7 100644 --- a/cmd/parse/gov/proposal.go +++ b/cmd/parse/gov/proposal.go @@ -3,19 +3,29 @@ package gov import ( "encoding/hex" "fmt" + "strconv" - modulestypes "github.com/forbole/bdjuno/v3/modules/types" + "github.com/forbole/bdjuno/v4/modules/assetft" + "github.com/forbole/bdjuno/v4/modules/assetnft" + "github.com/forbole/bdjuno/v4/modules/customparams" + "github.com/forbole/bdjuno/v4/modules/feemodel" + "github.com/rs/zerolog/log" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" - "github.com/forbole/juno/v3/types/config" - "github.com/spf13/cobra" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" - "github.com/forbole/juno/v3/parser" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/parser" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/modules/gov" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/distribution" + "github.com/forbole/bdjuno/v4/modules/gov" + "github.com/forbole/bdjuno/v4/modules/mint" + "github.com/forbole/bdjuno/v4/modules/slashing" + "github.com/forbole/bdjuno/v4/modules/staking" + "github.com/forbole/bdjuno/v4/utils" ) // proposalCmd returns the Cobra command allowing to fix all things related to a proposal @@ -24,7 +34,10 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { Use: "proposal [id]", Short: "Get the description, votes and everything related to a proposal given its id", RunE: func(cmd *cobra.Command, args []string) error { - proposalID := args[0] + proposalID, err := strconv.ParseUint(args[0], 10, 64) + if err != nil { + return err + } parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) if err != nil { @@ -39,8 +52,30 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { // Get the database db := database.Cast(parseCtx.Database) + // Build expected modules of gov modules for handleParamChangeProposal + distrModule := distribution.NewModule(sources.DistrSource, parseCtx.EncodingConfig.Codec, db) + mintModule := mint.NewModule(sources.MintSource, parseCtx.EncodingConfig.Codec, db) + slashingModule := slashing.NewModule(sources.SlashingSource, parseCtx.EncodingConfig.Codec, db) + stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) + feeModelModule := feemodel.NewModule(sources.FeeModelSource, parseCtx.EncodingConfig.Codec, db) + customParamsModule := customparams.NewModule(sources.CustomParamsSource, parseCtx.EncodingConfig.Codec, db) + assetFTModule := assetft.NewModule(sources.AssetFTSource, parseCtx.EncodingConfig.Codec, db) + assetNFTModule := assetnft.NewModule(sources.AssetNFTSource, parseCtx.EncodingConfig.Codec, db) + // Build the gov module - govModule := gov.NewModule(sources.GovSource, nil, nil, nil, nil, nil, nil, nil, nil, nil, parseCtx.EncodingConfig.Marshaler, db) + govModule := gov.NewModule( + sources.GovSource, + distrModule, + mintModule, + slashingModule, + stakingModule, + feeModelModule, + customParamsModule, + assetFTModule, + assetNFTModule, + parseCtx.EncodingConfig.Codec, + db, + ) err = refreshProposalDetails(parseCtx, proposalID, govModule) if err != nil { @@ -57,14 +92,37 @@ func proposalCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return err } + // Update the proposal to the latest status + height, err := parseCtx.Node.LatestHeight() + if err != nil { + return fmt.Errorf("error while getting chain latest block height: %s", err) + } + + err = govModule.UpdateProposalStatus(height, proposalID) + if err != nil { + return err + } + + err = govModule.UpdateProposalTallyResult(proposalID, height) + if err != nil { + return err + } + + err = govModule.UpdateProposalStakingPoolSnapshot(height, proposalID) + if err != nil { + return err + } + return nil }, } } -func refreshProposalDetails(parseCtx *parser.Context, proposalID string, govModule *gov.Module) error { +func refreshProposalDetails(parseCtx *parser.Context, proposalID uint64, govModule *gov.Module) error { + log.Debug().Msg("refreshing proposal details") + // Get the tx that created the proposal - txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("submit_proposal.proposal_id=%s", proposalID)) + txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("submit_proposal.proposal_id=%d", proposalID)) if err != nil { return err } @@ -73,6 +131,11 @@ func refreshProposalDetails(parseCtx *parser.Context, proposalID string, govModu return fmt.Errorf("expecting only one create proposal transaction, found %d", len(txs)) } + if len(txs) == 0 { + fmt.Printf("error: couldn't find submit proposal tx info") + return nil + } + // Get the tx details tx, err := parseCtx.Node.Tx(hex.EncodeToString(txs[0].Tx.Hash())) if err != nil { @@ -81,7 +144,7 @@ func refreshProposalDetails(parseCtx *parser.Context, proposalID string, govModu // Handle the MsgSubmitProposal messages for index, msg := range tx.GetMsgs() { - if _, ok := msg.(*govtypes.MsgSubmitProposal); !ok { + if _, ok := msg.(*govtypesv1.MsgSubmitProposal); !ok { continue } @@ -94,9 +157,11 @@ func refreshProposalDetails(parseCtx *parser.Context, proposalID string, govModu return nil } -func refreshProposalDeposits(parseCtx *parser.Context, proposalID string, govModule *gov.Module) error { +func refreshProposalDeposits(parseCtx *parser.Context, proposalID uint64, govModule *gov.Module) error { + log.Debug().Msg("refreshing proposal deposits") + // Get the tx that deposited to the proposal - txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("proposal_deposit.proposal_id=%s", proposalID)) + txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("proposal_deposit.proposal_id=%d", proposalID)) if err != nil { return err } @@ -110,7 +175,7 @@ func refreshProposalDeposits(parseCtx *parser.Context, proposalID string, govMod // Handle the MsgDeposit messages for index, msg := range junoTx.GetMsgs() { - if _, ok := msg.(*govtypes.MsgDeposit); !ok { + if _, ok := msg.(*govtypesv1.MsgDeposit); !ok { continue } @@ -124,9 +189,11 @@ func refreshProposalDeposits(parseCtx *parser.Context, proposalID string, govMod return nil } -func refreshProposalVotes(parseCtx *parser.Context, proposalID string, govModule *gov.Module) error { +func refreshProposalVotes(parseCtx *parser.Context, proposalID uint64, govModule *gov.Module) error { + log.Debug().Msg("refreshing proposal votes") + // Get the tx that voted the proposal - txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("proposal_vote.proposal_id=%s", proposalID)) + txs, err := utils.QueryTxs(parseCtx.Node, fmt.Sprintf("proposal_vote.proposal_id=%d", proposalID)) if err != nil { return err } @@ -140,13 +207,23 @@ func refreshProposalVotes(parseCtx *parser.Context, proposalID string, govModule // Handle the MsgVote messages for index, msg := range junoTx.GetMsgs() { - if _, ok := msg.(*govtypes.MsgVote); !ok { + if msgVote, ok := msg.(*govtypesv1.MsgVote); !ok { continue - } - - err = govModule.HandleMsg(index, msg, junoTx) - if err != nil { - return fmt.Errorf("error while handling MsgVote: %s", err) + } else { + // check if requested proposal ID is the same as proposal ID returned + // from the msg as some txs may contain multiple MsgVote msgs + // for different proposals which can cause error if one of the proposals + // info is not stored in database + if proposalID == msgVote.ProposalId { + err = govModule.HandleMsg(index, msg, junoTx) + if err != nil { + return fmt.Errorf("error while handling MsgVote: %s", err) + } + } else { + // skip votes for proposals with IDs + // different than requested in the query + continue + } } } } diff --git a/cmd/parse/mint/cmd.go b/cmd/parse/mint/cmd.go new file mode 100644 index 000000000..5c45f1faf --- /dev/null +++ b/cmd/parse/mint/cmd.go @@ -0,0 +1,20 @@ +package mint + +import ( + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/spf13/cobra" +) + +// NewMintCmd returns the Cobra command allowing to fix various things related to the x/mint module +func NewMintCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + cmd := &cobra.Command{ + Use: "mint", + Short: "Fix things related to the x/mint module", + } + + cmd.AddCommand( + inflationCmd(parseConfig), + ) + + return cmd +} diff --git a/cmd/parse/mint/inflation.go b/cmd/parse/mint/inflation.go new file mode 100644 index 000000000..b2d514fc5 --- /dev/null +++ b/cmd/parse/mint/inflation.go @@ -0,0 +1,45 @@ +package mint + +import ( + "fmt" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/mint" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" +) + +// inflationCmd returns the Cobra command allowing to refresh x/mint inflation +func inflationCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "inflation", + Short: "Refresh inflation", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build mint module + mintModule := mint.NewModule(sources.MintSource, parseCtx.EncodingConfig.Codec, db) + + err = mintModule.UpdateInflation() + if err != nil { + return fmt.Errorf("error while updating inflation: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/parse.go b/cmd/parse/parse.go index 5d64c551b..ab6425591 100644 --- a/cmd/parse/parse.go +++ b/cmd/parse/parse.go @@ -1,18 +1,23 @@ package parse import ( - parse "github.com/forbole/juno/v3/cmd/parse/types" + parse "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" - parseblocks "github.com/forbole/juno/v3/cmd/parse/blocks" + parseblocks "github.com/forbole/juno/v5/cmd/parse/blocks" - parsegenesis "github.com/forbole/juno/v3/cmd/parse/genesis" + parsegenesis "github.com/forbole/juno/v5/cmd/parse/genesis" - parseauth "github.com/forbole/bdjuno/v3/cmd/parse/auth" - parsefeegrant "github.com/forbole/bdjuno/v3/cmd/parse/feegrant" - parsegov "github.com/forbole/bdjuno/v3/cmd/parse/gov" - parsestaking "github.com/forbole/bdjuno/v3/cmd/parse/staking" - parsetransaction "github.com/forbole/juno/v3/cmd/parse/transactions" + parsetransaction "github.com/forbole/juno/v5/cmd/parse/transactions" + + parseauth "github.com/forbole/bdjuno/v4/cmd/parse/auth" + parsebank "github.com/forbole/bdjuno/v4/cmd/parse/bank" + parsedistribution "github.com/forbole/bdjuno/v4/cmd/parse/distribution" + parsefeegrant "github.com/forbole/bdjuno/v4/cmd/parse/feegrant" + parsegov "github.com/forbole/bdjuno/v4/cmd/parse/gov" + parsemint "github.com/forbole/bdjuno/v4/cmd/parse/mint" + parsepricefeed "github.com/forbole/bdjuno/v4/cmd/parse/pricefeed" + parsestaking "github.com/forbole/bdjuno/v4/cmd/parse/staking" ) // NewParseCmd returns the Cobra command allowing to parse some chain data without having to re-sync the whole database @@ -25,10 +30,14 @@ func NewParseCmd(parseCfg *parse.Config) *cobra.Command { cmd.AddCommand( parseauth.NewAuthCmd(parseCfg), + parsebank.NewBankCmd(parseCfg), parseblocks.NewBlocksCmd(parseCfg), + parsedistribution.NewDistributionCmd(parseCfg), parsefeegrant.NewFeegrantCmd(parseCfg), parsegenesis.NewGenesisCmd(parseCfg), parsegov.NewGovCmd(parseCfg), + parsemint.NewMintCmd(parseCfg), + parsepricefeed.NewPricefeedCmd(parseCfg), parsestaking.NewStakingCmd(parseCfg), parsetransaction.NewTransactionsCmd(parseCfg), ) diff --git a/cmd/parse/pricefeed/cmd.go b/cmd/parse/pricefeed/cmd.go new file mode 100644 index 000000000..51e705cf7 --- /dev/null +++ b/cmd/parse/pricefeed/cmd.go @@ -0,0 +1,21 @@ +package pricefeed + +import ( + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/spf13/cobra" +) + +// NewPricefeedCmd returns the Cobra command allowing to refresh pricefeed +func NewPricefeedCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + cmd := &cobra.Command{ + Use: "pricefeed", + Short: "Fix things related to the pricefeed module", + } + + cmd.AddCommand( + priceCmd(parseConfig), + priceHistoryCmd(parseConfig), + ) + + return cmd +} diff --git a/cmd/parse/pricefeed/price.go b/cmd/parse/pricefeed/price.go new file mode 100644 index 000000000..209f0fd1e --- /dev/null +++ b/cmd/parse/pricefeed/price.go @@ -0,0 +1,44 @@ +package pricefeed + +import ( + "fmt" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/pricefeed" +) + +// priceCmd returns the Cobra command allowing to refresh token price +func priceCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "price", + Short: "Refresh token price", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build pricefeed module + pricefeedModule := pricefeed.NewModule(config.Cfg, parseCtx.EncodingConfig.Codec, db) + + err = pricefeedModule.RunAdditionalOperations() + if err != nil { + return fmt.Errorf("error while storing tokens: %s", err) + } + + err = pricefeedModule.UpdatePrice() + if err != nil { + return fmt.Errorf("error while updating price: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/pricefeed/pricehistory.go b/cmd/parse/pricefeed/pricehistory.go new file mode 100644 index 000000000..d0b0f57fb --- /dev/null +++ b/cmd/parse/pricefeed/pricehistory.go @@ -0,0 +1,44 @@ +package pricefeed + +import ( + "fmt" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/pricefeed" +) + +// priceHistoryCmd returns the Cobra command allowing to store token price history +func priceHistoryCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "history", + Short: "Store token price history", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build pricefeed module + pricefeedModule := pricefeed.NewModule(config.Cfg, parseCtx.EncodingConfig.Codec, db) + + err = pricefeedModule.RunAdditionalOperations() + if err != nil { + return fmt.Errorf("error while storing tokens: %s", err) + } + + err = pricefeedModule.UpdatePricesHistory() + if err != nil { + return fmt.Errorf("error while updating price history: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/staking/cmd.go b/cmd/parse/staking/cmd.go index f6f34e4cc..7f0792f18 100644 --- a/cmd/parse/staking/cmd.go +++ b/cmd/parse/staking/cmd.go @@ -1,7 +1,7 @@ package staking import ( - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" "github.com/spf13/cobra" ) @@ -13,6 +13,7 @@ func NewStakingCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { } cmd.AddCommand( + poolCmd(parseConfig), validatorsCmd(parseConfig), ) diff --git a/cmd/parse/staking/staking.go b/cmd/parse/staking/staking.go new file mode 100644 index 000000000..1a89d208e --- /dev/null +++ b/cmd/parse/staking/staking.go @@ -0,0 +1,45 @@ +package staking + +import ( + "fmt" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" + "github.com/spf13/cobra" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/staking" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" +) + +// poolCmd returns the Cobra command allowing to refresh x/staking pool +func poolCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { + return &cobra.Command{ + Use: "pool", + Short: "Refresh staking pool", + RunE: func(cmd *cobra.Command, args []string) error { + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parseConfig) + if err != nil { + return err + } + + sources, err := modulestypes.BuildSources(config.Cfg.Node, parseCtx.EncodingConfig) + if err != nil { + return err + } + + // Get the database + db := database.Cast(parseCtx.Database) + + // Build staking module + stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) + + err = stakingModule.UpdateStakingPool() + if err != nil { + return fmt.Errorf("error while updating staking pool: %s", err) + } + + return nil + }, + } +} diff --git a/cmd/parse/staking/validators.go b/cmd/parse/staking/validators.go index d885c0571..eb5560cf3 100644 --- a/cmd/parse/staking/validators.go +++ b/cmd/parse/staking/validators.go @@ -3,14 +3,14 @@ package staking import ( "fmt" - modulestypes "github.com/forbole/bdjuno/v3/modules/types" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" - parsecmdtypes "github.com/forbole/juno/v3/cmd/parse/types" - "github.com/forbole/juno/v3/types/config" + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" + "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/modules/staking" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/staking" ) // validatorsCmd returns a Cobra command that allows to fix the validator infos for all validators. @@ -33,7 +33,7 @@ func validatorsCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { db := database.Cast(parseCtx.Database) // Build the staking module - stakingModule := staking.NewModule(sources.StakingSource, nil, parseCtx.EncodingConfig.Marshaler, db) + stakingModule := staking.NewModule(sources.StakingSource, parseCtx.EncodingConfig.Codec, db) // Get latest height height, err := parseCtx.Node.LatestHeight() @@ -41,18 +41,9 @@ func validatorsCmd(parseConfig *parsecmdtypes.Config) *cobra.Command { return fmt.Errorf("error while getting latest block height: %s", err) } - // Get all validators - validators, err := sources.StakingSource.GetValidatorsWithStatus(height, "") + err = stakingModule.RefreshAllValidatorInfos(height) if err != nil { - return fmt.Errorf("error while getting validators: %s", err) - } - - // Refresh each validator - for _, validator := range validators { - err = stakingModule.RefreshValidatorInfos(height, validator.OperatorAddress) - if err != nil { - return fmt.Errorf("error while refreshing validator: %s", err) - } + return fmt.Errorf("error while refreshing all validators infos: %s", err) } return nil diff --git a/database/assetft_params.go b/database/assetft_params.go index 036c574fd..0e451b864 100644 --- a/database/assetft_params.go +++ b/database/assetft_params.go @@ -4,9 +4,10 @@ import ( "encoding/json" "fmt" - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) // SaveAssetFTParams allows to store the given params into the database. @@ -24,7 +25,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE assetft_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing assetft params: %s", err) } diff --git a/database/assetft_params_test.go b/database/assetft_params_test.go index 4a4041dd3..1621d1329 100644 --- a/database/assetft_params_test.go +++ b/database/assetft_params_test.go @@ -3,9 +3,10 @@ package database_test import ( "encoding/json" - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) func (suite *DbTestSuite) TestSaveAssetFTParams() { @@ -31,7 +32,7 @@ func (suite *DbTestSuite) TestGetAssetFTParams() { paramsBz, err := json.Marshal(&assetFTParams) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec( + _, err = suite.database.SQL.Exec( `INSERT INTO assetft_params (params, height) VALUES ($1, $2)`, string(paramsBz), 10, ) diff --git a/database/assetnft_params.go b/database/assetnft_params.go index 83094f8ec..26ec27024 100644 --- a/database/assetnft_params.go +++ b/database/assetnft_params.go @@ -4,9 +4,10 @@ import ( "encoding/json" "fmt" - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) // SaveAssetNFTParams allows to store the given params into the database. @@ -24,7 +25,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE assetnft_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing assetnft params: %s", err) } diff --git a/database/assetnft_params_test.go b/database/assetnft_params_test.go index d8fa9ae0f..b6bd2d388 100644 --- a/database/assetnft_params_test.go +++ b/database/assetnft_params_test.go @@ -3,9 +3,10 @@ package database_test import ( "encoding/json" - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) func (suite *DbTestSuite) TestSaveAssetNFTParams() { @@ -31,7 +32,7 @@ func (suite *DbTestSuite) TestGetAssetNFTParams() { paramsBz, err := json.Marshal(&assetNFTParams) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec( + _, err = suite.database.SQL.Exec( `INSERT INTO assetnft_params (params, height) VALUES ($1, $2)`, string(paramsBz), 10, ) diff --git a/database/auth.go b/database/auth.go index 80fdeb4b1..4b406ddd9 100644 --- a/database/auth.go +++ b/database/auth.go @@ -6,13 +6,13 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/vesting/exported" vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/gogoproto/proto" "github.com/lib/pq" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - dbutils "github.com/forbole/bdjuno/v3/database/utils" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + dbutils "github.com/forbole/bdjuno/v4/database/utils" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveAccounts saves the given accounts inside the database @@ -51,7 +51,7 @@ func (db *Db) saveAccounts(paramsNumber int, accounts []types.Account) error { stmt = stmt[:len(stmt)-1] stmt += " ON CONFLICT DO NOTHING" - _, err := db.Sql.Exec(stmt, params...) + _, err := db.SQL.Exec(stmt, params...) if err != nil { return fmt.Errorf("error while storing accounts: %s", err) } @@ -98,8 +98,14 @@ func (db *Db) storeVestingAccount(account exported.VestingAccount) (int, error) start_time = excluded.start_time RETURNING id ` + // Store the vesting account + err := db.SaveAccounts([]types.Account{types.NewAccount(account.GetAddress().String())}) + if err != nil { + return 0, fmt.Errorf("error while storing vesting account address: %s", err) + } + var vestingAccountRowID int - err := db.Sql.QueryRow(stmt, + err = db.SQL.QueryRow(stmt, proto.MessageName(account), account.GetAddress().String(), pq.Array(dbtypes.NewDbCoins(account.GetOriginalVesting())), @@ -124,7 +130,13 @@ func (db *Db) StoreBaseVestingAccountFromMsg(bva *vestingtypes.BaseVestingAccoun start_time = excluded.start_time, end_time = excluded.end_time` - _, err := db.Sql.Exec(stmt, + // Store the vesting account + err := db.SaveAccounts([]types.Account{types.NewAccount(bva.GetAddress().String())}) + if err != nil { + return fmt.Errorf("error while storing vesting account address: %s", err) + } + + _, err = db.SQL.Exec(stmt, proto.MessageName(bva), bva.GetAddress().String(), pq.Array(dbtypes.NewDbCoins(bva.OriginalVesting)), @@ -140,7 +152,7 @@ func (db *Db) StoreBaseVestingAccountFromMsg(bva *vestingtypes.BaseVestingAccoun func (db *Db) storeVestingPeriods(id int, vestingPeriods []vestingtypes.Period) error { // Delete already existing periods stmt := `DELETE FROM vesting_period WHERE vesting_account_id = $1` - _, err := db.Sql.Exec(stmt, id) + _, err := db.SQL.Exec(stmt, id) if err != nil { return fmt.Errorf("error while deleting vesting period: %s", err) } @@ -161,7 +173,7 @@ VALUES ` } stmt = stmt[:len(stmt)-1] - _, err = db.Sql.Exec(stmt, params...) + _, err = db.SQL.Exec(stmt, params...) if err != nil { return fmt.Errorf("error while saving vesting periods: %s", err) } diff --git a/database/auth_test.go b/database/auth_test.go index 1651664a4..e4ad0ee2b 100644 --- a/database/auth_test.go +++ b/database/auth_test.go @@ -4,9 +4,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestSaveAccount() { @@ -50,7 +50,7 @@ func (suite *DbTestSuite) TestBigDipperDb_GetAccounts() { } for _, query := range queries { - _, err := suite.database.Sql.Exec(query) + _, err := suite.database.SQL.Exec(query) suite.Require().NoError(err) } diff --git a/database/bank.go b/database/bank.go index 719ff5d5b..fc1e9519d 100644 --- a/database/bank.go +++ b/database/bank.go @@ -3,7 +3,7 @@ package database import ( "fmt" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lib/pq" @@ -19,7 +19,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE supply.height <= excluded.height` - _, err := db.Sql.Exec(query, pq.Array(dbtypes.NewDbCoins(coins)), height) + _, err := db.SQL.Exec(query, pq.Array(dbtypes.NewDbCoins(coins)), height) if err != nil { return fmt.Errorf("error while storing supply: %s", err) } diff --git a/database/bank_test.go b/database/bank_test.go index 2687fa2d4..28edd87eb 100644 --- a/database/bank_test.go +++ b/database/bank_test.go @@ -3,9 +3,9 @@ package database_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" - bddbtypes "github.com/forbole/bdjuno/v3/database/types" + bddbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveSupply() { diff --git a/database/consensus.go b/database/consensus.go index af9fa010e..d1b41055d 100644 --- a/database/consensus.go +++ b/database/consensus.go @@ -4,9 +4,9 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) // GetLastBlock returns the last block stored inside the database based on the heights @@ -25,16 +25,20 @@ func (db *Db) GetLastBlock() (*dbtypes.BlockRow, error) { return &blocks[0], nil } -// GetLastBlockHeight returns the last block height stored inside the database -func (db *Db) GetLastBlockHeight() (int64, error) { - block, err := db.GetLastBlock() - if err != nil { - return 0, err +// GetLastBlockHeight returns the last block height and timestamp stored inside the database +func (db *Db) GetLastBlockHeightAndTimestamp() (dbtypes.BlockHeightAndTimestamp, error) { + stmt := `SELECT height, timestamp FROM block ORDER BY height DESC LIMIT 1` + + var blockHeightAndTimestamp []dbtypes.BlockHeightAndTimestamp + if err := db.Sqlx.Select(&blockHeightAndTimestamp, stmt); err != nil { + return dbtypes.BlockHeightAndTimestamp{}, fmt.Errorf("cannot get last block height and timestamp from db: %s", err) } - if block == nil { - return 0, fmt.Errorf("block table is empty") + + if len(blockHeightAndTimestamp) == 0 { + return dbtypes.BlockHeightAndTimestamp{}, nil } - return block.Height, nil + + return blockHeightAndTimestamp[0], nil } // ------------------------------------------------------------------------------------------------------------------- diff --git a/database/consensus_test.go b/database/consensus_test.go index 716389ad4..0169e61d8 100644 --- a/database/consensus_test.go +++ b/database/consensus_test.go @@ -1,10 +1,10 @@ package database_test import ( - time "time" + "time" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) func (suite *DbTestSuite) TestSaveConsensus_GetBlockHeightTimeMinuteAgo() { @@ -13,11 +13,11 @@ func (suite *DbTestSuite) TestSaveConsensus_GetBlockHeightTimeMinuteAgo() { var height int64 = 1000 - _, err = suite.database.Sql.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) + _, err = suite.database.SQL.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', 'cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8')`) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) + _, err = suite.database.SQL.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) VALUES ($1, '5EF85F2251F656BA0FBFED9AEFCBC44A9CCBCFD8B96897E74426E07229D2ADE0', '0', '0', 'desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', $2)`, height, timeAgo) suite.Require().NoError(err) @@ -34,11 +34,11 @@ func (suite *DbTestSuite) TestSaveConsensus_GetBlockHeightTimeHourAgo() { suite.Require().NoError(err) var height int64 = 1000 - _, err = suite.database.Sql.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) + _, err = suite.database.SQL.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', 'cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8')`) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) + _, err = suite.database.SQL.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) VALUES ($1, '5EF85F2251F656BA0FBFED9AEFCBC44A9CCBCFD8B96897E74426E07229D2ADE0', '0', '0', 'desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', $2)`, height, timeAgo) suite.Require().NoError(err) @@ -56,11 +56,11 @@ func (suite *DbTestSuite) TestSaveConsensus_GetBlockHeightTimeDayAgo() { var height int64 = 1000 - _, err = suite.database.Sql.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) + _, err = suite.database.SQL.Exec(`INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', 'cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8')`) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) + _, err = suite.database.SQL.Exec(`INSERT INTO block(height, hash, num_txs, total_gas, proposer_address, timestamp) VALUES ($1, '5EF85F2251F656BA0FBFED9AEFCBC44A9CCBCFD8B96897E74426E07229D2ADE0', '0', '0', 'desmosvalcons1mxrd5cyjgpx5vfgltrdufq9wq4ynwc799ndrg8', $2)`, height, timeAgo) suite.Require().NoError(err) diff --git a/database/customparams_params.go b/database/customparams_params.go index 08048a934..34e19012c 100644 --- a/database/customparams_params.go +++ b/database/customparams_params.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) // SaveCustomParamsParams saves the given x/customparams parameters inside the database @@ -23,7 +23,7 @@ ON CONFLICT (one_row_id) DO UPDATE SET staking_params = excluded.staking_params, height = excluded.height WHERE customparams_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(stakingParamsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(stakingParamsBz), params.Height) if err != nil { return fmt.Errorf("error while storing customparams params: %s", err) } diff --git a/database/customparams_params_test.go b/database/customparams_params_test.go index db54a0af2..dcd2070b0 100644 --- a/database/customparams_params_test.go +++ b/database/customparams_params_test.go @@ -3,9 +3,10 @@ package database_test import ( "encoding/json" - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" ) func (suite *DbTestSuite) TestSaveCustomParamsParams() { @@ -33,7 +34,7 @@ func (suite *DbTestSuite) TestGetCustomParamsParams() { paramsBz, err := json.Marshal(&customparamsParams) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec( + _, err = suite.database.SQL.Exec( `INSERT INTO customparams_params (staking_params, height) VALUES ($1, $2)`, string(paramsBz), 10, ) diff --git a/database/daily_refetch.go b/database/daily_refetch.go new file mode 100644 index 000000000..7c146936a --- /dev/null +++ b/database/daily_refetch.go @@ -0,0 +1,17 @@ +package database + +// GetMissingBlocks returns an array of missing blocks from one day ago +func (db *Db) GetMissingBlocks(startHeight, endHeight int64) []int64 { + var result []int64 + stmt := `SELECT generate_series($1::int,$2::int) EXCEPT SELECT height FROM block ORDER BY 1;` + err := db.Sqlx.Select(&result, stmt, startHeight, endHeight) + if err != nil { + return nil + } + + if len(result) == 0 { + return nil + } + + return result +} diff --git a/database/database.go b/database/database.go index eed2ecc51..da5d4bc10 100644 --- a/database/database.go +++ b/database/database.go @@ -3,8 +3,8 @@ package database import ( "fmt" - db "github.com/forbole/juno/v3/database" - "github.com/forbole/juno/v3/database/postgresql" + db "github.com/forbole/juno/v5/database" + "github.com/forbole/juno/v5/database/postgresql" "github.com/jmoiron/sqlx" ) @@ -31,7 +31,7 @@ func Builder(ctx *db.Context) (db.Database, error) { return &Db{ Database: psqlDb, - Sqlx: sqlx.NewDb(psqlDb.Sql, "postgresql"), + Sqlx: sqlx.NewDb(psqlDb.SQL.DB, "postgresql"), }, nil } diff --git a/database/database_test.go b/database/database_test.go index 0efbf856f..90dfa9da7 100644 --- a/database/database_test.go +++ b/database/database_test.go @@ -1,7 +1,7 @@ package database_test import ( - "io/ioutil" + "os" "path" "path/filepath" "regexp" @@ -9,22 +9,22 @@ import ( "testing" "time" - dbconfig "github.com/forbole/juno/v3/database/config" - "github.com/forbole/juno/v3/logging" + dbconfig "github.com/forbole/juno/v5/database/config" + "github.com/forbole/juno/v5/logging" - junodb "github.com/forbole/juno/v3/database" + junodb "github.com/forbole/juno/v5/database" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/types" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" + tmversion "github.com/cometbft/cometbft/proto/tendermint/version" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" sdk "github.com/cosmos/cosmos-sdk/types" - tmversion "github.com/tendermint/tendermint/proto/tendermint/version" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/cosmos/cosmos-sdk/simapp" + simappparams "cosmossdk.io/simapp/params" "github.com/stretchr/testify/suite" _ "github.com/proullon/ramsql/driver" @@ -42,17 +42,15 @@ type DbTestSuite struct { func (suite *DbTestSuite) SetupTest() { // Create the codec - codec := simapp.MakeTestEncodingConfig() + codec := simappparams.MakeTestEncodingConfig() // Build the database dbCfg := dbconfig.NewDatabaseConfig( - "bdjuno", - "localhost", - 6433, - "bdjuno", - "password", + "postgresql://bdjuno:password@localhost:6433/bdjuno?sslmode=disable&search_path=public", + "", + "", + "", "", - "public", -1, -1, 100000, @@ -65,25 +63,25 @@ func (suite *DbTestSuite) SetupTest() { suite.Require().True(ok) // Delete the public schema - _, err = bigDipperDb.Sql.Exec(`DROP SCHEMA public CASCADE;`) + _, err = bigDipperDb.SQL.Exec(`DROP SCHEMA public CASCADE;`) suite.Require().NoError(err) // Re-create the schema - _, err = bigDipperDb.Sql.Exec(`CREATE SCHEMA public;`) + _, err = bigDipperDb.SQL.Exec(`CREATE SCHEMA public;`) suite.Require().NoError(err) dirPath := path.Join(".", "schema") - dir, err := ioutil.ReadDir(dirPath) + dir, err := os.ReadDir(dirPath) suite.Require().NoError(err) for _, fileInfo := range dir { - file, err := ioutil.ReadFile(filepath.Join(dirPath, fileInfo.Name())) + file, err := os.ReadFile(filepath.Join(dirPath, fileInfo.Name())) suite.Require().NoError(err) commentsRegExp := regexp.MustCompile(`/\*.*\*/`) requests := strings.Split(string(file), ";") for _, request := range requests { - _, err := bigDipperDb.Sql.Exec(commentsRegExp.ReplaceAllString(request, "")) + _, err := bigDipperDb.SQL.Exec(commentsRegExp.ReplaceAllString(request, "")) suite.Require().NoError(err) } } @@ -166,7 +164,7 @@ func (suite *DbTestSuite) getAccount(addr string) sdk.AccAddress { delegator, err := sdk.AccAddressFromBech32(addr) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec(`INSERT INTO account (address) VALUES ($1) ON CONFLICT DO NOTHING`, delegator.String()) + _, err = suite.database.SQL.Exec(`INSERT INTO account (address) VALUES ($1) ON CONFLICT DO NOTHING`, delegator.String()) suite.Require().NoError(err) return delegator diff --git a/database/distribution.go b/database/distribution.go index 894a369eb..750f503a0 100644 --- a/database/distribution.go +++ b/database/distribution.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/lib/pq" @@ -21,7 +21,7 @@ ON CONFLICT (one_row_id) DO UPDATE SET coins = excluded.coins, height = excluded.height WHERE community_pool.height <= excluded.height` - _, err := db.Sql.Exec(query, pq.Array(dbtypes.NewDbDecCoins(coin)), height) + _, err := db.SQL.Exec(query, pq.Array(dbtypes.NewDbDecCoins(coin)), height) if err != nil { return fmt.Errorf("error while storing community pool: %s", err) } @@ -45,7 +45,7 @@ ON CONFLICT (one_row_id) DO UPDATE SET params = excluded.params, height = excluded.height WHERE distribution_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing distribution params: %s", err) } diff --git a/database/distribution_test.go b/database/distribution_test.go index 29eeef135..6aa4f7bab 100644 --- a/database/distribution_test.go +++ b/database/distribution_test.go @@ -5,12 +5,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - bddbtypes "github.com/forbole/bdjuno/v3/database/types" + bddbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveCommunityPool() { diff --git a/database/feegrant.go b/database/feegrant.go index 07d347b6b..9ffaf4286 100644 --- a/database/feegrant.go +++ b/database/feegrant.go @@ -5,7 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveFeeGrantAllowance allows to store the fee grant allowances for the given block height @@ -31,7 +31,7 @@ WHERE fee_grant_allowance.height <= excluded.height` return fmt.Errorf("error while marshaling grant allowance: %s", err) } - _, err = db.Sql.Exec(stmt, allowance.Grantee, allowance.Granter, allowanceJSON, allowance.Height) + _, err = db.SQL.Exec(stmt, allowance.Grantee, allowance.Granter, allowanceJSON, allowance.Height) if err != nil { return fmt.Errorf("error while saving fee grant allowance: %s", err) } @@ -42,7 +42,7 @@ WHERE fee_grant_allowance.height <= excluded.height` // DeleteFeeGrantAllowance removes the fee grant allowance data from the database func (db *Db) DeleteFeeGrantAllowance(allowance types.GrantRemoval) error { stmt := `DELETE FROM fee_grant_allowance WHERE grantee_address = $1 AND granter_address = $2 AND height <= $3` - _, err := db.Sql.Exec(stmt, allowance.Grantee, allowance.Granter, allowance.Height) + _, err := db.SQL.Exec(stmt, allowance.Grantee, allowance.Granter, allowance.Height) if err != nil { return fmt.Errorf("error while deleting grant allowance: %s", err) diff --git a/database/feegrant_test.go b/database/feegrant_test.go index 78c2b958c..eec74e308 100644 --- a/database/feegrant_test.go +++ b/database/feegrant_test.go @@ -4,8 +4,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveFeeGrantAllowance() { @@ -36,10 +36,6 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveFeeGrantAllowance() { suite.Require().Equal(rows[0].Grantee, grantee.String()) suite.Require().Equal(rows[0].Height, int64(121622)) - var stored feegranttypes.FeeAllowanceI - err = suite.database.EncodingConfig.Marshaler.UnmarshalInterfaceJSON([]byte(rows[0].Allowance), &stored) - suite.Require().NoError(err) - suite.Require().Equal(allowance, stored) } func (suite *DbTestSuite) TestBigDipperDb_RemoveFeeGrantAllowance() { @@ -66,7 +62,7 @@ func (suite *DbTestSuite) TestBigDipperDb_RemoveFeeGrantAllowance() { // verify the data var count int - err = suite.database.Sql.QueryRow(`SELECT COUNT(*) FROM fee_grant_allowance`).Scan(&count) + err = suite.database.SQL.QueryRow(`SELECT COUNT(*) FROM fee_grant_allowance`).Scan(&count) suite.Require().NoError(err) suite.Require().Equal(0, count) } diff --git a/database/feemodel_params.go b/database/feemodel_params.go index 749279726..aebc06679 100644 --- a/database/feemodel_params.go +++ b/database/feemodel_params.go @@ -4,9 +4,10 @@ import ( "encoding/json" "fmt" - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) // SaveFeeModelParams allows to store the given params into the database. @@ -24,7 +25,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE feemodel_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing feemodel params: %s", err) } diff --git a/database/feemodel_params_test.go b/database/feemodel_params_test.go index 2ff90e1b9..e05d426cb 100644 --- a/database/feemodel_params_test.go +++ b/database/feemodel_params_test.go @@ -3,9 +3,10 @@ package database_test import ( "encoding/json" - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" + + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) func (suite *DbTestSuite) TestSaveFeeModelParams() { @@ -31,7 +32,7 @@ func (suite *DbTestSuite) TestGetFeeModelParams() { paramsBz, err := json.Marshal(&feemodelParams) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec( + _, err = suite.database.SQL.Exec( `INSERT INTO feemodel_params (params, height) VALUES ($1, $2)`, string(paramsBz), 10, ) diff --git a/database/gov.go b/database/gov.go index f63de9e77..96af2ac87 100644 --- a/database/gov.go +++ b/database/gov.go @@ -3,46 +3,34 @@ package database import ( "encoding/json" "fmt" + "strings" + "time" + "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/gogo/protobuf/proto" - - "github.com/forbole/bdjuno/v3/types" - - dbtypes "github.com/forbole/bdjuno/v3/database/types" - + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "github.com/lib/pq" + + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveGovParams saves the given x/gov parameters inside the database func (db *Db) SaveGovParams(params *types.GovParams) error { - - depositParamsBz, err := json.Marshal(¶ms.DepositParams) - if err != nil { - return fmt.Errorf("error while marshaling deposit params: %s", err) - } - - votingParamsBz, err := json.Marshal(¶ms.VotingParams) - if err != nil { - return fmt.Errorf("error while marshaling voting params: %s", err) - } - - tallyingParams, err := json.Marshal(¶ms.TallyParams) + paramsBz, err := json.Marshal(¶ms.Params) if err != nil { - return fmt.Errorf("error while marshaling tally params: %s", err) + return fmt.Errorf("error while marshalling gov params: %s", err) } stmt := ` -INSERT INTO gov_params(deposit_params, voting_params, tally_params, height) -VALUES ($1, $2, $3, $4) -ON CONFLICT (one_row_id) DO UPDATE - SET deposit_params = excluded.deposit_params, - voting_params = excluded.voting_params, - tally_params = excluded.tally_params, +INSERT INTO gov_params(params, height) +VALUES ($1, $2) +ON CONFLICT (one_row_id) DO UPDATE + SET params = excluded.params, height = excluded.height WHERE gov_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(depositParamsBz), string(votingParamsBz), string(tallyingParams), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing gov params: %s", err) } @@ -64,28 +52,13 @@ func (db *Db) GetGovParams() (*types.GovParams, error) { row := rows[0] - var depositParams types.DepositParams - err = json.Unmarshal([]byte(row.DepositParams), &depositParams) - if err != nil { - return nil, err - } - - var votingParams types.VotingParams - err = json.Unmarshal([]byte(row.VotingParams), &votingParams) + var params govtypesv1.Params + err = json.Unmarshal([]byte(row.Params), ¶ms) if err != nil { return nil, err } - var tallyParams types.TallyParams - err = json.Unmarshal([]byte(row.TallyParams), &tallyParams) - if err != nil { - return nil, err - } - - return types.NewGovParams( - votingParams, depositParams, tallyParams, - row.Height, - ), nil + return types.NewGovParams(¶ms, row.Height), nil } // -------------------------------------------------------------------------------------------------------------------- @@ -100,7 +73,7 @@ func (db *Db) SaveProposals(proposals []types.Proposal) error { proposalsQuery := ` INSERT INTO proposal( - id, title, description, content, proposer_address, proposal_route, proposal_type, status, + id, title, description, metadata, content, proposer_address, status, submit_time, deposit_end_time, voting_start_time, voting_end_time ) VALUES` var proposalsParams []interface{} @@ -110,34 +83,27 @@ INSERT INTO proposal( accounts = append(accounts, types.NewAccount(proposal.Proposer)) // Prepare the proposal query - vi := i * 12 - proposalsQuery += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d),", - vi+1, vi+2, vi+3, vi+4, vi+5, vi+6, vi+7, vi+8, vi+9, vi+10, vi+11, vi+12) - - // Encode the content properly - protoContent, ok := proposal.Content.(proto.Message) - if !ok { - return fmt.Errorf("invalid proposal content types: %T", proposal.Content) - } - - anyContent, err := codectypes.NewAnyWithValue(protoContent) - if err != nil { - return fmt.Errorf("error while wrapping proposal proto content: %s", err) - } - - contentBz, err := db.EncodingConfig.Marshaler.MarshalJSON(anyContent) - if err != nil { - return fmt.Errorf("error while marshaling proposal content: %s", err) + vi := i * 11 + proposalsQuery += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d,$%d),", + vi+1, vi+2, vi+3, vi+4, vi+5, vi+6, vi+7, vi+8, vi+9, vi+10, vi+11) + + var jsonMessages []string + var protoCodec codec.ProtoCodec + for _, msg := range proposal.Messages { + contentBz, err := protoCodec.MarshalJSON(msg) + if err != nil { + return fmt.Errorf("error while marshalling proposal msg: %s", err) + } + jsonMessages = append(jsonMessages, string(contentBz)) } proposalsParams = append(proposalsParams, - proposal.ProposalID, - proposal.Content.GetTitle(), - proposal.Content.GetDescription(), - string(contentBz), + proposal.ID, + proposal.Title, + proposal.Summary, + proposal.Metadata, + fmt.Sprintf("[%s]", strings.Join(jsonMessages, ",")), proposal.Proposer, - proposal.ProposalRoute, - proposal.ProposalType, proposal.Status, proposal.SubmitTime, proposal.DepositEndTime, @@ -146,7 +112,7 @@ INSERT INTO proposal( ) } - // Store the accounts + // Store the proposers accounts err := db.SaveAccounts(accounts) if err != nil { return fmt.Errorf("error while storing proposers accounts: %s", err) @@ -154,8 +120,18 @@ INSERT INTO proposal( // Store the proposals proposalsQuery = proposalsQuery[:len(proposalsQuery)-1] // Remove trailing "," - proposalsQuery += " ON CONFLICT DO NOTHING" - _, err = db.Sql.Exec(proposalsQuery, proposalsParams...) + proposalsQuery += ` +ON CONFLICT (id) DO UPDATE + SET title = excluded.title, + description = excluded.description, + content = excluded.content, + proposer_address = excluded.proposer_address, + status = excluded.status, + submit_time = excluded.submit_time, + deposit_end_time = excluded.deposit_end_time, + voting_start_time = excluded.voting_start_time, + voting_end_time = excluded.voting_end_time` + _, err = db.SQL.Exec(proposalsQuery, proposalsParams...) if err != nil { return fmt.Errorf("error while storing proposals: %s", err) } @@ -164,51 +140,64 @@ INSERT INTO proposal( } // GetProposal returns the proposal with the given id, or nil if not found -func (db *Db) GetProposal(id uint64) (*types.Proposal, error) { +func (db *Db) GetProposal(id uint64) (types.Proposal, error) { var rows []*dbtypes.ProposalRow - err := db.Sqlx.Select(&rows, `SELECT * FROM proposal WHERE id = $1`, id) + err := db.SQL.Select(&rows, `SELECT * FROM proposal WHERE id = $1`, id) if err != nil { - return nil, err + return types.Proposal{}, fmt.Errorf("error while getting proposal %d: %s", id, err) } if len(rows) == 0 { - return nil, nil + return types.Proposal{}, nil } row := rows[0] - var contentAny codectypes.Any - err = db.EncodingConfig.Marshaler.UnmarshalJSON([]byte(row.Content), &contentAny) - if err != nil { - return nil, err - } + trimContent := strings.TrimPrefix(row.Content, "{") + trimContent = strings.TrimPrefix(trimContent, "}") + jsonMessages := strings.Split(trimContent, ",") - var content govtypes.Content - err = db.EncodingConfig.Marshaler.UnpackAny(&contentAny, &content) - if err != nil { - return nil, err + var messages []*codectypes.Any + for _, jsonMessage := range jsonMessages { + var msg codectypes.Any + err = db.Cdc.UnmarshalJSON([]byte(jsonMessage), &msg) + if err != nil { + return types.Proposal{}, err + } + messages = append(messages, &msg) } proposal := types.NewProposal( row.ProposalID, - row.ProposalRoute, - row.ProposalType, - content, + row.Title, + row.Description, + row.Metadata, + messages, row.Status, row.SubmitTime, row.DepositEndTime, - row.VotingStartTime, - row.VotingEndTime, + dbtypes.NullTimeToTime(row.VotingStartTime), + dbtypes.NullTimeToTime(row.VotingEndTime), row.Proposer, ) - return &proposal, nil + return proposal, nil } -// GetOpenProposalsIds returns all the ids of the proposals that are currently in deposit or voting period -func (db *Db) GetOpenProposalsIds() ([]uint64, error) { +// GetOpenProposalsIds returns all the ids of the proposals that are in deposit or voting period at the given block time +func (db *Db) GetOpenProposalsIds(blockTime time.Time) ([]uint64, error) { var ids []uint64 stmt := `SELECT id FROM proposal WHERE status = $1 OR status = $2` - err := db.Sqlx.Select(&ids, stmt, govtypes.StatusDepositPeriod.String(), govtypes.StatusVotingPeriod.String()) + err := db.Sqlx.Select(&ids, stmt, govtypesv1.StatusDepositPeriod.String(), govtypesv1.StatusVotingPeriod.String()) + if err != nil { + return ids, err + } + + // Get also the invalid status proposals due to gRPC failure but still are in deposit period or voting period + var idsInvalid []uint64 + stmt = `SELECT id FROM proposal WHERE status = $1 AND (voting_end_time > $2 OR deposit_end_time > $2)` + err = db.Sqlx.Select(&idsInvalid, stmt, types.ProposalStatusInvalid, blockTime) + ids = append(ids, idsInvalid...) + return ids, err } @@ -217,14 +206,14 @@ func (db *Db) GetOpenProposalsIds() ([]uint64, error) { // UpdateProposal updates a proposal stored inside the database func (db *Db) UpdateProposal(update types.ProposalUpdate) error { query := `UPDATE proposal SET status = $1, voting_start_time = $2, voting_end_time = $3 where id = $4` - _, err := db.Sql.Exec(query, + _, err := db.SQL.Exec(query, update.Status, update.VotingStartTime, update.VotingEndTime, update.ProposalID, ) if err != nil { - return fmt.Errorf("error while updating proposal: %s", err) + return fmt.Errorf("error while updating proposal %d: %s", update.ProposalID, err) } return nil @@ -236,25 +225,39 @@ func (db *Db) SaveDeposits(deposits []types.Deposit) error { return nil } - query := `INSERT INTO proposal_deposit (proposal_id, depositor_address, amount, height) VALUES ` + query := `INSERT INTO proposal_deposit (proposal_id, depositor_address, + amount, timestamp, transaction_hash, height) VALUES ` var param []interface{} - + var accounts []types.Account for i, deposit := range deposits { - vi := i * 4 - query += fmt.Sprintf("($%d,$%d,$%d,$%d),", vi+1, vi+2, vi+3, vi+4) + vi := i * 6 + + accounts = append(accounts, types.NewAccount(deposit.Depositor)) + + query += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d,$%d),", vi+1, vi+2, vi+3, vi+4, vi+5, vi+6) param = append(param, deposit.ProposalID, deposit.Depositor, pq.Array(dbtypes.NewDbCoins(deposit.Amount)), + deposit.Timestamp, + deposit.TransactionHash, deposit.Height, ) } + + // Store depositors accounts + err := db.SaveAccounts(accounts) + if err != nil { + return fmt.Errorf("error while storing depositors accounts: %s", err) + } + query = query[:len(query)-1] // Remove trailing "," query += ` ON CONFLICT ON CONSTRAINT unique_deposit DO UPDATE SET amount = excluded.amount, + timestamp = excluded.timestamp, height = excluded.height WHERE proposal_deposit.height <= excluded.height` - _, err := db.Sql.Exec(query, param...) + _, err = db.SQL.Exec(query, param...) if err != nil { return fmt.Errorf("error while storing deposits: %s", err) } @@ -267,10 +270,11 @@ WHERE proposal_deposit.height <= excluded.height` // SaveVote allows to save for the given height and the message vote func (db *Db) SaveVote(vote types.Vote) error { query := ` -INSERT INTO proposal_vote (proposal_id, voter_address, option, height) -VALUES ($1, $2, $3, $4) +INSERT INTO proposal_vote (proposal_id, voter_address, option, weight, timestamp, height) +VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT ON CONSTRAINT unique_vote DO UPDATE - SET option = excluded.option, + SET weight = excluded.weight, + timestamp = excluded.timestamp, height = excluded.height WHERE proposal_vote.height <= excluded.height` @@ -280,9 +284,9 @@ WHERE proposal_vote.height <= excluded.height` return fmt.Errorf("error while storing voter account: %s", err) } - _, err = db.Sql.Exec(query, vote.ProposalID, vote.Voter, vote.Option.String(), vote.Height) + _, err = db.SQL.Exec(query, vote.ProposalID, vote.Voter, vote.Option.String(), vote.Weight, vote.Timestamp, vote.Height) if err != nil { - return fmt.Errorf("error while storing vote: %s", err) + return fmt.Errorf("error while storing vote for proposal %d: %s", vote.ProposalID, err) } return nil @@ -311,14 +315,14 @@ func (db *Db) SaveTallyResults(tallys []types.TallyResult) error { query = query[:len(query)-1] // Remove trailing "," query += ` -ON CONFLICT ON CONSTRAINT unique_tally_result DO UPDATE - SET yes = excluded.yes, - abstain = excluded.abstain, - no = excluded.no, +ON CONFLICT ON CONSTRAINT unique_tally_result DO UPDATE + SET yes = excluded.yes, + abstain = excluded.abstain, + no = excluded.no, no_with_veto = excluded.no_with_veto, height = excluded.height WHERE proposal_tally_result.height <= excluded.height` - _, err := db.Sql.Exec(query, param...) + _, err := db.SQL.Exec(query, param...) if err != nil { return fmt.Errorf("error while storing tally result: %s", err) } @@ -333,17 +337,19 @@ func (db *Db) SaveProposalStakingPoolSnapshot(snapshot types.ProposalStakingPool stmt := ` INSERT INTO proposal_staking_pool_snapshot (proposal_id, bonded_tokens, not_bonded_tokens, height) VALUES ($1, $2, $3, $4) -ON CONFLICT ON CONSTRAINT unique_staking_pool_snapshot DO UPDATE SET - proposal_id = excluded.proposal_id, - bonded_tokens = excluded.bonded_tokens, +ON CONFLICT ON CONSTRAINT unique_staking_pool_snapshot DO UPDATE + SET bonded_tokens = excluded.bonded_tokens, not_bonded_tokens = excluded.not_bonded_tokens, height = excluded.height WHERE proposal_staking_pool_snapshot.height <= excluded.height` - _, err := db.Sql.Exec(stmt, - snapshot.ProposalID, snapshot.Pool.BondedTokens.String(), snapshot.Pool.NotBondedTokens.String(), snapshot.Pool.Height) + _, err := db.SQL.Exec(stmt, + snapshot.ProposalID, snapshot.Pool.BondedTokens.String(), + snapshot.Pool.NotBondedTokens.String(), snapshot.Pool.Height) + if err != nil { - return fmt.Errorf("error while storing proposal staking pool snapshot: %s", err) + return fmt.Errorf("error while storing proposal staking pool snapshot for proposal %d: %s", + snapshot.ProposalID, err) } return nil @@ -356,7 +362,7 @@ func (db *Db) SaveProposalValidatorsStatusesSnapshots(snapshots []types.Proposal } stmt := ` -INSERT INTO proposal_validator_status_snapshot(proposal_id, validator_address, voting_power, status, jailed, height) +INSERT INTO proposal_validator_status_snapshot (proposal_id, validator_address, voting_power, status, jailed, height) VALUES ` var args []interface{} @@ -372,16 +378,73 @@ VALUES ` stmt = stmt[:len(stmt)-1] stmt += ` ON CONFLICT ON CONSTRAINT unique_validator_status_snapshot DO UPDATE - SET proposal_id = excluded.proposal_id, - validator_address = excluded.validator_address, - voting_power = excluded.voting_power, + SET voting_power = excluded.voting_power, status = excluded.status, jailed = excluded.jailed, height = excluded.height WHERE proposal_validator_status_snapshot.height <= excluded.height` - _, err := db.Sql.Exec(stmt, args...) + _, err := db.SQL.Exec(stmt, args...) + if err != nil { + return fmt.Errorf("error while storing proposal validator statuses snapshots: %s", err) + } + + return nil +} + +// SaveSoftwareUpgradePlan allows to save the given software upgrade plan with its proposal id +func (db *Db) SaveSoftwareUpgradePlan(proposalID uint64, plan upgradetypes.Plan, height int64) error { + + stmt := ` +INSERT INTO software_upgrade_plan(proposal_id, plan_name, upgrade_height, info, height) +VALUES ($1, $2, $3, $4, $5) +ON CONFLICT (proposal_id) DO UPDATE SET + plan_name = excluded.plan_name, + upgrade_height = excluded.upgrade_height, + info = excluded.info, + height = excluded.height +WHERE software_upgrade_plan.height <= excluded.height` + + _, err := db.SQL.Exec(stmt, + proposalID, plan.Name, plan.Height, plan.Info, height) + if err != nil { + return fmt.Errorf("error while storing software upgrade plan for proposal %d: %s", proposalID, err) + } + + return nil +} + +// DeleteSoftwareUpgradePlan allows to delete a SoftwareUpgradePlan with proposal ID +func (db *Db) DeleteSoftwareUpgradePlan(proposalID uint64) error { + stmt := `DELETE FROM software_upgrade_plan WHERE proposal_id = $1` + + _, err := db.SQL.Exec(stmt, proposalID) + if err != nil { + return fmt.Errorf("error while deleting software upgrade plan for proposal %d: %s", proposalID, err) + } + + return nil +} + +// CheckSoftwareUpgradePlan returns true if an upgrade is scheduled at the given height +func (db *Db) CheckSoftwareUpgradePlan(upgradeHeight int64) (bool, error) { + var exist bool + + stmt := `SELECT EXISTS (SELECT 1 FROM software_upgrade_plan WHERE upgrade_height=$1)` + err := db.SQL.QueryRow(stmt, upgradeHeight).Scan(&exist) + if err != nil { + return exist, fmt.Errorf("error while checking software upgrade plan existence: %s", err) + } + + return exist, nil +} + +// TruncateSoftwareUpgradePlan delete software upgrade plans once the upgrade height passed +func (db *Db) TruncateSoftwareUpgradePlan(height int64) error { + stmt := `DELETE FROM software_upgrade_plan WHERE upgrade_height <= $1` + + _, err := db.SQL.Exec(stmt, height) if err != nil { - return fmt.Errorf("error while storing proposal validator statuses snapshot: %s", err) + return fmt.Errorf("error while deleting software upgrade plan: %s", err) } return nil diff --git a/database/gov_test.go b/database/gov_test.go index 6050bfaa3..f5e4aa6ab 100644 --- a/database/gov_test.go +++ b/database/gov_test.go @@ -4,24 +4,37 @@ import ( "fmt" "time" + gov "github.com/cosmos/cosmos-sdk/x/gov/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/gogo/protobuf/proto" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/testutils" + "github.com/forbole/bdjuno/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { - votingParams := govtypes.NewVotingParams(time.Second * 10) - tallyParams := govtypes.NewTallyParams(sdk.NewDec(10), sdk.NewDec(10), sdk.NewDec(10)) - depositParams := govtypes.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(10))), time.Minute*5) - original := types.NewGovParams(types.NewVotingParams(votingParams), types.NewDepositParam(depositParams), types.NewTallyParams(tallyParams), 10) + params := govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + } + + original := types.NewGovParams(¶ms, 10) err := suite.database.SaveGovParams(original) suite.Require().NoError(err) @@ -32,8 +45,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a lower height - depositParams = govtypes.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(1000))), time.Minute*5) - updated := types.NewGovParams(types.NewVotingParams(votingParams), types.NewDepositParam(depositParams), types.NewTallyParams(tallyParams), 9) + params.BurnVoteQuorum = false + updated := types.NewGovParams(¶ms, 9) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -43,8 +56,9 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { suite.Require().Equal(original, stored) // ---------------------------------------------------------------------------------------------------------------- - // Try updating with the same height depositParams = govtypes.NewDepositParams(sdk.NewCoins(sdk.NewCoin("uatom", sdk.NewInt(1000))), time.Minute*5) - updated = types.NewGovParams(types.NewVotingParams(votingParams), types.NewDepositParam(depositParams), types.NewTallyParams(tallyParams), 10) + // Try updating with the same height + params.BurnProposalDepositPrevote = true + updated = types.NewGovParams(¶ms, 10) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -55,9 +69,8 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a higher height - tallyParams = govtypes.NewTallyParams(sdk.NewDec(100), sdk.NewDec(100), sdk.NewDec(100)) - depositParams = govtypes.NewDepositParams(sdk.NewCoins(sdk.NewCoin("udesmos", sdk.NewInt(10000))), time.Minute*5) - updated = types.NewGovParams(types.NewVotingParams(votingParams), types.NewDepositParam(depositParams), types.NewTallyParams(tallyParams), 11) + params.BurnVoteVeto = true + updated = types.NewGovParams(¶ms, 11) err = suite.database.SaveGovParams(updated) suite.Require().NoError(err) @@ -72,77 +85,94 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveGovParams() { func (suite *DbTestSuite) getProposalRow(id int) types.Proposal { proposer := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - title := fmt.Sprintf("title%d", id) - description := fmt.Sprintf("description%d", id) - proposalRoute := fmt.Sprintf("proposalRoute%d", id) - proposalType := fmt.Sprintf("proposalType%d", id) + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) proposal := types.NewProposal( uint64(id), - proposalRoute, - proposalType, - govtypes.NewTextProposal(title, description), - govtypes.StatusPassed.String(), + fmt.Sprintf("Proposal %d", id), + fmt.Sprintf("Description of proposal %d", id), + fmt.Sprintf("Metadata of proposal %d", id), + []*codectypes.Any{msgAny}, + govtypesv1.StatusVotingPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer.String(), ) - err := suite.database.SaveProposals([]types.Proposal{proposal}) + err = suite.database.SaveProposals([]types.Proposal{proposal}) suite.Require().NoError(err) return proposal } -func (suite *DbTestSuite) encodeProposalContent(content govtypes.Content) string { - protoContent, ok := content.(proto.Message) - suite.Require().True(ok) - - anyContent, err := codectypes.NewAnyWithValue(protoContent) - suite.Require().NoError(err) - - contentBz, err := suite.database.EncodingConfig.Marshaler.MarshalJSON(anyContent) - suite.Require().NoError(err) - - return string(contentBz) -} - func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { proposer1 := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) + proposer2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") - content1 := govtypes.NewTextProposal("title", "description") - content2 := govtypes.NewTextProposal("title1", "description1") input := []types.Proposal{ types.NewProposal( 1, - "proposalRoute", - "proposalType", - content1, - govtypes.StatusDepositPeriod.String(), + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + []*codectypes.Any{msgAny}, + govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 2, - "proposalRoute1", - "proposalType1", - content2, - govtypes.StatusPassed.String(), + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, + govtypesv1.StatusPassed.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), } - err := suite.database.SaveProposals(input) + err = suite.database.SaveProposals(input) suite.Require().NoError(err) var proposalRow []dbtypes.ProposalRow @@ -152,31 +182,29 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { expected := []dbtypes.ProposalRow{ dbtypes.NewProposalRow( 1, - "proposalRoute", - "proposalType", - "title", - "description", - suite.encodeProposalContent(content1), + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + "[{\"@type\": \"/cosmos.gov.v1.MsgUpdateParams\", \"params\": {\"quorum\": \"0.5\", \"threshold\": \"0.3\", \"min_deposit\": [{\"denom\": \"uatom\", \"amount\": \"1000\"}], \"voting_period\": \"0.000300s\", \"burn_vote_veto\": false, \"veto_threshold\": \"0.15\", \"burn_vote_quorum\": false, \"max_deposit_period\": \"300s\", \"min_initial_deposit_ratio\": \"0\", \"burn_proposal_deposit_prevote\": false}, \"authority\": \"cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn\"}]", time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), - govtypes.StatusDepositPeriod.String(), + govtypesv1.StatusDepositPeriod.String(), ), dbtypes.NewProposalRow( 2, - "proposalRoute1", - "proposalType1", - "title1", - "description1", - suite.encodeProposalContent(content2), + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + "[]", time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), - govtypes.StatusPassed.String(), + govtypesv1.StatusPassed.String(), ), } for i, expect := range expected { @@ -185,93 +213,128 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposals() { } func (suite *DbTestSuite) TestBigDipperDb_GetProposal() { - content := govtypes.NewTextProposal("title", "description") proposer := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") + msgAny, err := codectypes.NewAnyWithValue(&govtypesv1.MsgUpdateParams{ + Authority: authtypes.NewModuleAddress(gov.ModuleName).String(), + Params: govtypesv1.Params{ + MinDeposit: []sdk.Coin{sdk.NewCoin("uatom", sdk.NewInt(1000))}, + MaxDepositPeriod: testutils.NewDurationPointer(time.Duration(int64(300000000000))), + VotingPeriod: testutils.NewDurationPointer(time.Duration(int64(300000))), + Quorum: "0.5", + Threshold: "0.3", + VetoThreshold: "0.15", + MinInitialDepositRatio: "0", + BurnVoteQuorum: false, + BurnProposalDepositPrevote: false, + BurnVoteVeto: false, + }, + }) + suite.Require().NoError(err) proposal := types.NewProposal( 1, - "proposalRoute", - "proposalType", - content, - govtypes.StatusDepositPeriod.String(), + "Proposal Title 1", + "Proposal Description 1", + "Proposal Metadata 1", + []*codectypes.Any{msgAny}, + govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer.String(), ) input := []types.Proposal{proposal} - err := suite.database.SaveProposals(input) + err = suite.database.SaveProposals(input) suite.Require().NoError(err) - stored, err := suite.database.GetProposal(1) + var rows []dbtypes.ProposalRow + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM proposal`) suite.Require().NoError(err) - suite.Require().True(proposal.Equal(*stored)) + suite.Require().Len(rows, 1) } func (suite *DbTestSuite) TestBigDipperDb_GetOpenProposalsIds() { proposer1 := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") proposer2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") - content1 := govtypes.NewTextProposal("title", "description") - content2 := govtypes.NewTextProposal("title1", "description1") + invalidProposal := types.NewProposal( + 6, + "Proposal Title 6", + "Proposal Description 6", + "Proposal Metadata 6", + nil, + types.ProposalStatusInvalid, + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), + proposer2.String(), + ) + input := []types.Proposal{ types.NewProposal( 1, - "proposalRoute", - "proposalType", - content1, - govtypes.StatusVotingPeriod.String(), + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, + govtypesv1.StatusVotingPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 2, - "proposalRoute", - "proposalType", - content1, - govtypes.StatusDepositPeriod.String(), + "Proposal Title 2", + "Proposal Description 2", + "Proposal Metadata 2", + nil, + govtypesv1.StatusDepositPeriod.String(), time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 1, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 1, 03, 00, 00, 000, time.UTC)), proposer1.String(), ), types.NewProposal( 3, - "proposalRoute1", - "proposalType1", - content2, - govtypes.StatusPassed.String(), + "Proposal Title 3", + "Proposal Description 3", + "Proposal Metadata 3", + nil, + govtypesv1.StatusPassed.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), types.NewProposal( 5, - "proposalRoute1", - "proposalType1", - content2, - govtypes.StatusRejected.String(), + "Proposal Title 5", + "Proposal Description 5", + "Proposal Metadata 5", + nil, + govtypesv1.StatusRejected.String(), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), time.Date(2020, 1, 2, 01, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC), - time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC), + testutils.NewTimePointer(time.Date(2020, 1, 2, 02, 00, 00, 000, time.UTC)), + testutils.NewTimePointer(time.Date(2020, 1, 2, 03, 00, 00, 000, time.UTC)), proposer2.String(), ), + invalidProposal, } err := suite.database.SaveProposals(input) suite.Require().NoError(err) - ids, err := suite.database.GetOpenProposalsIds() + timeBeforeDepositEnd := invalidProposal.DepositEndTime.Add(-1 * time.Hour) + ids, err := suite.database.GetOpenProposalsIds(timeBeforeDepositEnd) suite.Require().NoError(err) - suite.Require().Equal([]uint64{1, 2}, ids) + suite.Require().Equal([]uint64{1, 2, 6}, ids) } func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { @@ -279,38 +342,37 @@ func (suite *DbTestSuite) TestBigDipperDb_UpdateProposal() { proposer, err := sdk.AccAddressFromBech32(proposal.Proposer) suite.Require().NoError(err) + timestamp1 := testutils.NewTimePointer(time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC)) + timestamp2 := testutils.NewTimePointer(time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC)) + update := types.NewProposalUpdate( - proposal.ProposalID, - govtypes.StatusPassed.String(), - time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), + proposal.ID, + govtypesv1.StatusPassed.String(), + timestamp1, + timestamp2, ) err = suite.database.UpdateProposal(update) suite.Require().NoError(err) expected := dbtypes.NewProposalRow( - proposal.ProposalID, - proposal.ProposalRoute, - proposal.ProposalType, - proposal.Content.GetTitle(), - proposal.Content.GetDescription(), - suite.encodeProposalContent(proposal.Content), + proposal.ID, + "Proposal 1", + "Description of proposal 1", + "Metadata of proposal 1", + "[{\"@type\": \"/cosmos.gov.v1.MsgUpdateParams\", \"params\": {\"quorum\": \"0.5\", \"threshold\": \"0.3\", \"min_deposit\": [{\"denom\": \"uatom\", \"amount\": \"1000\"}], \"voting_period\": \"0.000300s\", \"burn_vote_veto\": false, \"veto_threshold\": \"0.15\", \"burn_vote_quorum\": false, \"max_deposit_period\": \"300s\", \"min_initial_deposit_ratio\": \"0\", \"burn_proposal_deposit_prevote\": false}, \"authority\": \"cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn\"}]", proposal.SubmitTime, proposal.DepositEndTime, - time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), - time.Date(2020, 1, 1, 01, 00, 00, 000, time.UTC), + timestamp1, + timestamp2, proposer.String(), - govtypes.StatusPassed.String(), + govtypesv1.StatusPassed.String(), ) - var result []dbtypes.ProposalRow - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal`) + var stored dbtypes.ProposalRow + err = suite.database.SQL.Get(&stored, `SELECT * FROM proposal LIMIT 1`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - for _, r := range result { - suite.Require().True(expected.Equals(r)) - } + suite.Require().True(expected.Equals(stored)) } // ------------------------------------------------------------------------------------------------------------------- @@ -324,26 +386,33 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { depositor := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") amount := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10000))) + txHash := "D40FE0C386FA85677FFB9B3C4CECD54CF2CD7ABECE4EF15FAEF328FCCBF4C3A8" depositor2 := suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") amount2 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30000))) + txHash2 := "40A9812A137256E88593E19428E006C01D87DB35F60F8D14739B4A46AC3C67A5" depositor3 := suite.getAccount("cosmos1gyds87lg3m52hex9yqta2mtwzw89pfukx3jl7g") amount3 := sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(50000))) + txHash3 := "086CFE10741EF3800DB7F72B1666DE298DD40913BBB84C5530C87AF5EDE8027A" + + timestamp1 := time.Date(2020, 1, 1, 15, 00, 00, 000, time.UTC) + timestamp2 := time.Date(2020, 1, 1, 16, 00, 00, 000, time.UTC) + timestamp3 := time.Date(2020, 1, 1, 17, 00, 00, 000, time.UTC) deposit := []types.Deposit{ - types.NewDeposit(proposal.ProposalID, depositor.String(), amount, 10), - types.NewDeposit(proposal.ProposalID, depositor2.String(), amount2, 10), - types.NewDeposit(proposal.ProposalID, depositor3.String(), amount3, 10), + types.NewDeposit(proposal.ID, depositor.String(), amount, timestamp1, txHash, 10), + types.NewDeposit(proposal.ID, depositor2.String(), amount2, timestamp2, txHash2, 10), + types.NewDeposit(proposal.ID, depositor3.String(), amount3, timestamp3, txHash3, 10), } err := suite.database.SaveDeposits(deposit) suite.Require().NoError(err) expected := []dbtypes.DepositRow{ - dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), 10), - dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), 10), - dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), 10), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, txHash, 10), + dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, txHash2, 10), + dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), timestamp3, txHash3, 10), } var result []dbtypes.DepositRow err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_deposit`) @@ -355,28 +424,24 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveDeposits() { // ---------------------------------------------------------------------------------------------------------------- // Update values - amount = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10))) - amount2 = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(20))) - amount3 = sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30))) - deposit = []types.Deposit{ - types.NewDeposit(proposal.ProposalID, depositor.String(), amount, 9), - types.NewDeposit(proposal.ProposalID, depositor2.String(), amount2, 10), - types.NewDeposit(proposal.ProposalID, depositor3.String(), amount3, 11), + types.NewDeposit(proposal.ID, depositor.String(), amount, timestamp1, "8E6EA32C656A6EED84132425533E897D458F1B877080DF842B068C4AS92WP01A", 9), + types.NewDeposit(proposal.ID, depositor2.String(), amount2, timestamp2, txHash2, 11), + types.NewDeposit(proposal.ID, depositor3.String(), sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30))), timestamp3, txHash3, 11), } err = suite.database.SaveDeposits(deposit) suite.Require().NoError(err) expected = []dbtypes.DepositRow{ - dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins( - sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(10000)))), 10), - dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), 10), - dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(amount3), 11), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, txHash, 10), + dbtypes.NewDepositRow(1, depositor.String(), dbtypes.NewDbCoins(amount), timestamp1, "8E6EA32C656A6EED84132425533E897D458F1B877080DF842B068C4AS92WP01A", 9), + dbtypes.NewDepositRow(1, depositor2.String(), dbtypes.NewDbCoins(amount2), timestamp2, txHash2, 11), + dbtypes.NewDepositRow(1, depositor3.String(), dbtypes.NewDbCoins(sdk.NewCoins(sdk.NewCoin("desmos", sdk.NewInt(30)))), timestamp3, txHash3, 11), } result = []dbtypes.DepositRow{} - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_deposit`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_deposit`) suite.Require().NoError(err) for i, r := range result { suite.Require().True(expected[i].Equals(r)) @@ -393,54 +458,88 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveVote() { proposal := suite.getProposalRow(1) voter := suite.getAccount("cosmos1z4hfrxvlgl4s8u4n5ngjcw8kdqrcv43599amxs") - vote := types.NewVote(1, voter.String(), govtypes.OptionYes, 1) + timestamp := time.Date(2020, 1, 1, 15, 00, 00, 000, time.UTC) + + vote := types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.5", timestamp, 1) err := suite.database.SaveVote(vote) suite.Require().NoError(err) - expected := dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypes.OptionYes.String(), 1) + vote2 := types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.5", timestamp, 1) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + + expected := []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.5", timestamp, 1), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.5", timestamp, 1), + } var result []dbtypes.VoteRow - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with lower height should not change option - vote = types.NewVote(1, voter.String(), govtypes.OptionNo, 0) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.7", timestamp, 0) err = suite.database.SaveVote(vote) suite.Require().NoError(err) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.3", timestamp, 0) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + result = []dbtypes.VoteRow{} - err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) + err = suite.database.SQL.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with same height should change option - vote = types.NewVote(1, voter.String(), govtypes.OptionAbstain, 1) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.6", timestamp, 1) err = suite.database.SaveVote(vote) suite.Require().NoError(err) - expected = dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypes.OptionAbstain.String(), 1) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.4", timestamp, 1) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + + expected = []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.6", timestamp, 1), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.4", timestamp, 1), + } result = []dbtypes.VoteRow{} err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } // Update with higher height should change option - vote = types.NewVote(1, voter.String(), govtypes.OptionNoWithVeto, 2) + vote = types.NewVote(1, voter.String(), govtypesv1.OptionYes, "0.6", timestamp, 3) err = suite.database.SaveVote(vote) suite.Require().NoError(err) - expected = dbtypes.NewVoteRow(int64(proposal.ProposalID), voter.String(), govtypes.OptionNoWithVeto.String(), 2) + vote2 = types.NewVote(1, voter.String(), govtypesv1.OptionNo, "0.4", timestamp, 3) + err = suite.database.SaveVote(vote2) + suite.Require().NoError(err) + expected = []dbtypes.VoteRow{ + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionYes.String(), "0.6", timestamp, 3), + dbtypes.NewVoteRow(int64(proposal.ID), voter.String(), govtypesv1.OptionNo.String(), "0.4", timestamp, 3), + } result = []dbtypes.VoteRow{} err = suite.database.Sqlx.Select(&result, `SELECT * FROM proposal_vote`) suite.Require().NoError(err) - suite.Require().Len(result, 1) - suite.Require().True(expected.Equals(result[0])) + suite.Require().Len(result, 2) + for i, r := range result { + suite.Require().True(expected[i].Equals(r)) + } } func (suite *DbTestSuite) TestBigDipperDb_SaveTallyResults() { @@ -505,7 +604,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // ---------------------------------------------------------------------------------------------------------------- // Save snapshot - snapshot := types.NewProposalStakingPoolSnapshot(1, types.NewPool( + snapshot := types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( sdk.NewInt(100), sdk.NewInt(200), 10, @@ -527,7 +626,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // ---------------------------------------------------------------------------------------------------------------- // Update with lower height - err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPool( + err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( sdk.NewInt(200), sdk.NewInt(500), 9, @@ -548,7 +647,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // ---------------------------------------------------------------------------------------------------------------- // Update with same height - err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPool( + err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( sdk.NewInt(500), sdk.NewInt(1000), 10, @@ -569,7 +668,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalStakingPoolSnapshot() { // ---------------------------------------------------------------------------------------------------------------- // Update with higher height - err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPool( + err = suite.database.SaveProposalStakingPoolSnapshot(types.NewProposalStakingPoolSnapshot(1, types.NewPoolSnapshot( sdk.NewInt(1000), sdk.NewInt(2000), 11, @@ -613,7 +712,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator1.GetConsAddr(), 100, - int(stakingtypes.Bonded), + stakingtypes.Bonded, false, 10, ), @@ -621,7 +720,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator2.GetConsAddr(), 100, - int(stakingtypes.Unbonding), + stakingtypes.Unbonding, true, 10, ), @@ -662,7 +761,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator1.GetConsAddr(), 10, - int(stakingtypes.Bonded), + stakingtypes.Bonded, true, 9, ), @@ -670,7 +769,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator2.GetConsAddr(), 700, - int(stakingtypes.Unbonding), + stakingtypes.Unbonding, true, 9, ), @@ -711,7 +810,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator1.GetConsAddr(), 10, - int(stakingtypes.Bonded), + stakingtypes.Bonded, true, 10, ), @@ -719,7 +818,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator2.GetConsAddr(), 700, - int(stakingtypes.Unbonding), + stakingtypes.Unbonding, true, 10, ), @@ -760,7 +859,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator1.GetConsAddr(), 100000, - int(stakingtypes.Unspecified), + stakingtypes.Unspecified, false, 11, ), @@ -768,7 +867,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot 1, validator2.GetConsAddr(), 700000, - int(stakingtypes.Unbonded), + stakingtypes.Unbonded, false, 11, ), @@ -801,3 +900,132 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveProposalValidatorsStatusesSnapshot ), }) } + +func (suite *DbTestSuite) TestBigDipperDb_SaveSoftwareUpgradePlan() { + _ = suite.getProposalRow(1) + + // ---------------------------------------------------------------------------------------------------------------- + // Save software upgrade plan at height 10 with upgrade height at 100 + var plan = upgradetypes.Plan{ + Name: "name", + Height: 100, + Info: "info", + } + + err := suite.database.SaveSoftwareUpgradePlan(1, plan, 10) + suite.Require().NoError(err) + + var rows []dbtypes.SoftwareUpgradePlanRow + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM software_upgrade_plan`) + suite.Require().NoError(err) + suite.Require().Len(rows, 1) + suite.Require().Equal(rows, []dbtypes.SoftwareUpgradePlanRow{ + dbtypes.NewSoftwareUpgradePlanRow(1, plan.Name, plan.Height, plan.Info, 10), + }) + + // ---------------------------------------------------------------------------------------------------------------- + // Update software upgrade plan with lower height + planEdit1 := upgradetypes.Plan{ + Name: "name_edit_1", + Height: 101, + Info: "info_edit_1", + } + + err = suite.database.SaveSoftwareUpgradePlan(1, planEdit1, 9) + suite.Require().NoError(err) + + rows = []dbtypes.SoftwareUpgradePlanRow{} + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM software_upgrade_plan`) + suite.Require().NoError(err) + suite.Require().Len(rows, 1) + suite.Require().Equal(rows, []dbtypes.SoftwareUpgradePlanRow{ + dbtypes.NewSoftwareUpgradePlanRow(1, plan.Name, plan.Height, plan.Info, 10), + }) + + // ---------------------------------------------------------------------------------------------------------------- + // Update software upgrade plan with same height + planEdit2 := upgradetypes.Plan{ + Name: "name_edit_2", + Height: 102, + Info: "info_edit_2", + } + + err = suite.database.SaveSoftwareUpgradePlan(1, planEdit2, 10) + suite.Require().NoError(err) + + rows = []dbtypes.SoftwareUpgradePlanRow{} + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM software_upgrade_plan`) + suite.Require().NoError(err) + suite.Require().Len(rows, 1) + suite.Require().Equal(rows, []dbtypes.SoftwareUpgradePlanRow{ + dbtypes.NewSoftwareUpgradePlanRow(1, planEdit2.Name, planEdit2.Height, planEdit2.Info, 10), + }) + + // ---------------------------------------------------------------------------------------------------------------- + // Update software upgrade plan with higher height + planEdit3 := upgradetypes.Plan{ + Name: "name_edit_3", + Height: 103, + Info: "info_edit_3", + } + + err = suite.database.SaveSoftwareUpgradePlan(1, planEdit3, 11) + suite.Require().NoError(err) + + rows = []dbtypes.SoftwareUpgradePlanRow{} + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM software_upgrade_plan`) + suite.Require().NoError(err) + suite.Require().Len(rows, 1) + suite.Require().Equal(rows, []dbtypes.SoftwareUpgradePlanRow{ + dbtypes.NewSoftwareUpgradePlanRow(1, planEdit3.Name, planEdit3.Height, planEdit3.Info, 11), + }) +} + +func (suite *DbTestSuite) TestBigDipperDb_DeleteSoftwareUpgradePlan() { + _ = suite.getProposalRow(1) + + // Save software upgrade plan at height 10 with upgrade height at 100 + var plan = upgradetypes.Plan{ + Name: "name", + Height: 100, + Info: "info", + } + + err := suite.database.SaveSoftwareUpgradePlan(1, plan, 10) + suite.Require().NoError(err) + + // Delete software upgrade plan + err = suite.database.DeleteSoftwareUpgradePlan(1) + suite.Require().NoError(err) + + var rows []dbtypes.SoftwareUpgradePlanRow + err = suite.database.Sqlx.Select(&rows, `SELECT * FROM software_upgrade_plan`) + suite.Require().NoError(err) + suite.Require().Len(rows, 0) + +} + +func (suite *DbTestSuite) TestBigDipperDb_CheckSoftwareUpgradePlan() { + _ = suite.getProposalRow(1) + + // Save software upgrade plan at height 10 with upgrade height at 100 + var plan = upgradetypes.Plan{ + Name: "name", + // the Height here is the upgrade height + Height: 100, + Info: "info", + } + + err := suite.database.SaveSoftwareUpgradePlan(1, plan, 10) + suite.Require().NoError(err) + + // Check software upgrade plan at existing height + exist, err := suite.database.CheckSoftwareUpgradePlan(100) + suite.Require().NoError(err) + suite.Require().Equal(true, exist) + + // Check software upgrade plan at non-existing height + exist, err = suite.database.CheckSoftwareUpgradePlan(11) + suite.Require().NoError(err) + suite.Require().Equal(false, exist) +} diff --git a/database/mint.go b/database/mint.go index a3472f8a2..ef080eef1 100644 --- a/database/mint.go +++ b/database/mint.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveInflation allows to store the inflation for the given block height as well as timestamp @@ -19,7 +19,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE inflation.height <= excluded.height` - _, err := db.Sql.Exec(stmt, inflation.String(), height) + _, err := db.SQL.Exec(stmt, inflation.String(), height) if err != nil { return fmt.Errorf("error while storing inflation: %s", err) } @@ -42,7 +42,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE mint_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing mint params: %s", err) } diff --git a/database/mint_test.go b/database/mint_test.go index b3fc44f09..d55d2a556 100644 --- a/database/mint_test.go +++ b/database/mint_test.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveInflation() { diff --git a/database/pricefeed.go b/database/pricefeed.go index ab42256de..aca814382 100644 --- a/database/pricefeed.go +++ b/database/pricefeed.go @@ -3,9 +3,9 @@ package database import ( "fmt" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/lib/pq" ) @@ -35,7 +35,7 @@ func (db *Db) GetTokensPriceID() ([]string, error) { // SaveToken allows to save the given token details func (db *Db) SaveToken(token types.Token) error { query := `INSERT INTO token (name) VALUES ($1) ON CONFLICT DO NOTHING` - _, err := db.Sql.Exec(query, token.Name) + _, err := db.SQL.Exec(query, token.Name) if err != nil { return err } @@ -52,7 +52,7 @@ func (db *Db) SaveToken(token types.Token) error { query = query[:len(query)-1] // Remove trailing "," query += " ON CONFLICT DO NOTHING" - _, err = db.Sql.Exec(query, params...) + _, err = db.SQL.Exec(query, params...) if err != nil { return fmt.Errorf("error while saving token: %s", err) } @@ -85,7 +85,7 @@ ON CONFLICT (unit_name) DO UPDATE timestamp = excluded.timestamp WHERE token_price.timestamp <= excluded.timestamp` - _, err := db.Sql.Exec(query, param...) + _, err := db.SQL.Exec(query, param...) if err != nil { return fmt.Errorf("error while saving tokens prices: %s", err) } @@ -114,7 +114,7 @@ ON CONFLICT ON CONSTRAINT unique_price_for_timestamp DO UPDATE SET price = excluded.price, market_cap = excluded.market_cap` - _, err := db.Sql.Exec(query, param...) + _, err := db.SQL.Exec(query, param...) if err != nil { return fmt.Errorf("error while storing tokens price history: %s", err) } diff --git a/database/pricefeed_test.go b/database/pricefeed_test.go index 50a732a34..a246df41c 100644 --- a/database/pricefeed_test.go +++ b/database/pricefeed_test.go @@ -4,21 +4,21 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) insertToken(name string) { query := fmt.Sprintf( `INSERT INTO token (name) VALUES ('%s')`, name) - _, err := suite.database.Sql.Query(query) + _, err := suite.database.SQL.Query(query) suite.Require().NoError(err) query = fmt.Sprintf( `INSERT INTO token_unit (token_name, denom, exponent, price_id) VALUES ('%[1]s', 'u%[1]s', 0, 'u%[1]s'), ('%[1]s', 'm%[1]s', 3, 'm%[1]s'), ('%[1]s', '%[1]s', 6, '%[1]s')`, name) - _, err = suite.database.Sql.Query(query) + _, err = suite.database.SQL.Query(query) suite.Require().NoError(err) } diff --git a/database/pruning.go b/database/pruning.go index 7c8c610f6..774c5ac87 100644 --- a/database/pruning.go +++ b/database/pruning.go @@ -40,7 +40,7 @@ func (db *Db) Prune(height int64) error { } func (db *Db) pruneBank(height int64) error { - _, err := db.Sql.Exec(`DELETE FROM supply WHERE height = $1`, height) + _, err := db.SQL.Exec(`DELETE FROM supply WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning supply: %s", err) } @@ -48,32 +48,32 @@ func (db *Db) pruneBank(height int64) error { } func (db *Db) pruneStaking(height int64) error { - _, err := db.Sql.Exec(`DELETE FROM staking_pool WHERE height = $1`, height) + _, err := db.SQL.Exec(`DELETE FROM staking_pool WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning staking pool: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM validator_commission WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM validator_commission WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning validator commission: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM validator_voting_power WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM validator_voting_power WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning validator voting power: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM validator_status WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM validator_status WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning validator status: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM double_sign_vote WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM double_sign_vote WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning double sign votes: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM double_sign_evidence WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM double_sign_evidence WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning double sign evidence: %s", err) } @@ -82,12 +82,12 @@ func (db *Db) pruneStaking(height int64) error { } func (db *Db) pruneMint(height int64) error { - _, err := db.Sql.Exec(`DELETE FROM inflation WHERE height = $1`, height) + _, err := db.SQL.Exec(`DELETE FROM inflation WHERE height = $1`, height) return fmt.Errorf("error while pruning inflation: %s", err) } func (db *Db) pruneDistribution(height int64) error { - _, err := db.Sql.Exec(`DELETE FROM community_pool WHERE height = $1`, height) + _, err := db.SQL.Exec(`DELETE FROM community_pool WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning community pool: %s", err) } @@ -96,12 +96,12 @@ func (db *Db) pruneDistribution(height int64) error { } func (db *Db) pruneSlashing(height int64) error { - _, err := db.Sql.Exec(`DELETE FROM validator_signing_info WHERE height = $1`, height) + _, err := db.SQL.Exec(`DELETE FROM validator_signing_info WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning validator signing info: %s", err) } - _, err = db.Sql.Exec(`DELETE FROM slashing_params WHERE height = $1`, height) + _, err = db.SQL.Exec(`DELETE FROM slashing_params WHERE height = $1`, height) if err != nil { return fmt.Errorf("error while pruning slashing params: %s", err) } diff --git a/database/schema/00-cosmos.sql b/database/schema/00-cosmos.sql index 890008f31..993d59b7c 100644 --- a/database/schema/00-cosmos.sql +++ b/database/schema/00-cosmos.sql @@ -30,11 +30,11 @@ CREATE INDEX block_hash_index ON block (hash); CREATE INDEX block_proposer_address_index ON block (proposer_address); ALTER TABLE block SET ( - autovacuum_vacuum_scale_factor = 0, - autovacuum_analyze_scale_factor = 0, - autovacuum_vacuum_threshold = 10000, - autovacuum_analyze_threshold = 10000 - ); + autovacuum_vacuum_scale_factor = 0, + autovacuum_analyze_scale_factor = 0, + autovacuum_vacuum_threshold = 10000, + autovacuum_analyze_threshold = 10000 + ); CREATE TABLE transaction ( @@ -99,9 +99,9 @@ SELECT * FROM message WHERE (cardinality(types) = 0 OR type = ANY (types)) AND addresses && involved_accounts_addresses ORDER BY height DESC LIMIT "limit" OFFSET "offset" -$$ LANGUAGE sql STABLE; + $$ LANGUAGE sql STABLE; CREATE TABLE pruning ( last_pruned_height BIGINT NOT NULL -); \ No newline at end of file +); diff --git a/database/schema/01-auth.sql b/database/schema/01-auth.sql index 16f9689ba..e50d5b99d 100644 --- a/database/schema/01-auth.sql +++ b/database/schema/01-auth.sql @@ -5,10 +5,10 @@ CREATE TABLE account /* ---- Moved from bank.sql for vesting account usage ---- */ CREATE TYPE COIN AS -( + ( denom TEXT, amount TEXT -); + ); /* ---- AUTH/ VESTING ACCOUNT ---- */ CREATE TABLE vesting_account @@ -31,4 +31,4 @@ CREATE TABLE vesting_period period_order BIGINT NOT NULL, length BIGINT NOT NULL, amount COIN[] NOT NULL DEFAULT '{}' -); \ No newline at end of file +); diff --git a/database/schema/02-bank.sql b/database/schema/02-bank.sql index 5df120c12..23523fca5 100644 --- a/database/schema/02-bank.sql +++ b/database/schema/02-bank.sql @@ -1,10 +1,110 @@ -/* ---- SUPPLY ---- */ +/* ---- PARAMS ---- */ -CREATE TABLE supply +CREATE TABLE staking_params ( one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, - coins COIN[] NOT NULL, + params JSONB NOT NULL, height BIGINT NOT NULL, CHECK (one_row_id) ); -CREATE INDEX supply_height_index ON supply (height); \ No newline at end of file +CREATE INDEX staking_params_height_index ON staking_params (height); + +/* ---- POOL ---- */ + +CREATE TABLE staking_pool +( + one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, + bonded_tokens TEXT NOT NULL, + not_bonded_tokens TEXT NOT NULL, + unbonding_tokens TEXT NOT NULL, + staked_not_bonded_tokens TEXT NOT NULL, + height BIGINT NOT NULL, + CHECK (one_row_id) +); +CREATE INDEX staking_pool_height_index ON staking_pool (height); + +/* ---- VALIDATORS INFO ---- */ + +CREATE TABLE validator_info +( + consensus_address TEXT NOT NULL UNIQUE PRIMARY KEY REFERENCES validator (consensus_address), + operator_address TEXT NOT NULL UNIQUE, + self_delegate_address TEXT REFERENCES account (address), + max_change_rate TEXT NOT NULL, + max_rate TEXT NOT NULL, + height BIGINT NOT NULL +); +CREATE INDEX validator_info_operator_address_index ON validator_info (operator_address); +CREATE INDEX validator_info_self_delegate_address_index ON validator_info (self_delegate_address); + +CREATE TABLE validator_description +( + validator_address TEXT NOT NULL REFERENCES validator (consensus_address) PRIMARY KEY, + moniker TEXT, + identity TEXT, + avatar_url TEXT, + website TEXT, + security_contact TEXT, + details TEXT, + height BIGINT NOT NULL +); +CREATE INDEX validator_description_height_index ON validator_description (height); + +CREATE TABLE validator_commission +( + validator_address TEXT NOT NULL REFERENCES validator (consensus_address) PRIMARY KEY, + commission DECIMAL NOT NULL, + min_self_delegation BIGINT NOT NULL, + height BIGINT NOT NULL +); +CREATE INDEX validator_commission_height_index ON validator_commission (height); + +CREATE TABLE validator_voting_power +( + validator_address TEXT NOT NULL REFERENCES validator (consensus_address) PRIMARY KEY, + voting_power BIGINT NOT NULL, + height BIGINT NOT NULL REFERENCES block (height) +); +CREATE INDEX validator_voting_power_height_index ON validator_voting_power (height); + +CREATE TABLE validator_status +( + validator_address TEXT NOT NULL REFERENCES validator (consensus_address) PRIMARY KEY, + status INT NOT NULL, + jailed BOOLEAN NOT NULL, + height BIGINT NOT NULL +); +CREATE INDEX validator_status_height_index ON validator_status (height); + +/* ---- DOUBLE SIGN EVIDENCE ---- */ + +/* + * This holds the votes that is the evidence of a double sign. + * It should be updated on a BLOCK basis when a double sign occurs. + */ +CREATE TABLE double_sign_vote +( + id SERIAL PRIMARY KEY, + type SMALLINT NOT NULL, + height BIGINT NOT NULL, + round INT NOT NULL, + block_id TEXT NOT NULL, + validator_address TEXT NOT NULL REFERENCES validator (consensus_address), + validator_index INT NOT NULL, + signature TEXT NOT NULL, + UNIQUE (block_id, validator_address) +); +CREATE INDEX double_sign_vote_validator_address_index ON double_sign_vote (validator_address); +CREATE INDEX double_sign_vote_height_index ON double_sign_vote (height); + +/* + * This holds the double sign evidences. + * It should be updated on a on BLOCK basis. + */ +CREATE TABLE double_sign_evidence +( + height BIGINT NOT NULL, + vote_a_id BIGINT NOT NULL REFERENCES double_sign_vote (id), + vote_b_id BIGINT NOT NULL REFERENCES double_sign_vote (id) +); +CREATE INDEX double_sign_evidence_height_index ON double_sign_evidence (height); diff --git a/database/schema/03-staking.sql b/database/schema/03-staking.sql index eff864331..f2f1eb491 100644 --- a/database/schema/03-staking.sql +++ b/database/schema/03-staking.sql @@ -13,10 +13,12 @@ CREATE INDEX staking_params_height_index ON staking_params (height); CREATE TABLE staking_pool ( - one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, - bonded_tokens TEXT NOT NULL, - not_bonded_tokens TEXT NOT NULL, - height BIGINT NOT NULL, + one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, + bonded_tokens TEXT NOT NULL, + not_bonded_tokens TEXT NOT NULL, + unbonding_tokens TEXT NOT NULL, + staked_not_bonded_tokens TEXT NOT NULL, + height BIGINT NOT NULL, CHECK (one_row_id) ); CREATE INDEX staking_pool_height_index ON staking_pool (height); @@ -70,7 +72,6 @@ CREATE TABLE validator_status validator_address TEXT NOT NULL REFERENCES validator (consensus_address) PRIMARY KEY, status INT NOT NULL, jailed BOOLEAN NOT NULL, - tombstoned BOOLEAN NOT NULL DEFAULT FALSE, height BIGINT NOT NULL ); CREATE INDEX validator_status_height_index ON validator_status (height); diff --git a/database/schema/06-distribution.sql b/database/schema/06-distribution.sql index 47c43f702..f568f27de 100644 --- a/database/schema/06-distribution.sql +++ b/database/schema/06-distribution.sql @@ -1,8 +1,8 @@ CREATE TYPE DEC_COIN AS -( + ( denom TEXT, amount TEXT -); + ); /* ---- PARAMS ---- */ diff --git a/database/schema/08-gov.sql b/database/schema/08-gov.sql index df2ce5c2b..9fd83ba1f 100644 --- a/database/schema/08-gov.sql +++ b/database/schema/08-gov.sql @@ -1,10 +1,8 @@ CREATE TABLE gov_params ( - one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, - deposit_params JSONB NOT NULL, - voting_params JSONB NOT NULL, - tally_params JSONB NOT NULL, - height BIGINT NOT NULL, + one_row_id BOOLEAN NOT NULL DEFAULT TRUE PRIMARY KEY, + params JSONB NOT NULL, + height BIGINT NOT NULL, CHECK (one_row_id) ); @@ -13,9 +11,8 @@ CREATE TABLE proposal id INTEGER NOT NULL PRIMARY KEY, title TEXT NOT NULL, description TEXT NOT NULL, - content JSONB NOT NULL, - proposal_route TEXT NOT NULL, - proposal_type TEXT NOT NULL, + metadata TEXT NOT NULL, + content JSONB NOT NULL DEFAULT '[]'::JSONB, submit_time TIMESTAMP NOT NULL, deposit_end_time TIMESTAMP, voting_start_time TIMESTAMP, @@ -28,10 +25,12 @@ CREATE INDEX proposal_proposer_address_index ON proposal (proposer_address); CREATE TABLE proposal_deposit ( proposal_id INTEGER NOT NULL REFERENCES proposal (id), - depositor_address TEXT REFERENCES account (address), + depositor_address TEXT REFERENCES account (address), amount COIN[], - height BIGINT NOT NULL REFERENCES block (height), - CONSTRAINT unique_deposit UNIQUE (proposal_id, depositor_address) + timestamp TIMESTAMP, + transaction_hash TEXT NOT NULL, + height BIGINT NOT NULL, + CONSTRAINT unique_deposit UNIQUE (proposal_id, depositor_address, transaction_hash) ); CREATE INDEX proposal_deposit_proposal_id_index ON proposal_deposit (proposal_id); CREATE INDEX proposal_deposit_depositor_address_index ON proposal_deposit (depositor_address); @@ -42,8 +41,10 @@ CREATE TABLE proposal_vote proposal_id INTEGER NOT NULL REFERENCES proposal (id), voter_address TEXT NOT NULL REFERENCES account (address), option TEXT NOT NULL, - height BIGINT NOT NULL REFERENCES block (height), - CONSTRAINT unique_vote UNIQUE (proposal_id, voter_address) + weight TEXT NOT NULL, + timestamp TIMESTAMP, + height BIGINT NOT NULL, + CONSTRAINT unique_vote UNIQUE (proposal_id, voter_address, option) ); CREATE INDEX proposal_vote_proposal_id_index ON proposal_vote (proposal_id); CREATE INDEX proposal_vote_voter_address_index ON proposal_vote (voter_address); @@ -52,10 +53,10 @@ CREATE INDEX proposal_vote_height_index ON proposal_vote (height); CREATE TABLE proposal_tally_result ( proposal_id INTEGER REFERENCES proposal (id) PRIMARY KEY, - yes TEXT NOT NULL, - abstain TEXT NOT NULL, - no TEXT NOT NULL, - no_with_veto TEXT NOT NULL, + yes TEXT NOT NULL, + abstain TEXT NOT NULL, + no TEXT NOT NULL, + no_with_veto TEXT NOT NULL, height BIGINT NOT NULL, CONSTRAINT unique_tally_result UNIQUE (proposal_id) ); @@ -74,13 +75,13 @@ CREATE INDEX proposal_staking_pool_snapshot_proposal_id_index ON proposal_stakin CREATE TABLE proposal_validator_status_snapshot ( - id SERIAL PRIMARY KEY NOT NULL, + id SERIAL PRIMARY KEY NOT NULL, proposal_id INTEGER REFERENCES proposal (id), - validator_address TEXT NOT NULL REFERENCES validator (consensus_address), - voting_power BIGINT NOT NULL, - status INT NOT NULL, - jailed BOOLEAN NOT NULL, - height BIGINT NOT NULL, + validator_address TEXT NOT NULL REFERENCES validator (consensus_address), + voting_power BIGINT NOT NULL, + status INT NOT NULL, + jailed BOOLEAN NOT NULL, + height BIGINT NOT NULL, CONSTRAINT unique_validator_status_snapshot UNIQUE (proposal_id, validator_address) ); CREATE INDEX proposal_validator_status_snapshot_proposal_id_index ON proposal_validator_status_snapshot (proposal_id); diff --git a/database/schema/11-feegrant.sql b/database/schema/11-feegrant.sql index af1145034..7589cc73a 100644 --- a/database/schema/11-feegrant.sql +++ b/database/schema/11-feegrant.sql @@ -5,6 +5,6 @@ CREATE TABLE fee_grant_allowance granter_address TEXT NOT NULL REFERENCES account (address), allowance JSONB NOT NULL DEFAULT '{}'::JSONB, height BIGINT NOT NULL, - CONSTRAINT unique_fee_grant_allowance UNIQUE(grantee_address, granter_address) + CONSTRAINT unique_fee_grant_allowance UNIQUE(grantee_address, granter_address) ); CREATE INDEX fee_grant_allowance_height_index ON fee_grant_allowance (height); diff --git a/database/schema/12-upgrade.sql b/database/schema/12-upgrade.sql new file mode 100644 index 000000000..982be6a2f --- /dev/null +++ b/database/schema/12-upgrade.sql @@ -0,0 +1,10 @@ +CREATE TABLE software_upgrade_plan +( + proposal_id INTEGER REFERENCES proposal (id) UNIQUE, + plan_name TEXT NOT NULL, + upgrade_height BIGINT NOT NULL, + info TEXT NOT NULL, + height BIGINT NOT NULL +); +CREATE INDEX software_upgrade_plan_proposal_id_index ON software_upgrade_plan (proposal_id); +CREATE INDEX software_upgrade_plan_height_index ON software_upgrade_plan (height); diff --git a/database/schema/12-feemodel.sql b/database/schema/14-feemodel.sql similarity index 100% rename from database/schema/12-feemodel.sql rename to database/schema/14-feemodel.sql diff --git a/database/schema/14-assetftparams.sql b/database/schema/15-assetftparams.sql similarity index 100% rename from database/schema/14-assetftparams.sql rename to database/schema/15-assetftparams.sql diff --git a/database/schema/14-assetnftparams.sql b/database/schema/16-assetnftparams.sql similarity index 100% rename from database/schema/14-assetnftparams.sql rename to database/schema/16-assetnftparams.sql diff --git a/database/slashing.go b/database/slashing.go index 7d9e27551..55a4bbeda 100644 --- a/database/slashing.go +++ b/database/slashing.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveValidatorsSigningInfos saves the given infos inside the database @@ -41,7 +41,7 @@ ON CONFLICT (validator_address) DO UPDATE height = excluded.height WHERE validator_signing_info.height <= excluded.height` - _, err := db.Sql.Exec(stmt, args...) + _, err := db.SQL.Exec(stmt, args...) if err != nil { return fmt.Errorf("error while storing validators signing infos: %s", err) } @@ -64,7 +64,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE slashing_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing slashing params: %s", err) } diff --git a/database/slashing_test.go b/database/slashing_test.go index 895d1db3c..ed0e85c85 100644 --- a/database/slashing_test.go +++ b/database/slashing_test.go @@ -4,12 +4,12 @@ import ( "encoding/json" "time" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_ValidatorSigningInfo() { diff --git a/database/staking_params.go b/database/staking_params.go index 737aa5c3e..f6e5924a0 100644 --- a/database/staking_params.go +++ b/database/staking_params.go @@ -6,8 +6,8 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveStakingParams allows to store the given params into the database @@ -25,7 +25,7 @@ ON CONFLICT (one_row_id) DO UPDATE height = excluded.height WHERE staking_params.height <= excluded.height` - _, err = db.Sql.Exec(stmt, string(paramsBz), params.Height) + _, err = db.SQL.Exec(stmt, string(paramsBz), params.Height) if err != nil { return fmt.Errorf("error while storing staking params: %s", err) } diff --git a/database/staking_params_test.go b/database/staking_params_test.go index 23af916b7..68253ec8f 100644 --- a/database/staking_params_test.go +++ b/database/staking_params_test.go @@ -6,8 +6,10 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + sdk "github.com/cosmos/cosmos-sdk/types" + + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) func (suite *DbTestSuite) TestSaveStakingParams() { @@ -17,6 +19,7 @@ func (suite *DbTestSuite) TestSaveStakingParams() { 7, 10000, "uatom", + sdk.NewDec(1), ) err := suite.database.SaveStakingParams(types.NewStakingParams(stakingParams, 10)) suite.Require().NoError(err) @@ -40,12 +43,13 @@ func (suite *DbTestSuite) TestGetStakingParams() { 7, 10000, "uatom", + sdk.NewDec(1), ) paramsBz, err := json.Marshal(&stakingParams) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec( + _, err = suite.database.SQL.Exec( `INSERT INTO staking_params (params, height) VALUES ($1, $2)`, string(paramsBz), 10, ) diff --git a/database/staking_pool.go b/database/staking_pool.go index 4e2e6eae2..0e2d83bf9 100644 --- a/database/staking_pool.go +++ b/database/staking_pool.go @@ -3,21 +3,28 @@ package database import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // SaveStakingPool allows to save for the given height the given stakingtypes pool func (db *Db) SaveStakingPool(pool *types.Pool) error { stmt := ` -INSERT INTO staking_pool (bonded_tokens, not_bonded_tokens, height) -VALUES ($1, $2, $3) +INSERT INTO staking_pool (bonded_tokens, not_bonded_tokens, unbonding_tokens, staked_not_bonded_tokens, height) +VALUES ($1, $2, $3, $4, $5) ON CONFLICT (one_row_id) DO UPDATE SET bonded_tokens = excluded.bonded_tokens, not_bonded_tokens = excluded.not_bonded_tokens, + unbonding_tokens = excluded.unbonding_tokens, + staked_not_bonded_tokens = excluded.staked_not_bonded_tokens, height = excluded.height WHERE staking_pool.height <= excluded.height` - _, err := db.Sql.Exec(stmt, pool.BondedTokens.String(), pool.NotBondedTokens.String(), pool.Height) + _, err := db.SQL.Exec(stmt, + pool.BondedTokens.String(), + pool.NotBondedTokens.String(), + pool.UnbondingTokens.String(), + pool.StakedNotBondedTokens.String(), + pool.Height) if err != nil { return fmt.Errorf("error while storing staking pool: %s", err) } diff --git a/database/staking_pool_test.go b/database/staking_pool_test.go index 290bd66cf..ceaeecd55 100644 --- a/database/staking_pool_test.go +++ b/database/staking_pool_test.go @@ -3,18 +3,18 @@ package database_test import ( sdk "github.com/cosmos/cosmos-sdk/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" - "github.com/forbole/bdjuno/v3/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" + "github.com/forbole/bdjuno/v4/types" ) func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // Save the data - original := types.NewPool(sdk.NewInt(50), sdk.NewInt(100), 10) + original := types.NewPool(sdk.NewInt(50), sdk.NewInt(100), sdk.NewInt(5), sdk.NewInt(1), 10) err := suite.database.SaveStakingPool(original) suite.Require().NoError(err) // Verify the data - expected := dbtypes.NewStakingPoolRow(50, 100, 10) + expected := dbtypes.NewStakingPoolRow(50, 100, 5, 1, 10) var rows []dbtypes.StakingPoolRow err = suite.database.Sqlx.Select(&rows, `SELECT * FROM staking_pool`) @@ -25,7 +25,7 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating using a lower height - pool := types.NewPool(sdk.NewInt(1), sdk.NewInt(1), 8) + pool := types.NewPool(sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), 8) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) @@ -39,12 +39,12 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with the same height - pool = types.NewPool(sdk.NewInt(1), sdk.NewInt(1), 10) + pool = types.NewPool(sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), sdk.NewInt(1), 10) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) // Verify the data - expected = dbtypes.NewStakingPoolRow(1, 1, 10) + expected = dbtypes.NewStakingPoolRow(1, 1, 1, 1, 10) rows = []dbtypes.StakingPoolRow{} err = suite.database.Sqlx.Select(&rows, `SELECT * FROM staking_pool`) @@ -55,12 +55,12 @@ func (suite *DbTestSuite) TestBigDipperDb_SaveStakingPool() { // ---------------------------------------------------------------------------------------------------------------- // Try updating with a higher height - pool = types.NewPool(sdk.NewInt(1000000), sdk.NewInt(1000000), 20) + pool = types.NewPool(sdk.NewInt(1000000), sdk.NewInt(1000000), sdk.NewInt(20), sdk.NewInt(15), 20) err = suite.database.SaveStakingPool(pool) suite.Require().NoError(err) // Verify the data - expected = dbtypes.NewStakingPoolRow(1000000, 1000000, 20) + expected = dbtypes.NewStakingPoolRow(1000000, 1000000, 20, 15, 20) rows = []dbtypes.StakingPoolRow{} err = suite.database.Sqlx.Select(&rows, `SELECT * FROM staking_pool`) diff --git a/database/staking_validators.go b/database/staking_validators.go index f911247de..54d7d551a 100644 --- a/database/staking_validators.go +++ b/database/staking_validators.go @@ -3,9 +3,9 @@ package database import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -56,14 +56,14 @@ VALUES ` selfDelegationAccQuery = selfDelegationAccQuery[:len(selfDelegationAccQuery)-1] // Remove trailing "," selfDelegationAccQuery += " ON CONFLICT DO NOTHING" - _, err := db.Sql.Exec(selfDelegationAccQuery, selfDelegationParam...) + _, err := db.SQL.Exec(selfDelegationAccQuery, selfDelegationParam...) if err != nil { return fmt.Errorf("error while storing accounts: %s", err) } validatorQuery = validatorQuery[:len(validatorQuery)-1] // Remove trailing "," validatorQuery += " ON CONFLICT DO NOTHING" - _, err = db.Sql.Exec(validatorQuery, validatorParams...) + _, err = db.SQL.Exec(validatorQuery, validatorParams...) if err != nil { return fmt.Errorf("error while storing valdiators: %s", err) } @@ -78,7 +78,7 @@ ON CONFLICT (consensus_address) DO UPDATE max_rate = excluded.max_rate, height = excluded.height WHERE validator_info.height <= excluded.height` - _, err = db.Sql.Exec(validatorInfoQuery, validatorInfoParams...) + _, err = db.SQL.Exec(validatorInfoQuery, validatorInfoParams...) if err != nil { return fmt.Errorf("error while storing validator infos: %s", err) } @@ -247,7 +247,7 @@ ON CONFLICT (validator_address) DO UPDATE height = excluded.height WHERE validator_description.height <= excluded.height` - _, err = db.Sql.Exec(stmt, + _, err = db.SQL.Exec(stmt, dbtypes.ToNullString(consAddr.String()), dbtypes.ToNullString(des.Moniker), dbtypes.ToNullString(des.Identity), @@ -340,7 +340,7 @@ ON CONFLICT (validator_address) DO UPDATE min_self_delegation = excluded.min_self_delegation, height = excluded.height WHERE validator_commission.height <= excluded.height` - _, err = db.Sql.Exec(stmt, consAddr.String(), commission, minSelfDelegation, data.Height) + _, err = db.SQL.Exec(stmt, consAddr.String(), commission, minSelfDelegation, data.Height) if err != nil { return fmt.Errorf("error while storing validator commission: %s", err) } @@ -388,7 +388,7 @@ ON CONFLICT (validator_address) DO UPDATE height = excluded.height WHERE validator_voting_power.height <= excluded.height` - _, err := db.Sql.Exec(stmt, params...) + _, err := db.SQL.Exec(stmt, params...) if err != nil { return fmt.Errorf("error while storing validators voting power: %s", err) } @@ -407,7 +407,7 @@ func (db *Db) SaveValidatorsStatuses(statuses []types.ValidatorStatus) error { validatorStmt := `INSERT INTO validator (consensus_address, consensus_pubkey) VALUES` var valParams []interface{} - statusStmt := `INSERT INTO validator_status (validator_address, status, jailed, tombstoned, height) VALUES ` + statusStmt := `INSERT INTO validator_status (validator_address, status, jailed, height) VALUES ` var statusParams []interface{} for i, status := range statuses { @@ -415,14 +415,14 @@ func (db *Db) SaveValidatorsStatuses(statuses []types.ValidatorStatus) error { validatorStmt += fmt.Sprintf("($%d, $%d),", vi+1, vi+2) valParams = append(valParams, status.ConsensusAddress, status.ConsensusPubKey) - si := i * 5 - statusStmt += fmt.Sprintf("($%d,$%d,$%d,$%d,$%d),", si+1, si+2, si+3, si+4, si+5) - statusParams = append(statusParams, status.ConsensusAddress, status.Status, status.Jailed, status.Tombstoned, status.Height) + si := i * 4 + statusStmt += fmt.Sprintf("($%d,$%d,$%d,$%d),", si+1, si+2, si+3, si+4) + statusParams = append(statusParams, status.ConsensusAddress, status.Status, status.Jailed, status.Height) } validatorStmt = validatorStmt[:len(validatorStmt)-1] validatorStmt += "ON CONFLICT DO NOTHING" - _, err := db.Sql.Exec(validatorStmt, valParams...) + _, err := db.SQL.Exec(validatorStmt, valParams...) if err != nil { return fmt.Errorf("error while storing validators: %s", err) } @@ -432,10 +432,9 @@ func (db *Db) SaveValidatorsStatuses(statuses []types.ValidatorStatus) error { ON CONFLICT (validator_address) DO UPDATE SET status = excluded.status, jailed = excluded.jailed, - tombstoned = excluded.tombstoned, height = excluded.height WHERE validator_status.height <= excluded.height` - _, err = db.Sql.Exec(statusStmt, statusParams...) + _, err = db.SQL.Exec(statusStmt, statusParams...) if err != nil { return fmt.Errorf("error while stroring validators statuses: %s", err) } @@ -451,30 +450,46 @@ INSERT INTO double_sign_vote VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT DO NOTHING RETURNING id` var id int64 - err := db.Sql.QueryRow(stmt, + err := db.SQL.QueryRow(stmt, vote.Type, vote.Height, vote.Round, vote.BlockID, vote.ValidatorAddress, vote.ValidatorIndex, vote.Signature, ).Scan(&id) return id, err } -// SaveDoubleSignEvidence saves the given double sign evidence inside the proper tables -func (db *Db) SaveDoubleSignEvidence(evidence types.DoubleSignEvidence) error { - voteA, err := db.saveDoubleSignVote(evidence.VoteA) - if err != nil { - return fmt.Errorf("error while storing double sign vote: %s", err) - } - - voteB, err := db.saveDoubleSignVote(evidence.VoteB) - if err != nil { - return fmt.Errorf("error while storing double sign vote: %s", err) +// SaveDoubleSignEvidences saves the given double sign evidences inside the database +func (db *Db) SaveDoubleSignEvidences(evidence []types.DoubleSignEvidence) error { + if len(evidence) == 0 { + return nil } stmt := ` INSERT INTO double_sign_evidence (height, vote_a_id, vote_b_id) -VALUES ($1, $2, $3) ON CONFLICT DO NOTHING` - _, err = db.Sql.Exec(stmt, evidence.Height, voteA, voteB) +VALUES ` + + var doubleSignEvidence []interface{} + + for i, ev := range evidence { + voteA, err := db.saveDoubleSignVote(ev.VoteA) + if err != nil { + return fmt.Errorf("error while storing double sign vote: %s", err) + } + + voteB, err := db.saveDoubleSignVote(ev.VoteB) + if err != nil { + return fmt.Errorf("error while storing double sign vote: %s", err) + } + + si := i * 3 + stmt += fmt.Sprintf("($%d,$%d,$%d),", si+1, si+2, si+3) + doubleSignEvidence = append(doubleSignEvidence, ev.Height, voteA, voteB) + + } + + stmt = stmt[:len(stmt)-1] // remove tailing "," + stmt += " ON CONFLICT DO NOTHING" + _, err := db.SQL.Exec(stmt, doubleSignEvidence...) if err != nil { - return fmt.Errorf("error while storing double sign evidence: %s", err) + return fmt.Errorf("error while storing double sign evidences: %s", err) } return nil diff --git a/database/staking_validators_test.go b/database/staking_validators_test.go index c3e85c47e..e75b59dc9 100644 --- a/database/staking_validators_test.go +++ b/database/staking_validators_test.go @@ -1,14 +1,14 @@ package database_test import ( - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" + tmtypes "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dbtypes "github.com/forbole/bdjuno/v3/database/types" + dbtypes "github.com/forbole/bdjuno/v4/database/types" ) func newDecPts(value int64, prec int64) *sdk.Dec { @@ -207,13 +207,13 @@ func (suite *DbTestSuite) TestGetValidator() { maxChangeRate := sdk.NewDec(ii) suite.getAccount("cosmos184ma3twcfjqef6k95ne8w2hk80x2kah7vcwy4a") // Insert test data - _, err := suite.database.Sql.Exec(` + _, err := suite.database.SQL.Exec(` INSERT INTO validator (consensus_address, consensus_pubkey) VALUES ('cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl', 'cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8')`) suite.Require().NoError(err) - _, err = suite.database.Sql.Exec(` + _, err = suite.database.SQL.Exec(` INSERT INTO validator_info (consensus_address, operator_address,self_delegate_address,max_change_rate,max_rate,height) VALUES ('cosmosvalcons1qqqqrezrl53hujmpdch6d805ac75n220ku09rl', 'cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl', @@ -255,7 +255,7 @@ func (suite *DbTestSuite) TestGetValidators() { } for _, query := range queries { - _, err := suite.database.Sql.Exec(query) + _, err := suite.database.SQL.Exec(query) suite.Require().NoError(err) } @@ -633,7 +633,6 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { validator1.GetConsPubKey(), 1, false, - false, 10, ), types.NewValidatorStatus( @@ -641,7 +640,6 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { validator2.GetConsPubKey(), 2, true, - true, 10, ), }) @@ -656,14 +654,12 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { dbtypes.NewValidatorStatusRow( 1, false, - false, validator1.GetConsAddr(), 10, ), dbtypes.NewValidatorStatusRow( 2, true, - true, validator2.GetConsAddr(), 10, ), @@ -680,7 +676,6 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { validator1.GetConsPubKey(), 3, true, - true, 9, ), types.NewValidatorStatus( @@ -688,7 +683,6 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { validator2.GetConsPubKey(), 3, true, - true, 11, ), }) @@ -703,14 +697,12 @@ func (suite *DbTestSuite) TestSaveValidatorStatus() { dbtypes.NewValidatorStatusRow( 1, false, - false, validator1.GetConsAddr(), 10, ), dbtypes.NewValidatorStatusRow( 3, true, - true, validator2.GetConsAddr(), 11, ), @@ -730,9 +722,9 @@ func (suite *DbTestSuite) TestSaveDoubleVoteEvidence() { "cosmosvaloper1rcp29q3hpd246n6qak7jluqep4v006cdsc2kkl", "cosmosvalconspub1zcjduepq7mft6gfls57a0a42d7uhx656cckhfvtrlmw744jv4q0mvlv0dypskehfk8", ) - + var evidences []types.DoubleSignEvidence // Insert data - evidence := types.NewDoubleSignEvidence( + evidences = append(evidences, types.NewDoubleSignEvidence( 10, types.NewDoubleSignVote( int(tmtypes.PrevoteType), @@ -752,8 +744,9 @@ func (suite *DbTestSuite) TestSaveDoubleVoteEvidence() { 1, "A5m7SVuvZ8YNXcUfBKLgkeV+Vy5ea+7rPfzlbkEvHOPPce6B7A2CwOIbCmPSVMKUarUdta+HiyTV+IELaOYyDA==", ), + ), ) - err := suite.database.SaveDoubleSignEvidence(evidence) + err := suite.database.SaveDoubleSignEvidences(evidences) suite.Require().NoError(err) // Verify insertion diff --git a/database/types/consensus.go b/database/types/consensus.go index f16356a0a..4852979d0 100644 --- a/database/types/consensus.go +++ b/database/types/consensus.go @@ -87,3 +87,11 @@ type BlockRow struct { PreCommitsNum int64 `db:"pre_commits"` Timestamp time.Time `db:"timestamp"` } + +// ------------------------------------------------------------------------------------------------------------------- + +// BlockHeightAndTimestamp represents last block height and timestamp stored inside the database +type BlockHeightAndTimestamp struct { + Height int64 `db:"height"` + BlockTimestamp time.Time `db:"timestamp"` +} diff --git a/database/types/gov.go b/database/types/gov.go index 9d9a2753c..004d42bcb 100644 --- a/database/types/gov.go +++ b/database/types/gov.go @@ -1,64 +1,60 @@ package types import ( + "database/sql" "time" ) // GovParamsRow represents a single row of the "gov_params" table type GovParamsRow struct { - OneRowID bool `db:"one_row_id"` - DepositParams string `db:"deposit_params"` - VotingParams string `db:"voting_params"` - TallyParams string `db:"tally_params"` - Height int64 `db:"height"` + OneRowID bool `db:"one_row_id"` + Params string `db:"params"` + Height int64 `db:"height"` } // -------------------------------------------------------------------------------------------------------------------- // ProposalRow represents a single row inside the proposal table type ProposalRow struct { - Title string `db:"title"` - Description string `db:"description"` - Content string `db:"content"` - ProposalRoute string `db:"proposal_route"` - ProposalType string `db:"proposal_type"` - ProposalID uint64 `db:"id"` - SubmitTime time.Time `db:"submit_time"` - DepositEndTime time.Time `db:"deposit_end_time"` - VotingStartTime time.Time `db:"voting_start_time"` - VotingEndTime time.Time `db:"voting_end_time"` - Proposer string `db:"proposer_address"` - Status string `db:"status"` + Title string `db:"title"` + Description string `db:"description"` + Metadata string `db:"metadata"` + Content string `db:"content"` + ProposalID uint64 `db:"id"` + SubmitTime time.Time `db:"submit_time"` + DepositEndTime time.Time `db:"deposit_end_time"` + VotingStartTime sql.NullTime `db:"voting_start_time"` + VotingEndTime sql.NullTime `db:"voting_end_time"` + Proposer string `db:"proposer_address"` + Status string `db:"status"` } // NewProposalRow allows to easily create a new ProposalRow func NewProposalRow( proposalID uint64, - proposalRoute string, - proposalType string, title string, description string, + metadata string, content string, submitTime time.Time, depositEndTime time.Time, - votingStartTime time.Time, - votingEndTime time.Time, + votingStartTime *time.Time, + votingEndTime *time.Time, proposer string, status string, ) ProposalRow { return ProposalRow{ + ProposalID: proposalID, Title: title, Description: description, + Metadata: metadata, Content: content, - ProposalRoute: proposalRoute, - ProposalType: proposalType, - ProposalID: proposalID, + Status: status, SubmitTime: submitTime, DepositEndTime: depositEndTime, - VotingStartTime: votingStartTime, - VotingEndTime: votingEndTime, + VotingStartTime: TimeToNullTime(votingStartTime), + VotingEndTime: TimeToNullTime(votingEndTime), Proposer: proposer, - Status: status, } } @@ -66,13 +62,13 @@ func NewProposalRow( func (w ProposalRow) Equals(v ProposalRow) bool { return w.Title == v.Title && w.Description == v.Description && - w.ProposalRoute == v.ProposalRoute && - w.ProposalType == v.ProposalType && + w.Metadata == v.Metadata && + w.Content == v.Content && w.ProposalID == v.ProposalID && w.SubmitTime.Equal(v.SubmitTime) && w.DepositEndTime.Equal(v.DepositEndTime) && - w.VotingStartTime.Equal(v.VotingStartTime) && - w.VotingEndTime.Equal(v.VotingEndTime) && + AreNullTimesEqual(w.VotingStartTime, v.VotingStartTime) && + AreNullTimesEqual(w.VotingEndTime, v.VotingEndTime) && w.Proposer == v.Proposer && w.Status == v.Status } @@ -118,10 +114,12 @@ func (w TallyResultRow) Equals(v TallyResultRow) bool { // VoteRow represents a single row inside the vote table type VoteRow struct { - ProposalID int64 `db:"proposal_id"` - Voter string `db:"voter_address"` - Option string `db:"option"` - Height int64 `db:"height"` + ProposalID int64 `db:"proposal_id"` + Voter string `db:"voter_address"` + Option string `db:"option"` + Weight string `db:"weight"` + Timestamp time.Time `db:"timestamp"` + Height int64 `db:"height"` } // NewVoteRow allows to easily create a new VoteRow @@ -129,12 +127,16 @@ func NewVoteRow( proposalID int64, voter string, option string, + weight string, + timestamp time.Time, height int64, ) VoteRow { return VoteRow{ ProposalID: proposalID, Voter: voter, Option: option, + Weight: weight, + Timestamp: timestamp, Height: height, } } @@ -144,15 +146,19 @@ func (w VoteRow) Equals(v VoteRow) bool { return w.ProposalID == v.ProposalID && w.Voter == v.Voter && w.Option == v.Option && + w.Weight == v.Weight && + w.Timestamp.Equal(v.Timestamp) && w.Height == v.Height } // DepositRow represents a single row inside the deposit table type DepositRow struct { - ProposalID int64 `db:"proposal_id"` - Depositor string `db:"depositor_address"` - Amount DbCoins `db:"amount"` - Height int64 `db:"height"` + ProposalID int64 `db:"proposal_id"` + Depositor string `db:"depositor_address"` + Amount DbCoins `db:"amount"` + Timestamp time.Time `db:"timestamp"` + TransactionHash string `db:"transaction_hash"` + Height int64 `db:"height"` } // NewDepositRow allows to easily create a new NewDepositRow @@ -160,13 +166,17 @@ func NewDepositRow( proposalID int64, depositor string, amount DbCoins, + timestamp time.Time, + transactionHash string, height int64, ) DepositRow { return DepositRow{ - ProposalID: proposalID, - Depositor: depositor, - Amount: amount, - Height: height, + ProposalID: proposalID, + Depositor: depositor, + Amount: amount, + Timestamp: timestamp, + TransactionHash: transactionHash, + Height: height, } } @@ -175,6 +185,8 @@ func (w DepositRow) Equals(v DepositRow) bool { return w.ProposalID == v.ProposalID && w.Depositor == v.Depositor && w.Amount.Equal(&v.Amount) && + w.Timestamp.Equal(v.Timestamp) && + w.TransactionHash == v.TransactionHash && w.Height == v.Height } diff --git a/database/types/staking_pool.go b/database/types/staking_pool.go index 0fae3620a..b97b96a0c 100644 --- a/database/types/staking_pool.go +++ b/database/types/staking_pool.go @@ -2,19 +2,23 @@ package types // StakingPoolRow represents a single row inside the staking_pool table type StakingPoolRow struct { - OneRowID bool `db:"one_row_id"` - BondedTokens int64 `db:"bonded_tokens"` - NotBondedTokens int64 `db:"not_bonded_tokens"` - Height int64 `db:"height"` + OneRowID bool `db:"one_row_id"` + BondedTokens int64 `db:"bonded_tokens"` + NotBondedTokens int64 `db:"not_bonded_tokens"` + UnbondingTokens int64 `db:"unbonding_tokens"` + StakedNotBondedTokens int64 `db:"staked_not_bonded_tokens"` + Height int64 `db:"height"` } // NewStakingPoolRow allows to easily create a new StakingPoolRow -func NewStakingPoolRow(bondedTokens, notBondedTokens int64, height int64) StakingPoolRow { +func NewStakingPoolRow(bondedTokens, notBondedTokens, unbondingTokens, stakedNotBondedTokens int64, height int64) StakingPoolRow { return StakingPoolRow{ - OneRowID: true, - BondedTokens: bondedTokens, - NotBondedTokens: notBondedTokens, - Height: height, + OneRowID: true, + BondedTokens: bondedTokens, + NotBondedTokens: notBondedTokens, + UnbondingTokens: unbondingTokens, + StakedNotBondedTokens: stakedNotBondedTokens, + Height: height, } } @@ -22,5 +26,7 @@ func NewStakingPoolRow(bondedTokens, notBondedTokens int64, height int64) Stakin func (r StakingPoolRow) Equal(s StakingPoolRow) bool { return r.BondedTokens == s.BondedTokens && r.NotBondedTokens == s.NotBondedTokens && + r.UnbondingTokens == s.UnbondingTokens && + r.StakedNotBondedTokens == s.StakedNotBondedTokens && r.Height == s.Height } diff --git a/database/types/staking_validators.go b/database/types/staking_validators.go index 4eb5755ef..8db6c9e50 100644 --- a/database/types/staking_validators.go +++ b/database/types/staking_validators.go @@ -239,17 +239,15 @@ func (v ValidatorVotingPowerRow) Equal(w ValidatorVotingPowerRow) bool { type ValidatorStatusRow struct { Status int `db:"status"` Jailed bool `db:"jailed"` - Tombstoned bool `db:"tombstoned"` ConsAddress string `db:"validator_address"` Height int64 `db:"height"` } // NewValidatorStatusRow builds a new ValidatorStatusRow -func NewValidatorStatusRow(status int, jailed bool, tombstoned bool, consAddess string, height int64) ValidatorStatusRow { +func NewValidatorStatusRow(status int, jailed bool, consAddess string, height int64) ValidatorStatusRow { return ValidatorStatusRow{ Status: status, Jailed: jailed, - Tombstoned: tombstoned, ConsAddress: consAddess, Height: height, } @@ -259,7 +257,6 @@ func NewValidatorStatusRow(status int, jailed bool, tombstoned bool, consAddess func (v ValidatorStatusRow) Equal(w ValidatorStatusRow) bool { return v.Status == w.Status && v.Jailed == w.Jailed && - v.Tombstoned == w.Tombstoned && v.ConsAddress == w.ConsAddress && v.Height == w.Height } diff --git a/database/types/upgrade.go b/database/types/upgrade.go new file mode 100644 index 000000000..c3abc7407 --- /dev/null +++ b/database/types/upgrade.go @@ -0,0 +1,21 @@ +package types + +type SoftwareUpgradePlanRow struct { + ProposalID uint64 `db:"proposal_id"` + PlanName string `db:"plan_name"` + UpgradeHeight int64 `db:"upgrade_height"` + Info string `db:"info"` + Height int64 `db:"height"` +} + +func NewSoftwareUpgradePlanRow( + proposalID uint64, planName string, upgradeHeight int64, info string, height int64, +) SoftwareUpgradePlanRow { + return SoftwareUpgradePlanRow{ + ProposalID: proposalID, + PlanName: planName, + UpgradeHeight: upgradeHeight, + Info: info, + Height: height, + } +} diff --git a/database/types/utils.go b/database/types/utils.go index be8d7783d..5be6926f1 100644 --- a/database/types/utils.go +++ b/database/types/utils.go @@ -1,5 +1,10 @@ package types +import ( + "database/sql" + "time" +) + // ModuleRow represents a single row inside the modules table type ModuleRow struct { Module string `db:"module_name"` @@ -39,3 +44,24 @@ func (v ModuleRows) Equal(w *ModuleRows) bool { } return true } + +func TimeToNullTime(t *time.Time) sql.NullTime { + if t == nil { + return sql.NullTime{} + } + return sql.NullTime{ + Time: *t, + Valid: true, + } +} + +func NullTimeToTime(t sql.NullTime) *time.Time { + if !t.Valid { + return nil + } + return &t.Time +} + +func AreNullTimesEqual(first sql.NullTime, second sql.NullTime) bool { + return first.Valid == second.Valid && first.Time.Equal(second.Time) +} diff --git a/database/utils.go b/database/utils.go index 6821c713c..be2da9c76 100644 --- a/database/utils.go +++ b/database/utils.go @@ -12,7 +12,7 @@ func (db *Db) InsertEnableModules(modules []string) error { // Remove existing modules stmt := "DELETE FROM modules WHERE TRUE" - _, err := db.Sql.Exec(stmt) + _, err := db.SQL.Exec(stmt) if err != nil { return fmt.Errorf("error while deleting modules: %s", err) } @@ -29,7 +29,7 @@ func (db *Db) InsertEnableModules(modules []string) error { } stmt = stmt[:len(stmt)-1] // remove tailing "," stmt += " ON CONFLICT DO NOTHING" - _, err = db.Sql.Exec(stmt, values...) + _, err = db.SQL.Exec(stmt, values...) if err != nil { return fmt.Errorf("error while storing modules: %s", err) } diff --git a/database/utils/bank.go b/database/utils/bank.go index 470fedac8..5a0af8bb7 100644 --- a/database/utils/bank.go +++ b/database/utils/bank.go @@ -1,6 +1,6 @@ package utils -import "github.com/forbole/bdjuno/v3/types" +import "github.com/forbole/bdjuno/v4/types" const ( maxPostgreSQLParams = 65535 diff --git a/database/utils_test.go b/database/utils_test.go index 599d0dfa8..99600801c 100644 --- a/database/utils_test.go +++ b/database/utils_test.go @@ -1,7 +1,7 @@ package database_test import ( - "github.com/forbole/bdjuno/v3/database/types" + "github.com/forbole/bdjuno/v4/database/types" ) func (suite *DbTestSuite) TestBigDipperDb_InsertEnableModules() { diff --git a/go.mod b/go.mod index 49a7cc966..753b91788 100644 --- a/go.mod +++ b/go.mod @@ -1,165 +1,333 @@ -module github.com/forbole/bdjuno/v3 +module github.com/forbole/bdjuno/v4 -go 1.18 +go 1.20 + +replace github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.47.2 require ( - github.com/CoreumFoundation/coreum/v2 v2.0.0 - github.com/cosmos/cosmos-sdk v0.45.16 - github.com/forbole/juno/v3 v3.4.1-0.20220912104021-a2cfbab251bc - github.com/go-co-op/gocron v1.13.0 - github.com/gogo/protobuf v1.3.3 + cosmossdk.io/math v1.1.2 + cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 + github.com/CoreumFoundation/coreum/v3 v3.0.0-20231102084816-3f621c7b16c0 + github.com/CosmWasm/wasmd v0.41.0 + github.com/cometbft/cometbft v0.37.2 + github.com/cosmos/cosmos-sdk v0.47.5 + github.com/cosmos/gogoproto v1.4.10 + github.com/forbole/juno/v5 v5.2.0 + github.com/go-co-op/gocron v1.35.0 + github.com/gogo/protobuf v1.3.2 + github.com/golangci/golangci-lint v1.54.2 github.com/jmoiron/sqlx v1.3.5 - github.com/lib/pq v1.10.6 + github.com/lib/pq v1.10.9 github.com/pelletier/go-toml v1.9.5 - github.com/prometheus/client_golang v1.14.0 - github.com/proullon/ramsql v0.0.0-20181213202341-817cee58a244 - github.com/rs/zerolog v1.27.0 - github.com/spf13/cobra v1.6.1 - github.com/stretchr/testify v1.8.1 - github.com/tendermint/tendermint v0.34.27 - google.golang.org/grpc v1.55.0 + github.com/prometheus/client_golang v1.17.0 + github.com/proullon/ramsql v0.1.2 + github.com/rs/zerolog v1.31.0 + github.com/samber/lo v1.38.1 + github.com/spf13/cobra v1.7.0 + github.com/stretchr/testify v1.8.4 + google.golang.org/grpc v1.58.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - cosmossdk.io/api v0.2.6 // indirect - cosmossdk.io/core v0.5.1 // indirect - cosmossdk.io/depinject v1.0.0-alpha.3 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect + 4d63.com/gochecknoglobals v0.2.1 // indirect + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.21.0 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.30.1 // indirect + cosmossdk.io/api v0.3.1 // indirect + cosmossdk.io/core v0.6.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/errors v1.0.0 // indirect + cosmossdk.io/tools/rosetta v0.2.1 // indirect + filippo.io/edwards25519 v1.0.0 // indirect + github.com/4meepo/tagalign v1.3.2 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.1 // indirect + github.com/99designs/keyring v1.2.2 // indirect + github.com/Abirdcfly/dupword v0.0.12 // indirect + github.com/Antonboom/errname v0.1.12 // indirect + github.com/Antonboom/nilnil v0.1.7 // indirect + github.com/BurntSushi/toml v1.3.2 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmd v0.30.0 // indirect - github.com/CosmWasm/wasmvm v1.1.2 // indirect - github.com/DataDog/zstd v1.5.0 // indirect - github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect - github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/CosmWasm/wasmvm v1.3.0 // indirect + github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect + github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/OpenPeeDeeP/depguard/v2 v2.1.0 // indirect + github.com/alexkohler/nakedret/v2 v2.0.2 // indirect + github.com/alexkohler/prealloc v1.0.0 // indirect + github.com/alingse/asasalint v0.0.11 // indirect github.com/armon/go-metrics v0.4.1 // indirect + github.com/ashanbrown/forbidigo v1.6.0 // indirect + github.com/ashanbrown/makezero v1.1.1 // indirect + github.com/aws/aws-sdk-go v1.44.203 // indirect + github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/bkielbasa/cyclop v1.2.1 // indirect + github.com/blizzy78/varnamelen v0.8.0 // indirect + github.com/bombsimon/wsl/v3 v3.4.0 // indirect + github.com/breml/bidichk v0.2.4 // indirect + github.com/breml/errchkjson v0.3.1 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/butuzov/ireturn v0.2.0 // indirect + github.com/butuzov/mirror v1.1.0 // indirect + github.com/ccojocar/zxcvbn-go v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/cockroachdb/errors v1.9.1 // indirect + github.com/charithe/durationcheck v0.0.10 // indirect + github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 // indirect + github.com/chzyer/readline v1.5.1 // indirect + github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/cockroachdb/errors v1.10.0 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect - github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 // indirect - github.com/cockroachdb/redact v1.1.3 // indirect - github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect - github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/cockroachdb/redact v1.1.5 // indirect + github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect + github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.1 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.3 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.3 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.5 // indirect - github.com/cosmos/ibc-go/v4 v4.3.1 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/iavl v0.20.0 // indirect + github.com/cosmos/ibc-go/v7 v7.2.0 // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect + github.com/creachadair/taskgroup v0.4.2 // indirect + github.com/curioswitch/go-reassign v0.2.0 // indirect + github.com/daixiang0/gci v0.11.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/docker/distribution v2.8.2-beta.1+incompatible // indirect - github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/esimonov/ifshort v1.0.4 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.15.0 // indirect + github.com/fatih/structtag v1.2.0 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/firefart/nonamedreturns v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/getsentry/sentry-go v0.17.0 // indirect + github.com/fzipp/gocyclo v0.6.0 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect + github.com/go-critic/go-critic v0.9.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect + github.com/go-toolsmith/astcast v1.1.0 // indirect + github.com/go-toolsmith/astcopy v1.1.0 // indirect + github.com/go-toolsmith/astequal v1.1.0 // indirect + github.com/go-toolsmith/astfmt v1.1.0 // indirect + github.com/go-toolsmith/astp v1.1.0 // indirect + github.com/go-toolsmith/strparse v1.1.0 // indirect + github.com/go-toolsmith/typep v1.1.0 // indirect + github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect + github.com/gobwas/glob v0.2.3 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/gogo/googleapis v1.4.1 // indirect github.com/golang/glog v1.1.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect + github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect + github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect + github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 // indirect + github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect + github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect + github.com/golangci/misspell v0.4.1 // indirect + github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect + github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/s2a-go v0.1.4 // indirect + github.com/google/uuid v1.3.1 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect + github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect + github.com/gostaticanalysis/analysisutil v0.7.1 // indirect + github.com/gostaticanalysis/comment v1.4.2 // indirect + github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect + github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-getter v1.7.1 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect + github.com/hexops/gotextdiff v1.0.3 // indirect + github.com/huandu/skiplist v1.2.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // 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/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.11 // indirect + github.com/julz/importas v0.1.0 // indirect + github.com/kisielk/errcheck v1.6.3 // indirect + github.com/kisielk/gotool v1.0.0 // indirect + github.com/kkHAIKE/contextcheck v1.1.4 // indirect + github.com/klauspost/compress v1.16.3 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect + github.com/kulti/thelper v0.6.3 // indirect + github.com/kunwardeep/paralleltest v1.0.8 // indirect + github.com/kyoh86/exportloopref v0.1.11 // indirect + github.com/ldez/gomoddirectives v0.2.3 // indirect + github.com/ldez/tagliatelle v0.5.0 // indirect + github.com/leonklingele/grouper v1.1.1 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/linxGnu/grocksdb v1.7.10 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/linxGnu/grocksdb v1.7.16 // indirect + github.com/lufeee/execinquery v1.2.1 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/manifoldco/promptui v0.9.0 // indirect + github.com/maratori/testableexamples v1.0.0 // indirect + github.com/maratori/testpackage v1.1.1 // indirect + github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/mbilski/exhaustivestruct v1.2.0 // indirect + github.com/mgechev/revive v1.3.2 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moricho/tparallel v0.3.1 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/nxadm/tail v1.4.8 // indirect + github.com/nakabonne/nestif v0.3.1 // indirect + github.com/nishanths/exhaustive v0.11.0 // indirect + github.com/nishanths/predeclared v0.2.2 // indirect + github.com/nunnatsa/ginkgolinter v0.13.5 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect + github.com/polyfloyd/go-errorlint v1.4.4 // indirect + github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect + github.com/prometheus/common v0.44.0 // indirect + github.com/prometheus/procfs v0.11.1 // indirect + github.com/quasilyte/go-ruleguard v0.4.0 // indirect + github.com/quasilyte/gogrep v0.5.0 // indirect + github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect + github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/rogpeppe/go-internal v1.9.0 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/samber/lo v1.35.0 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rs/cors v1.8.3 // indirect + github.com/ryancurrah/gomodguard v1.3.0 // indirect + github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect + github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/sashamelentyev/interfacebloat v1.1.0 // indirect + github.com/sashamelentyev/usestdlibvars v1.24.0 // indirect + github.com/securego/gosec/v2 v2.17.0 // indirect + github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/sivchari/containedctx v1.0.3 // indirect + github.com/sivchari/nosnakecase v1.7.0 // indirect + github.com/sivchari/tenv v1.7.1 // indirect + github.com/sonatard/noctx v0.0.2 // indirect + github.com/sourcegraph/go-diff v0.7.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.14.0 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect + github.com/spf13/viper v1.16.0 // indirect + github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect + github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect + github.com/stretchr/objx v0.5.0 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect + github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect + github.com/tdakkota/asciicheck v0.2.0 // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tm-db v0.6.7 // indirect - github.com/tidwall/btree v1.5.0 // indirect + github.com/tetafro/godot v1.4.14 // indirect + github.com/tidwall/btree v1.6.0 // indirect + github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect + github.com/timonwong/loggercheck v0.9.4 // indirect + github.com/tomarrell/wrapcheck/v2 v2.8.1 // indirect + github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect + github.com/ultraware/funlen v0.1.0 // indirect + github.com/ultraware/whitespace v0.0.5 // indirect + github.com/uudashr/gocognit v1.0.7 // indirect + github.com/xen0n/gosmopolitan v1.2.1 // indirect + github.com/yagipy/maintidx v1.0.0 // indirect + github.com/yeya24/promlinter v0.2.0 // indirect + github.com/ykadowak/zerologlint v0.1.3 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.5.0 // indirect - golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/term v0.8.0 // indirect - golang.org/x/text v0.9.0 // indirect - google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect - google.golang.org/protobuf v1.30.0 // indirect + gitlab.com/bosi/decorder v0.4.0 // indirect + go.etcd.io/bbolt v1.3.7 // indirect + go.opencensus.io v0.24.0 // indirect + go.tmz.dev/musttag v0.7.2 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.8.0 // indirect + go.uber.org/zap v1.24.0 // indirect + golang.org/x/crypto v0.12.0 // indirect + golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect + golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/net v0.14.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/term v0.11.0 // indirect + golang.org/x/text v0.12.0 // indirect + golang.org/x/tools v0.12.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.126.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - nhooyr.io/websocket v1.8.6 // indirect + honnef.co/go/tools v0.4.5 // indirect + mvdan.cc/gofumpt v0.5.0 // indirect + mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect + mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect + mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect + nhooyr.io/websocket v1.8.7 // indirect + pgregory.net/rapid v0.5.5 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) -replace ( - github.com/forbole/juno/v3 => github.com/CoreumFoundation/juno/v3 v3.0.0-20230713125944-2bfed6c54096 - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27 - google.golang.org/grpc => google.golang.org/grpc v1.33.2 -) +// This is to avoid warnings while running the binary +// See here: https://github.com/desmos-labs/desmos/pull/1131#discussion_r1194090419 +replace github.com/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.8 diff --git a/go.sum b/go.sum index 7dfde43c6..cc9852705 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,16 @@ +4d63.com/gocheckcompilerdirectives v1.2.1 h1:AHcMYuw56NPjq/2y615IGg2kYkBdTvOaojYCBcRE7MA= +4d63.com/gocheckcompilerdirectives v1.2.1/go.mod h1:yjDJSxmDTtIHHCqX0ufRYZDL6vQtMG7tJdKVeWwsqvs= +4d63.com/gochecknoglobals v0.2.1 h1:1eiorGsgHOFOuoOiJDy2psSrQbRdIHrlge0IJIkUgDc= +4d63.com/gochecknoglobals v0.2.1/go.mod h1:KRE8wtJB3CXCsb1xy421JfTHIIbmT3U5ruxw2Qu8fSU= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -18,102 +21,457 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.21.0 h1:JNBsyXVoOoNJtTQcnEY5uYpZIbeCTYIeDe0Xh1bySMk= +cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= -cosmossdk.io/api v0.2.6 h1:AoNwaLLapcLsphhMK6+o0kZl+D6MMUaHVqSdwinASGU= -cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= -cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= -cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= -cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= -cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= +cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= +cosmossdk.io/core v0.6.1 h1:OBy7TI2W+/gyn2z40vVvruK3di+cAluinA6cybFbE7s= +cosmossdk.io/core v0.6.1/go.mod h1:g3MMBCBXtxbDWBURDVnJE7XML4BG5qENhs0gzkcpuFA= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= +cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= +cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= +cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= +cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 h1:g8muUHnXL8vhld2Sjilyhb1UQObc+x9GVuDK43TYZns= +cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462/go.mod h1:4Dd3NLoLYoN90kZ0uyHoTHzVVk9+J0v4HhZRBNTAq2c= +cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= -git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= -git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +github.com/4meepo/tagalign v1.3.2 h1:1idD3yxlRGV18VjqtDbqYvQ5pXqQS0wO2dn6M3XstvI= +github.com/4meepo/tagalign v1.3.2/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= +github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= +github.com/Abirdcfly/dupword v0.0.12 h1:56NnOyrXzChj07BDFjeRA+IUzSz01jmzEq+G4kEgFhc= +github.com/Abirdcfly/dupword v0.0.12/go.mod h1:+us/TGct/nI9Ndcbcp3rgNcQzctTj68pq7TcgNpLfdI= +github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY= +github.com/Antonboom/errname v0.1.12/go.mod h1:bK7todrzvlaZoQagP1orKzWXv59X/x0W0Io2XT1Ssro= +github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTow= +github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= -github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= -github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= -github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= -github.com/CoreumFoundation/coreum-tools v0.4.1-0.20230627094203-821c6a4eebab h1:XPcSzlQ06tor/py1LkEM9FX70LIeDWB++vLuAO6eAYI= -github.com/CoreumFoundation/coreum/v2 v2.0.0 h1:0CZk5olLsOowc0s5C3ab5LzVrKRg9bjmNN8BsHZVGGw= -github.com/CoreumFoundation/coreum/v2 v2.0.0/go.mod h1:RQEqopi/udeg5GuvzwKQCm4WCuX6JkPqFgrCRYsR5ws= -github.com/CoreumFoundation/juno/v3 v3.0.0-20230713125944-2bfed6c54096 h1:OsSHcGodRrobiaiKoAr90XQ+DG5JdJYeyDBiEBMh2kk= -github.com/CoreumFoundation/juno/v3 v3.0.0-20230713125944-2bfed6c54096/go.mod h1:knE0Thxr8OZriCorKOiQSFu2H0pOoJzH7omm9RO5w5k= -github.com/CosmWasm/wasmd v0.30.0 h1:oUVz3TgO/+24JZQdoTOlOv+IK7N9hEa/s3M4eR9i4FQ= -github.com/CosmWasm/wasmd v0.30.0/go.mod h1:umLGeYyowAMMEdOYfDOf8jsDrQ75Qkm1+ogBXT/w01c= -github.com/CosmWasm/wasmvm v1.1.2 h1:uvMk0iIJcFFUvdElmV9KQeeqRx7ESspxUrPjfCGki3M= -github.com/CosmWasm/wasmvm v1.1.2/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/CoreumFoundation/coreum-tools v0.4.0 h1:ATmoiaDdcoGx1TqheTekkNEYb3u0fpp1H4+Qnxz3dmg= +github.com/CoreumFoundation/coreum/v3 v3.0.0-20231102084816-3f621c7b16c0 h1:sdGWjXOq6U7VgM/4D/Ni9VdEAfp5+OxJqQFvoLFCrps= +github.com/CoreumFoundation/coreum/v3 v3.0.0-20231102084816-3f621c7b16c0/go.mod h1:JD6ogmhLUI+v9QJfuLT/Qyyrfugo7Cg76Pys/KehbwY= +github.com/CosmWasm/wasmd v0.41.0 h1:fmwxSbwb50zZDcBaayYFRLIaSFca+EFld1WOaQi49jg= +github.com/CosmWasm/wasmd v0.41.0/go.mod h1:0Sds1q2IsPaTN1gHa3BNOYcUFgtGvxH7CXEXPgoihns= +github.com/CosmWasm/wasmvm v1.3.0 h1:x12X4bKlUPS7TT9QQP45+fJo2sp30GEbiSSgb9jsec8= +github.com/CosmWasm/wasmvm v1.3.0/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.5.0 h1:+K/VEwIAaPcHiMtQvpLD4lqW7f0Gk3xdYZmI1hD+CXo= -github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -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/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0 h1:3ZBs7LAezy8gh0uECsA6CGU43FF3zsx5f4eah5FxTMA= +github.com/GaijinEntertainment/go-exhaustruct/v3 v3.1.0/go.mod h1:rZLTje5A9kFBe0pzhpe2TdhRniBF++PRHQuRpR8esVc= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= +github.com/OpenPeeDeeP/depguard/v2 v2.1.0 h1:aQl70G173h/GZYhWf36aE5H0KaujXfVMnn/f1kSDVYY= +github.com/OpenPeeDeeP/depguard/v2 v2.1.0/go.mod h1:PUBgk35fX4i7JDmwzlJwJ+GMe6NfO1723wmJMgPThNQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= -github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= -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/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= 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= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/alexkohler/nakedret/v2 v2.0.2 h1:qnXuZNvv3/AxkAb22q/sEsEpcA99YxLFACDtEw9TPxE= +github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ= +github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= +github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= +github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -123,271 +481,257 @@ github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJ github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY= +github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= +github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= +github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= +github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= -github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= -github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= -github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= -github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd v0.22.2 h1:vBZ+lGGd1XubpOWO67ITJpAEsICWhA0YzqkcpkgNBfo= -github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +github.com/bkielbasa/cyclop v1.2.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY= +github.com/bkielbasa/cyclop v1.2.1/go.mod h1:K/dT/M0FPAiYjBgQGau7tz+3TMh4FWAEqlMhzFWCrgM= +github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= +github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= +github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aNU= +github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo= +github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8= +github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s= +github.com/breml/errchkjson v0.3.1 h1:hlIeXuspTyt8Y/UmP5qy1JocGNR00KQHgfaNtRAjoxQ= +github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/butuzov/ireturn v0.2.0 h1:kCHi+YzC150GE98WFuZQu9yrTn6GEydO2AuPLbTgnO4= +github.com/butuzov/ireturn v0.2.0/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI= +github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/ccojocar/zxcvbn-go v1.0.1 h1:+sxrANSCj6CdadkcMnvde/GWU1vZiiXRbqYSCalV4/4= +github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4= +github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ= +github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 h1:W9o46d2kbNL06lq7UNDPV0zYLzkrde/bjIqO02eoll0= +github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= -github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= -github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= -github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= -github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= +github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= -github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= -github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= -github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= -github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= -github.com/cometbft/cometbft v0.34.27 h1:ri6BvmwjWR0gurYjywcBqRe4bbwc3QVs9KRcCzgh/J0= -github.com/cometbft/cometbft v0.34.27/go.mod h1:BcCbhKv7ieM0KEddnYXvQZR+pZykTKReJJYf7YC7qhw= -github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= +github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= +github.com/cometbft/cometbft v0.37.2 h1:XB0yyHGT0lwmJlFmM4+rsRnczPlHoAKFX6K8Zgc2/Jc= +github.com/cometbft/cometbft v0.37.2/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= +github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= -github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= -github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= -github.com/consensys/gnark-crypto v0.5.3/go.mod h1:hOdPlWQV1gDLp7faZVeg8Y0iEPFaOUnCc4XeCCk96p0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.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/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= -github.com/cosmos/cosmos-proto v1.0.0-beta.1 h1:iDL5qh++NoXxG8hSy93FdYJut4XfgbShIocllGaXx/0= -github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= -github.com/cosmos/cosmos-sdk v0.45.16 h1:5ba/Bh5/LE55IwHQuCU4fiG4eXeDKtSWzehXRpaKDcw= -github.com/cosmos/cosmos-sdk v0.45.16/go.mod h1:bScuNwWAP0TZJpUf+SHXRU3xGoUPp+X9nAzfeIXts40= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= +github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= +github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= +github.com/cosmos/cosmos-sdk v0.47.2 h1:9rSriCoiJD+4F+tEDobyM8V7HF5BtY5Ef4VYNig96s0= +github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= -github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.5 h1:rGA3hOrgNxgRM5wYcSCxgQBap7fW82WZgY78V9po/iY= -github.com/cosmos/iavl v0.19.5/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v4 v4.3.1 h1:xbg0CaCdxK3lvgGvSaI91ROOLd7s30UqEcexH6Ba4Ys= -github.com/cosmos/ibc-go/v4 v4.3.1/go.mod h1:89E+K9CxpkS/etLEcG026jPM/RSnVMcfesvRYp/0aKI= -github.com/cosmos/interchain-accounts v0.2.4 h1:7UrroFQsCRSp17980mk6anx4YteveIJVkU+a0wlsHQI= +github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ4= +github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= +github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= +github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= +github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= +github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.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/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= +github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= -github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= -github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= +github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= +github.com/daixiang0/gci v0.11.0 h1:XeQbFKkCRxvVyn06EOuNY6LPGBLVuB/W130c8FrnX6A= +github.com/daixiang0/gci v0.11.0/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= 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/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= -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= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= -github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= +github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= +github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.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-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/distribution v2.8.2-beta.1+incompatible h1:gILO60VLD2v28ozemv4aAwDb8ds5U2O/vD/sBXbd7Rw= -github.com/docker/distribution v2.8.2-beta.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= -github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= 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/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/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/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= -github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= -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/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= +github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= +github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= +github.com/forbole/juno/v5 v5.2.0 h1:NEaUReU723OfArHpcDjTofsgxAiAMtwsa6ZPvQYUiVc= +github.com/forbole/juno/v5 v5.2.0/go.mod h1:wl9jxyKnDx6rElBkc6Zn8i9DInBpMwMeoX6Kxkp71KM= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/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/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= -github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= -github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= -github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= +github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= +github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/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.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= -github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= -github.com/go-co-op/gocron v1.13.0 h1:BjkuNImPy5NuIPEifhWItFG7pYyr27cyjS6BN9w/D4c= -github.com/go-co-op/gocron v1.13.0/go.mod h1:GD5EIEly1YNW+LovFVx5dzbYVcIc8544K99D8UVRpGo= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-co-op/gocron v1.35.0 h1:niC91OHiSEimXgPPay02AI1gLGL4JGBgDzmWtgZ8n5A= +github.com/go-co-op/gocron v1.35.0/go.mod h1:NLi+bkm4rRSy1F8U7iacZOz0xPseMoIOnvabGoSe/no= +github.com/go-critic/go-critic v0.9.0 h1:Pmys9qvU3pSML/3GEQ2Xd9RZ/ip+aXHKILuxczKGV/U= +github.com/go-critic/go-critic v0.9.0/go.mod h1:5P8tdXL7m/6qnyG6oRAlYLORvoXH0WDypYgAEmagT40= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gorp/gorp v2.0.0+incompatible h1:dIQPsBtl6/H1MjVseWuWPXa7ET4p6Dve4j3Hg+UjqYw= -github.com/go-gorp/gorp v2.0.0+incompatible/go.mod h1:7IfkAQnO7jfT/9IQ3R9wL1dFhukN6aQxzKTHnkxzA/E= +github.com/go-gorp/gorp v2.2.0+incompatible h1:xAUh4QgEeqPPhK3vxZN+bzrim1z5Av6q837gtjUlshc= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.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= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-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-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= @@ -395,12 +739,33 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8= +github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= +github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s= +github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw= +github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astequal v1.1.0 h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw= +github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ= +github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco= +github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4= +github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA= +github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= +github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk= +github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw= +github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= +github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= +github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= +github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= +github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= @@ -411,31 +776,38 @@ github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= -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/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= -github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.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= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -452,6 +824,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -459,13 +832,30 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= -github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= +github.com/golangci/golangci-lint v1.54.2 h1:oR9zxfWYxt7hFqk6+fw6Enr+E7F0SN2nqHhJYyIb0yo= +github.com/golangci/golangci-lint v1.54.2/go.mod h1:vnsaCTPKCI2wreL9tv7RkHDwUrz3htLjed6+6UsvcwU= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.4.1 h1:+y73iSicVy2PqyX7kmUefHusENlrP9YwuHZHPLGQj/g= +github.com/golangci/misspell v0.4.1/go.mod h1:9mAN1quEo3DlpbaIKKyEvRxK1pwqR9s/Sea1bJCtlNI= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= +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/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= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -474,18 +864,24 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -498,16 +894,43 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 h1:mrEEilTAUmaAORhssPPkxj84TsHrPMLBGW2Z4SoTxm8= +github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -516,21 +939,30 @@ 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/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= +github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= +github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= +github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= +github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= +github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= +github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= +github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= +github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -541,22 +973,33 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -569,49 +1012,41 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/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/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= +github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= -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/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= -github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= -github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= -github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= -github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= -github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= -github.com/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/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= -github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= -github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= -github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c h1:XImQJfpJLmGEEd8ll5yPVyL/aEvmgGHW4WYTyNseLOM= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU= +github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= +github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= +github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= +github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= @@ -619,7 +1054,6 @@ github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -630,42 +1064,26 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= 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/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= -github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= -github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= -github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= -github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= -github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= -github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= -github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= -github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= +github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= +github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8= +github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +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.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -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.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8= +github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= -github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +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/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -679,64 +1097,69 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= -github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= -github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= +github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.8 h1:Ul2KsqtzFxTlSU7IP0JusWlLiNqQaloB9vguyjbE558= +github.com/kunwardeep/paralleltest v1.0.8/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY= +github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ= +github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA= +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.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSioo= +github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt8ivzU= +github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/linxGnu/grocksdb v1.7.10 h1:dz7RY7GnFUA+GJO6jodyxgkUeGMEkPp3ikt9hAcNGEw= -github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= -github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= +github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= +github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= +github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= +github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= +github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= +github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04= +github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc= +github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 h1:gWg6ZQ4JhDfJPqlo2srm/LN17lpybq15AryXIRcWYLE= +github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +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.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.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.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= +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.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.9 h1:10HX2Td0ocZpYEjhilsuo6WWtUqttj2Kb0KtD86/KYA= -github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= +github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions 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/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/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= -github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= +github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mgechev/revive v1.3.2 h1:Wb8NQKBaALBJ3xrrj4zpwJwqwNA6nDpyJSEQWcCka6U= +github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= @@ -745,17 +1168,17 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -763,96 +1186,101 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA= +github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= +github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.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= -github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nishanths/exhaustive v0.11.0 h1:T3I8nUGhl/Cwu5Z2hfc92l0e04D2GEW6e0l8pzda2l0= +github.com/nishanths/exhaustive v0.11.0/go.mod h1:RqwDsZ1xY0dNdqHho2z6X+bgzizwbLYOWnZbbl2wLB4= +github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= +github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= +github.com/nunnatsa/ginkgolinter v0.13.5 h1:fOsPB4CEZOPkyMqF4B9hoqOpooFWU7vWSVkCSscVpgU= +github.com/nunnatsa/ginkgolinter v0.13.5/go.mod h1:OBHy4536xtuX3102NM63XRtOyxqZOO02chsaeDWXVO8= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.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/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= -github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= +github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= +github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= +github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= +github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= +github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= -github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polyfloyd/go-errorlint v1.4.4 h1:A9gytp+p6TYqeALTYRoxJESYP8wJRETRX2xzGWFsEBU= +github.com/polyfloyd/go-errorlint v1.4.4/go.mod h1:ry5NqF7l9Q77V+XqAfUg1zfryrEtyac3G5+WVpIK0xU= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -862,28 +1290,26 @@ 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.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= +github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 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/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM= +github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/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= @@ -892,23 +1318,23 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/proullon/ramsql v0.0.0-20181213202341-817cee58a244 h1:fdX2U+a2Rmc4BjRYcOKzjYXtYTE4ga1B2lb8i7BlefU= -github.com/proullon/ramsql v0.0.0-20181213202341-817cee58a244/go.mod h1:jG8oAQG0ZPHPyxg5QlMERS31airDC+ZuqiAe8DUvFVo= +github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= +github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= +github.com/proullon/ramsql v0.1.2 h1:PTtsy2iml/CW3Lsopyr86dlIs7JyYEmfLrfYvQVXD2U= +github.com/proullon/ramsql v0.1.2/go.mod h1:CFGqeQHQpdRfWqYmWD3yXqPTEaHkF4zgXy1C6qDWc9E= +github.com/quasilyte/go-ruleguard v0.4.0 h1:DyM6r+TKL+xbKB4Nm7Afd1IQh9kEUKQs2pboWGKtvQo= +github.com/quasilyte/go-ruleguard v0.4.0/go.mod h1:Eu76Z/R8IXtViWUIHkE3p8gdH3/PKk1eh3YGfaEof10= +github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo= +github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= +github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU= +github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= -github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= -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/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -916,56 +1342,78 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -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/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= +github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw= +github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= +github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= +github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= 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/samber/lo v1.35.0 h1:GlT8CV1GE+v97Y7MLF1wXvX6mjoxZ+hi61tj/ZcQwY0= -github.com/samber/lo v1.35.0/go.mod h1:HLeWcJRRyLKp3+/XBJvOrerCQn9mhdKMHyd7IRlgeQ8= +github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM= +github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc= +github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= +github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= +github.com/sashamelentyev/usestdlibvars v1.24.0 h1:MKNzmXtGh5N0y74Z/CIaJh4GlB364l0K1RUT08WSWAc= +github.com/sashamelentyev/usestdlibvars v1.24.0/go.mod h1:9cYkq+gYJ+a5W2RPdhfaSCnTVUC1OQP/bSiiBhq3OZE= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/securego/gosec/v2 v2.17.0 h1:ZpAStTDKY39insEG9OH6kV3IkhQZPTq9a9eGOLOjcdI= +github.com/securego/gosec/v2 v2.17.0/go.mod h1:lt+mgC91VSmriVoJLentrMkRCYs+HLTBnUFUBuhV2hc= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE= +github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= +github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak= +github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= +github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= +github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/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= @@ -974,9 +1422,12 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= +github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= +github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -985,7 +1436,6 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -993,77 +1443,84 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8= +github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk= +github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM= +github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= -github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= -github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= -github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= -github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= -github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= -github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= -github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +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.14 h1:ScO641OHpf9UpHPk8fCknSuXNMpi4iFlwuWoBs3L+1s= +github.com/tetafro/godot v1.4.14/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M= +github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= +github.com/timonwong/loggercheck v0.9.4 h1:HKKhqrjcVj8sxL7K77beXh0adEm6DLjV/QOGeMXEVi4= +github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= +github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ= +github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE= +github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= +github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= github.com/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= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI= +github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4= +github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= +github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -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/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -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/uudashr/gocognit v1.0.7 h1:e9aFXgKgUJrQ5+bs61zBigmj7bFJ/5cC6HmMahVzuDo= +github.com/uudashr/gocognit v1.0.7/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= +github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw= +github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -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/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= +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/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= +github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= +github.com/ykadowak/zerologlint v0.1.3 h1:TLy1dTW3Nuc+YE3bYRPToG1Q9Ej78b5UUN6bjbGdxPE= +github.com/ykadowak/zerologlint v0.1.3/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +gitlab.com/bosi/decorder v0.4.0 h1:HWuxAhSxIvsITcXeP+iIRg9d1cVfvVkmlF7M68GaoDY= +gitlab.com/bosi/decorder v0.4.0/go.mod h1:xarnteyUoJiOTEldDysquWKTVDCKo2TOIOIibSuWqOg= +go-simpler.org/assert v0.6.0 h1:QxSrXa4oRuo/1eHMXSBFHKvJIpWABayzKldqZyugG7E= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -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.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1073,45 +1530,51 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.tmz.dev/musttag v0.7.2 h1:1J6S9ipDbalBSODNT5jCep8dhZyMr4ttnjQagmGYR5s= +go.tmz.dev/musttag v0.7.2/go.mod h1:m6q5NiiSKMnQYokefa2xGoyoXnrswCbJ0AWYzf4Zs28= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -1122,12 +1585,16 @@ 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-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf h1:nFVjjKDgNY37+ZSYCJmtYf7tOlfQswHqplG2eosjOMg= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw= +golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833 h1:jWGQJV4niP+CCmFW9ekjA9Zx8vYORzOUH2/Nl5WPuLQ= +golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -1150,9 +1617,17 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1162,7 +1637,6 @@ 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= @@ -1172,7 +1646,6 @@ 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-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1188,26 +1661,43 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +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.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= 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= @@ -1217,8 +1707,26 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1230,9 +1738,14 @@ 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.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1242,7 +1755,6 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1252,7 +1764,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1263,7 +1774,6 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1277,52 +1787,82 @@ golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= 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= @@ -1332,23 +1872,30 @@ 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.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1357,10 +1904,12 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1369,7 +1918,6 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1380,39 +1928,56 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= +golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +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.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= +golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1433,14 +1998,49 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/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-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1448,7 +2048,6 @@ google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1456,7 +2055,6 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= @@ -1465,7 +2063,6 @@ google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1484,16 +2081,136 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e h1:Ao9GzfUMPH3zjVfzXG5rlWlk+Q8MXWKwWpwVQE1MXfw= -google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1:kVKPf/IiYSBWEWtkIn6wZXwWGCnLKcC8oWfZvXjsGnM= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e h1:S83+ibolgyZ0bqz7KEsUOPErxcv4VzlszxY+31OfB/E= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= +google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1506,32 +2223,29 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/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.51.1/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= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1543,14 +2257,15 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= +gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1558,14 +2273,25 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= +honnef.co/go/tools v0.4.5 h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo= +honnef.co/go/tools v0.4.5/go.mod h1:GUV+uIBCLpdf0/v6UhHHG/yzI/z6qPskBeQCjcNB96k= +mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= +mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQOxksVMGK7sml4nG57w= +mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/hasura/metadata/databases/bdjuno/tables/public_account.yaml b/hasura/metadata/databases/bdjuno/tables/public_account.yaml index f3954d25c..a4ccc1e35 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_account.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_account.yaml @@ -49,8 +49,9 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - address filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_from_genesis.yaml b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_from_genesis.yaml index ba555d57b..8624aa1fe 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_from_genesis.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_from_genesis.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - average_time - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_day.yaml b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_day.yaml index 26fe01b50..c3c9ccbcf 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_day.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_day.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - average_time - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_hour.yaml b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_hour.yaml index 75a957db9..640c64115 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_hour.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_hour.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - average_time - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_minute.yaml b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_minute.yaml index 465f6454a..cdb7dae58 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_minute.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_average_block_time_per_minute.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - average_time - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_block.yaml b/hasura/metadata/databases/bdjuno/tables/public_block.yaml index 5c3f15fc2..cfcf1258a 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_block.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_block.yaml @@ -51,7 +51,7 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - num_txs - height @@ -60,4 +60,5 @@ select_permissions: - proposer_address - timestamp filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_community_pool.yaml b/hasura/metadata/databases/bdjuno/tables/public_community_pool.yaml index 21006960d..ca90c6278 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_community_pool.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_community_pool.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - coins - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_distribution_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_distribution_params.yaml index ca0ecf723..fda0c9ca6 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_distribution_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_distribution_params.yaml @@ -3,10 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - one_row_id - params - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_double_sign_evidence.yaml b/hasura/metadata/databases/bdjuno/tables/public_double_sign_evidence.yaml index 009da39c3..5bf4acf75 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_double_sign_evidence.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_double_sign_evidence.yaml @@ -10,18 +10,11 @@ object_relationships: foreign_key_constraint_on: vote_b_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - height - vote_a_id - vote_b_id filter: {} + limit: 100 role: anonymous -- permission: - allow_aggregations: true - columns: - - height - - vote_a_id - - vote_b_id - filter: {} - role: client diff --git a/hasura/metadata/databases/bdjuno/tables/public_double_sign_vote.yaml b/hasura/metadata/databases/bdjuno/tables/public_double_sign_vote.yaml index 03f6217a7..658055f11 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_double_sign_vote.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_double_sign_vote.yaml @@ -22,9 +22,8 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - id - type - height - round @@ -33,17 +32,5 @@ select_permissions: - validator_index - signature filter: {} + limit: 100 role: anonymous -- permission: - allow_aggregations: true - columns: - - id - - type - - height - - round - - block_id - - validator_address - - validator_index - - signature - filter: {} - role: client diff --git a/hasura/metadata/databases/bdjuno/tables/public_fee_grant_allowance.yaml b/hasura/metadata/databases/bdjuno/tables/public_fee_grant_allowance.yaml index dc3ef472c..8b5359bc8 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_fee_grant_allowance.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_fee_grant_allowance.yaml @@ -10,12 +10,12 @@ object_relationships: foreign_key_constraint_on: granter_address select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - id - grantee_address - granter_address - allowance - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_genesis.yaml b/hasura/metadata/databases/bdjuno/tables/public_genesis.yaml index c51e829af..73b0c7014 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_genesis.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_genesis.yaml @@ -3,18 +3,11 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - chain_id - initial_height - time filter: {} - role: anonymous -- permission: - allow_aggregations: true - columns: - - chain_id - - one_row_id - - time - filter: {} - role: client + limit: 1 + role: anonymous \ No newline at end of file diff --git a/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml index 358c3e92d..00078ded3 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_gov_params.yaml @@ -3,12 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - one_row_id - - deposit_params - - voting_params - - tally_params + - params - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_inflation.yaml b/hasura/metadata/databases/bdjuno/tables/public_inflation.yaml index 2a348c863..b83e4f86d 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_inflation.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_inflation.yaml @@ -3,15 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - value - height filter: {} + limit: 1 role: anonymous -- permission: - allow_aggregations: true - columns: - - height - filter: {} - role: client diff --git a/hasura/metadata/databases/bdjuno/tables/public_message.yaml b/hasura/metadata/databases/bdjuno/tables/public_message.yaml index aa572e712..fe6a4c31a 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_message.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_message.yaml @@ -13,14 +13,14 @@ object_relationships: transaction_hash: hash select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - transaction_hash - index - type - value - involved_accounts_addresses - - partition_id - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_mint_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_mint_params.yaml index 948bcdc19..ee302f719 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_mint_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_mint_params.yaml @@ -3,10 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - one_row_id - params - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_modules.yaml b/hasura/metadata/databases/bdjuno/tables/public_modules.yaml index 6ebde2ec2..1f5ec1e24 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_modules.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_modules.yaml @@ -3,8 +3,9 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - module_name filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_pre_commit.yaml b/hasura/metadata/databases/bdjuno/tables/public_pre_commit.yaml index e97a6db73..886d56e38 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_pre_commit.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_pre_commit.yaml @@ -15,14 +15,5 @@ select_permissions: - voting_power - proposer_priority filter: {} - role: anonymous -- permission: - allow_aggregations: true - columns: - - validator_address - - height - - timestamp - - voting_power - - proposer_priority - filter: {} - role: client + limit: 100 + role: anonymous \ No newline at end of file diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml index aeaa47b29..d7e13dbad 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal.yaml @@ -58,8 +58,6 @@ select_permissions: columns: - title - description - - proposal_route - - proposal_type - id - submit_time - deposit_end_time @@ -67,6 +65,8 @@ select_permissions: - voting_end_time - proposer_address - status + - metadata - content filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_deposit.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_deposit.yaml index 7c480ff89..01e208c16 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_deposit.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_deposit.yaml @@ -19,11 +19,13 @@ object_relationships: foreign_key_constraint_on: proposal_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - proposal_id - depositor_address - amount + - timestamp - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_staking_pool_snapshot.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_staking_pool_snapshot.yaml index 3f03cced1..6c9fe014f 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_staking_pool_snapshot.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_staking_pool_snapshot.yaml @@ -7,11 +7,12 @@ object_relationships: foreign_key_constraint_on: proposal_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - proposal_id - bonded_tokens - not_bonded_tokens - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_tally_result.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_tally_result.yaml index e2e21c5f0..451d91e07 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_tally_result.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_tally_result.yaml @@ -7,7 +7,7 @@ object_relationships: foreign_key_constraint_on: proposal_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - proposal_id - yes @@ -16,4 +16,5 @@ select_permissions: - no_with_veto - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_validator_status_snapshot.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_validator_status_snapshot.yaml index 769e27f3f..6869f9a36 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_validator_status_snapshot.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_validator_status_snapshot.yaml @@ -10,9 +10,8 @@ object_relationships: foreign_key_constraint_on: validator_address select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - id - proposal_id - validator_address - voting_power @@ -20,4 +19,5 @@ select_permissions: - jailed - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml b/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml index 30b70e033..7b889106d 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_proposal_vote.yaml @@ -7,17 +7,26 @@ object_relationships: foreign_key_constraint_on: voter_address - name: block using: - foreign_key_constraint_on: height + manual_configuration: + column_mapping: + height: height + insertion_order: null + remote_table: + name: block + schema: public - name: proposal using: foreign_key_constraint_on: proposal_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - proposal_id - voter_address - option + - weight + - timestamp - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_slashing_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_slashing_params.yaml index 4969d9e28..912e8fc66 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_slashing_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_slashing_params.yaml @@ -3,10 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - one_row_id - params - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_software_upgrade_plan.yaml b/hasura/metadata/databases/bdjuno/tables/public_software_upgrade_plan.yaml new file mode 100644 index 000000000..d7ab38f50 --- /dev/null +++ b/hasura/metadata/databases/bdjuno/tables/public_software_upgrade_plan.yaml @@ -0,0 +1,18 @@ +table: + name: software_upgrade_plan + schema: public +object_relationships: +- name: proposal + using: + foreign_key_constraint_on: proposal_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - proposal_id + - plan_name + - upgrade_height + - info + - height + filter: {} + role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_staking_params.yaml b/hasura/metadata/databases/bdjuno/tables/public_staking_params.yaml index be4455520..2cb4e10c7 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_staking_params.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_staking_params.yaml @@ -3,10 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - one_row_id - params - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_staking_pool.yaml b/hasura/metadata/databases/bdjuno/tables/public_staking_pool.yaml index b2dfa5e66..2c4ef61e5 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_staking_pool.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_staking_pool.yaml @@ -3,10 +3,13 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - height - bonded_tokens - not_bonded_tokens + - unbonding_tokens + - staked_not_bonded_tokens filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_supply.yaml b/hasura/metadata/databases/bdjuno/tables/public_supply.yaml index 7e748d713..8f278c980 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_supply.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_supply.yaml @@ -3,9 +3,10 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - coins - height filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_token.yaml b/hasura/metadata/databases/bdjuno/tables/public_token.yaml index efb055e4f..e1b4a746a 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_token.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_token.yaml @@ -11,8 +11,9 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - name filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_token_price.yaml b/hasura/metadata/databases/bdjuno/tables/public_token_price.yaml index e28c7abbe..7c2a1fa0b 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_token_price.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_token_price.yaml @@ -7,12 +7,12 @@ object_relationships: foreign_key_constraint_on: unit_name select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - id - unit_name - price - market_cap - timestamp filter: {} + limit: 1 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_token_price_history.yaml b/hasura/metadata/databases/bdjuno/tables/public_token_price_history.yaml index 45a771365..809f0a170 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_token_price_history.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_token_price_history.yaml @@ -7,11 +7,12 @@ object_relationships: foreign_key_constraint_on: unit_name select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - market_cap - price - timestamp - unit_name filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_token_unit.yaml b/hasura/metadata/databases/bdjuno/tables/public_token_unit.yaml index 6b11f8186..cd30c03f4 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_token_unit.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_token_unit.yaml @@ -31,7 +31,7 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - aliases - denom @@ -39,4 +39,5 @@ select_permissions: - price_id - token_name filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_transaction.yaml b/hasura/metadata/databases/bdjuno/tables/public_transaction.yaml index 8cd83c738..df1e20fe1 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_transaction.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_transaction.yaml @@ -7,7 +7,7 @@ object_relationships: foreign_key_constraint_on: height select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - hash - height @@ -21,6 +21,6 @@ select_permissions: - gas_used - raw_log - logs - - partition_id filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator.yaml index a2fbf8116..b4eac1c63 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator.yaml @@ -95,9 +95,10 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - consensus_address - consensus_pubkey filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_commission.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_commission.yaml index bbe8d3a6c..17a916133 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_commission.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_commission.yaml @@ -7,11 +7,12 @@ object_relationships: foreign_key_constraint_on: validator_address select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - validator_address - commission - min_self_delegation - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_description.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_description.yaml index 3edb4f67c..ca95d9400 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_description.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_description.yaml @@ -7,7 +7,7 @@ object_relationships: foreign_key_constraint_on: validator_address select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - validator_address - moniker @@ -18,4 +18,5 @@ select_permissions: - height - avatar_url filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_info.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_info.yaml index fb8d8b4e2..0979040eb 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_info.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_info.yaml @@ -10,7 +10,7 @@ object_relationships: foreign_key_constraint_on: consensus_address select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - consensus_address - operator_address @@ -18,4 +18,5 @@ select_permissions: - max_change_rate - max_rate filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_signing_info.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_signing_info.yaml index dba8155f3..8040e8a26 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_signing_info.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_signing_info.yaml @@ -3,7 +3,7 @@ table: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - validator_address - start_height @@ -13,4 +13,5 @@ select_permissions: - missed_blocks_counter - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_status.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_status.yaml index 1e983d9a7..32f212d54 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_status.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_status.yaml @@ -12,7 +12,7 @@ select_permissions: - validator_address - status - jailed - - tombstoned - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_validator_voting_power.yaml b/hasura/metadata/databases/bdjuno/tables/public_validator_voting_power.yaml index 6710ad5c4..fc5f76302 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_validator_voting_power.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_validator_voting_power.yaml @@ -16,4 +16,5 @@ select_permissions: - voting_power - height filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_vesting_account.yaml b/hasura/metadata/databases/bdjuno/tables/public_vesting_account.yaml index 1b095315f..aba91ce74 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_vesting_account.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_vesting_account.yaml @@ -15,13 +15,13 @@ array_relationships: schema: public select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - id - type - address - original_vesting - end_time - start_time filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/public_vesting_period.yaml b/hasura/metadata/databases/bdjuno/tables/public_vesting_period.yaml index dc4de32cf..f56da44ac 100644 --- a/hasura/metadata/databases/bdjuno/tables/public_vesting_period.yaml +++ b/hasura/metadata/databases/bdjuno/tables/public_vesting_period.yaml @@ -7,11 +7,11 @@ object_relationships: foreign_key_constraint_on: vesting_account_id select_permissions: - permission: - allow_aggregations: true + allow_aggregations: false columns: - - vesting_account_id - period_order - length - amount filter: {} + limit: 100 role: anonymous diff --git a/hasura/metadata/databases/bdjuno/tables/tables.yaml b/hasura/metadata/databases/bdjuno/tables/tables.yaml index b26f5a7d9..8b6ec5005 100644 --- a/hasura/metadata/databases/bdjuno/tables/tables.yaml +++ b/hasura/metadata/databases/bdjuno/tables/tables.yaml @@ -23,6 +23,7 @@ - "!include public_proposal_validator_status_snapshot.yaml" - "!include public_proposal_vote.yaml" - "!include public_slashing_params.yaml" +- "!include public_software_upgrade_plan.yaml" - "!include public_staking_params.yaml" - "!include public_staking_pool.yaml" - "!include public_supply.yaml" diff --git a/modules/actions/config.go b/modules/actions/config.go index 928876c94..1ba56a2a0 100644 --- a/modules/actions/config.go +++ b/modules/actions/config.go @@ -1,27 +1,30 @@ package actions import ( - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" "gopkg.in/yaml.v3" ) // Config contains the configuration about the actions module type Config struct { + Host string `yaml:"host"` Port uint `yaml:"port"` Node *remote.Details `yaml:"node,omitempty"` } // NewConfig returns a new Config instance -func NewConfig(port uint, remoteDetails *remote.Details) *Config { +func NewConfig(host string, port uint, remoteDetails *remote.Details) *Config { return &Config{ + Host: host, Port: port, Node: remoteDetails, } } // DefaultConfig returns the default configuration -func DefaultConfig() Config { - return Config{ +func DefaultConfig() *Config { + return &Config{ + Host: "127.0.0.1", Port: 3000, Node: nil, } @@ -33,5 +36,10 @@ func ParseConfig(bz []byte) (*Config, error) { } var cfg T err := yaml.Unmarshal(bz, &cfg) + + if cfg.Config == nil { + return DefaultConfig(), nil + } + return cfg.Config, err } diff --git a/modules/actions/handle_additional_operations.go b/modules/actions/handle_additional_operations.go index 4b5327888..e555de208 100644 --- a/modules/actions/handle_additional_operations.go +++ b/modules/actions/handle_additional_operations.go @@ -6,8 +6,8 @@ import ( "sync" "syscall" - "github.com/forbole/bdjuno/v3/modules/actions/handlers" - actionstypes "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/handlers" + actionstypes "github.com/forbole/bdjuno/v4/modules/actions/types" ) var ( @@ -46,7 +46,7 @@ func (m *Module) RunAdditionalOperations() error { // Start the worker waitGroup.Add(1) - go worker.Start(m.cfg.Port) + go worker.Start(m.cfg.Host, m.cfg.Port) // Block main process (signal capture will call WaitGroup's Done) waitGroup.Wait() diff --git a/modules/actions/handlers/account_balance.go b/modules/actions/handlers/account_balance.go index ed572a748..8aa693ad4 100644 --- a/modules/actions/handlers/account_balance.go +++ b/modules/actions/handlers/account_balance.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/delegation.go b/modules/actions/handlers/delegation.go index 20513a012..c0f7d98f9 100644 --- a/modules/actions/handlers/delegation.go +++ b/modules/actions/handlers/delegation.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "google.golang.org/grpc/codes" diff --git a/modules/actions/handlers/delegation_total.go b/modules/actions/handlers/delegation_total.go index 091c5fad4..b6d81083b 100644 --- a/modules/actions/handlers/delegation_total.go +++ b/modules/actions/handlers/delegation_total.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/delegator_reward.go b/modules/actions/handlers/delegator_reward.go index 7039e0882..0eb29f16e 100644 --- a/modules/actions/handlers/delegator_reward.go +++ b/modules/actions/handlers/delegator_reward.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/delegator_withdraw_address.go b/modules/actions/handlers/delegator_withdraw_address.go index 516cff0d3..92debf01e 100644 --- a/modules/actions/handlers/delegator_withdraw_address.go +++ b/modules/actions/handlers/delegator_withdraw_address.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/redelegation.go b/modules/actions/handlers/redelegation.go index 891d9f562..5334ca3a5 100644 --- a/modules/actions/handlers/redelegation.go +++ b/modules/actions/handlers/redelegation.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/unbonding_delegation_total.go b/modules/actions/handlers/unbonding_delegation_total.go index d61f3bca4..6f79fdd32 100644 --- a/modules/actions/handlers/unbonding_delegation_total.go +++ b/modules/actions/handlers/unbonding_delegation_total.go @@ -4,7 +4,7 @@ import ( "fmt" "math/big" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/unbonding_delegations.go b/modules/actions/handlers/unbonding_delegations.go index 1764759a6..bdd227609 100644 --- a/modules/actions/handlers/unbonding_delegations.go +++ b/modules/actions/handlers/unbonding_delegations.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/validator_commission.go b/modules/actions/handlers/validator_commission.go index 86340bf30..7a1ece22b 100644 --- a/modules/actions/handlers/validator_commission.go +++ b/modules/actions/handlers/validator_commission.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/handlers/validator_delegation.go b/modules/actions/handlers/validator_delegation.go index 344826588..bb3598c88 100644 --- a/modules/actions/handlers/validator_delegation.go +++ b/modules/actions/handlers/validator_delegation.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/validator_redelegations_from.go b/modules/actions/handlers/validator_redelegations_from.go index c51708230..d04f8608e 100644 --- a/modules/actions/handlers/validator_redelegations_from.go +++ b/modules/actions/handlers/validator_redelegations_from.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/rs/zerolog/log" diff --git a/modules/actions/handlers/validator_unbonding_delegations.go b/modules/actions/handlers/validator_unbonding_delegations.go index 161afc4d6..be6258655 100644 --- a/modules/actions/handlers/validator_unbonding_delegations.go +++ b/modules/actions/handlers/validator_unbonding_delegations.go @@ -3,7 +3,7 @@ package handlers import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/types" + "github.com/forbole/bdjuno/v4/modules/actions/types" "github.com/rs/zerolog/log" ) diff --git a/modules/actions/module.go b/modules/actions/module.go index a7c40ee02..b6e446938 100644 --- a/modules/actions/module.go +++ b/modules/actions/module.go @@ -1,14 +1,14 @@ package actions import ( - "github.com/cosmos/cosmos-sdk/simapp/params" - "github.com/forbole/juno/v3/modules" - "github.com/forbole/juno/v3/node" - "github.com/forbole/juno/v3/node/builder" - nodeconfig "github.com/forbole/juno/v3/node/config" - "github.com/forbole/juno/v3/types/config" + "cosmossdk.io/simapp/params" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/node" + "github.com/forbole/juno/v5/node/builder" + nodeconfig "github.com/forbole/juno/v5/node/config" + "github.com/forbole/juno/v5/types/config" - modulestypes "github.com/forbole/bdjuno/v3/modules/types" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" ) const ( diff --git a/modules/actions/types/handler.go b/modules/actions/types/handler.go index f233a2d4c..a57c8d332 100644 --- a/modules/actions/types/handler.go +++ b/modules/actions/types/handler.go @@ -3,9 +3,9 @@ package types import ( "fmt" - "github.com/forbole/juno/v3/node" + "github.com/forbole/juno/v5/node" - modulestypes "github.com/forbole/bdjuno/v3/modules/types" + modulestypes "github.com/forbole/bdjuno/v4/modules/types" ) // Context contains the data about a Hasura actions worker execution diff --git a/modules/actions/types/response.go b/modules/actions/types/response.go index a675ac0a4..f1764ca3d 100644 --- a/modules/actions/types/response.go +++ b/modules/actions/types/response.go @@ -3,6 +3,7 @@ package types import ( "time" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" stakingtype "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -95,6 +96,6 @@ type Redelegation struct { } type RedelegationEntry struct { - CompletionTime time.Time `json:"completion_time"` - Balance sdk.Int `json:"balance"` + CompletionTime time.Time `json:"completion_time"` + Balance sdkmath.Int `json:"balance"` } diff --git a/modules/actions/types/worker.go b/modules/actions/types/worker.go index 168e73765..64bc28d49 100644 --- a/modules/actions/types/worker.go +++ b/modules/actions/types/worker.go @@ -7,7 +7,7 @@ import ( "net/http" "time" - "github.com/forbole/bdjuno/v3/modules/actions/logging" + "github.com/forbole/bdjuno/v4/modules/actions/logging" "github.com/rs/zerolog/log" ) @@ -94,8 +94,15 @@ func (w *ActionsWorker) handleError(writer http.ResponseWriter, path string, err } // Start starts the worker -func (w *ActionsWorker) Start(port uint) { - err := http.ListenAndServe(fmt.Sprintf(":%d", port), w.mux) //nolint:gosec //cosmos style +func (w *ActionsWorker) Start(host string, port uint) { + server := &http.Server{ + Addr: fmt.Sprintf("%s:%d", host, port), + Handler: w.mux, + ReadHeaderTimeout: 3 * time.Second, + } + + err := server.ListenAndServe() + if err != nil { panic(err) } diff --git a/modules/assetft/account_parser.go b/modules/assetft/account_parser.go index 65ede037f..edeaafe1d 100644 --- a/modules/assetft/account_parser.go +++ b/modules/assetft/account_parser.go @@ -1,9 +1,10 @@ package assetft import ( - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) // MessagesParser returns the list of all the accounts involved in the given diff --git a/modules/assetft/handle_genesis.go b/modules/assetft/handle_genesis.go index 02d0d7bd9..4dc9aa33a 100644 --- a/modules/assetft/handle_genesis.go +++ b/modules/assetft/handle_genesis.go @@ -4,10 +4,11 @@ import ( "encoding/json" "fmt" - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - "github.com/forbole/bdjuno/v3/types" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) // HandleGenesis implements GenesisModule diff --git a/modules/assetft/module.go b/modules/assetft/module.go index f3df0fd07..5dabf32d8 100644 --- a/modules/assetft/module.go +++ b/modules/assetft/module.go @@ -2,9 +2,9 @@ package assetft import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - assetftsource "github.com/forbole/bdjuno/v3/modules/assetft/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/bdjuno/v4/database" + assetftsource "github.com/forbole/bdjuno/v4/modules/assetft/source" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/assetft/source/remote/source.go b/modules/assetft/source/remote/source.go index 193083f6d..ac550d790 100644 --- a/modules/assetft/source/remote/source.go +++ b/modules/assetft/source/remote/source.go @@ -1,9 +1,10 @@ package remote import ( - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - assetftsource "github.com/forbole/bdjuno/v3/modules/assetft/source" - "github.com/forbole/juno/v3/node/remote" + assetftsource "github.com/forbole/bdjuno/v4/modules/assetft/source" + "github.com/forbole/juno/v5/node/remote" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) var ( diff --git a/modules/assetft/source/source.go b/modules/assetft/source/source.go index f06b08292..3acc4d8db 100644 --- a/modules/assetft/source/source.go +++ b/modules/assetft/source/source.go @@ -1,7 +1,7 @@ package source import ( - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) type Source interface { diff --git a/modules/assetft/utils_params.go b/modules/assetft/utils_params.go index 7b3e89c08..023f3325e 100644 --- a/modules/assetft/utils_params.go +++ b/modules/assetft/utils_params.go @@ -3,7 +3,7 @@ package assetft import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/assetnft/account_parser.go b/modules/assetnft/account_parser.go index fa69421c3..bbce57cb2 100644 --- a/modules/assetnft/account_parser.go +++ b/modules/assetnft/account_parser.go @@ -1,9 +1,10 @@ package assetnft import ( - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) // MessagesParser returns the list of all the accounts involved in the given diff --git a/modules/assetnft/handle_genesis.go b/modules/assetnft/handle_genesis.go index 62867269a..2ad675771 100644 --- a/modules/assetnft/handle_genesis.go +++ b/modules/assetnft/handle_genesis.go @@ -4,10 +4,11 @@ import ( "encoding/json" "fmt" - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - "github.com/forbole/bdjuno/v3/types" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" + + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) // HandleGenesis implements GenesisModule diff --git a/modules/assetnft/module.go b/modules/assetnft/module.go index d358215ec..1b5749dbe 100644 --- a/modules/assetnft/module.go +++ b/modules/assetnft/module.go @@ -2,9 +2,9 @@ package assetnft import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - assetnftsource "github.com/forbole/bdjuno/v3/modules/assetnft/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/bdjuno/v4/database" + assetnftsource "github.com/forbole/bdjuno/v4/modules/assetnft/source" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/assetnft/source/remote/source.go b/modules/assetnft/source/remote/source.go index 66246b921..4879ae8b5 100644 --- a/modules/assetnft/source/remote/source.go +++ b/modules/assetnft/source/remote/source.go @@ -1,9 +1,10 @@ package remote import ( - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - assetnftsource "github.com/forbole/bdjuno/v3/modules/assetnft/source" - "github.com/forbole/juno/v3/node/remote" + assetnftsource "github.com/forbole/bdjuno/v4/modules/assetnft/source" + "github.com/forbole/juno/v5/node/remote" + + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) var ( diff --git a/modules/assetnft/source/source.go b/modules/assetnft/source/source.go index 2af60f412..abb6ec40d 100644 --- a/modules/assetnft/source/source.go +++ b/modules/assetnft/source/source.go @@ -1,7 +1,7 @@ package source import ( - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) type Source interface { diff --git a/modules/assetnft/utils_params.go b/modules/assetnft/utils_params.go index aea95003f..b9813416f 100644 --- a/modules/assetnft/utils_params.go +++ b/modules/assetnft/utils_params.go @@ -3,7 +3,7 @@ package assetnft import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/auth/auth_accounts.go b/modules/auth/auth_accounts.go index e7fad5d43..4ad7e7244 100644 --- a/modules/auth/auth_accounts.go +++ b/modules/auth/auth_accounts.go @@ -7,7 +7,7 @@ import ( authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // GetGenesisAccounts parses the given appState and returns the genesis accounts @@ -50,6 +50,9 @@ func GetAccounts(height int64, addresses []string) []types.Account { // RefreshAccounts takes the given addresses and for each one queries the chain // retrieving the account data and stores it inside the database. func (m *Module) RefreshAccounts(height int64, addresses []string) error { + if len(addresses) == 0 { + return nil + } accounts := GetAccounts(height, addresses) return m.db.SaveAccounts(accounts) } diff --git a/modules/auth/handle_genesis.go b/modules/auth/handle_genesis.go index 78368217f..75346d050 100644 --- a/modules/auth/handle_genesis.go +++ b/modules/auth/handle_genesis.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" ) diff --git a/modules/auth/handle_msg.go b/modules/auth/handle_msg.go index 20b0d7fc4..a3605c990 100644 --- a/modules/auth/handle_msg.go +++ b/modules/auth/handle_msg.go @@ -5,17 +5,23 @@ import ( "time" sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v3/types" - "github.com/gogo/protobuf/proto" + "github.com/cosmos/cosmos-sdk/x/authz" + "github.com/cosmos/gogoproto/proto" + juno "github.com/forbole/juno/v5/types" "github.com/rs/zerolog/log" authttypes "github.com/cosmos/cosmos-sdk/x/auth/types" vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/forbole/bdjuno/v3/modules/utils" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/modules/utils" + "github.com/forbole/bdjuno/v4/types" ) +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { + return m.HandleMsg(index, executedMsg, tx) +} + // HandleMsg implements modules.MessageModule func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { addresses, err := m.messagesParser(m.cdc, msg) diff --git a/modules/auth/module.go b/modules/auth/module.go index 2d725cb2a..32bb89a99 100644 --- a/modules/auth/module.go +++ b/modules/auth/module.go @@ -3,10 +3,10 @@ package auth import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/juno/v3/modules" - "github.com/forbole/juno/v3/modules/messages" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/modules/bank/handle_periodic_operations.go b/modules/bank/handle_periodic_operations.go index b8a26dc39..1435aab3d 100644 --- a/modules/bank/handle_periodic_operations.go +++ b/modules/bank/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.Module @@ -14,7 +14,7 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { log.Debug().Str("module", "bank").Msg("setting up periodic tasks") if _, err := scheduler.Every(10).Minutes().Do(func() { - utils.WatchMethod(m.updateSupply) + utils.WatchMethod(m.UpdateSupply) }); err != nil { return fmt.Errorf("error while setting up bank periodic operation: %s", err) } @@ -22,14 +22,14 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { return nil } -// updateSupply updates the supply of all the tokens -func (m *Module) updateSupply() error { +// UpdateSupply updates the supply of all the tokens +func (m *Module) UpdateSupply() error { log.Trace().Str("module", "bank").Str("operation", "total supply"). Msg("updating total supply") - block, err := m.db.GetLastBlock() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { - return fmt.Errorf("error while getting last block: %s", err) + return fmt.Errorf("error while getting latest block height: %s", err) } supply, err := m.keeper.GetSupply(block.Height) diff --git a/modules/bank/module.go b/modules/bank/module.go index 4f8fe26d6..bf1e6c148 100644 --- a/modules/bank/module.go +++ b/modules/bank/module.go @@ -3,12 +3,12 @@ package bank import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/modules/bank/source" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/bank/source" - junomessages "github.com/forbole/juno/v3/modules/messages" + junomessages "github.com/forbole/juno/v5/modules/messages" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/bank/source/local/source.go b/modules/bank/source/local/source.go index 688b7b716..25c346a7d 100644 --- a/modules/bank/source/local/source.go +++ b/modules/bank/source/local/source.go @@ -3,13 +3,14 @@ package local import ( "fmt" + "github.com/cosmos/cosmos-sdk/types/query" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/juno/v3/node/local" + "github.com/forbole/juno/v5/node/local" - "github.com/forbole/bdjuno/v3/modules/bank/source" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/modules/bank/source" + "github.com/forbole/bdjuno/v4/types" ) var ( @@ -50,19 +51,35 @@ func (s Source) GetBalances(addresses []string, height int64) ([]types.AccountBa return balances, nil } -// GetSupply implements keeper.Source +// GetSupply implements bankkeeper.Source func (s Source) GetSupply(height int64) (sdk.Coins, error) { ctx, err := s.LoadHeight(height) if err != nil { return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.TotalSupply(sdk.WrapSDKContext(ctx), &banktypes.QueryTotalSupplyRequest{}) - if err != nil { - return nil, err + var coins []sdk.Coin + var nextKey []byte + var stop = false + for !stop { + res, err := s.q.TotalSupply( + sdk.WrapSDKContext(ctx), + &banktypes.QueryTotalSupplyRequest{ + Pagination: &query.PageRequest{ + Key: nextKey, + Limit: 100, // Query 100 supplies at time + }, + }) + if err != nil { + return nil, fmt.Errorf("error while getting total supply: %s", err) + } + + nextKey = res.Pagination.NextKey + stop = len(res.Pagination.NextKey) == 0 + coins = append(coins, res.Supply...) } - return res.Supply, nil + return coins, nil } // GetAccountBalances implements bankkeeper.Source diff --git a/modules/bank/source/remote/source.go b/modules/bank/source/remote/source.go index 28769328f..c2ede4d67 100644 --- a/modules/bank/source/remote/source.go +++ b/modules/bank/source/remote/source.go @@ -6,10 +6,10 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - bankkeeper "github.com/forbole/bdjuno/v3/modules/bank/source" - "github.com/forbole/bdjuno/v3/types" + bankkeeper "github.com/forbole/bdjuno/v4/modules/bank/source" + "github.com/forbole/bdjuno/v4/types" ) var ( @@ -52,12 +52,28 @@ func (s Source) GetBalances(addresses []string, height int64) ([]types.AccountBa // GetSupply implements bankkeeper.Source func (s Source) GetSupply(height int64) (sdk.Coins, error) { - res, err := s.bankClient.TotalSupply(remote.GetHeightRequestContext(s.Ctx, height), &banktypes.QueryTotalSupplyRequest{ - Pagination: &query.PageRequest{Limit: query.MaxLimit}, - }) - if err != nil { - return nil, fmt.Errorf("error while getting total supply: %s", err) + ctx := remote.GetHeightRequestContext(s.Ctx, height) + + var coins []sdk.Coin + var nextKey []byte + var stop = false + for !stop { + res, err := s.bankClient.TotalSupply( + ctx, + &banktypes.QueryTotalSupplyRequest{ + Pagination: &query.PageRequest{ + Key: nextKey, + Limit: 100, // Query 100 supplies at time + }, + }) + if err != nil { + return nil, fmt.Errorf("error while getting total supply: %s", err) + } + + nextKey = res.Pagination.NextKey + stop = len(res.Pagination.NextKey) == 0 + coins = append(coins, res.Supply...) } - return res.Supply, nil + return coins, nil } diff --git a/modules/bank/source/remote/source_actions.go b/modules/bank/source/remote/source_actions.go index 343e1838a..f2a0efae7 100644 --- a/modules/bank/source/remote/source_actions.go +++ b/modules/bank/source/remote/source_actions.go @@ -6,7 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/utils" ) // GetAccountBalances implements bankkeeper.Source diff --git a/modules/bank/source/source.go b/modules/bank/source/source.go index 905d32448..a1a2ac9a4 100644 --- a/modules/bank/source/source.go +++ b/modules/bank/source/source.go @@ -3,7 +3,7 @@ package source import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) type Source interface { diff --git a/modules/consensus/handle_block.go b/modules/consensus/handle_block.go index da2149e5e..040da07af 100644 --- a/modules/consensus/handle_block.go +++ b/modules/consensus/handle_block.go @@ -5,18 +5,21 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v3/modules/actions/logging" - "github.com/forbole/juno/v3/types" + "github.com/forbole/bdjuno/v4/modules/actions/logging" + "github.com/forbole/juno/v5/types" + "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - tmtypes "github.com/tendermint/tendermint/types" + + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" ) // HandleBlock implements modules.Module func (m *Module) HandleBlock( b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*types.Tx, vals *tmctypes.ResultValidators, ) error { - if err := m.updateBlockTimeFromGenesis(b); err != nil { + err := m.updateBlockTimeFromGenesis(b) + if err != nil { log.Error().Str("module", "consensus").Int64("height", b.Block.Height). Err(err).Msg("error while updating block time from genesis") } diff --git a/modules/consensus/handle_genesis.go b/modules/consensus/handle_genesis.go index 0dd28cf60..c2e8d1cb2 100644 --- a/modules/consensus/handle_genesis.go +++ b/modules/consensus/handle_genesis.go @@ -4,10 +4,10 @@ import ( "encoding/json" "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" ) // HandleGenesis implements modules.Module diff --git a/modules/consensus/handle_periodic_operations.go b/modules/consensus/handle_periodic_operations.go index ca0641f85..54a48b3a8 100644 --- a/modules/consensus/handle_periodic_operations.go +++ b/modules/consensus/handle_periodic_operations.go @@ -3,11 +3,11 @@ package consensus import ( "fmt" - "github.com/forbole/bdjuno/v3/modules/actions/logging" + "github.com/forbole/bdjuno/v4/modules/actions/logging" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.Module diff --git a/modules/consensus/module.go b/modules/consensus/module.go index 0a0598c1f..bb0893fdc 100644 --- a/modules/consensus/module.go +++ b/modules/consensus/module.go @@ -3,9 +3,9 @@ package consensus import ( "sync" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/juno/v3/modules" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/juno/v5/modules" + tmtypes "github.com/cometbft/cometbft/types" ) var ( diff --git a/modules/customparams/handle_genesis.go b/modules/customparams/handle_genesis.go index 47989f698..761bdbe4d 100644 --- a/modules/customparams/handle_genesis.go +++ b/modules/customparams/handle_genesis.go @@ -4,10 +4,11 @@ import ( "encoding/json" "fmt" - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" - "github.com/forbole/bdjuno/v3/types" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" + + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" ) // HandleGenesis implements GenesisModule diff --git a/modules/customparams/module.go b/modules/customparams/module.go index 6194a6d2c..783912aac 100644 --- a/modules/customparams/module.go +++ b/modules/customparams/module.go @@ -2,9 +2,9 @@ package customparams import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - customparamssource "github.com/forbole/bdjuno/v3/modules/customparams/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/bdjuno/v4/database" + customparamssource "github.com/forbole/bdjuno/v4/modules/customparams/source" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/customparams/source/remote/source.go b/modules/customparams/source/remote/source.go index a71998e19..e7456a9ee 100644 --- a/modules/customparams/source/remote/source.go +++ b/modules/customparams/source/remote/source.go @@ -1,9 +1,10 @@ package remote import ( - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" - customparamssource "github.com/forbole/bdjuno/v3/modules/customparams/source" - "github.com/forbole/juno/v3/node/remote" + customparamssource "github.com/forbole/bdjuno/v4/modules/customparams/source" + "github.com/forbole/juno/v5/node/remote" + + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" ) var ( diff --git a/modules/customparams/source/source.go b/modules/customparams/source/source.go index 649dfb243..36a284041 100644 --- a/modules/customparams/source/source.go +++ b/modules/customparams/source/source.go @@ -1,7 +1,7 @@ package source import ( - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" ) type Source interface { diff --git a/modules/customparams/utils_params.go b/modules/customparams/utils_params.go index 35ceb6330..0777aa860 100644 --- a/modules/customparams/utils_params.go +++ b/modules/customparams/utils_params.go @@ -3,7 +3,7 @@ package customparams import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/daily_refetch/handle_periodic_operations.go b/modules/daily_refetch/handle_periodic_operations.go new file mode 100644 index 000000000..ae8f5c307 --- /dev/null +++ b/modules/daily_refetch/handle_periodic_operations.go @@ -0,0 +1,71 @@ +package daily_refetch + +import ( + "fmt" + "time" + + "github.com/forbole/juno/v5/parser" + "github.com/forbole/juno/v5/types/config" + + "github.com/go-co-op/gocron" + "github.com/rs/zerolog/log" + + parsecmdtypes "github.com/forbole/juno/v5/cmd/parse/types" +) + +func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { + log.Debug().Str("module", "daily refetch").Msg("setting up periodic tasks") + + // Setup a cron job to run every midnight + if _, err := scheduler.Every(1).Day().At("00:00").Do(func() { + m.refetchMissingBlocks() + }); err != nil { + return fmt.Errorf("error while setting up daily refetch periodic operation: %s", err) + } + + return nil +} + +// refetchMissingBlocks checks for missing blocks from one day ago and refetches them +func (m *Module) refetchMissingBlocks() error { + log.Trace().Str("module", "daily refetch").Str("refetching", "blocks"). + Msg("refetching missing blocks") + + latestBlock, err := m.node.LatestHeight() + if err != nil { + return fmt.Errorf("error while getting latest block: %s", err) + } + + blockHeightDayAgo, err := m.database.GetBlockHeightTimeDayAgo(time.Now()) + if err != nil { + return fmt.Errorf("error while getting block height from a day ago: %s", err) + } + var startHeight = blockHeightDayAgo.Height + + missingBlocks := m.database.GetMissingBlocks(startHeight, latestBlock) + + // return if no blocks are missing + if len(missingBlocks) == 0 { + return nil + } + + parseCtx, err := parsecmdtypes.GetParserContext(config.Cfg, parsecmdtypes.NewConfig()) + if err != nil { + return err + } + + workerCtx := parser.NewContext(parseCtx.EncodingConfig, parseCtx.Node, parseCtx.Database, parseCtx.Logger, parseCtx.Modules) + worker := parser.NewWorker(workerCtx, nil, 0) + + log.Info().Int64("start height", startHeight).Int64("end height", latestBlock). + Msg("getting missing blocks and transactions from a day ago") + for _, block := range missingBlocks { + err = worker.Process(block) + if err != nil { + return fmt.Errorf("error while re-fetching block %d: %s", block, err) + } + } + + return nil + +} diff --git a/modules/daily_refetch/module.go b/modules/daily_refetch/module.go new file mode 100644 index 000000000..a9673f431 --- /dev/null +++ b/modules/daily_refetch/module.go @@ -0,0 +1,35 @@ +package daily_refetch + +import ( + "github.com/forbole/juno/v5/node" + + bdjunodb "github.com/forbole/bdjuno/v4/database" + + "github.com/forbole/juno/v5/modules" +) + +var ( + _ modules.Module = &Module{} + _ modules.PeriodicOperationsModule = &Module{} +) + +type Module struct { + node node.Node + database *bdjunodb.Db +} + +// NewModule builds a new Module instance +func NewModule( + node node.Node, + database *bdjunodb.Db, +) *Module { + return &Module{ + node: node, + database: database, + } +} + +// Name implements modules.Module +func (m *Module) Name() string { + return "daily refetch" +} diff --git a/modules/distribution/handle_genesis.go b/modules/distribution/handle_genesis.go index 34915d71a..623fa9345 100644 --- a/modules/distribution/handle_genesis.go +++ b/modules/distribution/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/rs/zerolog/log" diff --git a/modules/distribution/handle_msg.go b/modules/distribution/handle_msg.go index 79a01f3da..5503b7e83 100644 --- a/modules/distribution/handle_msg.go +++ b/modules/distribution/handle_msg.go @@ -2,11 +2,17 @@ package distribution import ( sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v3/types" + "github.com/cosmos/cosmos-sdk/x/authz" + juno "github.com/forbole/juno/v5/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" ) +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { + return m.HandleMsg(index, executedMsg, tx) +} + // HandleMsg implements modules.MessageModule func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { if len(tx.Logs) == 0 { diff --git a/modules/distribution/handle_periodic_operations.go b/modules/distribution/handle_periodic_operations.go index 00f0bb2b5..3866d7444 100644 --- a/modules/distribution/handle_periodic_operations.go +++ b/modules/distribution/handle_periodic_operations.go @@ -6,7 +6,7 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.PeriodicOperationsModule @@ -15,7 +15,7 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { // Update the community pool every 1 hour if _, err := scheduler.Every(1).Hour().Do(func() { - utils.WatchMethod(m.getLatestCommunityPool) + utils.WatchMethod(m.GetLatestCommunityPool) }); err != nil { return fmt.Errorf("error while scheduling distribution peridic operation: %s", err) } @@ -23,12 +23,12 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { return nil } -// getLatestCommunityPool gets the latest community pool from the chain and stores inside the database -func (m *Module) getLatestCommunityPool() error { - height, err := m.db.GetLastBlockHeight() +// GetLatestCommunityPool gets the latest community pool from the chain and stores inside the database +func (m *Module) GetLatestCommunityPool() error { + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return fmt.Errorf("error while getting latest block height: %s", err) } - return m.updateCommunityPool(height) + return m.updateCommunityPool(block.Height) } diff --git a/modules/distribution/module.go b/modules/distribution/module.go index 14faa75da..88ec8ef1a 100644 --- a/modules/distribution/module.go +++ b/modules/distribution/module.go @@ -3,11 +3,11 @@ package distribution import ( "github.com/cosmos/cosmos-sdk/codec" - distrsource "github.com/forbole/bdjuno/v3/modules/distribution/source" + distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" ) var ( diff --git a/modules/distribution/source/local/source.go b/modules/distribution/source/local/source.go index ade7f3c38..42ccd311b 100644 --- a/modules/distribution/source/local/source.go +++ b/modules/distribution/source/local/source.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v3/node/local" + "github.com/forbole/juno/v5/node/local" - distrsource "github.com/forbole/bdjuno/v3/modules/distribution/source" + distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" ) var ( diff --git a/modules/distribution/source/remote/source.go b/modules/distribution/source/remote/source.go index 24287f4cc..697e11b85 100644 --- a/modules/distribution/source/remote/source.go +++ b/modules/distribution/source/remote/source.go @@ -3,9 +3,9 @@ package remote import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - distrsource "github.com/forbole/bdjuno/v3/modules/distribution/source" + distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" ) var ( diff --git a/modules/distribution/source/remote/source_actions.go b/modules/distribution/source/remote/source_actions.go index aaca6160b..120440407 100644 --- a/modules/distribution/source/remote/source_actions.go +++ b/modules/distribution/source/remote/source_actions.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/utils" ) // DelegatorTotalRewards implements distrsource.Source diff --git a/modules/distribution/utils_params.go b/modules/distribution/utils_params.go index 4350d6860..fbbf53213 100644 --- a/modules/distribution/utils_params.go +++ b/modules/distribution/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/feegrant/handle_block.go b/modules/feegrant/handle_block.go index 247e9a31e..97808f89b 100644 --- a/modules/feegrant/handle_block.go +++ b/modules/feegrant/handle_block.go @@ -3,15 +3,15 @@ package feegrant import ( "fmt" - abci "github.com/tendermint/tendermint/abci/types" + abci "github.com/cometbft/cometbft/abci/types" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // HandleBlock implements BlockModule @@ -43,7 +43,7 @@ func (m *Module) removeExpiredFeeGrantAllowances(height int64, events []abci.Eve if err != nil { return fmt.Errorf("error while getting fee grant grantee address: %s", err) } - err = m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(string(granteeAddress.Value), string(granterAddress.Value), height)) + err = m.db.DeleteFeeGrantAllowance(types.NewGrantRemoval(granteeAddress.Value, granterAddress.Value, height)) if err != nil { return fmt.Errorf("error while deleting fee grant allowance: %s", err) diff --git a/modules/feegrant/handle_msg.go b/modules/feegrant/handle_msg.go index 9e9ca3232..bfddf22d9 100644 --- a/modules/feegrant/handle_msg.go +++ b/modules/feegrant/handle_msg.go @@ -4,12 +4,18 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/authz" feegranttypes "github.com/cosmos/cosmos-sdk/x/feegrant" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { + return m.HandleMsg(index, executedMsg, tx) +} + // HandleMsg implements modules.MessageModule func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { if len(tx.Logs) == 0 { diff --git a/modules/feegrant/module.go b/modules/feegrant/module.go index 479e000c2..deeae8609 100644 --- a/modules/feegrant/module.go +++ b/modules/feegrant/module.go @@ -3,9 +3,9 @@ package feegrant import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/feemodel/handle_genesis.go b/modules/feemodel/handle_genesis.go index 8fb42870b..80415bd48 100644 --- a/modules/feemodel/handle_genesis.go +++ b/modules/feemodel/handle_genesis.go @@ -4,10 +4,11 @@ import ( "encoding/json" "fmt" - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" - "github.com/forbole/bdjuno/v3/types" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" - tmtypes "github.com/tendermint/tendermint/types" + + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) // HandleGenesis implements GenesisModule diff --git a/modules/feemodel/module.go b/modules/feemodel/module.go index 56890a239..ee134ac00 100644 --- a/modules/feemodel/module.go +++ b/modules/feemodel/module.go @@ -2,9 +2,9 @@ package feemodel import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - feemodelsource "github.com/forbole/bdjuno/v3/modules/feemodel/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/bdjuno/v4/database" + feemodelsource "github.com/forbole/bdjuno/v4/modules/feemodel/source" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/feemodel/source/remote/source.go b/modules/feemodel/source/remote/source.go index 0c8a328fc..dffd991d7 100644 --- a/modules/feemodel/source/remote/source.go +++ b/modules/feemodel/source/remote/source.go @@ -1,9 +1,10 @@ package remote import ( - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" - feemodelsource "github.com/forbole/bdjuno/v3/modules/feemodel/source" - "github.com/forbole/juno/v3/node/remote" + feemodelsource "github.com/forbole/bdjuno/v4/modules/feemodel/source" + "github.com/forbole/juno/v5/node/remote" + + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) var ( diff --git a/modules/feemodel/source/source.go b/modules/feemodel/source/source.go index 8ad795f99..ffc228158 100644 --- a/modules/feemodel/source/source.go +++ b/modules/feemodel/source/source.go @@ -1,7 +1,7 @@ package source import ( - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) type Source interface { diff --git a/modules/feemodel/utils_params.go b/modules/feemodel/utils_params.go index 86f6d5625..3307f8106 100644 --- a/modules/feemodel/utils_params.go +++ b/modules/feemodel/utils_params.go @@ -3,7 +3,7 @@ package feemodel import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/gov/expected_modules.go b/modules/gov/expected_modules.go index 2e10d80d6..8d8683583 100644 --- a/modules/gov/expected_modules.go +++ b/modules/gov/expected_modules.go @@ -1,22 +1,16 @@ package gov import ( - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) -type AuthModule interface { - RefreshAccounts(height int64, addresses []string) error -} - type DistrModule interface { UpdateParams(height int64) error } type MintModule interface { UpdateParams(height int64) error + UpdateInflation() error } type SlashingModule interface { @@ -24,10 +18,7 @@ type SlashingModule interface { } type StakingModule interface { - GetStakingPool(height int64) (*types.Pool, error) - GetValidatorsWithStatus(height int64, status string) ([]stakingtypes.Validator, []types.Validator, error) - GetValidatorsVotingPowers(height int64, vals *tmctypes.ResultValidators) ([]types.ValidatorVotingPower, error) - GetValidatorsStatuses(height int64, validators []stakingtypes.Validator) ([]types.ValidatorStatus, error) + GetStakingPoolSnapshot(height int64) (*types.PoolSnapshot, error) UpdateParams(height int64) error } diff --git a/modules/gov/handle_block.go b/modules/gov/handle_block.go index fd9d865ba..e16e34164 100644 --- a/modules/gov/handle_block.go +++ b/modules/gov/handle_block.go @@ -2,38 +2,69 @@ package gov import ( "fmt" + "strconv" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + + abci "github.com/cometbft/cometbft/abci/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/rs/zerolog/log" ) // HandleBlock implements modules.BlockModule func (m *Module) HandleBlock( - b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*juno.Tx, vals *tmctypes.ResultValidators, + b *tmctypes.ResultBlock, blockResults *tmctypes.ResultBlockResults, _ []*juno.Tx, _ *tmctypes.ResultValidators, ) error { - err := m.updateProposals(b.Block.Height, vals) + + err := m.updateProposalsStatus(b.Block.Height, blockResults.EndBlockEvents) if err != nil { log.Error().Str("module", "gov").Int64("height", b.Block.Height). Err(err).Msg("error while updating proposals") } + return nil } -// updateProposals updates the proposals -func (m *Module) updateProposals(height int64, blockVals *tmctypes.ResultValidators) error { - ids, err := m.db.GetOpenProposalsIds() - if err != nil { - log.Error().Err(err).Str("module", "gov").Msg("error while getting open ids") +// updateProposalsStatus updates the status of proposals if they have been included in the EndBlockEvents +func (m *Module) updateProposalsStatus(height int64, events []abci.Event) error { + if len(events) == 0 { + return nil } + var ids []uint64 + // check if EndBlockEvents contains active_proposal event + eventsList := juno.FindEventsByType(events, govtypes.EventTypeActiveProposal) + if len(eventsList) == 0 { + return nil + } + + for _, event := range eventsList { + // find proposal ID + proposalID, err := juno.FindAttributeByKey(event, govtypes.AttributeKeyProposalID) + if err != nil { + return fmt.Errorf("error while getting proposal ID from block events: %s", err) + } + + // parse proposal ID from []byte to unit64 + id, err := strconv.ParseUint(proposalID.Value, 10, 64) + if err != nil { + return fmt.Errorf("error while parsing proposal id: %s", err) + } + + // add proposal ID to ids array + ids = append(ids, id) + } + + // update status for proposals IDs stored in ids array for _, id := range ids { - err = m.UpdateProposal(height, blockVals, id) + err := m.UpdateProposalStatus(height, id) if err != nil { - return fmt.Errorf("error while updating proposal: %s", err) + return fmt.Errorf("error while updating proposal %d status: %s", id, err) } } + return nil } diff --git a/modules/gov/handle_genesis.go b/modules/gov/handle_genesis.go index a299ee25f..44a1c8d2d 100644 --- a/modules/gov/handle_genesis.go +++ b/modules/gov/handle_genesis.go @@ -4,11 +4,12 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + gov "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" "github.com/rs/zerolog/log" ) @@ -17,25 +18,20 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json log.Debug().Str("module", "gov").Msg("parsing genesis") // Read the genesis state - var genState govtypes.GenesisState - err := m.cdc.UnmarshalJSON(appState[govtypes.ModuleName], &genState) + var genStatev1beta1 govtypesv1.GenesisState + err := m.cdc.UnmarshalJSON(appState[gov.ModuleName], &genStatev1beta1) if err != nil { return fmt.Errorf("error while reading gov genesis data: %s", err) } // Save the proposals - err = m.saveProposals(genState.Proposals) + err = m.saveGenesisProposals(genStatev1beta1.Proposals, doc) if err != nil { return fmt.Errorf("error while storing genesis governance proposals: %s", err) } // Save the params - err = m.db.SaveGovParams(types.NewGovParams( - types.NewVotingParams(genState.VotingParams), - types.NewDepositParam(genState.DepositParams), - types.NewTallyParams(genState.TallyParams), - doc.InitialHeight, - )) + err = m.db.SaveGovParams(types.NewGovParams(genStatev1beta1.Params, doc.InitialHeight)) if err != nil { return fmt.Errorf("error while storing genesis governance params: %s", err) } @@ -43,8 +39,8 @@ func (m *Module) HandleGenesis(doc *tmtypes.GenesisDoc, appState map[string]json return nil } -// saveProposals save proposals from genesis file -func (m *Module) saveProposals(slice govtypes.Proposals) error { +// saveGenesisProposals save proposals from genesis file +func (m *Module) saveGenesisProposals(slice govtypesv1.Proposals, genDoc *tmtypes.GenesisDoc) error { proposals := make([]types.Proposal, len(slice)) tallyResults := make([]types.TallyResult, len(slice)) deposits := make([]types.Deposit, len(slice)) @@ -52,32 +48,35 @@ func (m *Module) saveProposals(slice govtypes.Proposals) error { for index, proposal := range slice { // Since it's not possible to get the proposer, set it to nil proposals[index] = types.NewProposal( - proposal.ProposalId, - proposal.ProposalRoute(), - proposal.ProposalType(), - proposal.GetContent(), + proposal.Id, + proposal.Title, + proposal.Summary, + proposal.Metadata, + proposal.Messages, proposal.Status.String(), - proposal.SubmitTime, - proposal.DepositEndTime, + *proposal.SubmitTime, + *proposal.DepositEndTime, proposal.VotingStartTime, proposal.VotingEndTime, "", ) tallyResults[index] = types.NewTallyResult( - proposal.ProposalId, - proposal.FinalTallyResult.Yes.String(), - proposal.FinalTallyResult.Abstain.String(), - proposal.FinalTallyResult.No.String(), - proposal.FinalTallyResult.NoWithVeto.String(), - 1, + proposal.Id, + proposal.FinalTallyResult.YesCount, + proposal.FinalTallyResult.AbstainCount, + proposal.FinalTallyResult.NoCount, + proposal.FinalTallyResult.NoWithVetoCount, + genDoc.InitialHeight, ) deposits[index] = types.NewDeposit( - proposal.ProposalId, + proposal.Id, "", proposal.TotalDeposit, - 1, + genDoc.GenesisTime, + "", + genDoc.InitialHeight, ) } diff --git a/modules/gov/handle_msg.go b/modules/gov/handle_msg.go index 3f2d920bd..1232c8082 100644 --- a/modules/gov/handle_msg.go +++ b/modules/gov/handle_msg.go @@ -2,16 +2,28 @@ package gov import ( "fmt" - "strconv" + "strings" + "time" + + "github.com/cosmos/cosmos-sdk/x/authz" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" + "google.golang.org/grpc/codes" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - juno "github.com/forbole/juno/v3/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + + gov "github.com/cosmos/cosmos-sdk/x/gov/types" + juno "github.com/forbole/juno/v5/types" ) +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { + return m.HandleMsg(index, executedMsg, tx) +} + // HandleMsg implements modules.MessageModule func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { if len(tx.Logs) == 0 { @@ -19,28 +31,31 @@ func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { } switch cosmosMsg := msg.(type) { - case *govtypes.MsgSubmitProposal: + case *govtypesv1.MsgSubmitProposal: return m.handleMsgSubmitProposal(tx, index, cosmosMsg) - case *govtypes.MsgDeposit: + case *govtypesv1.MsgDeposit: return m.handleMsgDeposit(tx, cosmosMsg) - case *govtypes.MsgVote: + case *govtypesv1.MsgVote: return m.handleMsgVote(tx, cosmosMsg) + + case *govtypesv1.MsgVoteWeighted: + return m.handleMsgVoteWeighted(tx, cosmosMsg) } return nil } -// handleMsgSubmitProposal allows to properly handle a handleMsgSubmitProposal -func (m *Module) handleMsgSubmitProposal(tx *juno.Tx, index int, msg *govtypes.MsgSubmitProposal) error { +// handleMsgSubmitProposal allows to properly handle a MsgSubmitProposal +func (m *Module) handleMsgSubmitProposal(tx *juno.Tx, index int, msg *govtypesv1.MsgSubmitProposal) error { // Get the proposal id - event, err := tx.FindEventByType(index, govtypes.EventTypeSubmitProposal) + event, err := tx.FindEventByType(index, gov.EventTypeSubmitProposal) if err != nil { return fmt.Errorf("error while searching for EventTypeSubmitProposal: %s", err) } - id, err := tx.FindAttributeByKey(event, govtypes.AttributeKeyProposalID) + id, err := tx.FindAttributeByKey(event, gov.AttributeKeyProposalID) if err != nil { return fmt.Errorf("error while searching for AttributeKeyProposalID: %s", err) } @@ -53,53 +68,125 @@ func (m *Module) handleMsgSubmitProposal(tx *juno.Tx, index int, msg *govtypes.M // Get the proposal proposal, err := m.source.Proposal(tx.Height, proposalID) if err != nil { - return fmt.Errorf("error while getting proposal: %s", err) + if strings.Contains(err.Error(), codes.NotFound.String()) { + // query the proposal details using the latest height stored in db + // to fix the rpc error returning code = NotFound desc = proposal x doesn't exist + block, err := m.db.GetLastBlockHeightAndTimestamp() + if err != nil { + return fmt.Errorf("error while getting latest block height: %s", err) + } + proposal, err = m.source.Proposal(block.Height, proposalID) + if err != nil { + return fmt.Errorf("error while getting proposal: %s", err) + } + } else { + return fmt.Errorf("error while getting proposal: %s", err) + } + } + + var addresses []types.Account + for _, msg := range proposal.Messages { + var sdkMsg sdk.Msg + err := m.cdc.UnpackAny(msg, &sdkMsg) + if err != nil { + return fmt.Errorf("error while unpacking proposal message: %s", err) + } + + switch msg := sdkMsg.(type) { + case *distrtypes.MsgCommunityPoolSpend: + addresses = append(addresses, types.NewAccount(msg.Recipient)) + case *govtypesv1.MsgExecLegacyContent: + content, ok := msg.Content.GetCachedValue().(*distrtypes.CommunityPoolSpendProposal) + if ok { + addresses = append(addresses, types.NewAccount(content.Recipient)) + } + } } - // Unpack the content - var content govtypes.Content - err = m.cdc.UnpackAny(proposal.Content, &content) + err = m.db.SaveAccounts(addresses) if err != nil { - return fmt.Errorf("error while unpacking proposal content: %s", err) + return fmt.Errorf("error while storing proposal recipient: %s", err) } // Store the proposal proposalObj := types.NewProposal( - proposal.ProposalId, - proposal.ProposalRoute(), - proposal.ProposalType(), - proposal.GetContent(), + proposal.Id, + proposal.Title, + proposal.Summary, + proposal.Metadata, + msg.Messages, proposal.Status.String(), - proposal.SubmitTime, - proposal.DepositEndTime, + *proposal.SubmitTime, + *proposal.DepositEndTime, proposal.VotingStartTime, proposal.VotingEndTime, msg.Proposer, ) + err = m.db.SaveProposals([]types.Proposal{proposalObj}) if err != nil { return err } + txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + if err != nil { + return fmt.Errorf("error while parsing time: %s", err) + } + // Store the deposit - deposit := types.NewDeposit(proposal.ProposalId, msg.Proposer, msg.InitialDeposit, tx.Height) + deposit := types.NewDeposit(proposal.Id, msg.Proposer, msg.InitialDeposit, txTimestamp, tx.TxHash, tx.Height) return m.db.SaveDeposits([]types.Deposit{deposit}) } -// handleMsgDeposit allows to properly handle a handleMsgDeposit -func (m *Module) handleMsgDeposit(tx *juno.Tx, msg *govtypes.MsgDeposit) error { +// handleMsgDeposit allows to properly handle a MsgDeposit +func (m *Module) handleMsgDeposit(tx *juno.Tx, msg *govtypesv1.MsgDeposit) error { deposit, err := m.source.ProposalDeposit(tx.Height, msg.ProposalId, msg.Depositor) if err != nil { return fmt.Errorf("error while getting proposal deposit: %s", err) } + txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + if err != nil { + return fmt.Errorf("error while parsing time: %s", err) + } return m.db.SaveDeposits([]types.Deposit{ - types.NewDeposit(msg.ProposalId, msg.Depositor, deposit.Amount, tx.Height), + types.NewDeposit(msg.ProposalId, msg.Depositor, deposit.Amount, txTimestamp, tx.TxHash, tx.Height), }) } -// handleMsgVote allows to properly handle a handleMsgVote -func (m *Module) handleMsgVote(tx *juno.Tx, msg *govtypes.MsgVote) error { - vote := types.NewVote(msg.ProposalId, msg.Voter, msg.Option, tx.Height) - return m.db.SaveVote(vote) +// handleMsgVote allows to properly handle a MsgVote +func (m *Module) handleMsgVote(tx *juno.Tx, msg *govtypesv1.MsgVote) error { + txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + if err != nil { + return fmt.Errorf("error while parsing time: %s", err) + } + + vote := types.NewVote(msg.ProposalId, msg.Voter, msg.Option, "1.0", txTimestamp, tx.Height) + + err = m.db.SaveVote(vote) + if err != nil { + return fmt.Errorf("error while saving vote: %s", err) + } + + // update tally result for given proposal + return m.UpdateProposalTallyResult(msg.ProposalId, tx.Height) +} + +// handleMsgVoteWeighted allows to properly handle a MsgVoteWeighted +func (m *Module) handleMsgVoteWeighted(tx *juno.Tx, msg *govtypesv1.MsgVoteWeighted) error { + txTimestamp, err := time.Parse(time.RFC3339, tx.Timestamp) + if err != nil { + return fmt.Errorf("error while parsing time: %s", err) + } + + for _, option := range msg.Options { + vote := types.NewVote(msg.ProposalId, msg.Voter, option.Option, option.Weight, txTimestamp, tx.Height) + err = m.db.SaveVote(vote) + if err != nil { + return fmt.Errorf("error while saving weighted vote for address %s: %s", msg.Voter, err) + } + } + + // update tally result for given proposal + return m.UpdateProposalTallyResult(msg.ProposalId, tx.Height) } diff --git a/modules/gov/handle_periodic_operations.go b/modules/gov/handle_periodic_operations.go new file mode 100644 index 000000000..874d3ba42 --- /dev/null +++ b/modules/gov/handle_periodic_operations.go @@ -0,0 +1,32 @@ +package gov + +import ( + "fmt" + + "github.com/go-co-op/gocron" + "github.com/rs/zerolog/log" + + "github.com/forbole/bdjuno/v4/modules/utils" +) + +// RegisterPeriodicOperations implements modules.PeriodicOperationsModule +func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { + log.Debug().Str("module", "gov").Msg("setting up periodic tasks") + + // refresh proposal staking pool snapshots every 5 mins + // (set the same interval as staking pool periodic ops) + if _, err := scheduler.Every(5).Minutes().Do(func() { + utils.WatchMethod(m.UpdateProposalsStakingPoolSnapshot) + }); err != nil { + return fmt.Errorf("error while setting up gov period operations: %s", err) + } + + // refresh proposal tally results every 5 mins + if _, err := scheduler.Every(5).Minutes().Do(func() { + utils.WatchMethod(m.UpdateProposalsTallyResults) + }); err != nil { + return fmt.Errorf("error while setting up gov period operations: %s", err) + } + + return nil +} diff --git a/modules/gov/module.go b/modules/gov/module.go index 2023a39f8..adea0bab1 100644 --- a/modules/gov/module.go +++ b/modules/gov/module.go @@ -3,11 +3,11 @@ package gov import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" - govsource "github.com/forbole/bdjuno/v3/modules/gov/source" + govsource "github.com/forbole/bdjuno/v4/modules/gov/source" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" ) var ( @@ -19,14 +19,13 @@ var ( // Module represent x/gov module type Module struct { - cdc codec.Codec - db *database.Db - source govsource.Source - authModule AuthModule - distrModule DistrModule - mintModule MintModule - slashingModule SlashingModule - stakingModule StakingModule + cdc codec.Codec + db *database.Db + source govsource.Source + distrModule DistrModule + mintModule MintModule + slashingModule SlashingModule + stakingModule StakingModule feeModelModule FeeModelModule customParamsModule CustomParamsModule assetFTModule AssetFTModule @@ -36,7 +35,6 @@ type Module struct { // NewModule returns a new Module instance func NewModule( source govsource.Source, - authModule AuthModule, distrModule DistrModule, mintModule MintModule, slashingModule SlashingModule, @@ -49,18 +47,17 @@ func NewModule( db *database.Db, ) *Module { return &Module{ - cdc: cdc, - source: source, - authModule: authModule, - distrModule: distrModule, - mintModule: mintModule, - slashingModule: slashingModule, - stakingModule: stakingModule, + cdc: cdc, + source: source, + distrModule: distrModule, + mintModule: mintModule, + slashingModule: slashingModule, + stakingModule: stakingModule, feeModelModule: feeModelModule, customParamsModule: customParamsModule, assetFTModule: assetFTModule, assetNFTModule: assetNFTModule, - db: db, + db: db, } } diff --git a/modules/gov/source/local/source.go b/modules/gov/source/local/source.go index 4964923a6..cf04babba 100644 --- a/modules/gov/source/local/source.go +++ b/modules/gov/source/local/source.go @@ -4,10 +4,10 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/forbole/juno/v3/node/local" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + "github.com/forbole/juno/v5/node/local" - govsource "github.com/forbole/bdjuno/v3/modules/gov/source" + govsource "github.com/forbole/bdjuno/v4/modules/gov/source" ) var ( @@ -17,103 +17,73 @@ var ( // Source implements govsource.Source by using a local node type Source struct { *local.Source - q govtypes.QueryServer + queryClient govtypesv1.QueryServer } // NewSource returns a new Source instance -func NewSource(source *local.Source, govKeeper govtypes.QueryServer) *Source { +func NewSource(source *local.Source, govKeeper govtypesv1.QueryServer) *Source { return &Source{ - Source: source, - q: govKeeper, + Source: source, + queryClient: govKeeper, } } // Proposal implements govsource.Source -func (s Source) Proposal(height int64, id uint64) (govtypes.Proposal, error) { +func (s Source) Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) { ctx, err := s.LoadHeight(height) if err != nil { - return govtypes.Proposal{}, fmt.Errorf("error while loading height: %s", err) + return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.Proposal(sdk.WrapSDKContext(ctx), &govtypes.QueryProposalRequest{ProposalId: id}) + res, err := s.queryClient.Proposal(sdk.WrapSDKContext(ctx), &govtypesv1.QueryProposalRequest{ProposalId: id}) if err != nil { - return govtypes.Proposal{}, err + return nil, err } return res.Proposal, nil } // ProposalDeposit implements govsource.Source -func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (govtypes.Deposit, error) { +func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (*govtypesv1.Deposit, error) { ctx, err := s.LoadHeight(height) if err != nil { - return govtypes.Deposit{}, fmt.Errorf("error while loading height: %s", err) + return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.Deposit(sdk.WrapSDKContext(ctx), &govtypes.QueryDepositRequest{ProposalId: id, Depositor: depositor}) + res, err := s.queryClient.Deposit(sdk.WrapSDKContext(ctx), &govtypesv1.QueryDepositRequest{ProposalId: id, Depositor: depositor}) if err != nil { - return govtypes.Deposit{}, err + return nil, err } return res.Deposit, nil } // TallyResult implements govsource.Source -func (s Source) TallyResult(height int64, proposalID uint64) (govtypes.TallyResult, error) { +func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyResult, error) { ctx, err := s.LoadHeight(height) if err != nil { - return govtypes.TallyResult{}, fmt.Errorf("error while loading height: %s", err) + return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.TallyResult(sdk.WrapSDKContext(ctx), &govtypes.QueryTallyResultRequest{ProposalId: proposalID}) + res, err := s.queryClient.TallyResult(sdk.WrapSDKContext(ctx), &govtypesv1.QueryTallyResultRequest{ProposalId: proposalID}) if err != nil { - return govtypes.TallyResult{}, err + return nil, err } return res.Tally, nil } -// DepositParams implements govsource.Source -func (s Source) DepositParams(height int64) (govtypes.DepositParams, error) { +// Params implements govsource.Source +func (s Source) Params(height int64) (*govtypesv1.Params, error) { ctx, err := s.LoadHeight(height) if err != nil { - return govtypes.DepositParams{}, fmt.Errorf("error while loading height: %s", err) + return nil, fmt.Errorf("error while loading height: %s", err) } - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamDeposit}) + res, err := s.queryClient.Params(sdk.WrapSDKContext(ctx), &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamDeposit}) if err != nil { - return govtypes.DepositParams{}, err + return nil, err } - return res.DepositParams, nil -} - -// VotingParams implements govsource.Source -func (s Source) VotingParams(height int64) (govtypes.VotingParams, error) { - ctx, err := s.LoadHeight(height) - if err != nil { - return govtypes.VotingParams{}, fmt.Errorf("error while loading height: %s", err) - } - - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamVoting}) - if err != nil { - return govtypes.VotingParams{}, err - } - - return res.VotingParams, nil -} - -// TallyParams implements govsource.Source -func (s Source) TallyParams(height int64) (govtypes.TallyParams, error) { - ctx, err := s.LoadHeight(height) - if err != nil { - return govtypes.TallyParams{}, fmt.Errorf("error while loading height: %s", err) - } - - res, err := s.q.Params(sdk.WrapSDKContext(ctx), &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamTallying}) - if err != nil { - return govtypes.TallyParams{}, err - } - - return res.TallyParams, nil + return res.Params, nil } diff --git a/modules/gov/source/remote/source.go b/modules/gov/source/remote/source.go index e943ac20a..17b836b5f 100644 --- a/modules/gov/source/remote/source.go +++ b/modules/gov/source/remote/source.go @@ -1,10 +1,10 @@ package remote import ( - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/forbole/juno/v3/node/remote" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + "github.com/forbole/juno/v5/node/remote" - govsource "github.com/forbole/bdjuno/v3/modules/gov/source" + govsource "github.com/forbole/bdjuno/v4/modules/gov/source" ) var ( @@ -14,91 +14,65 @@ var ( // Source implements govsource.Source using a remote node type Source struct { *remote.Source - govClient govtypes.QueryClient + queryClient govtypesv1.QueryClient } // NewSource returns a new Source implementation -func NewSource(source *remote.Source, govClient govtypes.QueryClient) *Source { +func NewSource(source *remote.Source, queryClient govtypesv1.QueryClient) *Source { return &Source{ - Source: source, - govClient: govClient, + Source: source, + queryClient: queryClient, } } // Proposal implements govsource.Source -func (s Source) Proposal(height int64, id uint64) (govtypes.Proposal, error) { - res, err := s.govClient.Proposal( +func (s Source) Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) { + res, err := s.queryClient.Proposal( remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryProposalRequest{ProposalId: id}, + &govtypesv1.QueryProposalRequest{ProposalId: id}, ) if err != nil { - return govtypes.Proposal{}, err + return nil, err } return res.Proposal, err } // ProposalDeposit implements govsource.Source -func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (govtypes.Deposit, error) { - res, err := s.govClient.Deposit( +func (s Source) ProposalDeposit(height int64, id uint64, depositor string) (*govtypesv1.Deposit, error) { + res, err := s.queryClient.Deposit( remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryDepositRequest{ProposalId: id, Depositor: depositor}, + &govtypesv1.QueryDepositRequest{ProposalId: id, Depositor: depositor}, ) if err != nil { - return govtypes.Deposit{}, err + return nil, err } return res.Deposit, nil } // TallyResult implements govsource.Source -func (s Source) TallyResult(height int64, proposalID uint64) (govtypes.TallyResult, error) { - res, err := s.govClient.TallyResult( +func (s Source) TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyResult, error) { + res, err := s.queryClient.TallyResult( remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryTallyResultRequest{ProposalId: proposalID}, + &govtypesv1.QueryTallyResultRequest{ProposalId: proposalID}, ) if err != nil { - return govtypes.TallyResult{}, err + return nil, err } return res.Tally, nil } -// DepositParams implements govsource.Source -func (s Source) DepositParams(height int64) (govtypes.DepositParams, error) { - res, err := s.govClient.Params( +// Params implements govsource.Source +func (s Source) Params(height int64) (*govtypesv1.Params, error) { + res, err := s.queryClient.Params( remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamDeposit}, + &govtypesv1.QueryParamsRequest{ParamsType: govtypesv1.ParamDeposit}, ) if err != nil { - return govtypes.DepositParams{}, err + return nil, err } - return res.DepositParams, nil -} - -// VotingParams implements govsource.Source -func (s Source) VotingParams(height int64) (govtypes.VotingParams, error) { - res, err := s.govClient.Params( - remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamVoting}, - ) - if err != nil { - return govtypes.VotingParams{}, err - } - - return res.VotingParams, nil -} - -// TallyParams implements govsource.Source -func (s Source) TallyParams(height int64) (govtypes.TallyParams, error) { - res, err := s.govClient.Params( - remote.GetHeightRequestContext(s.Ctx, height), - &govtypes.QueryParamsRequest{ParamsType: govtypes.ParamTallying}, - ) - if err != nil { - return govtypes.TallyParams{}, err - } - - return res.TallyParams, nil + return res.Params, nil } diff --git a/modules/gov/source/source.go b/modules/gov/source/source.go index 3acdea56e..b499e6d32 100644 --- a/modules/gov/source/source.go +++ b/modules/gov/source/source.go @@ -1,12 +1,12 @@ package source -import govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" +import ( + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" +) type Source interface { - Proposal(height int64, id uint64) (govtypes.Proposal, error) - ProposalDeposit(height int64, id uint64, depositor string) (govtypes.Deposit, error) - TallyResult(height int64, proposalID uint64) (govtypes.TallyResult, error) - DepositParams(height int64) (govtypes.DepositParams, error) - VotingParams(height int64) (govtypes.VotingParams, error) - TallyParams(height int64) (govtypes.TallyParams, error) + Proposal(height int64, id uint64) (*govtypesv1.Proposal, error) + ProposalDeposit(height int64, id uint64, depositor string) (*govtypesv1.Deposit, error) + TallyResult(height int64, proposalID uint64) (*govtypesv1.TallyResult, error) + Params(height int64) (*govtypesv1.Params, error) } diff --git a/modules/gov/utils_params.go b/modules/gov/utils_params.go index 4ef633857..03422b61f 100644 --- a/modules/gov/utils_params.go +++ b/modules/gov/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // UpdateParams updates the governance parameters for the given height @@ -13,25 +13,10 @@ func (m *Module) UpdateParams(height int64) error { log.Debug().Str("module", "gov").Int64("height", height). Msg("updating params") - depositParams, err := m.source.DepositParams(height) + params, err := m.source.Params(height) if err != nil { - return fmt.Errorf("error while getting gov deposit params: %s", err) + return fmt.Errorf("error while getting gov params: %s", err) } - votingParams, err := m.source.VotingParams(height) - if err != nil { - return fmt.Errorf("error while getting gov voting params: %s", err) - } - - tallyParams, err := m.source.TallyParams(height) - if err != nil { - return fmt.Errorf("error while getting gov tally params: %s", err) - } - - return m.db.SaveGovParams(types.NewGovParams( - types.NewVotingParams(votingParams), - types.NewDepositParam(depositParams), - types.NewTallyParams(tallyParams), - height, - )) + return m.db.SaveGovParams(types.NewGovParams(params, height)) } diff --git a/modules/gov/utils_proposal.go b/modules/gov/utils_proposal.go index 4b838569d..422cc5864 100644 --- a/modules/gov/utils_proposal.go +++ b/modules/gov/utils_proposal.go @@ -4,30 +4,39 @@ import ( "fmt" "strings" - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + govtypesv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/rs/zerolog/log" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" + + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" proposaltypes "github.com/cosmos/cosmos-sdk/x/params/types/proposal" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" "google.golang.org/grpc/codes" - "github.com/forbole/bdjuno/v3/types" - - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + "github.com/forbole/bdjuno/v4/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + gov "github.com/cosmos/cosmos-sdk/x/gov/types" ) -func (m *Module) UpdateProposal(height int64, blockVals *tmctypes.ResultValidators, id uint64) error { +// UpdateProposalStatus queries the latest details of given proposal ID, updates it's status +// in database and handles changes if the proposal has been passed. +func (m *Module) UpdateProposalStatus(height int64, id uint64) error { // Get the proposal proposal, err := m.source.Proposal(height, id) if err != nil { - if strings.Contains(err.Error(), codes.NotFound.String()) { + // Check if proposal exist on the chain + if strings.Contains(err.Error(), codes.NotFound.String()) && strings.Contains(err.Error(), "doesn't exist") { // Handle case when a proposal is deleted from the chain (did not pass deposit period) return m.updateDeletedProposalStatus(id) } @@ -35,39 +44,68 @@ func (m *Module) UpdateProposal(height int64, blockVals *tmctypes.ResultValidato return fmt.Errorf("error while getting proposal: %s", err) } - err = m.handleParamChangeProposal(height, proposal) - if err != nil { - return fmt.Errorf("error while updating params from ParamChangeProposal: %s", err) - } - err = m.updateProposalStatus(proposal) if err != nil { return fmt.Errorf("error while updating proposal status: %s", err) } - err = m.updateProposalTallyResult(proposal) + err = m.handlePassedProposal(proposal, height) if err != nil { - return fmt.Errorf("error while updating proposal tally result: %s", err) + return fmt.Errorf("error while handling passed proposals: %s", err) } - err = m.updateAccounts(proposal) + return nil +} + +// updateProposalStatus updates given proposal status +func (m *Module) updateProposalStatus(proposal *govtypesv1.Proposal) error { + return m.db.UpdateProposal( + types.NewProposalUpdate( + proposal.Id, + proposal.Status.String(), + proposal.VotingStartTime, + proposal.VotingEndTime, + ), + ) +} + +// UpdateProposalsStakingPoolSnapshot updates +// staking pool snapshots for active proposals +func (m *Module) UpdateProposalsStakingPoolSnapshot() error { + log.Debug().Str("module", "gov").Msg("refreshing proposal staking pool snapshots") + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { - return fmt.Errorf("error while updating account: %s", err) + return err } - err = m.updateProposalStakingPoolSnapshot(height, id) + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) if err != nil { - return fmt.Errorf("error while updating proposal staking pool snapshot: %s", err) + log.Error().Err(err).Str("module", "gov").Msg("error while getting open proposals ids") } - err = m.updateProposalValidatorStatusesSnapshot(height, id, blockVals) - if err != nil { - return fmt.Errorf("error while updating proposal validator statuses snapshot: %s", err) + for _, proposalID := range ids { + err = m.UpdateProposalStakingPoolSnapshot(block.Height, proposalID) + if err != nil { + return fmt.Errorf("error while updating proposal %d staking pool snapshots: %s", proposalID, err) + } } return nil } +// UpdateProposalStakingPoolSnapshot updates the staking pool snapshot associated with the gov +// proposal having the provided id +func (m *Module) UpdateProposalStakingPoolSnapshot(height int64, proposalID uint64) error { + pool, err := m.stakingModule.GetStakingPoolSnapshot(height) + if err != nil { + return fmt.Errorf("error while getting staking pool: %s", err) + } + + return m.db.SaveProposalStakingPoolSnapshot( + types.NewProposalStakingPoolSnapshot(proposalID, pool), + ) +} + // updateDeletedProposalStatus updates the proposal having the given id by setting its status // to the one that represents a deleted proposal func (m *Module) updateDeletedProposalStatus(id uint64) error { @@ -78,7 +116,7 @@ func (m *Module) updateDeletedProposalStatus(id uint64) error { return m.db.UpdateProposal( types.NewProposalUpdate( - stored.ProposalID, + stored.ID, types.ProposalStatusInvalid, stored.VotingStartTime, stored.VotingEndTime, @@ -87,209 +125,220 @@ func (m *Module) updateDeletedProposalStatus(id uint64) error { } // handleParamChangeProposal updates params to the corresponding modules if a ParamChangeProposal has passed -func (m *Module) handleParamChangeProposal(height int64, proposal govtypes.Proposal) error { - if proposal.Status.String() != types.ProposalStatusPassed { - // If the status of ParamChangeProposal is not passed, do nothing - return nil +func (m *Module) handleParamChangeProposal(height int64, moduleName string) (err error) { + switch moduleName { + case distrtypes.ModuleName: + err = m.distrModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", distrtypes.ModuleName, err) + } + case gov.ModuleName: + err = m.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", gov.ModuleName, err) + } + case minttypes.ModuleName: + err = m.mintModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", minttypes.ModuleName, err) + } + + // Update the inflation + err = m.mintModule.UpdateInflation() + if err != nil { + return fmt.Errorf("error while updating inflation with ParamChangeProposal: %s", err) + } + case slashingtypes.ModuleName: + err = m.slashingModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", slashingtypes.ModuleName, err) + } + case stakingtypes.ModuleName: + err = m.stakingModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", stakingtypes.ModuleName, err) + } + case feemodeltypes.ModuleName: + err = m.feeModelModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", feemodeltypes.ModuleName, err) + } + case customparamstypes.CustomParamsStaking: + err = m.customParamsModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", customparamstypes.ModuleName, err) + } + case assetfttypes.ModuleName: + err = m.assetFTModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", assetfttypes.ModuleName, err) + } + case assetnfttypes.ModuleName: + err = m.assetNFTModule.UpdateParams(height) + if err != nil { + return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", assetnfttypes.ModuleName, err) + } } - var content govtypes.Content - err := m.db.EncodingConfig.Marshaler.UnpackAny(proposal.Content, &content) + return nil +} + +// UpdateProposalsTallyResults updates the tally for active proposals +func (m *Module) UpdateProposalsTallyResults() error { + log.Debug().Str("module", "gov").Msg("refreshing proposal tally results") + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { - return fmt.Errorf("error while handling ParamChangeProposal: %s", err) + return err } - paramChangeProposal, ok := content.(*proposaltypes.ParameterChangeProposal) - if !ok { - return nil + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) + if err != nil { + log.Error().Err(err).Str("module", "gov").Msg("error while getting open proposals ids") } - for _, change := range paramChangeProposal.Changes { - // Update the params for corresponding modules - switch change.Subspace { - case distrtypes.ModuleName: - err = m.distrModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", distrtypes.ModuleName, err) - } - case govtypes.ModuleName: - err = m.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", govtypes.ModuleName, err) - } - case minttypes.ModuleName: - err = m.mintModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", minttypes.ModuleName, err) - } - case slashingtypes.ModuleName: - err = m.slashingModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", slashingtypes.ModuleName, err) - } - case stakingtypes.ModuleName: - err = m.stakingModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", stakingtypes.ModuleName, err) - } - case feemodeltypes.ModuleName: - err = m.feeModelModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", feemodeltypes.ModuleName, err) - } - case customparamstypes.CustomParamsStaking: - err = m.customParamsModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", customparamstypes.ModuleName, err) - } - case assetfttypes.ModuleName: - err = m.assetFTModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", assetfttypes.ModuleName, err) - } - case assetnfttypes.ModuleName: - err = m.assetNFTModule.UpdateParams(height) - if err != nil { - return fmt.Errorf("error while updating ParamChangeProposal %s params : %s", assetnfttypes.ModuleName, err) - } + + for _, proposalID := range ids { + err = m.UpdateProposalTallyResult(proposalID, block.Height) + if err != nil { + return fmt.Errorf("error while updating proposal %d tally result : %s", proposalID, err) } } - return nil -} -// updateProposalStatus updates the given proposal status -func (m *Module) updateProposalStatus(proposal govtypes.Proposal) error { - return m.db.UpdateProposal( - types.NewProposalUpdate( - proposal.ProposalId, - proposal.Status.String(), - proposal.VotingStartTime, - proposal.VotingEndTime, - ), - ) + return nil } -// updateProposalTallyResult updates the tally result associated with the given proposal -func (m *Module) updateProposalTallyResult(proposal govtypes.Proposal) error { - height, err := m.db.GetLastBlockHeight() - if err != nil { - return err - } - - result, err := m.source.TallyResult(height, proposal.ProposalId) +// UpdateProposalTallyResult updates the tally result associated with the given proposal ID +func (m *Module) UpdateProposalTallyResult(proposalID uint64, height int64) error { + result, err := m.source.TallyResult(height, proposalID) if err != nil { return fmt.Errorf("error while getting tally result: %s", err) } return m.db.SaveTallyResults([]types.TallyResult{ types.NewTallyResult( - proposal.ProposalId, - result.Yes.String(), - result.Abstain.String(), - result.No.String(), - result.NoWithVeto.String(), + proposalID, + result.YesCount, + result.AbstainCount, + result.NoCount, + result.NoWithVetoCount, height, ), }) } -// updateAccounts updates any account that might be involved in the proposal (eg. fund community recipient) -func (m *Module) updateAccounts(proposal govtypes.Proposal) error { - content, ok := proposal.Content.GetCachedValue().(*distrtypes.CommunityPoolSpendProposal) - if ok { - height, err := m.db.GetLastBlockHeight() - if err != nil { - return fmt.Errorf("error while getting last block height: %s", err) - } - - addresses := []string{content.Recipient} +func (m *Module) handlePassedProposal(proposal *govtypesv1.Proposal, height int64) error { + if proposal.Status != govtypesv1.StatusPassed { + // If proposal status is not passed, do nothing + return nil + } - err = m.authModule.RefreshAccounts(height, addresses) + for _, msg := range proposal.Messages { + var sdkMsg sdk.Msg + err := m.cdc.UnpackAny(msg, &sdkMsg) if err != nil { - return err + return fmt.Errorf("error while unpacking proposal message: %s", err) } - return nil - } - return nil -} + switch msg := sdkMsg.(type) { + case *govtypesv1.MsgExecLegacyContent: + err := m.handlePassedV1Beta1Proposal(proposal, msg, height) + if err != nil { + return err + } -// updateProposalStakingPoolSnapshot updates the staking pool snapshot associated with the gov -// proposal having the provided id -func (m *Module) updateProposalStakingPoolSnapshot(height int64, proposalID uint64) error { - pool, err := m.stakingModule.GetStakingPool(height) - if err != nil { - return fmt.Errorf("error while getting staking pool: %s", err) + default: + err := m.handlePassedV1Proposal(proposal, msg, height) + if err != nil { + return err + } + } } - return m.db.SaveProposalStakingPoolSnapshot( - types.NewProposalStakingPoolSnapshot(proposalID, pool), - ) + return nil } -// updateProposalValidatorStatusesSnapshot updates the snapshots of the various validators for -// the proposal having the given id -func (m *Module) updateProposalValidatorStatusesSnapshot( - height int64, proposalID uint64, blockVals *tmctypes.ResultValidators, -) error { - validators, _, err := m.stakingModule.GetValidatorsWithStatus(height, stakingtypes.Bonded.String()) - if err != nil { - return fmt.Errorf("error while getting validators with bonded status: %s", err) - } - - votingPowers, err := m.stakingModule.GetValidatorsVotingPowers(height, blockVals) - if err != nil { - return fmt.Errorf("error while getting validators voting powers: %s", err) - } - - statuses, err := m.stakingModule.GetValidatorsStatuses(height, validators) - if err != nil { - return fmt.Errorf("error while getting validator statuses: %s", err) - } - - var snapshots = make([]types.ProposalValidatorStatusSnapshot, len(validators)) - for index, validator := range validators { - consAddr, err := validator.GetConsAddr() +// handlePassedV1Proposal handles a passed proposal that contains a v1 message (new version) +func (m *Module) handlePassedV1Proposal(proposal *govtypesv1.Proposal, msg sdk.Msg, height int64) error { + switch msg := msg.(type) { + case *upgradetypes.MsgSoftwareUpgrade: + // Store software upgrade plan while SoftwareUpgradeProposal passed + err := m.db.SaveSoftwareUpgradePlan(proposal.Id, msg.Plan, height) if err != nil { - return err + return fmt.Errorf("error while storing software upgrade plan: %s", err) } - status, err := findStatus(consAddr.String(), statuses) + case *upgradetypes.MsgCancelUpgrade: + // Delete software upgrade plan while CancelSoftwareUpgradeProposal passed + err := m.db.DeleteSoftwareUpgradePlan(proposal.Id) if err != nil { - return fmt.Errorf("error while searching for status: %s", err) + return fmt.Errorf("error while deleting software upgrade plan: %s", err) } - votingPower, err := findVotingPower(consAddr.String(), votingPowers) - if err != nil { - return fmt.Errorf("error while searching for voting power: %s", err) + default: + // Try to see if it's a param change proposal. This should be handled as last case + // because it's the most generic one + subspace, ok := getParamChangeSubspace(msg) + if ok { + err := m.handleParamChangeProposal(height, subspace) + if err != nil { + return err + } } - - snapshots[index] = types.NewProposalValidatorStatusSnapshot( - proposalID, - consAddr.String(), - votingPower.VotingPower, - status.Status, - status.Jailed, - height, - ) } - return m.db.SaveProposalValidatorsStatusesSnapshots(snapshots) + return nil } -func findVotingPower(consAddr string, powers []types.ValidatorVotingPower) (types.ValidatorVotingPower, error) { - for _, votingPower := range powers { - if votingPower.ConsensusAddress == consAddr { - return votingPower, nil - } +// getParamChangeSubspace returns the subspace of the param change proposal, if any. +// If the message is not a param change proposal, it returns false +func getParamChangeSubspace(msg sdk.Msg) (string, bool) { + switch msg.(type) { + case *distrtypes.MsgUpdateParams: + return distrtypes.ModuleName, true + case *govtypesv1.MsgUpdateParams: + return gov.ModuleName, true + case *minttypes.MsgUpdateParams: + return minttypes.ModuleName, true + case *slashingtypes.MsgUpdateParams: + return slashingtypes.ModuleName, true + case *stakingtypes.MsgUpdateParams: + return stakingtypes.ModuleName, true + + default: + return "", false } - return types.ValidatorVotingPower{}, fmt.Errorf("voting power not found for validator with consensus address %s", consAddr) } -func findStatus(consAddr string, statuses []types.ValidatorStatus) (types.ValidatorStatus, error) { - for _, status := range statuses { - if status.ConsensusAddress == consAddr { - return status, nil +// handlePassedV1Beta1Proposal handles a passed proposal with a v1beta1 message (legacy) +func (m *Module) handlePassedV1Beta1Proposal(proposal *govtypesv1.Proposal, msg *govtypesv1.MsgExecLegacyContent, height int64) error { + // Unpack proposal + var content govtypesv1beta1.Content + var protoCodec codec.ProtoCodec + err := protoCodec.UnpackAny(msg.Content, &content) + if err != nil { + return fmt.Errorf("error while handling ParamChangeProposal: %s", err) + } + + switch p := content.(type) { + case *proposaltypes.ParameterChangeProposal: + // Update params while ParameterChangeProposal passed + for _, change := range p.Changes { + err = m.handleParamChangeProposal(height, change.Subspace) + if err != nil { + return fmt.Errorf("error while updating params from ParamChangeProposal: %s", err) + } + } + case *upgradetypes.SoftwareUpgradeProposal: + // Store software upgrade plan while SoftwareUpgradeProposal passed + err = m.db.SaveSoftwareUpgradePlan(proposal.Id, p.Plan, height) + if err != nil { + return fmt.Errorf("error while storing software upgrade plan: %s", err) + } + case *upgradetypes.CancelSoftwareUpgradeProposal: + // Delete software upgrade plan while CancelSoftwareUpgradeProposal passed + err = m.db.DeleteSoftwareUpgradePlan(proposal.Id) + if err != nil { + return fmt.Errorf("error while deleting software upgrade plan: %s", err) } } - return types.ValidatorStatus{}, fmt.Errorf("cannot find status for validator with consensus address %s", consAddr) + return nil } diff --git a/modules/mint/handle_genesis.go b/modules/mint/handle_genesis.go index 67d54f6f6..a48c55ee1 100644 --- a/modules/mint/handle_genesis.go +++ b/modules/mint/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/rs/zerolog/log" diff --git a/modules/mint/handle_periodic_operations.go b/modules/mint/handle_periodic_operations.go index c6f51555a..0a926f8bf 100644 --- a/modules/mint/handle_periodic_operations.go +++ b/modules/mint/handle_periodic_operations.go @@ -1,7 +1,7 @@ package mint import ( - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/utils" "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" @@ -12,8 +12,8 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { log.Debug().Str("module", "mint").Msg("setting up periodic tasks") // Setup a cron job to run every midnight - if _, err := scheduler.Every(1).Hour().Do(func() { - utils.WatchMethod(m.updateInflation) + if _, err := scheduler.Every(1).Day().At("00:00").Do(func() { + utils.WatchMethod(m.UpdateInflation) }); err != nil { return err } @@ -23,22 +23,22 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { // updateInflation fetches from the REST APIs the latest value for the // inflation, and saves it inside the database. -func (m *Module) updateInflation() error { +func (m *Module) UpdateInflation() error { log.Debug(). Str("module", "mint"). Str("operation", "inflation"). Msg("getting inflation data") - height, err := m.db.GetLastBlockHeight() + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { return err } // Get the inflation - inflation, err := m.source.GetInflation(height) + inflation, err := m.source.GetInflation(block.Height) if err != nil { return err } - return m.db.SaveInflation(inflation, height) + return m.db.SaveInflation(inflation, block.Height) } diff --git a/modules/mint/module.go b/modules/mint/module.go index e0b7fb834..1462dde5b 100644 --- a/modules/mint/module.go +++ b/modules/mint/module.go @@ -2,10 +2,10 @@ package mint import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v3/database" - mintsource "github.com/forbole/bdjuno/v3/modules/mint/source" + "github.com/forbole/bdjuno/v4/database" + mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" ) var ( diff --git a/modules/mint/source/local/source.go b/modules/mint/source/local/source.go index 7b997d02c..b9ec18f79 100644 --- a/modules/mint/source/local/source.go +++ b/modules/mint/source/local/source.go @@ -5,9 +5,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v3/node/local" + "github.com/forbole/juno/v5/node/local" - mintsource "github.com/forbole/bdjuno/v3/modules/mint/source" + mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" ) var ( diff --git a/modules/mint/source/remote/source.go b/modules/mint/source/remote/source.go index dbe41bc2b..8471e6c59 100644 --- a/modules/mint/source/remote/source.go +++ b/modules/mint/source/remote/source.go @@ -3,9 +3,9 @@ package remote import ( sdk "github.com/cosmos/cosmos-sdk/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - mintsource "github.com/forbole/bdjuno/v3/modules/mint/source" + mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" ) var ( diff --git a/modules/mint/utils_params.go b/modules/mint/utils_params.go index dbc1b6e43..af4805702 100644 --- a/modules/mint/utils_params.go +++ b/modules/mint/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/modules/module.go b/modules/modules/module.go index 79801ec8f..ae22fb7c6 100644 --- a/modules/modules/module.go +++ b/modules/modules/module.go @@ -1,10 +1,10 @@ package modules import ( - "github.com/forbole/juno/v3/modules" - "github.com/forbole/juno/v3/types/config" + "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" ) var ( diff --git a/modules/nft/account_parser.go b/modules/nft/account_parser.go index 89fbdb1a3..7194d4948 100644 --- a/modules/nft/account_parser.go +++ b/modules/nft/account_parser.go @@ -1,9 +1,10 @@ package nft import ( - "github.com/CoreumFoundation/coreum/v2/x/nft" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/CoreumFoundation/coreum/v3/x/nft" ) // MessagesParser returns the list of all the accounts involved in the given diff --git a/modules/pricefeed/coingecko/apis.go b/modules/pricefeed/coingecko/apis.go index 784dfa742..eedd0f68a 100644 --- a/modules/pricefeed/coingecko/apis.go +++ b/modules/pricefeed/coingecko/apis.go @@ -8,7 +8,7 @@ import ( "net/http" "strings" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // GetCoinsList allows to fetch from the remote APIs the list of all the supported tokens diff --git a/modules/pricefeed/coingecko/apis_test.go b/modules/pricefeed/coingecko/apis_test.go index 6f738a554..5164f6f5a 100644 --- a/modules/pricefeed/coingecko/apis_test.go +++ b/modules/pricefeed/coingecko/apis_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/forbole/bdjuno/v3/modules/pricefeed/coingecko" + "github.com/forbole/bdjuno/v4/modules/pricefeed/coingecko" ) func TestConvertCoingeckoPrices(t *testing.T) { diff --git a/modules/pricefeed/config.go b/modules/pricefeed/config.go index 24c5f5ce2..db3819e86 100644 --- a/modules/pricefeed/config.go +++ b/modules/pricefeed/config.go @@ -3,7 +3,7 @@ package pricefeed import ( "gopkg.in/yaml.v3" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // Config contains the configuration about the pricefeed module diff --git a/modules/pricefeed/handle_additional_operations.go b/modules/pricefeed/handle_additional_operations.go index eaa76c0c2..944a2cbb1 100644 --- a/modules/pricefeed/handle_additional_operations.go +++ b/modules/pricefeed/handle_additional_operations.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" ) diff --git a/modules/pricefeed/handle_periodic_operations.go b/modules/pricefeed/handle_periodic_operations.go index 1bd1f876d..0b893ffa8 100644 --- a/modules/pricefeed/handle_periodic_operations.go +++ b/modules/pricefeed/handle_periodic_operations.go @@ -7,10 +7,10 @@ import ( "github.com/go-co-op/gocron" "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - "github.com/forbole/bdjuno/v3/modules/pricefeed/coingecko" - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/pricefeed/coingecko" + "github.com/forbole/bdjuno/v4/modules/utils" ) // RegisterPeriodicOperations implements modules.PeriodicOperationsModule @@ -19,14 +19,14 @@ func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { // Fetch the token prices every 2 mins if _, err := scheduler.Every(2).Minutes().Do(func() { - utils.WatchMethod(m.updatePrice) + utils.WatchMethod(m.UpdatePrice) }); err != nil { return fmt.Errorf("error while setting up pricefeed period operations: %s", err) } // Update the historical token prices every 1 hour if _, err := scheduler.Every(1).Hour().Do(func() { - utils.WatchMethod(m.updatePricesHistory) + utils.WatchMethod(m.UpdatePricesHistory) }); err != nil { return fmt.Errorf("error while setting up history period operations: %s", err) } @@ -56,8 +56,8 @@ func (m *Module) getTokenPrices() ([]types.TokenPrice, error) { return prices, nil } -// updatePrice fetch total amount of coins in the system from RPC and store it into database -func (m *Module) updatePrice() error { +// UpdatePrice fetches the total amount of coins in the system from RPC and stores it in database +func (m *Module) UpdatePrice() error { log.Debug(). Str("module", "pricefeed"). Str("operation", "pricefeed"). @@ -78,9 +78,9 @@ func (m *Module) updatePrice() error { } -// updatePricesHistory fetches total amount of coins in the system from RPC +// UpdatePricesHistory fetches total amount of coins in the system from RPC // and stores historical perice data inside the database -func (m *Module) updatePricesHistory() error { +func (m *Module) UpdatePricesHistory() error { log.Debug(). Str("module", "pricefeed"). Str("operation", "pricefeed"). diff --git a/modules/pricefeed/module.go b/modules/pricefeed/module.go index 58d2f01ae..21b42634c 100644 --- a/modules/pricefeed/module.go +++ b/modules/pricefeed/module.go @@ -2,11 +2,11 @@ package pricefeed import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v3/types/config" + "github.com/forbole/juno/v5/types/config" - "github.com/forbole/bdjuno/v3/database" + "github.com/forbole/bdjuno/v4/database" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" ) var ( diff --git a/modules/registrar.go b/modules/registrar.go index 6c86b77a9..d433727c5 100644 --- a/modules/registrar.go +++ b/modules/registrar.go @@ -1,38 +1,40 @@ package modules import ( - "github.com/forbole/bdjuno/v3/modules/actions" - "github.com/forbole/bdjuno/v3/modules/types" + "github.com/forbole/bdjuno/v4/modules/actions" + "github.com/forbole/bdjuno/v4/modules/types" - "github.com/forbole/juno/v3/modules/pruning" - "github.com/forbole/juno/v3/modules/telemetry" + "github.com/forbole/juno/v5/modules/pruning" + "github.com/forbole/juno/v5/modules/telemetry" - "github.com/forbole/bdjuno/v3/modules/slashing" + "github.com/forbole/bdjuno/v4/modules/slashing" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" - jmodules "github.com/forbole/juno/v3/modules" - "github.com/forbole/juno/v3/modules/messages" - "github.com/forbole/juno/v3/modules/registrar" - - "github.com/forbole/bdjuno/v3/utils" - - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/bdjuno/v3/modules/assetft" - "github.com/forbole/bdjuno/v3/modules/assetnft" - "github.com/forbole/bdjuno/v3/modules/auth" - "github.com/forbole/bdjuno/v3/modules/bank" - "github.com/forbole/bdjuno/v3/modules/consensus" - "github.com/forbole/bdjuno/v3/modules/customparams" - "github.com/forbole/bdjuno/v3/modules/distribution" - "github.com/forbole/bdjuno/v3/modules/feegrant" - "github.com/forbole/bdjuno/v3/modules/feemodel" - "github.com/forbole/bdjuno/v3/modules/gov" - "github.com/forbole/bdjuno/v3/modules/mint" - "github.com/forbole/bdjuno/v3/modules/modules" - "github.com/forbole/bdjuno/v3/modules/pricefeed" - "github.com/forbole/bdjuno/v3/modules/staking" - "github.com/forbole/bdjuno/v3/modules/wasm" + jmodules "github.com/forbole/juno/v5/modules" + "github.com/forbole/juno/v5/modules/messages" + "github.com/forbole/juno/v5/modules/registrar" + + "github.com/forbole/bdjuno/v4/utils" + + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/bdjuno/v4/modules/assetft" + "github.com/forbole/bdjuno/v4/modules/assetnft" + "github.com/forbole/bdjuno/v4/modules/auth" + "github.com/forbole/bdjuno/v4/modules/bank" + "github.com/forbole/bdjuno/v4/modules/consensus" + "github.com/forbole/bdjuno/v4/modules/customparams" + dailyrefetch "github.com/forbole/bdjuno/v4/modules/daily_refetch" + "github.com/forbole/bdjuno/v4/modules/distribution" + "github.com/forbole/bdjuno/v4/modules/feegrant" + "github.com/forbole/bdjuno/v4/modules/feemodel" + "github.com/forbole/bdjuno/v4/modules/gov" + "github.com/forbole/bdjuno/v4/modules/mint" + "github.com/forbole/bdjuno/v4/modules/modules" + "github.com/forbole/bdjuno/v4/modules/pricefeed" + "github.com/forbole/bdjuno/v4/modules/staking" + "github.com/forbole/bdjuno/v4/modules/upgrade" + "github.com/forbole/bdjuno/v4/modules/wasm" ) // UniqueAddressesParser returns a wrapper around the given parser that removes all duplicated addresses @@ -67,7 +69,7 @@ func NewRegistrar(parser messages.MessageAddressesParser) *Registrar { // BuildModules implements modules.Registrar func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { - cdc := ctx.EncodingConfig.Marshaler + cdc := ctx.EncodingConfig.Codec db := database.Cast(ctx.Database) sources, err := types.BuildSources(ctx.JunoConfig.Node, ctx.EncodingConfig) @@ -79,20 +81,19 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { authModule := auth.NewModule(r.parser, cdc, db) bankModule := bank.NewModule(r.parser, sources.BankSource, cdc, db) consensusModule := consensus.NewModule(db) + dailyRefetchModule := dailyrefetch.NewModule(ctx.Proxy, db) distrModule := distribution.NewModule(sources.DistrSource, cdc, db) feegrantModule := feegrant.NewModule(cdc, db) mintModule := mint.NewModule(sources.MintSource, cdc, db) slashingModule := slashing.NewModule(sources.SlashingSource, cdc, db) - stakingModule := staking.NewModule(sources.StakingSource, slashingModule, cdc, db) + stakingModule := staking.NewModule(sources.StakingSource, cdc, db) feeModelModule := feemodel.NewModule(sources.FeeModelSource, cdc, db) customParamsModule := customparams.NewModule(sources.CustomParamsSource, cdc, db) assetFTModule := assetft.NewModule(sources.AssetFTSource, cdc, db) assetNFTModule := assetnft.NewModule(sources.AssetNFTSource, cdc, db) wasmModule := wasm.NewModule(r.parser, cdc, db) - govModule := gov.NewModule( sources.GovSource, - authModule, distrModule, mintModule, slashingModule, @@ -104,6 +105,7 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { cdc, db, ) + upgradeModule := upgrade.NewModule(db, stakingModule) return []jmodules.Module{ messages.NewModule(r.parser, cdc, ctx.Database), @@ -114,6 +116,7 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { authModule, bankModule, consensusModule, + dailyRefetchModule, distrModule, feegrantModule, govModule, @@ -122,6 +125,7 @@ func (r *Registrar) BuildModules(ctx registrar.Context) jmodules.Modules { pricefeed.NewModule(ctx.JunoConfig, cdc, db), slashingModule, stakingModule, + upgradeModule, feeModelModule, customParamsModule, assetFTModule, diff --git a/modules/slashing/handle_block.go b/modules/slashing/handle_block.go index 2b7f68384..928f83774 100644 --- a/modules/slashing/handle_block.go +++ b/modules/slashing/handle_block.go @@ -3,10 +3,10 @@ package slashing import ( "fmt" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" ) // HandleBlock implements BlockModule diff --git a/modules/slashing/handle_genesis.go b/modules/slashing/handle_genesis.go index a828f16a2..b5ee5e685 100644 --- a/modules/slashing/handle_genesis.go +++ b/modules/slashing/handle_genesis.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/rs/zerolog/log" diff --git a/modules/slashing/module.go b/modules/slashing/module.go index 481670127..70ada3ee8 100644 --- a/modules/slashing/module.go +++ b/modules/slashing/module.go @@ -2,10 +2,10 @@ package slashing import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v3/database" - slashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source" + "github.com/forbole/bdjuno/v4/database" + slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/source/local/source.go b/modules/slashing/source/local/source.go index e2cf4e179..95271bead 100644 --- a/modules/slashing/source/local/source.go +++ b/modules/slashing/source/local/source.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/forbole/juno/v3/node/local" + "github.com/forbole/juno/v5/node/local" - slashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source" + slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/source/remote/source.go b/modules/slashing/source/remote/source.go index e85c272ef..89722d2ab 100644 --- a/modules/slashing/source/remote/source.go +++ b/modules/slashing/source/remote/source.go @@ -5,9 +5,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - slashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source" + slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" ) var ( diff --git a/modules/slashing/utils_params.go b/modules/slashing/utils_params.go index d0103cd2c..1e4c468be 100644 --- a/modules/slashing/utils_params.go +++ b/modules/slashing/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // UpdateParams gets the slashing params for the given height, and stores them inside the database diff --git a/modules/slashing/utils_signing_info.go b/modules/slashing/utils_signing_info.go index 39e549e3a..fe07c3154 100644 --- a/modules/slashing/utils_signing_info.go +++ b/modules/slashing/utils_signing_info.go @@ -3,7 +3,7 @@ package slashing import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) func (m *Module) getSigningInfos(height int64) ([]types.ValidatorSigningInfo, error) { diff --git a/modules/staking/expected_modules.go b/modules/staking/expected_modules.go deleted file mode 100644 index 4df6fc484..000000000 --- a/modules/staking/expected_modules.go +++ /dev/null @@ -1,11 +0,0 @@ -package staking - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - - "github.com/forbole/bdjuno/v3/types" -) - -type SlashingModule interface { - GetSigningInfo(height int64, consAddr sdk.ConsAddress) (types.ValidatorSigningInfo, error) -} diff --git a/modules/staking/handle_block.go b/modules/staking/handle_block.go index b6dbcc6a0..741e16b53 100644 --- a/modules/staking/handle_block.go +++ b/modules/staking/handle_block.go @@ -4,14 +4,13 @@ import ( "encoding/hex" "fmt" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" + tmctypes "github.com/cometbft/cometbft/rpc/core/types" + tmtypes "github.com/cometbft/cometbft/types" "github.com/rs/zerolog/log" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - tmtypes "github.com/tendermint/tendermint/types" ) // HandleBlock implements BlockModule @@ -19,80 +18,30 @@ func (m *Module) HandleBlock( block *tmctypes.ResultBlock, res *tmctypes.ResultBlockResults, _ []*juno.Tx, vals *tmctypes.ResultValidators, ) error { // Update the validators - validators, err := m.updateValidators(block.Block.Height) + _, err := m.updateValidators(block.Block.Height) if err != nil { return fmt.Errorf("error while updating validators: %s", err) } - // Update the voting powers - go m.updateValidatorVotingPower(block.Block.Height, vals) - - // Update the validators statuses - go m.updateValidatorsStatus(block.Block.Height, validators) - // Updated the double sign evidences go m.updateDoubleSignEvidence(block.Block.Height, block.Block.Evidence.Evidence) - // Update the staking pool - go m.updateStakingPool(block.Block.Height) - return nil } -// updateValidatorsStatus updates all validators' statuses -func (m *Module) updateValidatorsStatus(height int64, validators []stakingtypes.Validator) { - log.Debug().Str("module", "staking").Int64("height", height). - Msg("updating validators statuses") - - statuses, err := m.GetValidatorsStatuses(height, validators) - if err != nil { - log.Error().Str("module", "staking").Err(err). - Int64("height", height). - Send() - return - } - - err = m.db.SaveValidatorsStatuses(statuses) - if err != nil { - log.Error().Str("module", "staking").Err(err). - Int64("height", height). - Msg("error while saving validators statuses") - } -} - -// updateValidatorVotingPower fetches and stores into the database all the current validators' voting powers -func (m *Module) updateValidatorVotingPower(height int64, vals *tmctypes.ResultValidators) { - log.Debug().Str("module", "staking").Int64("height", height). - Msg("updating validators voting powers") - - // Get the voting powers - votingPowers, err := m.GetValidatorsVotingPowers(height, vals) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while getting validators voting powers") - return - } - - // Save all the voting powers - err = m.db.SaveValidatorsVotingPowers(votingPowers) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while saving validators voting powers") - } -} - // updateDoubleSignEvidence updates the double sign evidence of all validators func (m *Module) updateDoubleSignEvidence(height int64, evidenceList tmtypes.EvidenceList) { log.Debug().Str("module", "staking").Int64("height", height). Msg("updating double sign evidence") + var evidences []types.DoubleSignEvidence for _, ev := range evidenceList { dve, ok := ev.(*tmtypes.DuplicateVoteEvidence) if !ok { continue } - evidence := types.NewDoubleSignEvidence( + evidences = append(evidences, types.NewDoubleSignEvidence( height, types.NewDoubleSignVote( int(dve.VoteA.Type), @@ -112,34 +61,15 @@ func (m *Module) updateDoubleSignEvidence(height int64, evidenceList tmtypes.Evi dve.VoteB.ValidatorIndex, hex.EncodeToString(dve.VoteB.Signature), ), + ), ) - - err := m.db.SaveDoubleSignEvidence(evidence) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while saving double sign evidence") - return - } - } -} - -// updateStakingPool reads from the LCD the current staking pool and stores its value inside the database -func (m *Module) updateStakingPool(height int64) { - log.Debug().Str("module", "staking").Int64("height", height). - Msg("updating staking pool") - pool, err := m.GetStakingPool(height) + err := m.db.SaveDoubleSignEvidences(evidences) if err != nil { log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while getting staking pool") + Msg("error while saving double sign evidence") return } - err = m.db.SaveStakingPool(pool) - if err != nil { - log.Error().Str("module", "staking").Err(err).Int64("height", height). - Msg("error while saving staking pool") - return - } } diff --git a/modules/staking/handle_genesis.go b/modules/staking/handle_genesis.go index aef97e9c9..c01f28954 100644 --- a/modules/staking/handle_genesis.go +++ b/modules/staking/handle_genesis.go @@ -6,9 +6,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" - tmtypes "github.com/tendermint/tendermint/types" + tmtypes "github.com/cometbft/cometbft/types" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -132,10 +132,12 @@ func (m *Module) saveValidatorDescription(doc *tmtypes.GenesisDoc, validators st // saveValidatorsCommissions save the initial commission for each validator func (m *Module) saveValidatorsCommissions(height int64, validators stakingtypes.Validators) error { for _, account := range validators { + commissionRate := account.Commission.Rate + minSelfDelegation := account.MinSelfDelegation err := m.db.SaveValidatorCommission(types.NewValidatorCommission( account.OperatorAddress, - &account.Commission.Rate, - &account.MinSelfDelegation, + &commissionRate, + &minSelfDelegation, height, )) if err != nil { diff --git a/modules/staking/handle_msg.go b/modules/staking/handle_msg.go index ffd606bf7..d463a0d17 100644 --- a/modules/staking/handle_msg.go +++ b/modules/staking/handle_msg.go @@ -3,14 +3,20 @@ package staking import ( "fmt" + "github.com/cosmos/cosmos-sdk/x/authz" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" ) +// HandleMsgExec implements modules.AuthzMessageModule +func (m *Module) HandleMsgExec(index int, _ *authz.MsgExec, _ int, executedMsg sdk.Msg, tx *juno.Tx) error { + return m.HandleMsg(index, executedMsg, tx) +} + // HandleMsg implements MessageModule -func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { +func (m *Module) HandleMsg(_ int, msg sdk.Msg, tx *juno.Tx) error { if len(tx.Logs) == 0 { return nil } @@ -21,6 +27,19 @@ func (m *Module) HandleMsg(index int, msg sdk.Msg, tx *juno.Tx) error { case *stakingtypes.MsgEditValidator: return m.handleEditValidator(tx.Height, cosmosMsg) + + // update validators statuses, voting power + // and proposals validators satatus snapshots + // when there is a voting power change + case *stakingtypes.MsgDelegate: + return m.UpdateValidatorStatuses() + + case *stakingtypes.MsgBeginRedelegate: + return m.UpdateValidatorStatuses() + + case *stakingtypes.MsgUndelegate: + return m.UpdateValidatorStatuses() + } return nil diff --git a/modules/staking/handle_periodic_operations.go b/modules/staking/handle_periodic_operations.go new file mode 100644 index 000000000..646ca2d2b --- /dev/null +++ b/modules/staking/handle_periodic_operations.go @@ -0,0 +1,55 @@ +package staking + +import ( + "fmt" + + "github.com/go-co-op/gocron" + "github.com/rs/zerolog/log" + + "github.com/forbole/bdjuno/v4/modules/utils" +) + +// RegisterPeriodicOperations implements modules.PeriodicOperationsModule +func (m *Module) RegisterPeriodicOperations(scheduler *gocron.Scheduler) error { + log.Debug().Str("module", "staking").Msg("setting up periodic tasks") + + // Update the staking pool every 5 mins + if _, err := scheduler.Every(5).Minutes().Do(func() { + utils.WatchMethod(m.UpdateStakingPool) + }); err != nil { + return fmt.Errorf("error while scheduling staking pool periodic operation: %s", err) + } + + // refresh proposal validators status snapshots every 5 mins + if _, err := scheduler.Every(5).Minutes().Do(func() { + utils.WatchMethod(m.UpdateValidatorStatuses) + }); err != nil { + return fmt.Errorf("error while setting up gov period operations: %s", err) + } + + return nil +} + +// UpdateStakingPool reads from the LCD the current staking pool and stores its value inside the database +func (m *Module) UpdateStakingPool() error { + block, err := m.db.GetLastBlockHeightAndTimestamp() + if err != nil { + return fmt.Errorf("error while getting latest block height: %s", err) + } + log.Debug().Str("module", "staking").Int64("height", block.Height). + Msg("updating staking pool") + + pool, err := m.GetStakingPool(block.Height) + if err != nil { + return fmt.Errorf("error while getting staking pool: %s", err) + + } + + err = m.db.SaveStakingPool(pool) + if err != nil { + return fmt.Errorf("error while saving staking pool: %s", err) + + } + + return nil +} diff --git a/modules/staking/module.go b/modules/staking/module.go index 9dfb5a926..c92c67350 100644 --- a/modules/staking/module.go +++ b/modules/staking/module.go @@ -2,37 +2,35 @@ package staking import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/juno/v3/modules" + "github.com/forbole/juno/v5/modules" - "github.com/forbole/bdjuno/v3/database" - stakingsource "github.com/forbole/bdjuno/v3/modules/staking/source" + "github.com/forbole/bdjuno/v4/database" + stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" ) var ( - _ modules.Module = &Module{} - _ modules.GenesisModule = &Module{} - _ modules.BlockModule = &Module{} - _ modules.MessageModule = &Module{} + _ modules.Module = &Module{} + _ modules.GenesisModule = &Module{} + _ modules.BlockModule = &Module{} + _ modules.MessageModule = &Module{} + _ modules.PeriodicOperationsModule = &Module{} ) // Module represents the x/staking module type Module struct { - cdc codec.Codec - db *database.Db - source stakingsource.Source - slashingModule SlashingModule + cdc codec.Codec + db *database.Db + source stakingsource.Source } // NewModule returns a new Module instance func NewModule( - source stakingsource.Source, slashingModule SlashingModule, - cdc codec.Codec, db *database.Db, + source stakingsource.Source, cdc codec.Codec, db *database.Db, ) *Module { return &Module{ - cdc: cdc, - db: db, - source: source, - slashingModule: slashingModule, + cdc: cdc, + db: db, + source: source, } } diff --git a/modules/staking/source/local/source.go b/modules/staking/source/local/source.go index 7b630b1d7..d1d1825fb 100644 --- a/modules/staking/source/local/source.go +++ b/modules/staking/source/local/source.go @@ -6,9 +6,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v3/node/local" + "github.com/forbole/juno/v5/node/local" - stakingsource "github.com/forbole/bdjuno/v3/modules/staking/source" + stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" ) var ( diff --git a/modules/staking/source/remote/source.go b/modules/staking/source/remote/source.go index 7089620c2..dd1d51fa7 100644 --- a/modules/staking/source/remote/source.go +++ b/modules/staking/source/remote/source.go @@ -5,9 +5,9 @@ import ( "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - stakingsource "github.com/forbole/bdjuno/v3/modules/staking/source" + stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" ) var ( diff --git a/modules/staking/source/remote/source_actions.go b/modules/staking/source/remote/source_actions.go index 8fa9ad817..3af79ff51 100644 --- a/modules/staking/source/remote/source_actions.go +++ b/modules/staking/source/remote/source_actions.go @@ -3,9 +3,9 @@ package remote import ( "github.com/cosmos/cosmos-sdk/types/query" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/juno/v3/node/remote" + "github.com/forbole/juno/v5/node/remote" - "github.com/forbole/bdjuno/v3/utils" + "github.com/forbole/bdjuno/v4/utils" ) // GetDelegationsWithPagination implements stakingsource.Source diff --git a/modules/staking/utils_gentx.go b/modules/staking/utils_gentx.go index 9b2200e4c..42726c63b 100644 --- a/modules/staking/utils_gentx.go +++ b/modules/staking/utils_gentx.go @@ -7,8 +7,8 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/forbole/bdjuno/v3/modules/staking/keybase" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/modules/staking/keybase" + "github.com/forbole/bdjuno/v4/types" ) // StoreValidatorFromMsgCreateValidator handles properly a MsgCreateValidator instance by diff --git a/modules/staking/utils_params.go b/modules/staking/utils_params.go index 1558597c8..eff89883c 100644 --- a/modules/staking/utils_params.go +++ b/modules/staking/utils_params.go @@ -5,7 +5,7 @@ import ( "github.com/rs/zerolog/log" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/types" ) // UpdateParams gets the updated params and stores them inside the database diff --git a/modules/staking/utils_staking_pool.go b/modules/staking/utils_staking_pool.go index 21991fce9..3cc64cbbf 100644 --- a/modules/staking/utils_staking_pool.go +++ b/modules/staking/utils_staking_pool.go @@ -3,7 +3,11 @@ package staking import ( "fmt" - "github.com/forbole/bdjuno/v3/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/query" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + + "github.com/forbole/bdjuno/v4/types" ) func (m *Module) GetStakingPool(height int64) (*types.Pool, error) { @@ -12,5 +16,58 @@ func (m *Module) GetStakingPool(height int64) (*types.Pool, error) { return nil, fmt.Errorf("error while getting staking pool: %s", err) } - return types.NewPool(pool.BondedTokens, pool.NotBondedTokens, height), nil + validatorsList, err := m.db.GetValidators() + if err != nil { + return nil, fmt.Errorf("error while getting validators list: %s", err) + } + + var unbondingTokens = sdk.NewInt(0) + + for _, validator := range validatorsList { + // get list of all unbonding delegations for each validator + unbondingDelegations := m.getTotalUnbondingDelegationsFromValidator(height, validator.GetOperator()) + if len(unbondingDelegations) > 0 { + // calculate total value of unbonding tokens + for _, unbonding := range unbondingDelegations { + for _, entry := range unbonding.Entries { + unbondingTokens = unbondingTokens.Add(entry.Balance) + } + } + } + + } + + // calculate total value of staked tokens that are not bonded + stakedNotBondedTokens := pool.NotBondedTokens.Sub(unbondingTokens) + + return types.NewPool(pool.BondedTokens, pool.NotBondedTokens, unbondingTokens, stakedNotBondedTokens, height), nil +} + +func (m *Module) GetStakingPoolSnapshot(height int64) (*types.PoolSnapshot, error) { + pool, err := m.source.GetPool(height) + if err != nil { + return nil, fmt.Errorf("error while getting staking pool snapshot: %s", err) + } + + return types.NewPoolSnapshot(pool.BondedTokens, pool.NotBondedTokens, height), nil +} + +func (m *Module) getTotalUnbondingDelegationsFromValidator(height int64, valOperatorAddress string) []stakingtypes.UnbondingDelegation { + var unbondingDelegations []stakingtypes.UnbondingDelegation + var nextKey []byte + var stop = false + for !stop { + res, err := m.source.GetUnbondingDelegationsFromValidator(height, + valOperatorAddress, + &query.PageRequest{Key: nextKey}, + ) + if err != nil { + return []stakingtypes.UnbondingDelegation{} + } + + nextKey = res.Pagination.NextKey + stop = len(res.Pagination.NextKey) == 0 + unbondingDelegations = append(unbondingDelegations, res.UnbondingResponses...) + } + return unbondingDelegations } diff --git a/modules/staking/utils_validators.go b/modules/staking/utils_validators.go index 575bed236..30ae17f40 100644 --- a/modules/staking/utils_validators.go +++ b/modules/staking/utils_validators.go @@ -2,15 +2,9 @@ package staking import ( "fmt" - "strings" - "google.golang.org/grpc/codes" - - juno "github.com/forbole/juno/v3/types" - tmctypes "github.com/tendermint/tendermint/rpc/core/types" - - "github.com/forbole/bdjuno/v3/modules/staking/keybase" - "github.com/forbole/bdjuno/v3/types" + "github.com/forbole/bdjuno/v4/modules/staking/keybase" + "github.com/forbole/bdjuno/v4/types" "github.com/rs/zerolog/log" @@ -83,6 +77,25 @@ func (m *Module) convertValidatorDescription( // -------------------------------------------------------------------------------------------------------------------- +// RefreshAllValidatorInfos refreshes the info of all the validators at the given height +func (m *Module) RefreshAllValidatorInfos(height int64) error { + // Get all validators + validators, err := m.source.GetValidatorsWithStatus(height, "") + if err != nil { + return fmt.Errorf("error while getting validators: %s", err) + } + + // Refresh each validator + for _, validator := range validators { + err = m.RefreshValidatorInfos(height, validator.OperatorAddress) + if err != nil { + return fmt.Errorf("error while refreshing validator: %s", err) + } + } + + return nil +} + // RefreshValidatorInfos refreshes the info for the validator with the given operator address at the provided height func (m *Module) RefreshValidatorInfos(height int64, valOper string) error { stakingValidator, err := m.source.GetValidator(height, valOper) @@ -176,17 +189,11 @@ func (m *Module) GetValidatorsStatuses(height int64, validators []stakingtypes.V return nil, fmt.Errorf("error while getting validator consensus public key: %s", err) } - valSigningInfo, err := m.slashingModule.GetSigningInfo(height, consAddr) - if err != nil && !strings.Contains(err.Error(), codes.NotFound.String()) { - return nil, fmt.Errorf("error while getting validator signing info: %s", err) - } - statuses[index] = types.NewValidatorStatus( consAddr.String(), consPubKey.String(), int(validator.GetStatus()), validator.IsJailed(), - valSigningInfo.Tombstoned, height, ) } @@ -194,35 +201,120 @@ func (m *Module) GetValidatorsStatuses(height int64, validators []stakingtypes.V return statuses, nil } -func (m *Module) GetValidatorsVotingPowers(height int64, vals *tmctypes.ResultValidators) ([]types.ValidatorVotingPower, error) { - stakingVals, _, err := m.getValidators(height) +// UpdateValidatorStatuses allows to update validators status, voting power +// and active proposals validator status snapshots +func (m *Module) UpdateValidatorStatuses() error { + // get the latest block height from db + block, err := m.db.GetLastBlockHeightAndTimestamp() if err != nil { - return nil, err + return fmt.Errorf("error while getting latest block height from db: %s", err) } - votingPowers := make([]types.ValidatorVotingPower, len(stakingVals)) - for index, validator := range stakingVals { - // Get the validator consensus address + validators, _, err := m.GetValidatorsWithStatus(block.Height, stakingtypes.Bonded.String()) + if err != nil { + return fmt.Errorf("error while getting validators with bonded status: %s", err) + } + + // update validators status and voting power in database + err = m.updateValidatorStatusAndVP(block.Height, validators) + if err != nil { + return fmt.Errorf("error while updating validators status and voting power: %s", err) + } + + // get all active proposals IDs from db + ids, err := m.db.GetOpenProposalsIds(block.BlockTimestamp) + if err != nil { + return fmt.Errorf("error while getting open proposals ids: %s", err) + } + + // update validator status snapshots for all proposals IDs + // returned from database + for _, id := range ids { + // update validator status snapshot for given height and proposal ID + err = m.updateProposalValidatorStatusSnapshot(block.Height, id, validators) + if err != nil { + return fmt.Errorf("error while updating proposal validator status snapshots: %s", err) + } + } + + return nil +} + +// updateProposalValidatorStatusSnapshot updates validators snapshot for +// the proposal having the given id +func (m *Module) updateProposalValidatorStatusSnapshot( + height int64, proposalID uint64, validators []stakingtypes.Validator) error { + snapshots := make([]types.ProposalValidatorStatusSnapshot, len(validators)) + + for index, validator := range validators { consAddr, err := validator.GetConsAddr() if err != nil { - return nil, err + return err } - // Find the voting power of this validator - var votingPower int64 = 0 - for _, blockVal := range vals.Validators { - blockValConsAddr := juno.ConvertValidatorAddressToBech32String(blockVal.Address) - if blockValConsAddr == consAddr.String() { - votingPower = blockVal.VotingPower - } + snapshots[index] = types.NewProposalValidatorStatusSnapshot( + proposalID, + consAddr.String(), + validator.Tokens.Int64(), + validator.Status, + validator.Jailed, + height, + ) + } + + log.Debug().Str("module", "staking").Msg("refreshing proposal validator statuses snapshots") + + return m.db.SaveProposalValidatorsStatusesSnapshots(snapshots) +} + +// updateValidatorStatusAndVP updates validators status +// and validators voting power +func (m *Module) updateValidatorStatusAndVP(height int64, validators []stakingtypes.Validator) error { + votingPowers := make([]types.ValidatorVotingPower, len(validators)) + statuses := make([]types.ValidatorStatus, len(validators)) + + for index, validator := range validators { + consAddr, err := validator.GetConsAddr() + if err != nil { + return err } if found, _ := m.db.HasValidator(consAddr.String()); !found { continue } - votingPowers[index] = types.NewValidatorVotingPower(consAddr.String(), votingPower, height) + consPubKey, err := m.getValidatorConsPubKey(validator) + if err != nil { + return err + } + + votingPowers[index] = types.NewValidatorVotingPower(consAddr.String(), validator.Tokens.Int64(), height) + + statuses[index] = types.NewValidatorStatus( + consAddr.String(), + consPubKey.String(), + int(validator.GetStatus()), + validator.IsJailed(), + height, + ) + } + + log.Debug().Str("module", "staking").Msg("refreshing validator voting power") + // Save validators voting powers in db + err := m.db.SaveValidatorsVotingPowers(votingPowers) + if err != nil { + log.Error().Str("module", "staking").Err(err).Int64("height", height). + Msg("error while saving validators voting powers") + } + + log.Debug().Str("module", "staking").Msg("refreshing validator statuses") + // Save validators statuses in db + err = m.db.SaveValidatorsStatuses(statuses) + if err != nil { + log.Error().Str("module", "staking").Err(err). + Int64("height", height). + Msg("error while saving validators statuses") } - return votingPowers, nil + return nil } diff --git a/modules/types/sources.go b/modules/types/sources.go index 3c943e0a6..106a53e9b 100644 --- a/modules/types/sources.go +++ b/modules/types/sources.go @@ -4,53 +4,52 @@ import ( "fmt" "os" - "github.com/cosmos/cosmos-sdk/simapp" - "github.com/tendermint/tendermint/libs/log" + "cosmossdk.io/simapp" + "cosmossdk.io/simapp/params" + "github.com/cometbft/cometbft/libs/log" + "github.com/forbole/juno/v5/node/remote" - "github.com/cosmos/cosmos-sdk/simapp/params" - "github.com/forbole/juno/v3/node/remote" - - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" - customparamstypes "github.com/CoreumFoundation/coreum/v2/x/customparams/types" - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - assetftsource "github.com/forbole/bdjuno/v3/modules/assetft/source" - assetnftsource "github.com/forbole/bdjuno/v3/modules/assetnft/source" - "github.com/forbole/juno/v3/node/local" - - nodeconfig "github.com/forbole/juno/v3/node/config" - - remoteassetftsource "github.com/forbole/bdjuno/v3/modules/assetft/source/remote" - remoteassetnftsource "github.com/forbole/bdjuno/v3/modules/assetnft/source/remote" - banksource "github.com/forbole/bdjuno/v3/modules/bank/source" - localbanksource "github.com/forbole/bdjuno/v3/modules/bank/source/local" - remotebanksource "github.com/forbole/bdjuno/v3/modules/bank/source/remote" - customparamssource "github.com/forbole/bdjuno/v3/modules/customparams/source" - remotecustomparamssource "github.com/forbole/bdjuno/v3/modules/customparams/source/remote" - distrsource "github.com/forbole/bdjuno/v3/modules/distribution/source" - localdistrsource "github.com/forbole/bdjuno/v3/modules/distribution/source/local" - remotedistrsource "github.com/forbole/bdjuno/v3/modules/distribution/source/remote" - feemodelsource "github.com/forbole/bdjuno/v3/modules/feemodel/source" - remotefeemodelsource "github.com/forbole/bdjuno/v3/modules/feemodel/source/remote" - govsource "github.com/forbole/bdjuno/v3/modules/gov/source" - localgovsource "github.com/forbole/bdjuno/v3/modules/gov/source/local" - remotegovsource "github.com/forbole/bdjuno/v3/modules/gov/source/remote" - mintsource "github.com/forbole/bdjuno/v3/modules/mint/source" - localmintsource "github.com/forbole/bdjuno/v3/modules/mint/source/local" - remotemintsource "github.com/forbole/bdjuno/v3/modules/mint/source/remote" - slashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source" - localslashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source/local" - remoteslashingsource "github.com/forbole/bdjuno/v3/modules/slashing/source/remote" - stakingsource "github.com/forbole/bdjuno/v3/modules/staking/source" - localstakingsource "github.com/forbole/bdjuno/v3/modules/staking/source/local" - remotestakingsource "github.com/forbole/bdjuno/v3/modules/staking/source/remote" + assetftsource "github.com/forbole/bdjuno/v4/modules/assetft/source" + assetnftsource "github.com/forbole/bdjuno/v4/modules/assetnft/source" + "github.com/forbole/juno/v5/node/local" + + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" + customparamstypes "github.com/CoreumFoundation/coreum/v3/x/customparams/types" + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" + + nodeconfig "github.com/forbole/juno/v5/node/config" + + remoteassetftsource "github.com/forbole/bdjuno/v4/modules/assetft/source/remote" + remoteassetnftsource "github.com/forbole/bdjuno/v4/modules/assetnft/source/remote" + banksource "github.com/forbole/bdjuno/v4/modules/bank/source" + localbanksource "github.com/forbole/bdjuno/v4/modules/bank/source/local" + remotebanksource "github.com/forbole/bdjuno/v4/modules/bank/source/remote" + customparamssource "github.com/forbole/bdjuno/v4/modules/customparams/source" + remotecustomparamssource "github.com/forbole/bdjuno/v4/modules/customparams/source/remote" + distrsource "github.com/forbole/bdjuno/v4/modules/distribution/source" + remotedistrsource "github.com/forbole/bdjuno/v4/modules/distribution/source/remote" + feemodelsource "github.com/forbole/bdjuno/v4/modules/feemodel/source" + remotefeemodelsource "github.com/forbole/bdjuno/v4/modules/feemodel/source/remote" + govsource "github.com/forbole/bdjuno/v4/modules/gov/source" + localgovsource "github.com/forbole/bdjuno/v4/modules/gov/source/local" + remotegovsource "github.com/forbole/bdjuno/v4/modules/gov/source/remote" + mintsource "github.com/forbole/bdjuno/v4/modules/mint/source" + localmintsource "github.com/forbole/bdjuno/v4/modules/mint/source/local" + remotemintsource "github.com/forbole/bdjuno/v4/modules/mint/source/remote" + slashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source" + localslashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source/local" + remoteslashingsource "github.com/forbole/bdjuno/v4/modules/slashing/source/remote" + stakingsource "github.com/forbole/bdjuno/v4/modules/staking/source" + localstakingsource "github.com/forbole/bdjuno/v4/modules/staking/source/local" + remotestakingsource "github.com/forbole/bdjuno/v4/modules/staking/source/remote" ) type Sources struct { @@ -85,14 +84,13 @@ func buildLocalSources(cfg *local.Details, encodingConfig *params.EncodingConfig } app := simapp.NewSimApp( - log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, map[int64]bool{}, - cfg.Home, 0, simapp.MakeTestEncodingConfig(), simapp.EmptyAppOptions{}, + log.NewTMLogger(log.NewSyncWriter(os.Stdout)), source.StoreDB, nil, true, nil, nil, ) sources := &Sources{ - BankSource: localbanksource.NewSource(source, banktypes.QueryServer(app.BankKeeper)), - DistrSource: localdistrsource.NewSource(source, distrtypes.QueryServer(app.DistrKeeper)), - GovSource: localgovsource.NewSource(source, govtypes.QueryServer(app.GovKeeper)), + BankSource: localbanksource.NewSource(source, banktypes.QueryServer(app.BankKeeper)), + // DistrSource: localdistrsource.NewSource(source, distrtypes.QueryServer(app.DistrKeeper)), + GovSource: localgovsource.NewSource(source, govtypesv1.QueryServer(app.GovKeeper)), MintSource: localmintsource.NewSource(source, minttypes.QueryServer(app.MintKeeper)), SlashingSource: localslashingsource.NewSource(source, slashingtypes.QueryServer(app.SlashingKeeper)), StakingSource: localstakingsource.NewSource(source, stakingkeeper.Querier{Keeper: app.StakingKeeper}), @@ -131,7 +129,7 @@ func buildRemoteSources(cfg *remote.Details) (*Sources, error) { return &Sources{ BankSource: remotebanksource.NewSource(source, banktypes.NewQueryClient(source.GrpcConn)), DistrSource: remotedistrsource.NewSource(source, distrtypes.NewQueryClient(source.GrpcConn)), - GovSource: remotegovsource.NewSource(source, govtypes.NewQueryClient(source.GrpcConn)), + GovSource: remotegovsource.NewSource(source, govtypesv1.NewQueryClient(source.GrpcConn)), MintSource: remotemintsource.NewSource(source, minttypes.NewQueryClient(source.GrpcConn)), SlashingSource: remoteslashingsource.NewSource(source, slashingtypes.NewQueryClient(source.GrpcConn)), StakingSource: remotestakingsource.NewSource(source, stakingtypes.NewQueryClient(source.GrpcConn)), diff --git a/modules/upgrade/expected_modules.go b/modules/upgrade/expected_modules.go new file mode 100644 index 000000000..1ee349204 --- /dev/null +++ b/modules/upgrade/expected_modules.go @@ -0,0 +1,5 @@ +package upgrade + +type StakingModule interface { + RefreshAllValidatorInfos(height int64) error +} diff --git a/modules/upgrade/handle_block.go b/modules/upgrade/handle_block.go new file mode 100644 index 000000000..c5ca62fd8 --- /dev/null +++ b/modules/upgrade/handle_block.go @@ -0,0 +1,45 @@ +package upgrade + +import ( + "fmt" + + "github.com/forbole/juno/v5/types" + + tmctypes "github.com/cometbft/cometbft/rpc/core/types" +) + +// HandleBlock implements modules.Module +func (m *Module) HandleBlock( + b *tmctypes.ResultBlock, _ *tmctypes.ResultBlockResults, _ []*types.Tx, _ *tmctypes.ResultValidators, +) error { + err := m.refreshDataUponSoftwareUpgrade(b.Block.Height) + if err != nil { + return fmt.Errorf("error while refreshing data upon software upgrade: %s", err) + } + + return nil +} + +func (m *Module) refreshDataUponSoftwareUpgrade(height int64) error { + exist, err := m.db.CheckSoftwareUpgradePlan(height) + if err != nil { + return fmt.Errorf("error while checking software upgrade plan existence: %s", err) + } + if !exist { + return nil + } + + // Refresh validator infos + err = m.stakingModule.RefreshAllValidatorInfos(height) + if err != nil { + return fmt.Errorf("error while refreshing validator infos upon software upgrade: %s", err) + } + + // Delete plan after refreshing data + err = m.db.TruncateSoftwareUpgradePlan(height) + if err != nil { + return fmt.Errorf("error while truncating software upgrade plan: %s", err) + } + + return nil +} diff --git a/modules/upgrade/module.go b/modules/upgrade/module.go new file mode 100644 index 000000000..463c3fa18 --- /dev/null +++ b/modules/upgrade/module.go @@ -0,0 +1,31 @@ +package upgrade + +import ( + "github.com/forbole/bdjuno/v4/database" + + "github.com/forbole/juno/v5/modules" +) + +var ( + _ modules.Module = &Module{} + _ modules.BlockModule = &Module{} +) + +// Module represents the x/upgrade module +type Module struct { + db *database.Db + stakingModule StakingModule +} + +// NewModule builds a new Module instance +func NewModule(db *database.Db, stakingModule StakingModule) *Module { + return &Module{ + stakingModule: stakingModule, + db: db, + } +} + +// Name implements modules.Module +func (m *Module) Name() string { + return "upgrade" +} diff --git a/modules/utils/addresses_test.go b/modules/utils/addresses_test.go index 0c3ac8ec5..303f78141 100644 --- a/modules/utils/addresses_test.go +++ b/modules/utils/addresses_test.go @@ -3,7 +3,7 @@ package utils_test import ( "testing" - "github.com/forbole/bdjuno/v3/modules/utils" + "github.com/forbole/bdjuno/v4/modules/utils" "github.com/stretchr/testify/require" ) diff --git a/modules/utils/time.go b/modules/utils/time.go new file mode 100644 index 000000000..e52cfedcd --- /dev/null +++ b/modules/utils/time.go @@ -0,0 +1,17 @@ +package utils + +import ( + "time" +) + +func AreTimesEqual(first *time.Time, second *time.Time) bool { + if first == nil && second == nil { + return true + } + + if first == nil || second == nil { + return false + } + + return first.Equal(*second) +} diff --git a/modules/wasm/handle_msg.go b/modules/wasm/handle_msg.go index 684015e35..1b368f64f 100644 --- a/modules/wasm/handle_msg.go +++ b/modules/wasm/handle_msg.go @@ -4,11 +4,11 @@ import ( "strings" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + tmtypes "github.com/cometbft/cometbft/abci/types" sdk "github.com/cosmos/cosmos-sdk/types" - juno "github.com/forbole/juno/v3/types" + juno "github.com/forbole/juno/v5/types" "github.com/gogo/protobuf/proto" "github.com/samber/lo" - tmtypes "github.com/tendermint/tendermint/abci/types" ) // HandleMsg implements MessageModule diff --git a/modules/wasm/module.go b/modules/wasm/module.go index 6a528e49f..46c12e231 100644 --- a/modules/wasm/module.go +++ b/modules/wasm/module.go @@ -2,9 +2,9 @@ package wasm import ( "github.com/cosmos/cosmos-sdk/codec" - "github.com/forbole/bdjuno/v3/database" - "github.com/forbole/juno/v3/modules" - junomessages "github.com/forbole/juno/v3/modules/messages" + "github.com/forbole/bdjuno/v4/database" + "github.com/forbole/juno/v5/modules" + junomessages "github.com/forbole/juno/v5/modules/messages" ) var ( diff --git a/testutils/time.go b/testutils/time.go new file mode 100644 index 000000000..64bd9d401 --- /dev/null +++ b/testutils/time.go @@ -0,0 +1,13 @@ +package testutils + +import ( + "time" +) + +func NewDurationPointer(duration time.Duration) *time.Duration { + return &duration +} + +func NewTimePointer(time time.Time) *time.Time { + return &time +} diff --git a/tools/tools.go b/tools/tools.go new file mode 100644 index 000000000..939aaabba --- /dev/null +++ b/tools/tools.go @@ -0,0 +1,12 @@ +//go:build tools +// +build tools + +// This file uses the recommended method for tracking developer tools in a Go +// module. +// +// REF: https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module +package tools + +import ( + _ "github.com/golangci/golangci-lint/cmd/golangci-lint" +) diff --git a/types/assetft.go b/types/assetft.go index 61c5c5ef2..28bb6e838 100644 --- a/types/assetft.go +++ b/types/assetft.go @@ -1,7 +1,7 @@ package types import ( - assetfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/ft/types" + assetfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/ft/types" ) // AssetFTParams represents the parameters of the x/asset/ft module diff --git a/types/assetnft.go b/types/assetnft.go index 34932b918..937ebf563 100644 --- a/types/assetnft.go +++ b/types/assetnft.go @@ -1,7 +1,7 @@ package types import ( - assetnfttypes "github.com/CoreumFoundation/coreum/v2/x/asset/nft/types" + assetnfttypes "github.com/CoreumFoundation/coreum/v3/x/asset/nft/types" ) // AssetNFTParams represents the parameters of the x/asset/nft module diff --git a/types/config/config.go b/types/config/config.go index 187c22269..d7dcb24b6 100644 --- a/types/config/config.go +++ b/types/config/config.go @@ -1,22 +1,22 @@ package config import ( - initcmd "github.com/forbole/juno/v3/cmd/init" - junoconfig "github.com/forbole/juno/v3/types/config" + initcmd "github.com/forbole/juno/v5/cmd/init" + junoconfig "github.com/forbole/juno/v5/types/config" "github.com/spf13/cobra" "gopkg.in/yaml.v3" - "github.com/forbole/bdjuno/v3/modules/actions" + "github.com/forbole/bdjuno/v4/modules/actions" ) // Config represents the BDJuno configuration type Config struct { JunoConfig junoconfig.Config `yaml:"-,inline"` - ActionsConfig actions.Config `yaml:"actions"` + ActionsConfig *actions.Config `yaml:"actions"` } // NewConfig returns a new Config instance -func NewConfig(junoCfg junoconfig.Config, actionsCfg actions.Config) Config { +func NewConfig(junoCfg junoconfig.Config, actionsCfg *actions.Config) Config { return Config{ JunoConfig: junoCfg, ActionsConfig: actionsCfg, diff --git a/types/config/encoding.go b/types/config/encoding.go index 76b393743..7549bb29a 100644 --- a/types/config/encoding.go +++ b/types/config/encoding.go @@ -1,7 +1,7 @@ package config import ( - "github.com/cosmos/cosmos-sdk/simapp/params" + "cosmossdk.io/simapp/params" "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/types/module" ) diff --git a/types/feemodel.go b/types/feemodel.go index 6de2d3b13..fa40e20ff 100644 --- a/types/feemodel.go +++ b/types/feemodel.go @@ -1,7 +1,7 @@ package types import ( - feemodeltypes "github.com/CoreumFoundation/coreum/v2/x/feemodel/types" + feemodeltypes "github.com/CoreumFoundation/coreum/v3/x/feemodel/types" ) // FeeModelParams represents the parameters of the x/feemodel module diff --git a/types/gov.go b/types/gov.go index af186687f..7836d2136 100644 --- a/types/gov.go +++ b/types/gov.go @@ -3,73 +3,27 @@ package types import ( "time" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypesv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) const ( ProposalStatusInvalid = "PROPOSAL_STATUS_INVALID" - ProposalStatusPassed = "PROPOSAL_STATUS_PASSED" ) -// DepositParams contains the data of the deposit parameters of the x/gov module -type DepositParams struct { - MinDeposit sdk.Coins `json:"min_deposit,omitempty" yaml:"min_deposit"` - MaxDepositPeriod int64 `json:"max_deposit_period,omitempty" yaml:"max_deposit_period"` -} - -// NewDepositParam allows to build a new DepositParams -func NewDepositParam(d govtypes.DepositParams) DepositParams { - return DepositParams{ - MinDeposit: d.MinDeposit, - MaxDepositPeriod: d.MaxDepositPeriod.Nanoseconds(), - } -} - -// VotingParams contains the voting parameters of the x/gov module -type VotingParams struct { - VotingPeriod int64 `json:"voting_period,omitempty" yaml:"voting_period"` -} - -// NewVotingParams allows to build a new VotingParams instance -func NewVotingParams(v govtypes.VotingParams) VotingParams { - return VotingParams{ - VotingPeriod: v.VotingPeriod.Nanoseconds(), - } -} - // GovParams contains the data of the x/gov module parameters type GovParams struct { - DepositParams DepositParams `json:"deposit_params" yaml:"deposit_params"` - VotingParams VotingParams `json:"voting_params" yaml:"voting_params"` - TallyParams TallyParams `json:"tally_params" yaml:"tally_params"` - Height int64 `json:"height" ymal:"height"` + *govtypesv1.Params + Height int64 `json:"height" ymal:"height"` } -// TallyParams contains the tally parameters of the x/gov module -type TallyParams struct { - Quorum sdk.Dec `json:"quorum,omitempty"` - Threshold sdk.Dec `json:"threshold,omitempty"` - VetoThreshold sdk.Dec `json:"veto_threshold,omitempty" yaml:"veto_threshold"` -} - -// NewTallyParams allows to build a new TallyParams instance -func NewTallyParams(t govtypes.TallyParams) TallyParams { - return TallyParams{ - Quorum: t.Quorum, - Threshold: t.Threshold, - VetoThreshold: t.VetoThreshold, - } -} - -// NewGovParams allows to build a new GovParams instance -func NewGovParams(votingParams VotingParams, depositParams DepositParams, tallyParams TallyParams, height int64) *GovParams { +func NewGovParams(params *govtypesv1.Params, height int64) *GovParams { return &GovParams{ - DepositParams: depositParams, - VotingParams: votingParams, - TallyParams: tallyParams, - Height: height, + Params: params, + Height: height, } } @@ -77,36 +31,39 @@ func NewGovParams(votingParams VotingParams, depositParams DepositParams, tallyP // Proposal represents a single governance proposal type Proposal struct { - ProposalRoute string - ProposalType string - ProposalID uint64 - Content govtypes.Content + ID uint64 + Title string + Summary string + Metadata string + Messages []*codectypes.Any Status string SubmitTime time.Time DepositEndTime time.Time - VotingStartTime time.Time - VotingEndTime time.Time + VotingStartTime *time.Time + VotingEndTime *time.Time Proposer string } // NewProposal return a new Proposal instance func NewProposal( proposalID uint64, - proposalRoute string, - proposalType string, - content govtypes.Content, + title string, + summary string, + metadata string, + messages []*codectypes.Any, status string, submitTime time.Time, depositEndTime time.Time, - votingStartTime time.Time, - votingEndTime time.Time, + votingStartTime *time.Time, + votingEndTime *time.Time, proposer string, ) Proposal { return Proposal{ - Content: content, - ProposalRoute: proposalRoute, - ProposalType: proposalType, - ProposalID: proposalID, + ID: proposalID, + Title: title, + Summary: summary, + Metadata: metadata, + Messages: messages, Status: status, SubmitTime: submitTime, DepositEndTime: depositEndTime, @@ -116,32 +73,16 @@ func NewProposal( } } -// Equal tells whether p and other contain the same data -func (p Proposal) Equal(other Proposal) bool { - return p.ProposalRoute == other.ProposalRoute && - p.ProposalType == other.ProposalType && - p.ProposalID == other.ProposalID && - p.Content.String() == other.Content.String() && - p.Status == other.Status && - p.SubmitTime.Equal(other.SubmitTime) && - p.DepositEndTime.Equal(other.DepositEndTime) && - p.VotingStartTime.Equal(other.VotingStartTime) && - p.VotingEndTime.Equal(other.VotingEndTime) && - p.Proposer == other.Proposer -} - // ProposalUpdate contains the data that should be used when updating a governance proposal type ProposalUpdate struct { ProposalID uint64 Status string - VotingStartTime time.Time - VotingEndTime time.Time + VotingStartTime *time.Time + VotingEndTime *time.Time } // NewProposalUpdate allows to build a new ProposalUpdate instance -func NewProposalUpdate( - proposalID uint64, status string, votingStartTime, votingEndTime time.Time, -) ProposalUpdate { +func NewProposalUpdate(proposalID uint64, status string, votingStartTime, votingEndTime *time.Time) ProposalUpdate { return ProposalUpdate{ ProposalID: proposalID, Status: status, @@ -154,10 +95,12 @@ func NewProposalUpdate( // Deposit contains the data of a single deposit made towards a proposal type Deposit struct { - ProposalID uint64 - Depositor string - Amount sdk.Coins - Height int64 + ProposalID uint64 + Depositor string + Amount sdk.Coins + Timestamp time.Time + TransactionHash string + Height int64 } // NewDeposit return a new Deposit instance @@ -165,13 +108,17 @@ func NewDeposit( proposalID uint64, depositor string, amount sdk.Coins, + timestamp time.Time, + transactionHash string, height int64, ) Deposit { return Deposit{ - ProposalID: proposalID, - Depositor: depositor, - Amount: amount, - Height: height, + ProposalID: proposalID, + Depositor: depositor, + Amount: amount, + Timestamp: timestamp, + TransactionHash: transactionHash, + Height: height, } } @@ -181,7 +128,9 @@ func NewDeposit( type Vote struct { ProposalID uint64 Voter string - Option govtypes.VoteOption + Option govtypesv1.VoteOption + Weight string + Timestamp time.Time Height int64 } @@ -189,13 +138,17 @@ type Vote struct { func NewVote( proposalID uint64, voter string, - option govtypes.VoteOption, + option govtypesv1.VoteOption, + weight string, + timestamp time.Time, height int64, ) Vote { return Vote{ ProposalID: proposalID, Voter: voter, Option: option, + Weight: weight, + Timestamp: timestamp, Height: height, } } @@ -236,11 +189,11 @@ func NewTallyResult( // ProposalStakingPoolSnapshot contains the data about a single staking pool snapshot to be associated with a proposal type ProposalStakingPoolSnapshot struct { ProposalID uint64 - Pool *Pool + Pool *PoolSnapshot } // NewProposalStakingPoolSnapshot returns a new ProposalStakingPoolSnapshot instance -func NewProposalStakingPoolSnapshot(proposalID uint64, pool *Pool) ProposalStakingPoolSnapshot { +func NewProposalStakingPoolSnapshot(proposalID uint64, pool *PoolSnapshot) ProposalStakingPoolSnapshot { return ProposalStakingPoolSnapshot{ ProposalID: proposalID, Pool: pool, @@ -255,7 +208,7 @@ type ProposalValidatorStatusSnapshot struct { ProposalID uint64 ValidatorConsAddress string ValidatorVotingPower int64 - ValidatorStatus int + ValidatorStatus stakingtypes.BondStatus ValidatorJailed bool Height int64 } @@ -265,7 +218,7 @@ func NewProposalValidatorStatusSnapshot( proposalID uint64, validatorConsAddr string, validatorVotingPower int64, - validatorStatus int, + validatorStatus stakingtypes.BondStatus, validatorJailed bool, height int64, ) ProposalValidatorStatusSnapshot { diff --git a/types/staking_pool_params.go b/types/staking_pool_params.go index ced553090..ca6e5cab7 100644 --- a/types/staking_pool_params.go +++ b/types/staking_pool_params.go @@ -1,20 +1,40 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + sdkmath "cosmossdk.io/math" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) // Pool contains the data of the staking pool at the given height type Pool struct { - BondedTokens sdk.Int - NotBondedTokens sdk.Int - Height int64 + BondedTokens sdkmath.Int + NotBondedTokens sdkmath.Int + UnbondingTokens sdkmath.Int + StakedNotBondedTokens sdkmath.Int + Height int64 } // NewPool allows to build a new Pool instance -func NewPool(bondedTokens, notBondedTokens sdk.Int, height int64) *Pool { +func NewPool(bondedTokens, notBondedTokens, unbondingTokens, stakedNotBondedTokens sdkmath.Int, height int64) *Pool { return &Pool{ + BondedTokens: bondedTokens, + NotBondedTokens: notBondedTokens, + UnbondingTokens: unbondingTokens, + StakedNotBondedTokens: stakedNotBondedTokens, + Height: height, + } +} + +// PoolSnapshot contains the data of the staking pool snapshot at the given height +type PoolSnapshot struct { + BondedTokens sdkmath.Int + NotBondedTokens sdkmath.Int + Height int64 +} + +// NewPoolSnapshot allows to build a new PoolSnapshot instance +func NewPoolSnapshot(bondedTokens, notBondedTokens sdkmath.Int, height int64) *PoolSnapshot { + return &PoolSnapshot{ BondedTokens: bondedTokens, NotBondedTokens: notBondedTokens, Height: height, diff --git a/types/staking_validator.go b/types/staking_validator.go index 2c03e7338..b90498543 100644 --- a/types/staking_validator.go +++ b/types/staking_validator.go @@ -147,18 +147,16 @@ type ValidatorStatus struct { ConsensusPubKey string Status int Jailed bool - Tombstoned bool Height int64 } // NewValidatorStatus creates a new ValidatorVotingPower -func NewValidatorStatus(valConsAddr, pubKey string, status int, jailed bool, tombstoned bool, height int64) ValidatorStatus { +func NewValidatorStatus(valConsAddr, pubKey string, status int, jailed bool, height int64) ValidatorStatus { return ValidatorStatus{ ConsensusAddress: valConsAddr, ConsensusPubKey: pubKey, Status: status, Jailed: jailed, - Tombstoned: tombstoned, Height: height, } } diff --git a/utils/genesis.go b/utils/genesis.go index 326591f04..5023f0c0a 100644 --- a/utils/genesis.go +++ b/utils/genesis.go @@ -3,11 +3,11 @@ package utils import ( "fmt" - "github.com/forbole/juno/v3/node" - "github.com/forbole/juno/v3/types/config" - tmjson "github.com/tendermint/tendermint/libs/json" - tmos "github.com/tendermint/tendermint/libs/os" - tmtypes "github.com/tendermint/tendermint/types" + tmjson "github.com/cometbft/cometbft/libs/json" + tmos "github.com/cometbft/cometbft/libs/os" + tmtypes "github.com/cometbft/cometbft/types" + "github.com/forbole/juno/v5/node" + "github.com/forbole/juno/v5/types/config" ) // ReadGenesis reads the genesis data based on the given config diff --git a/utils/node.go b/utils/node.go index e4de56247..2c56a1354 100644 --- a/utils/node.go +++ b/utils/node.go @@ -3,8 +3,8 @@ package utils import ( "fmt" - "github.com/forbole/juno/v3/node" - coretypes "github.com/tendermint/tendermint/rpc/core/types" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + "github.com/forbole/juno/v5/node" ) // QueryTxs queries all the transactions from the given node corresponding to the given query