|
| 1 | +## What |
| 2 | + |
| 3 | +Briefly describe the change in plain language. |
| 4 | + |
| 5 | +## Why |
| 6 | + |
| 7 | +Explain the motivation, bug, risk, or product/security need behind this PR. |
| 8 | + |
| 9 | +## Type of Change |
| 10 | + |
| 11 | +- [ ] Bug fix (non-breaking change) |
| 12 | +- [ ] New feature (non-breaking change) |
| 13 | +- [ ] Breaking change |
| 14 | +- [ ] Refactor (no intended behavior change) |
| 15 | +- [ ] Security hardening |
| 16 | +- [ ] Tests only |
| 17 | +- [ ] Build/CI/Tooling |
| 18 | +- [ ] Documentation |
| 19 | + |
| 20 | +## Affected Areas |
| 21 | + |
| 22 | +- [ ] PegIn flow (`registerPegIn`, `callForUser`, quote validation) |
| 23 | +- [ ] PegOut flow (`depositPegout`, `refundPegOut`, `refundUserPegOut`) |
| 24 | +- [ ] Liquidity Provider lifecycle (register/update/status/resign/collateral/withdraw) |
| 25 | +- [ ] Pause/operational controls |
| 26 | +- [ ] Quote hashing/signature logic |
| 27 | +- [ ] Bitcoin tx / PMT / merkle validation |
| 28 | +- [ ] Deployment or upgrade scripts / Makefile targets |
| 29 | +- [ ] CI workflows (`ci`, `fuzz`, `slither`, `codeql`) |
| 30 | +- [ ] Docs |
| 31 | + |
| 32 | +## Risk & Security Review |
| 33 | + |
| 34 | +- [ ] Access control and authorization paths reviewed |
| 35 | +- [ ] Reentrancy and external call paths reviewed |
| 36 | +- [ ] Storage layout / upgrade safety reviewed (if upgradeable code changed) |
| 37 | +- [ ] Time/block/confirmation assumptions reviewed |
| 38 | +- [ ] BTC tx output/index assumptions reviewed (if pegout validation touched) |
| 39 | +- [ ] No secrets or sensitive values added |
| 40 | + |
| 41 | +## Test Plan |
| 42 | + |
| 43 | +List what you ran locally and the outcome: |
| 44 | + |
| 45 | +- [ ] `npm run lint:sol` |
| 46 | +- [ ] `npm run lint:ts` |
| 47 | +- [ ] `npm run compile` |
| 48 | +- [ ] `npm test` |
| 49 | +- [ ] `npm run test:fuzz` (if logic/state transitions changed) |
| 50 | +- [ ] `npm run test:invariant` (if invariant-sensitive logic changed) |
| 51 | +- [ ] `npm run test:integration` (if integration paths changed) |
| 52 | +- [ ] `npm run test:e2e` (if deployment/ownership flows changed) |
| 53 | + |
| 54 | +Additional notes on test coverage, edge cases, and any tests intentionally skipped: |
| 55 | + |
| 56 | +## Deployment & Ops Impact |
| 57 | + |
| 58 | +- [ ] No deployment impact |
| 59 | +- [ ] Requires deployment |
| 60 | +- [ ] Requires upgrade |
| 61 | +- [ ] Env/config changes required (`.env`, network RPCs, verification, etc.) |
| 62 | +- [ ] Runbook/update instructions added to PR description |
| 63 | + |
| 64 | +If deployment/upgrade is needed, include target network(s), simulation command(s), and rollback considerations. |
| 65 | + |
| 66 | +## Related Issues |
| 67 | + |
| 68 | +- Jira: [FLY-XXXX](<insert URL>) |
| 69 | +- GitHub Issue: #(if applicable) |
| 70 | + |
| 71 | +## Reviewer Notes |
| 72 | + |
| 73 | +Anything reviewers should focus on (critical functions, invariants, assumptions, known limitations). |
| 74 | + |
| 75 | +## Screenshots / Logs (if applicable) |
| 76 | + |
| 77 | +For scripts, CI, or behavior changes, include relevant output snippets or links. |
0 commit comments