ActionSimple provides gas-optimized swap and liquidity functions using on-chain approximation instead of off-chain hints.
Source:src/fira_bonding/router/ActionSimple.sol
Overview
A parallel set of swap and liquidity functions that use MarketApproxLibOnchain instead of the off-chain binary search approximation. These are called internally by the main action facets when guessOffchain == 0 and no limit orders are present.
When it's used
The main facets (ActionSwapBTV3, ActionSwapCTV3, etc.) check canUseOnchainApproximation() in ActionDelegateBase. If true, they delegate to ActionSimple via address(this).delegatecall(...), which runs ActionSimple's code in the router's storage context.
Functions
swapExactFwForBtSimple — FW → BT using on-chain closed-form approximation
On-chain approximation provides a simpler code path with lower gas cost for straightforward operations, at the expense of slightly less precise swap amounts compared to the off-chain binary search method.