ActionSwapCT

ActionSwapCTV3 synthesizes CT swaps through the BT/FW AMM using a flash-callback pattern with BT+CT minting/redeeming.

circle-info

Source: src/fira_bonding/router/ActionSwapCTV3.sol

Overview

CT is not directly traded in the AMM — the pool only has BT and FW. CT swaps are synthesized:

Buy CT (FW → CT)

Send FW to CT contract → mint BT+CT → sell BT back to market for FW → net output is CT. The callback mechanism handles this atomically: the market sends FW to the router first (flash-loan style), the router mints BT+CT using that FW to repay the BT debt.

Sell CT (CT → FW)

Buy BT from the market using FW → pair with user's CT → redeem BT+CT for FW → net output is FW minus the BT cost.

Functions

  • swapExactTokenForCt — User token → FW → CT (via synthesis)

  • swapExactFwForCt — FW → CT

  • swapExactCtForToken — CT → FW → user token

  • swapExactCtForFw — CT → FW

Callback handling

The flash-style swaps use ActionCallbackV3 to handle the market's callback. The callback data encodes the action type and parameters, and the callback contract performs the BT+CT minting or redemption needed to settle the flash swap.

Last updated