Conversation
Adds full SDK support for Opening Auction lifecycle: - OpeningAuctionBuilder for creating auction params - OpeningAuctionLifecycle entity for settlement/completion - OpeningAuctionPositionManager entity for LP management - OpeningAuction entity for hook interaction - Auto-mining for hook addresses and token addresses - Completion mining for Doppler salt transition - Base Sepolia deployment addresses - Full test coverage (unit + fork tests) - Examples for bidding and lifecycle
|
Follow-up update from dual-agent review (Claude + Codex):\n\n- Normalized tuple bigint/number fields in opening-auction reads (, lifecycle ).\n- Added positive-liquidity guards across bid place/withdraw paths to prevent invalid/inverted ops.\n- Added/expanded opening-auction unit coverage (including new suite) and liquidity math unit tests.\n- Improved owner-indexed position enumeration end-of-list handling to reduce unnecessary global scan fallback.\n- Added fork bid-management test coverage and stricter async handling in opening-auction fork smoke tests.\n- Exported missing opening-auction public types from barrel/root exports.\n\nValidation run locally:\n-
stdout | test/unit/entities/OpeningAuctionBidManager.test.ts stdout | test/unit/entities/DopplerSDK.openingAuctionPositionManager.test.ts stdout | test/unit/entities/OpeningAuctionLifecycle.test.ts stdout | test/unit/entities/DopplerSDK.openingAuctionLifecycle.test.ts stdout | test/unit/entities/OpeningAuction.test.ts stdout | test/unit/entities/OpeningAuctionPositionManager.test.ts ✓ test/unit/entities/OpeningAuctionLifecycle.test.ts > OpeningAuctionLifecycle > getAddress > returns the initializer address Test Files 6 passed (6) |
|
Follow-up update from dual-agent review (Claude + Codex):
Validation run locally:
|
- Fix invalid address fallback in event watchers (zeroHash.slice → zeroAddress) - Consolidate phase/status constants into shared constants.ts - Add error context to moveBid failures (includes withdraw tx hash) - Replace Date.now() snapshot cache with block-number based approach - Make incentive share estimation return null on failure instead of silent 0 - Extract gas estimation pattern to shared resolveGasEstimate utility - Deduplicate INT24_MIN/INT24_MAX into shared constants Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Code Review — PR #84: Opening Auction Support for Base Sepolia7 issues found (3 HIGH, 3 MEDIUM, 1 LOW) · All 506 unit tests pass · Typecheck clean Issues
Positive Observations
Overall: Well-structured, well-tested PR. The main concerns are around RPC call volume in position enumeration and tick liquidity queries — performance issues rather than correctness bugs. |
…base-sepolia # Conflicts: # src/addresses.ts # src/entities/DopplerFactory.ts # src/types.ts
🔄 Address Changes DetectedCompared The following addresses used by the SDK have changed:
{
8453: {
+ openingAuctionInitializer: "0x0000000000000000000000000000000000000000"
+ openingAuctionPositionManager: "0x0000000000000000000000000000000000000000"
}
84532: {
+ openingAuctionInitializer: "0x3dCd35945Dc86a9FaA80846B06CB4676961d0AEa"
+ openingAuctionPositionManager: "0x957CA7472ced1C1B3608152F83E0E69F975a37a9"
}
}Last checked: February 26, 2026 at 17:06:54 UTC |
Summary
Adds full SDK support for the Opening Auction feature on Base Sepolia.
What's Included
Core Features
Mining & Address Generation
Base Sepolia Deployment
0x3dCd35945Dc86a9FaA80846B06CB4676961d0AEa0x957CA7472ced1C1B3608152F83E0E69F975a37a9Testing
Examples
opening-auction-bidding.ts- Bid on opening auctionsopening-auction-lifecycle.ts- Full lifecycle managementChecklist
Related