@liquid-af/sdk 0.1.0 → 0.3.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.
Files changed (53) hide show
  1. package/README.md +91 -35
  2. package/dist/accounts/liquid-swap.d.ts +2 -0
  3. package/dist/accounts/liquid-swap.d.ts.map +1 -1
  4. package/dist/client.d.ts +153 -59
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +78 -49
  7. package/dist/client.js.map +1 -1
  8. package/dist/helpers/preview.d.ts.map +1 -1
  9. package/dist/helpers/preview.js.map +1 -1
  10. package/dist/idl/liquid_swap.d.ts +103 -0
  11. package/dist/idl/liquid_swap.d.ts.map +1 -1
  12. package/dist/idl/liquid_swap.json +103 -0
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/instructions/index.d.ts +4 -4
  17. package/dist/instructions/index.d.ts.map +1 -1
  18. package/dist/instructions/index.js +2 -4
  19. package/dist/instructions/index.js.map +1 -1
  20. package/dist/instructions/liquid-fees.d.ts.map +1 -1
  21. package/dist/instructions/liquid-fees.js +2 -2
  22. package/dist/instructions/liquid-fees.js.map +1 -1
  23. package/dist/instructions/liquid-state.d.ts +0 -120
  24. package/dist/instructions/liquid-state.d.ts.map +1 -1
  25. package/dist/instructions/liquid-state.js +1 -137
  26. package/dist/instructions/liquid-state.js.map +1 -1
  27. package/dist/instructions/liquid.d.ts +0 -15
  28. package/dist/instructions/liquid.d.ts.map +1 -1
  29. package/dist/instructions/liquid.js +1 -29
  30. package/dist/instructions/liquid.js.map +1 -1
  31. package/dist/math/bonding-curve.d.ts.map +1 -1
  32. package/dist/math/bonding-curve.js.map +1 -1
  33. package/dist/oracle.d.ts +14 -6
  34. package/dist/oracle.d.ts.map +1 -1
  35. package/dist/oracle.js +24 -18
  36. package/dist/oracle.js.map +1 -1
  37. package/dist/pda/index.d.ts +6 -6
  38. package/dist/pda/index.d.ts.map +1 -1
  39. package/dist/pda/index.js +3 -3
  40. package/dist/pda/index.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/client.ts +170 -93
  43. package/src/helpers/preview.ts +5 -1
  44. package/src/idl/liquid_swap.json +103 -0
  45. package/src/idl/liquid_swap.ts +103 -0
  46. package/src/index.ts +6 -1
  47. package/src/instructions/index.ts +0 -20
  48. package/src/instructions/liquid-fees.ts +6 -3
  49. package/src/instructions/liquid-state.ts +1 -240
  50. package/src/instructions/liquid.ts +5 -43
  51. package/src/math/bonding-curve.ts +4 -1
  52. package/src/oracle.ts +26 -29
  53. package/src/pda/index.ts +8 -8
@@ -46,7 +46,7 @@ export interface PoolPDAs {
46
46
  */
47
47
  export declare const getAllPoolPDAs: (baseMint: PublicKey, quoteMint: PublicKey, config: LiquidConfig) => PoolPDAs;
48
48
  /** All PDAs needed for bonding curve to AMM migration */
49
- export interface MigrationPDAs {
49
+ export interface NativeMigrationPDAs {
50
50
  bondingCurve: PublicKey;
51
51
  ammPoolState: PublicKey;
52
52
  ammLpMint: PublicKey;
@@ -64,9 +64,9 @@ export interface MigrationPDAs {
64
64
  * @param config - Liquid protocol configuration
65
65
  * @returns All migration-related PDAs
66
66
  */
67
- export declare const getMigrationPDAs: (tokenMint: PublicKey, config?: LiquidConfig) => MigrationPDAs;
68
- /** All PDAs needed for token bonding curve to AMM migration */
69
- export interface TokenMigrationPDAs {
67
+ export declare const getNativeMigrationPDAs: (tokenMint: PublicKey, config?: LiquidConfig) => NativeMigrationPDAs;
68
+ /** All PDAs needed for stable bonding curve to AMM migration */
69
+ export interface StableMigrationPDAs {
70
70
  bondingCurve: PublicKey;
71
71
  ammPoolState: PublicKey;
72
72
  ammLpMint: PublicKey;
@@ -78,12 +78,12 @@ export interface TokenMigrationPDAs {
78
78
  ammBuybackVault: PublicKey;
79
79
  }
80
80
  /**
81
- * Derives all PDAs needed for migration from token bonding curve to AMM.
81
+ * Derives all PDAs needed for migration from stable bonding curve to AMM.
82
82
  *
83
83
  * @param tokenMint - Token mint address
84
84
  * @param quoteMint - Quote token mint address (e.g., USDC)
85
85
  * @param config - Liquid protocol configuration
86
86
  * @returns All migration-related PDAs
87
87
  */
88
- export declare const getTokenMigrationPDAs: (tokenMint: PublicKey, quoteMint: PublicKey, config: LiquidConfig) => TokenMigrationPDAs;
88
+ export declare const getStableMigrationPDAs: (tokenMint: PublicKey, quoteMint: PublicKey, config: LiquidConfig) => StableMigrationPDAs;
89
89
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"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"}
package/dist/pda/index.js CHANGED
@@ -72,7 +72,7 @@ export const getAllPoolPDAs = (baseMint, quoteMint, config) => {
72
72
  * @param config - Liquid protocol configuration
73
73
  * @returns All migration-related PDAs
74
74
  */
75
- export const getMigrationPDAs = (tokenMint, config = MAINNET_CONFIG) => {
75
+ export const getNativeMigrationPDAs = (tokenMint, config = MAINNET_CONFIG) => {
76
76
  const [bondingCurve] = getBondingCurvePDA(tokenMint, config.liquidProgramId);
77
77
  const [ammPoolState] = getPoolPDA(tokenMint, WSOL_MINT, config.liquidSwapProgramId);
78
78
  const [ammLpMint] = getPoolLpMintPDA(ammPoolState, config.liquidSwapProgramId);
@@ -95,14 +95,14 @@ export const getMigrationPDAs = (tokenMint, config = MAINNET_CONFIG) => {
95
95
  };
96
96
  };
97
97
  /**
98
- * Derives all PDAs needed for migration from token bonding curve to AMM.
98
+ * Derives all PDAs needed for migration from stable bonding curve to AMM.
99
99
  *
100
100
  * @param tokenMint - Token mint address
101
101
  * @param quoteMint - Quote token mint address (e.g., USDC)
102
102
  * @param config - Liquid protocol configuration
103
103
  * @returns All migration-related PDAs
104
104
  */
105
- export const getTokenMigrationPDAs = (tokenMint, quoteMint, config) => {
105
+ export const getStableMigrationPDAs = (tokenMint, quoteMint, config) => {
106
106
  const [bondingCurve] = getStableBondingCurvePDA(tokenMint, quoteMint, config.liquidProgramId);
107
107
  const [ammPoolState] = getPoolPDA(tokenMint, quoteMint, config.liquidSwapProgramId);
108
108
  const [ammLpMint] = getPoolLpMintPDA(ammPoolState, config.liquidSwapProgramId);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liquid-af/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript SDK for the Liquid DeFi protocol on Solana",
5
5
  "type": "module",
6
6
  "publishConfig": {
package/src/client.ts CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  // Instruction builders
21
21
  import {
22
22
  buildCreateNativeCurve,
23
+ buildBumpNative,
23
24
  buildBuyNative,
24
25
  buildBuyNativeAutoResolve,
25
26
  buildSellNative,
@@ -29,6 +30,13 @@ import {
29
30
  buildWithdrawReferralRewards,
30
31
  buildExecuteBuybackNative,
31
32
  buildExecuteBuybackToken,
33
+ buildCreateStableCurve,
34
+ buildBuyStable,
35
+ buildBuyStableAutoResolve,
36
+ buildSellStable,
37
+ buildSellStableAutoResolve,
38
+ buildMigrateStable,
39
+ buildInitializeReferralTokenVault,
32
40
  } from "./instructions/liquid.js";
33
41
  import {
34
42
  buildCreatePool,
@@ -51,15 +59,7 @@ import {
51
59
  buildInitializeUser,
52
60
  buildSetReferrer,
53
61
  buildSetCashbackMode,
54
- buildTransferAdmin,
55
- buildAcceptAdmin,
56
- buildCancelAdminTransfer,
57
- buildCreateDeal,
58
- buildUpdateDeal,
59
- buildCloseDeal,
60
62
  buildRedeemDeal,
61
- buildTakeSnapshot,
62
- buildAdminUpdateUser,
63
63
  } from "./instructions/liquid-state.js";
64
64
 
65
65
  // Account fetchers
@@ -67,6 +67,8 @@ import {
67
67
  fetchLiquidGlobalConfig as fetchLiquidGlobalConfigFn,
68
68
  fetchNativeBondingCurve as fetchNativeBondingCurveFn,
69
69
  fetchNativeBondingCurveByAddress as fetchNativeBondingCurveByAddressFn,
70
+ fetchStableBondingCurve as fetchStableBondingCurveFn,
71
+ fetchStableBondingCurveByAddress as fetchStableBondingCurveByAddressFn,
70
72
  } from "./accounts/liquid.js";
71
73
  import {
72
74
  fetchAmmConfig as fetchAmmConfigFn,
@@ -102,6 +104,7 @@ import {
102
104
  import {
103
105
  getBondingCurvePDA,
104
106
  getBondingCurveSolVaultPDA,
107
+ getStableBondingCurvePDA,
105
108
  getReferralVaultPDA,
106
109
  getBuybackVaultPDA,
107
110
  getPoolPDA,
@@ -117,7 +120,8 @@ import {
117
120
  getDealPDA,
118
121
  getAllBondingCurvePDAs,
119
122
  getAllPoolPDAs,
120
- getMigrationPDAs,
123
+ getNativeMigrationPDAs,
124
+ getStableMigrationPDAs,
121
125
  } from "./pda/index.js";
122
126
 
123
127
  // Utility
@@ -148,8 +152,8 @@ export class LiquidClient {
148
152
  this.config = config;
149
153
  }
150
154
 
151
- /** Builds a createCurve instruction for launching a new token on the bonding curve. */
152
- buildCreateCurve(params: {
155
+ /** Builds a createNativeCurve instruction for launching a new token on the native SOL bonding curve. */
156
+ buildCreateNativeCurve(params: {
153
157
  creator: PublicKey;
154
158
  mint: PublicKey;
155
159
  pythPriceFeed: PublicKey;
@@ -160,8 +164,8 @@ export class LiquidClient {
160
164
  return buildCreateNativeCurve({ ...params, config: this.config });
161
165
  }
162
166
 
163
- /** Builds a buyOnCurve instruction. Requires the creator address and Pyth price feed. */
164
- buildBuyOnCurve(params: {
167
+ /** Builds a buyNative instruction. Requires the creator address and Pyth price feed. */
168
+ buildBuyNative(params: {
165
169
  user: PublicKey;
166
170
  mint: PublicKey;
167
171
  creator: PublicKey;
@@ -176,9 +180,9 @@ export class LiquidClient {
176
180
  }
177
181
 
178
182
  /**
179
- * Like `buildBuyOnCurve` but auto-fetches the bonding curve creator.
183
+ * Like `buildBuyNative` but auto-fetches the bonding curve creator.
180
184
  */
181
- buildBuyOnCurveAutoResolve(params: {
185
+ buildBuyNativeAutoResolve(params: {
182
186
  user: PublicKey;
183
187
  mint: PublicKey;
184
188
  pythPriceFeed: PublicKey;
@@ -194,8 +198,8 @@ export class LiquidClient {
194
198
  });
195
199
  }
196
200
 
197
- /** Builds a sellOnCurve instruction. Requires the creator address and Pyth price feed. */
198
- buildSellOnCurve(params: {
201
+ /** Builds a sellNative instruction. Requires the creator address and Pyth price feed. */
202
+ buildSellNative(params: {
199
203
  user: PublicKey;
200
204
  mint: PublicKey;
201
205
  creator: PublicKey;
@@ -210,9 +214,9 @@ export class LiquidClient {
210
214
  }
211
215
 
212
216
  /**
213
- * Like `buildSellOnCurve` but auto-fetches the bonding curve creator.
217
+ * Like `buildSellNative` but auto-fetches the bonding curve creator.
214
218
  */
215
- buildSellOnCurveAutoResolve(params: {
219
+ buildSellNativeAutoResolve(params: {
216
220
  user: PublicKey;
217
221
  mint: PublicKey;
218
222
  pythPriceFeed: PublicKey;
@@ -271,6 +275,114 @@ export class LiquidClient {
271
275
  return buildExecuteBuybackToken({ ...params, config: this.config });
272
276
  }
273
277
 
278
+ /** Builds a bumpNative instruction. Re-evaluates a native curve's market cap against the oracle. */
279
+ buildBumpNative(params: {
280
+ mint: PublicKey;
281
+ pythPriceFeed: PublicKey;
282
+ }): Promise<TransactionInstruction> {
283
+ return buildBumpNative({ ...params, config: this.config });
284
+ }
285
+
286
+ /** Builds a createStableCurve instruction for launching a new token on a quote-token bonding curve. */
287
+ buildCreateStableCurve(params: {
288
+ creator: PublicKey;
289
+ mint: PublicKey;
290
+ quoteMint: PublicKey;
291
+ name: string;
292
+ symbol: string;
293
+ uri: string;
294
+ }): Promise<TransactionInstruction> {
295
+ return buildCreateStableCurve({ ...params, config: this.config });
296
+ }
297
+
298
+ /** Builds a buyStable instruction. Requires the creator address. */
299
+ buildBuyStable(params: {
300
+ user: PublicKey;
301
+ mint: PublicKey;
302
+ quoteMint: PublicKey;
303
+ creator: PublicKey;
304
+ amountIn: BN;
305
+ minAmountOut: BN;
306
+ feeRecipient: PublicKey;
307
+ creatorReferralVault?: PublicKey | null;
308
+ traderReferralVault?: PublicKey | null;
309
+ }): Promise<TransactionInstruction> {
310
+ return buildBuyStable({ ...params, config: this.config });
311
+ }
312
+
313
+ /**
314
+ * Like `buildBuyStable` but auto-fetches the bonding curve creator.
315
+ */
316
+ buildBuyStableAutoResolve(params: {
317
+ user: PublicKey;
318
+ mint: PublicKey;
319
+ quoteMint: PublicKey;
320
+ amountIn: BN;
321
+ minAmountOut: BN;
322
+ feeRecipient: PublicKey;
323
+ creatorReferralVault?: PublicKey | null;
324
+ traderReferralVault?: PublicKey | null;
325
+ }): Promise<TransactionInstruction> {
326
+ return buildBuyStableAutoResolve(this.connection, {
327
+ ...params,
328
+ config: this.config,
329
+ });
330
+ }
331
+
332
+ /** Builds a sellStable instruction. Requires the creator address. */
333
+ buildSellStable(params: {
334
+ user: PublicKey;
335
+ mint: PublicKey;
336
+ quoteMint: PublicKey;
337
+ creator: PublicKey;
338
+ amountIn: BN;
339
+ minAmountOut: BN;
340
+ feeRecipient: PublicKey;
341
+ creatorReferralVault?: PublicKey | null;
342
+ traderReferralVault?: PublicKey | null;
343
+ }): Promise<TransactionInstruction> {
344
+ return buildSellStable({ ...params, config: this.config });
345
+ }
346
+
347
+ /**
348
+ * Like `buildSellStable` but auto-fetches the bonding curve creator.
349
+ */
350
+ buildSellStableAutoResolve(params: {
351
+ user: PublicKey;
352
+ mint: PublicKey;
353
+ quoteMint: PublicKey;
354
+ amountIn: BN;
355
+ minAmountOut: BN;
356
+ feeRecipient: PublicKey;
357
+ creatorReferralVault?: PublicKey | null;
358
+ traderReferralVault?: PublicKey | null;
359
+ }): Promise<TransactionInstruction> {
360
+ return buildSellStableAutoResolve(this.connection, {
361
+ ...params,
362
+ config: this.config,
363
+ });
364
+ }
365
+
366
+ /** Builds a migrateStable instruction (token bonding curve → AMM pool). Permissionless once the curve completes. */
367
+ buildMigrateStable(params: {
368
+ migrator: PublicKey;
369
+ mint: PublicKey;
370
+ quoteMint: PublicKey;
371
+ }): Promise<TransactionInstruction> {
372
+ return buildMigrateStable({ ...params, config: this.config });
373
+ }
374
+
375
+ /** Builds an initializeReferralTokenVault instruction (creates a referral token vault for stable curves). */
376
+ buildInitializeReferralTokenVault(params: {
377
+ user: PublicKey;
378
+ quoteMint: PublicKey;
379
+ }): Promise<TransactionInstruction> {
380
+ return buildInitializeReferralTokenVault({
381
+ ...params,
382
+ config: this.config,
383
+ });
384
+ }
385
+
274
386
  /**
275
387
  * Builds a create pool instruction. Auto-resolves token programs if not provided.
276
388
  */
@@ -617,55 +729,6 @@ export class LiquidClient {
617
729
  return buildSetCashbackMode({ ...params, config: this.config });
618
730
  }
619
731
 
620
- /** Builds a transferAdmin instruction. Proposes admin transfer to a new pubkey (two-step). */
621
- buildTransferAdmin(params: {
622
- admin: PublicKey;
623
- newAdmin: PublicKey;
624
- }): Promise<TransactionInstruction> {
625
- return buildTransferAdmin({ ...params, config: this.config });
626
- }
627
-
628
- /** Builds an acceptAdmin instruction. Completes a pending admin transfer. */
629
- buildAcceptAdmin(params: {
630
- newAdmin: PublicKey;
631
- }): Promise<TransactionInstruction> {
632
- return buildAcceptAdmin({ ...params, config: this.config });
633
- }
634
-
635
- /** Builds a cancelAdminTransfer instruction. Cancels a pending admin transfer. */
636
- buildCancelAdminTransfer(params: {
637
- authority: PublicKey;
638
- }): Promise<TransactionInstruction> {
639
- return buildCancelAdminTransfer({ ...params, config: this.config });
640
- }
641
-
642
- /** Builds a createDeal instruction. Admin creates an exclusive deal for a pubkey. */
643
- buildCreateDeal(params: {
644
- admin: PublicKey;
645
- owner: PublicKey;
646
- cashbackMultiplierBps: number;
647
- payer: PublicKey;
648
- }): Promise<TransactionInstruction> {
649
- return buildCreateDeal({ ...params, config: this.config });
650
- }
651
-
652
- /** Builds an updateDeal instruction. Admin updates a deal's cashback multiplier. */
653
- buildUpdateDeal(params: {
654
- admin: PublicKey;
655
- dealOwner: PublicKey;
656
- newCashbackMultiplierBps: number;
657
- }): Promise<TransactionInstruction> {
658
- return buildUpdateDeal({ ...params, config: this.config });
659
- }
660
-
661
- /** Builds a closeDeal instruction. Admin closes/deletes a deal, returning rent. */
662
- buildCloseDeal(params: {
663
- admin: PublicKey;
664
- dealOwner: PublicKey;
665
- }): Promise<TransactionInstruction> {
666
- return buildCloseDeal({ ...params, config: this.config });
667
- }
668
-
669
732
  /** Builds a redeemDeal instruction. User redeems their referrer's deal. */
670
733
  buildRedeemDeal(params: {
671
734
  user: PublicKey;
@@ -674,28 +737,6 @@ export class LiquidClient {
674
737
  return buildRedeemDeal({ ...params, config: this.config });
675
738
  }
676
739
 
677
- /** Builds a takeSnapshot instruction. Admin takes a snapshot of a user's volume. */
678
- buildTakeSnapshot(params: {
679
- admin: PublicKey;
680
- user: PublicKey;
681
- payer: PublicKey;
682
- snapshotIndex: number;
683
- }): Promise<TransactionInstruction> {
684
- return buildTakeSnapshot({ ...params, config: this.config });
685
- }
686
-
687
- /** Builds an adminUpdateUser instruction. Admin updates a user's referrer/multiplier and takes a snapshot. */
688
- buildAdminUpdateUser(params: {
689
- admin: PublicKey;
690
- user: PublicKey;
691
- payer: PublicKey;
692
- newReferrer: PublicKey | null;
693
- newCashbackMultiplierBps: number | null;
694
- snapshotIndex: number;
695
- }): Promise<TransactionInstruction> {
696
- return buildAdminUpdateUser({ ...params, config: this.config });
697
- }
698
-
699
740
  /** Fetches the global configuration for the bonding curve program. */
700
741
  fetchLiquidGlobalConfig() {
701
742
  return fetchLiquidGlobalConfigFn(this.connection, this.config);
@@ -715,6 +756,25 @@ export class LiquidClient {
715
756
  );
716
757
  }
717
758
 
759
+ /** Fetches a stable bonding curve account by token mint and quote mint. */
760
+ fetchStableBondingCurve(mint: PublicKey, quoteMint: PublicKey) {
761
+ return fetchStableBondingCurveFn(
762
+ this.connection,
763
+ mint,
764
+ quoteMint,
765
+ this.config
766
+ );
767
+ }
768
+
769
+ /** Fetches a stable bonding curve account by its PDA address directly. */
770
+ fetchStableBondingCurveByAddress(address: PublicKey) {
771
+ return fetchStableBondingCurveByAddressFn(
772
+ this.connection,
773
+ address,
774
+ this.config
775
+ );
776
+ }
777
+
718
778
  /** Fetches the AMM global configuration. */
719
779
  fetchAmmConfig() {
720
780
  return fetchAmmConfigFn(this.connection, this.config);
@@ -872,6 +932,18 @@ export class LiquidClient {
872
932
  return getBondingCurvePDA(mint, this.config.liquidProgramId);
873
933
  }
874
934
 
935
+ /** Derives the stable bonding curve PDA for a token mint and quote mint. */
936
+ getStableBondingCurvePDA(
937
+ mint: PublicKey,
938
+ quoteMint: PublicKey
939
+ ): [PublicKey, number] {
940
+ return getStableBondingCurvePDA(
941
+ mint,
942
+ quoteMint,
943
+ this.config.liquidProgramId
944
+ );
945
+ }
946
+
875
947
  /** Derives the SOL vault PDA for a bonding curve. */
876
948
  getBondingCurveSolVaultPDA(bondingCurve: PublicKey): [PublicKey, number] {
877
949
  return getBondingCurveSolVaultPDA(
@@ -976,9 +1048,14 @@ export class LiquidClient {
976
1048
  return getAllPoolPDAs(baseMint, quoteMint, this.config);
977
1049
  }
978
1050
 
979
- /** Derives all PDAs needed for bonding curve to AMM migration. */
980
- getMigrationPDAs(tokenMint: PublicKey) {
981
- return getMigrationPDAs(tokenMint, this.config);
1051
+ /** Derives all PDAs needed for native bonding curve to AMM migration. */
1052
+ getNativeMigrationPDAs(tokenMint: PublicKey) {
1053
+ return getNativeMigrationPDAs(tokenMint, this.config);
1054
+ }
1055
+
1056
+ /** Derives all PDAs needed for stable bonding curve to AMM migration. */
1057
+ getStableMigrationPDAs(tokenMint: PublicKey, quoteMint: PublicKey) {
1058
+ return getStableMigrationPDAs(tokenMint, quoteMint, this.config);
982
1059
  }
983
1060
 
984
1061
  /**
@@ -1,7 +1,11 @@
1
1
  import type { Connection, PublicKey } from "@solana/web3.js";
2
2
  import BN from "bn.js";
3
3
  import type { LiquidConfig } from "../config.js";
4
- import type { BuyCurvePreview, SellCurvePreview, SwapPreview } from "../types.js";
4
+ import type {
5
+ BuyCurvePreview,
6
+ SellCurvePreview,
7
+ SwapPreview,
8
+ } from "../types.js";
5
9
  import { fetchAmmConfig, fetchPoolState } from "../accounts/liquid-swap.js";
6
10
  import {
7
11
  fetchLiquidGlobalConfig,
@@ -4016,6 +4016,97 @@
4016
4016
  }
4017
4017
  ]
4018
4018
  },
4019
+ {
4020
+ "name": "set_reduce_only",
4021
+ "docs": [
4022
+ "Sets or clears reduce-only mode on a specific pool.",
4023
+ "When enabled, only sells are allowed on the pool.",
4024
+ "",
4025
+ "# Arguments",
4026
+ "* `reduce_only` - Whether to enable reduce-only mode."
4027
+ ],
4028
+ "discriminator": [
4029
+ 187,
4030
+ 233,
4031
+ 208,
4032
+ 249,
4033
+ 160,
4034
+ 104,
4035
+ 209,
4036
+ 117
4037
+ ],
4038
+ "accounts": [
4039
+ {
4040
+ "name": "admin",
4041
+ "signer": true
4042
+ },
4043
+ {
4044
+ "name": "global_config",
4045
+ "pda": {
4046
+ "seeds": [
4047
+ {
4048
+ "kind": "const",
4049
+ "value": [
4050
+ 103,
4051
+ 108,
4052
+ 111,
4053
+ 98,
4054
+ 97,
4055
+ 108,
4056
+ 95,
4057
+ 99,
4058
+ 111,
4059
+ 110,
4060
+ 102,
4061
+ 105,
4062
+ 103
4063
+ ]
4064
+ }
4065
+ ]
4066
+ }
4067
+ },
4068
+ {
4069
+ "name": "pool",
4070
+ "docs": [
4071
+ "The pool to set reduce-only mode on."
4072
+ ],
4073
+ "writable": true,
4074
+ "pda": {
4075
+ "seeds": [
4076
+ {
4077
+ "kind": "const",
4078
+ "value": [
4079
+ 112,
4080
+ 111,
4081
+ 111,
4082
+ 108
4083
+ ]
4084
+ },
4085
+ {
4086
+ "kind": "account",
4087
+ "path": "base_mint"
4088
+ },
4089
+ {
4090
+ "kind": "account",
4091
+ "path": "quote_mint"
4092
+ }
4093
+ ]
4094
+ }
4095
+ },
4096
+ {
4097
+ "name": "base_mint"
4098
+ },
4099
+ {
4100
+ "name": "quote_mint"
4101
+ }
4102
+ ],
4103
+ "args": [
4104
+ {
4105
+ "name": "reduce_only",
4106
+ "type": "bool"
4107
+ }
4108
+ ]
4109
+ },
4019
4110
  {
4020
4111
  "name": "transfer_admin",
4021
4112
  "docs": [
@@ -4761,6 +4852,11 @@
4761
4852
  "code": 6035,
4762
4853
  "name": "InvalidPoolState",
4763
4854
  "msg": "Invalid pool state (empty vaults or invalid reserves)"
4855
+ },
4856
+ {
4857
+ "code": 6036,
4858
+ "name": "ReduceOnly",
4859
+ "msg": "Pool is in reduce-only mode"
4764
4860
  }
4765
4861
  ],
4766
4862
  "types": [
@@ -5487,6 +5583,13 @@
5487
5583
  "Creator of the token"
5488
5584
  ],
5489
5585
  "type": "pubkey"
5586
+ },
5587
+ {
5588
+ "name": "reduce_only",
5589
+ "docs": [
5590
+ "Reduce-only mode: when nonzero, only sells are allowed"
5591
+ ],
5592
+ "type": "u8"
5490
5593
  }
5491
5594
  ]
5492
5595
  }