Open
Description
This issue is meant to describe components that needs to undergo QA before the final release of the Olympus.
Major Changes
- unordered tx
- creation of x/accounts
- x/staking
- consensus key rotation
- x/auth
- non atomic multimsg
- removal of account creation for receiver of an action
- x/tx - x/auth merger
- creation of x/protocolpool
- x/gov
- proposal types
- x/mint
- mint inflation function
QA Breakdown
- Audit
- Audit Baseapp (@JulianToledano, @julienrbrt, @tac0turtle)
- Audit Types (@julienrbrt, @akhilkumarpilli)
- Audit Auth (@sontrinh16, @tac0turtle)
- Audit Authz (@sontrinh16, @julienrbrt, @kocubinski)
- Audit Bank (@facundomedica ✅, @akhilkumarpilli)
- Audit Circuit @facundomedica ✅,@lucaslopezf
- Audit Consensus @facundomedica ✅, @JulianToledano
- Audit Distribution @facundomedica ✅, @lucaslopezf
- Audit Epochs @facundomedica ✅
- Audit Protocol Pool (@testinginprod, @lucaslopezf)
- Audit Staking (@julienrbrt, @raynaudoe ✅)
- Audit Gov (@sontrinh16, @julienrbrt)
- Audit Slashing (@JulianToledano, @akhilkumarpilli )
- Audit server (@hieuvubk, @lucaslopezf, @julienrbrt ✅)
- Audit simapp (@hieuvubk, @julienrbrt)
- refactor(simapp,runtime): audit changes #21310
- refactor(simapp): Audit simapp #21311
- Audit Runtime (@sontrinh16, @julienrbrt)
- Audit mint (@testinginprod, @JulianToledano)
- Audit gentutil (@julienrbrt, @kocubinski)
- Audit feegrant (@raynaudoe ✅, @JulianToledano)
- Release Alpha
- Public testnet
- v0.52 Documentation #21429
- Upgrade Documentation
- Changelog review (@julienrbrt)
Command to use to see the diffs
git difftool release/v0.50.x release/v0.52.x -- x/bank
Audit Template
please copy to a markdown to follow while you walk through the code
2 people should be assigned to each section
- [ ] API audit
- spec audit: check if the spec is complete.
- Are Msg and Query methods and types well-named and organized?
- Is everything well documented (inline godoc as well as [`/spec/` folder](https://github.com/cosmos/cosmos-sdk/blob/master/docs/spec/SPEC-SPEC.md) in module directory)
- Document where panics became errors
- check the proto definition - make sure everything is in accordance to ADR-30 (at least 1 person, TODO assignee)
- Check new fields and endpoints have the Since annotations
- Check api breaks (ref: https://github.com/cosmos/cosmos-sdk/issues/20905)
- [ ] Completeness audit, fully implemented with tests
- [ ] Genesis import and export of all state
- [ ] Query services
- [ ] CLI methods
- [ ] All necessary migration scripts are present (if this is an upgrade of existing module)
- [ ] State machine audit
- [ ] 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. Specifically we should be paying attention to:
- [ ] algorithmic complexity and places this could be exploited (ex. nested `for` loops)
- [ ] charging gas complex computation (ex. `for` loops)
- [ ] storage is safe (we don't pollute the state).
- [ ] Assess potential risks of any new third party dependencies and decide whether a dependency audit is needed
- [ ] Check correctness of simulation implementation if any
- [ ] Audit Changelog against commit log, ensuring all breaking changes, bug fixes, and improvements are properly documented.
- [ ] When auditing modules, check main changelog vs new changelog
If changes are needed or there is code that can be cleaned up, please feel free to make the needed changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Metadata
Labels
Type
Projects
Status
📋 Backlog