@liquid-af/sdk 0.6.1 → 0.7.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/accounts/liquid-fees.d.ts +1 -1
- package/dist/accounts/liquid-fees.d.ts.map +1 -1
- package/dist/accounts/liquid-fees.js +2 -2
- package/dist/accounts/liquid-fees.js.map +1 -1
- package/dist/client.d.ts +7 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -6
- package/dist/client.js.map +1 -1
- package/dist/idl/liquid.d.ts +2581 -2490
- package/dist/idl/liquid.d.ts.map +1 -1
- package/dist/idl/liquid.json +2581 -2490
- package/dist/idl/liquid_events.d.ts +205 -1
- package/dist/idl/liquid_events.d.ts.map +1 -1
- package/dist/idl/liquid_events.json +205 -1
- package/dist/idl/liquid_fees.d.ts +121 -6
- package/dist/idl/liquid_fees.d.ts.map +1 -1
- package/dist/idl/liquid_fees.json +121 -6
- 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 +1022 -998
- package/dist/idl/liquid_swap.d.ts.map +1 -1
- package/dist/idl/liquid_swap.json +1022 -998
- package/dist/instructions/liquid-fees.d.ts +4 -2
- package/dist/instructions/liquid-fees.d.ts.map +1 -1
- package/dist/instructions/liquid-fees.js +12 -9
- package/dist/instructions/liquid-fees.js.map +1 -1
- package/dist/pda/index.d.ts.map +1 -1
- package/dist/pda/index.js +2 -2
- package/dist/pda/index.js.map +1 -1
- package/dist/pda/liquid-fees.d.ts +3 -2
- package/dist/pda/liquid-fees.d.ts.map +1 -1
- package/dist/pda/liquid-fees.js +4 -3
- package/dist/pda/liquid-fees.js.map +1 -1
- package/package.json +1 -1
- package/src/accounts/liquid-fees.ts +6 -1
- package/src/client.ts +21 -8
- package/src/idl/liquid.json +2581 -2490
- package/src/idl/liquid.ts +2581 -2490
- package/src/idl/liquid_events.json +205 -1
- package/src/idl/liquid_events.ts +205 -1
- package/src/idl/liquid_fees.json +121 -6
- package/src/idl/liquid_fees.ts +121 -6
- package/src/idl/liquid_state.json +72 -72
- package/src/idl/liquid_state.ts +72 -72
- package/src/idl/liquid_swap.json +1022 -998
- package/src/idl/liquid_swap.ts +1022 -998
- package/src/instructions/liquid-fees.ts +32 -10
- package/src/pda/index.ts +10 -2
- package/src/pda/liquid-fees.ts +4 -2
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
export interface BuildUpdateFeeConfigParams {
|
|
13
13
|
authority: PublicKey;
|
|
14
14
|
tokenMint: PublicKey;
|
|
15
|
+
/** Quote mint used for PDA derivation and token fee vault verification. */
|
|
16
|
+
quoteMint: PublicKey;
|
|
15
17
|
recipients?: FeeRecipient[] | null;
|
|
16
18
|
newUpdateAuthority?: PublicKey | null;
|
|
17
|
-
/** Required when changing recipients to verify token fee vault is drained. */
|
|
18
|
-
quoteMint?: PublicKey;
|
|
19
19
|
config: LiquidConfig;
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -47,9 +47,10 @@ export function buildUpdateFeeConfig(
|
|
|
47
47
|
|
|
48
48
|
// When changing recipients, the token fee vault must be passed to verify it's drained
|
|
49
49
|
let tokenFeeVault: PublicKey | null = null;
|
|
50
|
-
if (recipients
|
|
50
|
+
if (recipients) {
|
|
51
51
|
const [feeConfig] = getFeeConfigPDA(
|
|
52
52
|
tokenMint,
|
|
53
|
+
quoteMint,
|
|
53
54
|
config.liquidFeesProgramId,
|
|
54
55
|
);
|
|
55
56
|
const [feeVault] = getFeeVaultPDA(
|
|
@@ -68,9 +69,10 @@ export function buildUpdateFeeConfig(
|
|
|
68
69
|
recipients: formattedRecipients,
|
|
69
70
|
newUpdateAuthority: newUpdateAuthority ?? null,
|
|
70
71
|
})
|
|
71
|
-
.
|
|
72
|
+
.accountsPartial({
|
|
72
73
|
authority,
|
|
73
74
|
tokenMint,
|
|
75
|
+
quoteMint,
|
|
74
76
|
tokenFeeVault,
|
|
75
77
|
})
|
|
76
78
|
.instruction();
|
|
@@ -98,7 +100,11 @@ export function buildRevokeFeeConfig(
|
|
|
98
100
|
const program = getCachedFeesProgram(config);
|
|
99
101
|
|
|
100
102
|
// Derive token fee vault ATA (fee_vault's ATA for quote_mint)
|
|
101
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
103
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
104
|
+
tokenMint,
|
|
105
|
+
quoteMint,
|
|
106
|
+
config.liquidFeesProgramId,
|
|
107
|
+
);
|
|
102
108
|
const [feeVault] = getFeeVaultPDA(feeConfig, config.liquidFeesProgramId);
|
|
103
109
|
const tokenFeeVault = getAssociatedTokenAddressSync(
|
|
104
110
|
quoteMint,
|
|
@@ -111,6 +117,7 @@ export function buildRevokeFeeConfig(
|
|
|
111
117
|
.accounts({
|
|
112
118
|
authority,
|
|
113
119
|
tokenMint,
|
|
120
|
+
quoteMint,
|
|
114
121
|
tokenFeeVault,
|
|
115
122
|
})
|
|
116
123
|
.instruction();
|
|
@@ -119,6 +126,7 @@ export function buildRevokeFeeConfig(
|
|
|
119
126
|
export interface BuildDistributeFeesParams {
|
|
120
127
|
payer: PublicKey;
|
|
121
128
|
tokenMint: PublicKey;
|
|
129
|
+
quoteMint: PublicKey;
|
|
122
130
|
recipientVaults: PublicKey[];
|
|
123
131
|
config: LiquidConfig;
|
|
124
132
|
}
|
|
@@ -135,7 +143,7 @@ export interface BuildDistributeFeesParams {
|
|
|
135
143
|
export function buildDistributeFees(
|
|
136
144
|
params: BuildDistributeFeesParams,
|
|
137
145
|
): Promise<TransactionInstruction> {
|
|
138
|
-
const { payer, tokenMint, recipientVaults, config } = params;
|
|
146
|
+
const { payer, tokenMint, quoteMint, recipientVaults, config } = params;
|
|
139
147
|
const program = getCachedFeesProgram(config);
|
|
140
148
|
|
|
141
149
|
return program.methods
|
|
@@ -143,6 +151,7 @@ export function buildDistributeFees(
|
|
|
143
151
|
.accounts({
|
|
144
152
|
payer,
|
|
145
153
|
tokenMint,
|
|
154
|
+
quoteMint,
|
|
146
155
|
})
|
|
147
156
|
.remainingAccounts(
|
|
148
157
|
recipientVaults.map((vault) => ({
|
|
@@ -202,6 +211,7 @@ export function buildDistributeTokenFees(
|
|
|
202
211
|
export interface BuildClaimFeesParams {
|
|
203
212
|
recipient: PublicKey;
|
|
204
213
|
tokenMint: PublicKey;
|
|
214
|
+
quoteMint: PublicKey;
|
|
205
215
|
config: LiquidConfig;
|
|
206
216
|
}
|
|
207
217
|
|
|
@@ -215,9 +225,13 @@ export interface BuildClaimFeesParams {
|
|
|
215
225
|
export function buildClaimFees(
|
|
216
226
|
params: BuildClaimFeesParams,
|
|
217
227
|
): Promise<TransactionInstruction> {
|
|
218
|
-
const { recipient, tokenMint, config } = params;
|
|
228
|
+
const { recipient, tokenMint, quoteMint, config } = params;
|
|
219
229
|
const program = getCachedFeesProgram(config);
|
|
220
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
230
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
231
|
+
tokenMint,
|
|
232
|
+
quoteMint,
|
|
233
|
+
config.liquidFeesProgramId,
|
|
234
|
+
);
|
|
221
235
|
|
|
222
236
|
return program.methods
|
|
223
237
|
.claimFees()
|
|
@@ -248,7 +262,11 @@ export function buildClaimTokenFees(
|
|
|
248
262
|
): Promise<TransactionInstruction> {
|
|
249
263
|
const { recipient, tokenMint, quoteMint, config } = params;
|
|
250
264
|
const program = getCachedFeesProgram(config);
|
|
251
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
265
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
266
|
+
tokenMint,
|
|
267
|
+
quoteMint,
|
|
268
|
+
config.liquidFeesProgramId,
|
|
269
|
+
);
|
|
252
270
|
|
|
253
271
|
return program.methods
|
|
254
272
|
.claimTokenFees()
|
|
@@ -301,7 +319,11 @@ export function deriveRecipientVaultPairs(
|
|
|
301
319
|
quoteMint: PublicKey,
|
|
302
320
|
config: LiquidConfig,
|
|
303
321
|
): RecipientVaultPair[] {
|
|
304
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
322
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
323
|
+
tokenMint,
|
|
324
|
+
quoteMint,
|
|
325
|
+
config.liquidFeesProgramId,
|
|
326
|
+
);
|
|
305
327
|
return recipients.map((recipient) => {
|
|
306
328
|
const [vaultPda] = getRecipientVaultPDA(
|
|
307
329
|
feeConfig,
|
package/src/pda/index.ts
CHANGED
|
@@ -97,7 +97,11 @@ export const getAllBondingCurvePDAs = (
|
|
|
97
97
|
bondingCurve,
|
|
98
98
|
config.liquidProgramId,
|
|
99
99
|
);
|
|
100
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
100
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
101
|
+
mint,
|
|
102
|
+
WSOL_MINT,
|
|
103
|
+
config.liquidFeesProgramId,
|
|
104
|
+
);
|
|
101
105
|
const [feeVault] = getFeeVaultPDA(feeConfig, config.liquidFeesProgramId);
|
|
102
106
|
const [userProperties] = getUserPropertiesPDA(
|
|
103
107
|
creator,
|
|
@@ -165,7 +169,11 @@ export const getAllPoolPDAs = (
|
|
|
165
169
|
);
|
|
166
170
|
const [ammConfig] = getSwapGlobalConfigPDA(config.liquidSwapProgramId);
|
|
167
171
|
const [ammAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
|
|
168
|
-
const [feeConfig] = getFeeConfigPDA(
|
|
172
|
+
const [feeConfig] = getFeeConfigPDA(
|
|
173
|
+
baseMint,
|
|
174
|
+
quoteMint,
|
|
175
|
+
config.liquidFeesProgramId,
|
|
176
|
+
);
|
|
169
177
|
const [tokenVolume] = getTokenVolumePDA(
|
|
170
178
|
baseMint,
|
|
171
179
|
config.liquidStateProgramId,
|
package/src/pda/liquid-fees.ts
CHANGED
|
@@ -6,18 +6,20 @@ const SEED_GLOBAL_CONFIG = Buffer.from("global_config");
|
|
|
6
6
|
const SEED_RECIPIENT_VAULT = Buffer.from("recipient_vault");
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Derives the fee config PDA for a token mint.
|
|
9
|
+
* Derives the fee config PDA for a token mint and quote mint pair.
|
|
10
10
|
*
|
|
11
11
|
* @param tokenMint - Token mint address
|
|
12
|
+
* @param quoteMint - Quote token mint address (e.g., WSOL for native, USDC for stable)
|
|
12
13
|
* @param programId - Liquid Fees program ID
|
|
13
14
|
* @returns Tuple of [PDA address, bump seed]
|
|
14
15
|
*/
|
|
15
16
|
export const getFeeConfigPDA = (
|
|
16
17
|
tokenMint: PublicKey,
|
|
18
|
+
quoteMint: PublicKey,
|
|
17
19
|
programId: PublicKey,
|
|
18
20
|
): [PublicKey, number] => {
|
|
19
21
|
return PublicKey.findProgramAddressSync(
|
|
20
|
-
[SEED_FEE_CONFIG, tokenMint.toBuffer()],
|
|
22
|
+
[SEED_FEE_CONFIG, tokenMint.toBuffer(), quoteMint.toBuffer()],
|
|
21
23
|
programId,
|
|
22
24
|
);
|
|
23
25
|
};
|