@coinbarrel/sdk 1.3.0 → 2.0.1

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/curve.js CHANGED
@@ -1,19 +1,13 @@
1
- "use strict";
2
1
  /**
3
2
  * Bonding Curve Operations
4
3
  * Buy and sell tokens on the bonding curve
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getBuyQuote = getBuyQuote;
8
- exports.getSellQuote = getSellQuote;
9
- exports.buildBuyOnCurveInstruction = buildBuyOnCurveInstruction;
10
- exports.buildSellOnCurveInstruction = buildSellOnCurveInstruction;
11
- exports.buildSellMaxOnCurveInstruction = buildSellMaxOnCurveInstruction;
12
- const web3_js_1 = require("@solana/web3.js");
13
- const spl_token_1 = require("@solana/spl-token");
14
- const constants_js_1 = require("./constants.js");
15
- const pda_js_1 = require("./pda.js");
16
- const accounts_js_1 = require("./accounts.js");
5
+ import { SystemProgram, TransactionInstruction } from '@solana/web3.js';
6
+ import { TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, createAssociatedTokenAccountInstruction, getAccount, } from '@solana/spl-token';
7
+ import { DISCRIMINATORS, LAMPORTS_PER_SOL, TOKEN_DECIMALS_MULTIPLIER, NATIVE_MINT } from './constants.js';
8
+ import { SYSVAR_RENT_PUBKEY } from '@solana/web3.js';
9
+ import { getBondingCurvePda, getBondingAuthorityPda, getSolEscrowPda, getHolderRewardPda, getMigrationPDAs, } from './pda.js';
10
+ import { getBondingCurveState } from './accounts.js';
17
11
  // ============= Buffer Helpers =============
18
12
  function writeU64LE(n) {
19
13
  const b = Buffer.alloc(8);
@@ -26,9 +20,9 @@ function writeU64LE(n) {
26
20
  * Uses amplified constant product formula matching the program:
27
21
  * k = vSol_eff * vToken_eff where _eff = base * amp_bps / 10000
28
22
  */
29
- async function getBuyQuote(connection, tokenMint, solIn, programId) {
30
- const state = await (0, accounts_js_1.getBondingCurveState)(connection, tokenMint, programId);
31
- if (!state || state.paused)
23
+ export async function getBuyQuote(connection, tokenMint, solIn, programId) {
24
+ const state = await getBondingCurveState(connection, tokenMint, programId);
25
+ if (!state)
32
26
  return null;
33
27
  const feeBps = BigInt(state.feeBps);
34
28
  const totalFee = (solIn * feeBps) / 10000n;
@@ -53,8 +47,8 @@ async function getBuyQuote(connection, tokenMint, solIn, programId) {
53
47
  const newVSolEff = vSolEff + netCost;
54
48
  const newVTokenEff = kDiv;
55
49
  // Price impact
56
- const priceBeforeLamports = vTokenEff > 0n ? (vSolEff * constants_js_1.LAMPORTS_PER_SOL) / vTokenEff : 0n;
57
- const priceAfterLamports = newVTokenEff > 0n ? (newVSolEff * constants_js_1.LAMPORTS_PER_SOL) / newVTokenEff : 0n;
50
+ const priceBeforeLamports = vTokenEff > 0n ? (vSolEff * LAMPORTS_PER_SOL) / vTokenEff : 0n;
51
+ const priceAfterLamports = newVTokenEff > 0n ? (newVSolEff * LAMPORTS_PER_SOL) / newVTokenEff : 0n;
58
52
  const priceImpactBps = priceBeforeLamports > 0n
59
53
  ? Number(((priceAfterLamports - priceBeforeLamports) * 10000n) / priceBeforeLamports)
60
54
  : 0;
@@ -64,7 +58,7 @@ async function getBuyQuote(connection, tokenMint, solIn, programId) {
64
58
  adminFee,
65
59
  creatorFee,
66
60
  holderRewards,
67
- pricePerToken: tokensOut > 0n ? (solIn * constants_js_1.TOKEN_DECIMALS_MULTIPLIER) / tokensOut : 0n,
61
+ pricePerToken: tokensOut > 0n ? (solIn * TOKEN_DECIMALS_MULTIPLIER) / tokensOut : 0n,
68
62
  priceImpactBps,
69
63
  };
70
64
  }
@@ -72,9 +66,9 @@ async function getBuyQuote(connection, tokenMint, solIn, programId) {
72
66
  * Calculate sell quote for bonding curve
73
67
  * Uses amplified constant product formula matching the program
74
68
  */
75
- async function getSellQuote(connection, tokenMint, tokensIn, programId) {
76
- const state = await (0, accounts_js_1.getBondingCurveState)(connection, tokenMint, programId);
77
- if (!state || state.paused)
69
+ export async function getSellQuote(connection, tokenMint, tokensIn, programId) {
70
+ const state = await getBondingCurveState(connection, tokenMint, programId);
71
+ if (!state)
78
72
  return null;
79
73
  // Amplified constant product formula (matches program)
80
74
  // SOL out (gross) = vSOL_eff - k/(vTOKEN_eff + delta_eff)
@@ -97,8 +91,8 @@ async function getSellQuote(connection, tokenMint, tokensIn, programId) {
97
91
  const newVTokenEff = denominator;
98
92
  const newVSolEff = kDiv;
99
93
  // Price impact
100
- const priceBeforeLamports = vTokenEff > 0n ? (vSolEff * constants_js_1.LAMPORTS_PER_SOL) / vTokenEff : 0n;
101
- const priceAfterLamports = newVTokenEff > 0n ? (newVSolEff * constants_js_1.LAMPORTS_PER_SOL) / newVTokenEff : 0n;
94
+ const priceBeforeLamports = vTokenEff > 0n ? (vSolEff * LAMPORTS_PER_SOL) / vTokenEff : 0n;
95
+ const priceAfterLamports = newVTokenEff > 0n ? (newVSolEff * LAMPORTS_PER_SOL) / newVTokenEff : 0n;
102
96
  const priceImpactBps = priceBeforeLamports > 0n
103
97
  ? Number(((priceBeforeLamports - priceAfterLamports) * 10000n) / priceBeforeLamports)
104
98
  : 0;
@@ -108,7 +102,7 @@ async function getSellQuote(connection, tokenMint, tokensIn, programId) {
108
102
  adminFee,
109
103
  creatorFee,
110
104
  holderRewards,
111
- pricePerToken: tokensIn > 0n ? (solOutNetEff * constants_js_1.TOKEN_DECIMALS_MULTIPLIER) / tokensIn : 0n,
105
+ pricePerToken: tokensIn > 0n ? (solOutNetEff * TOKEN_DECIMALS_MULTIPLIER) / tokensIn : 0n,
112
106
  priceImpactBps,
113
107
  };
114
108
  }
@@ -116,36 +110,42 @@ async function getSellQuote(connection, tokenMint, tokensIn, programId) {
116
110
  /**
117
111
  * Build buy_on_curve instruction
118
112
  *
119
- * IMPORTANT: Fee recipients are read from on-chain state and cannot be modified.
120
- * The program enforces that fees go to the correct recipients.
113
+ * IMPORTANT: This instruction ALWAYS includes migration accounts in remaining_accounts.
114
+ * Migration accounts are required by the program - if the buy triggers the threshold,
115
+ * the program will atomically create the pool and migrate liquidity.
116
+ *
117
+ * Fee recipients are read from on-chain state and cannot be modified.
121
118
  */
122
- async function buildBuyOnCurveInstruction(connection, params, programId) {
119
+ export async function buildBuyOnCurveInstruction(connection, params, programId) {
123
120
  const { tokenMint, buyer, lamportsIn } = params;
124
121
  // Fetch curve state to get fee recipients (enforced on-chain)
125
- const state = await (0, accounts_js_1.getBondingCurveState)(connection, tokenMint, programId);
122
+ const state = await getBondingCurveState(connection, tokenMint, programId);
126
123
  if (!state) {
127
124
  throw new Error('Bonding curve not found for this token');
128
125
  }
129
- if (state.paused) {
130
- throw new Error('Bonding curve is paused');
131
- }
132
- const bondingCurve = (0, pda_js_1.getBondingCurvePda)(tokenMint, programId);
133
- const bondingAuthority = (0, pda_js_1.getBondingAuthorityPda)(bondingCurve, programId);
134
- const solEscrow = (0, pda_js_1.getSolEscrowPda)(bondingCurve, programId);
135
- const buyerAta = (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, buyer);
136
- const holderRewardAccount = (0, pda_js_1.getHolderRewardPda)(tokenMint, buyer, programId);
126
+ const bondingCurve = getBondingCurvePda(tokenMint, programId);
127
+ const bondingAuthority = getBondingAuthorityPda(bondingCurve, programId);
128
+ const solEscrow = getSolEscrowPda(bondingCurve, programId);
129
+ const buyerAta = getAssociatedTokenAddressSync(tokenMint, buyer);
130
+ const holderRewardAccount = getHolderRewardPda(tokenMint, buyer, programId);
131
+ // Always derive migration PDAs - program requires them
132
+ const migrationPDAs = getMigrationPDAs(tokenMint, programId);
137
133
  const instructions = [];
138
134
  // Check if buyer's ATA exists, create if needed
139
135
  try {
140
- await (0, spl_token_1.getAccount)(connection, buyerAta);
136
+ await getAccount(connection, buyerAta);
141
137
  }
142
138
  catch {
143
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(buyer, buyerAta, buyer, tokenMint));
139
+ instructions.push(createAssociatedTokenAccountInstruction(buyer, buyerAta, buyer, tokenMint));
144
140
  }
145
- // Build buy instruction with fee recipients from on-chain state
146
- const buyIx = new web3_js_1.TransactionInstruction({
141
+ // Build buy instruction with migration accounts in remaining_accounts
142
+ // Layout for inline_migrate (remaining_accounts indices 1-14, index 0 is holder_reward_account which is formal):
143
+ // [1] pool, [2] wsol_mint, [3] token_a_vault, [4] token_b_vault, [5] lp_mint, [6] lp_vault, [7] pool_authority, [8] rent
144
+ // [9] token_vault (bonding), [10] sol_escrow, [11] bonding_authority, [12] creator_fee_recipient, [13] buyer, [14] system_program
145
+ const buyIx = new TransactionInstruction({
147
146
  programId,
148
147
  keys: [
148
+ // Formal accounts (match BuyOnCurve struct)
149
149
  { pubkey: bondingCurve, isWritable: true, isSigner: false },
150
150
  { pubkey: state.tokenVault, isWritable: true, isSigner: false },
151
151
  { pubkey: tokenMint, isWritable: false, isSigner: false },
@@ -153,15 +153,28 @@ async function buildBuyOnCurveInstruction(connection, params, programId) {
153
153
  { pubkey: bondingAuthority, isWritable: false, isSigner: false },
154
154
  { pubkey: buyerAta, isWritable: true, isSigner: false },
155
155
  { pubkey: buyer, isWritable: true, isSigner: true },
156
- // Fee recipients - read from on-chain state, cannot be modified
157
156
  { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
158
157
  { pubkey: state.creatorFeeRecipient, isWritable: true, isSigner: false },
159
- // Holder reward account - auto-initialized by program
160
158
  { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
161
- { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
162
- { pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
159
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
160
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
161
+ // Migration accounts (remaining_accounts[1-14])
162
+ { pubkey: migrationPDAs.poolPda, isWritable: true, isSigner: false },
163
+ { pubkey: NATIVE_MINT, isWritable: false, isSigner: false },
164
+ { pubkey: migrationPDAs.tokenAVaultPda, isWritable: true, isSigner: false },
165
+ { pubkey: migrationPDAs.tokenBVaultPda, isWritable: true, isSigner: false },
166
+ { pubkey: migrationPDAs.lpMintPda, isWritable: true, isSigner: false },
167
+ { pubkey: migrationPDAs.lpVaultPda, isWritable: true, isSigner: false },
168
+ { pubkey: migrationPDAs.poolAuthorityPda, isWritable: false, isSigner: false },
169
+ { pubkey: SYSVAR_RENT_PUBKEY, isWritable: false, isSigner: false },
170
+ { pubkey: state.tokenVault, isWritable: true, isSigner: false },
171
+ { pubkey: solEscrow, isWritable: true, isSigner: false },
172
+ { pubkey: bondingAuthority, isWritable: false, isSigner: false },
173
+ { pubkey: state.creatorFeeRecipient, isWritable: true, isSigner: false },
174
+ { pubkey: buyer, isWritable: true, isSigner: false },
175
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
163
176
  ],
164
- data: Buffer.concat([constants_js_1.DISCRIMINATORS.buy_on_curve, writeU64LE(lamportsIn)]),
177
+ data: Buffer.concat([DISCRIMINATORS.buy_on_curve, writeU64LE(lamportsIn)]),
165
178
  });
166
179
  instructions.push(buyIx);
167
180
  return instructions;
@@ -172,22 +185,19 @@ async function buildBuyOnCurveInstruction(connection, params, programId) {
172
185
  * IMPORTANT: Fee recipients are read from on-chain state and cannot be modified.
173
186
  * Includes holder reward account in remaining_accounts for auto-payout.
174
187
  */
175
- async function buildSellOnCurveInstruction(connection, params, programId) {
188
+ export async function buildSellOnCurveInstruction(connection, params, programId) {
176
189
  const { tokenMint, seller, tokenAmount } = params;
177
190
  // Fetch curve state to get fee recipients (enforced on-chain)
178
- const state = await (0, accounts_js_1.getBondingCurveState)(connection, tokenMint, programId);
191
+ const state = await getBondingCurveState(connection, tokenMint, programId);
179
192
  if (!state) {
180
193
  throw new Error('Bonding curve not found for this token');
181
194
  }
182
- if (state.paused) {
183
- throw new Error('Bonding curve is paused');
184
- }
185
- const bondingCurve = (0, pda_js_1.getBondingCurvePda)(tokenMint, programId);
186
- const bondingAuthority = (0, pda_js_1.getBondingAuthorityPda)(bondingCurve, programId);
187
- const solEscrow = (0, pda_js_1.getSolEscrowPda)(bondingCurve, programId);
188
- const sellerAta = (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, seller);
189
- const holderRewardAccount = (0, pda_js_1.getHolderRewardPda)(tokenMint, seller, programId);
190
- const sellIx = new web3_js_1.TransactionInstruction({
195
+ const bondingCurve = getBondingCurvePda(tokenMint, programId);
196
+ const bondingAuthority = getBondingAuthorityPda(bondingCurve, programId);
197
+ const solEscrow = getSolEscrowPda(bondingCurve, programId);
198
+ const sellerAta = getAssociatedTokenAddressSync(tokenMint, seller);
199
+ const holderRewardAccount = getHolderRewardPda(tokenMint, seller, programId);
200
+ const sellIx = new TransactionInstruction({
191
201
  programId,
192
202
  keys: [
193
203
  { pubkey: bondingCurve, isWritable: true, isSigner: false },
@@ -200,12 +210,12 @@ async function buildSellOnCurveInstruction(connection, params, programId) {
200
210
  // Fee recipients - read from on-chain state, cannot be modified
201
211
  { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
202
212
  { pubkey: state.creatorFeeRecipient, isWritable: true, isSigner: false },
203
- { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
204
- { pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
213
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
214
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
205
215
  // Holder reward account in remaining_accounts for auto-payout
206
216
  { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
207
217
  ],
208
- data: Buffer.concat([constants_js_1.DISCRIMINATORS.sell_on_curve, writeU64LE(tokenAmount)]),
218
+ data: Buffer.concat([DISCRIMINATORS.sell_on_curve, writeU64LE(tokenAmount)]),
209
219
  });
210
220
  return [sellIx];
211
221
  }
@@ -213,22 +223,19 @@ async function buildSellOnCurveInstruction(connection, params, programId) {
213
223
  * Build sell_max_on_curve instruction (sell entire balance)
214
224
  * Includes holder reward account in remaining_accounts for auto-payout.
215
225
  */
216
- async function buildSellMaxOnCurveInstruction(connection, params, programId) {
226
+ export async function buildSellMaxOnCurveInstruction(connection, params, programId) {
217
227
  const { tokenMint, seller } = params;
218
228
  // Fetch curve state to get fee recipients (enforced on-chain)
219
- const state = await (0, accounts_js_1.getBondingCurveState)(connection, tokenMint, programId);
229
+ const state = await getBondingCurveState(connection, tokenMint, programId);
220
230
  if (!state) {
221
231
  throw new Error('Bonding curve not found for this token');
222
232
  }
223
- if (state.paused) {
224
- throw new Error('Bonding curve is paused');
225
- }
226
- const bondingCurve = (0, pda_js_1.getBondingCurvePda)(tokenMint, programId);
227
- const bondingAuthority = (0, pda_js_1.getBondingAuthorityPda)(bondingCurve, programId);
228
- const solEscrow = (0, pda_js_1.getSolEscrowPda)(bondingCurve, programId);
229
- const sellerAta = (0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, seller);
230
- const holderRewardAccount = (0, pda_js_1.getHolderRewardPda)(tokenMint, seller, programId);
231
- const sellMaxIx = new web3_js_1.TransactionInstruction({
233
+ const bondingCurve = getBondingCurvePda(tokenMint, programId);
234
+ const bondingAuthority = getBondingAuthorityPda(bondingCurve, programId);
235
+ const solEscrow = getSolEscrowPda(bondingCurve, programId);
236
+ const sellerAta = getAssociatedTokenAddressSync(tokenMint, seller);
237
+ const holderRewardAccount = getHolderRewardPda(tokenMint, seller, programId);
238
+ const sellMaxIx = new TransactionInstruction({
232
239
  programId,
233
240
  keys: [
234
241
  { pubkey: bondingCurve, isWritable: true, isSigner: false },
@@ -241,13 +248,54 @@ async function buildSellMaxOnCurveInstruction(connection, params, programId) {
241
248
  // Fee recipients - read from on-chain state, cannot be modified
242
249
  { pubkey: state.adminFeeRecipient, isWritable: true, isSigner: false },
243
250
  { pubkey: state.creatorFeeRecipient, isWritable: true, isSigner: false },
244
- { pubkey: spl_token_1.TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
245
- { pubkey: web3_js_1.SystemProgram.programId, isWritable: false, isSigner: false },
251
+ { pubkey: TOKEN_PROGRAM_ID, isWritable: false, isSigner: false },
252
+ { pubkey: SystemProgram.programId, isWritable: false, isSigner: false },
246
253
  // Holder reward account in remaining_accounts for auto-payout
247
254
  { pubkey: holderRewardAccount, isWritable: true, isSigner: false },
248
255
  ],
249
- data: constants_js_1.DISCRIMINATORS.sell_max_on_curve,
256
+ data: DISCRIMINATORS.sell_max_on_curve,
250
257
  });
251
258
  return [sellMaxIx];
252
259
  }
260
+ // ============= Migration Helpers =============
261
+ /**
262
+ * Migration thresholds by variant (in lamports)
263
+ * Variant 0: 90 SOL
264
+ * Variant 1: 120 SOL
265
+ */
266
+ export const MIGRATION_THRESHOLDS = {
267
+ 0: 90000000000n, // 90 SOL
268
+ 1: 120000000000n, // 120 SOL
269
+ };
270
+ /**
271
+ * Check if a buy will trigger migration threshold
272
+ *
273
+ * @param connection - Solana RPC connection
274
+ * @param tokenMint - Token mint address
275
+ * @param lamportsIn - Amount of SOL (lamports) being spent
276
+ * @param programId - CoinBarrel program ID
277
+ * @returns true if this buy will push the escrow past migration threshold
278
+ */
279
+ export async function willTriggerMigration(connection, tokenMint, lamportsIn, programId) {
280
+ const state = await getBondingCurveState(connection, tokenMint, programId);
281
+ if (!state)
282
+ return false;
283
+ const bondingCurve = getBondingCurvePda(tokenMint, programId);
284
+ const solEscrow = getSolEscrowPda(bondingCurve, programId);
285
+ // Get current escrow balance
286
+ const escrowInfo = await connection.getAccountInfo(solEscrow);
287
+ const currentEscrow = BigInt(escrowInfo ? escrowInfo.lamports : 0);
288
+ // Calculate approximate net SOL that will be added to escrow
289
+ // Net = lamportsIn * (1 - feeBps/10000)
290
+ const feeBps = BigInt(state.feeBps);
291
+ const approxNetToEscrow = (lamportsIn * (10000n - feeBps)) / 10000n;
292
+ const postBuyEscrow = currentEscrow + approxNetToEscrow;
293
+ // Get threshold for this variant
294
+ const threshold = MIGRATION_THRESHOLDS[state.variant] ?? MIGRATION_THRESHOLDS[0];
295
+ return postBuyEscrow >= threshold;
296
+ }
297
+ /**
298
+ * @deprecated Use buildBuyOnCurveInstruction instead - it now always includes migration accounts
299
+ */
300
+ export const buildBuyOnCurveWithMigrationInstruction = buildBuyOnCurveInstruction;
253
301
  //# sourceMappingURL=curve.js.map
package/dist/curve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -34,7 +34,9 @@ export * from './constants.js';
34
34
  export * from './types.js';
35
35
  export * from './pda.js';
36
36
  export { getBondingCurveState, getPoolState, getMarketInfo, getUserTokenBalance, } from './accounts.js';
37
- export { getBuyQuote, getSellQuote } from './curve.js';
37
+ export { getBuyQuote, getSellQuote, willTriggerMigration, MIGRATION_THRESHOLDS, buildBuyOnCurveInstruction, buildBuyOnCurveWithMigrationInstruction, } from './curve.js';
38
+ export { getMigrationPDAs } from './pda.js';
39
+ export type { MigrationPDAs } from './pda.js';
38
40
  export { getSwapSolToTokenQuote, getSwapTokenToSolQuote } from './pool.js';
39
41
  export { getTokenMetadata, getTokenMetadataJson, batchGetTokenMetadata, getMetadataPda, parseMetaplexMetadata, type TokenMetadata, type TokenMetadataJson, } from './metadata.js';
40
42
  export { buildCreateBarrelTokenInstruction } from './create.js';
@@ -75,7 +77,8 @@ export declare class CoinBarrel {
75
77
  */
76
78
  getUserBalance(tokenMint: PublicKey, user: PublicKey): Promise<bigint>;
77
79
  /**
78
- * Check if a token is on bonding curve (not yet graduated)
80
+ * Check if a token is on bonding curve (not yet graduated to pool)
81
+ * Returns true if curve exists AND pool does not exist
79
82
  */
80
83
  isOnCurve(tokenMint: PublicKey): Promise<boolean>;
81
84
  /**
@@ -182,10 +185,12 @@ declare class CurveModule {
182
185
  */
183
186
  getSellQuote(tokenMint: PublicKey, tokenAmount: bigint): Promise<SellQuote | null>;
184
187
  /**
185
- * Build buy instruction
188
+ * Build buy instruction with migration accounts
186
189
  *
187
- * @remarks Fee recipients are read from on-chain and cannot be modified.
188
- * The program enforces fees go to the correct recipients.
190
+ * @remarks
191
+ * - Always includes migration accounts - if threshold is reached, pool is created atomically
192
+ * - Requires ~600K compute units when migration triggers
193
+ * - Fee recipients are read from on-chain and cannot be modified
189
194
  */
190
195
  buildBuyInstruction(params: BuyOnCurveParams): Promise<TransactionInstruction[]>;
191
196
  /**
@@ -196,6 +201,18 @@ declare class CurveModule {
196
201
  * Build sell max instruction (sell entire balance)
197
202
  */
198
203
  buildSellMaxInstruction(params: SellMaxOnCurveParams): Promise<TransactionInstruction[]>;
204
+ /**
205
+ * Check if a buy will trigger the migration threshold
206
+ *
207
+ * @param tokenMint Token to buy
208
+ * @param lamportsIn SOL amount in lamports
209
+ * @returns true if this buy will trigger migration
210
+ */
211
+ willTriggerMigration(tokenMint: PublicKey, lamportsIn: bigint): Promise<boolean>;
212
+ /**
213
+ * @deprecated Use buildBuyInstruction instead - it now always includes migration accounts
214
+ */
215
+ buildBuyWithMigrationInstruction(params: BuyOnCurveParams): Promise<TransactionInstruction[]>;
199
216
  }
200
217
  /**
201
218
  * AMM Pool Operations
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}