This describes a pre-release version of LBAMM. Interfaces and behavior may change.
Verify the exact repository commit before building production integrations.
Events
This page documents events emitted by the LBAMM Core contract.
Pool types, hooks, and transfer handlers may emit additional events.
Integrators should review the documentation and source code of those modules to determine any additional indexing requirements.
Pool Lifecycle
PoolCreated
event PoolCreated(
address indexed poolType,
address indexed token0,
address indexed token1,
bytes32 poolId,
address poolHook
);
Emitted when a new pool is created.
Token Settings
TokenSettingsUpdated
event TokenSettingsUpdated(
address indexed token,
address indexed tokenHook,
uint32 packedSettings
);
Emitted when a token’s hook configuration or settings are updated.
Swaps
Swap
event Swap(
bytes32 indexed poolId,
address indexed recipient,
bool zeroForOne,
uint256 amountIn,
uint256 amountOut,
uint256 lpFeeAmount
);
Emitted when a pool swap executes.
Note:
- Emitted once per hop during multi-hop swaps.
- Does not include execution-level fees (exchange fee / fee-on-top).
DirectSwap
event DirectSwap(
address indexed executor,
address indexed recipient,
address indexed tokenIn,
address tokenOut,
uint256 amountIn,
uint256 amountOut
);
Emitted when a directSwap executes.
Liquidity
LiquidityAdded
event LiquidityAdded(
bytes32 indexed poolId,
address indexed provider,
uint256 amount0,
uint256 amount1,
uint256 fees0,
uint256 fees1
);
Emitted when liquidity is added to a pool.
LiquidityRemoved
event LiquidityRemoved(
bytes32 indexed poolId,
address indexed provider,
uint256 amount0,
uint256 amount1,
uint256 fees0,
uint256 fees1
);
Emitted when liquidity is removed from a pool.
FeesCollected
event FeesCollected(
bytes32 indexed poolId,
address indexed provider,
uint256 fees0,
uint256 fees1
);
Emitted when accumulated LP fees are collected.
Flashloans
Flashloan
event Flashloan(
address indexed requester,
address indexed executor,
address indexed loanedToken,
uint256 loanAmount,
address feeToken,
uint256 feeAmount
);
Emitted when a flashloan is executed.
Hook Fee Claims
TokensClaimed
event TokensClaimed(
address indexed recipient,
address indexed token,
uint256 amount
);
Emitted when hook-managed token balances are claimed.
Protocol Fees
ProtocolFeeTaken
event ProtocolFeeTaken(
address indexed token,
uint256 amount
);
Emitted when protocol fees are accrued.
ProtocolFeesCollected
event ProtocolFeesCollected(
address indexed protocolFeeReceiver,
address indexed token,
uint256 protocolFeesCollected
);
Emitted when protocol fees are withdrawn.
ProtocolFeesSet
event ProtocolFeesSet(
uint16 lpFeeBPS,
uint16 exchangeFeeBPS,
uint16 feeOnTopBPS
);
Emitted when global protocol fee configuration is updated.
FlashloanFeeSet
event FlashloanFeeSet(uint16 flashLoanBPS);
Emitted when the flashloan fee configuration is updated.
TokenFeeSet
event TokenFeeSet(
address indexed token,
uint16 hopFeeBPS
);
Emitted when a token hop fee is configured.
ExchangeProtocolFeeOverrideSet
event ExchangeProtocolFeeOverrideSet(
address recipient,
bool feeOverrideEnabled,
uint16 protocolFeeBPS
);
Emitted when an exchange fee protocol override is configured for a recipient.
FeeOnTopProtocolFeeOverrideSet
event FeeOnTopProtocolFeeOverrideSet(
address recipient,
bool feeOverrideEnabled,
uint16 protocolFeeBPS
);
Emitted when a fee-on-top protocol override is configured for a recipient.
LPProtocolFeeOverrideSet
event LPProtocolFeeOverrideSet(
bytes32 poolId,
bool feeOverrideEnabled,
uint16 protocolFeeBPS
);
Emitted when an LP fee protocol override is configured for a pool.
