3.2 KiB
3.2 KiB
1. Public contracts
- 1.1 Add the
EvelynIOUBurnerServiceAPI with complete JavaDoc for orderedList<MoneyAmount>configuration, iteration order, transaction uncertainty, finalization, notification, lifecycle, and process-local reset risks. - 1.2 Update
JupiterSwapServiceJavaDoc to support canonical SOL/WSOL native input through the unchanged exact-input method while preserving legacy SPL and Token-2022 behavior.
2. Construction and identity boundaries
- 2.1 Add the reference implementation's authoritative constructor with dependency, numeric, duration, reserve, duplicate, known-UUID, and EVE-input validation plus an order-preserving defensive list copy.
- 2.2 Resolve canonical fixed currencies and validate exactly one non-blank CIS
solana-mintrepresentation for each configured non-SOL UUID without adding burner-specific input types or changingMoneyAmount/DeTag configuration.
3. Sequential lifecycle and iteration control
- 3.1 Implement one immediate fixed-delay daemon worker, non-overlapping start/stop semantics, interruption preservation, bounded clean termination, and explicit stop/start reset of process-local pending and suspension state.
- 3.2 Implement the safe iteration boundary and pending-burn-first short circuit so unresolved signatures are awaited before and instead of any new swap or burn work.
4. Prioritized buyback path
- 4.1 Inspect configured UUIDs in order, canonicalize through CIS, distinguish native SOL from mint-backed tokens, detect supported token programs and precision internally, enforce reserves, and skip unusable candidates without blocking later inputs or EVE processing.
- 4.2 Resolve fresh canonical input/USDC prices (with exact-one USDC), calculate a downward-rounded exact amount within the reserve and USDC cap, and attempt at most one Jupiter swap per iteration.
- 4.3 Classify definitive versus unknown Jupiter outcomes, never add a second confirmation wait or transaction attempt, and suspend later-lifecycle swaps conservatively for timeout, applicable I/O, or interruption while retaining the burn path.
5. Burn finalization and notification
- 5.1 Reload the complete EVE balance with internally detected token program, require a fresh canonical EVE/USDT price, calculate its bound USD value, submit one complete-balance burn, and retain pending data before awaiting.
- 5.2 Handle
FINALIZEDsuccess, definitive failure, timeout, I/O, and interruption without resubmission; suspend unknown signature-less burn submission outcomes for the lifecycle. - 5.3 Format the fixed proof message exactly and make at most one non-secret-logging notification attempt for each successfully finalized burn, clearing completed pending state before delivery.
6. Verification
- 6.1 Review production JavaDoc, lifecycle/state transitions, ValueTag imports, changed-file scope, and absence of parser, autorun wiring, persistence, tests, test hooks, generated-source edits, or burner-specific input types.
- 6.2 Run production compilation and assembly successfully without creating or modifying automated tests.
- 6.3 Run strict OpenSpec validation and safe narrowly scoped structural/manual verification while leaving the change active and unsynchronized.