ActionMisc

ActionMiscV3 handles FW and BT+CT minting/redemption, position exits, multicall batching, and transaction simulation.

circle-info

Source: src/fira_bonding/router/ActionMiscV3.sol

Functions

BT+CT lifecycle

  • mintBcFromToken / mintBcFromFw — Convert tokens or FW into equal BT + CT

  • redeemBcToToken / redeemBcToFw — Recombine BT + CT back to tokens or FW

Position exits

  • exitPreExpToToken / exitPreExpToFw — Exit all positions (LP + BT + CT) pre-expiry. First matches BT with CT for direct redemption (cheapest path), then swaps any remaining unmatched tokens via the AMM.

  • exitPostExpToToken / exitPostExpToFw — Post-expiry exit. Burns LP, sends BT to CT contract, redeems via CT.redeemBC(). CT is not burned post-expiry.

Utility

  • multicall — Batches multiple router calls via delegatecall to self. Each sub-call can be marked allowFailure.

  • simulate — Executes a call and reverts with the result bytes. Used by off-chain code to preview transaction outcomes without sending a real transaction.

Rewards

  • redeemDueInterestAndRewardsV2 — Collects interest from CT + rewards from FW + rewards from markets, optionally swapping reward tokens via an aggregator.

Last updated