Commit Graph

10200 Commits

Author SHA1 Message Date
Thane Thomson
c9deedf0eb types: Improve legibility
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 18:14:54 -04:00
Thane Thomson
3377d6160b Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-05-04 17:59:20 -04:00
Thane Thomson
2ef2733723 types: Fix legibility nits
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:58:22 -04:00
Thane Thomson
d0102e6b7e types: Assign TODO to Sergio
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:46:28 -04:00
Thane Thomson
0a31afe4c6 types: Convert ExtendedCommit.Copy to a deep clone
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:38:34 -04:00
Thane Thomson
386cdeff98 types: Shorten receiver names for ExtendedCommit
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:36:37 -04:00
Thane Thomson
59434d8513 types: Remove NewCommit constructor
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:33:31 -04:00
Thane Thomson
b5a94bba16 types: Remove NewExtendedCommit constructor
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 17:18:41 -04:00
Thane Thomson
a3b3415a3a types: Reformat ExtendedCommitSig.BlockID
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 14:12:15 -04:00
M. J. Fromberger
dd4fee88ef keymigrate: improve filtering for legacy transaction hashes (#8466)
This is a follow-up to #8352. The check for legacy evidence keys is only based
on the prefix of the key. Hashes, which are unprefixed, could easily have this
form and be misdiagnosed.

Because the conversion for evidence checks the key structure, this should not
cause corruption. The probability that a hash is a syntactically valid evidence
key is negligible.  The tool will report an error rather than storing bad data.
But this does mean that such transaction hashes could cause the migration to
stop and report an error before it is complete.

To ensure we convert all the data, refine the legacy key check to filter these
keys more precisely. Update the test cases to exercise this condition.

* Update upgrading instructions.
2022-05-04 11:08:26 -07:00
Thane Thomson
24d1e6da01 types: Minor format
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 14:07:39 -04:00
Thane Thomson
b9fe2d73d6 proto: Remove TODO on TxResult
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 14:05:50 -04:00
Thane Thomson
9fcab6000a state: Rename LoadBlockExtCommit to LoadBlockExtendedCommit
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 14:05:01 -04:00
Thane Thomson
0e8fc8e0b0 evidence/pool_test: Inline slice construction
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 13:59:25 -04:00
Thane Thomson
1667ed25ea consensus: Allocate TODO to Sergio
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 13:58:20 -04:00
Thane Thomson
fce052d710 consensus: Rename short-lived local variable
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 13:50:07 -04:00
Thane Thomson
86f942ac0f blocksync: Return error without also logging it
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 13:46:22 -04:00
Thane Thomson
a8adf63287 blocksync: Expand on extended commit requirement in AddBlock description
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 13:45:08 -04:00
Thane Thomson
2febbb24d9 types: Improve legibility of switch statements
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 12:37:59 -04:00
Thane Thomson
dd5c23de7d blocksync: Change pool AddBlock function signature to return errors
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 11:36:03 -04:00
Thane Thomson
4aed18a11e types: Remove unused/commented-out code
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 11:34:49 -04:00
Thane Thomson
421a12bfce make format
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 10:30:05 -04:00
Thane Thomson
1378900e86 blocksync: Just return error
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-04 10:29:54 -04:00
Thane Thomson
e3bfd4363d Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-05-04 09:35:04 -04:00
William Banfield
c8e336f2e9 docs: minor fixups to pbts overview (#8454) 2022-05-04 13:21:32 +00:00
Thane Thomson
a3277368c4 Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-05-04 08:32:09 -04:00
Thane Thomson
51f87b6074 Apply suggestions from code review
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
Co-authored-by: Sergio Mena <sergio@informal.systems>
2022-05-04 08:31:27 -04:00
dependabot[bot]
9a028b7d8a build(deps): Bump github.com/creachadair/atomicfile from 0.2.5 to 0.2.6 (#8460)
Bumps [github.com/creachadair/atomicfile](https://github.com/creachadair/atomicfile) from 0.2.5 to 0.2.6.
- [Release notes](https://github.com/creachadair/atomicfile/releases)
- [Commits](https://github.com/creachadair/atomicfile/compare/v0.2.5...v0.2.6)

---
updated-dependencies:
- dependency-name: github.com/creachadair/atomicfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-04 07:51:33 -04:00
Thane Thomson
6396abd49f Remove global state from store tests
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 17:26:18 -04:00
Thane Thomson
e503d746a8 Fix TestBlockFetchAtHeight
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 16:54:08 -04:00
Thane Thomson
ce70167add Fix store prefix collision
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 11:52:48 -04:00
Thane Thomson
656d2d01be Fix most tests except TestHandshake*
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 10:59:37 -04:00
Thane Thomson
056aa98570 Add helper methods to ExtendedCommitSig and ExtendedCommit
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 10:51:20 -04:00
Thane Thomson
5c81f7a568 Make panic output from BlockStore.SaveBlock more readable
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 10:50:39 -04:00
Thane Thomson
b3f3c32381 Fix comment
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 07:39:15 -04:00
Thane Thomson
583d5fc3ce make mockery
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-05-03 07:39:15 -04:00
Thane Thomson
61d5837ba2 Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-05-03 07:38:53 -04:00
Sam Kleinman
37287ead94 p2p: remove message type from channel implementation (#8452) 2022-05-02 10:52:57 -04:00
Thane Thomson
4037fcd19a Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-05-02 07:59:57 -04:00
dependabot[bot]
6c40ad39b2 build(deps): Bump docker/setup-buildx-action from 1.6.0 to 1.7.0 (#8451)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.6.0 to 1.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/setup-buildx-action/releases">docker/setup-buildx-action's releases</a>.</em></p>
<blockquote>
<h2>v1.7.0</h2>
<ul>
<li>Standalone mode by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/119">#119</a>)</li>
<li>Update dev dependencies and workflow by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/114">#114</a> <a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/130">#130</a>)</li>
<li>Bump tmpl from 1.0.4 to 1.0.5 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/108">#108</a>)</li>
<li>Bump ansi-regex from 5.0.0 to 5.0.1 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/109">#109</a>)</li>
<li>Bump <code>@​actions/core</code> from 1.5.0 to 1.6.0 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/110">#110</a>)</li>
<li>Bump actions/checkout from 2 to 3 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/126">#126</a>)</li>
<li>Bump <code>@​actions/tool-cache</code> from 1.7.1 to 1.7.2 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/128">#128</a>)</li>
<li>Bump <code>@​actions/exec</code> from 1.1.0 to 1.1.1 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/129">#129</a>)</li>
<li>Bump minimist from 1.2.5 to 1.2.6 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/132">#132</a>)</li>
<li>Bump codecov/codecov-action from 2 to 3 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/133">#133</a>)</li>
<li>Bump semver from 7.3.5 to 7.3.7 (<a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/136">#136</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f211e3e9de"><code>f211e3e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/136">#136</a> from docker/dependabot/npm_and_yarn/semver-7.3.7</li>
<li><a href="b23216e504"><code>b23216e</code></a> Update generated content</li>
<li><a href="be7e600e20"><code>be7e600</code></a> Bump semver from 7.3.5 to 7.3.7</li>
<li><a href="7117987c01"><code>7117987</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/119">#119</a> from crazy-max/standalone</li>
<li><a href="17ebdd4d65"><code>17ebdd4</code></a> ci: add jobs to check standalone behavior</li>
<li><a href="3472856dd9"><code>3472856</code></a> support standalone mode and display version</li>
<li><a href="74283caced"><code>74283ca</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/133">#133</a> from docker/dependabot/github_actions/codecov/codecov...</li>
<li><a href="5b77ad49e8"><code>5b77ad4</code></a> Bump codecov/codecov-action from 2 to 3</li>
<li><a href="2a6fbda6d8"><code>2a6fbda</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/setup-buildx-action/issues/132">#132</a> from docker/dependabot/npm_and_yarn/minimist-1.2.6</li>
<li><a href="03815bdb06"><code>03815bd</code></a> Bump minimist from 1.2.5 to 1.2.6</li>
<li>Additional commits viewable in <a href="https://github.com/docker/setup-buildx-action/compare/v1.6.0...v1.7.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/setup-buildx-action&package-manager=github_actions&previous-version=1.6.0&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<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-02 11:52:11 +00:00
Daniel
a49325e4e0 PBTS: system model made more precise (#8096)
* PBTS model: precision, accuracy, and delay defs

* PBTS model: consensus properties reviewed

* PBTS model: reinforcing alignment with UTC

* PBTS model: precision parameter embodies accuracy

* PBTS model: discussion about accuracy shortened

* PBTS model: proposal time monotonocity rephrased

* PBTS model: precision, accuracy, and delay defs

* PBTS model: consensus properties reviewed

* PBTS model: reinforcing alignment with UTC

* PBTS model: precision parameter embodies accuracy

* PBTS model: discussion about accuracy shortened

* PBTS model: proposal time monotonocity rephrased

* PBTS model: Safety Invariants subsection

* PBTS model: MSGDELAY description shortened

* PBTS model: timely proposals definition refined

* PBTS model: some formatting changes

* PBTS model: timely predicate definition

* PBTS model: timely proof-of-lock re-defined

* PBTS model: derived proof-of-lock requirements

   * The property needs to be properly demonstrated.

* Apply suggestions from William

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

* PBTS model: reference to arXiv algorithm on timely

* PBTS model: typos fixed

* PBTS model: derived POL "demonstration"

* PBTS model: fix formatting, r' renamed to vr

* PBTS model: minor fixes

* PBTS model: derived POL proof ammended

* PBTS safety: consensus validity with time inequalty

* PBTS: renamed receiveTime to proposalReceptionTime

* PBTS safety: short intro, some links

* PBTS model: safety refactored again

* PBTS model: liveness condition stated

* PBTS liveness: minor change

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

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

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

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

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_002_draft.md

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

* PBTS sysmodel: formmatting typo fixed

Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
2022-05-02 10:22:03 +02:00
Thane Thomson
91d076a6cc Merge changes from master and resolve conflicts
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-30 14:37:13 -04:00
Thane Thomson
e7451a43e7 blocksync: Honor contexts supplied to BlockPool (#8447)
* Lift condition into for loop

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

* Honor contexts in BlockPool

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

* Only stop timers when necessary

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

* Optimize timers

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

* Simplify request interval definition

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

* Remove extraneous timer stop

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

* Convert switch into if

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

* Eliminate timers

Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-30 14:34:59 -04:00
Thane Thomson
fba6848f6c Isolate TODO more clearly
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-29 17:51:01 -04:00
Thane Thomson
dc6a208f1d Expand on comment for PeekTwoBlocks for posterity
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-29 17:49:35 -04:00
Sam Kleinman
cf2a00b398 p2p: avoid using p2p.Channel internals (#8444) 2022-04-29 17:21:36 -04:00
Thane Thomson
c5db2e9bc4 Enforce vote extension signature requirement
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-29 14:43:49 -04:00
Thane Thomson
82dd779e93 Lift termination condition into for loop
Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-29 14:43:49 -04:00
Thane Thomson
adfdfca227 Add note to remove TxResult proto
As Sergio pointed out in 3e31aa6f583cdc71e208ed03a82f1d804ec0de49, this
proto message can probably be removed. We should do this in a separate
PR.

Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-29 14:43:48 -04:00
Thane Thomson
bb4a1c7645 Merge branch 'master' into thane/8272-propagate-vote-extensions 2022-04-29 14:43:42 -04:00