In a mock-PoolManager call to the real hook, a blocked 0.01 ETH sell-fee payout creates a 0.01 ETH-denominated claim/deferredFee. A failed sweep preserves that liability through rollback. After the owner changes feeRecipient, an unprivileged sweep burns the claim and pays the NEW recipient. Removing the token trust pointer does not prevent the old hook from sweeping these native-ETH fees. With a mock take() failure, the actual sell callback succeeds by recording a deferred pair fee; the corresponding buy callback reverts, leaving deferredFee zero. Buy core-token fee payment uses direct PoolManager.take without the pair-fee try/catch.These tests replace PoolManager with a deliberately minimal mock and simulate owner authority. They prove real-hook branching and recipient selection, not real reserves, claim solvency, live payouts or actual ETH transfers. ActualTIBBIR UNIVERSE THIS IS TIBBIR How to get TIBBIR Ribbit in numbers Connected clues Account archive Bridge & contracts On-chain research Connections Community The story Reading room Network map Timeline Findings Source library Conversations People & companies Open questions Export & reuse