rustydotwtf

verification

Verify on-chain Doppler behavior with cast, viem, RPC, and explorers for dynamic auctions, multicurve launches, hook initializer state, and migration flows.

rustydotwtf 6 1 Updated 6mo ago

Resources

1
GitHub

Install

npx skillscat add rustydotwtf/doppler-skills/verification

Install via the SkillsCat registry.

About this skill

This skill verifies on-chain behavior of Doppler protocol contracts using tools like cast, viem, raw RPC, and blockchain explorers. It solves the problem of confirming whether contract state matches expected launch, auction, and migration behavior by reading source contracts, recomputing values off-chain, and comparing against emitted events. Use it when auction progression, pool status transitions, or migration splits need deterministic validation before making changes.

SKILL.md

Verification

When to use

  • Contract state does not match expected launch/migration behavior
  • Rebalances, fee claims, or migration splits need confirmation
  • You need deterministic proof from chain data before making changes

Tool selection

  • cast: fast reads and direct function checks
  • viem: precision-safe math and custom scripts
  • raw RPC: historical eth_call at prior blocks
  • explorers/indexer: events, tx traces, and timeline reconstruction

Core workflow

  1. Identify module path:
    • Dynamic (Doppler)
    • Multicurve (base/scheduled/decay)
    • Hook-initializer (DopplerHookInitializer + hooks)
    • Proceeds split migration (UniswapV4MigratorSplit, TopUpDistributor)
  2. Read primary state directly from source contract.
  3. Recompute expected values off-chain (ticks, prices, allocations, proceeds split).
  4. Compare against emitted events and token balances.

High-impact checks

  • Auction progression: epochs, proceeds, sold amounts
  • Pool status transitions (Initialized, Locked, Graduated, Exited where applicable)
  • Hook permissions/flags and callback state
  • Split recipient payout + top-up pull-up outcomes

References

Related skills