@liquid-af/sdk 0.10.2 → 0.10.4
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.
- package/README.md +2 -2
- package/dist/accounts/liquid-state.d.ts +10 -10
- package/dist/client.d.ts +18 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -0
- package/dist/client.js.map +1 -1
- package/dist/events/types.d.ts +1 -2
- package/dist/events/types.d.ts.map +1 -1
- package/dist/helpers/cashback.d.ts +14 -0
- package/dist/helpers/cashback.d.ts.map +1 -0
- package/dist/helpers/cashback.js +20 -0
- package/dist/helpers/cashback.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/idl/liquid.d.ts +2557 -2550
- package/dist/idl/liquid.d.ts.map +1 -1
- package/dist/idl/liquid.json +2557 -2550
- package/dist/idl/liquid_events.d.ts +4 -11
- package/dist/idl/liquid_events.d.ts.map +1 -1
- package/dist/idl/liquid_events.json +4 -11
- package/dist/idl/liquid_fees.d.ts +20 -31
- package/dist/idl/liquid_fees.d.ts.map +1 -1
- package/dist/idl/liquid_fees.json +20 -31
- package/dist/idl/liquid_state.d.ts +180 -136
- package/dist/idl/liquid_state.d.ts.map +1 -1
- package/dist/idl/liquid_state.json +180 -136
- package/dist/idl/liquid_swap.d.ts +1017 -1010
- package/dist/idl/liquid_swap.d.ts.map +1 -1
- package/dist/idl/liquid_swap.json +1017 -1010
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/math/cashback.d.ts +41 -0
- package/dist/math/cashback.d.ts.map +1 -0
- package/dist/math/cashback.js +86 -0
- package/dist/math/cashback.js.map +1 -0
- package/dist/math/index.d.ts +2 -0
- package/dist/math/index.d.ts.map +1 -1
- package/dist/math/index.js +1 -0
- package/dist/math/index.js.map +1 -1
- package/dist/types.d.ts +29 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +20 -0
- package/src/events/types.ts +1 -2
- package/src/helpers/cashback.ts +28 -0
- package/src/helpers/index.ts +1 -0
- package/src/idl/liquid.json +2557 -2550
- package/src/idl/liquid.ts +2557 -2550
- package/src/idl/liquid_events.json +4 -11
- package/src/idl/liquid_events.ts +4 -11
- package/src/idl/liquid_fees.json +20 -31
- package/src/idl/liquid_fees.ts +20 -31
- package/src/idl/liquid_state.json +180 -136
- package/src/idl/liquid_state.ts +180 -136
- package/src/idl/liquid_swap.json +1017 -1010
- package/src/idl/liquid_swap.ts +1017 -1010
- package/src/index.ts +2 -0
- package/src/math/cashback.ts +124 -0
- package/src/math/index.ts +3 -0
- package/src/types.ts +31 -5
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { ReadonlyWallet, createReadonlyProvider, createStubProvider, } from "./p
|
|
|
4
4
|
export { LiquidError, LiquidErrorCode } from "./errors.js";
|
|
5
5
|
export type { LiquidConfig } from "./config.js";
|
|
6
6
|
export { MAINNET_CONFIG, DEVNET_CONFIG, LOCALNET_CONFIG, WSOL_MINT, BPS_DENOMINATOR, NUM_FEE_RECIPIENTS, MAX_FEE_RECIPIENTS_FEES, MAX_QUOTE_MINTS, MAX_CASHBACK_RANGES, MIN_MULTIPLIER_BPS, MAX_MULTIPLIER_BPS, MIN_VAULT_BALANCE, LIMITS, } from "./config.js";
|
|
7
|
-
export type { GlobalConfiguration, BondingCurveState, AmmConfig, FeeTier, PoolState, Observation, ObservationState, UnifiedFeeConfiguration, UserProperties, ReferrerInfo, UserSnapshot, Deal, AdminUpdateUserArgs, TokenVolumeAccumulator, GlobalCurveVolume, GlobalAmmVolume, CashbackRange, CashbackConfiguration, FeeDistribution, BondingCurveBuyResult, BondingCurveSellResult, SwapFees, AmmSellOutput, AmmBuyInput, LpTokenAmounts, DistributionResult, PoolInfo, BuyCurvePreview, SellCurvePreview, SwapPreview, FeeRecipient, FeeModeAnchor, CurveStatusAnchor, } from "./types.js";
|
|
7
|
+
export type { GlobalConfiguration, BondingCurveState, AmmConfig, FeeTier, PoolState, Observation, ObservationState, UnifiedFeeConfiguration, UserProperties, ReferrerInfo, UserSnapshot, Deal, AdminUpdateUserArgs, TokenVolumeAccumulator, GlobalCurveVolume, GlobalAmmVolume, CashbackRange, CashbackConfiguration, CashbackBreakdown, TierBreakdown, FeeDistribution, BondingCurveBuyResult, BondingCurveSellResult, SwapFees, AmmSellOutput, AmmBuyInput, LpTokenAmounts, DistributionResult, PoolInfo, BuyCurvePreview, SellCurvePreview, SwapPreview, FeeRecipient, FeeModeAnchor, CurveStatusAnchor, } from "./types.js";
|
|
8
8
|
export { FeeMode, toAnchorFeeMode, feeModeEquals, CurveStatus, curveStatusEquals, } from "./types.js";
|
|
9
9
|
export * from "./pda/index.js";
|
|
10
10
|
export * from "./math/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,GACN,MAAM,aAAa,CAAC;AAErB,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,GACjB,MAAM,YAAY,CAAC;AAEpB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,aAAa,CAAC;AAE5B,cAAc,UAAU,CAAC;AAEzB,YAAY,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,GACR,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,GACN,MAAM,aAAa,CAAC;AAErB,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,GACjB,MAAM,YAAY,CAAC;AAEpB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,aAAa,CAAC;AAE5B,cAAc,UAAU,CAAC;AAEzB,YAAY,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,GACR,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,GACN,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,GACN,MAAM,aAAa,CAAC;AAuCrB,OAAO,EACN,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,GACjB,MAAM,YAAY,CAAC;AAEpB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,aAAa,CAAC;AAE5B,cAAc,UAAU,CAAC;AASzB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,QAAQ,GACR,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
import type { CashbackRange } from "../types.js";
|
|
3
|
+
/** Per-tier breakdown of cashback earnings */
|
|
4
|
+
export interface TierBreakdown {
|
|
5
|
+
/** Index of this range in the config's ranges array */
|
|
6
|
+
rangeIndex: number;
|
|
7
|
+
/** Multiplier in basis points (10000 = 1x) */
|
|
8
|
+
multiplierBps: number;
|
|
9
|
+
/** Amount of cashback_credits attributed to this tier (post-multiplier) */
|
|
10
|
+
postMultiplierAmount: BN;
|
|
11
|
+
/** The base (1x-equivalent) earning that produced this tier's contribution */
|
|
12
|
+
baseAmount: BN;
|
|
13
|
+
/** Bonus from multiplier: postMultiplierAmount - baseAmount */
|
|
14
|
+
bonusAmount: BN;
|
|
15
|
+
}
|
|
16
|
+
/** Breakdown of a user's cashback balance into base earnings vs multiplier bonus */
|
|
17
|
+
export interface CashbackBreakdown {
|
|
18
|
+
/** The user's total cashback_credits balance */
|
|
19
|
+
totalBalance: BN;
|
|
20
|
+
/** What the user would have earned at 1x multiplier across all tiers */
|
|
21
|
+
baseEarnings: BN;
|
|
22
|
+
/** Total bonus from multipliers: totalBalance - baseEarnings */
|
|
23
|
+
multiplierBonus: BN;
|
|
24
|
+
/** Per-tier breakdown (only tiers with non-zero contribution) */
|
|
25
|
+
tiers: TierBreakdown[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reverses the on-chain progressive multiplier to break down a cashback balance
|
|
29
|
+
* into base earnings vs multiplier bonus.
|
|
30
|
+
*
|
|
31
|
+
* The on-chain `apply_balance_multiplier` advances through ranges by pre-multiplier
|
|
32
|
+
* portions, so each tier of width W with multiplier M contributes W * M / 10000 to
|
|
33
|
+
* the stored balance. This function walks the same ranges in reverse to decompose
|
|
34
|
+
* the final balance.
|
|
35
|
+
*
|
|
36
|
+
* @param cashbackCredits - The user's current cashback_credits (post-multiplier balance)
|
|
37
|
+
* @param ranges - Balance-based multiplier ranges from CashbackConfiguration
|
|
38
|
+
* @returns Breakdown of base earnings vs multiplier bonus, with per-tier detail
|
|
39
|
+
*/
|
|
40
|
+
export declare function getCashbackBreakdown(cashbackCredits: BN, ranges: CashbackRange[]): CashbackBreakdown;
|
|
41
|
+
//# sourceMappingURL=cashback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cashback.d.ts","sourceRoot":"","sources":["../../src/math/cashback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,oBAAoB,EAAE,EAAE,CAAC;IACzB,8EAA8E;IAC9E,UAAU,EAAE,EAAE,CAAC;IACf,+DAA+D;IAC/D,WAAW,EAAE,EAAE,CAAC;CAChB;AAED,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IACjC,gDAAgD;IAChD,YAAY,EAAE,EAAE,CAAC;IACjB,wEAAwE;IACxE,YAAY,EAAE,EAAE,CAAC;IACjB,gEAAgE;IAChE,eAAe,EAAE,EAAE,CAAC;IACpB,iEAAiE;IACjE,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CACnC,eAAe,EAAE,EAAE,EACnB,MAAM,EAAE,aAAa,EAAE,GACrB,iBAAiB,CA0EnB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
import { BPS_DENOMINATOR } from "./constants.js";
|
|
3
|
+
const ZERO = new BN(0);
|
|
4
|
+
const BPS = new BN(BPS_DENOMINATOR);
|
|
5
|
+
/**
|
|
6
|
+
* Reverses the on-chain progressive multiplier to break down a cashback balance
|
|
7
|
+
* into base earnings vs multiplier bonus.
|
|
8
|
+
*
|
|
9
|
+
* The on-chain `apply_balance_multiplier` advances through ranges by pre-multiplier
|
|
10
|
+
* portions, so each tier of width W with multiplier M contributes W * M / 10000 to
|
|
11
|
+
* the stored balance. This function walks the same ranges in reverse to decompose
|
|
12
|
+
* the final balance.
|
|
13
|
+
*
|
|
14
|
+
* @param cashbackCredits - The user's current cashback_credits (post-multiplier balance)
|
|
15
|
+
* @param ranges - Balance-based multiplier ranges from CashbackConfiguration
|
|
16
|
+
* @returns Breakdown of base earnings vs multiplier bonus, with per-tier detail
|
|
17
|
+
*/
|
|
18
|
+
export function getCashbackBreakdown(cashbackCredits, ranges) {
|
|
19
|
+
if (cashbackCredits.isZero() || ranges.length === 0) {
|
|
20
|
+
return {
|
|
21
|
+
totalBalance: cashbackCredits.clone(),
|
|
22
|
+
baseEarnings: cashbackCredits.clone(),
|
|
23
|
+
multiplierBonus: ZERO.clone(),
|
|
24
|
+
tiers: [],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const tiers = [];
|
|
28
|
+
let cumulativePostMult = ZERO.clone();
|
|
29
|
+
let totalBase = ZERO.clone();
|
|
30
|
+
let remaining = cashbackCredits.clone();
|
|
31
|
+
for (let i = 0; i < ranges.length && remaining.gt(ZERO); i++) {
|
|
32
|
+
const range = ranges[i];
|
|
33
|
+
const multiplierBps = range.multiplierBasisPoints;
|
|
34
|
+
const width = range.rangeEndExclusive.sub(range.rangeStartInclusive);
|
|
35
|
+
// Post-multiplier contribution if this tier is fully filled
|
|
36
|
+
const tierPostMult = width.mul(new BN(multiplierBps)).div(BPS);
|
|
37
|
+
if (remaining.gte(tierPostMult)) {
|
|
38
|
+
// Tier fully filled
|
|
39
|
+
tiers.push({
|
|
40
|
+
rangeIndex: i,
|
|
41
|
+
multiplierBps,
|
|
42
|
+
postMultiplierAmount: tierPostMult.clone(),
|
|
43
|
+
baseAmount: width.clone(),
|
|
44
|
+
bonusAmount: tierPostMult.sub(width),
|
|
45
|
+
});
|
|
46
|
+
totalBase = totalBase.add(width);
|
|
47
|
+
cumulativePostMult = cumulativePostMult.add(tierPostMult);
|
|
48
|
+
remaining = remaining.sub(tierPostMult);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Partially filled — solve for pre-mult portion:
|
|
52
|
+
// postMultInTier = p * M / 10000, so p = postMultInTier * 10000 / M
|
|
53
|
+
const postMultInTier = remaining.clone();
|
|
54
|
+
const baseInTier = postMultInTier.mul(BPS).div(new BN(multiplierBps));
|
|
55
|
+
tiers.push({
|
|
56
|
+
rangeIndex: i,
|
|
57
|
+
multiplierBps,
|
|
58
|
+
postMultiplierAmount: postMultInTier,
|
|
59
|
+
baseAmount: baseInTier.clone(),
|
|
60
|
+
bonusAmount: postMultInTier.sub(baseInTier),
|
|
61
|
+
});
|
|
62
|
+
totalBase = totalBase.add(baseInTier);
|
|
63
|
+
remaining = ZERO.clone();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Balance beyond all defined ranges — use last range's multiplier
|
|
67
|
+
if (remaining.gt(ZERO)) {
|
|
68
|
+
const lastMultiplier = ranges[ranges.length - 1].multiplierBasisPoints;
|
|
69
|
+
const baseRemaining = remaining.mul(BPS).div(new BN(lastMultiplier));
|
|
70
|
+
tiers.push({
|
|
71
|
+
rangeIndex: ranges.length,
|
|
72
|
+
multiplierBps: lastMultiplier,
|
|
73
|
+
postMultiplierAmount: remaining.clone(),
|
|
74
|
+
baseAmount: baseRemaining.clone(),
|
|
75
|
+
bonusAmount: remaining.sub(baseRemaining),
|
|
76
|
+
});
|
|
77
|
+
totalBase = totalBase.add(baseRemaining);
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
totalBalance: cashbackCredits.clone(),
|
|
81
|
+
baseEarnings: totalBase,
|
|
82
|
+
multiplierBonus: cashbackCredits.sub(totalBase),
|
|
83
|
+
tiers,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=cashback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cashback.js","sourceRoot":"","sources":["../../src/math/cashback.ts"],"names":[],"mappings":"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"}
|
package/dist/math/index.d.ts
CHANGED
|
@@ -5,4 +5,6 @@ export { calculateBuyExpectation, calculateSellExpectation, } from "./bonding-cu
|
|
|
5
5
|
export { calculateAmmSellOutput, calculateAmmBuyInput, calculateLpToTokens, } from "./amm.js";
|
|
6
6
|
export type { AmmFeeRates } from "./amm.js";
|
|
7
7
|
export { calculatePoolMarketCap, lookupFeeTier, calculateFeesForPool, WSOL_MINT, } from "./tiered-fees.js";
|
|
8
|
+
export { getCashbackBreakdown } from "./cashback.js";
|
|
9
|
+
export type { CashbackBreakdown, TierBreakdown } from "./cashback.js";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/math/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,eAAe,EACf,mCAAmC,EACnC,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACN,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACN,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,SAAS,GACT,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,eAAe,EACf,mCAAmC,EACnC,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACN,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACN,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,SAAS,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/math/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { calcBps, calculateFees, calculateDistribution, calculateTotalDistributi
|
|
|
3
3
|
export { calculateBuyExpectation, calculateSellExpectation, } from "./bonding-curve.js";
|
|
4
4
|
export { calculateAmmSellOutput, calculateAmmBuyInput, calculateLpToTokens, } from "./amm.js";
|
|
5
5
|
export { calculatePoolMarketCap, lookupFeeTier, calculateFeesForPool, WSOL_MINT, } from "./tiered-fees.js";
|
|
6
|
+
export { getCashbackBreakdown } from "./cashback.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/math/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,eAAe,EACf,mCAAmC,EACnC,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACN,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,SAAS,GACT,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,GAAG,EACH,eAAe,EACf,mCAAmC,EACnC,iBAAiB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACN,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACN,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,SAAS,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -158,7 +158,7 @@ export interface ReferrerInfo {
|
|
|
158
158
|
/** User properties account */
|
|
159
159
|
export interface UserProperties {
|
|
160
160
|
referrer: ReferrerInfo | null;
|
|
161
|
-
|
|
161
|
+
totalUsdVolume: BN;
|
|
162
162
|
totalTokenVolume: BN;
|
|
163
163
|
cashbackCredits: BN;
|
|
164
164
|
isSpending: boolean;
|
|
@@ -174,7 +174,7 @@ export interface UserSnapshot {
|
|
|
174
174
|
user: PublicKey;
|
|
175
175
|
index: number;
|
|
176
176
|
prevSnapshot: PublicKey | null;
|
|
177
|
-
|
|
177
|
+
usdVolume: BN;
|
|
178
178
|
tokenVolume: BN;
|
|
179
179
|
createdAt: BN;
|
|
180
180
|
}
|
|
@@ -192,19 +192,19 @@ export interface AdminUpdateUserArgs {
|
|
|
192
192
|
/** Per-token volume accumulator */
|
|
193
193
|
export interface TokenVolumeAccumulator {
|
|
194
194
|
mint: PublicKey;
|
|
195
|
-
|
|
195
|
+
totalUsdVolume: BN;
|
|
196
196
|
totalTokenVolume: BN;
|
|
197
197
|
curveSolVolume: BN;
|
|
198
198
|
ammSolVolume: BN;
|
|
199
199
|
}
|
|
200
200
|
/** Global curve volume accumulator */
|
|
201
201
|
export interface GlobalCurveVolume {
|
|
202
|
-
|
|
202
|
+
totalUsdVolume: BN;
|
|
203
203
|
totalTokenVolume: BN;
|
|
204
204
|
}
|
|
205
205
|
/** Global AMM volume accumulator */
|
|
206
206
|
export interface GlobalAmmVolume {
|
|
207
|
-
|
|
207
|
+
totalUsdVolume: BN;
|
|
208
208
|
totalTokenVolume: BN;
|
|
209
209
|
}
|
|
210
210
|
/** Cashback range tier */
|
|
@@ -220,6 +220,30 @@ export interface CashbackConfiguration {
|
|
|
220
220
|
ranges: CashbackRange[];
|
|
221
221
|
traderCashbackBasisPoints: number;
|
|
222
222
|
}
|
|
223
|
+
/** Per-tier breakdown of cashback earnings */
|
|
224
|
+
export interface TierBreakdown {
|
|
225
|
+
/** Index of this range in the config's ranges array */
|
|
226
|
+
rangeIndex: number;
|
|
227
|
+
/** Multiplier in basis points (10000 = 1x) */
|
|
228
|
+
multiplierBps: number;
|
|
229
|
+
/** Amount of cashback_credits attributed to this tier (post-multiplier) */
|
|
230
|
+
postMultiplierAmount: BN;
|
|
231
|
+
/** The base (1x-equivalent) earning that produced this tier's contribution */
|
|
232
|
+
baseAmount: BN;
|
|
233
|
+
/** Bonus from multiplier: postMultiplierAmount - baseAmount */
|
|
234
|
+
bonusAmount: BN;
|
|
235
|
+
}
|
|
236
|
+
/** Breakdown of a user's cashback balance into base earnings vs multiplier bonus */
|
|
237
|
+
export interface CashbackBreakdown {
|
|
238
|
+
/** The user's total cashback_credits balance */
|
|
239
|
+
totalBalance: BN;
|
|
240
|
+
/** What the user would have earned at 1x multiplier across all tiers */
|
|
241
|
+
baseEarnings: BN;
|
|
242
|
+
/** Total bonus from multipliers: totalBalance - baseEarnings */
|
|
243
|
+
multiplierBonus: BN;
|
|
244
|
+
/** Per-tier breakdown (only tiers with non-zero contribution) */
|
|
245
|
+
tiers: TierBreakdown[];
|
|
246
|
+
}
|
|
223
247
|
/** Fee breakdown from a trade */
|
|
224
248
|
export interface FeeDistribution {
|
|
225
249
|
protocolFee: BN;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -89,6 +89,11 @@ import {
|
|
|
89
89
|
fetchUserSnapshot as fetchUserSnapshotFn,
|
|
90
90
|
fetchDeal as fetchDealFn,
|
|
91
91
|
} from "./accounts/liquid-state.js";
|
|
92
|
+
import { fetchCashbackBreakdown as fetchCashbackBreakdownFn } from "./helpers/cashback.js";
|
|
93
|
+
import {
|
|
94
|
+
getCashbackBreakdown as getCashbackBreakdownFn,
|
|
95
|
+
type CashbackBreakdown,
|
|
96
|
+
} from "./math/cashback.js";
|
|
92
97
|
|
|
93
98
|
// Preview helpers
|
|
94
99
|
import {
|
|
@@ -844,6 +849,21 @@ export class LiquidClient {
|
|
|
844
849
|
return fetchCashbackConfigFn(this.connection, this.config);
|
|
845
850
|
}
|
|
846
851
|
|
|
852
|
+
/**
|
|
853
|
+
* Breaks down a cashback balance into base earnings vs multiplier bonus.
|
|
854
|
+
* Pure computation — use cached ranges to avoid RPC calls.
|
|
855
|
+
*/
|
|
856
|
+
getCashbackBreakdown(
|
|
857
|
+
...args: Parameters<typeof getCashbackBreakdownFn>
|
|
858
|
+
): CashbackBreakdown {
|
|
859
|
+
return getCashbackBreakdownFn(...args);
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
/** Fetches user state and config from chain, then computes cashback breakdown. */
|
|
863
|
+
fetchCashbackBreakdown(user: PublicKey) {
|
|
864
|
+
return fetchCashbackBreakdownFn(this.connection, user, this.config);
|
|
865
|
+
}
|
|
866
|
+
|
|
847
867
|
/** Fetches a user snapshot by user and index. */
|
|
848
868
|
fetchUserSnapshot(user: PublicKey, index: number) {
|
|
849
869
|
return fetchUserSnapshotFn(this.connection, user, index, this.config);
|
package/src/events/types.ts
CHANGED
|
@@ -302,7 +302,7 @@ export interface DealRedeemedEvent {
|
|
|
302
302
|
export interface SnapshotTakenEvent {
|
|
303
303
|
user: PublicKey;
|
|
304
304
|
index: number;
|
|
305
|
-
|
|
305
|
+
usdVolume: BN;
|
|
306
306
|
tokenVolume: BN;
|
|
307
307
|
timestamp: BN;
|
|
308
308
|
}
|
|
@@ -325,7 +325,6 @@ export interface ReferrerSetEvent {
|
|
|
325
325
|
/** Event emitted when cashback mode is activated */
|
|
326
326
|
export interface CashbackModeActivatedEvent {
|
|
327
327
|
user: PublicKey;
|
|
328
|
-
multiplierBps: number;
|
|
329
328
|
timestamp: BN;
|
|
330
329
|
}
|
|
331
330
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import type { LiquidConfig } from "../config.js";
|
|
3
|
+
import type { CashbackBreakdown } from "../math/cashback.js";
|
|
4
|
+
import { getCashbackBreakdown } from "../math/cashback.js";
|
|
5
|
+
import { fetchUserProperties } from "../accounts/liquid-state.js";
|
|
6
|
+
import { fetchCashbackConfig } from "../accounts/liquid-state.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Fetches a user's cashback balance and config from chain, then computes
|
|
10
|
+
* the breakdown of base earnings vs multiplier bonus.
|
|
11
|
+
*
|
|
12
|
+
* @param connection - Solana RPC connection
|
|
13
|
+
* @param user - User's public key
|
|
14
|
+
* @param config - Liquid protocol configuration
|
|
15
|
+
* @returns Breakdown of the user's cashback balance
|
|
16
|
+
*/
|
|
17
|
+
export async function fetchCashbackBreakdown(
|
|
18
|
+
connection: Connection,
|
|
19
|
+
user: PublicKey,
|
|
20
|
+
config: LiquidConfig,
|
|
21
|
+
): Promise<CashbackBreakdown> {
|
|
22
|
+
const [userProps, cashbackConfig] = await Promise.all([
|
|
23
|
+
fetchUserProperties(connection, user, config),
|
|
24
|
+
fetchCashbackConfig(connection, config),
|
|
25
|
+
]);
|
|
26
|
+
|
|
27
|
+
return getCashbackBreakdown(userProps.cashbackCredits, cashbackConfig.ranges);
|
|
28
|
+
}
|
package/src/helpers/index.ts
CHANGED