| name | cross-chain-timing |
| description | Type Thought-template (instantiate before use) - Research basis Multi-block arbitrage windows, bridge latency exploitation |
Skill: Cross-Chain Timing Analysis
Type: Thought-template (instantiate before use)
Research basis: Multi-block arbitrage windows, bridge latency exploitation
Trigger Patterns
bridge|L1|L2|tunnel|messenger|crossChain|sendMessage|receiveMessage|
_processMessageFrom|LayerZero|CCIP|Wormhole|Arbitrum|Optimism
Reasoning Template
Step 1: Identify Sync Mechanism
- Find all cross-chain messaging calls in {CONTRACTS}
- For each call, determine:
- What state is being synced? (rates, balances, epochs, totals)
- What triggers the sync? (every operation, periodic, manual)
- What bridge/messenger is used?
Step 2: Measure Timing Window
- Research {BRIDGE_PROTOCOL} documentation for realistic latency
- Typical ranges: optimistic rollups (10-30 min), zk-rollups (minutes), standard bridges (20-60 min)
- Document: submission -> finality -> execution timeline
Step 3: Trace Stale State Usage
- From {SYNC_POINT}, identify all state that depends on synced values
- For each dependent operation at {DEPENDENT_FUNCTIONS}:
- Is fresh state required or is stale acceptable?
- What decisions are made with potentially stale data?
Step 4: Model Arbitrage Sequence
1. Attacker monitors {SOURCE_CHAIN} for state changes at {MONITOR_POINT}
2. State change triggers sync message (latency window opens)
3. Attacker executes on {DEST_CHAIN} at {EXPLOIT_FUNCTION} using stale {STALE_STATE}
4. Sync message arrives, state updates
5. Attacker profits: {PROFIT_CALCULATION}
Step 5: Quantify Viability