EVHEthereum
Virtual Hook
SYNCINGBLOCK EPOCH PLUGINS ASSIGNED POOLS LAST DISPATCH HYPERVISOR
Documentation · 03 / 11

Phases

Bit i of a plugin's phaseMask subscribes it to Phase(i). The ordering is part of the ABI and never changes.

BitPhaseCodeWhat the plugin sees
0Pre-initializePRE·INITRuns before Slot0 exists. No price, tick or liquidity yet — only the pool key in Envelopes.Genesis.
1Post-initializePOST·INITThe pool has a price. The hypervisor seeds the pool's starting fee here.
2Pre-add liquidityPRE·ADDPosition parameters in Envelopes.Liquidity; amounts are zero.
3Post-add liquidityPOST·ADDSame envelope, with the settled amount0 / amount1 deltas.
4Pre-remove liquidityPRE·RMVWithdrawal intent; amounts are zero.
5Post-remove liquidityPOST·RMVWithdrawal with the settled deltas.
6Pre-swapPRE·SWAPThe only phase whose return matters: the last FEE_BID in rank order sets this swap's fee.
7Post-swapPOST·SWAPSettled swap deltas. Ready JobQueue jobs are drained after this phase, inside a bounded budget.