Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/data v1 Readiness Checklist #714

Closed
20 of 21 tasks
Tracked by #818
aaronc opened this issue Feb 1, 2022 · 1 comment
Closed
20 of 21 tasks
Tracked by #818

x/data v1 Readiness Checklist #714

aaronc opened this issue Feb 1, 2022 · 1 comment
Assignees
Labels
module-readiness-checklist Issues that track the audit of modules Scope: x/data Issues that update the x/data module Type: QA

Comments

@aaronc
Copy link
Member

aaronc commented Feb 1, 2022

x/data v1 Module Readiness Checklist

This checklist is to be used for tracking the final internal audit of new Cosmos SDK modules prior to inclusion in a published release.

Release Candidate Checklist

The following checklist should be gone through once the module has been fully implemented. This audit should be performed directly on master, or preferably on a alpha or beta release tag that includes the module.

The module should not be included in any Release Candidate tag until it has passed this checklist.

  • API audit (at least 1 person) (@ryanchristo)
  • State machine audit (at least 2 people) (@ryanchristo, @aleem1314).
    • Read through MsgServer code and verify correctness upon visual inspection
    • Ensure all state machine code which could be confusing is properly commented
    • Make sure state machine logic matches Msg method documentation
    • Ensure that all state machine edge cases are covered with tests and that test coverage is sufficient (at least 90% coverage on module code)
    • Assess potential threats for each method including spam attacks and ensure that threats have been addressed sufficiently. This should be done by writing up threat assessment for each method
    • Assess potential risks of any new third party dependencies and decide whether a dependency audit is needed
  • Completeness audit, fully implemented with tests (at least 1 person) (@ryanchristo)

Published Release Checklist

After the above checks have been audited and the module is included in a tagged Release Candidate, the following additional checklist should be undertaken for live testing, and potentially a 3rd party audit (if deemed necessary):

  • Testnet / devnet testing (2-3 people) (@kaustubhkapatral, @aleem1314, @ryanchristo)
    • All Msg methods have been tested especially in light of any potential threats identified
      • Data is not anchored twice when data has already been anchored
      • Data is anchored if not already anchored when calling Attest and Register
    • Genesis import and export has been tested (@kaustubhkapatral)
  • Nice to have (and needed in some cases if threats could be high): Official 3rd party audit
@aaronc aaronc added module-readiness-checklist Issues that track the audit of modules Scope: x/data Issues that update the x/data module labels Feb 1, 2022
@aaronc aaronc added this to the v3.0 - Llangorse Upgrade milestone Feb 1, 2022
@ryanchristo ryanchristo pinned this issue Feb 1, 2022
@ryanchristo
Copy link
Member

🚀

@ryanchristo ryanchristo unpinned this issue Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module-readiness-checklist Issues that track the audit of modules Scope: x/data Issues that update the x/data module Type: QA
Projects
None yet
Development

No branches or pull requests

4 participants