Files
com_r35157_nenjim-hubd-impl…/openspec/changes/89-add-evelyn-liquidity-service/proposal.md
T

1.8 KiB

Proposal

Why

Evelyn needs to realize proceeds from manually funded EVE/SyrupUSDC CLMM positions before a falling price converts them back to EVE. Issue #89 adds the smallest automated realization and USDC payout pipeline supporting Evelyn's sustained 100 USD/day objective.

What Changes

  • Add a domain-only EvelynLiquidityService and a Hub-owned sequential process with three independent withdrawal, exact-input swap and payout steps.
  • Add full Raydium CLMM liquidity decrease with slippage protection and retained position accounts/NFTs.
  • Add strict versioned deployment configuration and a public placeholder example with both reserves zero.
  • Lazily construct dedicated liquidity wallet, Jupiter and direct Raydium dependencies only for the selected process.
  • Verify with controlled offline fixtures and document operation/recovery.

Capabilities

New Capabilities

  • evelyn-liquidity-service: Distance-based position realization, reserve-aware conversion/payout, configuration and runtime behavior.
  • raydium-clmm-liquidity-withdrawal: Protected full liquidity decrease preserving positions and NFTs.

Modified Capabilities

  • nenjim-hub-configuration: Add the optional process to the known catalogue and defer its dedicated dependencies until selection.
  • nenjim-component-registry: Preserve eager shared composition while registering dedicated liquidity components only for the selected process.

Impact

Adds API and reference implementation packages under com.r35157.evelyn.service.liquidity, extends Raydium, and adds one optional Hub constructor. Deployment configuration and signer are required only when explicitly selected. No position creation/refill/closure, reference-price dependency, notifications or persistent service queue. No live financial verification, commits or pushes.