Fee sharing hook on Tempo
Uniswap v4 Hook Contract 0x715913322287d4adb9f125ed29ac95700e2ee888 on Tempo · Fee sharing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 3
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 46
What it does
A Uniswap v4 hook that appears to skim part of swap value into a token jar, with limited confidence because no verified source is available.
How it works step by step
- Stores a token jar address in slot 0 and exposes it via tokenJar()
- Maps pool IDs to tokens via poolIdToTokens and pseudoTotalValueLocked
- beforeInitialize writes pool-specific state into mapping slots 2 and 3
- beforeSwap returns a delta (beforeSwapReturnDelta) to take value from swaps
- pollTokenJar is a nonpayable function that likely triggers collection or forwarding of accumulated tokens
- Liquidity add and remove hooks are dispatched, but their logic cannot be confirmed from the decoded input
- Swap behaviour
- beforeSwap is nonpayable and returns a delta, so the hook can take a portion of each swap into a token jar before the pool executes it.
- Liquidity behaviour
- beforeAddLiquidity is dispatched and can be used to gate or account for liquidity additions; beforeRemoveLiquidity and afterAddLiquidity/afterRemoveLiquidity are present as dispatched selectors, with no clear logic determined from input.
- Fee behaviour
- Hook takes a return delta in beforeSwap, indicating it skims part of swap flow to a token jar address; exact fee rate cannot be determined from decoded input.
- Owner & admin controls
- Owner-style storage slot 0 (address) is written by pollTokenJar and beforeInitialize paths; no explicit owner setter decoded. Token jar address is stored in slot 0 and read by tokenJar(). Changes to admin config cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize records pool-to-token mapping state; beforeAddLiquidity gates or inspects liquidity additions; beforeSwap returns a delta (beforeSwapReturnDelta) that can take a portion of swap value; no afterSwap logic confirmed.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A privileged key appears able to call pollTokenJar and possibly alter the token jar destination, redirecting hook-taken value.
Risk to user funds: The hook can take a portion of swap output through return deltas and direct it to a token jar address, so traders may receive less than the pool price implies; it does not appear to hold LP principal directly from decoded input.
Security findings
- [medium] Swap return delta taken by hook: beforeSwapReturnDelta is enabled and beforeSwap is nonpayable, so the hook can take value from swaps via return deltas, which affects amounts received by traders.
- [medium] Token jar accounting controlled by stored address: Token jar address is stored in slot 0 and readable via tokenJar(); pollTokenJar is a nonpayable state-changing function, implying an off-chain or privileged trigger affecting fee flows.
- [info] Unverified access control: No source available, so access control on pollTokenJar and any setter is unverified.
Contract details
- Verified source
- No
- Bytecode size
- 12,385 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using Fee sharing hook
- OUSD / USDC.e (0.05% fee) — 24h volume $0, TVL $0, 1 swaps today
- pathUSD / USDC.e (0.05% fee) — 24h volume $0, TVL $0, 0 swaps today
- pathUSD / OUSD (0.05% fee) — 24h volume $0, TVL $0, 0 swaps today