Description:
Write deterministic simulation tests where adversarial solver strategies play against honest users and solvers over thousands of intents. The strategies are: accept-and-abandon griefing, wash-trading for tier, self-slash to farm the backstop, bid sniping, and exposure stacking. Assert that each strategy's P&L is negative under the current parameters.
Problem Statement & Context:
Parameter choices such as a 10% slash, a 50 USDC minimum bond, and a 1-hour cooldown were made individually. Only a combined simulation shows whether the protocol's incentives actually hold.
Scope & Acceptance Criteria:
- A strategy framework in Rust tests, with at least 6 adversarial strategies.
- Output a P&L table, and fail the test if any strategy is profitable.
- Parameter-sweep mode (ignored by default) that finds the break-even parameters.
- Write up the results in
docs/.
- Out of scope: off-chain market-price modelling beyond a simple random walk.
Implementation Guidelines:
- Key Files/Modules: new
intent_settlement/tests/econ_sim.rs, docs/.
- Design/Architecture: A seeded RNG for reproducibility.
- Edge Cases/Constraints: Runtime (a small default configuration).
- Testing: As described in the scope.
Definition of "Done":
- Suite plus report merged.
- Reviewed and approved.
Resources:
Complexity: High (200 points)
Description:
Write deterministic simulation tests where adversarial solver strategies play against honest users and solvers over thousands of intents. The strategies are: accept-and-abandon griefing, wash-trading for tier, self-slash to farm the backstop, bid sniping, and exposure stacking. Assert that each strategy's P&L is negative under the current parameters.
Problem Statement & Context:
Parameter choices such as a 10% slash, a 50 USDC minimum bond, and a 1-hour cooldown were made individually. Only a combined simulation shows whether the protocol's incentives actually hold.
Scope & Acceptance Criteria:
docs/.Implementation Guidelines:
intent_settlement/tests/econ_sim.rs,docs/.Definition of "Done":
Resources:
docs/268-caller-incentive-analysis.mdOpen → Accepted → Slashedcycles per intent #241, [High] Analyze and address the caller-incentive gap for permissionlessslash_solver/expire_intent#268Complexity: High (200 points)