Files

1.9 KiB

1. Public Jupiter API

  • 1.1 Add the checked, documented JupiterTransactionOutcomeException with validated structured signature, commitment, and failed/timed-out outcome access.
  • 1.2 Update Jupiter Swap and Perps public Javadoc and checked-exception declarations through their API call chains.

2. Jupiter Service Confirmation

  • 2.1 Add a validated confirmation-timeout overload to JupiterSwapServiceImpl, retain its two-minute default constructor, and await validated Swap results at CONFIRMED without changing provider validation or submission behavior.
  • 2.2 Add a validated confirmation-timeout overload to AnchorIdlJupiterPerpsServiceImpl, retain its two-minute default constructor, and route increase and decrease signatures through one private CONFIRMED outcome-policy helper.
  • 2.3 Ensure both services preserve structured FAILED and TIMED_OUT outcomes, contextualize confirmation IOExceptions as unknown outcomes, propagate interruption directly, and perform no retry or resubmission.

3. Perps Alarm Reporting

  • 3.1 Update the increase alarm action to report FAILED and TIMED_OUT distinctly while leaving confirmation ownership in the Perps service.
  • 3.2 Update the decrease alarm action to report FAILED and TIMED_OUT distinctly while leaving confirmation ownership in the Perps service.

4. Verification

  • 4.1 Compile main and test source sets without adding tests or executing live Jupiter/Solana transactions.
  • 4.2 Run available relevant existing tests only if their runtime is non-live and practical.
  • 4.3 Run strict OpenSpec validation and git diff --check.
  • 4.4 Review the complete diff for checked-exception propagation, unchanged provider validations, exact timeout forwarding, direct interruption propagation, no retry/resubmission, no generated-source edits, and no unrelated changes.