@cubee_ee/sdk 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -253,7 +253,10 @@ export interface PortfolioPoolEntry {
253
253
  }>;
254
254
  value: number;
255
255
  feesEarned: number;
256
+ /** LIVE unrealized IL only (≤ 0); realized part is `ilRealized` */
256
257
  il: number;
258
+ /** Result locked in on past withdrawals vs HODL ("Realized PnL" in UI) */
259
+ ilRealized: number;
257
260
  netPnl: number;
258
261
  apr: number;
259
262
  }
@@ -323,7 +326,13 @@ export declare class CubeBackendClient {
323
326
  type?: "swap" | "add_liquidity" | "remove_liquidity";
324
327
  user?: string;
325
328
  }): Promise<SdkResult<T>>;
326
- getSwapRoute(tokenIn: string, tokenOut: string, amountIn: string, decimalsIn?: number, slippageBps?: number): Promise<SdkResult<SwapRouteResponse>>;
329
+ getSwapRoute(tokenIn: string, tokenOut: string, amountIn: string, decimalsIn?: number, slippageBps?: number,
330
+ /**
331
+ * Restrict the quote to this single pool: no split routing, all
332
+ * estimates (priceImpact against this pool's own spot, fees, XP) are
333
+ * computed as if swapping only through it.
334
+ */
335
+ pool?: string): Promise<SdkResult<SwapRouteResponse>>;
327
336
  getLeaderboard(page?: number, limit?: number): Promise<SdkResult<LeaderboardResponse>>;
328
337
  getLeaderboardUser(address: string): Promise<SdkResult<LeaderboardUserStats>>;
329
338
  getLeaderboardUserHistory(address: string, page?: number, limit?: number): Promise<SdkResult<XpAccrualHistoryResponse>>;
@@ -386,7 +395,8 @@ export declare class CubeBackendClient {
386
395
  */
387
396
  getPortfolioHistory(range?: "7d" | "30d" | "90d" | "all"): Promise<SdkResult<PortfolioHistoryResponse>>;
388
397
  /**
389
- * Per-pool portfolio metrics (value, fees, IL, net PnL, APR).
398
+ * Per-pool portfolio metrics (value, fees, unrealized IL, realized
399
+ * IL/PnL, net PnL, APR).
390
400
  */
391
401
  getPortfolioPools(): Promise<SdkResult<PortfolioPoolsResponse>>;
392
402
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CubeBackendClient.d.ts","sourceRoot":"","sources":["../../src/clients/CubeBackendClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeBackendClient.d.ts","sourceRoot":"","sources":["../../src/clients/CubeBackendClient.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,13 @@ class CubeBackendClient {
76
76
  qs.set("user", options.user);
77
77
  return this.getDataField(`/api/pools/${addr}/transactions?${qs.toString()}`);
78
78
  }
79
- getSwapRoute(tokenIn, tokenOut, amountIn, decimalsIn = 9, slippageBps) {
79
+ getSwapRoute(tokenIn, tokenOut, amountIn, decimalsIn = 9, slippageBps,
80
+ /**
81
+ * Restrict the quote to this single pool: no split routing, all
82
+ * estimates (priceImpact against this pool's own spot, fees, XP) are
83
+ * computed as if swapping only through it.
84
+ */
85
+ pool) {
80
86
  const qs = new URLSearchParams({
81
87
  tokenIn,
82
88
  tokenOut,
@@ -86,6 +92,9 @@ class CubeBackendClient {
86
92
  if (slippageBps !== undefined) {
87
93
  qs.set('slippageBps', String(slippageBps));
88
94
  }
95
+ if (pool !== undefined) {
96
+ qs.set('pool', pool);
97
+ }
89
98
  return this.getDataField(`/api/pools/swap-route?${qs.toString()}`);
90
99
  }
91
100
  // ── Leaderboard ──
@@ -199,7 +208,8 @@ class CubeBackendClient {
199
208
  return this.get(`/api/portfolio/history?range=${range}`);
200
209
  }
201
210
  /**
202
- * Per-pool portfolio metrics (value, fees, IL, net PnL, APR).
211
+ * Per-pool portfolio metrics (value, fees, unrealized IL, realized
212
+ * IL/PnL, net PnL, APR).
203
213
  */
204
214
  getPortfolioPools() {
205
215
  return this.get("/api/portfolio/pools");
@@ -1 +1 @@
1
- {"version":3,"file":"CubeBackendClient.js","sourceRoot":"","sources":["../../src/clients/CubeBackendClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeBackendClient.js","sourceRoot":"","sources":["../../src/clients/CubeBackendClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Sliding-window cumulative-sell rate limiter + variable sell-off surge fee.
3
+ *
4
+ * Port of `contracts/programs/cubic-pool/src/math/max_selloff.rs` and
5
+ * `.../surge_fee.rs`. All arithmetic is bigint (matching the Rust u128
6
+ * intermediates); BN is used only at the SDK boundary.
7
+ *
8
+ * The cap for a window is a percentage of the token's `virtual_balance`
9
+ * captured in a per-window snapshot (NOT the live value), which prevents an
10
+ * in-window base-inflation bypass. See the Rust module for the full rationale.
11
+ */
12
+ import BN from "bn.js";
13
+ /** A = SURGE_FEE_CONVEXITY_FP (= 4) in 1e18 fixed point. */
14
+ export declare const SURGE_FEE_CONVEXITY: bigint;
15
+ export interface SelloffWindowInputs {
16
+ maxSelloffPct: number;
17
+ periodLength: number;
18
+ previousSelloff: BN;
19
+ currentSelloff: BN;
20
+ windowStartTimestamp: BN;
21
+ selloffVbSnapshot: BN;
22
+ /** Current pre-trade virtual balance of the token. */
23
+ virtualBalance: BN;
24
+ /** Unix seconds. */
25
+ now: number;
26
+ }
27
+ export interface SelloffWindowStatus {
28
+ /** True when the limiter is configured (`maxSelloffPct > 0`). */
29
+ enabled: boolean;
30
+ cap: BN;
31
+ /** Effective decayed usage WITHOUT a hypothetical trade. */
32
+ used: BN;
33
+ /** `max(0, cap - used)`. */
34
+ remaining: BN;
35
+ /** `used/cap` in PERCENT_SCALE units (0..10_000+); 0 when disabled/cap=0. */
36
+ fillPct: number;
37
+ windowStartTimestamp: BN;
38
+ periodLength: number;
39
+ /** Whether the projection at `now` rotated the window vs stored state. */
40
+ rotated: boolean;
41
+ /** Snapshot the cap was resolved against (post-projection). */
42
+ vbSnapshot: BN;
43
+ }
44
+ /** Result of the pure bigint window projection. */
45
+ export interface WindowProjection {
46
+ opened: boolean;
47
+ windowStart: bigint;
48
+ elapsedInWindow: bigint;
49
+ previous: bigint;
50
+ current: bigint;
51
+ vbSnapshot: bigint;
52
+ cap: bigint;
53
+ weightedPrev: bigint;
54
+ /** weightedPrev + current (decayed effective, WITHOUT a hypothetical trade). */
55
+ usedWithoutTrade: bigint;
56
+ }
57
+ /**
58
+ * Pure bigint projection of the sliding window at `now`. Mirrors
59
+ * `check_and_advance`'s rotation + snapshot logic (read-only, no `amount_in`).
60
+ */
61
+ export declare function projectSelloffWindow(params: {
62
+ maxSelloffPct: number;
63
+ periodLength: number;
64
+ previousSelloff: bigint;
65
+ currentSelloff: bigint;
66
+ windowStartTimestamp: bigint;
67
+ selloffVbSnapshot: bigint;
68
+ virtualBalance: bigint;
69
+ now: number;
70
+ }): WindowProjection;
71
+ /** Read-only status of a token's max-selloff window at `now`. */
72
+ export declare function computeSelloffWindow(inputs: SelloffWindowInputs): SelloffWindowStatus;
73
+ /**
74
+ * Surge-fee percentage (PERCENT_SCALE units, 0..=10_000) for a swap that
75
+ * pushed the input token's window to `effectiveSelloff` against `cap`.
76
+ * Port of `calc_surge_fee_pct`. Returns 0 when disabled or below threshold.
77
+ */
78
+ export declare function calcSurgeFeePct(effectiveSelloff: bigint, cap: bigint, thresholdPct: number, slopeLowPct: number, slopeHighPct: number): number;
79
+ /**
80
+ * CEIL surge fee on `amountOut`, clamped to `amountOut`.
81
+ * `num = amountOut * surgePct; fee = ceil(num / PERCENT_SCALE)`.
82
+ */
83
+ export declare function calcSurgeFeeAmount(amountOut: bigint, surgePct: number): bigint;
84
+ //# sourceMappingURL=maxSelloff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxSelloff.d.ts","sourceRoot":"","sources":["../../src/math/maxSelloff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,OAAO,CAAC;AAKvB,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,QAAW,CAAC;AAI5C,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,EAAE,CAAC;IACpB,cAAc,EAAE,EAAE,CAAC;IACnB,oBAAoB,EAAE,EAAE,CAAC;IACzB,iBAAiB,EAAE,EAAE,CAAC;IACtB,sDAAsD;IACtD,cAAc,EAAE,EAAE,CAAC;IACnB,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,EAAE,CAAC;IACR,4DAA4D;IAC5D,IAAI,EAAE,EAAE,CAAC;IACT,4BAA4B;IAC5B,SAAS,EAAE,EAAE,CAAC;IACd,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,EAAE,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,gBAAgB,CA8DnB;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CA0CrF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAmBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK9E"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * Sliding-window cumulative-sell rate limiter + variable sell-off surge fee.
4
+ *
5
+ * Port of `contracts/programs/cubic-pool/src/math/max_selloff.rs` and
6
+ * `.../surge_fee.rs`. All arithmetic is bigint (matching the Rust u128
7
+ * intermediates); BN is used only at the SDK boundary.
8
+ *
9
+ * The cap for a window is a percentage of the token's `virtual_balance`
10
+ * captured in a per-window snapshot (NOT the live value), which prevents an
11
+ * in-window base-inflation bypass. See the Rust module for the full rationale.
12
+ */
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.SURGE_FEE_CONVEXITY = void 0;
18
+ exports.projectSelloffWindow = projectSelloffWindow;
19
+ exports.computeSelloffWindow = computeSelloffWindow;
20
+ exports.calcSurgeFeePct = calcSurgeFeePct;
21
+ exports.calcSurgeFeeAmount = calcSurgeFeeAmount;
22
+ const bn_js_1 = __importDefault(require("bn.js"));
23
+ const config_1 = require("../config");
24
+ const fixedPoint_1 = require("./fixedPoint");
25
+ const logExp_1 = require("./logExp");
26
+ /** A = SURGE_FEE_CONVEXITY_FP (= 4) in 1e18 fixed point. */
27
+ exports.SURGE_FEE_CONVEXITY = 4n * fixedPoint_1.ONE;
28
+ const SCALE = BigInt(config_1.PERCENT_SCALE); // 10_000
29
+ /**
30
+ * Pure bigint projection of the sliding window at `now`. Mirrors
31
+ * `check_and_advance`'s rotation + snapshot logic (read-only, no `amount_in`).
32
+ */
33
+ function projectSelloffWindow(params) {
34
+ const period = BigInt(params.periodLength);
35
+ const storedWs = params.windowStartTimestamp;
36
+ const nowBI = BigInt(Math.trunc(params.now));
37
+ const rawElapsed = nowBI - storedWs;
38
+ const elapsed = rawElapsed < 0n ? 0n : rawElapsed;
39
+ let prev;
40
+ let cur;
41
+ let ws;
42
+ let eiw;
43
+ let opened;
44
+ if (period > 0n && elapsed >= 2n * period) {
45
+ prev = 0n;
46
+ cur = 0n;
47
+ ws = nowBI;
48
+ eiw = 0n;
49
+ opened = true;
50
+ }
51
+ else if (period > 0n && elapsed >= period) {
52
+ ws = storedWs + period;
53
+ const e = nowBI - ws;
54
+ eiw = e < 0n ? 0n : e;
55
+ prev = params.currentSelloff;
56
+ cur = 0n;
57
+ opened = true;
58
+ }
59
+ else if (period <= 0n) {
60
+ // Degenerate config (should be rejected on-chain); treat as a fresh reset.
61
+ prev = 0n;
62
+ cur = 0n;
63
+ ws = nowBI;
64
+ eiw = 0n;
65
+ opened = true;
66
+ }
67
+ else {
68
+ prev = params.previousSelloff;
69
+ cur = params.currentSelloff;
70
+ ws = storedWs;
71
+ eiw = elapsed;
72
+ opened = false;
73
+ }
74
+ const vbSnapshot = opened || params.selloffVbSnapshot === 0n
75
+ ? params.virtualBalance
76
+ : params.selloffVbSnapshot;
77
+ const cap = (BigInt(params.maxSelloffPct) * vbSnapshot) / SCALE;
78
+ const weightedPrev = period > 0n ? (prev * (period - eiw)) / period : 0n;
79
+ const usedWithoutTrade = weightedPrev + cur;
80
+ return {
81
+ opened,
82
+ windowStart: ws,
83
+ elapsedInWindow: eiw,
84
+ previous: prev,
85
+ current: cur,
86
+ vbSnapshot,
87
+ cap,
88
+ weightedPrev,
89
+ usedWithoutTrade,
90
+ };
91
+ }
92
+ /** Read-only status of a token's max-selloff window at `now`. */
93
+ function computeSelloffWindow(inputs) {
94
+ const enabled = inputs.maxSelloffPct > 0;
95
+ if (!enabled) {
96
+ return {
97
+ enabled: false,
98
+ cap: new bn_js_1.default(0),
99
+ used: new bn_js_1.default(0),
100
+ remaining: new bn_js_1.default(0),
101
+ fillPct: 0,
102
+ windowStartTimestamp: inputs.windowStartTimestamp,
103
+ periodLength: inputs.periodLength,
104
+ rotated: false,
105
+ vbSnapshot: new bn_js_1.default(0),
106
+ };
107
+ }
108
+ const proj = projectSelloffWindow({
109
+ maxSelloffPct: inputs.maxSelloffPct,
110
+ periodLength: inputs.periodLength,
111
+ previousSelloff: BigInt(inputs.previousSelloff.toString()),
112
+ currentSelloff: BigInt(inputs.currentSelloff.toString()),
113
+ windowStartTimestamp: BigInt(inputs.windowStartTimestamp.toString()),
114
+ selloffVbSnapshot: BigInt(inputs.selloffVbSnapshot.toString()),
115
+ virtualBalance: BigInt(inputs.virtualBalance.toString()),
116
+ now: inputs.now,
117
+ });
118
+ const used = proj.usedWithoutTrade;
119
+ const remaining = proj.cap > used ? proj.cap - used : 0n;
120
+ const fillPct = proj.cap === 0n ? 0 : Number((used * SCALE) / proj.cap);
121
+ return {
122
+ enabled: true,
123
+ cap: new bn_js_1.default(proj.cap.toString()),
124
+ used: new bn_js_1.default(used.toString()),
125
+ remaining: new bn_js_1.default(remaining.toString()),
126
+ fillPct,
127
+ windowStartTimestamp: new bn_js_1.default(proj.windowStart.toString()),
128
+ periodLength: inputs.periodLength,
129
+ rotated: proj.opened,
130
+ vbSnapshot: new bn_js_1.default(proj.vbSnapshot.toString()),
131
+ };
132
+ }
133
+ /**
134
+ * Surge-fee percentage (PERCENT_SCALE units, 0..=10_000) for a swap that
135
+ * pushed the input token's window to `effectiveSelloff` against `cap`.
136
+ * Port of `calc_surge_fee_pct`. Returns 0 when disabled or below threshold.
137
+ */
138
+ function calcSurgeFeePct(effectiveSelloff, cap, thresholdPct, slopeLowPct, slopeHighPct) {
139
+ if (cap === 0n || slopeHighPct === 0)
140
+ return 0;
141
+ const thr = BigInt(thresholdPct);
142
+ if (thr >= SCALE)
143
+ return 0;
144
+ const fillRaw = (effectiveSelloff * SCALE) / cap;
145
+ const fill = fillRaw < SCALE ? fillRaw : SCALE;
146
+ if (fill <= thr)
147
+ return 0;
148
+ const t = ((fill - thr) * fixedPoint_1.ONE) / (SCALE - thr);
149
+ const aPowT = (0, logExp_1.powFp)(exports.SURGE_FEE_CONVEXITY, t);
150
+ const factorRaw = ((aPowT - fixedPoint_1.ONE) * fixedPoint_1.ONE) / (exports.SURGE_FEE_CONVEXITY - fixedPoint_1.ONE);
151
+ const factor = factorRaw < fixedPoint_1.ONE ? factorRaw : fixedPoint_1.ONE;
152
+ const span = slopeHighPct > slopeLowPct ? BigInt(slopeHighPct - slopeLowPct) : 0n;
153
+ const prod = span * factor;
154
+ const add = prod / fixedPoint_1.ONE + (prod % fixedPoint_1.ONE !== 0n ? 1n : 0n);
155
+ const surge = BigInt(slopeLowPct) + add;
156
+ return Number(surge < SCALE ? surge : SCALE);
157
+ }
158
+ /**
159
+ * CEIL surge fee on `amountOut`, clamped to `amountOut`.
160
+ * `num = amountOut * surgePct; fee = ceil(num / PERCENT_SCALE)`.
161
+ */
162
+ function calcSurgeFeeAmount(amountOut, surgePct) {
163
+ if (surgePct <= 0 || amountOut <= 0n)
164
+ return 0n;
165
+ const num = amountOut * BigInt(surgePct);
166
+ const fee = num / SCALE + (num % SCALE !== 0n ? 1n : 0n);
167
+ return fee < amountOut ? fee : amountOut;
168
+ }
169
+ //# sourceMappingURL=maxSelloff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maxSelloff.js","sourceRoot":"","sources":["../../src/math/maxSelloff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Off-chain replicas of the cubic-pool v5 sell-off protections:
3
+ *
4
+ * - max-selloff sliding window — `math/max_selloff.rs::check_and_advance`
5
+ * - variable surge-fee curve — `math/surge_fee.rs::calc_surge_fee_pct`
6
+ *
7
+ * Used by routers/quoters to (a) avoid building routes that would revert
8
+ * with `MaxSelloffExceeded` — the window is a HARD cap on how much of a
9
+ * token can be sold into the pool per window — and (b) quote `amount_out`
10
+ * NET of the surge fee, which is the value the contract checks
11
+ * `minimum_amount_out` against.
12
+ *
13
+ * All arithmetic is bigint and mirrors the contract's u128 intermediates
14
+ * and rounding (cap floored, surge fee rounded UP). `powFp` is the same
15
+ * LogExpMath port the pool uses on-chain.
16
+ */
17
+ /** Scale shared by all `_pct` config fields: 10_000 = 100%. */
18
+ export declare const PERCENT_SCALE = 10000n;
19
+ export interface SelloffWindowInput {
20
+ /** `AssetConfig.max_selloff_pct` (PERCENT_SCALE units). `0` = disabled. */
21
+ maxSelloffPct: number;
22
+ /** `AssetConfig.max_selloff_period_length` (seconds). */
23
+ periodLengthSecs: number;
24
+ /** `AssetDynamics.previous_selloff`. */
25
+ previousSelloff: bigint;
26
+ /** `AssetDynamics.current_selloff`. */
27
+ currentSelloff: bigint;
28
+ /** `AssetDynamics.window_start_timestamp` (unix seconds). */
29
+ windowStartTimestamp: bigint;
30
+ /** `AssetDynamics.selloff_vb_snapshot`. `0` = uninitialised. */
31
+ selloffVbSnapshot: bigint;
32
+ /** The token's CURRENT (pre-swap) `virtual_balance` — becomes the new
33
+ * snapshot if the window (re)opens at `now`. */
34
+ virtualBalance: bigint;
35
+ }
36
+ export interface ResolvedSelloffWindow {
37
+ /** `false` ⇒ no cap configured — unlimited headroom, no surge fee. */
38
+ enabled: boolean;
39
+ /** Snapshot the cap resolves against at `now` (re-baselined on rotation). */
40
+ vbSnapshot: bigint;
41
+ /** Absolute cap: `floor(pct × vbSnapshot / PERCENT_SCALE)`. */
42
+ cap: bigint;
43
+ /**
44
+ * `previous × (period − elapsed) / period + current` after applying any
45
+ * window rotation at `now` — EXCLUDING any new trade amount.
46
+ */
47
+ effectiveSelloff: bigint;
48
+ /** Max additional `amount_in` the window accepts now (`cap − effective`,
49
+ * clamped ≥ 0). The contract requires `effective + amount_in <= cap`. */
50
+ headroom: bigint;
51
+ }
52
+ /**
53
+ * Resolve a token's sell-off window state at `nowSecs`, WITHOUT mutating
54
+ * anything — the read-only counterpart of the contract's
55
+ * `check_and_advance` (which the real swap will run).
56
+ *
57
+ * Rotation rules (contract-identical):
58
+ * - `elapsed >= 2×period` → both buckets aged out; cleared, re-snapshot.
59
+ * - `elapsed >= period` → `previous = current`, `current = 0`,
60
+ * `window_start += period` (slides one period, not to `now`), re-snapshot.
61
+ * - otherwise → unchanged; reuse stored snapshot (or capture
62
+ * the live vb when the snapshot is still `0` / uninitialised).
63
+ */
64
+ export declare function resolveSelloffWindow(input: SelloffWindowInput, nowSecs: number): ResolvedSelloffWindow;
65
+ /**
66
+ * Surge-fee percentage (PERCENT_SCALE units, `0..=10_000`) for a swap that
67
+ * pushes the input token's window to `effectiveSelloff` (INCLUDING the
68
+ * swap's own `amount_in`) against `cap`.
69
+ *
70
+ * Curve (contract-identical):
71
+ * ```text
72
+ * fee(t) = slope_low + (slope_high − slope_low) × (A^t − 1) / (A − 1)
73
+ * t = (fill − threshold) / (PERCENT_SCALE − threshold) ∈ [0, 1]
74
+ * fill = min(effective × PERCENT_SCALE / cap, PERCENT_SCALE)
75
+ * ```
76
+ * Returns `0` when disabled (`cap == 0`, `slopeHigh == 0`,
77
+ * `threshold >= PERCENT_SCALE`) or fill is at/below the threshold.
78
+ */
79
+ export declare function calcSurgeFeePct(effectiveSelloff: bigint, cap: bigint, thresholdPct: number, slopeLowPct: number, slopeHighPct: number): bigint;
80
+ /**
81
+ * Split a gross curve output into the surge fee and the NET amount the
82
+ * user receives. Fee rounds UP (protective fee never undercharges) and is
83
+ * capped at `amountOut` — mirrors `instructions/user/swap.rs`.
84
+ */
85
+ export declare function applySurgeFee(amountOut: bigint, surgeFeePct: bigint): {
86
+ fee: bigint;
87
+ net: bigint;
88
+ };
89
+ //# sourceMappingURL=selloff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selloff.d.ts","sourceRoot":"","sources":["../../src/math/selloff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,+DAA+D;AAC/D,eAAO,MAAM,aAAa,SAAU,CAAC;AAMrC,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B;qDACiD;IACjD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;8EAC0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,MAAM,GACd,qBAAqB,CAiEvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CA4BR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAM9B"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ /**
3
+ * Off-chain replicas of the cubic-pool v5 sell-off protections:
4
+ *
5
+ * - max-selloff sliding window — `math/max_selloff.rs::check_and_advance`
6
+ * - variable surge-fee curve — `math/surge_fee.rs::calc_surge_fee_pct`
7
+ *
8
+ * Used by routers/quoters to (a) avoid building routes that would revert
9
+ * with `MaxSelloffExceeded` — the window is a HARD cap on how much of a
10
+ * token can be sold into the pool per window — and (b) quote `amount_out`
11
+ * NET of the surge fee, which is the value the contract checks
12
+ * `minimum_amount_out` against.
13
+ *
14
+ * All arithmetic is bigint and mirrors the contract's u128 intermediates
15
+ * and rounding (cap floored, surge fee rounded UP). `powFp` is the same
16
+ * LogExpMath port the pool uses on-chain.
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.PERCENT_SCALE = void 0;
20
+ exports.resolveSelloffWindow = resolveSelloffWindow;
21
+ exports.calcSurgeFeePct = calcSurgeFeePct;
22
+ exports.applySurgeFee = applySurgeFee;
23
+ const logExp_1 = require("./logExp");
24
+ /** Scale shared by all `_pct` config fields: 10_000 = 100%. */
25
+ exports.PERCENT_SCALE = 10000n;
26
+ const ONE = 1000000000000000000n;
27
+ /** Convexity base A for the surge curve (contracts: SURGE_FEE_CONVEXITY_FP). */
28
+ const SURGE_FEE_CONVEXITY_FP = 4n * ONE;
29
+ /**
30
+ * Resolve a token's sell-off window state at `nowSecs`, WITHOUT mutating
31
+ * anything — the read-only counterpart of the contract's
32
+ * `check_and_advance` (which the real swap will run).
33
+ *
34
+ * Rotation rules (contract-identical):
35
+ * - `elapsed >= 2×period` → both buckets aged out; cleared, re-snapshot.
36
+ * - `elapsed >= period` → `previous = current`, `current = 0`,
37
+ * `window_start += period` (slides one period, not to `now`), re-snapshot.
38
+ * - otherwise → unchanged; reuse stored snapshot (or capture
39
+ * the live vb when the snapshot is still `0` / uninitialised).
40
+ */
41
+ function resolveSelloffWindow(input, nowSecs) {
42
+ const pct = BigInt(input.maxSelloffPct);
43
+ if (pct === 0n) {
44
+ return {
45
+ enabled: false,
46
+ vbSnapshot: 0n,
47
+ cap: 0n,
48
+ effectiveSelloff: 0n,
49
+ headroom: 0n,
50
+ };
51
+ }
52
+ const period = BigInt(input.periodLengthSecs);
53
+ if (period <= 0n) {
54
+ // Unreachable on-chain (set_max_selloff validates period > 0 when
55
+ // pct > 0); treat defensively as "window accepts nothing".
56
+ return {
57
+ enabled: true,
58
+ vbSnapshot: input.selloffVbSnapshot,
59
+ cap: 0n,
60
+ effectiveSelloff: 0n,
61
+ headroom: 0n,
62
+ };
63
+ }
64
+ const now = BigInt(Math.floor(nowSecs));
65
+ // Clock skew clamps to 0 rather than rotating backwards.
66
+ let elapsed = now - input.windowStartTimestamp;
67
+ if (elapsed < 0n)
68
+ elapsed = 0n;
69
+ let previous;
70
+ let current;
71
+ let elapsedInWindow;
72
+ let openedWindow;
73
+ if (elapsed >= 2n * period) {
74
+ previous = 0n;
75
+ current = 0n;
76
+ elapsedInWindow = 0n;
77
+ openedWindow = true;
78
+ }
79
+ else if (elapsed >= period) {
80
+ previous = input.currentSelloff;
81
+ current = 0n;
82
+ const newWindowStart = input.windowStartTimestamp + period;
83
+ elapsedInWindow = now - newWindowStart;
84
+ if (elapsedInWindow < 0n)
85
+ elapsedInWindow = 0n;
86
+ openedWindow = true;
87
+ }
88
+ else {
89
+ previous = input.previousSelloff;
90
+ current = input.currentSelloff;
91
+ elapsedInWindow = elapsed;
92
+ openedWindow = false;
93
+ }
94
+ const vbSnapshot = openedWindow || input.selloffVbSnapshot === 0n
95
+ ? input.virtualBalance
96
+ : input.selloffVbSnapshot;
97
+ // Cap floored — a user can never sell more than the configured fraction.
98
+ const cap = (pct * vbSnapshot) / exports.PERCENT_SCALE;
99
+ const weightedPrev = (previous * (period - elapsedInWindow)) / period;
100
+ const effectiveSelloff = weightedPrev + current;
101
+ const headroom = cap > effectiveSelloff ? cap - effectiveSelloff : 0n;
102
+ return { enabled: true, vbSnapshot, cap, effectiveSelloff, headroom };
103
+ }
104
+ /**
105
+ * Surge-fee percentage (PERCENT_SCALE units, `0..=10_000`) for a swap that
106
+ * pushes the input token's window to `effectiveSelloff` (INCLUDING the
107
+ * swap's own `amount_in`) against `cap`.
108
+ *
109
+ * Curve (contract-identical):
110
+ * ```text
111
+ * fee(t) = slope_low + (slope_high − slope_low) × (A^t − 1) / (A − 1)
112
+ * t = (fill − threshold) / (PERCENT_SCALE − threshold) ∈ [0, 1]
113
+ * fill = min(effective × PERCENT_SCALE / cap, PERCENT_SCALE)
114
+ * ```
115
+ * Returns `0` when disabled (`cap == 0`, `slopeHigh == 0`,
116
+ * `threshold >= PERCENT_SCALE`) or fill is at/below the threshold.
117
+ */
118
+ function calcSurgeFeePct(effectiveSelloff, cap, thresholdPct, slopeLowPct, slopeHighPct) {
119
+ const slopeHigh = BigInt(slopeHighPct);
120
+ if (cap === 0n || slopeHigh === 0n)
121
+ return 0n;
122
+ const thr = BigInt(thresholdPct);
123
+ if (thr >= exports.PERCENT_SCALE)
124
+ return 0n;
125
+ let fill = (effectiveSelloff * exports.PERCENT_SCALE) / cap;
126
+ if (fill > exports.PERCENT_SCALE)
127
+ fill = exports.PERCENT_SCALE;
128
+ if (fill <= thr)
129
+ return 0n;
130
+ // Normalized progress t ∈ (0, 1] in 1e18 fixed point.
131
+ const tFp = ((fill - thr) * ONE) / (exports.PERCENT_SCALE - thr);
132
+ // A^t ∈ [ONE, A·ONE] via the shared LogExpMath port.
133
+ const aPowT = (0, logExp_1.powFp)(SURGE_FEE_CONVEXITY_FP, tFp);
134
+ // factor = (A^t − 1) / (A − 1) ∈ [0, ONE].
135
+ const aMinusOne = SURGE_FEE_CONVEXITY_FP - ONE;
136
+ let factor = ((aPowT > ONE ? aPowT - ONE : 0n) * ONE) / aMinusOne;
137
+ if (factor > ONE)
138
+ factor = ONE;
139
+ // surge = slope_low + span × factor, span portion rounded UP.
140
+ const slopeLow = BigInt(slopeLowPct);
141
+ const span = slopeHigh > slopeLow ? slopeHigh - slopeLow : 0n;
142
+ const prod = span * factor;
143
+ const add = prod / ONE + (prod % ONE !== 0n ? 1n : 0n);
144
+ const surge = slopeLow + add;
145
+ return surge > exports.PERCENT_SCALE ? exports.PERCENT_SCALE : surge;
146
+ }
147
+ /**
148
+ * Split a gross curve output into the surge fee and the NET amount the
149
+ * user receives. Fee rounds UP (protective fee never undercharges) and is
150
+ * capped at `amountOut` — mirrors `instructions/user/swap.rs`.
151
+ */
152
+ function applySurgeFee(amountOut, surgeFeePct) {
153
+ if (surgeFeePct <= 0n || amountOut <= 0n)
154
+ return { fee: 0n, net: amountOut };
155
+ const num = amountOut * surgeFeePct;
156
+ let fee = num / exports.PERCENT_SCALE + (num % exports.PERCENT_SCALE !== 0n ? 1n : 0n);
157
+ if (fee > amountOut)
158
+ fee = amountOut;
159
+ return { fee, net: amountOut - fee };
160
+ }
161
+ //# sourceMappingURL=selloff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selloff.js","sourceRoot":"","sources":["../../src/math/selloff.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubee_ee/sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -308,7 +308,10 @@ export interface PortfolioPoolEntry {
308
308
  tokens: Array<{ symbol: string; mint: string }>;
309
309
  value: number;
310
310
  feesEarned: number;
311
+ /** LIVE unrealized IL only (≤ 0); realized part is `ilRealized` */
311
312
  il: number;
313
+ /** Result locked in on past withdrawals vs HODL ("Realized PnL" in UI) */
314
+ ilRealized: number;
312
315
  netPnl: number;
313
316
  apr: number;
314
317
  }
@@ -449,6 +452,12 @@ export class CubeBackendClient {
449
452
  amountIn: string,
450
453
  decimalsIn: number = 9,
451
454
  slippageBps?: number,
455
+ /**
456
+ * Restrict the quote to this single pool: no split routing, all
457
+ * estimates (priceImpact against this pool's own spot, fees, XP) are
458
+ * computed as if swapping only through it.
459
+ */
460
+ pool?: string,
452
461
  ): Promise<SdkResult<SwapRouteResponse>> {
453
462
  const qs = new URLSearchParams({
454
463
  tokenIn,
@@ -459,6 +468,9 @@ export class CubeBackendClient {
459
468
  if (slippageBps !== undefined) {
460
469
  qs.set('slippageBps', String(slippageBps));
461
470
  }
471
+ if (pool !== undefined) {
472
+ qs.set('pool', pool);
473
+ }
462
474
  return this.getDataField<SwapRouteResponse>(
463
475
  `/api/pools/swap-route?${qs.toString()}`,
464
476
  );
@@ -634,7 +646,8 @@ export class CubeBackendClient {
634
646
  }
635
647
 
636
648
  /**
637
- * Per-pool portfolio metrics (value, fees, IL, net PnL, APR).
649
+ * Per-pool portfolio metrics (value, fees, unrealized IL, realized
650
+ * IL/PnL, net PnL, APR).
638
651
  */
639
652
  getPortfolioPools(): Promise<SdkResult<PortfolioPoolsResponse>> {
640
653
  return this.get<PortfolioPoolsResponse>("/api/portfolio/pools");