import { DYNAMIC_FEE_FLAG } from '@uniswap/v4-sdk'; import { type Address } from 'viem'; /** address(0). The native-currency sentinel and the hookless-pool hook. */ export declare const ZERO_ADDRESS: "0x0000000000000000000000000000000000000000"; /** 2^96 — the fixed-point scale used by the CCA price model (currency-per-token in Q96). */ export declare const Q96: bigint; /** New tokens launched through the factory are fixed at 18 decimals. */ export declare const NEW_TOKEN_DECIMALS = 18; /** Native currency (ETH) decimals; used when the raise currency is the zero address. */ export declare const NATIVE_CURRENCY_DECIMALS = 18; /** * address(1) — v4 `ActionConstants.MSG_SENDER`. The CCA factory rewrites this sentinel to * `msg.sender` (the strategy) when it is set as the auction `fundsRecipient`. */ export declare const FUNDS_RECIPIENT_SENTINEL: Address; /** * The canonical CREATE2 deployer (same address on every chain) used to deterministically deploy a * per-launch liquidity-lock recipient. Calldata convention: `salt(32 bytes) ++ initCode`. */ export declare const CANONICAL_CREATE2_DEPLOYER: Address; /** 1e7 = 100%, the milli-percent (mps) denominator used across the launcher contracts. */ export declare const MPS_TOTAL = 10000000; /** Minimum LP allocation percent for each bracket (single schedule or every tiered tier). */ export declare const MIN_LP_ALLOCATION_PERCENT = 25; /** Matches `@uniswap/v4-sdk` `Pool` static fee bound (`fee < 1_000_000` or dynamic). */ export declare const MAX_LP_FEE = 1000000; /** v4 PoolManager bound: tick spacing must be `<= type(int16).max`. */ export declare const MAX_TICK_SPACING = 32767; /** Sentinel max percent meaning "+Infinity" (unbounded upper price). */ export declare const UNBOUNDED_PERCENT = 1000000000; /** * Default gap (in blocks) between auction end and when migration may begin. The LBP strategy * requires `migrationBlock > endBlock` (reverts `InvalidEndBlock` otherwise), so the minimum is 1. */ export declare const DEFAULT_MIGRATION_DELAY_BLOCKS = 1n; /** * Divisor for the CCA price-tick granularity. Distinct from the pool tick spacing and not derivable * from the fee tier. v1 default: 1% of the floor price (the canonical CCA configurator value). */ export declare const AUCTION_TICK_DIVISOR = 100n; /** Number of equal-token ramp steps before the single large final block. */ export declare const DEFAULT_AUCTION_STEPS = 12; /** Fraction of supply released in the single large final block (anti-manipulation anchor). */ export declare const DEFAULT_FINAL_BLOCK_PCT = 0.3; /** Convexity exponent alpha for the normalized supply curve C(t) = t^alpha (alpha > 1). */ export declare const DEFAULT_CONVEXITY_ALPHA = 1.2; /** Fallback block time (seconds) for chains without an explicit entry. */ export declare const DEFAULT_BLOCK_TIME_SECONDS = 12; /** * Approximate block time (seconds) per chain, used to convert an auction's start/end times into a * block range. This MUST match the cadence of the clock the CCA advances on — * `blocknumberish._getBlockNumberish()`, which returns the L2 `arbBlockNumber` on Arbitrum-family * chains and `block.number` everywhere else — because the range is derived from the same * `eth_blockNumber` (L2 sequencer) height the backend reads. A wrong value scales the auction's * real-time window by (real cadence / assumed cadence) — e.g. the 12s default would silently * compress a 14h auction to ~17min on Arbitrum and ~7min on Robinhood. * * Arbitrum One and Robinhood are Arbitrum L2s whose block clock ticks sub-second, so they need * explicit entries. NOTE: Robinhood is an Orbit chain where `block.number` diverges from its L2 * height; the original on-chain `blocknumberish` library only substituted `arbBlockNumber` for * Arbitrum One's chain id, so Robinhood's CCA/LBPStrategy were redeployed on 2026-07-09 against a * blocknumberish that also recognizes Robinhood (CCA factory * 0x000000001F26a0044BaA66024e7b6599c61963F8 — the chain-4663 ccaFactory in addresses.ts; the * matching LBPStrategy has since been superseded by the v3.1.0 deploy, also blocknumberish-aware). * This value takes effect on those redeployed contracts. Chains without an entry fall back to * {@link DEFAULT_BLOCK_TIME_SECONDS}. * * Values are approximate by nature (a chain's real cadence drifts), and non-integer entries like * `0.1` aren't exactly representable in IEEE-754 — both are absorbed by `deriveBlocks`, which * `Math.round`s the block delta (at most ±1 block, far below the cadence-estimate error itself). */ export declare const BLOCK_TIME_SECONDS_BY_CHAIN: Record; /** Re-exported so callers building pool params don't need a direct v4-sdk import. */ export { DYNAMIC_FEE_FLAG };