Commit Graph

10237 Commits

Author SHA1 Message Date
dependabot[bot]
6b2a6ed402 build(deps-dev): Bump watchpack from 2.3.1 to 2.4.0 in /docs (#8700)
Bumps [watchpack](https://github.com/webpack/watchpack) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/webpack/watchpack/releases)
- [Commits](https://github.com/webpack/watchpack/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: watchpack
  dependency-type: direct:development
  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>
2022-06-06 07:35:37 -07:00
M. J. Fromberger
48ec78e672 Update how Mockery mocks are checked for currency. (#8697)
The use of "go install" is deprecated as a way of installing and running the
Mockery binary. Update the runner script to depend on an ambient version of the
tool and ensure that in CI it's installed.
2022-06-03 15:02:04 -07:00
William Banfield
75a12ea0c6 consensus: switch timeout message to be debug and clarify meaning (#8694) 2022-06-03 13:46:10 -04:00
Evan Forbes
30929cf190 p2p: pass maxConns for MaxPeers during node setup (#8684)
* pass maxConns for MaxPeers
* add upgrade connections to max connections for max peers
* change the formula to calculate max peers
2022-06-03 07:22:38 -07:00
elias-orijtech
db168ca558 test/fuzz: fix OSS-Fuzz build (#8669)
Broken by 7bed8f92ea.

- note the purpose of test/fuzz/oss-fuzz-build.sh
2022-06-03 06:02:59 -07:00
Callum Waters
a0f3107d28 e2e: fix initialization of light client (#8682) 2022-06-03 10:50:06 +02:00
Sergio Mena
ce6485fa70 Remove the abci responses type - prune legacy responses (#8673)
Closes #8069 

* Type `ABCIResponses` was just wrapping type `ResponseFinalizeBlock`. This patch removes the former.
* Did some renaming to avoid confusion on the data structure we are working with.
* We also remove any stale ABCIResponses we may have in the state store at the time of pruning

**IMPORTANT**: There is an undesirable side-effect of the unwrapping. An empty `ResponseFinalizeBlock` yields a 0-length proto-buf serialized buffer. This was not the case with `ABCIResponses`. I have added an interim solution, but open for suggestions on more elegant ones.
2022-06-02 19:13:08 +00:00
M. J. Fromberger
08099ff669 privval: restrict listeners to TCP and Unix domain sockets (#8670)
Front load the protocol type check so we do not wind up creating listeners of
types that are not usable for this interface (for example, UDP).

Fixes #8647.
2022-06-02 10:20:00 -07:00
Sam Kleinman
666d93338a p2p: shed peers from store from other networks (#8678) 2022-06-02 11:14:25 -04:00
Callum Waters
30bfe51ebe cmd: add tool for compaction of goleveldb (#8564) 2022-06-02 10:01:16 +02:00
Sam Kleinman
d5299882b0 migrate: provide function for database production (#8614)
This builds on: #8614
2022-06-02 07:14:58 +00:00
Sergio Mena
56fc80d66d abci: Move app_hash parameter from Commit to FinalizeBlock (#8664)
* Removed from proto

* make proto-gen

* make build works

* make some tests pass

* Fix TestMempoolTxConcurrentWithCommit

* Minor change

* Update abci/types/types.go

* Update internal/state/execution.go

* Update test/e2e/app/state.go

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* Updated changelog and `UPGRADING.md`

* Fixed abci-cli tests, and doc

* Addressed @cmwaters' comments

* Addressed @cmwaters' comments, part 2

Co-authored-by: Callum Waters <cmwaters19@gmail.com>
2022-06-01 18:53:10 +02:00
dependabot[bot]
9a8c334362 build(deps): Bump google.golang.org/grpc from 1.46.2 to 1.47.0 (#8667)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.47.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.47.0</h2>
<h1>New Features</h1>
<ul>
<li>xds: add support for RBAC metadata invert matchers (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5345">#5345</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>client: fix a context leaked if a connection to an address is lost before it is fully established (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5337">#5337</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/carzil"><code>@​carzil</code></a></li>
</ul>
</li>
<li>client: fix potential panic during RPC retries (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5323">#5323</a>)</li>
<li>xds/client: fix a potential concurrent map read/write in load reporting (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5331">#5331</a>)</li>
<li>client/SubConn: do not recreate addrConn if UpdateAddresses is called with the same addresses (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5373">#5373</a>)</li>
<li>xds/eds: resources containing duplicate localities with the same priority will be rejected (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5303">#5303</a>)</li>
<li>server: return Canceled or DeadlineExceeded status code when writing headers to a stream that is already closed (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5292">#5292</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/idiamond-stripe"><code>@​idiamond-stripe</code></a></li>
</ul>
</li>
</ul>
<h1>Behavior Changes</h1>
<ul>
<li>xds/priority: start the init timer when a child switches to Connecting from non-failure states (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5334">#5334</a>)</li>
<li>server: respond with HTTP Status 405 and gRPC status INTERNAL if the method sent to server is not POST (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5364">#5364</a>)</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>server: clarify documentation around setting and sending headers and ServerStream errors (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5302">#5302</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5b509df1e3"><code>5b509df</code></a> Change version to 1.47.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5377">#5377</a>)</li>
<li><a href="ed7522591b"><code>ed75225</code></a> Don't call cmp in non testing file (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5370">#5370</a>)</li>
<li><a href="081c688437"><code>081c688</code></a> client: fix hctx leakage in addrConn.createTransport (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5337">#5337</a>)</li>
<li><a href="30b9d59a76"><code>30b9d59</code></a> client/SubConn: do not recreate addrConn if UpdateAddresses is called with th...</li>
<li><a href="459729d667"><code>459729d</code></a> xds/priority: avoid sending duplicate updates to children (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5374">#5374</a>)</li>
<li><a href="9f4b31a11c"><code>9f4b31a</code></a> Added HTTP status and grpc status to POST check (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5364">#5364</a>)</li>
<li><a href="333a441e27"><code>333a441</code></a> xds/ringhash: update connectivity state aggregation, and make sure at least o...</li>
<li><a href="e23132c657"><code>e23132c</code></a> Added support for metadata matcher invert (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5345">#5345</a>)</li>
<li><a href="d9b952b170"><code>d9b952b</code></a> xds/resolver: use correct resource name in log message (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5357">#5357</a>)</li>
<li><a href="db79903af9"><code>db79903</code></a> xds/priority: start the init timer when a child switch to Connecting from non...</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.46.2...v1.47.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.46.2&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>
2022-06-01 13:14:50 +00:00
M. J. Fromberger
bf676827eb Revert buf tools upgrade requiring Go 1.18 (#8658) 2022-06-01 15:01:43 +02:00
Callum Waters
7ffc872dd7 config: complete removal of seed addresses in config (#8654) 2022-06-01 12:35:31 +02:00
Sam Kleinman
d2ca0b868d consensus: gossip catchup sleeping protocol (#8652) 2022-06-01 10:17:17 +00:00
dependabot[bot]
b7805e94ea build(deps): Bump eventsource from 1.1.0 to 1.1.1 in /docs (#8663)
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.1)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-01 04:34:12 -04:00
dependabot[bot]
7422f7b7a0 build(deps): Bump github.com/bufbuild/buf from 1.4.0 to 1.5.0 (#8650)
Bumps [github.com/bufbuild/buf](https://github.com/bufbuild/buf) from 1.4.0 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bufbuild/buf/releases">github.com/bufbuild/buf's releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<ul>
<li>Upgrade to <code>protoc</code> 3.20.1 support.</li>
<li>Fix an issue where <code>buf</code> would fail if two or more roots contained
a file with the same name, but with different file types (i.e. a
regular file vs. a directory).</li>
<li>Fix check for <code>PACKAGE_SERVICE_NO_DELETE</code> to detect deleted services.</li>
<li>Remove <code>buf beta registry track</code>.</li>
<li>Remove <code>buf beta registry branch</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bufbuild/buf/blob/main/CHANGELOG.md">github.com/bufbuild/buf's changelog</a>.</em></p>
<blockquote>
<h2>[v1.5.0] - 2022-05-30</h2>
<ul>
<li>Upgrade to <code>protoc</code> 3.20.1 support.</li>
<li>Fix an issue where <code>buf</code> would fail if two or more roots contained
a file with the same name, but with different file types (i.e. a
regular file vs. a directory).</li>
<li>Fix check for <code>PACKAGE_SERVICE_NO_DELETE</code> to detect deleted services.</li>
<li>Remove <code>buf beta registry track</code>.</li>
<li>Remove <code>buf beta registry branch</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4c5463f963"><code>4c5463f</code></a> Update to v1.5.0</li>
<li><a href="61010f9dd3"><code>61010f9</code></a> Add optional tls config to client (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1158">#1158</a>)</li>
<li><a href="f2dbf466e0"><code>f2dbf46</code></a> Add BEHAVIOUR linter to bufstyle (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1157">#1157</a>)</li>
<li><a href="8e2e04f4f0"><code>8e2e04f</code></a> Updates for protoc v21 (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1156">#1156</a>)</li>
<li><a href="6aefa7d0ff"><code>6aefa7d</code></a> Expose a new provider option for setting gRPC protocol (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1153">#1153</a>)</li>
<li><a href="9abbbeae07"><code>9abbbea</code></a> Delete grpc-go related packages (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1154">#1154</a>)</li>
<li><a href="56fea870b0"><code>56fea87</code></a> Add studio agent implementation (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1131">#1131</a>)</li>
<li><a href="97f8a3e15a"><code>97f8a3e</code></a> Replace transport of CLI from gRPC to Connect (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1129">#1129</a>)</li>
<li><a href="d30b7dc77d"><code>d30b7dc</code></a> add studio service endpoints for preset agents (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1142">#1142</a>)</li>
<li><a href="814be7c8c7"><code>814be7c</code></a> Update protoc version handling (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1148">#1148</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/bufbuild/buf/compare/v1.4.0...v1.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/bufbuild/buf&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)

---

<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>
2022-05-31 14:26:27 +00:00
Callum Waters
fefce8dc35 e2e: programmable ABCI method times (#8638)
* e2e: programmable ABCI method times

* fix linting error
2022-05-31 12:22:52 +02:00
William Banfield
3dec4a4744 docs: add documentation for undocumented p2p metrics (#8640)
Once merged will backport to v0.35
2022-05-30 08:45:56 +00:00
Sergio Mena
571f26bca5 Remove obsolete abci methods, no longer called by ABCI++ Tendermint (#8633)
* Remove ABCI methods marked as obsolete, but no longer called

* Add links in ABCI++ section of 'UPGRADING.md'

* make proto-gen

* Ressurrect

* make proto-gen2

* Fixed lint

* Make proto-gen3

* Minor fix to comment

* make proto-gen4
2022-05-30 08:41:18 +02:00
dependabot[bot]
844a5fd03c build(deps): Bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#8630) 2022-05-27 22:18:13 -07:00
M. J. Fromberger
9027401de4 Forward-port changelogs from v0.35.5 to master (#8627) 2022-05-27 09:17:19 +00:00
M. J. Fromberger
eb3b488761 build: simplify the proto generated check in CI (#8617)
Since we now use buf from a tools dependency, we can use the Go tool to install
the version we expected without having to curl a tarball.
2022-05-26 09:04:52 -07:00
dependabot[bot]
a3a06cd1a6 build(deps): Bump github.com/bufbuild/buf from 1.3.1 to 1.4.0 (#8622)
Bumps [github.com/bufbuild/buf](https://github.com/bufbuild/buf) from 1.3.1 to 1.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bufbuild/buf/releases">github.com/bufbuild/buf's releases</a>.</em></p>
<blockquote>
<h2>v1.4.0</h2>
<ul>
<li>Fix issue where duplicate synthetic oneofs (such as with proto3 maps or
optional fields) did not result in a properly formed error.</li>
<li>Add <code>buf beta registry repository update</code> command which supports updating
repository visibility (public vs private). As with all beta commands, this
is likely to change in the future.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bufbuild/buf/blob/main/CHANGELOG.md">github.com/bufbuild/buf's changelog</a>.</em></p>
<blockquote>
<h2>[v1.4.0] - 2022-04-21</h2>
<ul>
<li>Fix issue where duplicate synthetic oneofs (such as with proto3 maps or
optional fields) did not result in a properly formed error.</li>
<li>Add <code>buf beta registry repository update</code> command which supports updating
repository visibility (public vs private). As with all beta commands, this
is likely to change in the future.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bd759fc726"><code>bd759fc</code></a> Update to v1.4.0</li>
<li><a href="6966e63258"><code>6966e63</code></a> Support error formats that require all annotations to print (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/907">#907</a>)</li>
<li><a href="588350e21e"><code>588350e</code></a> Adds a Github Service definition (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1078">#1078</a>)</li>
<li><a href="17513207e1"><code>1751320</code></a> Update CHANGELOG.md (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1082">#1082</a>)</li>
<li><a href="792e8e0b3b"><code>792e8e0</code></a> Upgrade protoreflect and add test for duplicate synthetic oneofs (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1072">#1072</a>)</li>
<li><a href="4e717bd3bf"><code>4e717bd</code></a> Update ErrNoConfigFile error message (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1057">#1057</a>)</li>
<li><a href="0d9aa320e9"><code>0d9aa32</code></a> Bump alpine from 3.15.3 to 3.15.4 (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1064">#1064</a>)</li>
<li><a href="ff6007321f"><code>ff60073</code></a> Bump actions/setup-go from 2 to 3 (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1063">#1063</a>)</li>
<li><a href="7bedab05fc"><code>7bedab0</code></a> Add write to DisplayRepositoryElementsResponse (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1061">#1061</a>)</li>
<li><a href="d90d416c68"><code>d90d416</code></a> Add Buf cli for updating repo settings (<a href="https://github-redirect.dependabot.com/bufbuild/buf/issues/1044">#1044</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/bufbuild/buf/compare/v1.3.1...v1.4.0">compare view</a></li>
</ul>
</details>
<br />


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

---

<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>
2022-05-26 15:24:21 +00:00
Sam Kleinman
bc24ae4642 rpc: deprecate/updates to broadcast tx (#8624) 2022-05-26 08:28:28 -04:00
Jasmina Malicevic
cb9722c2b0 abci: strip mempoolerror from responsechectx (#8620)
* abci:mempoolError from ResponseCheckTx
* responseCheckTx returns an error if Tendermint decides not to accept an app after CheckTx
*updated spec, upgrading.md and changelog.md
2022-05-26 11:18:27 +02:00
Callum Waters
b0ec8a0ea7 mempool: migrate rechecktx to be a consensus parameter (#8514) 2022-05-25 23:57:23 +02:00
Jasmina Malicevic
4c857a7ed2 abci: remove unused fields from CheckTXResponse (part 1) (#8605)
abci: Removed Info, Log, Events and GasUsed from ResponseCheckTx. 
spec: Updated info on ResponseCheckTx to reflect field removal.
2022-05-25 23:06:16 +02:00
Sam Kleinman
f33722b423 migrate: reorder collection ordering (#8613) 2022-05-25 16:42:07 +00:00
M. J. Fromberger
a988cefe5d Update generated mocks after #8607. (#8612) 2022-05-25 15:48:56 +00:00
William Banfield
4cb0ec55e4 makefile: update buf commands to use tools.go (#8609)
This will keep the version of `buf` consistent between all developer machines.
2022-05-25 09:33:38 +00:00
dependabot[bot]
5d1bffe857 build(deps): Bump github.com/vektra/mockery/v2 from 2.12.2 to 2.12.3 (#8607)
Bumps [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) from 2.12.2 to 2.12.3.
<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.12.3</h2>
<h2>Changelog</h2>
<ul>
<li>41e99e1 Add explicit generation for ExpecterTest</li>
<li>68d25fe Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/466">#466</a> from LandonTClipp/testing_tb</li>
<li>356a8cd Reduce size of interface passed to mock constructor</li>
<li>b338b68 Updating mocks and fixing tests/behavior</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="68d25fe032"><code>68d25fe</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/vektra/mockery/issues/466">#466</a> from LandonTClipp/testing_tb</li>
<li><a href="41e99e1859"><code>41e99e1</code></a> Add explicit generation for ExpecterTest</li>
<li><a href="b338b6884f"><code>b338b68</code></a> Updating mocks and fixing tests/behavior</li>
<li><a href="356a8cd130"><code>356a8cd</code></a> Reduce size of interface passed to mock constructor</li>
<li>See full diff in <a href="https://github.com/vektra/mockery/compare/v2.12.2...v2.12.3">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.12.2&new-version=2.12.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)

---

<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>
2022-05-25 09:03:02 +00:00
M. J. Fromberger
10ce3d4729 rpc: fix OpenAPI docs for /events filter argument (#8599)
I incorrectly documented the "query" field as "filter".
2022-05-25 07:15:36 +00:00
Sam Kleinman
d59a53be01 p2p: reduce ability of SendError to disconnect peers (#8597) 2022-05-24 11:19:32 -04:00
Sergio Mena
1a52b7cb7b Removed redundant params in FinalizeBlock (#8598)
The parameters added in this PR where coming from `Commit` in the first versions of the spec. Later on, we decided to keep `Commit` as it is. As a result, these parameters do not make sense, either in same-block or in next-block execution mode.
2022-05-24 13:07:00 +00:00
M. J. Fromberger
8e0d0046e3 rpc: fix encoding of block_results responses (#8593)
Fixes #8583.

The block results include validator updates in ABCI protobuf format, which does
not encode "correctly" according to the expected Amino style RPC clients expect.

- Write a regression test for this issue.
- Add JSON marshaling overrides for ABCI ValidatorUpdate messages.
2022-05-23 14:43:56 -07:00
William Banfield
43313e9b85 abci++: add proto fields for enabling vote extensions (#8587)
This pull requests adds the protocol buffer field for the `ABCI.VoteExtensionsEnableHeight` parameter. This proto field is threaded throughout all of the relevant places where consensus params are used and referenced.

This PR also adds validation of the consensus param updates. Previous consensus param changes didn't depend on _previous_ versions of the params, so this change adds a method for validating against the old params as well.

closes: #8453
2022-05-23 18:23:23 +00:00
Jasmina Malicevic
6ff77eece3 light/http: added check for err == nil (#8579) 2022-05-23 12:28:24 +02:00
dependabot[bot]
3bf2875f80 build(deps): Bump goreleaser/goreleaser-action from 2 to 3 (#8590)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/goreleaser/goreleaser-action/releases">goreleaser/goreleaser-action's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: node 16 as default runtime by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/343">goreleaser/goreleaser-action#343</a>
<ul>
<li>This requires a minimum <a href="https://github.com/actions/runner/releases/tag/v2.285.0">Actions Runner</a> version of v2.285.0, which is by default available in GHES 3.4 or later.</li>
</ul>
</li>
<li>chore: update dev dependencies and workflow by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/342">goreleaser/goreleaser-action#342</a></li>
<li>upgrade go version to 1.18 by <a href="https://github.com/morwn"><code>@​morwn</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/335">goreleaser/goreleaser-action#335</a></li>
<li>chore(deps): bump <code>@​actions/exec</code> from 1.1.0 to 1.1.1 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/331">goreleaser/goreleaser-action#331</a></li>
<li>chore(deps): bump <code>@​actions/tool-cache</code> from 1.7.1 to 1.7.2 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/332">goreleaser/goreleaser-action#332</a></li>
<li>chore(deps): bump <code>@​actions/tool-cache</code> from 1.7.2 to 2.0.1 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/355">goreleaser/goreleaser-action#355</a></li>
<li>chore(deps): bump minimist from 1.2.5 to 1.2.6 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/334">goreleaser/goreleaser-action#334</a></li>
<li>chore(deps): bump yargs from 17.3.1 to 17.4.0 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/333">goreleaser/goreleaser-action#333</a></li>
<li>chore(deps): bump yargs from 17.4.0 to 17.4.1 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/339">goreleaser/goreleaser-action#339</a></li>
<li>chore(deps): bump yargs from 17.4.1 to 17.5.1 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/352">goreleaser/goreleaser-action#352</a></li>
<li>chore(deps): bump <code>@​actions/http-client</code> from 1.0.11 to 2.0.1 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/353">goreleaser/goreleaser-action#353</a></li>
<li>chore(deps): bump <code>@​actions/core</code> from 1.6.0 to 1.8.2 in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/354">goreleaser/goreleaser-action#354</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/morwn"><code>@​morwn</code></a> made their first contribution in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/335">goreleaser/goreleaser-action#335</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/goreleaser/goreleaser-action/compare/v2.9.1...v3.0.0">https://github.com/goreleaser/goreleaser-action/compare/v2.9.1...v3.0.0</a></p>
<h2>v2.9.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: current tag not taken into account by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/329">goreleaser/goreleaser-action#329</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/goreleaser/goreleaser-action/compare/v2...v2.9.1">https://github.com/goreleaser/goreleaser-action/compare/v2...v2.9.1</a></p>
<h2>v2.9.0</h2>
<h2>What's Changed</h2>
<ul>
<li>refactor: setup context by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/325">goreleaser/goreleaser-action#325</a></li>
<li>chore: update community files by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/328">goreleaser/goreleaser-action#328</a></li>
<li>feat: add artifacts and metadata outputs by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/327">goreleaser/goreleaser-action#327</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/goreleaser/goreleaser-action/compare/v2.8.1...v2.9.0">https://github.com/goreleaser/goreleaser-action/compare/v2.8.1...v2.9.0</a></p>
<h2>v2.8.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: should not force snapshot when nightly is set by <a href="https://github.com/caarlos0"><code>@​caarlos0</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/321">goreleaser/goreleaser-action#321</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/goreleaser/goreleaser-action/compare/v2.8.0...v2.8.1">https://github.com/goreleaser/goreleaser-action/compare/v2.8.0...v2.8.1</a></p>
<h2>v2.8.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump <code>@​actions/tool-cache</code> 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/goreleaser/goreleaser-action/pull/290">goreleaser/goreleaser-action#290</a></li>
<li>chore(deps): bump <code>@​actions/core</code> from 1.3.0 to 1.4.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/289">goreleaser/goreleaser-action#289</a></li>
<li>chore(deps): bump <code>@​actions/exec</code> from 1.0.4 to 1.1.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/291">goreleaser/goreleaser-action#291</a></li>
<li>refactor: use built-in <code>getExecOutput</code> by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/pull/292">goreleaser/goreleaser-action#292</a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="68acf3b1ad"><code>68acf3b</code></a> chore(deps): bump <code>@​actions/tool-cache</code> from 1.7.2 to 2.0.1 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/355">#355</a>)</li>
<li><a href="46da1137fb"><code>46da113</code></a> chore: node 16 as default runtime (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/343">#343</a>)</li>
<li><a href="223909a9be"><code>223909a</code></a> chore: update</li>
<li><a href="c56d8dfa43"><code>c56d8df</code></a> Revert &quot;chore(deps): bump <code>@​actions/core</code> from 1.6.0 to 1.8.2 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/354">#354</a>)&quot;</li>
<li><a href="d1c2f8317e"><code>d1c2f83</code></a> chore(deps): bump <code>@​actions/core</code> from 1.6.0 to 1.8.2 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/354">#354</a>)</li>
<li><a href="5c65fd87a6"><code>5c65fd8</code></a> chore(deps): bump <code>@​actions/http-client</code> from 1.0.11 to 2.0.1 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/353">#353</a>)</li>
<li><a href="46cd12b0b3"><code>46cd12b</code></a> chore(deps): bump yargs from 17.4.1 to 17.5.1 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/352">#352</a>)</li>
<li><a href="822d1bf019"><code>822d1bf</code></a> chore(deps): bump docker/bake-action from 1 to 2 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/346">#346</a>)</li>
<li><a href="c25888f15f"><code>c25888f</code></a> chore: update dev dependencies and workflow (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/342">#342</a>)</li>
<li><a href="ec57748af4"><code>ec57748</code></a> chore(deps): bump yargs from 17.4.0 to 17.4.1 (<a href="https://github-redirect.dependabot.com/goreleaser/goreleaser-action/issues/339">#339</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/goreleaser/goreleaser-action/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=goreleaser/goreleaser-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)

---

<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>
2022-05-23 09:54:39 +00:00
William Banfield
0cceadf4d4 abci++: add consensus parameter logic to control vote extension require height (#8547)
This PR makes vote extensions optional within Tendermint. A new ConsensusParams field, called ABCIParams.VoteExtensionsEnableHeight, has been added to toggle whether or not extensions should be enabled or disabled depending on the current height of the consensus engine. Related to: #8453
2022-05-20 17:46:52 -04:00
M. J. Fromberger
4786a5ffde Remove the periodically-scheduled Markdown link check. (#8580)
The state of links in our documentation is now sufficiently good that we are
running link checks during PRs. There is no longer any practical benefit to
running the scheduled "global" check. Most of the errors it reports are rate
limitations anyway (429).
2022-05-19 15:23:14 -07:00
William Banfield
ad73e6da2f consensus: update state from store before use in reactor (#8576)
Closes: #8575

This PR aims to fix the `LastCommitRound can only be negative for initial height 0` issue we see in the e2e tests by initializing the `state` object before starting the receive routines in the consensus reactor. This is somewhat inelegant, but it should fix the issue.
2022-05-19 19:35:30 +00:00
M. J. Fromberger
4a9bbe047f Fix lock sequencing in socket client request tracking. (#8581)
* Fix lock sequencing in socket client request tracking.

It is not safe to check base service state (IsRunning) while holding the lock
for the client state. If we do, then during shutdown we may deadlock with the
invocation of the OnStop handler, which the base service executes while holding
the service lock.

* Enqueue pending requests before sending them to the server.

If we don't do this, the server can reply before the request lands in the
queue.  That will cause the receiver to terminate early for an unsolicited
response. So enqueue first: This is safe because we're doing it in the same
routine as services the channel, so we won't take another message till we are
safely past that point.

* Document what we did.
* Fix socket paths in tests.
2022-05-19 12:11:57 -07:00
Sam Kleinman
b4bf74ba9c abci: serialize semantics of abci client (#8578)
Prior to this change, it was possible that two client calls could enqueue their
requests in the response queue in a different order than they were processed
by the sender goroutine. This violates the requirement that responses must be
delivered in the same order they were enqueued.

To avert this, make the sender goroutine responsible for enqueuing.

Also, remove an unnecessary channel buffer.
2022-05-19 09:16:34 -07:00
Sergio Mena
850ae93a90 Adapted client-server.md from ABCI directory (#8510)
* Copied over 'client server' section from ABCI spec

* Adapted the ABCI text in 'Client and Server' section

* Minor changes to README

* Removed TODO from Readme

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_client_server_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Addressed comments

* Moved GRPC link out of the Tendermint-specific occurrence

* Fixed merge

Co-authored-by: Daniel <daniel.cason@usi.ch>
2022-05-19 10:35:36 +02:00
Sergio Mena
2e20b820ab Adapted apps.md from ABCI directory (#8506)
* Copied over the 'Apps' section from ABCI. Need to adapt it

* Adapted the ABCI text in requirements section

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

Co-authored-by: Daniel <daniel.cason@usi.ch>

* Update spec/abci++/abci++_app_requirements_002_draft.md

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

* Adressed @cason's comments

* Update spec/abci++/abci++_app_requirements_002_draft.md

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

* Update spec/abci++/abci++_app_requirements_002_draft.md

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

* Update spec/abci++/abci++_app_requirements_002_draft.md

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

* Update spec/abci++/abci++_app_requirements_002_draft.md

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

* Addressed remaining comments

* Addressed some of @cmwaters comments

* Addressed more comments

* Addressed @JayT106's comments

Co-authored-by: Daniel <daniel.cason@usi.ch>
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-05-19 08:53:28 +02:00
M. J. Fromberger
c620900fdd rpc: fix plumbing of broadcast_tx_commit timeout (#8573)
In #3435 we allowed this timeout to override the global write timeout.
But after #8570 this meant we were applying a shorter timeout by default.
Don't do the patch if the timeout is already unlimited.

This is a temporary workaround; in light of #8561 I plan to get rid of this
option entirely during the v0.37 cycle, but meanwhile we should keep existing
use more or less coherent.
2022-05-17 10:34:43 -07:00
M. J. Fromberger
21f140410b rpc: enable the ADR 075 event log by default in new configs (#8572)
Since we are deprecating the stream-based event subscription in v0.36, we
should ensure that new nodes enable the replacement by default.  For now, just
set a baseline 30-second window.
2022-05-17 09:49:23 -07:00
M. J. Fromberger
66c4c82f7a rpc: rework timeouts to be per-method instead of global (#8570)
* rpc: rework timeouts to be per-method instead of global

Prior to this change, we set a 10-second global timeout for all RPC methods
using the net/http Server type's WriteTimeout. This meant that any request
whose handler did not return within that period would simply drop the
connection to the client.

This timeout is too short for a default, as evidenced by issues like [1] and
[2].  In addition, the mode of failure on the client side is confusing; it
shows up as a dropped connection (EOF) rather than a meaningful error from the
service. More importantly, various methods have diffent constraints: Some
should be able to return quickly, others may need to adjust based on the
application workload.

This is a first step toward supporting configurable timeouts. This change:

- Removes the server-wide default global timeout, and instead:
- Wires up a default context timeout for all RPC handlers.
- Increases the default timeout from 10s to 60s.
- Adds a hook to override this per-method as needed.

This does NOT expose the timeouts in the configuration file (yet).

[1] https://github.com/osmosis-labs/osmosis/issues/1391
[2] https://github.com/tendermint/tendermint/issues/8465
2022-05-17 08:52:39 -07:00