@cubee_ee/sdk 0.5.1 → 0.5.3

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.
@@ -124,6 +124,33 @@ export interface LeaderboardStatsResponse {
124
124
  /** Sum of all XP points across all users */
125
125
  totalXp: number;
126
126
  }
127
+ export interface CampaignStatusResponse {
128
+ /** Active campaign slug the backend is currently running. */
129
+ campaign: string;
130
+ participating: boolean;
131
+ /** ISO time of the ORIGINAL join; null when not participating. */
132
+ joinedAt: string | null;
133
+ }
134
+ export interface CampaignTopEntry {
135
+ /** Continuous across pages. */
136
+ place: number;
137
+ address: string;
138
+ /** XP earned from swaps inside the window (LP XP not counted). */
139
+ swapXp: number;
140
+ swapVolumeUsd: number;
141
+ joinedAt: string;
142
+ }
143
+ export interface CampaignTopResponse {
144
+ campaign: string;
145
+ from: string;
146
+ /** null ⇒ rolling window: `from` .. now at request time. */
147
+ to: string | null;
148
+ /** Participants with swap XP > 0 in the window. */
149
+ total: number;
150
+ page: number;
151
+ limit: number;
152
+ data: CampaignTopEntry[];
153
+ }
127
154
  export interface PlatformStatsResponse {
128
155
  totalTvlUsd: number;
129
156
  totalVirtualTvl: number;
@@ -134,6 +161,10 @@ export interface PlatformStatsResponse {
134
161
  export interface AdminPoolEntry {
135
162
  poolAddress: string;
136
163
  poolName: string;
164
+ /** Off-chain: mint shown first in the token list (null = default order). */
165
+ baseAssetMint: string | null;
166
+ /** Off-chain: short pool description. */
167
+ description: string | null;
137
168
  tvlUsd: number;
138
169
  apy: number;
139
170
  volume24h: number;
@@ -146,6 +177,13 @@ export interface AdminPoolEntry {
146
177
  imageUrl: string | null;
147
178
  }>;
148
179
  }
180
+ /** Off-chain, admin-editable pool settings. */
181
+ export interface UpdatePoolSettingsBody {
182
+ /** Mint of the base asset (one of the pool tokens); "" clears it. */
183
+ baseAssetMint?: string;
184
+ /** Short description; "" clears it. */
185
+ description?: string;
186
+ }
149
187
  export interface AdminPoolsResponse {
150
188
  pools: AdminPoolEntry[];
151
189
  }
@@ -339,6 +377,21 @@ export declare class CubeBackendClient {
339
377
  getLeaderboardEpoch(): Promise<SdkResult<LeaderboardEpochResponse>>;
340
378
  /** Get overall leaderboard stats: total users and total XP. */
341
379
  getLeaderboardStats(): Promise<SdkResult<LeaderboardStatsResponse>>;
380
+ /**
381
+ * Join the active swap-XP campaign. Requires SIWS auth (`setTokens`);
382
+ * the wallet comes from the JWT. IDEMPOTENT — repeat calls are no-ops
383
+ * returning the same status with the original join time.
384
+ */
385
+ joinCampaign(): Promise<SdkResult<CampaignStatusResponse>>;
386
+ /** Participation status of the authenticated wallet (requires SIWS auth). */
387
+ getCampaignStatus(): Promise<SdkResult<CampaignStatusResponse>>;
388
+ /**
389
+ * Campaign standings: participants only, ranked by swap XP inside
390
+ * [from, to). Omit `to` for a ROLLING window (`from` .. now at request
391
+ * time) — the standard way to show live standings of an ongoing
392
+ * campaign. Public endpoint, paginated like the leaderboard.
393
+ */
394
+ getCampaignTop(from: string, to?: string, page?: number, limit?: number): Promise<SdkResult<CampaignTopResponse>>;
342
395
  getTokenPrices(mints: string[]): Promise<SdkResult<PriceMap>>;
343
396
  getStats(kind: StatsKind, window?: StatsWindow, poolAddr?: string, unit?: "usd" | "token"): Promise<SdkResult<StatsSeries>>;
344
397
  /**
@@ -356,6 +409,12 @@ export declare class CubeBackendClient {
356
409
  * Requires authentication.
357
410
  */
358
411
  renamePool(poolAddress: string, name: string): Promise<SdkResult<RenamePoolResponse>>;
412
+ /**
413
+ * Update off-chain pool settings (base asset, description). Only fields
414
+ * present are changed; empty string clears a field. Base asset must be
415
+ * one of the pool tokens. Pool admin only; requires authentication.
416
+ */
417
+ updatePoolSettings<T>(poolAddress: string, settings: UpdatePoolSettingsBody): Promise<SdkResult<T>>;
359
418
  /**
360
419
  * Bind the authenticated user as a referral of the given referrer.
361
420
  * The code can be a wallet address or a custom referral code.
@@ -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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"}
@@ -122,6 +122,34 @@ class CubeBackendClient {
122
122
  getLeaderboardStats() {
123
123
  return this.get("/api/leaderboard/stats");
124
124
  }
125
+ /**
126
+ * Join the active swap-XP campaign. Requires SIWS auth (`setTokens`);
127
+ * the wallet comes from the JWT. IDEMPOTENT — repeat calls are no-ops
128
+ * returning the same status with the original join time.
129
+ */
130
+ joinCampaign() {
131
+ return this.post("/api/campaign/join", {});
132
+ }
133
+ /** Participation status of the authenticated wallet (requires SIWS auth). */
134
+ getCampaignStatus() {
135
+ return this.get("/api/campaign/me");
136
+ }
137
+ /**
138
+ * Campaign standings: participants only, ranked by swap XP inside
139
+ * [from, to). Omit `to` for a ROLLING window (`from` .. now at request
140
+ * time) — the standard way to show live standings of an ongoing
141
+ * campaign. Public endpoint, paginated like the leaderboard.
142
+ */
143
+ getCampaignTop(from, to, page = 1, limit = 20) {
144
+ const qs = new URLSearchParams({
145
+ from,
146
+ page: String(page),
147
+ limit: String(limit),
148
+ });
149
+ if (to)
150
+ qs.set("to", to);
151
+ return this.get(`/api/campaign/top?${qs.toString()}`);
152
+ }
125
153
  getTokenPrices(mints) {
126
154
  const qs = new URLSearchParams({ mints: mints.join(",") });
127
155
  return this.get(`/api/prices?${qs.toString()}`);
@@ -154,6 +182,14 @@ class CubeBackendClient {
154
182
  renamePool(poolAddress, name) {
155
183
  return this.put(`/api/pools/admin/${encodeURIComponent(poolAddress)}/name`, { name });
156
184
  }
185
+ /**
186
+ * Update off-chain pool settings (base asset, description). Only fields
187
+ * present are changed; empty string clears a field. Base asset must be
188
+ * one of the pool tokens. Pool admin only; requires authentication.
189
+ */
190
+ updatePoolSettings(poolAddress, settings) {
191
+ return this.put(`/api/pools/admin/${encodeURIComponent(poolAddress)}/settings`, settings);
192
+ }
157
193
  // ── Referral ──
158
194
  /**
159
195
  * Bind the authenticated user as a referral of the given referrer.
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -46,5 +46,5 @@ export type { CubeConfig, CubeConfigOverrides, ProgramIdKind, Network, NetworkPr
46
46
  export type { SdkResult, SdkError, SdkErrorCode, PoolTokenInfo, PoolInfo, PoolSummary, SwapParams, SwapQuote, AddLiquidityParams, RemoveLiquidityParams, SingleTokenDepositParams, SingleTokenDepositQuote, BuiltTx, DeployPoolParams, CubicPoolEvent, PoolInitializedEvent, SwapEvent, LiquidityAddedEvent, LiquidityRemovedEvent, ProtocolFeesCollectedEvent, PoolEnabledUpdatedEvent, SwapsEnabledUpdatedEvent, SingleTokenDepositEvent, UnknownEvent, } from "./types";
47
47
  export type { AllocationResult, } from "./math/singleToken";
48
48
  export type { RawPoolAccount, RawMintAccount, } from "./parsers";
49
- export type { RpcClientParams, CubeBackendClientParams, StatsKind, StatsWindow, StatsSeriesPoint, StatsSeries, PriceMap, LeaderboardEntry, LeaderboardResponse, LeaderboardUserStats, XpAccrualHistoryEntry, XpAccrualHistoryResponse, EpochHistoryEntry, LeaderboardEpochResponse, SwapRouteEntry, SwapRouteResponse, CubicPoolClientParams, SingleTokenDepositClientParams, PoolFactoryClientParams, InitializeConfigParams, } from "./clients";
49
+ export type { RpcClientParams, CubeBackendClientParams, StatsKind, StatsWindow, StatsSeriesPoint, StatsSeries, PriceMap, LeaderboardEntry, LeaderboardResponse, LeaderboardUserStats, XpAccrualHistoryEntry, XpAccrualHistoryResponse, EpochHistoryEntry, LeaderboardEpochResponse, CampaignStatusResponse, CampaignTopEntry, CampaignTopResponse, SwapRouteEntry, SwapRouteResponse, CubicPoolClientParams, SingleTokenDepositClientParams, PoolFactoryClientParams, InitializeConfigParams, } from "./clients";
50
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export interface PredictLpLossParams {
2
+ /** Normalized weights in bps (sum = WEIGHT_SCALE). */
3
+ weightsBps: number[];
4
+ virtualBalances: bigint[];
5
+ /** LP-accessible balances: actual − protocolFeesOwed. */
6
+ lpActualBalances: bigint[];
7
+ decimals: number[];
8
+ bptTotalSupply: bigint;
9
+ swapFeeRate: number;
10
+ protocolFeeRate: number;
11
+ tokenInIndex: number;
12
+ amountIn: bigint;
13
+ /** Per-token input allocations from the quote (sum = amountIn). */
14
+ allocations: bigint[];
15
+ /** Per-leg expected swap outputs (0 for the input token / sidelined). */
16
+ expectedOuts: bigint[];
17
+ /** Amounts passed to add_liquidity after proportional capping. */
18
+ depositedAmounts: bigint[];
19
+ /** Helper-held excess refunded to the user. */
20
+ refundAmounts: bigint[];
21
+ estimatedBpt: bigint;
22
+ /**
23
+ * External per-token prices in any common unit. When omitted or incomplete
24
+ * the pool-spot-implied prices (w_i / V_i) are used instead.
25
+ */
26
+ prices?: Array<number | null | undefined>;
27
+ }
28
+ /**
29
+ * Predicted total value loss of the LP position minted by a single-token
30
+ * deposit, as a percent of the deposited value, measured AFTER arbitrageurs
31
+ * rebalance the pool back to external prices — the slippage-proof cost the
32
+ * depositor actually bears.
33
+ *
34
+ * Replays the quote's swap legs and join onto the pool state, then values
35
+ * the position at the closed-form zero-fee-arb equilibrium: with the
36
+ * invariant ∏V_i^w_i preserved, equilibrium virtuals are V'_i = λ·w_i/p_i
37
+ * and actual balances move by the same deltas. Validated against a full
38
+ * profit-maximizing arbitrage simulation of the contract math (±0.03 pp,
39
+ * slightly conservative). Float math — ample for percent-level output.
40
+ *
41
+ * Returns `null` when the pool is empty or inputs cannot price.
42
+ */
43
+ export declare function predictLpLoss(params: PredictLpLossParams): number | null;
44
+ //# sourceMappingURL=lpLoss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpLoss.d.ts","sourceRoot":"","sources":["../../src/math/lpLoss.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,+CAA+C;IAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC3C;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CA2GxE"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.predictLpLoss = predictLpLoss;
4
+ const config_1 = require("../config");
5
+ const toWhole = (raw, decimals) => Number(raw) / 10 ** decimals;
6
+ /**
7
+ * Predicted total value loss of the LP position minted by a single-token
8
+ * deposit, as a percent of the deposited value, measured AFTER arbitrageurs
9
+ * rebalance the pool back to external prices — the slippage-proof cost the
10
+ * depositor actually bears.
11
+ *
12
+ * Replays the quote's swap legs and join onto the pool state, then values
13
+ * the position at the closed-form zero-fee-arb equilibrium: with the
14
+ * invariant ∏V_i^w_i preserved, equilibrium virtuals are V'_i = λ·w_i/p_i
15
+ * and actual balances move by the same deltas. Validated against a full
16
+ * profit-maximizing arbitrage simulation of the contract math (±0.03 pp,
17
+ * slightly conservative). Float math — ample for percent-level output.
18
+ *
19
+ * Returns `null` when the pool is empty or inputs cannot price.
20
+ */
21
+ function predictLpLoss(params) {
22
+ const { weightsBps, virtualBalances, lpActualBalances, decimals, bptTotalSupply, swapFeeRate, protocolFeeRate, tokenInIndex, amountIn, allocations, expectedOuts, depositedAmounts, refundAmounts, estimatedBpt, prices: externalPrices, } = params;
23
+ const n = weightsBps.length;
24
+ if (virtualBalances.length !== n ||
25
+ lpActualBalances.length !== n ||
26
+ decimals.length !== n) {
27
+ throw new Error("predictLpLoss: length mismatch");
28
+ }
29
+ if (tokenInIndex < 0 || tokenInIndex >= n) {
30
+ throw new Error("predictLpLoss: tokenInIndex out of range");
31
+ }
32
+ const supply = Number(bptTotalSupply);
33
+ const estBpt = Number(estimatedBpt);
34
+ const amountInWhole = toWhole(amountIn, decimals[tokenInIndex]);
35
+ if (supply <= 0 || estBpt <= 0 || amountInWhole <= 0)
36
+ return null;
37
+ const weights = [];
38
+ const virtuals = [];
39
+ const actuals = [];
40
+ for (let i = 0; i < n; i++) {
41
+ weights.push(weightsBps[i] / config_1.WEIGHT_SCALE);
42
+ virtuals.push(toWhole(virtualBalances[i], decimals[i]));
43
+ actuals.push(toWhole(lpActualBalances[i], decimals[i]));
44
+ }
45
+ const externalComplete = externalPrices !== undefined &&
46
+ externalPrices.length === n &&
47
+ externalPrices.every((p) => typeof p === "number" && p > 0);
48
+ const prices = [];
49
+ for (let i = 0; i < n; i++) {
50
+ const price = externalComplete
51
+ ? externalPrices[i]
52
+ : weights[i] / virtuals[i];
53
+ if (!Number.isFinite(price) || price <= 0)
54
+ return null;
55
+ prices.push(price);
56
+ }
57
+ const feeRate = swapFeeRate / config_1.SWAP_FEE_PRECISION;
58
+ const protoRate = protocolFeeRate / config_1.PROTOCOL_FEE_PRECISION;
59
+ for (let i = 0; i < n; i++) {
60
+ if (i === tokenInIndex)
61
+ continue;
62
+ const alloc = toWhole(allocations[i] ?? 0n, decimals[tokenInIndex]);
63
+ const out = toWhole(expectedOuts[i] ?? 0n, decimals[i]);
64
+ if (alloc <= 0 || out <= 0)
65
+ continue;
66
+ const protoFee = alloc * feeRate * protoRate;
67
+ virtuals[tokenInIndex] += alloc - protoFee;
68
+ actuals[tokenInIndex] += alloc - protoFee;
69
+ virtuals[i] -= out;
70
+ actuals[i] -= out;
71
+ }
72
+ const mintRatio = estBpt / supply;
73
+ for (let i = 0; i < n; i++) {
74
+ actuals[i] += toWhole(depositedAmounts[i] ?? 0n, decimals[i]);
75
+ virtuals[i] *= 1 + mintRatio;
76
+ }
77
+ let logInvariant = 0;
78
+ let logTarget = 0;
79
+ for (let i = 0; i < n; i++) {
80
+ if (weights[i] <= 0 || virtuals[i] <= 0)
81
+ return null;
82
+ logInvariant += weights[i] * Math.log(virtuals[i]);
83
+ logTarget += weights[i] * Math.log(weights[i] / prices[i]);
84
+ }
85
+ const lambda = Math.exp(logInvariant - logTarget);
86
+ let equilibriumPoolValue = 0;
87
+ for (let i = 0; i < n; i++) {
88
+ const equilibriumVirtual = (lambda * weights[i]) / prices[i];
89
+ const equilibriumActual = Math.max(0, actuals[i] - (virtuals[i] - equilibriumVirtual));
90
+ equilibriumPoolValue += equilibriumActual * prices[i];
91
+ }
92
+ const lpValue = (mintRatio / (1 + mintRatio)) * equilibriumPoolValue;
93
+ let refundValue = 0;
94
+ for (let i = 0; i < n; i++) {
95
+ refundValue += toWhole(refundAmounts[i] ?? 0n, decimals[i]) * prices[i];
96
+ }
97
+ const depositValue = amountInWhole * prices[tokenInIndex];
98
+ if (depositValue <= 0)
99
+ return null;
100
+ const loss = 1 - (lpValue + refundValue) / depositValue;
101
+ return Math.min(100, Math.max(0, loss * 100));
102
+ }
103
+ //# sourceMappingURL=lpLoss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpLoss.js","sourceRoot":"","sources":["../../src/math/lpLoss.ts"],"names":[],"mappings":";;AAoDA,sCA2GC;AA/JD,sCAImB;AA8BnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAU,EAAE,CACxD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AACH,SAAgB,aAAa,CAAC,MAA2B;IACvD,MAAM,EACJ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,MAAM,EAAE,cAAc,GACvB,GAAG,MAAM,CAAC;IAEX,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5B,IACE,eAAe,CAAC,MAAM,KAAK,CAAC;QAC5B,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,QAAQ,CAAC,MAAM,KAAK,CAAC,EACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,qBAAY,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,gBAAgB,GACpB,cAAc,KAAK,SAAS;QAC5B,cAAc,CAAC,MAAM,KAAK,CAAC;QAC3B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,gBAAgB;YAC5B,CAAC,CAAE,cAAe,CAAC,CAAC,CAAY;YAChC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,GAAG,2BAAkB,CAAC;IACjD,MAAM,SAAS,GAAG,eAAe,GAAG,+BAAsB,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,YAAY;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC;QAC3C,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC;QAC1C,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAElD,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,kBAAkB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,CAAC,EACD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAChD,CAAC;QACF,oBAAoB,IAAI,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,oBAAoB,CAAC;IACrE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1,17 +1,28 @@
1
1
  /**
2
2
  * Sliding-window cumulative-sell rate limiter + variable sell-off surge fee.
3
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.
4
+ * Port of the v5.1 (post-audit) contracts:
5
+ * `programs/cubic-pool/src/math/max_selloff.rs` (`check_and_advance`)
6
+ * `programs/cubic-pool/src/math/surge_fee.rs` (`calc_surge_fee_pct`)
7
+ * `programs/cubic-pool/src/instructions/user/swap.rs` (segmented charge)
7
8
  *
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.
9
+ * All arithmetic is bigint, mirroring the Rust u128 intermediates INCLUDING
10
+ * integer-division order do not "simplify" a `a*b/c` into a different
11
+ * association, parity with the on-chain result depends on it. BN appears
12
+ * only at the SDK boundary.
13
+ *
14
+ * v5.1 curve model: the fee RATE is piecewise-LINEAR in the normalized
15
+ * window-fill coordinate `t ∈ [0, 1]` (threshold → 100% fill):
16
+ * - no kink: low → high over [0, 1]
17
+ * - kinked: low → mid over [0, k], mid → high over [k, 1]
18
+ * and a swap is charged the AVERAGE rate over the span it crosses
19
+ * (integral / width), which makes the fee path-independent — splitting a
20
+ * sell into parts cannot cheapen it (audit M-05). The old exponential
21
+ * convexity curve (A^t) is gone.
11
22
  */
12
23
  import BN from "bn.js";
13
- /** A = SURGE_FEE_CONVEXITY_FP (= 4) in 1e18 fixed point. */
14
- export declare const SURGE_FEE_CONVEXITY: bigint;
24
+ /** Mirrors cubic-pool::constants::SURGE_FEE_SEGMENTS. */
25
+ export declare const SURGE_FEE_SEGMENTS = 4;
15
26
  export interface SelloffWindowInputs {
16
27
  maxSelloffPct: number;
17
28
  periodLength: number;
@@ -46,6 +57,7 @@ export interface WindowProjection {
46
57
  opened: boolean;
47
58
  windowStart: bigint;
48
59
  elapsedInWindow: bigint;
60
+ /** Carried-over previous usage, POST v5.1 snapshot rescale. */
49
61
  previous: bigint;
50
62
  current: bigint;
51
63
  vbSnapshot: bigint;
@@ -55,8 +67,12 @@ export interface WindowProjection {
55
67
  usedWithoutTrade: bigint;
56
68
  }
57
69
  /**
58
- * Pure bigint projection of the sliding window at `now`. Mirrors
59
- * `check_and_advance`'s rotation + snapshot logic (read-only, no `amount_in`).
70
+ * Pure bigint projection of the sliding window at `now`. Mirrors v5.1
71
+ * `check_and_advance`'s rotation + snapshot logic (read-only, no
72
+ * `amount_in`), including the audit addition: when the projection OPENS a
73
+ * window against a new vb snapshot, the carried-over `previous` usage is
74
+ * rescaled by `newSnapshot / oldSnapshot` so a liquidity change between
75
+ * windows doesn't distort the carried percentage.
60
76
  */
61
77
  export declare function projectSelloffWindow(params: {
62
78
  maxSelloffPct: number;
@@ -71,14 +87,52 @@ export declare function projectSelloffWindow(params: {
71
87
  /** Read-only status of a token's max-selloff window at `now`. */
72
88
  export declare function computeSelloffWindow(inputs: SelloffWindowInputs): SelloffWindowStatus;
73
89
  /**
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.
90
+ * Average surge-fee percentage (PERCENT_SCALE units, 0..=10_000) charged for
91
+ * moving the window fill from `effectiveSelloffBefore` to
92
+ * `effectiveSelloffAfter` against `cap`. Port of v5.1 `calc_surge_fee_pct`:
93
+ * the rate is INTEGRATED over the crossed span (CEIL), so the charge is
94
+ * path-independent. When the span is empty (`after <= before`) the point
95
+ * rate at `after` is returned.
77
96
  */
78
- export declare function calcSurgeFeePct(effectiveSelloff: bigint, cap: bigint, thresholdPct: number, slopeLowPct: number, slopeHighPct: number): number;
97
+ export declare function calcSurgeFeePct(effectiveSelloffBefore: bigint, effectiveSelloffAfter: bigint, cap: bigint, thresholdPct: number, slopeLowPct: number, slopeMidPct: number, slopeHighPct: number, kinkPct: number): number;
79
98
  /**
80
- * CEIL surge fee on `amountOut`, clamped to `amountOut`.
81
- * `num = amountOut * surgePct; fee = ceil(num / PERCENT_SCALE)`.
99
+ * CEIL fee application of a known percentage on `amount`, clamped to
100
+ * `amount`. NOTE: the contract does NOT charge the whole output at one
101
+ * rate — use {@link calcSegmentedSurgeFeeAmount} to mirror an actual swap.
102
+ * This helper remains for coarse display math only.
82
103
  */
83
104
  export declare function calcSurgeFeeAmount(amountOut: bigint, surgePct: number): bigint;
105
+ export interface SegmentedSurgeFeeParams {
106
+ /** Window fill before the trade (`usedWithoutTrade`). */
107
+ effectiveSelloffBefore: bigint;
108
+ /** Window fill after the trade (`before + amountInNet`). */
109
+ effectiveSelloffAfter: bigint;
110
+ cap: bigint;
111
+ thresholdPct: number;
112
+ slopeLowPct: number;
113
+ slopeMidPct: number;
114
+ slopeHighPct: number;
115
+ kinkPct: number;
116
+ /** Post-swap-fee input driving the AMM curve (`amount_in_after_fee`). */
117
+ amountInAfterFee: bigint;
118
+ /** Full curve output of the trade (gross, pre-surge). */
119
+ amountOut: bigint;
120
+ /**
121
+ * Cumulative AMM output for an input slice `x ∈ [0, amountInAfterFee]`
122
+ * against the PRE-TRADE balances (i.e. `calc_out_given_in` with the same
123
+ * arguments that produced `amountOut`).
124
+ */
125
+ curveOut: (amountInSlice: bigint) => bigint;
126
+ /** Defaults to the contract's SURGE_FEE_SEGMENTS (= 4). */
127
+ segments?: number;
128
+ }
129
+ /**
130
+ * Surge fee in OUTPUT-token units for one swap — the exact v5.1 on-chain
131
+ * charge (swap.rs): only the output produced ABOVE the threshold is taxed,
132
+ * segment by segment across the taxed span, each segment's REAL curve
133
+ * output at that segment's average rate (CEIL per segment), total clamped
134
+ * to `amountOut`. Charging one average rate on the whole output would
135
+ * re-open the audit M-05 split dodge on asymmetric pools.
136
+ */
137
+ export declare function calcSegmentedSurgeFeeAmount(p: SegmentedSurgeFeeParams): bigint;
84
138
  //# sourceMappingURL=maxSelloff.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"maxSelloff.d.ts","sourceRoot":"","sources":["../../src/math/maxSelloff.ts"],"names":[],"mappings":"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"}
@@ -2,33 +2,48 @@
2
2
  /**
3
3
  * Sliding-window cumulative-sell rate limiter + variable sell-off surge fee.
4
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.
5
+ * Port of the v5.1 (post-audit) contracts:
6
+ * `programs/cubic-pool/src/math/max_selloff.rs` (`check_and_advance`)
7
+ * `programs/cubic-pool/src/math/surge_fee.rs` (`calc_surge_fee_pct`)
8
+ * `programs/cubic-pool/src/instructions/user/swap.rs` (segmented charge)
8
9
  *
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.
10
+ * All arithmetic is bigint, mirroring the Rust u128 intermediates INCLUDING
11
+ * integer-division order do not "simplify" a `a*b/c` into a different
12
+ * association, parity with the on-chain result depends on it. BN appears
13
+ * only at the SDK boundary.
14
+ *
15
+ * v5.1 curve model: the fee RATE is piecewise-LINEAR in the normalized
16
+ * window-fill coordinate `t ∈ [0, 1]` (threshold → 100% fill):
17
+ * - no kink: low → high over [0, 1]
18
+ * - kinked: low → mid over [0, k], mid → high over [k, 1]
19
+ * and a swap is charged the AVERAGE rate over the span it crosses
20
+ * (integral / width), which makes the fee path-independent — splitting a
21
+ * sell into parts cannot cheapen it (audit M-05). The old exponential
22
+ * convexity curve (A^t) is gone.
12
23
  */
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
16
27
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SURGE_FEE_CONVEXITY = void 0;
28
+ exports.SURGE_FEE_SEGMENTS = void 0;
18
29
  exports.projectSelloffWindow = projectSelloffWindow;
19
30
  exports.computeSelloffWindow = computeSelloffWindow;
20
31
  exports.calcSurgeFeePct = calcSurgeFeePct;
21
32
  exports.calcSurgeFeeAmount = calcSurgeFeeAmount;
33
+ exports.calcSegmentedSurgeFeeAmount = calcSegmentedSurgeFeeAmount;
22
34
  const bn_js_1 = __importDefault(require("bn.js"));
23
35
  const config_1 = require("../config");
24
36
  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
37
  const SCALE = BigInt(config_1.PERCENT_SCALE); // 10_000
38
+ /** Mirrors cubic-pool::constants::SURGE_FEE_SEGMENTS. */
39
+ exports.SURGE_FEE_SEGMENTS = 4;
29
40
  /**
30
- * Pure bigint projection of the sliding window at `now`. Mirrors
31
- * `check_and_advance`'s rotation + snapshot logic (read-only, no `amount_in`).
41
+ * Pure bigint projection of the sliding window at `now`. Mirrors v5.1
42
+ * `check_and_advance`'s rotation + snapshot logic (read-only, no
43
+ * `amount_in`), including the audit addition: when the projection OPENS a
44
+ * window against a new vb snapshot, the carried-over `previous` usage is
45
+ * rescaled by `newSnapshot / oldSnapshot` so a liquidity change between
46
+ * windows doesn't distort the carried percentage.
32
47
  */
33
48
  function projectSelloffWindow(params) {
34
49
  const period = BigInt(params.periodLength);
@@ -57,7 +72,8 @@ function projectSelloffWindow(params) {
57
72
  opened = true;
58
73
  }
59
74
  else if (period <= 0n) {
60
- // Degenerate config (should be rejected on-chain); treat as a fresh reset.
75
+ // Degenerate config (rejected on-chain by `require!(period > 0)`);
76
+ // treat as a fresh reset so callers never divide by zero.
61
77
  prev = 0n;
62
78
  cur = 0n;
63
79
  ws = nowBI;
@@ -71,9 +87,13 @@ function projectSelloffWindow(params) {
71
87
  eiw = elapsed;
72
88
  opened = false;
73
89
  }
74
- const vbSnapshot = opened || params.selloffVbSnapshot === 0n
75
- ? params.virtualBalance
76
- : params.selloffVbSnapshot;
90
+ const oldSnapshot = params.selloffVbSnapshot;
91
+ const vbSnapshot = opened || oldSnapshot === 0n ? params.virtualBalance : oldSnapshot;
92
+ // v5.1: rescale the carried previous when the window opened against a
93
+ // DIFFERENT snapshot (mirrors max_selloff.rs — integer division order!).
94
+ if (opened && oldSnapshot > 0n && vbSnapshot !== oldSnapshot) {
95
+ prev = (prev * vbSnapshot) / oldSnapshot;
96
+ }
77
97
  const cap = (BigInt(params.maxSelloffPct) * vbSnapshot) / SCALE;
78
98
  const weightedPrev = period > 0n ? (prev * (period - eiw)) / period : 0n;
79
99
  const usedWithoutTrade = weightedPrev + cur;
@@ -130,34 +150,127 @@ function computeSelloffWindow(inputs) {
130
150
  vbSnapshot: new bn_js_1.default(proj.vbSnapshot.toString()),
131
151
  };
132
152
  }
153
+ // ── v5.1 piecewise-linear surge curve ───────────────────────────────────────
154
+ /**
155
+ * Kink position in normalized-t space. `kinkPct` is WHOLE percent of window
156
+ * fill (0..=100, u8 on-chain); 0 (or a kink at/outside the [threshold, 100%]
157
+ * band) disables the kink and the curve degenerates to low → high.
158
+ * Port of `surge_fee.rs::kink_t`.
159
+ */
160
+ function kinkT(kinkPct, thresholdPct) {
161
+ const thr = BigInt(thresholdPct);
162
+ if (kinkPct === 0 || thr >= SCALE)
163
+ return 0n;
164
+ const kinkFill = BigInt(kinkPct) * (SCALE / 100n);
165
+ if (kinkFill <= thr || kinkFill >= SCALE)
166
+ return 0n;
167
+ return ((kinkFill - thr) * fixedPoint_1.ONE) / (SCALE - thr);
168
+ }
169
+ /** Point rate at `t` (CEIL on the ramp, clamped to SCALE). Port of `rate_at`. */
170
+ function rateAt(tFp, slopeLowPct, slopeMidPct, slopeHighPct, kFp) {
171
+ const t = tFp < fixedPoint_1.ONE ? tFp : fixedPoint_1.ONE;
172
+ const low = BigInt(slopeLowPct);
173
+ const mid = BigInt(slopeMidPct);
174
+ const high = BigInt(slopeHighPct);
175
+ let base;
176
+ let span;
177
+ let num;
178
+ let den;
179
+ if (kFp === 0n) {
180
+ base = low;
181
+ span = high > low ? high - low : 0n;
182
+ num = t;
183
+ den = fixedPoint_1.ONE;
184
+ }
185
+ else if (t <= kFp) {
186
+ base = low;
187
+ span = mid > low ? mid - low : 0n;
188
+ num = t;
189
+ den = kFp;
190
+ }
191
+ else {
192
+ base = mid;
193
+ span = high > mid ? high - mid : 0n;
194
+ num = t - kFp;
195
+ den = fixedPoint_1.ONE - kFp;
196
+ }
197
+ const prod = span * num;
198
+ const add = prod / den + (prod % den !== 0n ? 1n : 0n);
199
+ const rate = base + add;
200
+ return rate < SCALE ? rate : SCALE;
201
+ }
202
+ /**
203
+ * ∫ rate over [0, t] (1e18-scaled area). Port of `integral_to` — keep the
204
+ * `x*x/(2*den)` before the span multiply, exactly like the contract.
205
+ */
206
+ function integralTo(tFp, slopeLowPct, slopeMidPct, slopeHighPct, kFp) {
207
+ const t = tFp < fixedPoint_1.ONE ? tFp : fixedPoint_1.ONE;
208
+ const low = BigInt(slopeLowPct);
209
+ const mid = BigInt(slopeMidPct);
210
+ const high = BigInt(slopeHighPct);
211
+ const ramp = (x, span, den) => {
212
+ if (den === 0n || span === 0n || x === 0n)
213
+ return 0n;
214
+ const halfSq = (x * x) / (2n * den);
215
+ return span * halfSq;
216
+ };
217
+ if (kFp === 0n) {
218
+ const span = high > low ? high - low : 0n;
219
+ return low * t + ramp(t, span, fixedPoint_1.ONE);
220
+ }
221
+ if (t <= kFp) {
222
+ const span = mid > low ? mid - low : 0n;
223
+ return low * t + ramp(t, span, kFp);
224
+ }
225
+ const first = (kFp * (low + mid)) / 2n;
226
+ const rest = t - kFp;
227
+ const span = high > mid ? high - mid : 0n;
228
+ return first + mid * rest + ramp(rest, span, fixedPoint_1.ONE - kFp);
229
+ }
133
230
  /**
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.
231
+ * Average surge-fee percentage (PERCENT_SCALE units, 0..=10_000) charged for
232
+ * moving the window fill from `effectiveSelloffBefore` to
233
+ * `effectiveSelloffAfter` against `cap`. Port of v5.1 `calc_surge_fee_pct`:
234
+ * the rate is INTEGRATED over the crossed span (CEIL), so the charge is
235
+ * path-independent. When the span is empty (`after <= before`) the point
236
+ * rate at `after` is returned.
137
237
  */
138
- function calcSurgeFeePct(effectiveSelloff, cap, thresholdPct, slopeLowPct, slopeHighPct) {
238
+ function calcSurgeFeePct(effectiveSelloffBefore, effectiveSelloffAfter, cap, thresholdPct, slopeLowPct, slopeMidPct, slopeHighPct, kinkPct) {
139
239
  if (cap === 0n || slopeHighPct === 0)
140
240
  return 0;
141
241
  const thr = BigInt(thresholdPct);
142
242
  if (thr >= SCALE)
143
243
  return 0;
144
- const fillRaw = (effectiveSelloff * SCALE) / cap;
145
- const fill = fillRaw < SCALE ? fillRaw : SCALE;
146
- if (fill <= thr)
244
+ const kFp = kinkT(kinkPct, thresholdPct);
245
+ const fill = (x) => {
246
+ const raw = (x * SCALE) / cap;
247
+ return raw < SCALE ? raw : SCALE;
248
+ };
249
+ const f0 = fill(effectiveSelloffBefore);
250
+ const f1 = fill(effectiveSelloffAfter);
251
+ if (f1 <= thr)
147
252
  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);
253
+ const denom = SCALE - thr;
254
+ const t1 = ((f1 - thr) * fixedPoint_1.ONE) / denom;
255
+ if (f1 <= f0) {
256
+ return Number(rateAt(t1, slopeLowPct, slopeMidPct, slopeHighPct, kFp));
257
+ }
258
+ const f0Clamped = f0 > thr ? f0 : thr;
259
+ const t0 = ((f0Clamped - thr) * fixedPoint_1.ONE) / denom;
260
+ const integral = integralTo(t1, slopeLowPct, slopeMidPct, slopeHighPct, kFp) -
261
+ integralTo(t0, slopeLowPct, slopeMidPct, slopeHighPct, kFp);
262
+ const integralClamped = integral > 0n ? integral : 0n;
263
+ const numerator = denom * integralClamped;
264
+ const width = f1 - f0Clamped;
265
+ const scaledDen = width * fixedPoint_1.ONE;
266
+ const avg = numerator / scaledDen + (numerator % scaledDen !== 0n ? 1n : 0n);
267
+ return Number(avg < SCALE ? avg : SCALE);
157
268
  }
158
269
  /**
159
- * CEIL surge fee on `amountOut`, clamped to `amountOut`.
160
- * `num = amountOut * surgePct; fee = ceil(num / PERCENT_SCALE)`.
270
+ * CEIL fee application of a known percentage on `amount`, clamped to
271
+ * `amount`. NOTE: the contract does NOT charge the whole output at one
272
+ * rate — use {@link calcSegmentedSurgeFeeAmount} to mirror an actual swap.
273
+ * This helper remains for coarse display math only.
161
274
  */
162
275
  function calcSurgeFeeAmount(amountOut, surgePct) {
163
276
  if (surgePct <= 0 || amountOut <= 0n)
@@ -166,4 +279,52 @@ function calcSurgeFeeAmount(amountOut, surgePct) {
166
279
  const fee = num / SCALE + (num % SCALE !== 0n ? 1n : 0n);
167
280
  return fee < amountOut ? fee : amountOut;
168
281
  }
282
+ /**
283
+ * Surge fee in OUTPUT-token units for one swap — the exact v5.1 on-chain
284
+ * charge (swap.rs): only the output produced ABOVE the threshold is taxed,
285
+ * segment by segment across the taxed span, each segment's REAL curve
286
+ * output at that segment's average rate (CEIL per segment), total clamped
287
+ * to `amountOut`. Charging one average rate on the whole output would
288
+ * re-open the audit M-05 split dodge on asymmetric pools.
289
+ */
290
+ function calcSegmentedSurgeFeeAmount(p) {
291
+ const { effectiveSelloffBefore: before, effectiveSelloffAfter: after, cap, thresholdPct, slopeLowPct, slopeMidPct, slopeHighPct, kinkPct, amountInAfterFee, amountOut, } = p;
292
+ // Same precheck as swap.rs: whole-span average of 0 ⇒ nothing to charge.
293
+ const wholeSpanPct = calcSurgeFeePct(before, after, cap, thresholdPct, slopeLowPct, slopeMidPct, slopeHighPct, kinkPct);
294
+ if (wholeSpanPct === 0)
295
+ return 0n;
296
+ const thrUnits = (cap * BigInt(thresholdPct)) / SCALE;
297
+ const span = after > before ? after - before : 0n;
298
+ const taxedLo = before > thrUnits ? before : thrUnits;
299
+ if (span === 0n || after <= taxedLo)
300
+ return 0n;
301
+ const segments = BigInt(p.segments ?? exports.SURGE_FEE_SEGMENTS);
302
+ // Flooring the input slice understates the output, which overstates the
303
+ // taxed remainder — the safe (conservative) direction, as on-chain.
304
+ const cumulativeOut = (u) => {
305
+ if (u <= before)
306
+ return 0n;
307
+ if (u >= after)
308
+ return amountOut;
309
+ const x = (amountInAfterFee * (u - before)) / span;
310
+ return p.curveOut(x);
311
+ };
312
+ const taxedWidth = after - taxedLo;
313
+ let feeAcc = 0n;
314
+ let prevU = taxedLo;
315
+ let prevY = cumulativeOut(taxedLo);
316
+ for (let k = 1n; k <= segments; k++) {
317
+ const u = k === segments ? after : taxedLo + (taxedWidth * k) / segments;
318
+ const y = cumulativeOut(u);
319
+ const segOut = y > prevY ? y - prevY : 0n;
320
+ if (segOut > 0n && u > prevU) {
321
+ const segPct = BigInt(calcSurgeFeePct(prevU, u, cap, thresholdPct, slopeLowPct, slopeMidPct, slopeHighPct, kinkPct));
322
+ const num = segOut * segPct;
323
+ feeAcc += num / SCALE + (num % SCALE !== 0n ? 1n : 0n);
324
+ }
325
+ prevU = u;
326
+ prevY = y;
327
+ }
328
+ return feeAcc < amountOut ? feeAcc : amountOut;
329
+ }
169
330
  //# sourceMappingURL=maxSelloff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maxSelloff.js","sourceRoot":"","sources":["../../src/math/maxSelloff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maxSelloff.js","sourceRoot":"","sources":["../../src/math/maxSelloff.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.5.1",
3
+ "version": "0.5.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -157,6 +157,38 @@ export interface LeaderboardStatsResponse {
157
157
  totalXp: number;
158
158
  }
159
159
 
160
+ // ── Campaign types ──
161
+
162
+ export interface CampaignStatusResponse {
163
+ /** Active campaign slug the backend is currently running. */
164
+ campaign: string;
165
+ participating: boolean;
166
+ /** ISO time of the ORIGINAL join; null when not participating. */
167
+ joinedAt: string | null;
168
+ }
169
+
170
+ export interface CampaignTopEntry {
171
+ /** Continuous across pages. */
172
+ place: number;
173
+ address: string;
174
+ /** XP earned from swaps inside the window (LP XP not counted). */
175
+ swapXp: number;
176
+ swapVolumeUsd: number;
177
+ joinedAt: string;
178
+ }
179
+
180
+ export interface CampaignTopResponse {
181
+ campaign: string;
182
+ from: string;
183
+ /** null ⇒ rolling window: `from` .. now at request time. */
184
+ to: string | null;
185
+ /** Participants with swap XP > 0 in the window. */
186
+ total: number;
187
+ page: number;
188
+ limit: number;
189
+ data: CampaignTopEntry[];
190
+ }
191
+
160
192
  // ── Platform stats ──
161
193
 
162
194
  export interface PlatformStatsResponse {
@@ -172,6 +204,10 @@ export interface PlatformStatsResponse {
172
204
  export interface AdminPoolEntry {
173
205
  poolAddress: string;
174
206
  poolName: string;
207
+ /** Off-chain: mint shown first in the token list (null = default order). */
208
+ baseAssetMint: string | null;
209
+ /** Off-chain: short pool description. */
210
+ description: string | null;
175
211
  tvlUsd: number;
176
212
  apy: number;
177
213
  volume24h: number;
@@ -185,6 +221,14 @@ export interface AdminPoolEntry {
185
221
  }>;
186
222
  }
187
223
 
224
+ /** Off-chain, admin-editable pool settings. */
225
+ export interface UpdatePoolSettingsBody {
226
+ /** Mint of the base asset (one of the pool tokens); "" clears it. */
227
+ baseAssetMint?: string;
228
+ /** Short description; "" clears it. */
229
+ description?: string;
230
+ }
231
+
188
232
  export interface AdminPoolsResponse {
189
233
  pools: AdminPoolEntry[];
190
234
  }
@@ -520,6 +564,41 @@ export class CubeBackendClient {
520
564
  return this.get<LeaderboardStatsResponse>("/api/leaderboard/stats");
521
565
  }
522
566
 
567
+ /**
568
+ * Join the active swap-XP campaign. Requires SIWS auth (`setTokens`);
569
+ * the wallet comes from the JWT. IDEMPOTENT — repeat calls are no-ops
570
+ * returning the same status with the original join time.
571
+ */
572
+ joinCampaign(): Promise<SdkResult<CampaignStatusResponse>> {
573
+ return this.post<CampaignStatusResponse>("/api/campaign/join", {});
574
+ }
575
+
576
+ /** Participation status of the authenticated wallet (requires SIWS auth). */
577
+ getCampaignStatus(): Promise<SdkResult<CampaignStatusResponse>> {
578
+ return this.get<CampaignStatusResponse>("/api/campaign/me");
579
+ }
580
+
581
+ /**
582
+ * Campaign standings: participants only, ranked by swap XP inside
583
+ * [from, to). Omit `to` for a ROLLING window (`from` .. now at request
584
+ * time) — the standard way to show live standings of an ongoing
585
+ * campaign. Public endpoint, paginated like the leaderboard.
586
+ */
587
+ getCampaignTop(
588
+ from: string,
589
+ to?: string,
590
+ page: number = 1,
591
+ limit: number = 20,
592
+ ): Promise<SdkResult<CampaignTopResponse>> {
593
+ const qs = new URLSearchParams({
594
+ from,
595
+ page: String(page),
596
+ limit: String(limit),
597
+ });
598
+ if (to) qs.set("to", to);
599
+ return this.get<CampaignTopResponse>(`/api/campaign/top?${qs.toString()}`);
600
+ }
601
+
523
602
  getTokenPrices(mints: string[]): Promise<SdkResult<PriceMap>> {
524
603
  const qs = new URLSearchParams({ mints: mints.join(",") });
525
604
  return this.get<PriceMap>(`/api/prices?${qs.toString()}`);
@@ -567,6 +646,21 @@ export class CubeBackendClient {
567
646
  );
568
647
  }
569
648
 
649
+ /**
650
+ * Update off-chain pool settings (base asset, description). Only fields
651
+ * present are changed; empty string clears a field. Base asset must be
652
+ * one of the pool tokens. Pool admin only; requires authentication.
653
+ */
654
+ updatePoolSettings<T>(
655
+ poolAddress: string,
656
+ settings: UpdatePoolSettingsBody,
657
+ ): Promise<SdkResult<T>> {
658
+ return this.put<T>(
659
+ `/api/pools/admin/${encodeURIComponent(poolAddress)}/settings`,
660
+ settings,
661
+ );
662
+ }
663
+
570
664
  // ── Referral ──
571
665
 
572
666
  /**
package/src/index.ts CHANGED
@@ -164,6 +164,9 @@ export type {
164
164
  XpAccrualHistoryResponse,
165
165
  EpochHistoryEntry,
166
166
  LeaderboardEpochResponse,
167
+ CampaignStatusResponse,
168
+ CampaignTopEntry,
169
+ CampaignTopResponse,
167
170
  SwapRouteEntry,
168
171
  SwapRouteResponse,
169
172
  CubicPoolClientParams,