@liquid-af/sdk 0.8.1 → 0.9.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.
@@ -309,93 +309,7 @@
309
309
  "docs": [
310
310
  "The recipient's own token account to receive claimed fees."
311
311
  ],
312
- "writable": true,
313
- "pda": {
314
- "seeds": [
315
- {
316
- "kind": "account",
317
- "path": "recipient"
318
- },
319
- {
320
- "kind": "const",
321
- "value": [
322
- 6,
323
- 221,
324
- 246,
325
- 225,
326
- 215,
327
- 101,
328
- 161,
329
- 147,
330
- 217,
331
- 203,
332
- 225,
333
- 70,
334
- 206,
335
- 235,
336
- 121,
337
- 172,
338
- 28,
339
- 180,
340
- 133,
341
- 237,
342
- 95,
343
- 91,
344
- 55,
345
- 145,
346
- 58,
347
- 140,
348
- 245,
349
- 133,
350
- 126,
351
- 255,
352
- 0,
353
- 169
354
- ]
355
- },
356
- {
357
- "kind": "account",
358
- "path": "quote_mint"
359
- }
360
- ],
361
- "program": {
362
- "kind": "const",
363
- "value": [
364
- 140,
365
- 151,
366
- 37,
367
- 143,
368
- 78,
369
- 36,
370
- 137,
371
- 241,
372
- 187,
373
- 61,
374
- 16,
375
- 41,
376
- 20,
377
- 142,
378
- 13,
379
- 131,
380
- 11,
381
- 90,
382
- 19,
383
- 153,
384
- 218,
385
- 255,
386
- 16,
387
- 132,
388
- 4,
389
- 142,
390
- 123,
391
- 216,
392
- 219,
393
- 233,
394
- 248,
395
- 89
396
- ]
397
- }
398
- }
312
+ "writable": true
399
313
  },
400
314
  {
401
315
  "name": "fee_config",
@@ -315,93 +315,7 @@ export type LiquidFees = {
315
315
  "docs": [
316
316
  "The recipient's own token account to receive claimed fees."
317
317
  ],
318
- "writable": true,
319
- "pda": {
320
- "seeds": [
321
- {
322
- "kind": "account",
323
- "path": "recipient"
324
- },
325
- {
326
- "kind": "const",
327
- "value": [
328
- 6,
329
- 221,
330
- 246,
331
- 225,
332
- 215,
333
- 101,
334
- 161,
335
- 147,
336
- 217,
337
- 203,
338
- 225,
339
- 70,
340
- 206,
341
- 235,
342
- 121,
343
- 172,
344
- 28,
345
- 180,
346
- 133,
347
- 237,
348
- 95,
349
- 91,
350
- 55,
351
- 145,
352
- 58,
353
- 140,
354
- 245,
355
- 133,
356
- 126,
357
- 255,
358
- 0,
359
- 169
360
- ]
361
- },
362
- {
363
- "kind": "account",
364
- "path": "quoteMint"
365
- }
366
- ],
367
- "program": {
368
- "kind": "const",
369
- "value": [
370
- 140,
371
- 151,
372
- 37,
373
- 143,
374
- 78,
375
- 36,
376
- 137,
377
- 241,
378
- 187,
379
- 61,
380
- 16,
381
- 41,
382
- 20,
383
- 142,
384
- 13,
385
- 131,
386
- 11,
387
- 90,
388
- 19,
389
- 153,
390
- 218,
391
- 255,
392
- 16,
393
- 132,
394
- 4,
395
- 142,
396
- 123,
397
- 216,
398
- 219,
399
- 233,
400
- 248,
401
- 89
402
- ]
403
- }
404
- }
318
+ "writable": true
405
319
  },
406
320
  {
407
321
  "name": "feeConfig",
@@ -245,6 +245,7 @@ export interface BuildClaimTokenFeesParams {
245
245
  recipient: PublicKey;
246
246
  tokenMint: PublicKey;
247
247
  quoteMint: PublicKey;
248
+ recipientTokenAccount?: PublicKey;
248
249
  config: LiquidConfig;
249
250
  }
250
251
 
@@ -259,7 +260,8 @@ export interface BuildClaimTokenFeesParams {
259
260
  export function buildClaimTokenFees(
260
261
  params: BuildClaimTokenFeesParams,
261
262
  ): Promise<TransactionInstruction> {
262
- const { recipient, tokenMint, quoteMint, config } = params;
263
+ const { recipient, tokenMint, quoteMint, recipientTokenAccount, config } =
264
+ params;
263
265
  const program = getCachedFeesProgram(config);
264
266
  const [feeConfig] = getFeeConfigPDA(
265
267
  tokenMint,
@@ -267,12 +269,17 @@ export function buildClaimTokenFees(
267
269
  config.liquidFeesProgramId,
268
270
  );
269
271
 
272
+ const resolvedRecipientTokenAccount =
273
+ recipientTokenAccount ??
274
+ getAssociatedTokenAddressSync(quoteMint, recipient, false);
275
+
270
276
  return program.methods
271
277
  .claimTokenFees()
272
278
  .accounts({
273
279
  recipient,
274
280
  feeConfig,
275
281
  quoteMint,
282
+ recipientTokenAccount: resolvedRecipientTokenAccount,
276
283
  })
277
284
  .instruction();
278
285
  }
@@ -6,6 +6,7 @@ import type {
6
6
  import {
7
7
  getAssociatedTokenAddressSync,
8
8
  TOKEN_PROGRAM_ID,
9
+ TOKEN_2022_PROGRAM_ID,
9
10
  } from "@solana/spl-token";
10
11
  import type BN from "bn.js";
11
12
  import { WSOL_MINT, type LiquidConfig } from "../config.js";
@@ -118,6 +119,7 @@ export interface BuildBuyExactInNativeParams {
118
119
  feeRecipient: PublicKey;
119
120
  creatorReferralVault?: PublicKey | null;
120
121
  traderReferralVault?: PublicKey | null;
122
+ userTokenAccount?: PublicKey;
121
123
  config: LiquidConfig;
122
124
  }
123
125
 
@@ -141,6 +143,7 @@ export function buildBuyExactInNative(
141
143
  feeRecipient,
142
144
  creatorReferralVault,
143
145
  traderReferralVault,
146
+ userTokenAccount,
144
147
  config,
145
148
  } = params;
146
149
 
@@ -152,6 +155,10 @@ export function buildBuyExactInNative(
152
155
  config.liquidStateProgramId,
153
156
  );
154
157
 
158
+ const resolvedUserTokenAccount =
159
+ userTokenAccount ??
160
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
161
+
155
162
  return program.methods
156
163
  .buyExactInNative(amountIn, minAmountOut)
157
164
  .accountsPartial({
@@ -160,6 +167,7 @@ export function buildBuyExactInNative(
160
167
  mint,
161
168
  pythPriceFeed,
162
169
  creatorUserProperties,
170
+ userTokenAccount: resolvedUserTokenAccount,
163
171
  creatorReferralVault: creatorReferralVault ?? null,
164
172
  traderReferralVault: traderReferralVault ?? null,
165
173
  liquidState: {
@@ -204,6 +212,7 @@ export interface BuildSellExactInNativeParams {
204
212
  feeRecipient: PublicKey;
205
213
  creatorReferralVault?: PublicKey | null;
206
214
  traderReferralVault?: PublicKey | null;
215
+ userTokenAccount?: PublicKey;
207
216
  config: LiquidConfig;
208
217
  }
209
218
 
@@ -227,6 +236,7 @@ export function buildSellExactInNative(
227
236
  feeRecipient,
228
237
  creatorReferralVault,
229
238
  traderReferralVault,
239
+ userTokenAccount,
230
240
  config,
231
241
  } = params;
232
242
 
@@ -238,6 +248,10 @@ export function buildSellExactInNative(
238
248
  config.liquidStateProgramId,
239
249
  );
240
250
 
251
+ const resolvedUserTokenAccount =
252
+ userTokenAccount ??
253
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
254
+
241
255
  return program.methods
242
256
  .sellExactInNative(amountIn, minAmountOut)
243
257
  .accountsPartial({
@@ -246,6 +260,7 @@ export function buildSellExactInNative(
246
260
  mint,
247
261
  pythPriceFeed,
248
262
  creatorUserProperties,
263
+ userTokenAccount: resolvedUserTokenAccount,
249
264
  creatorReferralVault: creatorReferralVault ?? null,
250
265
  traderReferralVault: traderReferralVault ?? null,
251
266
  liquidState: {
@@ -290,6 +305,7 @@ export interface BuildBuyExactOutNativeParams {
290
305
  feeRecipient: PublicKey;
291
306
  creatorReferralVault?: PublicKey | null;
292
307
  traderReferralVault?: PublicKey | null;
308
+ userTokenAccount?: PublicKey;
293
309
  config: LiquidConfig;
294
310
  }
295
311
 
@@ -313,6 +329,7 @@ export function buildBuyExactOutNative(
313
329
  feeRecipient,
314
330
  creatorReferralVault,
315
331
  traderReferralVault,
332
+ userTokenAccount,
316
333
  config,
317
334
  } = params;
318
335
 
@@ -323,6 +340,10 @@ export function buildBuyExactOutNative(
323
340
  config.liquidStateProgramId,
324
341
  );
325
342
 
343
+ const resolvedUserTokenAccount =
344
+ userTokenAccount ??
345
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
346
+
326
347
  return program.methods
327
348
  .buyExactOutNative(exactAmountOut, maxAmountIn)
328
349
  .accountsPartial({
@@ -331,6 +352,7 @@ export function buildBuyExactOutNative(
331
352
  mint,
332
353
  pythPriceFeed,
333
354
  creatorUserProperties,
355
+ userTokenAccount: resolvedUserTokenAccount,
334
356
  creatorReferralVault: creatorReferralVault ?? null,
335
357
  traderReferralVault: traderReferralVault ?? null,
336
358
  liquidState: {
@@ -375,6 +397,7 @@ export interface BuildSellExactOutNativeParams {
375
397
  feeRecipient: PublicKey;
376
398
  creatorReferralVault?: PublicKey | null;
377
399
  traderReferralVault?: PublicKey | null;
400
+ userTokenAccount?: PublicKey;
378
401
  config: LiquidConfig;
379
402
  }
380
403
 
@@ -398,6 +421,7 @@ export function buildSellExactOutNative(
398
421
  feeRecipient,
399
422
  creatorReferralVault,
400
423
  traderReferralVault,
424
+ userTokenAccount,
401
425
  config,
402
426
  } = params;
403
427
 
@@ -408,6 +432,10 @@ export function buildSellExactOutNative(
408
432
  config.liquidStateProgramId,
409
433
  );
410
434
 
435
+ const resolvedUserTokenAccount =
436
+ userTokenAccount ??
437
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
438
+
411
439
  return program.methods
412
440
  .sellExactOutNative(exactAmountOut, maxAmountIn)
413
441
  .accountsPartial({
@@ -416,6 +444,7 @@ export function buildSellExactOutNative(
416
444
  mint,
417
445
  pythPriceFeed,
418
446
  creatorUserProperties,
447
+ userTokenAccount: resolvedUserTokenAccount,
419
448
  creatorReferralVault: creatorReferralVault ?? null,
420
449
  traderReferralVault: traderReferralVault ?? null,
421
450
  liquidState: {
@@ -732,6 +761,8 @@ export interface BuildBuyExactInStableParams {
732
761
  feeRecipient: PublicKey;
733
762
  creatorReferralVault?: PublicKey | null;
734
763
  traderReferralVault?: PublicKey | null;
764
+ userTokenAccount?: PublicKey;
765
+ userQuoteAccount?: PublicKey;
735
766
  config: LiquidConfig;
736
767
  }
737
768
 
@@ -755,6 +786,8 @@ export function buildBuyExactInStable(
755
786
  feeRecipient,
756
787
  creatorReferralVault,
757
788
  traderReferralVault,
789
+ userTokenAccount,
790
+ userQuoteAccount,
758
791
  config,
759
792
  } = params;
760
793
 
@@ -783,6 +816,13 @@ export function buildBuyExactInStable(
783
816
  config.liquidProgramId,
784
817
  );
785
818
 
819
+ const resolvedUserTokenAccount =
820
+ userTokenAccount ??
821
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
822
+ const resolvedUserQuoteAccount =
823
+ userQuoteAccount ??
824
+ getAssociatedTokenAddressSync(quoteMint, user, false, TOKEN_PROGRAM_ID);
825
+
786
826
  return program.methods
787
827
  .buyExactInStable(amountIn, minAmountOut)
788
828
  .accountsPartial({
@@ -791,6 +831,8 @@ export function buildBuyExactInStable(
791
831
  quoteMint,
792
832
  feeRecipient: feeRecipientQuoteAccount,
793
833
  creatorUserProperties,
834
+ userTokenAccount: resolvedUserTokenAccount,
835
+ userQuoteAccount: resolvedUserQuoteAccount,
794
836
  creatorReferralVault: creatorReferralVault ?? null,
795
837
  traderReferralVault: traderReferralVault ?? null,
796
838
  buybackVault,
@@ -832,6 +874,8 @@ export interface BuildSellExactInStableParams {
832
874
  feeRecipient: PublicKey;
833
875
  creatorReferralVault?: PublicKey | null;
834
876
  traderReferralVault?: PublicKey | null;
877
+ userTokenAccount?: PublicKey;
878
+ userQuoteAccount?: PublicKey;
835
879
  config: LiquidConfig;
836
880
  }
837
881
 
@@ -855,6 +899,8 @@ export function buildSellExactInStable(
855
899
  feeRecipient,
856
900
  creatorReferralVault,
857
901
  traderReferralVault,
902
+ userTokenAccount,
903
+ userQuoteAccount,
858
904
  config,
859
905
  } = params;
860
906
 
@@ -883,6 +929,13 @@ export function buildSellExactInStable(
883
929
  config.liquidProgramId,
884
930
  );
885
931
 
932
+ const resolvedUserTokenAccount =
933
+ userTokenAccount ??
934
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
935
+ const resolvedUserQuoteAccount =
936
+ userQuoteAccount ??
937
+ getAssociatedTokenAddressSync(quoteMint, user, false, TOKEN_PROGRAM_ID);
938
+
886
939
  return program.methods
887
940
  .sellExactInStable(amountIn, minAmountOut)
888
941
  .accountsPartial({
@@ -891,6 +944,8 @@ export function buildSellExactInStable(
891
944
  quoteMint,
892
945
  feeRecipient: feeRecipientQuoteAccount,
893
946
  creatorUserProperties,
947
+ userTokenAccount: resolvedUserTokenAccount,
948
+ userQuoteAccount: resolvedUserQuoteAccount,
894
949
  creatorReferralVault: creatorReferralVault ?? null,
895
950
  traderReferralVault: traderReferralVault ?? null,
896
951
  buybackVault,
@@ -932,6 +987,8 @@ export interface BuildBuyExactOutStableParams {
932
987
  feeRecipient: PublicKey;
933
988
  creatorReferralVault?: PublicKey | null;
934
989
  traderReferralVault?: PublicKey | null;
990
+ userTokenAccount?: PublicKey;
991
+ userQuoteAccount?: PublicKey;
935
992
  config: LiquidConfig;
936
993
  }
937
994
 
@@ -955,6 +1012,8 @@ export function buildBuyExactOutStable(
955
1012
  feeRecipient,
956
1013
  creatorReferralVault,
957
1014
  traderReferralVault,
1015
+ userTokenAccount,
1016
+ userQuoteAccount,
958
1017
  config,
959
1018
  } = params;
960
1019
 
@@ -981,6 +1040,13 @@ export function buildBuyExactOutStable(
981
1040
  config.liquidProgramId,
982
1041
  );
983
1042
 
1043
+ const resolvedUserTokenAccount =
1044
+ userTokenAccount ??
1045
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
1046
+ const resolvedUserQuoteAccount =
1047
+ userQuoteAccount ??
1048
+ getAssociatedTokenAddressSync(quoteMint, user, false, TOKEN_PROGRAM_ID);
1049
+
984
1050
  return program.methods
985
1051
  .buyExactOutStable(exactAmountOut, maxAmountIn)
986
1052
  .accountsPartial({
@@ -989,6 +1055,8 @@ export function buildBuyExactOutStable(
989
1055
  quoteMint,
990
1056
  feeRecipient: feeRecipientQuoteAccount,
991
1057
  creatorUserProperties,
1058
+ userTokenAccount: resolvedUserTokenAccount,
1059
+ userQuoteAccount: resolvedUserQuoteAccount,
992
1060
  creatorReferralVault: creatorReferralVault ?? null,
993
1061
  traderReferralVault: traderReferralVault ?? null,
994
1062
  buybackVault,
@@ -1030,6 +1098,8 @@ export interface BuildSellExactOutStableParams {
1030
1098
  feeRecipient: PublicKey;
1031
1099
  creatorReferralVault?: PublicKey | null;
1032
1100
  traderReferralVault?: PublicKey | null;
1101
+ userTokenAccount?: PublicKey;
1102
+ userQuoteAccount?: PublicKey;
1033
1103
  config: LiquidConfig;
1034
1104
  }
1035
1105
 
@@ -1053,6 +1123,8 @@ export function buildSellExactOutStable(
1053
1123
  feeRecipient,
1054
1124
  creatorReferralVault,
1055
1125
  traderReferralVault,
1126
+ userTokenAccount,
1127
+ userQuoteAccount,
1056
1128
  config,
1057
1129
  } = params;
1058
1130
 
@@ -1079,6 +1151,13 @@ export function buildSellExactOutStable(
1079
1151
  config.liquidProgramId,
1080
1152
  );
1081
1153
 
1154
+ const resolvedUserTokenAccount =
1155
+ userTokenAccount ??
1156
+ getAssociatedTokenAddressSync(mint, user, false, TOKEN_2022_PROGRAM_ID);
1157
+ const resolvedUserQuoteAccount =
1158
+ userQuoteAccount ??
1159
+ getAssociatedTokenAddressSync(quoteMint, user, false, TOKEN_PROGRAM_ID);
1160
+
1082
1161
  return program.methods
1083
1162
  .sellExactOutStable(exactAmountOut, maxAmountIn)
1084
1163
  .accountsPartial({
@@ -1087,6 +1166,8 @@ export function buildSellExactOutStable(
1087
1166
  quoteMint,
1088
1167
  feeRecipient: feeRecipientQuoteAccount,
1089
1168
  creatorUserProperties,
1169
+ userTokenAccount: resolvedUserTokenAccount,
1170
+ userQuoteAccount: resolvedUserQuoteAccount,
1090
1171
  creatorReferralVault: creatorReferralVault ?? null,
1091
1172
  traderReferralVault: traderReferralVault ?? null,
1092
1173
  buybackVault,
package/src/lut.ts CHANGED
@@ -38,89 +38,48 @@ function getCpiAuthorityPDA(programId: PublicKey): PublicKey {
38
38
  }
39
39
 
40
40
  /**
41
- * Returns the 15 account addresses for the liquid-swap global LUT.
41
+ * Returns the 21 account addresses for the global LUT.
42
42
  *
43
- * Programs (7): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events
43
+ * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
44
+ * Liquid PDAs (2): global_config, cpi_authority
44
45
  * Swap PDAs (3): authority, global_config, cpi_authority
45
- * State PDAs (3): global_amm_volume, cashback_config, state_events_cpi_authority
46
+ * State PDAs (4): global_amm_volume, global_curve_volume, cashback_config, cpi_authority
46
47
  * Constants (2): WSOL mint, oracle price feed
47
48
  *
48
49
  * @param config - Liquid protocol configuration
49
50
  * @param connection - Solana RPC connection (for fetching oracle price feed)
50
- * @returns Array of 15 public keys to populate the LUT
51
+ * @returns Array of 21 public keys to populate the LUT
51
52
  */
52
- export async function getSwapLutAccounts(
53
+ export async function getLutAccounts(
53
54
  config: LiquidConfig,
54
55
  connection: Connection,
55
56
  ): Promise<PublicKey[]> {
56
57
  const ammConfig = await fetchAmmConfig(connection, config);
57
58
  const oraclePriceFeed = ammConfig.oraclePriceFeed as PublicKey;
58
59
 
60
+ // Liquid PDAs
61
+ const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(
62
+ config.liquidProgramId,
63
+ );
64
+ const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
65
+
66
+ // Swap PDAs
59
67
  const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
60
68
  const [swapGlobalConfig] = getSwapGlobalConfigPDA(
61
69
  config.liquidSwapProgramId,
62
70
  );
63
71
  const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
64
72
 
73
+ // State PDAs
65
74
  const [globalAmmVolume] = getGlobalAmmVolumePDA(
66
75
  config.liquidStateProgramId,
67
76
  );
68
- const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
69
- const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
70
-
71
- return [
72
- // Programs
73
- SystemProgram.programId,
74
- TOKEN_PROGRAM_ID,
75
- TOKEN_2022_PROGRAM_ID,
76
- ASSOCIATED_TOKEN_PROGRAM_ID,
77
- ComputeBudgetProgram.programId,
78
- config.liquidStateProgramId,
79
- config.liquidEventsProgramId,
80
- // Swap global PDAs
81
- swapAuthority,
82
- swapGlobalConfig,
83
- swapCpiAuthority,
84
- // State global PDAs
85
- globalAmmVolume,
86
- cashbackConfig,
87
- stateCpiAuthority,
88
- // Constants
89
- WSOL_MINT,
90
- oraclePriceFeed,
91
- ];
92
- }
93
-
94
- /**
95
- * Returns the 18 account addresses for the liquid (bonding curve) global LUT.
96
- *
97
- * Programs (9): System, SPL Token, Token-2022, ATA, ComputeBudget, State, Events, Fees, Swap
98
- * Liquid PDAs (2): global_config, cpi_authority
99
- * State PDAs (3): global_curve_volume, cashback_config, state_events_cpi_authority
100
- * Swap PDAs for migration (3): amm_global_config, amm_authority, swap_cpi_authority
101
- * Constants (1): WSOL mint
102
- *
103
- * @param config - Liquid protocol configuration
104
- * @returns Array of 18 public keys to populate the LUT
105
- */
106
- export function getLiquidLutAccounts(config: LiquidConfig): PublicKey[] {
107
- const [liquidGlobalConfig] = getLiquidGlobalConfigPDA(
108
- config.liquidProgramId,
109
- );
110
- const liquidCpiAuthority = getCpiAuthorityPDA(config.liquidProgramId);
111
-
112
77
  const [globalCurveVolume] = getGlobalCurveVolumePDA(
113
78
  config.liquidStateProgramId,
114
79
  );
115
80
  const [cashbackConfig] = getCashbackConfigPDA(config.liquidStateProgramId);
116
81
  const stateCpiAuthority = getCpiAuthorityPDA(config.liquidStateProgramId);
117
82
 
118
- const [swapGlobalConfig] = getSwapGlobalConfigPDA(
119
- config.liquidSwapProgramId,
120
- );
121
- const [swapAuthority] = getSwapAuthorityPDA(config.liquidSwapProgramId);
122
- const swapCpiAuthority = getCpiAuthorityPDA(config.liquidSwapProgramId);
123
-
124
83
  return [
125
84
  // Programs
126
85
  SystemProgram.programId,
@@ -135,16 +94,18 @@ export function getLiquidLutAccounts(config: LiquidConfig): PublicKey[] {
135
94
  // Liquid global PDAs
136
95
  liquidGlobalConfig,
137
96
  liquidCpiAuthority,
97
+ // Swap global PDAs
98
+ swapAuthority,
99
+ swapGlobalConfig,
100
+ swapCpiAuthority,
138
101
  // State global PDAs
102
+ globalAmmVolume,
139
103
  globalCurveVolume,
140
104
  cashbackConfig,
141
105
  stateCpiAuthority,
142
- // Swap PDAs (for migration CPI)
143
- swapGlobalConfig,
144
- swapAuthority,
145
- swapCpiAuthority,
146
106
  // Constants
147
107
  WSOL_MINT,
108
+ oraclePriceFeed,
148
109
  ];
149
110
  }
150
111