Skip to content

feat(prot): implement Tendermint state sync

Ethan Reesor requested to merge AC-1508-tendermint-snapshots into develop

Closes AC-1508. Gets Tendermint state sync (sync via snapshot) working.

  • Updates SaveSnapshot to save everything. We can figure out what the minimum set of records is later.
  • Adds a daemon subcommand to enable state sync, which requires setting a trusted height and snapshot hash.
  • Adds an analyzer to prevent accidentally committing enabled debug flags, e.g. const debugFoo = true.
  • Adds a debug tool to list snapshots and dump the records in a snapshot.
  • Consolidates various debug tools into a single tool as subcommands.

Review Checklist

If any item is not complete, the merge request is not ready to be reviewed and must be marked Draft:.

  • The merge request title is in the format <change type>(<change scope>): <short description> [<task id>]
    • For example, feat(cli): add QR code generation [AC-123]
    • For details, see CONTRIBUTING.md
  • The description includes Closes <jira task ID> (or rarely Updates <jira task ID>)
  • The change is fully validated by tests that are run during CI
    • In most cases this means a test in "validate.sh"
    • In some cases, a Go test may be acceptable
    • Validation is not applicable to things like documentation updates
    • Purely UI/UX changes can be manually validated, such as changes to human-readable output
    • For all other changes, automated validation tests are an absolute requirement unless a maintainer specifically explains why they are not in a comment on this merge request
  • The change is marked with one of the validation labels

Merge Checklist

  • CI is passing
  • Merge conflicts are resolved
  • All discussions are resolved

Related to AC-1508

Edited by Ethan Reesor

Merge request reports