forgex-cli 1.0.15 → 1.0.17

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.
@@ -9,7 +9,7 @@ import { Connection, PublicKey, Transaction } from '@solana/web3.js';
9
9
  * @param amount 购买数量
10
10
  * @param maxSolCost 最大sol成本
11
11
  */
12
- export declare function buyInstructions(provider: Provider, buyer: PublicKey, mint: PublicKey, feeRecipient: PublicKey, amount: bigint, maxSolCost: bigint, creator: PublicKey): Promise<Transaction>;
12
+ export declare function buyInstructions(provider: Provider, buyer: PublicKey, mint: PublicKey, feeRecipient: PublicKey, amount: bigint, maxSolCost: bigint, creator: PublicKey, jitoTip?: number): Promise<Transaction>;
13
13
  /**
14
14
  * 购买SPL代币
15
15
  * @param connection
@@ -21,7 +21,7 @@ export declare function buyInstructions(provider: Provider, buyer: PublicKey, mi
21
21
  * @param caPrice CA价格
22
22
  * @returns
23
23
  */
24
- export declare const buySPLInstructions: (provider: Provider, payer: PublicKey, caAddr: string, buyAmount: string, // 小数
24
+ export declare const buySPLInstructions: (provider: Provider, payer: PublicKey, caAddr: string, buyAmount: string, // 小数 → lamports
25
25
  slippageDecimal: number, caPrice: string, creator: PublicKey, tokenAmount?: string, reserveInfo?: {
26
26
  virtual_sol_reserves?: bigint | number;
27
27
  virtual_token_reserves?: bigint | number;
@@ -1 +1 @@
1
- {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/buy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAoB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAwBhG;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA+CtB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,QAAQ,EAClB,OAAO,SAAS,EAChB,QAAQ,MAAM,EACd,WAAW,MAAM,EAAE,KAAK;AACxB,iBAAiB,MAAM,EACvB,SAAS,MAAM,EACf,SAAS,SAAS,EAClB,cAAc,MAAM,EACpB,cAAc;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAC/K,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CA8B/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,QAAQ,EAClB,OAAO,SAAS,EAChB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,YAAY,MAAM,EAClB,SAAS,SAAS,EAClB,OAAO,WAAW,KACjB,OAAO,CAAC,WAAW,CAcrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,YAAY,UAAU,EACtB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,iBAAiB,MAAM,sBAuCxB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,YAAY,UAAU,EAAE,OAAO,MAAM,oBAUtE,CAAC"}
1
+ {"version":3,"file":"buy.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/buy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAW,SAAS,EAAoB,WAAW,EAAuC,MAAM,iBAAiB,CAAC;AAmCrI;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,SAAS,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,WAAW,CAAC,CAyDtB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,QAAQ,EAClB,OAAO,SAAS,EAChB,QAAQ,MAAM,EACd,WAAW,MAAM,EAAE,gBAAgB;AACnC,iBAAiB,MAAM,EACvB,SAAS,MAAM,EACf,SAAS,SAAS,EAClB,cAAc,MAAM,EACpB,cAAc;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAC/K,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAiC/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,QAAQ,EAClB,OAAO,SAAS,EAChB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,YAAY,MAAM,EAClB,SAAS,SAAS,EAClB,OAAO,WAAW,KACjB,OAAO,CAAC,WAAW,CAcrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,YAAY,UAAU,EACtB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,iBAAiB,MAAM,sBAuCxB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,YAAY,UAAU,EAAE,OAAO,MAAM,oBAUtE,CAAC"}
@@ -1,6 +1,16 @@
1
1
  import { Program } from '@coral-xyz/anchor';
2
- import { PublicKey, LAMPORTS_PER_SOL, Transaction } from '@solana/web3.js';
2
+ import { PublicKey, LAMPORTS_PER_SOL, Transaction, ComputeBudgetProgram, SystemProgram } from '@solana/web3.js';
3
3
  import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddress, TOKEN_2022_PROGRAM_ID, } from '@solana/spl-token';
4
+ // Jito tip instruction
5
+ const tipInstruction = (payer, jitoTipLamports) => {
6
+ // In real code you'd get random tip account from jito
7
+ const jitoTipAccount = new PublicKey("DCzpLmT9oPDcr1pGoZNEQn8cy5WkiVNPfx6f1xzsT9ZQ");
8
+ return SystemProgram.transfer({
9
+ fromPubkey: payer,
10
+ toPubkey: jitoTipAccount,
11
+ lamports: jitoTipLamports,
12
+ });
13
+ };
4
14
  import { PUMP_FEE_RECEIPENT, PUMP_FUN_GLOBAL_ACCOUNT } from '../../../const/index.js';
5
15
  import { IDL } from '../../../const/IDL/pump-fun.js';
6
16
  import { getBondingCurvePDA, getPumpCurveState, getCreatorVaultPDA, getGlobalVolumeAccmulatorPDA, getUserVolumeAccumulatorPDA, } from '../index.js';
@@ -15,7 +25,8 @@ import BigNumber from 'bignumber.js';
15
25
  * @param amount 购买数量
16
26
  * @param maxSolCost 最大sol成本
17
27
  */
18
- export async function buyInstructions(provider, buyer, mint, feeRecipient, amount, maxSolCost, creator) {
28
+ export async function buyInstructions(provider, buyer, mint, feeRecipient, amount, maxSolCost, creator, jitoTip = 100000 // 0.0001 SOL = 100000 lamports
29
+ ) {
19
30
  let associatedBondingCurve;
20
31
  let associatedUser;
21
32
  [associatedBondingCurve, associatedUser] = await Promise.all([
@@ -25,6 +36,12 @@ export async function buyInstructions(provider, buyer, mint, feeRecipient, amoun
25
36
  const globalVolumeAccumulator = getGlobalVolumeAccmulatorPDA();
26
37
  const userVolumeAccumulator = getUserVolumeAccumulatorPDA(buyer);
27
38
  let transaction = new Transaction();
39
+ // Add compute budget limit
40
+ transaction.add(ComputeBudgetProgram.setComputeUnitLimit({
41
+ units: 500000,
42
+ }));
43
+ // Add Jito tip
44
+ transaction.add(tipInstruction(buyer, jitoTip));
28
45
  transaction.add(createAssociatedTokenAccountIdempotentInstruction(buyer, associatedUser, buyer, mint, TOKEN_2022_PROGRAM_ID));
29
46
  let program = new Program(IDL, provider);
30
47
  const BondingCurve = getBondingCurvePDA(mint);
@@ -61,9 +78,11 @@ export async function buyInstructions(provider, buyer, mint, feeRecipient, amoun
61
78
  * @param caPrice CA价格
62
79
  * @returns
63
80
  */
64
- export const buySPLInstructions = async (provider, payer, caAddr, buyAmount, // 小数
81
+ export const buySPLInstructions = async (provider, payer, caAddr, buyAmount, // 小数 → lamports
65
82
  slippageDecimal, caPrice, creator, tokenAmount, reserveInfo) => {
66
83
  let receiveAmount;
84
+ const mint = new PublicKey(caAddr);
85
+ const bondingCurve = getBondingCurvePDA(mint);
67
86
  if (tokenAmount) {
68
87
  receiveAmount = tokenAmount;
69
88
  }
@@ -82,7 +101,7 @@ slippageDecimal, caPrice, creator, tokenAmount, reserveInfo) => {
82
101
  }
83
102
  const solInWithSlippage = Number(buyAmount) * (1 + slippageDecimal);
84
103
  const maxSolCost = new BigNumber(solInWithSlippage).toFixed(0);
85
- const buyTx = await buyInstructions(provider, payer, new PublicKey(caAddr), PUMP_FEE_RECEIPENT, BigInt(receiveAmount), BigInt(maxSolCost), creator);
104
+ const buyTx = await buyInstructions(provider, payer, mint, PUMP_FEE_RECEIPENT, BigInt(receiveAmount), BigInt(maxSolCost), creator);
86
105
  return [receiveAmount, buyTx];
87
106
  };
88
107
  export const buySPLFromAmountInstructions = async (provider, payer, caAddr, receiveAmount, maxSolCost, creator, redis) => {
@@ -133,7 +152,9 @@ export const calcCAPrice = async (connection, token) => {
133
152
  return solPrice;
134
153
  };
135
154
  async function getPumpTokenInfo(connection, token) {
136
- const data = await getPumpCurveState(connection, token);
155
+ const mint = new PublicKey(token);
156
+ const bondingCurve = getBondingCurvePDA(mint);
157
+ const data = await getPumpCurveState(connection, bondingCurve.toBase58());
137
158
  return {
138
159
  virtual_sol_reserves: Number(data.virtual_sol_reserves),
139
160
  virtual_token_reserves: Number(data.virtual_token_reserves),
@@ -1 +1 @@
1
- {"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/buy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAuB,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EACL,iDAAiD,EACjD,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAoB,MAAM,gBAAgB,CAAC;AAG/F,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAkB,EAClB,KAAgB,EAChB,IAAe,EACf,YAAuB,EACvB,MAAc,EACd,UAAkB,EAClB,OAAkB;IAElB,IAAI,sBAAiC,CAAC;IACtC,IAAI,cAAyB,CAAC;IAC9B,CAAC,sBAAsB,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3D,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACtF,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC;KACrE,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,4BAA4B,EAAE,CAAC;IAE/D,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEpC,WAAW,CAAC,GAAG,CACb,iDAAiD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAC7G,CAAC;IACF,IAAI,OAAO,GAAG,IAAI,OAAO,CAAU,GAAc,EAAE,QAAQ,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAEhC,WAAW,CAAC,GAAG,CACb,MAAM,OAAO,CAAC,OAAO;SAClB,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC;SAC1E,QAAQ,CAAC;QACR,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,YAAY;QAC1B,sBAAsB,EAAE,sBAAsB;QAC9C,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE,KAAK;QACX,YAAY;QACZ,uBAAuB;QACvB,qBAAqB;QACrB,YAAY,EAAE,qBAAqB;KAC7B,CAAC;SACR,WAAW,EAAE,CACjB,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,QAAkB,EAClB,KAAgB,EAChB,MAAc,EACd,SAAiB,EAAE,KAAK;AACxB,eAAuB,EACvB,OAAe,EACf,OAAkB,EAClB,WAAoB,EACpB,WAAgL,EAChJ,EAAE;IAClC,IAAI,aAAqB,CAAC;IAC1B,IAAI,WAAW,EAAE,CAAC;QAChB,aAAa,GAAG,WAAW,CAAC;IAC9B,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,sGAAsG;QACtG,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAG,WAAW;QACtG,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB;QACnH,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;QAC5E,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,aAAa,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,QAAQ,EACR,KAAK,EACL,IAAI,SAAS,CAAC,MAAM,CAAC,EACrB,kBAAkB,EAClB,MAAM,CAAC,aAAa,CAAC,EACrB,MAAM,CAAC,UAAU,CAAC,EAClB,OAAO,CACR,CAAC;IAEF,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,QAAkB,EAClB,KAAgB,EAChB,MAAc,EACd,aAAqB,EACrB,UAAkB,EAClB,OAAkB,EAClB,KAAkB,EACI,EAAE;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;IAEtD,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,QAAQ,EACR,KAAK,EACL,IAAI,SAAS,CAAC,MAAM,CAAC,EACrB,kBAAkB,EAClB,MAAM,CAAC,aAAa,CAAC,EACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAClC,OAAO,CACR,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,UAAsB,EACtB,KAAa,EACb,MAAc,EACd,eAAuB,EACvB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE3D,UAAU;QACV,MAAM,QAAQ,GAAG,IAAI,SAAS,CAC5B,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CACnE;aACE,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAClE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhB,QAAQ;QACR,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;aACnD,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;aACrD,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhB,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;aAC3D,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACnD,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhF,eAAe;QACf,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC;aACjE,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;aACjC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhB,sBAAsB;QACtB,0GAA0G;QAC1G,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAE1C,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,UAAsB,EAAE,KAAa,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;SAC/F,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAClE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,KAAK,UAAU,gBAAgB,CAAC,UAAsB,EAAE,KAAa;IACnE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO;QACL,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACvD,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC3D,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACjD,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACrD,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"buy.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/buy.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ import { Keypair, PublicKey, Transaction } from '@solana/web3.js';
3
3
  export declare const sellSPLInstructions: (provider: Provider, payer: Keypair, caAddr: string, // 要卖的合约地址
4
4
  sellAmount: string, // 要卖的数量 单位6个0
5
5
  maxSlippage: number, minSolOutput: string, creator: PublicKey) => Promise<Transaction>;
6
- export declare function sellInstructions(provider: Provider, seller: Keypair, mint: PublicKey, feeRecipient: PublicKey, amount: bigint, minSolOutput: string, maxSlippage: number, creator: PublicKey): Promise<Transaction>;
6
+ export declare function sellInstructions(provider: Provider, seller: Keypair, mint: PublicKey, feeRecipient: PublicKey, amount: bigint, minSolOutput: string, maxSlippage: number, creator: PublicKey, jitoTip?: number): Promise<Transaction>;
7
7
  //# sourceMappingURL=sell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sell.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/sell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAc,OAAO,EAAE,SAAS,EAAoB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAoBhG,eAAO,MAAM,mBAAmB,GAC9B,UAAU,QAAQ,EAClB,OAAO,OAAO,EACd,QAAQ,MAAM,EAAE,UAAU;AAC1B,YAAY,MAAM,EAAE,cAAc;AAClC,aAAa,MAAa,EAC1B,cAAc,MAAM,EACpB,SAAS,SAAS,KACjB,OAAO,CAAC,WAAW,CAarB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,WAAW,CAAC,CA6BtB"}
1
+ {"version":3,"file":"sell.d.ts","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/sell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAc,OAAO,EAAE,SAAS,EAAoB,WAAW,EAAuC,MAAM,iBAAiB,CAAC;AAiCrI,eAAO,MAAM,mBAAmB,GAC9B,UAAU,QAAQ,EAClB,OAAO,OAAO,EACd,QAAQ,MAAM,EAAE,UAAU;AAC1B,YAAY,MAAM,EAAE,cAAc;AAClC,aAAa,MAAa,EAC1B,cAAc,MAAM,EACpB,SAAS,SAAS,KACjB,OAAO,CAAC,WAAW,CAarB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,WAAW,CAAC,CAuDtB"}
@@ -1,24 +1,41 @@
1
1
  import { Program } from '@coral-xyz/anchor';
2
- import { PublicKey, Transaction } from '@solana/web3.js';
3
- import { getAssociatedTokenAddress, TOKEN_2022_PROGRAM_ID, } from '@solana/spl-token';
2
+ import { PublicKey, LAMPORTS_PER_SOL, Transaction, SystemProgram, ComputeBudgetProgram } from '@solana/web3.js';
3
+ import { getAssociatedTokenAddress, createCloseAccountInstruction, TOKEN_2022_PROGRAM_ID, } from '@solana/spl-token';
4
4
  import { PUMP_FEE_RECEIPENT } from '../../../const/index.js';
5
5
  import { IDL } from '../../../const/IDL/pump-fun.js';
6
6
  import { getBondingCurvePDA, getCreatorVaultPDA } from '../index.js';
7
7
  import { BN } from 'bn.js';
8
8
  import BigNumber from 'bignumber.js';
9
+ // Jito tip instruction copied from buy
10
+ const tipInstruction = (payer, jitoTipLamports) => {
11
+ // In real code you'd get random tip account from jito
12
+ // For now we keep it simple, you can extend later
13
+ const jitoTipAccount = new PublicKey("DCzpLmT9oPDcr1pGoZNEQn8cy5WkiVNPfx6f1xzsT9ZQ");
14
+ return SystemProgram.transfer({
15
+ fromPubkey: payer.publicKey,
16
+ toPubkey: jitoTipAccount,
17
+ lamports: jitoTipLamports * LAMPORTS_PER_SOL,
18
+ });
19
+ };
9
20
  export const sellSPLInstructions = async (provider, payer, caAddr, // 要卖的合约地址
10
21
  sellAmount, // 要卖的数量 单位6个0
11
22
  maxSlippage = 0.01, minSolOutput, creator) => {
12
23
  const sellTx = await sellInstructions(provider, payer, new PublicKey(caAddr), PUMP_FEE_RECEIPENT, BigInt(new BigNumber(sellAmount).toFixed(0)), minSolOutput, maxSlippage, creator);
13
24
  return sellTx;
14
25
  };
15
- export async function sellInstructions(provider, seller, mint, feeRecipient, amount, minSolOutput, maxSlippage, creator) {
26
+ export async function sellInstructions(provider, seller, mint, feeRecipient, amount, minSolOutput, maxSlippage, creator, jitoTip = 0.0001) {
16
27
  const [associatedBondingCurve, associatedUser] = await Promise.all([
17
28
  getAssociatedTokenAddress(mint, getBondingCurvePDA(mint), true, TOKEN_2022_PROGRAM_ID),
18
29
  getAssociatedTokenAddress(mint, seller.publicKey, false, TOKEN_2022_PROGRAM_ID),
19
30
  ]);
20
31
  const creatorVault = creator ? getCreatorVaultPDA(creator) : undefined;
32
+ const connection = provider.connection;
33
+ const balance = await connection.getTokenAccountBalance(associatedUser);
21
34
  let transaction = new Transaction();
35
+ // Add compute budget limit
36
+ transaction.add(ComputeBudgetProgram.setComputeUnitLimit({
37
+ units: 500000,
38
+ }));
22
39
  const minSolOutputWithSlippage = new BigNumber(minSolOutput).times(1 - maxSlippage).toFixed(0);
23
40
  let program = new Program(IDL, provider);
24
41
  transaction.add(await program.methods
@@ -34,6 +51,12 @@ export async function sellInstructions(provider, seller, mint, feeRecipient, amo
34
51
  tokenProgram: TOKEN_2022_PROGRAM_ID,
35
52
  })
36
53
  .instruction());
54
+ // Add Jito tip
55
+ transaction.add(tipInstruction(seller, jitoTip));
56
+ // Close ATA if selling all tokens
57
+ if (balance.value && BigInt(balance.value.amount) === amount) {
58
+ transaction.add(createCloseAccountInstruction(associatedUser, seller.publicKey, seller.publicKey, [], TOKEN_2022_PROGRAM_ID));
59
+ }
37
60
  return transaction;
38
61
  }
39
62
  //# sourceMappingURL=sell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/sell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAuB,SAAS,EAAoB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAGL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAoB,MAAM,gBAAgB,CAAC;AAGtE,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAkB,EAClB,KAAc,EACd,MAAc,EAAE,UAAU;AAC1B,UAAkB,EAAE,cAAc;AAClC,cAAsB,IAAI,EAC1B,YAAoB,EACpB,OAAkB,EACI,EAAE;IACxB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,QAAQ,EACR,KAAK,EACL,IAAI,SAAS,CAAC,MAAM,CAAC,EACrB,kBAAkB,EAClB,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5C,YAAY,EACZ,WAAW,EACX,OAAO,CACR,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAkB,EAClB,MAAe,EACf,IAAe,EACf,YAAuB,EACvB,MAAc,EACd,YAAoB,EACpB,WAAmB,EACnB,OAAkB;IAElB,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACtF,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,qBAAqB,CAAC;KAChF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACpC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/F,IAAI,OAAO,GAAG,IAAI,OAAO,CAAU,GAAc,EAAE,QAAQ,CAAC,CAAC;IAC7D,WAAW,CAAC,GAAG,CACb,MAAM,OAAO,CAAC,OAAO;SAClB,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;SACjE,QAAQ,CAAC;QACR,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,IAAI;QACV,aAAa;QACb,sBAAsB,EAAE,sBAAsB;QAC9C,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE,MAAM,CAAC,SAAS;QACtB,YAAY;QACZ,YAAY,EAAE,qBAAqB;KACpC,CAAC;SACD,WAAW,EAAE,CACjB,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"sell.js","sourceRoot":"","sources":["../../../../../src/sol-sdk/pump/instructions/sell.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgex-cli",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "description": "ForgeX CLI - Solana on-chain market making system command-line tool",
5
5
  "type": "module",
6
6
  "author": "cat",