Hook Contract
The Hook contract captures fees on every swap via Uniswap V4's hook system.
Addresses
| Network | Address |
|---|---|
| Base | 0x5eE3602f499cFEAa4E13D27b4F7D2661906b28cC |
| Ethereum | 0xEfd2F889eD9d7A2Bf6B6C9c2b20c5AEb6EBEe8Cc |
How It Works
The hook implements Uniswap V4's beforeSwap and afterSwap hooks to:
- •Calculate the 6.9% fee on each swap
- •Route 1.38% to the Factory (team)
- •Route 5.52% to the LP position
Hook Permissions
solidity
function getHookPermissions() public pure returns (Hooks.Permissions memory) {
return Hooks.Permissions({
beforeInitialize: true,
afterInitialize: false,
beforeAddLiquidity: false,
afterAddLiquidity: false,
beforeRemoveLiquidity: false,
afterRemoveLiquidity: false,
beforeSwap: true,
afterSwap: true,
beforeDonate: false,
afterDonate: false,
beforeSwapReturnDelta: true,
afterSwapReturnDelta: false,
afterAddLiquidityReturnDelta: false,
afterRemoveLiquidityReturnDelta: false
});
}Fee Calculation
solidity
uint256 constant TOTAL_FEE = 690; // 6.9% in basis points
uint256 constant TEAM_FEE = 138; // 1.38%
uint256 constant LP_FEE = 552; // 5.52%
function calculateFee(uint256 amount) internal pure returns (uint256) {
return (amount * TOTAL_FEE) / 10000;
}