Skip to content
  • Ethan Reesor's avatar
    feat(prot): adjust snapshot frequency [DO-61] · 3b9b3064
    Ethan Reesor authored and Paul Snow's avatar Paul Snow committed
    Closes DO-61. Makes the frequency of snapshots adjustable via a cron-style configuration field. Snapshots may be captured immediately after a major block. When a major block is recorded, the next scheduled time is calculated from the snapshot frequency and the latest snapshot's block time; if the current block time is equal to or after the next scheduled time, a snapshot is captured. Therefore making the snapshot frequency greater than the major block frequency will not have the intended effect.
    
    This will facilitate testing the staking app. With this change we can increase the frequency of major blocks to simulate accelerated time, without capturing an excessive number of snapshots.
    
    I also replaced the cron library with one that is actively maintained and has better documentation.
    
    ## Review Checklist
    
    **If any item is not complete, the merge request is not ready to be reviewed and must be marked `Draft:`.**
    
    - [x] 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](/CONTRIBUTING.md)
    - [x] 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
    - [x] The change is marked with one of the validation labels
      - ~"validation::ci/cd" for changes validated by CI tests
      - ~"validation::manual" for changes validated by hand
      - ~"validation::deferred" for changes validated by a follow up merge request
      - ~"validation::not applicable" for changes where validation is not applicable
    
    ## Merge Checklist
    
    - [x] CI is passing
    - [x] Merge conflicts are resolved
    - [x] All discussions are resolved
    
    Related to DO-61
    3b9b3064
Loading