Files

3.2 KiB

1. Public contracts

  • 1.1 Add the EvelynIOUBurnerService API with complete JavaDoc for ordered List<MoneyAmount> configuration, iteration order, transaction uncertainty, finalization, notification, lifecycle, and process-local reset risks.
  • 1.2 Update JupiterSwapService JavaDoc 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-mint representation for each configured non-SOL UUID without adding burner-specific input types or changing MoneyAmount/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 FINALIZED success, 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.