@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.
- package/README.md +91 -35
- package/dist/accounts/liquid-swap.d.ts +2 -0
- package/dist/accounts/liquid-swap.d.ts.map +1 -1
- package/dist/client.d.ts +153 -59
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +78 -49
- package/dist/client.js.map +1 -1
- package/dist/helpers/preview.d.ts.map +1 -1
- package/dist/helpers/preview.js.map +1 -1
- package/dist/idl/liquid_swap.d.ts +103 -0
- package/dist/idl/liquid_swap.d.ts.map +1 -1
- package/dist/idl/liquid_swap.json +103 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions/index.d.ts +4 -4
- package/dist/instructions/index.d.ts.map +1 -1
- package/dist/instructions/index.js +2 -4
- package/dist/instructions/index.js.map +1 -1
- package/dist/instructions/liquid-fees.d.ts.map +1 -1
- package/dist/instructions/liquid-fees.js +2 -2
- package/dist/instructions/liquid-fees.js.map +1 -1
- package/dist/instructions/liquid-state.d.ts +0 -120
- package/dist/instructions/liquid-state.d.ts.map +1 -1
- package/dist/instructions/liquid-state.js +1 -137
- package/dist/instructions/liquid-state.js.map +1 -1
- package/dist/instructions/liquid.d.ts +0 -15
- package/dist/instructions/liquid.d.ts.map +1 -1
- package/dist/instructions/liquid.js +1 -29
- package/dist/instructions/liquid.js.map +1 -1
- package/dist/math/bonding-curve.d.ts.map +1 -1
- package/dist/math/bonding-curve.js.map +1 -1
- package/dist/oracle.d.ts +14 -6
- package/dist/oracle.d.ts.map +1 -1
- package/dist/oracle.js +24 -18
- package/dist/oracle.js.map +1 -1
- package/dist/pda/index.d.ts +6 -6
- package/dist/pda/index.d.ts.map +1 -1
- package/dist/pda/index.js +3 -3
- package/dist/pda/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +170 -93
- package/src/helpers/preview.ts +5 -1
- package/src/idl/liquid_swap.json +103 -0
- package/src/idl/liquid_swap.ts +103 -0
- package/src/index.ts +6 -1
- package/src/instructions/index.ts +0 -20
- package/src/instructions/liquid-fees.ts +6 -3
- package/src/instructions/liquid-state.ts +1 -240
- package/src/instructions/liquid.ts +5 -43
- package/src/math/bonding-curve.ts +4 -1
- package/src/oracle.ts +26 -29
- package/src/pda/index.ts +8 -8
package/dist/pda/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
68
|
-
/** All PDAs needed for
|
|
69
|
-
export interface
|
|
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
|
|
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
|
|
88
|
+
export declare const getStableMigrationPDAs: (tokenMint: PublicKey, quoteMint: PublicKey, config: LiquidConfig) => StableMigrationPDAs;
|
|
89
89
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/pda/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,eAAe,EACf,cAAc,EACd,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAoB5E,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAC1B,WAAW,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,SAAS,EACf,SAAS,SAAS,EAClB,QAAQ,YAAY,KAClB,gBAgCF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAC1B,UAAU,SAAS,EACnB,WAAW,SAAS,EACpB,QAAQ,YAAY,KAClB,QAwCF,CAAC;AAEF,yDAAyD;AACzD,MAAM,WAAW,
|
|
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
|
|
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
|
|
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
|
|
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);
|
package/dist/pda/index.js.map
CHANGED
|
@@ -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
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
|
-
|
|
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
|
|
152
|
-
|
|
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
|
|
164
|
-
|
|
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 `
|
|
183
|
+
* Like `buildBuyNative` but auto-fetches the bonding curve creator.
|
|
180
184
|
*/
|
|
181
|
-
|
|
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
|
|
198
|
-
|
|
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 `
|
|
217
|
+
* Like `buildSellNative` but auto-fetches the bonding curve creator.
|
|
214
218
|
*/
|
|
215
|
-
|
|
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
|
-
|
|
981
|
-
return
|
|
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
|
/**
|
package/src/helpers/preview.ts
CHANGED
|
@@ -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 {
|
|
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,
|
package/src/idl/liquid_swap.json
CHANGED
|
@@ -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
|
}
|