Bidder risks
Upstream's "Bidder responsibilities" section (docs/TechnicalDocumentation.md at
v2.1.0) lists the ways a CCA can be configured against bidders. This table maps each
risk to the check in src/core/verify.ts that covers it, or says that no check can.
| Risk | Check id | Severity | What the tool can tell you |
|---|---|---|---|
| Floor price above fair value | manual |
— | Nothing. Fair value is not on chain. inspect shows the floor and what a full sale at the floor raises. |
requiredCurrencyRaised so high the auction never graduates |
graduation-floor, graduation-high |
warning | Compares the minimum raise with a full sale at the floor and flags anything above 200%. Every plan scenario reports whether the auction graduates. |
| Until graduation nothing exits, and a failed auction refunds everyone | — | — | plan and simulate model this: non-graduating scenarios show a full refund and no tokens. |
| Extreme start, end or claim blocks keep refunds or tokens out of reach | blocks-ordered, claim-delay |
critical / warning | Checks block order and flags a claim delay over 50,000 blocks. That threshold is this tool's choice. |
| Honeypot, malicious or fee-on-transfer token | manual |
— | Not checkable from the auction contract. Fee-on-transfer tokens are unsupported upstream. |
positionRecipient withdraws liquidity right after the pool is created |
manual |
— | Not checkable from the auction contract. That role lives in Uniswap liquidity-launcher. |
| Tick spacing small enough to be gas-hostile, or to let an attacker stop the auction finishing | tick-min, tick-gas |
critical / warning | Spacing must be ≥ 2. Upstream recommends at least 1 bp of the floor. |
| Thin final block makes the final price, which seeds the pool, easy to manipulate | last-block-supply, steps-monotonic |
warning / info | Flags a final block that releases under 1% of supply (this tool's threshold) and a schedule whose rate decreases. |
| Low-decimal (< 6) token or currency loses value to rounding | decimals |
critical | Checks both decimals. |
| Malformed schedule, floor or supply (the contract would not deploy) | steps-valid, floor-min, floor-on-tick, total-supply |
critical | Same rules the constructor enforces. |
| Validation hook rejects bids or needs hookData | validation-hook |
info | Flags any non-zero hook. calldata warns when the hook is set and no --hook-data is given. |
| Currency sent straight to the auction is lost | manual |
— | calldata reminds you to fund bids only through submitBid, using Permit2 for ERC20. |
| Bid lands at or below clearing and reverts | — | — | plan only uses ticks strictly above the clearing price at the submission block. Clearing can still move before your transaction lands. |
verify exits with code 3 when any critical check fails.