Description
All contracts need independent security review before mainnet deployment.
Contracts to audit
- Treasury (~100 LOC) — simple but holds all FLASH tokens
- Campaign Manager v2 (~550 LOC) — core protocol logic
- TinyAMM (~500 LOC) — protocol-owned AMM with new
swap_received/deposit functions
Key areas to review
Known issues to flag to auditor
- TinyAMM
lp_transfer has no require_auth — needs fixing
swap_received intentionally has no auth (tokens must be pre-transferred)
- Campaign Manager uses
authorize_as_current_contract — removed in latest version in favor of pre-transfer pattern
Description
All contracts need independent security review before mainnet deployment.
Contracts to audit
swap_received/depositfunctionsKey areas to review
require_auth()swap_received/deposit— no auth means anyone with tokens in the AMM can triggerchecked_mul/checked_divKnown issues to flag to auditor
lp_transferhas norequire_auth— needs fixingswap_receivedintentionally has no auth (tokens must be pre-transferred)authorize_as_current_contract— removed in latest version in favor of pre-transfer pattern