intents-erc7683

Solid

Detect ERC-7683 / intent-based protocol bugs — solver griefing, intent expiration, settlement race conditions, surplus theft, cross-chain replay, allowance front-runs. Activate on `IOriginSettler`, `IDestinationSettler`, `CrossChainOrder`, ERC-7683 imports, UniswapX reactor patterns, CoW settlement, 1inch Fusion, Across spoke pool / hub pool.

AI & Automation 38 stars 5 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
53
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Intent-based / ERC-7683 detection ## When this applies - ERC-7683 cross-chain intents - UniswapX (reactor + filler model) - CoW Protocol (batch auctions) - 1inch Fusion / Fusion+ - Across (origin lock + destination fill) - Any "user signs intent, solver fills" pattern ## Detection patterns ### Surplus theft (HIGH) Intent specifies `amountOutMin` (user's floor). Solver delivers exactly the min, pockets actual market surplus. UX issue but real for intents with tight min — solver fills inferior route. Defense: surplus distribution to user (CoW does this). ### Cross-chain replay (HIGH) ERC-7683 intent payload signable for one (origin, destination) pair must include both chainIds. Otherwise replay on another destination. ### Solver front-run (HIGH) Solver A's fill is in mempool; Solver B copies and submits with higher gas → A's tx reverts. Mitigations: private mempools, MEV-Share, exclusivity windows. ### Intent expiration not enforced atomically (HIGH) `require(block.timestamp <= deadline)` at settlement. If deadline is checked at the wrong step (e.g. at origin lock but not destination fill), funds can be stuck. ### Origin lock + destination fill atomicity (CRITICAL) - User locks funds on origin chain. - Solver fills on destination chain. - Solver claims locked funds on origin (via cross-chain proof). - If destination fill fails after origin lock: refund mechanism required. - If origin lock fails after destination fill: solver loses; bond required. ### Reactor callback...

Details

Author
iktok90-design
Repository
iktok90-design/ai-smart-contract-auditor
Created
1 weeks ago
Last Updated
2 days ago
Language
JavaScript
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category