@liquid-af/sdk 0.10.4 → 0.11.0
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/dist/client.d.ts +2 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -3
- package/dist/client.js.map +1 -1
- package/dist/idl/liquid.d.ts +2490 -2490
- package/dist/idl/liquid.d.ts.map +1 -1
- package/dist/idl/liquid.json +2490 -2490
- package/dist/idl/liquid_events.d.ts +5 -12
- package/dist/idl/liquid_events.d.ts.map +1 -1
- package/dist/idl/liquid_events.json +5 -12
- package/dist/idl/liquid_fees.d.ts +8 -30
- package/dist/idl/liquid_fees.d.ts.map +1 -1
- package/dist/idl/liquid_fees.json +8 -30
- package/dist/idl/liquid_state.d.ts +72 -72
- package/dist/idl/liquid_state.d.ts.map +1 -1
- package/dist/idl/liquid_state.json +72 -72
- package/dist/idl/liquid_swap.d.ts +998 -998
- package/dist/idl/liquid_swap.d.ts.map +1 -1
- package/dist/idl/liquid_swap.json +998 -998
- package/dist/instructions/liquid-fees.d.ts +3 -6
- package/dist/instructions/liquid-fees.d.ts.map +1 -1
- package/dist/instructions/liquid-fees.js +6 -11
- package/dist/instructions/liquid-fees.js.map +1 -1
- package/dist/math/bonding-curve.d.ts.map +1 -1
- package/dist/math/bonding-curve.js +6 -4
- package/dist/math/bonding-curve.js.map +1 -1
- package/dist/math/fees.d.ts +5 -2
- package/dist/math/fees.d.ts.map +1 -1
- package/dist/math/fees.js +32 -13
- package/dist/math/fees.js.map +1 -1
- package/dist/pda/liquid-fees.d.ts +3 -3
- package/dist/pda/liquid-fees.d.ts.map +1 -1
- package/dist/pda/liquid-fees.js +4 -4
- package/dist/pda/liquid-fees.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +2 -9
- package/src/idl/liquid.json +2490 -2490
- package/src/idl/liquid.ts +2490 -2490
- package/src/idl/liquid_events.json +5 -12
- package/src/idl/liquid_events.ts +5 -12
- package/src/idl/liquid_fees.json +8 -30
- package/src/idl/liquid_fees.ts +8 -30
- package/src/idl/liquid_state.json +72 -72
- package/src/idl/liquid_state.ts +72 -72
- package/src/idl/liquid_swap.json +998 -998
- package/src/idl/liquid_swap.ts +998 -998
- package/src/instructions/liquid-fees.ts +4 -27
- package/src/math/bonding-curve.ts +6 -4
- package/src/math/fees.ts +33 -15
- package/src/pda/liquid-fees.ts +3 -4
|
@@ -72,13 +72,12 @@ export interface BuildDistributeTokenFeesParams {
|
|
|
72
72
|
export declare function buildDistributeTokenFees(params: BuildDistributeTokenFeesParams): Promise<TransactionInstruction>;
|
|
73
73
|
export interface BuildClaimFeesParams {
|
|
74
74
|
recipient: PublicKey;
|
|
75
|
-
tokenMint: PublicKey;
|
|
76
|
-
quoteMint: PublicKey;
|
|
77
75
|
config: LiquidConfig;
|
|
78
76
|
}
|
|
79
77
|
/**
|
|
80
78
|
* Builds a claimFees instruction.
|
|
81
79
|
* Allows a recipient to claim accumulated SOL fees from their vault PDA.
|
|
80
|
+
* Vaults are shared across all fee configs — one claim drains all SOL fees.
|
|
82
81
|
*
|
|
83
82
|
* @param params - {@link BuildClaimFeesParams}
|
|
84
83
|
* @returns Transaction instruction
|
|
@@ -86,7 +85,6 @@ export interface BuildClaimFeesParams {
|
|
|
86
85
|
export declare function buildClaimFees(params: BuildClaimFeesParams): Promise<TransactionInstruction>;
|
|
87
86
|
export interface BuildClaimTokenFeesParams {
|
|
88
87
|
recipient: PublicKey;
|
|
89
|
-
tokenMint: PublicKey;
|
|
90
88
|
quoteMint: PublicKey;
|
|
91
89
|
recipientTokenAccount?: PublicKey;
|
|
92
90
|
config: LiquidConfig;
|
|
@@ -94,7 +92,7 @@ export interface BuildClaimTokenFeesParams {
|
|
|
94
92
|
/**
|
|
95
93
|
* Builds a claimTokenFees instruction.
|
|
96
94
|
* Allows a recipient to claim accumulated token fees from their vault ATA.
|
|
97
|
-
*
|
|
95
|
+
* Vaults are shared across all fee configs — one claim drains all token fees for the quote mint.
|
|
98
96
|
*
|
|
99
97
|
* @param params - {@link BuildClaimTokenFeesParams}
|
|
100
98
|
* @returns Transaction instruction
|
|
@@ -115,11 +113,10 @@ export declare function buildInitializeGlobalConfig(params: BuildInitializeGloba
|
|
|
115
113
|
/**
|
|
116
114
|
* Helper: derives recipient vault PDA pairs for use with buildDistributeTokenFees.
|
|
117
115
|
*
|
|
118
|
-
* @param tokenMint - Token mint address
|
|
119
116
|
* @param recipients - Array of recipient public keys in fee_config order
|
|
120
117
|
* @param quoteMint - Quote mint for ATA derivation
|
|
121
118
|
* @param config - Liquid protocol config
|
|
122
119
|
* @returns Array of RecipientVaultPair for remaining accounts
|
|
123
120
|
*/
|
|
124
|
-
export declare function deriveRecipientVaultPairs(
|
|
121
|
+
export declare function deriveRecipientVaultPairs(recipients: PublicKey[], quoteMint: PublicKey, config: LiquidConfig): RecipientVaultPair[];
|
|
125
122
|
//# sourceMappingURL=liquid-fees.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquid-fees.d.ts","sourceRoot":"","sources":["../../src/instructions/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,0BAA0B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAgDjC;AAED,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,qDAAqD;IACrD,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,0BAA0B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CA0BjC;AAED,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,yBAAyB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,8BAA8B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"liquid-fees.d.ts","sourceRoot":"","sources":["../../src/instructions/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,0BAA0B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAgDjC;AAED,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,qDAAqD;IACrD,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,0BAA0B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CA0BjC;AAED,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,yBAAyB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,8BAA8B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAUjC;AAED,MAAM,WAAW,yBAAyB;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,yBAAyB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED,MAAM,WAAW,iCAAiC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,iCAAiC,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAUjC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,YAAY,GAClB,kBAAkB,EAAE,CAatB"}
|
|
@@ -115,41 +115,38 @@ export function buildDistributeTokenFees(params) {
|
|
|
115
115
|
/**
|
|
116
116
|
* Builds a claimFees instruction.
|
|
117
117
|
* Allows a recipient to claim accumulated SOL fees from their vault PDA.
|
|
118
|
+
* Vaults are shared across all fee configs — one claim drains all SOL fees.
|
|
118
119
|
*
|
|
119
120
|
* @param params - {@link BuildClaimFeesParams}
|
|
120
121
|
* @returns Transaction instruction
|
|
121
122
|
*/
|
|
122
123
|
export function buildClaimFees(params) {
|
|
123
|
-
const { recipient,
|
|
124
|
+
const { recipient, config } = params;
|
|
124
125
|
const program = getCachedFeesProgram(config);
|
|
125
|
-
const [feeConfig] = getFeeConfigPDA(tokenMint, quoteMint, config.liquidFeesProgramId);
|
|
126
126
|
return program.methods
|
|
127
127
|
.claimFees()
|
|
128
128
|
.accounts({
|
|
129
129
|
recipient,
|
|
130
|
-
feeConfig,
|
|
131
130
|
})
|
|
132
131
|
.instruction();
|
|
133
132
|
}
|
|
134
133
|
/**
|
|
135
134
|
* Builds a claimTokenFees instruction.
|
|
136
135
|
* Allows a recipient to claim accumulated token fees from their vault ATA.
|
|
137
|
-
*
|
|
136
|
+
* Vaults are shared across all fee configs — one claim drains all token fees for the quote mint.
|
|
138
137
|
*
|
|
139
138
|
* @param params - {@link BuildClaimTokenFeesParams}
|
|
140
139
|
* @returns Transaction instruction
|
|
141
140
|
*/
|
|
142
141
|
export function buildClaimTokenFees(params) {
|
|
143
|
-
const { recipient,
|
|
142
|
+
const { recipient, quoteMint, recipientTokenAccount, config } = params;
|
|
144
143
|
const program = getCachedFeesProgram(config);
|
|
145
|
-
const [feeConfig] = getFeeConfigPDA(tokenMint, quoteMint, config.liquidFeesProgramId);
|
|
146
144
|
const resolvedRecipientTokenAccount = recipientTokenAccount ??
|
|
147
145
|
getAssociatedTokenAddressSync(quoteMint, recipient, false);
|
|
148
146
|
return program.methods
|
|
149
147
|
.claimTokenFees()
|
|
150
148
|
.accounts({
|
|
151
149
|
recipient,
|
|
152
|
-
feeConfig,
|
|
153
150
|
quoteMint,
|
|
154
151
|
recipientTokenAccount: resolvedRecipientTokenAccount,
|
|
155
152
|
})
|
|
@@ -175,16 +172,14 @@ export function buildInitializeGlobalConfig(params) {
|
|
|
175
172
|
/**
|
|
176
173
|
* Helper: derives recipient vault PDA pairs for use with buildDistributeTokenFees.
|
|
177
174
|
*
|
|
178
|
-
* @param tokenMint - Token mint address
|
|
179
175
|
* @param recipients - Array of recipient public keys in fee_config order
|
|
180
176
|
* @param quoteMint - Quote mint for ATA derivation
|
|
181
177
|
* @param config - Liquid protocol config
|
|
182
178
|
* @returns Array of RecipientVaultPair for remaining accounts
|
|
183
179
|
*/
|
|
184
|
-
export function deriveRecipientVaultPairs(
|
|
185
|
-
const [feeConfig] = getFeeConfigPDA(tokenMint, quoteMint, config.liquidFeesProgramId);
|
|
180
|
+
export function deriveRecipientVaultPairs(recipients, quoteMint, config) {
|
|
186
181
|
return recipients.map((recipient) => {
|
|
187
|
-
const [vaultPda] = getRecipientVaultPDA(
|
|
182
|
+
const [vaultPda] = getRecipientVaultPDA(recipient, config.liquidFeesProgramId);
|
|
188
183
|
const vaultAta = getAssociatedTokenAddressSync(quoteMint, vaultPda, true);
|
|
189
184
|
return { vaultPda, vaultAta };
|
|
190
185
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquid-fees.js","sourceRoot":"","sources":["../../src/instructions/liquid-fees.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"liquid-fees.js","sourceRoot":"","sources":["../../src/instructions/liquid-fees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACN,eAAe,EACf,cAAc,EACd,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAW/B;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAkC;IAElC,MAAM,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,MAAM,GACN,GAAG,MAAM,CAAC;IACX,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,mBAAmB,GACxB,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC1B,CAAC,CAAC,IAAI,IAAI,CAAC;IAEb,sFAAsF;IACtF,IAAI,aAAa,GAAqB,IAAI,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,CAClC,SAAS,EACT,SAAS,EACT,MAAM,CAAC,mBAAmB,CAC1B,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAChC,SAAS,EACT,MAAM,CAAC,mBAAmB,CAC1B,CAAC;QACF,aAAa,GAAG,6BAA6B,CAC5C,SAAS,EACT,QAAQ,EACR,IAAI,CACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,OAAO;SACpB,eAAe,CAAC;QAChB,UAAU,EAAE,mBAAmB;QAC/B,kBAAkB,EAAE,kBAAkB,IAAI,IAAI;KAC9C,CAAC;SACD,eAAe,CAAC;QAChB,SAAS;QACT,SAAS;QACT,SAAS;QACT,aAAa;KACb,CAAC;SACD,WAAW,EAAE,CAAC;AACjB,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3D,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,8DAA8D;IAC9D,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,CAClC,SAAS,EACT,SAAS,EACT,MAAM,CAAC,mBAAmB,CAC1B,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,6BAA6B,CAClD,SAAS,EACT,QAAQ,EACR,IAAI,CACJ,CAAC;IAEF,OAAO,OAAO,CAAC,OAAO;SACpB,eAAe,EAAE;SACjB,QAAQ,CAAC;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,aAAa;KACb,CAAC;SACD,WAAW,EAAE,CAAC;AACjB,CAAC;AAUD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAiC;IAEjC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACxE,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,OAAO;SACpB,cAAc,EAAE;SAChB,QAAQ,CAAC;QACT,KAAK;QACL,SAAS;QACT,SAAS;KACT,CAAC;SACD,iBAAiB,CACjB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;KAChB,CAAC,CAAC,CACH;SACA,WAAW,EAAE,CAAC;AACjB,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACvC,MAAsC;IAEtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC5E,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KAC5D,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,OAAO;SACpB,mBAAmB,EAAE;SACrB,eAAe,CAAC;QAChB,KAAK;QACL,SAAS;QACT,SAAS;KACT,CAAC;SACD,iBAAiB,CAAC,iBAAiB,CAAC;SACpC,WAAW,EAAE,CAAC;AACjB,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC7B,MAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,OAAO;SACpB,SAAS,EAAE;SACX,QAAQ,CAAC;QACT,SAAS;KACT,CAAC;SACD,WAAW,EAAE,CAAC;AACjB,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAClC,MAAiC;IAEjC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACvE,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,6BAA6B,GAClC,qBAAqB;QACrB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5D,OAAO,OAAO,CAAC,OAAO;SACpB,cAAc,EAAE;SAChB,QAAQ,CAAC;QACT,SAAS;QACT,SAAS;QACT,qBAAqB,EAAE,6BAA6B;KACpD,CAAC;SACD,WAAW,EAAE,CAAC;AACjB,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAC1C,MAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,OAAO;SACpB,sBAAsB,EAAE;SACxB,QAAQ,CAAC;QACT,KAAK;KACL,CAAC;SACD,WAAW,EAAE,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACxC,UAAuB,EACvB,SAAoB,EACpB,MAAoB;IAEpB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACnC,MAAM,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CACtC,SAAS,EACT,MAAM,CAAC,mBAAmB,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,6BAA6B,CAC7C,SAAS,EACT,QAAQ,EACR,IAAI,CACJ,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bonding-curve.d.ts","sourceRoot":"","sources":["../../src/math/bonding-curve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GACnC,eAAe,EAAE,EACjB,YAAY;IAAE,oBAAoB,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAA;CAAE,EAClE,QAAQ,SAAS,EACjB,eAAe,OAAO,EACtB,cAAc,OAAO,KACnB,
|
|
1
|
+
{"version":3,"file":"bonding-curve.d.ts","sourceRoot":"","sources":["../../src/math/bonding-curve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GACnC,eAAe,EAAE,EACjB,YAAY;IAAE,oBAAoB,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAA;CAAE,EAClE,QAAQ,SAAS,EACjB,eAAe,OAAO,EACtB,cAAc,OAAO,KACnB,qBAyCF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACpC,gBAAgB,EAAE,EAClB,YAAY;IAAE,oBAAoB,EAAE,EAAE,CAAC;IAAC,oBAAoB,EAAE,EAAE,CAAA;CAAE,EAClE,QAAQ,SAAS,EACjB,eAAe,OAAO,EACtB,cAAc,OAAO,KACnB,sBA0CF,CAAC"}
|
|
@@ -19,8 +19,9 @@ export const calculateBuyExpectation = (amountInGross, curveState, config, hasCr
|
|
|
19
19
|
const k = curveState.virtualQuoteReserves.mul(curveState.virtualTokenReserves);
|
|
20
20
|
// New quote reserves after adding net amount
|
|
21
21
|
const newVirtualQuote = curveState.virtualQuoteReserves.add(amountInNet);
|
|
22
|
-
// Solve for new token reserves: newToken = k / newQuote
|
|
23
|
-
const
|
|
22
|
+
// Solve for new token reserves: newToken = ⌈k / newQuote⌉
|
|
23
|
+
const { div: q1, mod: r1 } = k.divmod(newVirtualQuote);
|
|
24
|
+
const newVirtualToken = r1.isZero() ? q1 : q1.add(new BN(1));
|
|
24
25
|
// Tokens out = difference in token reserves
|
|
25
26
|
const tokensOut = curveState.virtualTokenReserves.sub(newVirtualToken);
|
|
26
27
|
// On-chain, protocol fee is only reduced by referral amounts that are
|
|
@@ -54,8 +55,9 @@ export const calculateSellExpectation = (amountInTokens, curveState, config, has
|
|
|
54
55
|
const k = curveState.virtualQuoteReserves.mul(curveState.virtualTokenReserves);
|
|
55
56
|
// New token reserves after adding sold tokens
|
|
56
57
|
const newVirtualToken = curveState.virtualTokenReserves.add(amountInTokens);
|
|
57
|
-
// Solve for new quote reserves: newQuote = k / newToken
|
|
58
|
-
const
|
|
58
|
+
// Solve for new quote reserves: newQuote = ⌈k / newToken⌉
|
|
59
|
+
const { div: q2, mod: r2 } = k.divmod(newVirtualToken);
|
|
60
|
+
const newVirtualQuote = r2.isZero() ? q2 : q2.add(new BN(1));
|
|
59
61
|
// Gross quote out (before fees)
|
|
60
62
|
const quoteOutGross = curveState.virtualQuoteReserves.sub(newVirtualQuote);
|
|
61
63
|
// Calculate fees on gross amount
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bonding-curve.js","sourceRoot":"","sources":["../../src/math/bonding-curve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAKvB,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,aAAiB,EACjB,UAAkE,EAClE,MAAiB,EACjB,aAAsB,EACtB,YAAqB,EACG,EAAE;IAC1B,MAAM,IAAI,GAAG,aAAa,CACzB,aAAa,EACb,MAAM,EACN,aAAa,EACb,YAAY,CACZ,CAAC;IAEF,uDAAuD;IACvD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtD,8BAA8B;IAC9B,MAAM,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAC5C,UAAU,CAAC,oBAAoB,CAC/B,CAAC;IAEF,6CAA6C;IAC7C,MAAM,eAAe,GAAG,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEzE
|
|
1
|
+
{"version":3,"file":"bonding-curve.js","sourceRoot":"","sources":["../../src/math/bonding-curve.ts"],"names":[],"mappings":"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"}
|
package/dist/math/fees.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { PublicKey } from "@solana/web3.js";
|
|
|
3
3
|
import type { FeeDistribution, FeeRecipient, DistributionResult } from "../types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Calculates basis points of an amount.
|
|
6
|
-
* result = (amount * bps
|
|
6
|
+
* result = ceil(amount * bps / 10000)
|
|
7
7
|
*
|
|
8
8
|
* @param amount - The amount to calculate basis points of
|
|
9
9
|
* @param bps - Basis points (1 bps = 0.01%)
|
|
@@ -21,7 +21,10 @@ export interface FeeConfig {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Calculates fee distribution for a given trade amount.
|
|
24
|
-
*
|
|
24
|
+
* Matches the on-chain algorithm in `trade_utils::fees::calculate_fees`:
|
|
25
|
+
* - Single ceiling division for total fees
|
|
26
|
+
* - Proportional floor distribution for creator; protocol gets remainder (dust)
|
|
27
|
+
* - Referral fees use ceiling (carved from protocol fee, not trade amount)
|
|
25
28
|
*
|
|
26
29
|
* @param amount - Gross trade amount (before fees)
|
|
27
30
|
* @param config - Fee configuration in basis points
|
package/dist/math/fees.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../src/math/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,EAAE,EAAE,KAAK,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../src/math/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,EAAE,EAAE,KAAK,MAAM,KAAG,EAKjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GACzB,QAAQ,EAAE,EACV,QAAQ,SAAS,EACjB,eAAe,OAAO,EACtB,cAAc,OAAO,KACnB,eAoCF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GACjC,cAAc,MAAM,EACpB,YAAY,YAAY,EAAE,KACxB,kBAAkB,EAMpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACtC,cAAc,MAAM,EACpB,YAAY,YAAY,EAAE,KACxB,MAKF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACrC,cAAc,MAAM,EACpB,YAAY,YAAY,EAAE,KACxB,MAOF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,SAAS,SAAS,EAAE,EACpB,UAAU,MAAM,EAAE,KAChB,YAAY,EAQd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GACjC,OAAO,MAAM,EACb,SAAS,SAAS,EAAE,KAClB,YAAY,EAYd,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,KAAG,YAAY,EAErE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,YAAY,EAAE,KAAG,OAGlE,CAAC"}
|
package/dist/math/fees.js
CHANGED
|
@@ -2,16 +2,25 @@ import BN from "bn.js";
|
|
|
2
2
|
import { BPS_DENOMINATOR, MIN_VAULT_BALANCE } from "./constants.js";
|
|
3
3
|
/**
|
|
4
4
|
* Calculates basis points of an amount.
|
|
5
|
-
* result = (amount * bps
|
|
5
|
+
* result = ceil(amount * bps / 10000)
|
|
6
6
|
*
|
|
7
7
|
* @param amount - The amount to calculate basis points of
|
|
8
8
|
* @param bps - Basis points (1 bps = 0.01%)
|
|
9
9
|
* @returns The calculated portion
|
|
10
10
|
*/
|
|
11
|
-
export const calcBps = (amount, bps) =>
|
|
11
|
+
export const calcBps = (amount, bps) => {
|
|
12
|
+
if (bps === 0)
|
|
13
|
+
return new BN(0);
|
|
14
|
+
const numerator = amount.mul(new BN(bps));
|
|
15
|
+
const denom = new BN(BPS_DENOMINATOR);
|
|
16
|
+
return numerator.add(denom).sub(new BN(1)).div(denom);
|
|
17
|
+
};
|
|
12
18
|
/**
|
|
13
19
|
* Calculates fee distribution for a given trade amount.
|
|
14
|
-
*
|
|
20
|
+
* Matches the on-chain algorithm in `trade_utils::fees::calculate_fees`:
|
|
21
|
+
* - Single ceiling division for total fees
|
|
22
|
+
* - Proportional floor distribution for creator; protocol gets remainder (dust)
|
|
23
|
+
* - Referral fees use ceiling (carved from protocol fee, not trade amount)
|
|
15
24
|
*
|
|
16
25
|
* @param amount - Gross trade amount (before fees)
|
|
17
26
|
* @param config - Fee configuration in basis points
|
|
@@ -20,20 +29,30 @@ export const calcBps = (amount, bps) => amount.mul(new BN(bps)).div(new BN(BPS_D
|
|
|
20
29
|
* @returns Fee distribution breakdown
|
|
21
30
|
*/
|
|
22
31
|
export const calculateFees = (amount, config, hasCreatorRef, hasTraderRef) => {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
const totalBps = config.protocolFeeBps + config.creatorFeeBps;
|
|
33
|
+
if (totalBps === 0) {
|
|
34
|
+
return {
|
|
35
|
+
protocolFee: new BN(0),
|
|
36
|
+
creatorFee: new BN(0),
|
|
37
|
+
creatorReferralFee: new BN(0),
|
|
38
|
+
traderReferralFee: new BN(0),
|
|
39
|
+
totalFees: new BN(0),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// Single ceiling division for total fees (matches on-chain)
|
|
43
|
+
const totalFees = calcBps(amount, totalBps);
|
|
44
|
+
// Proportional floor distribution: creator gets floor, protocol gets remainder
|
|
45
|
+
const creatorFee = totalFees
|
|
46
|
+
.mul(new BN(config.creatorFeeBps))
|
|
47
|
+
.div(new BN(totalBps));
|
|
48
|
+
const protocolFee = totalFees.sub(creatorFee);
|
|
49
|
+
// Referral amounts are ceiling BPS of the protocol fee (not trade amount)
|
|
26
50
|
const creatorReferralFee = hasCreatorRef
|
|
27
|
-
? calcBps(
|
|
51
|
+
? calcBps(protocolFee, config.creatorReferralBps)
|
|
28
52
|
: new BN(0);
|
|
29
53
|
const traderReferralFee = hasTraderRef
|
|
30
|
-
? calcBps(
|
|
54
|
+
? calcBps(protocolFee, config.traderReferralBps)
|
|
31
55
|
: new BN(0);
|
|
32
|
-
// Protocol fee starts at base amount. On-chain, it is only reduced
|
|
33
|
-
// when referral transfers actually succeed.
|
|
34
|
-
const protocolFee = baseProtocolFee;
|
|
35
|
-
// Referrals are carved from protocol fee (not additive), so total = protocol + creator.
|
|
36
|
-
const totalFees = protocolFee.add(creatorFee);
|
|
37
56
|
return {
|
|
38
57
|
protocolFee,
|
|
39
58
|
creatorFee,
|
package/dist/math/fees.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.js","sourceRoot":"","sources":["../../src/math/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOpE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAU,EAAE,GAAW,EAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"fees.js","sourceRoot":"","sources":["../../src/math/fees.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,12 @@ export declare const getFeeGlobalConfigPDA: (programId: PublicKey) => [PublicKey
|
|
|
24
24
|
*/
|
|
25
25
|
export declare const getFeeVaultPDA: (feeConfig: PublicKey, programId: PublicKey) => [PublicKey, number];
|
|
26
26
|
/**
|
|
27
|
-
* Derives the recipient vault PDA for a specific recipient
|
|
27
|
+
* Derives the recipient vault PDA for a specific recipient.
|
|
28
|
+
* Vaults are shared across all fee configs — one vault per recipient.
|
|
28
29
|
*
|
|
29
|
-
* @param feeConfig - Fee config PDA address
|
|
30
30
|
* @param recipient - Recipient wallet address
|
|
31
31
|
* @param programId - Liquid Fees program ID
|
|
32
32
|
* @returns Tuple of [PDA address, bump seed]
|
|
33
33
|
*/
|
|
34
|
-
export declare const getRecipientVaultPDA: (
|
|
34
|
+
export declare const getRecipientVaultPDA: (recipient: PublicKey, programId: PublicKey) => [PublicKey, number];
|
|
35
35
|
//# sourceMappingURL=liquid-fees.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquid-fees.d.ts","sourceRoot":"","sources":["../../src/pda/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC3B,WAAW,SAAS,EACpB,WAAW,SAAS,EACpB,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAKpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GACjC,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAEpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAC1B,WAAW,SAAS,EACpB,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAKpB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,SAAS,EACpB,WAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"liquid-fees.d.ts","sourceRoot":"","sources":["../../src/pda/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC3B,WAAW,SAAS,EACpB,WAAW,SAAS,EACpB,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAKpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GACjC,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAEpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAC1B,WAAW,SAAS,EACpB,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAKpB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,SAAS,EACpB,WAAW,SAAS,KAClB,CAAC,SAAS,EAAE,MAAM,CAKpB,CAAC"}
|
package/dist/pda/liquid-fees.js
CHANGED
|
@@ -34,14 +34,14 @@ export const getFeeVaultPDA = (feeConfig, programId) => {
|
|
|
34
34
|
return PublicKey.findProgramAddressSync([SEED_FEE_VAULT, feeConfig.toBuffer()], programId);
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
|
-
* Derives the recipient vault PDA for a specific recipient
|
|
37
|
+
* Derives the recipient vault PDA for a specific recipient.
|
|
38
|
+
* Vaults are shared across all fee configs — one vault per recipient.
|
|
38
39
|
*
|
|
39
|
-
* @param feeConfig - Fee config PDA address
|
|
40
40
|
* @param recipient - Recipient wallet address
|
|
41
41
|
* @param programId - Liquid Fees program ID
|
|
42
42
|
* @returns Tuple of [PDA address, bump seed]
|
|
43
43
|
*/
|
|
44
|
-
export const getRecipientVaultPDA = (
|
|
45
|
-
return PublicKey.findProgramAddressSync([SEED_RECIPIENT_VAULT,
|
|
44
|
+
export const getRecipientVaultPDA = (recipient, programId) => {
|
|
45
|
+
return PublicKey.findProgramAddressSync([SEED_RECIPIENT_VAULT, recipient.toBuffer()], programId);
|
|
46
46
|
};
|
|
47
47
|
//# sourceMappingURL=liquid-fees.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquid-fees.js","sourceRoot":"","sources":["../../src/pda/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,SAAoB,EACpB,SAAoB,EACpB,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CACtC,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAC7D,SAAS,CACT,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAoB,EACpB,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CACtC,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EACtC,SAAS,CACT,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,SAAoB,EACpB,SAAoB,
|
|
1
|
+
{"version":3,"file":"liquid-fees.js","sourceRoot":"","sources":["../../src/pda/liquid-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,SAAoB,EACpB,SAAoB,EACpB,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CACtC,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAC7D,SAAS,CACT,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAoB,EACpB,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CACtC,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EACtC,SAAS,CACT,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,SAAoB,EACpB,SAAoB,EACE,EAAE;IACxB,OAAO,SAAS,CAAC,sBAAsB,CACtC,CAAC,oBAAoB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAC5C,SAAS,CACT,CAAC;AACH,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -709,8 +709,6 @@ export class LiquidClient {
|
|
|
709
709
|
/** Builds a claimFees instruction. Recipient claims accumulated SOL from their vault PDA. */
|
|
710
710
|
buildClaimFees(params: {
|
|
711
711
|
recipient: PublicKey;
|
|
712
|
-
tokenMint: PublicKey;
|
|
713
|
-
quoteMint: PublicKey;
|
|
714
712
|
}): Promise<TransactionInstruction> {
|
|
715
713
|
return buildClaimFees({ ...params, config: this.config });
|
|
716
714
|
}
|
|
@@ -718,7 +716,6 @@ export class LiquidClient {
|
|
|
718
716
|
/** Builds a claimTokenFees instruction. Recipient claims accumulated tokens from their vault ATA. */
|
|
719
717
|
buildClaimTokenFees(params: {
|
|
720
718
|
recipient: PublicKey;
|
|
721
|
-
tokenMint: PublicKey;
|
|
722
719
|
quoteMint: PublicKey;
|
|
723
720
|
}): Promise<TransactionInstruction> {
|
|
724
721
|
return buildClaimTokenFees({ ...params, config: this.config });
|
|
@@ -1027,13 +1024,9 @@ export class LiquidClient {
|
|
|
1027
1024
|
return getFeeVaultPDA(feeConfig, this.config.liquidFeesProgramId);
|
|
1028
1025
|
}
|
|
1029
1026
|
|
|
1030
|
-
/** Derives the recipient vault PDA for a specific recipient
|
|
1031
|
-
getRecipientVaultPDA(
|
|
1032
|
-
feeConfig: PublicKey,
|
|
1033
|
-
recipient: PublicKey,
|
|
1034
|
-
): [PublicKey, number] {
|
|
1027
|
+
/** Derives the recipient vault PDA for a specific recipient. */
|
|
1028
|
+
getRecipientVaultPDA(recipient: PublicKey): [PublicKey, number] {
|
|
1035
1029
|
return getRecipientVaultPDA(
|
|
1036
|
-
feeConfig,
|
|
1037
1030
|
recipient,
|
|
1038
1031
|
this.config.liquidFeesProgramId,
|
|
1039
1032
|
);
|