doppler-hook-initializer
Source References: Code citations link to raw GitHub files pinned to commit
46bad16d.
Doppler Hook Initializer
When to use
- You are using
src/initializers/DopplerHookInitializer.sol - You need to register/manage Doppler hooks for pool initialization/swap/graduation callbacks
- You are troubleshooting hook-enabled multicurve pools and lifecycle transitions
Prerequisites
- Airlock owner or authorized operator for module-level mutations
- Asset/numeraire addresses and expected pool mode (locked vs migrable)
- Hook contract addresses and intended flags
Core workflow
- Enable hook modules at initializer level with
setDopplerHookState(...). - Initialize pool with
InitDataincluding optionaldopplerHookand callback calldata. - Confirm stored state via
getState(asset):- pool key
- far tick
- status
- selected hook
- Validate callback execution path by flag:
ON_INITIALIZATION_FLAGON_SWAP_FLAGON_GRADUATION_FLAG
- Manage runtime controls:
setAuthority(...)and delegated executionsetDopplerHook(asset, hook, calldata)when supported by authorization- graduation / migration flow checks
Supported hook patterns
RehypeDopplerHookfor buybacks and fee routingScheduledLaunchDopplerHookfor start-time gatesSwapRestrictorDopplerHookfor per-address amount ceilings
Failure modes
- Hook not enabled at initializer level before assignment
- Wrong signer (airlock owner vs delegated authority)
- Incorrect callback calldata encoding
- Status mismatch (
WrongPoolStatuscases) - Attempting migration without graduation conditions met
References
- WORKFLOWS.md
- STATE-MAP.md
- Source:
doppler/src/initializers/DopplerHookInitializer.sol,doppler/src/base/BaseDopplerHook.sol,doppler/docs/DopplerHook.md
Related skills
More from rustydotwtf/doppler-skills
fee-architecture
Reference for Doppler fee collection, distribution, and configuration across Airlock, FeesManager, locker contracts, and hook-based fee paths.
9token-lifecycle
Reference for Doppler token creation, vesting, inflation, and factory selection across DERC20, DERC2080, CloneERC20, and CloneDERC20VotesV2 paths.
9uniswap-fundamentals
Reference for Uniswap V3/V4 concepts used in Doppler development, including tick math, sqrtPriceX96, concentrated liquidity formulas, and V4 hooks/singleton architecture.
9verification
Verify on-chain Doppler behavior with cast, viem, RPC, and explorers for dynamic auctions, multicurve launches, hook initializer state, and migration flows.
8proceeds-split-migration
Configure and verify migration-time proceeds split flows using `ProceedsSplitter`, `TopUpDistributor`, `UniswapV4MigratorSplit`, and `UniswapV4MigratorSplitHook`.
7rehype
Operate, configure, test, and deploy Doppler's Rehype V4 hook for buybacks, beneficiary fees, and airlock-owner fee claims.
4