Skip to content
Snippets Groups Projects
  1. Jul 22, 2022
  2. Jul 14, 2022
    • Ethan Reesor's avatar
      fix(all): enable static check and fix issues [AC-2318] · 80ac7021
      Ethan Reesor authored
      Closes AC-2318. Enable static check directly (since golangci-lint's version is still broken) and fix issues. Partially because it's a good idea, partially because Fairyproof asked.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-2318
      80ac7021
  3. Jul 13, 2022
    • Dennis B's avatar
      chore(node): add security for trusted proxy [AC-1582] · 99f626ca
      Dennis B authored
      AC-1582 
      
      Adds security for seeding via a trusted proxy
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1582
      99f626ca
  4. Jul 12, 2022
    • Ethan Reesor's avatar
      chore(prot): hard code the allowed set of chains [AC-2220] · a2da597d
      Ethan Reesor authored
      Closes AC-2220. Hard-codes the allowed set of chains. Creates a method or method sequence for each chain. Updates (and renames) the resolve-a-chain-by-name method to use a switch statement to enforce the allowed set of chains. This paves the way for AC-2148.
      
      ## 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-2220
      a2da597d
  5. Jul 05, 2022
    • Ethan Reesor's avatar
      fix(prot): enforce sequencing of anchors [AC-1627] · a328eda5
      Ethan Reesor authored
      Closes AC-1627. Force anchors to be processed in sequence. Write incomplete anchors to the database so they can be queried by other partitions to heal dropped anchors.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1627
      a328eda5
  6. Jul 01, 2022
    • Ethan Reesor's avatar
      chore(prot): clarify account hash and move indices to data model [AC-1970] · c44243b9
      Ethan Reesor authored
      - Closes AC-1970. 
      - Clarifies the logic for calculating the BPT hash.
      - Moves account indices to the data model.
      - Moves account metadata into indices.
      
      ## 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1970
      c44243b9
    • Sander Postma's avatar
      feat(prot): replace scratch accounts with scratch chains [AC-1628] · 7d90289a
      Sander Postma authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes AC-1628. *Replace scratch accounts with scratch chains*
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1628
      7d90289a
  7. Jun 27, 2022
    • Ethan Reesor's avatar
      chore(prot): migrate db account to data model [AC-1969] · 02287132
      Ethan Reesor authored and Paul Snow's avatar Paul Snow committed
      Closes AC-1969. Create a data model entity for `internal/database.Account` and create data model attributes for its components.
      
      ## 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
      - [ ] Merge conflicts are resolved
      - [x] All discussions are resolved
      
      Related to AC-1969
      02287132
  8. Jun 26, 2022
    • Ethan Reesor's avatar
      chore(prot): refactor transaction status [AC-1664] · 4c4873dd
      Ethan Reesor authored and Paul Snow's avatar Paul Snow committed
      Closes AC-1664. The transaction status has too many status fields and we have two separate custom errors and error/status code sets. Simplify the transaction status, error/status codes, and error handling. Consolidate all of the transaction status fields into a status code field and an error field. Remove the old custom error and the old error codes.
      
      ## 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
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1664
      4c4873dd
  9. Jun 21, 2022
    • Abhishek Ranjan's avatar
      chore(prot): Rename subnet to partition [AC-1600] · 0adc5d77
      Abhishek Ranjan authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes [AC-1600]. Rename subnet to partition
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1600
      0adc5d77
  10. Jun 20, 2022
    • Ethan Reesor's avatar
      chore(prot): implement a caching data model [AC-1695] · 9b8e82b8
      Ethan Reesor authored
      Closes AC-1695. Implements a caching data model. Adds a generator to generate a caching data model implementation from an abstract data model described in a YAML file. Re-implements the SMT database manager as a partial caching data model.
      ## 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>`)
      - [x] 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
      - [ ] All discussions are resolved
      
      Related to AC-1695
      9b8e82b8
    • Ethan Reesor's avatar
      chore(nodecli): refactor network initialization [AC-1680] · 2a3af501
      Ethan Reesor authored and Dennis B's avatar Dennis B committed
      Closes AC-1680. Overhauls network initialization code.
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1680
      2a3af501
  11. Jun 15, 2022
    • Ethan Reesor's avatar
      chore(prot): remove validator key book [AC-1568] · 3cc32056
      Ethan Reesor authored
      - Closes AC-1568
      - Removes the validator key books
      - Simplifies the BVN operator key books (one page w/ remote auth vs two pages w/ delegated auth)
      - Moves special network account handling logic out of transaction executors into `internal/block/network_accounts.go`
      - Eliminates validator transactions
      - Updates Tendermint validator set via global values instead of via special transactions
      - Updates `dn/network` to store keys instead of key hashes
      - Updates genesis and node initialization to allow global values to be overridden at genesis
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1568
      3cc32056
  12. Jun 13, 2022
    • Ethan Reesor's avatar
      chore(prot): typegen updates for AC-1598 [AC-1696] · 0958ae6a
      Ethan Reesor authored
      Closes AC-1696. Updates typegen for AC-1598. I'm splitting this into its own MR to reduce the size of !403.
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1696
      0958ae6a
    • Sander Postma's avatar
      feat(api+cli): Major block api [AC-1217] · a53bf5ad
      Sander Postma authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes AC-1217. *Major block api implementation.*
      Example CLI command
      ```
      accumulate --use-unencrypted-wallet blocks major bvn-bvn0 1 4
      ```
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1217
      a53bf5ad
  13. Jun 11, 2022
    • Dennis B's avatar
      chore(prot): standardize network configuration for bootstrapping peers [AC-1199] · 5143376b
      Dennis B authored
      Closes AC-1199
      - added API for fetching network configuration/seeds from proxy server
      - Standardized network configuration to provide consistency on how network config is handled.
      - Added --seed option to allow for network configuration to be obtained via upcoming proxy nodes for init dual mode
      - Add p2p peer checking for building bootstrap peers for a single node.
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1199
      5143376b
  14. Jun 10, 2022
    • Ethan Reesor's avatar
      chore(prot): use a struct cache for everything · c7f015d6
      Ethan Reesor authored and Dennis B's avatar Dennis B committed
      Closes AC-1641. Rewrite indexes and merkle trees to use the struct-based cache instead of interacting directly with the key-value store.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1641
      c7f015d6
  15. Jun 09, 2022
    • Ethan Reesor's avatar
      feat(prot): dynamic routing [AC-1601] · f04dcbf2
      Ethan Reesor authored and Dennis B's avatar Dennis B committed
      Closes AC-1601. Makes routing dynamic. Updates to `dn/routing` are pushed to BVNs and cause the router to update itself.
      I will add a test.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1601
      f04dcbf2
  16. Jun 03, 2022
    • Ethan Reesor's avatar
      feat(prot): hold network values in memory [AC-1588] · 5c494f04
      Ethan Reesor authored
      Closes AC-1588. Holds global network values in-memory in a variable.
      
      - Creates `internal/core.GlobalValues` type that is responsible for loading and storing network global value accounts.
      - Changes marshalling for network global value accounts from JSON to binary.
      - Adds an active and pending global values variable to the executor to track the current, active global values and pending changes.
      - Adds logic to `internal/block.Executor.ProcessTransaction` to update the pending global values when the relevant account is changed.
      - Adds additional validation to ensure it is impossible to update a network global value account to an invalid state.
      - Enforces write-to-state for network global value account.
      - Removes oracle from the ledger (use global values instead).
      - Removes oracle from the directory anchor (updated via Updates instead).
      - Updates executors to use the active global values instead of parsing data entries.
      - Adds global values to API `describe` method
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1588
      5c494f04
    • Ethan Reesor's avatar
      feat(prot): make transactions routable [AC-1490] · 60712db8
      Ethan Reesor authored
      Closes AC-1490. Introduces the idea of the transaction ID as a URL, which are therefore routable.
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1490
      60712db8
    • Ethan Reesor's avatar
      feat(prot): implement routing table [AC-756] · 5a8e21f4
      Ethan Reesor authored
      Closes AC-756. Implement a proper routing table.
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-756
      5a8e21f4
    • Ethan Reesor's avatar
      AC-1537: fix API backwards incompatability · badac592
      Ethan Reesor authored
      badac592
  17. Jun 02, 2022
    • Ethan Reesor's avatar
      feat(prot): enforce TLD for identities [AC-1489] · acdf4f14
      Ethan Reesor authored
      Closes AC-1489. Force ADIs to have a .acme TLD.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1489
      acdf4f14
    • Ethan Reesor's avatar
      feat(prot): store data entry in account state [AC-1580] · 1cb6ed89
      Ethan Reesor authored
      Closes AC-1580. Allow a data entry to be stored in the account state. When writing to a non-scratch ADI data account, if the transaction specifies `writeToState: true`, write the entry to the account state as well as the main chain.
      
      This MR modifies how hashes are calculated for WriteData, WriteDataTo, and SyntheticWriteData transactions to improve robustness.
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1580
      1cb6ed89
    • Ethan Reesor's avatar
      fix(prot): check synth txn keys [AC-1484] · 9d334bd3
      Ethan Reesor authored
      Closes AC-1484. Verify that the key used to sign a synthetic transaction actually belongs to an operator.
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1484
      9d334bd3
  18. May 25, 2022
    • Sander Postma's avatar
      feat(prot): create dn/subnets account [AC-1398] · 596c8939
      Sander Postma authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes AC-1398. *Dn account subnets*
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1398
      596c8939
  19. May 20, 2022
    • Ethan Reesor's avatar
      chore(prot): rename owner to delegate [AC-1522] · 8794c5fd
      Ethan Reesor authored
      Closes AC-1522. Rename the `owner` field of a key page entry to `delegate`.
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1522
      8794c5fd
    • Ethan Reesor's avatar
      feat(prot): guarantee synthetic transaction delivery [AC-816] · 09f9d819
      Ethan Reesor authored
      Closes AC-816. Guarantee delivery of synthetic transactions.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-816
      09f9d819
  20. May 19, 2022
    • Ethan Reesor's avatar
      chore(prot): unionize executor requests [AC-1530] · 8d52b0b0
      Ethan Reesor authored
      Closes AC-1530. Convert `types/api/query` request types into a tagged union, like transaction bodies or signatures.
      
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1530
      8d52b0b0
  21. May 17, 2022
    • Sander Postma's avatar
      fix(api): query minor blocks total [AC-1461] · 07ff6173
      Sander Postma authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes AC-1461. *Query minor blocks total bugfix.*
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1461
      07ff6173
  22. May 13, 2022
    • Abhishek Ranjan's avatar
      chore(prot): term name change [AC-1372] · 320c675d
      Abhishek Ranjan authored and Ethan Reesor's avatar Ethan Reesor committed
      Closes AC-1372. term name change
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1372
      320c675d
    • Dennis B's avatar
      chore(prot): split anchor transactions/signatures [AC-1463] · 156a7485
      Dennis B authored
      Closes AC-1463. 
      - replaced internal transactions/signatures with system transactions/signatures
      - renamed SyntheticMirror to MirrorSystemRecords and make it a system transaction
      - split SyntheticAnchor into PartitionAnchor and DirectoryAnchor
      - Pulled new transactions out of synthetic_transactions.yml to system_transactions.yml system transactions
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [x] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1463
      156a7485
  23. May 12, 2022
    • Ethan Reesor's avatar
      feat(prot): make data entry a tagged union [AC-1504] · b4b7159b
      Ethan Reesor authored and Paul Snow's avatar Paul Snow committed
      Closes AC-1504. Convert `DataEntry` into a tagged union type with two concrete implementations, one for Accumulate and one for Factom.
      ## 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>`)
      - [x] 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 AC-1504
      b4b7159b
    • Ethan Reesor's avatar
      chore(all): add custom analyzers [AC-1517] · 0f90dbf4
      Ethan Reesor authored
      Closes AC-1517. Add two custom analyzers:
      
      - 'noprint' catches print statements. We should be using the logger for basically everything, and adding print statements is common for debugging. Debugging print statements should not be merged.
      - 'rangevarref' catches cases where the body of a for-loop captures a reference to a value-type range variable. The analyzer doesn't know how to determine if a value escapes the stack, so it plays it safe by assuming all values escape. This leads to false positives, but dealing with false positives is much better than having bugs because of false negatives.
      
      ## 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>`)
      - [x] 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 AC-1517
      0f90dbf4
    • Ethan Reesor's avatar
      feat(prot): implement ABCI snapshot functions [AC-1257] · 9030054c
      Ethan Reesor authored
      Closes AC-1257. Implements ABCI snapshot functions. **This does not actually implement Tendermint snapshot-based state sync.** There is more work to be done, but I am going to do that in a separate MR.
      
      ## 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1257
      9030054c
  24. May 11, 2022
    • Ethan Reesor's avatar
      chore(prot): refactor signatures · e50e4047
      Ethan Reesor authored
      Closes AC-1407. Refactor signature processing. Remote signatures will not be forwarded until the remote signer is satisfied.
      
      ## 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](/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
        - ~"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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1407
      e50e4047
  25. May 09, 2022
    • Ethan Reesor's avatar
      feat(prot): replace manager with authority set [AC-1491] · 8b13d599
      Ethan Reesor authored and Dennis B's avatar Dennis B committed
      Closes AC-1491. Replace `Manager *url.URL` and `KeyBook *url.URL` with `Authorities []*url.URL` (more or less) in Create transactions. This will allow accounts to be created with any number of managers instead of just one.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1491
      8b13d599
  26. May 06, 2022
    • Abhishek Ranjan's avatar
      feat(prot): adding factom addresses and balance in genesis [AC-1181] · 659a0aa0
      Abhishek Ranjan authored and Dennis B's avatar Dennis B committed
      Closes AC-1181. adding factom addresses and balance in genesis
      
      ## 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>`)
      - [x] 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
      - [ ] Merge conflicts are resolved
      - [x] All discussions are resolved
      
      Related to AC-1181
      659a0aa0
  27. May 05, 2022
    • Ethan Reesor's avatar
      feat(prot): state snapshots [AC-1349] · 2ebecdb4
      Ethan Reesor authored
      Closes AC-1349. Add methods to save and restore snapshots of the network state.
      
      ## 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>`)
      - [x] 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
      
      - [ ] CI is passing
      - [ ] Merge conflicts are resolved
      - [ ] All discussions are resolved
      
      Related to AC-1349
      2ebecdb4
  28. May 03, 2022
    • Ethan Reesor's avatar
      feat(api): add execute-direct · 958ee7d5
      Ethan Reesor authored
      Closes AC-1464. Add an API method that accepts and submits an entire envelope, as an alternative to the API methods that build an envelope.
      
      ## 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>`)
      - [x] 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
        - ~"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
      - [ ] All discussions are resolved
      
      Related to AC-1464
      958ee7d5
Loading