Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from tendermint:master #232

Open
wants to merge 1,558 commits into
base: master
Choose a base branch
from
Open

[pull] master from tendermint:master #232

wants to merge 1,558 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 21, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 21, 2021
@codecov-commenter
Copy link

Codecov Report

Merging #232 (36d8cb0) into master (05bc2f3) will decrease coverage by 0.38%.
The diff coverage is 40.25%.

@@            Coverage Diff             @@
##           master     #232      +/-   ##
==========================================
- Coverage   61.00%   60.61%   -0.39%     
==========================================
  Files         282      283       +1     
  Lines       26903    26929      +26     
==========================================
- Hits        16411    16323      -88     
- Misses       8796     8893      +97     
- Partials     1696     1713      +17     
Impacted Files Coverage Δ
abci/types/pubkey.go 0.00% <0.00%> (ø)
config/config.go 74.46% <0.00%> (-0.46%) ⬇️
config/toml.go 59.09% <ø> (ø)
p2p/conn/secret_connection.go 84.02% <ø> (+1.03%) ⬆️
p2p/shim.go 55.63% <0.00%> (ø)
rpc/core/env.go 60.00% <ø> (ø)
rpc/core/tx.go 0.00% <ø> (ø)
state/indexer/indexer.go 80.00% <ø> (ø)
state/indexer/tx/kv/kv.go 60.46% <0.00%> (ø)
state/indexer/tx/kv/utils.go 100.00% <ø> (ø)
... and 36 more

dependabot bot and others added 28 commits April 14, 2022 14:51
…8346)

Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.10.4 to 2.10.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/vektra/mockery/releases">github.com/vektra/mockery/v2's releases</a>.</em></p>
<blockquote>
<h2>v2.10.6</h2>
<h2>Changelog</h2>
<ul>
<li>df6e689 Add PR/issue templates</li>
<li>e8bf201 Add golang-1.18 note</li>
<li>54589be Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/445">#445</a> from bigbluedisco/fix/bump-golang-org-x-tools</li>
<li>aa25af0 fix: bump golang.org/x/tools to v0.1.10 to fix some go 1.18 issues</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/vektra/mockery/commit/54589be6dd37d7ae95959995575f11931cf864c8"><code>54589be</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/445">#445</a> from bigbluedisco/fix/bump-golang-org-x-tools</li>
<li><a href="https://github.com/vektra/mockery/commit/aa25af0c7dab9b25794455ba66ad18ab202a546e"><code>aa25af0</code></a> fix: bump golang.org/x/tools to v0.1.10 to fix some go 1.18 issues</li>
<li><a href="https://github.com/vektra/mockery/commit/e8bf20167598ee4ebc67435c8ee3896218a354e6"><code>e8bf201</code></a> Add golang-1.18 note</li>
<li><a href="https://github.com/vektra/mockery/commit/df6e689d948adb8eb0ee4301fe945795defcd2d7"><code>df6e689</code></a> Add PR/issue templates</li>
<li>See full diff in <a href="https://github.com/vektra/mockery/compare/v2.10.4...v2.10.6">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/vektra/mockery/v2&package-manager=go_modules&previous-version=2.10.4&new-version=2.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.10.1 to 1.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/spf13/viper/releases">github.com/spf13/viper's releases</a>.</em></p>
<blockquote>
<h2>v1.11.0</h2>

<h2>What's Changed</h2>
<h3>Exciting New Features 🎉</h3>
<ul>
<li>Experimental yaml v3 library support by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1273">spf13/viper#1273</a></li>
<li>Experimental toml v2 support by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1274">spf13/viper#1274</a></li>
<li>Experimental logger by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1275">spf13/viper#1275</a></li>
</ul>
<h3>Enhancements 🚀</h3>
<ul>
<li>Remove unnecessary operand by <a href="https://github.com/steviebps"><code>@​steviebps</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1213">spf13/viper#1213</a></li>
<li>Improve encoding layer by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1167">spf13/viper#1167</a></li>
<li>Allow merging configs with different types of leaf values by <a href="https://github.com/illarion"><code>@​illarion</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1181">spf13/viper#1181</a></li>
</ul>
<h3>Bug Fixes 🐛</h3>
<ul>
<li>Disable race detector on windows by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1269">spf13/viper#1269</a></li>
</ul>
<h3>Breaking Changes 🛠</h3>
<ul>
<li>Drop Go 1.14 support by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1327">spf13/viper#1327</a></li>
</ul>
<h3>Dependency Updates ⬆️</h3>
<ul>
<li>build(deps): bump github.com/spf13/afero from 1.6.0 to 1.7.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1265">spf13/viper#1265</a></li>
<li>build(deps): bump github.com/spf13/afero from 1.7.0 to 1.7.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1271">spf13/viper#1271</a></li>
<li>build(deps): bump github.com/spf13/afero from 1.7.1 to 1.8.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1281">spf13/viper#1281</a></li>
<li>build(deps): bump gopkg.in/ini.v1 from 1.66.2 to 1.66.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1287">spf13/viper#1287</a></li>
<li>build(deps): bump github.com/spf13/afero from 1.8.0 to 1.8.1 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1291">spf13/viper#1291</a></li>
<li>build(deps): bump actions/github-script from 5 to 6 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1295">spf13/viper#1295</a></li>
<li>build(deps): bump actions/checkout from 2 to 3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1304">spf13/viper#1304</a></li>
<li>build(deps): bump github.com/magiconair/properties from 1.8.5 to 1.8.6 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1299">spf13/viper#1299</a></li>
<li>build(deps): bump gopkg.in/ini.v1 from 1.66.3 to 1.66.4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1293">spf13/viper#1293</a></li>
<li>build(deps): bump github.com/spf13/afero from 1.8.1 to 1.8.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1311">spf13/viper#1311</a></li>
<li>build(deps): bump actions/setup-go from 2 to 3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1319">spf13/viper#1319</a></li>
<li>build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.6 to 2.0.0-beta.7 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1320">spf13/viper#1320</a></li>
<li>build(deps): bump github.com/pelletier/go-toml/v2 from 2.0.0-beta.7 to 2.0.0-beta.8 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1322">spf13/viper#1322</a></li>
<li>Update crypt by <a href="https://github.com/sagikazarmark"><code>@​sagikazarmark</code></a> in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1325">spf13/viper#1325</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/steviebps"><code>@​steviebps</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1213">spf13/viper#1213</a></li>
<li><a href="https://github.com/illarion"><code>@​illarion</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/spf13/viper/pull/1181">spf13/viper#1181</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/spf13/viper/compare/v1.10.1...v1.11.0">https://github.com/spf13/viper/compare/v1.10.1...v1.11.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/spf13/viper/commit/6986c0ab4883dda50b1eed5a8237bec3e0d3f5cd"><code>6986c0a</code></a> chore: update crypt</li>
<li><a href="https://github.com/spf13/viper/commit/65293ecec2f2d7237de9261f637c42d451f94a3d"><code>65293ec</code></a> add release note configuration</li>
<li><a href="https://github.com/spf13/viper/commit/6804da723f74ede77f830e4c755c52a8e9d6be84"><code>6804da7</code></a> chore!: drop Go 1.14 support</li>
<li><a href="https://github.com/spf13/viper/commit/5b21ca137d76e6a20ff0121127b87ab05d8c35c8"><code>5b21ca1</code></a> fix: deprecated config</li>
<li><a href="https://github.com/spf13/viper/commit/55fac1047e36ffc8c6664ce0ba6116e991371453"><code>55fac10</code></a> chore: fix lint</li>
<li><a href="https://github.com/spf13/viper/commit/e0bf4ac05da7bcdc88892a6776ab3e1b78bad558"><code>e0bf4ac</code></a> chore: add go 1.18 builds</li>
<li><a href="https://github.com/spf13/viper/commit/973c265115bf4e976bb30160129f5d033d316e41"><code>973c265</code></a> build(deps): bump github.com/pelletier/go-toml/v2</li>
<li><a href="https://github.com/spf13/viper/commit/129e4f973c4213fe1d28b59518706a540ea900bb"><code>129e4f9</code></a> build(deps): bump github.com/pelletier/go-toml/v2</li>
<li><a href="https://github.com/spf13/viper/commit/9a8603d8f8352543f9331cdef0b3a29b58627244"><code>9a8603d</code></a> build(deps): bump actions/setup-go from 2 to 3</li>
<li><a href="https://github.com/spf13/viper/commit/dc76f3c0a91b446606eaafc3e8ded86d24d2bfb3"><code>dc76f3c</code></a> build(deps): bump github.com/spf13/afero from 1.8.1 to 1.8.2</li>
<li>Additional commits viewable in <a href="https://github.com/spf13/viper/compare/v1.10.1...v1.11.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/spf13/viper&package-manager=go_modules&previous-version=1.10.1&new-version=1.11.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
* keymigrate: fix conversion of transaction hash keys

In the legacy database format, keys were generally stored with a string prefix
to partition the key space. Transaction hashes, however, were not prefixed: The
hash of a transaction was the entire key for its record.

When the key migration script scans its input, it checks the format of each
key to determine whether it has already been converted, so that it is safe to run
the script over an already-converted database.

After checking for known prefixes, the migration script used two heuristics to
distinguish ABCI events and transaction hashes: For ABCI events, whose keys
used the form "name/value/height/index", it checked for the right number of
separators. For hashes, it checked that the length is exactly 32 bytes (the
length of a SHA-256 digest) AND that the value does not contain a "/".

This last check is problematic: Any hash containing the byte 0x2f (the code
point for "/") would be incorrectly filtered out from conversion. This leads to
some transaction hashes not being converted.

To fix this problem, this changes how the script recognizes keys:

1. Use a more rigorous syntactic check to filter out ABCI metadata.
2. Use only the length to identify hashes among what remains.

This change is still not a complete fix: It is possible, though unlikely, that
a valid hash could happen to look exactly like an ABCI metadata key. However,
the chance of that happening is vastly smaller than the chance of generating a
hash that contains at least one "/" byte.

Similarly, it is possible that an already-converted key of some other type
could be mistaken for a hash (not a converted hash, ironically, but another
type of the right length). Again, we can't do anything about that.
I forgot to add this before merging. 🙁
This script verifies that each document in the docs and architecture directory
has a corresponding table-of-contents entry in its README file.  It can be run
manually from the command line.

- Hook up this script to run in CI (optional workflow).
- Update ADR ToC to include missing entries this script found.
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](caolan/async@v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….5 (#8365)

Bumps [github.com/creachadair/atomicfile](https://github.com/creachadair/atomicfile) from 0.2.4 to 0.2.5.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/creachadair/atomicfile/commit/b8ff50ef6878d7de4e8360ae09809598ecdc7bfa"><code>b8ff50e</code></a> Release v0.2.5.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/95084abf9a2952f56a164856dd4170dff5bbe4cf"><code>95084ab</code></a> Update actions/setup-go to v3.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/10d28f61c35c292e4452e03ca09b2846259f8c41"><code>10d28f6</code></a> Update actions/checkout to v3.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/5f1989ddccaef90e5412825d871cff9c0726dfd5"><code>5f1989d</code></a> Use a more explanatory temp file prefix.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/7819ee53ec29a78342151ff25ef3759229a38456"><code>7819ee5</code></a> Add Go 1.18 to the CI workflow.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/c30fad6a27094dd1fdd2a76a5d49a057f7f7ba33"><code>c30fad6</code></a> Drop old Go versions from CI.</li>
<li><a href="https://github.com/creachadair/atomicfile/commit/ebcfa6b22a611fa86a8eaae74588bb46b68efc3d"><code>ebcfa6b</code></a> acat: use WriteData to simplify the code</li>
<li>See full diff in <a href="https://github.com/creachadair/atomicfile/compare/v0.2.4...v0.2.5">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/creachadair/atomicfile&package-manager=go_modules&previous-version=0.2.4&new-version=0.2.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
* Refactor so building and linting works

This is the first step towards implementing vote extensions: generating
the relevant proto stubs and getting the build and linter to pass.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix typo

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Better describe method given vote extensions

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix types tests

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Move CanonicalVoteExtension to canonical types proto defs

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Regenerate protos including latest PBTS synchrony params update

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Inject vote extensions into proposal

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Thread vote extensions through code and fix tests

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove extraneous empty value initialization

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix lint

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix missing VerifyVoteExtension request data

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Explicitly ensure length > 0 to sign vote extension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Explicitly ensure length > 0 to sign vote extension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove extraneous comment

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update privval/file.go

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update types/vote_test.go

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Format

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix ABCI proto generation scripts for Linux

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Sync intermediate and goal protos

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update internal/consensus/common_test.go

Co-authored-by: Sergio Mena <sergio@informal.systems>

* Use dummy value with clearer meaning

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Rewrite loop for clarity

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Panic on ABCI++ method call failure

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add strong correctness guarantees when constructing extended commit info for ABCI++

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add strong guarantee in extendedCommitInfo that the number of votes corresponds

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Make extendedCommitInfo function more robust

At first extendedCommitInfo expected votes to be in the same order as
their corresponding validators in the supplied CommitInfo struct, but
this proved to be rather difficult since when a validator set's loaded
from state it's first sorted by voting power and then by address.

Instead of sorting the votes in the same way, this approach simply maps
votes to their corresponding validator's address prior to constructing
the extended commit info. This way it's easy to look up the
corresponding vote and we don't need to care about vote order.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove extraneous validator address assignment

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Sign over canonical vote extension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Validate vote extension signature against canonical vote extension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update privval tests for more meaningful dummy value

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add vote extension capability to E2E test app

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Disable lint for weak RNG usage for test app

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Use parseVoteExtension instead of custom parsing in PrepareProposal

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Only include extension if we have received txs

It's unclear at this point why this is necessary to ensure that the
application's local app_hash matches that committed in the previous
block.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Require app_hash from app to match that from last block

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add contrived (possibly flaky) test to check that vote extensions code works

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove workaround for problem now solved by #8229

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* add tests for vote extension cases

* Fix spelling mistake to appease linter

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Collapse redundant if statement

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Formatting

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Always expect an extension signature, regardless of whether an extension is present

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Votes constructed from commits cannot include extensions or signatures

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Pass through vote extension in test helpers

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Temporarily disable vote extension signature requirement

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Expand on vote equality test errors for clarity

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Expand on vote matching error messages in testing

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Allow for selective subscription by vote type

This is an attempt to fix the intermittently failing
`TestPrepareProposalReceivesVoteExtensions` test in the internal
consensus package.

Occasionally we get prevote messages via the subscription channel, and
we're not interested in those. This change allows us to specify what
types of votes we're interested in (i.e. precommits) and discard the
rest.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Read lock consensus state mutex in test helper to avoid data race

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Revert BlockIDFlag parameter in node test

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Perform additional check in ProcessProposal for special txs generated by vote extensions

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* e2e: check that our added tx does not cause all txs to exceed req.MaxTxBytes

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Only set vote extension signatures when signing is successful

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove channel capacity constraint in test helper to avoid missing messages

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add TODO to always require extension signatures in vote validation

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* e2e: reject vote extensions if the request height does not match what we expect

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* types: remove extraneous call to voteWithoutExtension in test

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove unnecessary address parameter from CanonicalVoteExtension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* privval: change test vote type to precommit since we use an extension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* privval: update signing logic to cater for vote extensions

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* proto: update field descriptions for vote message

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* proto: update field description for vote extension sig in vote message

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* proto/types: use fixed-length 64-bit integers for rounds in CanonicalVoteExtension

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* consensus: fix flaky TestPrepareProposalReceivesVoteExtensions

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* consensus: remove previously added test helper functionality

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* e2e: add error logs when we get an unexpected height in ExtendVote or VerifyVoteExtension requests

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* node_test: get validator addresses from privvals

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* privval/file_test: optimize filepv creation in tests

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* privval: add test to check that vote extensions are always signed

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add a script to check documentation for ToC entries. (#8356)

This script verifies that each document in the docs and architecture directory
has a corresponding table-of-contents entry in its README file.  It can be run
manually from the command line.

- Hook up this script to run in CI (optional workflow).
- Update ADR ToC to include missing entries this script found.

* build(deps): Bump async from 2.6.3 to 2.6.4 in /docs (#8357)

Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](caolan/async@v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* privval/file_test: reset vote ext sig before signing

Signed-off-by: Thane Thomson <connect@thanethomson.com>

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: William Banfield <wbanfield@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…8374)

Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.10.6 to 2.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/vektra/mockery/releases">github.com/vektra/mockery/v2's releases</a>.</em></p>
<blockquote>
<h2>v2.11.0</h2>
<h2>Changelog</h2>
<ul>
<li>a0d98e4 Add constructor to the generated mocks</li>
<li>09de88a Fix Makefile (don't call &quot;clean&quot; during &quot;all&quot;)</li>
<li>eddf049 Fix import</li>
<li>b4d8eef Fix panic in tests</li>
<li>a328a65 Merge branch 'master' into add-constructor-for-mocks</li>
<li>32dd223 Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/406">#406</a> from grongor/add-constructor-for-mocks</li>
<li>9489caf TMP-PLS-CHECK-AND-FIXUP fix rebase errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/vektra/mockery/commit/32dd2232929eeb9c8530e0bfa605420632a50f1e"><code>32dd223</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/406">#406</a> from grongor/add-constructor-for-mocks</li>
<li><a href="https://github.com/vektra/mockery/commit/eddf0493df757548872f968328af46424b4ec47a"><code>eddf049</code></a> Fix import</li>
<li><a href="https://github.com/vektra/mockery/commit/a328a65522163f57362a87bb2b1c3e2292ad446d"><code>a328a65</code></a> Merge branch 'master' into add-constructor-for-mocks</li>
<li><a href="https://github.com/vektra/mockery/commit/b4d8eef500863d393b7945371e0f00d50f51f397"><code>b4d8eef</code></a> Fix panic in tests</li>
<li><a href="https://github.com/vektra/mockery/commit/9489caf271b971bec78f092c154736e2da14f19b"><code>9489caf</code></a> TMP-PLS-CHECK-AND-FIXUP fix rebase errors</li>
<li><a href="https://github.com/vektra/mockery/commit/09de88af6027682a13718f3bed3ef6865f9c1a84"><code>09de88a</code></a> Fix Makefile (don't call &quot;clean&quot; during &quot;all&quot;)</li>
<li><a href="https://github.com/vektra/mockery/commit/a0d98e44bd9c4a9587ac0a3fb35a4cdfe292cb4a"><code>a0d98e4</code></a> Add constructor to the generated mocks</li>
<li>See full diff in <a href="https://github.com/vektra/mockery/compare/v2.10.6...v2.11.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/vektra/mockery/v2&package-manager=go_modules&previous-version=2.10.6&new-version=2.11.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
I was digging around over here, and thought it'd be good to
cleanup/standardize the line formating on a few of these methods. Also
found a few cases where we could use contexts better so did a little
bit of cleanup there too!
Some additional testdata I grabbed while writing up the draft of RFC 019.
It seems to me that by adding requests to the clients tracker (the
`reqSent` linked list), then there's no need to actually drain the
channel, becuase we will mark all of these requests as done/errored
(which propogates to users, as users never get future objects any
more), and then the GC can reap all of the request objects and the
channel accordingly.
In my mind this is "don't make grpc any weirder than it has to be." 

We definitely don't need to export this type: if you're using gRPC for
ABCI you *probably* don't want to also depend on the huge swath of the
code that

The ideal case is you generate the proto yourself, standup a gRPC
service on your own (presumably because your application has other
gRPC services that you want to expose,) and then your application
doesn't need to interact with the types package at all. This is
definitely the case for anyone who uses gRPC and doesn't use Go (which
is likely the predominant use case.)

If you're using Go, and want to use tendermint's service runner for
running your gRPC service, you can, but at this point (as before,)
you're already importing the `types` package (and you were before,)
I've just eliminated an intermediate type that you shouldn't need to
think about.

Reviewers: I think the change is pretty rote, but the logic/user-story
above would definitely be better for being validated by someone other
than me. :)
This RFC discusses issues in how we migrate configuration data across
Tendermint versions, and some options for how to improve the experience for
node operators in the future.
…18 (#8392)

Bumps [github.com/creachadair/tomledit](https://github.com/creachadair/tomledit) from 0.0.16 to 0.0.18.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/creachadair/tomledit/commit/5802e262c618d4bdf43e34a2b0acdb8b383c9b15"><code>5802e26</code></a> Release v0.0.18</li>
<li><a href="https://github.com/creachadair/tomledit/commit/3c9daf1a4a5909de0f844e4442c617e32c0cdb72"><code>3c9daf1</code></a> document that we don't validate</li>
<li><a href="https://github.com/creachadair/tomledit/commit/da8c938af4e829f08d45b5a19e605257d28c55e1"><code>da8c938</code></a> Remove non-applicable test cases.</li>
<li><a href="https://github.com/creachadair/tomledit/commit/ac4210b0d1ecc1e1e329bdafe7c1a4c6cb573d4d"><code>ac4210b</code></a> parser: ensure unclosed arrays are not treated as empty</li>
<li><a href="https://github.com/creachadair/tomledit/commit/f98f82fec19c6ba31f291640f1838fe4b0cef907"><code>f98f82f</code></a> parser: ensure array separators are present</li>
<li><a href="https://github.com/creachadair/tomledit/commit/ea1671ecca600b7c0ac1b678db49a166c1dcd710"><code>ea1671e</code></a> scanner: clean up some issues in escape and space handling</li>
<li><a href="https://github.com/creachadair/tomledit/commit/8168589a259aa852ece434f16f3724e0d38d5fc9"><code>8168589</code></a> scanner: filter bad commas in numeric literals</li>
<li><a href="https://github.com/creachadair/tomledit/commit/83189e20b796d4ea3900543f4e45306fbfc02005"><code>83189e2</code></a> scanner: fix some issues in multiline string recognition</li>
<li><a href="https://github.com/creachadair/tomledit/commit/bdc8e22990cc513736e476b2ecab58ae185058aa"><code>bdc8e22</code></a> scanner: allow space separators in date-time strings</li>
<li><a href="https://github.com/creachadair/tomledit/commit/1ab2c8d654dd5ec8798febf095e67cc73d4da524"><code>1ab2c8d</code></a> Add compliance tests.</li>
<li>Additional commits viewable in <a href="https://github.com/creachadair/tomledit/compare/v0.0.16...v0.0.18">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/creachadair/tomledit&package-manager=go_modules&previous-version=0.0.16&new-version=0.0.18)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
tychoish and others added 30 commits July 12, 2022 12:20
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's releases</a>.</em></p>
<blockquote>
<h2>Release 1.48.0</h2>
<h1>Bug Fixes</h1>
<ul>
<li>xds/priority: fix bug that could prevent higher priorities from receiving config updates (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5417">#5417</a>)</li>
<li>RLS load balancer: don't propagate the status code returned on control plane RPCs to data plane RPCs (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5400">#5400</a>)</li>
</ul>
<h1>New Features</h1>
<ul>
<li>stats: add support for multiple stats handlers in a single client or server (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5347">#5347</a>)</li>
<li>gcp/observability: add experimental OpenCensus tracing/metrics support (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5372">#5372</a>)</li>
<li>xds: enable aggregate and logical DNS clusters by default (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5380">#5380</a>)</li>
<li>credentials/google (for xds): support xdstp C2P cluster names (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5399">#5399</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/grpc/grpc-go/commit/64174955202ffb5ea4122e25d1aaece49cc5a3ed"><code>6417495</code></a> Change version to 1.48.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5482">#5482</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/5770b1dea58dd6a8bddb0585e40ed63d4d096e27"><code>5770b1d</code></a> xds: drop localities with zero weight at the xdsClient layer (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5476">#5476</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/423cd8e3ad5ff82dee28390f6fecd0e8658b4cd8"><code>423cd8e</code></a> interop: update proto to make vet happy (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5475">#5475</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/c9b16c884c9797f5cdde9c2aeba2c20320213cd6"><code>c9b16c8</code></a> transport: remove unused <code>bufWriter.onFlush()</code> (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5464">#5464</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/755bf5a191a0c1fd427c0794121dac58475f080e"><code>755bf5a</code></a> fix typo in the binary log (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5467">#5467</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/15739b5c88737e866194c45328750deb3521ab83"><code>15739b5</code></a> health: split imports into healthpb and healthgrpc (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5466">#5466</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/c075d2011c8b55585404b52c1d358e0cbb39c355"><code>c075d20</code></a> interop client: provide new flag, --soak_min_time_ms_between_rpcs (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5421">#5421</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/4b750055a530f53ee3715fe6763bf8855677847b"><code>4b75005</code></a> clusterresolver: merge P(p)arseConfig functions (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5462">#5462</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/d883f3d5faf91e030539ce310875850357c6c4a8"><code>d883f3d</code></a> test/xds: fail only when state changes to something other than READY and IDLE...</li>
<li><a href="https://github.com/grpc/grpc-go/commit/c6ee1c71447e2e5a1bbb017f6162a1840fb2e2c6"><code>c6ee1c7</code></a> xdsclient: only include nodeID in error strings, not the whole nodeProto (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5461">#5461</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.47.0...v1.48.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.47.0&new-version=1.48.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
Update the queue documentation to reflect the types of queues and current default queue.
Bumps [pgregory.net/rapid](https://github.com/flyingmutant/rapid) from 0.4.7 to 0.4.8.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/flyingmutant/rapid/commit/110d7a5dd15915adddbb9bf3d43667dbe5933e8d"><code>110d7a5</code></a> persist: bump rapid version</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/94a73e7be2a95e8aa482900c7e98a7df723c5b9c"><code>94a73e7</code></a> Remove shrinking-challenge tests</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/1a852a237b8c175f209595bee756abc7a37005c4"><code>1a852a2</code></a> persist: bump rapid version</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/bc396c3ffae504c991af985403ff9561d992b184"><code>bc396c3</code></a> persist: put failfiles under testdata/rapid/ subdirectories</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/5408033e60bdba5685593e725dd7408a00eaf772"><code>5408033</code></a> ci: test on Go 1.18</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/dd3e976d4df3b5b1f683332192ebb2aa34963ae9"><code>dd3e976</code></a> Document concurrent usage of *T</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/a0267553f20669644fe3e79f024f72abf08b2eaf"><code>a026755</code></a> Expose TB interface</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/32f9d9b0a8124eab230f4de6458312130aac5994"><code>32f9d9b</code></a> ci: test on Go 1.17</li>
<li><a href="https://github.com/flyingmutant/rapid/commit/ef97f657bb335be7a7eec658c338134cc885b5a5"><code>ef97f65</code></a> Avoid division in genFloat01()</li>
<li>See full diff in <a href="https://github.com/flyingmutant/rapid/compare/v0.4.7...v0.4.8">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pgregory.net/rapid&package-manager=go_modules&previous-version=0.4.7&new-version=0.4.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
Pull out the library functionality from scripts/confix and move it to
internal/libs/confix. Replace scripts/confix with a simple stub that has the
same command-line API, but uses the library instead.

Related:

- Move and update unit tests.
- Move scripts/confix/condiff to scripts/condiff.
- Update test data for v34, v35, and v36.
- Update reference diffs.
- Update testdata README.
…9013)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.36.0 to 0.37.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/prometheus/common/releases">github.com/prometheus/common's releases</a>.</em></p>
<blockquote>
<h2>sigv4/v0.1.0</h2>
<p>Initial release</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/prometheus/common/commit/49b36038aead362ce78f09337dc5872000bd048a"><code>49b3603</code></a> Improve OAuth2 user agent handling (<a href="https://github-redirect.dependabot.com/prometheus/common/issues/391">#391</a>)</li>
<li>See full diff in <a href="https://github.com/prometheus/common/compare/v0.36.0...v0.37.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/prometheus/common&package-manager=go_modules&previous-version=0.36.0&new-version=0.37.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
…47.0 (#9038)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.46.0 to 1.47.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/releases">github.com/golangci/golangci-lint's releases</a>.</em></p>
<blockquote>
<h2>v1.47.0</h2>
<h2>Changelog</h2>
<ul>
<li>b4154027 Add linter <code>asasalint</code> to lint pass []any as any (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2968">#2968</a>)</li>
<li>1d8a15a0 add nosnakecase lint (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2828">#2828</a>)</li>
<li>2a1edcef build(deps): bump github.com/Antonboom/errname from 0.1.6 to 0.1.7 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2888">#2888</a>)</li>
<li>c766184c build(deps): bump github.com/GaijinEntertainment/go-exhaustruct/v2 from 2.1.0 to 2.2.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2916">#2916</a>)</li>
<li>b8f1e2a5 build(deps): bump github.com/daixiang0/gci from 0.3.4 to 0.4.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2965">#2965</a>)</li>
<li>5e183652 build(deps): bump github.com/daixiang0/gci from 0.4.0 to 0.4.1 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2973">#2973</a>)</li>
<li>e60937a1 build(deps): bump github.com/daixiang0/gci from 0.4.1 to 0.4.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2979">#2979</a>)</li>
<li>98c811d0 build(deps): bump github.com/firefart/nonamedreturns from 1.0.1 to 1.0.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2929">#2929</a>)</li>
<li>023e1c4f build(deps): bump github.com/firefart/nonamedreturns from 1.0.2 to 1.0.4 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2944">#2944</a>)</li>
<li>7fbb11ca build(deps): bump github.com/fzipp/gocyclo from 0.5.1 to 0.6.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2926">#2926</a>)</li>
<li>db5d58cd build(deps): bump github.com/hashicorp/go-version from 1.4.0 to 1.5.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2873">#2873</a>)</li>
<li>f75b1a8b build(deps): bump github.com/hashicorp/go-version from 1.5.0 to 1.6.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2958">#2958</a>)</li>
<li>75be924e build(deps): bump github.com/kisielk/errcheck from 1.6.0 to 1.6.1 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2871">#2871</a>)</li>
<li>33f4aeeb build(deps): bump github.com/kulti/thelper from 0.6.2 to 0.6.3 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2872">#2872</a>)</li>
<li>6a412d3d build(deps): bump github.com/kunwardeep/paralleltest from 1.0.3 to 1.0.4 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2907">#2907</a>)</li>
<li>97eea6ea build(deps): bump github.com/kunwardeep/paralleltest from 1.0.4 to 1.0.6 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2918">#2918</a>)</li>
<li>3a0f646e build(deps): bump github.com/maratori/testpackage from 1.0.1 to 1.1.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2945">#2945</a>)</li>
<li>92d7022d build(deps): bump github.com/nishanths/exhaustive from 0.7.11 to 0.8.1 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2906">#2906</a>)</li>
<li>97d7415b build(deps): bump github.com/quasilyte/go-ruleguard/dsl from 0.3.19 to 0.3.21 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2874">#2874</a>)</li>
<li>0e3730d3 build(deps): bump github.com/securego/gosec/v2 from 2.11.0 to 2.12.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2925">#2925</a>)</li>
<li>ac99dbcc build(deps): bump github.com/shirou/gopsutil/v3 from 3.22.4 to 3.22.5 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2908">#2908</a>)</li>
<li>8e0a6725 build(deps): bump github.com/shirou/gopsutil/v3 from 3.22.5 to 3.22.6 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2959">#2959</a>)</li>
<li>c8e38c4b build(deps): bump github.com/sivchari/tenv from 1.5.0 to 1.6.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2927">#2927</a>)</li>
<li>f70bf666 build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2933">#2933</a>)</li>
<li>153b4072 build(deps): bump github.com/spf13/viper from 1.11.0 to 1.12.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2889">#2889</a>)</li>
<li>f03a5207 build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2917">#2917</a>)</li>
<li>e33e63ed build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.4 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2934">#2934</a>)</li>
<li>44e9b34d build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2942">#2942</a>)</li>
<li>bb5b6625 build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2957">#2957</a>)</li>
<li>2c30625c build(deps): bump github.com/tomarrell/wrapcheck/v2 from 2.6.1 to 2.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2928">#2928</a>)</li>
<li>9317da6c build(deps): bump github.com/uudashr/gocognit from 1.0.5 to 1.0.6 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2962">#2962</a>)</li>
<li>3071fecb build(deps): bump gitlab.com/bosi/decorder from 0.2.1 to 0.2.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2943">#2943</a>)</li>
<li>d92f144d build(deps): bump goreleaser/goreleaser-action from 2 to 3 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2876">#2876</a>)</li>
<li>ddee31ae build(deps): bump honnef.co/go/tools from 0.3.1 to 0.3.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2870">#2870</a>)</li>
<li>9ebc2d52 build(deps): bump moment from 2.29.2 to 2.29.4 in /.github/contributors (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2966">#2966</a>)</li>
<li>f9d81511 bump golang.org/x/tools to HEAD (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2875">#2875</a>)</li>
<li>de7cc56e chore: remove reviewers from dependabot configuration (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2932">#2932</a>)</li>
<li>86bd8423 chore: spelling and grammar fixes (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2865">#2865</a>)</li>
<li>4b218e66 config: spread go version on linter's configurations (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2913">#2913</a>)</li>
<li>ae2a9688 depguard: adjust phrasing (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2921">#2921</a>)</li>
<li>f2634d40 fix: codeQL scanning (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2882">#2882</a>)</li>
<li>2f41c1f0 gci: fix issues and re-enable autofix (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2892">#2892</a>)</li>
<li>c531fc2a gosec: allow <code>global</code> config (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2880">#2880</a>)</li>
<li>0abb2981 staticcheck: fix generics (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2976">#2976</a>)</li>
</ul>
<h2>v1.46.2</h2>
<h2>Changelog</h2>
<ul>
<li>a3336890 build(deps): bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2858">#2858</a>)</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md">github.com/golangci/golangci-lint's changelog</a>.</em></p>
<blockquote>
<h3>v1.47.0</h3>
<ol>
<li>new linters:
<ul>
<li><code>asasalint</code>: <a href="https://github.com/alingse/asasalint">https://github.com/alingse/asasalint</a></li>
<li><code>nosnakecase</code>: <a href="https://github.com/sivchari/nosnakecase">https://github.com/sivchari/nosnakecase</a></li>
</ul>
</li>
<li>updated linters:
<ul>
<li><code>errname</code>: from 0.1.6 to 0.1.7</li>
<li><code>gci</code>: from 0.3.4 to 0.4.2</li>
<li><code>nonamedreturns</code>: from 1.0.1 to 1.0.4</li>
<li><code>gocyclo</code>: from 0.5.1 to 0.6.0</li>
<li><code>go-exhaustruct</code>: from 2.1.0 to 2.2.0</li>
<li><code>errcheck</code>: from 1.6.0 to 1.6.1</li>
<li><code>thelper</code>: from 0.6.2 to 0.6.3</li>
<li><code>paralleltest</code>: from 1.0.3 to 1.0.6</li>
<li><code>testpackage</code>: from 1.0.1 to 1.1.0</li>
<li><code>exhaustive</code>: from 0.7.11 to 0.8.1</li>
<li><code>go-ruleguard</code>: from 0.3.19 to 0.3.21</li>
<li><code>gosec</code>: from 2.11.0 to 2.12.0</li>
<li><code>tenv</code>: from 1.5.0 to 1.6.0</li>
<li><code>wrapcheck</code>: from 2.6.1 to 2.6.2</li>
<li><code>gocognit</code>: from 1.0.5 to 1.0.6</li>
<li><code>decorder</code>: from 0.2.1 to 0.2.2</li>
<li><code>honnef.co/go/tools</code>: from 0.3.1 to 0.3.2</li>
<li><code>golang.org/x/tools</code>: bump to HEAD</li>
<li><code>gci</code>: fix issues and re-enable autofix</li>
<li><code>gosec</code>: allow <code>global</code> config</li>
<li><code>staticcheck</code>: fix generics</li>
</ul>
</li>
<li>documentation:
<ul>
<li>add thanks page</li>
<li>add a clear explanation about the <code>staticcheck</code> integration.</li>
<li><code>depguard</code>: add <code>ignore-file-rules</code></li>
<li><code>depguard</code>: adjust phrasing</li>
<li><code>gocritic</code>: add <code>enable</code> and <code>disable</code> ruleguard settings</li>
<li><code>gomnd</code>: fix typo</li>
<li><code>gosec</code>: add configs for all existing rules</li>
<li><code>govet</code>: add settings for <code>shadow</code> and <code>unusedresult</code></li>
<li><code>thelper</code>: add <code>fuzz</code> config and description</li>
<li>linters: add defaults</li>
</ul>
</li>
</ol>
<h3>v1.46.2</h3>
<ol>
<li>updated linters:
<ul>
<li><code>execinquery</code>: bump from v1.2.0 to v1.2.1</li>
<li><code>errorlint</code>: bump to v1.0.0</li>
<li><code>thelper</code>: allow to disable one option</li>
</ul>
</li>
<li>documentation:
<ul>
<li>rename <code>.golangci.example.yml</code> to <code>.golangci.reference.yml</code></li>
<li>add <code>containedctx</code> linter to the list of available linters</li>
</ul>
</li>
</ol>
<h3>v1.46.1</h3>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/golangci/golangci-lint/commit/b415402720aa2f54f85993669d264cdae703bd7a"><code>b415402</code></a> Add linter <code>asasalint</code> to lint pass []any as any (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2968">#2968</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/e60937a179e0b60ce2cbcf2c386ee7537cb7c141"><code>e60937a</code></a> build(deps): bump github.com/daixiang0/gci from 0.4.1 to 0.4.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2979">#2979</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/27f921fa14e5b7492a66b08c4c02c5c5bcc7f50e"><code>27f921f</code></a> dev: use directives instead of comments for tests (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2978">#2978</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/0abb2981360f912786371b325f181871cf534f6a"><code>0abb298</code></a> staticcheck: fix generics (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2976">#2976</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/d6a39ef374559b0692a3d4bb1d816bd9053f7083"><code>d6a39ef</code></a> dev: remove kortschak from generated team (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2974">#2974</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/5e183652bafe34833a0975b378c8f1da8bb7769d"><code>5e18365</code></a> build(deps): bump github.com/daixiang0/gci from 0.4.0 to 0.4.1 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2973">#2973</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/ed4befe5ef3ca39c1ad55fcbbb1c30b64e182e65"><code>ed4befe</code></a> dev: change err to nil (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2971">#2971</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/9ebc2d523755e0b1c7db298eed7728916291d875"><code>9ebc2d5</code></a> build(deps): bump moment from 2.29.2 to 2.29.4 in /.github/contributors (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2966">#2966</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/b050b42309fecb93bc44466a0d0ad122b4ca4f09"><code>b050b42</code></a> build(deps): bump moment from 2.29.2 to 2.29.4 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2967">#2967</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/b8f1e2a549d4f4a0fcef9f4e99b9646dd84aa356"><code>b8f1e2a</code></a> build(deps): bump github.com/daixiang0/gci from 0.3.4 to 0.4.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2965">#2965</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/golangci/golangci-lint/compare/v1.46.0...v1.47.0">compare view</a></li>
</ul>
</details>
<br />


[![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.46.0&new-version=1.47.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
As far as I know nobody looks at these reports anyway, and lately
the codecov API has been failing for an expired certificate.
This is a manual forward-port of #8944 and related fixes from v0.35.x.

One difference of note is that the CheckTx response messages no longer have a
field to record an error from the ABCI application. The code is set up so that
these could be reported directly to the CheckTx caller, but it would be an API
change, and right now a bunch of test plumbing depends on the existing semantics.

Also fix up tests relying on implementation-specific mempool behavior.

- Commit was setting the expected mempool size incorrectly.
- Fix sequence test not to depend on the incorrect size.
…47.1 (#9044)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.0 to 1.47.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/releases">github.com/golangci/golangci-lint's releases</a>.</em></p>
<blockquote>
<h2>v1.47.1</h2>
<h2>Changelog</h2>
<ul>
<li>a91463cd build(deps): bump github.com/daixiang0/gci from 0.4.2 to 0.4.3 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2992">#2992</a>)</li>
<li>4c8bdc70 build(deps): bump github.com/sivchari/tenv from 1.6.0 to 1.7.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2988">#2988</a>)</li>
<li>4e60e8a8 gci: fix options display (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2989">#2989</a>)</li>
<li>fd87bd1e gci: remove the use of stdin (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2984">#2984</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md">github.com/golangci/golangci-lint's changelog</a>.</em></p>
<blockquote>
<h3>v1.47.1</h3>
<ol>
<li>updated linters:
<ul>
<li><code>gci</code>: from 0.4.2 to 0.4.3</li>
<li><code>gci</code>: remove the use of stdin</li>
<li><code>gci</code>: fix options display</li>
<li><code>tenv</code>: from 1.6.0 to 1.7.0</li>
<li><code>unparam</code>: bump to HEAD</li>
</ul>
</li>
</ol>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/golangci/golangci-lint/commit/ebd6dcbf92973d7102593b5f4eec2ab10dac1e2c"><code>ebd6dcb</code></a> Revert 'fix: generics (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2991">#2991</a>)' (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2995">#2995</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/c39bf96129a5e49abeeb909674fe351704a89e06"><code>c39bf96</code></a> fix: disable structcheck for go &gt;= 1.18 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2994">#2994</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/a91463cde4de1bf3257940c7fa21fccce917c8dd"><code>a91463c</code></a> build(deps): bump github.com/daixiang0/gci from 0.4.2 to 0.4.3 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2992">#2992</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/eb16e701db3a34156e39774a9a9cf943fde14bac"><code>eb16e70</code></a> fix: generics (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2991">#2991</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/4e60e8a894f113c23492c074c187e9bec1479463"><code>4e60e8a</code></a> gci: fix options display (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2989">#2989</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/4c8bdc70cc3d074ad741fb2abe8106399cbfc619"><code>4c8bdc7</code></a> build(deps): bump github.com/sivchari/tenv from 1.6.0 to 1.7.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2988">#2988</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/fd87bd1efb52e726d329905dd705b2b2fd59f90b"><code>fd87bd1</code></a> gci: remove the use of stdin (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2984">#2984</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/a913b3e955bcbf6822c5aea303c92da7a4cb5b19"><code>a913b3e</code></a> docs: Update documentation and assets (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2981">#2981</a>)</li>
<li>See full diff in <a href="https://github.com/golangci/golangci-lint/compare/v1.47.0...v1.47.1">compare view</a></li>
</ul>
</details>
<br />


[![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.47.0&new-version=1.47.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/BurntSushi/toml/releases)
- [Commits](BurntSushi/toml@v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: github.com/BurntSushi/toml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…47.2 (#9070)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.1 to 1.47.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/releases">github.com/golangci/golangci-lint's releases</a>.</em></p>
<blockquote>
<h2>v1.47.2</h2>
<h2>Changelog</h2>
<ul>
<li>61673b34 revive: ignore slow rules (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2999">#2999</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md">github.com/golangci/golangci-lint's changelog</a>.</em></p>
<blockquote>
<h3>v1.47.2</h3>
<ol>
<li>updated linters:
<ul>
<li><code>revive</code>: ignore slow rules</li>
</ul>
</li>
</ol>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/golangci/golangci-lint/commit/61673b34362ae2a8af6cd1d74f69c22b091bf00b"><code>61673b3</code></a> revive: ignore slow rules (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2999">#2999</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/3fb60a3e8ac54f27e48755823c8c588337596c5b"><code>3fb60a3</code></a> build(deps): bump terser from 5.12.0 to 5.14.2 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2998">#2998</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/dc0237854f928ca14e37df07823335b62aaa577a"><code>dc02378</code></a> docs: Update documentation and assets (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/2996">#2996</a>)</li>
<li>See full diff in <a href="https://github.com/golangci/golangci-lint/compare/v1.47.1...v1.47.2">compare view</a></li>
</ul>
</details>
<br />


[![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.47.1&new-version=1.47.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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
…23 (#9084)

Bumps [github.com/creachadair/tomledit](https://github.com/creachadair/tomledit) from 0.0.22 to 0.0.23.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/creachadair/tomledit/commit/e7b6512f75db7dce20a8ee48af7bb3880dd5814c"><code>e7b6512</code></a> Release v0.0.23.</li>
<li><a href="https://github.com/creachadair/tomledit/commit/fdb62db21d6c32e1e630db07d8f87c9572086211"><code>fdb62db</code></a> Add tomldiff command-line tool.</li>
<li><a href="https://github.com/creachadair/tomledit/commit/ce86b667b558625a1e93d1bf318b00fed2c15759"><code>ce86b66</code></a> Fix a comment typo.</li>
<li><a href="https://github.com/creachadair/tomledit/commit/3834adf9ee5dcf9e283909288b883db28e62bcbf"><code>3834adf</code></a> Fix documentation.</li>
<li><a href="https://github.com/creachadair/tomledit/commit/525c9c12f69bc650f0a96968472eafde5c80a580"><code>525c9c1</code></a> cli: escape as basic strings by default</li>
<li>See full diff in <a href="https://github.com/creachadair/tomledit/compare/v0.0.22...v0.0.23">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/creachadair/tomledit&package-manager=go_modules&previous-version=0.0.22&new-version=0.0.23)](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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>
{[rendered](https://github.com/tendermint/tendermint/blob/wb/release-document/RELEASES.md)}

This pull request adds a proposed set of steps to perform before each Tendermint minor version release. This represents an initial set of ideas that derives from conversations among members of the Tendermint team. If you have additional suggestions for pre-release steps, please leave a comment explaining the specific suggestion and detailing how it would help build confidence in the quality of the release of Tendermint.
shout out to @joeabbey for the inspiration. This makes the lazy
functions internal by default to prevent potential misuse by external
callers.

Should backport cleanly into 0.36 and I'll handle a messy merge into 0.35
As a small developer quality of life improvement, I found many individual unit tests that take longer than around a second to complete, and set them to skip when run under `go test -short`.

On my machine, the wall timings for tests (with `go test -count=1 ./...` and optionally `-short` and `-race`) are roughly:

- Long tests, no race detector: about 1m42s
- Short tests, no race detector: about 17s
- Long tests, race detector enabled: about 2m1s
- Short tests, race detector enabled: about 28s

This PR is split into many commits each touching a single package, with commit messages detailing the approximate timing change per package.
* Doc: documentation of new p2p layer, first commit

* Doc: p2p peer manager abstraction, first commit

* Doc: life cycle of a peer, first part

* Doc: life cycle of a p2p peer, picture added

* typos

* Doc: life cycle of a p2p peer picture updated

* Doc: life cycle of a p2p peer section refactored

* Doc: p2p connection policy and connection slots

* Doc: peer manager defines the connection policy

* Doc: peer manager connection slots upgrading

* Doc: peer manager eviction procedure introduced

* Doc: several corrections in peer manager documentation

* Doc: peer ranking mechanism documented

* Doc: EvictNext peer manager transition documented

* Doc: concept of candidate peer added to peer manager

* Doc: peer manager documentation, aesthetic changes

* Apply suggestions from code review (again)

Co-authored-by: Sergio Mena <sergio@informal.systems>

* Spec of v0.35 p2p layer moved to spec/p2p/v0.35

* Spec: p2p markdown links fixed

* Spec: addressing more issues on peer manager spec

* Spec: p2p peer manager DialNext algorithm

* Spec: p2p peer manager Dial and Accepted algorithms

* Spec: p2p router dialing peers thread

* Spec: p2p router accept peers threads

* Spec: p2p router evict peers routine

* Spec: p2p router routing messages routines

* Spec: p2p v0.35 readme points to other documents

* Spec: fixing markdown links

* Apply suggestions from Josef's code review

* They state that this is a work in progress, that has been interrupted to focus on the specification of the p2p layer adopted by Tendermint v0.34.

Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>

* Spc: p2p v0.35 spec mentions new p2p layer

Co-authored-by: Jasmina Malicevic <jasmina.dustinac@gmail.com>
Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
Co-authored-by: Daniel Cason <daniel.cason@informal.systems>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet