forgex-cli 1.0.58 → 1.0.61
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 +375 -368
- package/dist/bin/forgex.d.ts +5 -5
- package/dist/bin/forgex.js +14 -14
- package/dist/bin/forgex.js.map +1 -1
- package/dist/src/adapters/codex-adapter.d.ts +90 -90
- package/dist/src/adapters/codex-adapter.d.ts.map +1 -1
- package/dist/src/adapters/codex-adapter.js +76 -76
- package/dist/src/adapters/codex-adapter.js.map +1 -1
- package/dist/src/adapters/connection.d.ts +6 -6
- package/dist/src/adapters/connection.js +8 -8
- package/dist/src/adapters/connection.js.map +1 -1
- package/dist/src/adapters/ipfs.d.ts +3 -3
- package/dist/src/adapters/ipfs.js +3 -3
- package/dist/src/adapters/jito-adapter.d.ts +85 -85
- package/dist/src/adapters/jito-adapter.d.ts.map +1 -1
- package/dist/src/adapters/jito-adapter.js +111 -111
- package/dist/src/adapters/jito-adapter.js.map +1 -1
- package/dist/src/adapters/rpc-adapter.d.ts +53 -53
- package/dist/src/adapters/rpc-adapter.d.ts.map +1 -1
- package/dist/src/adapters/rpc-adapter.js +69 -69
- package/dist/src/adapters/rpc-adapter.js.map +1 -1
- package/dist/src/adapters/sdk-adapter.d.ts +21 -21
- package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
- package/dist/src/adapters/sdk-adapter.js +79 -79
- package/dist/src/adapters/sdk-adapter.js.map +1 -1
- package/dist/src/commands/config/index.d.ts +1 -1
- package/dist/src/commands/config/index.js +15 -15
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/query/index.d.ts +2 -2
- package/dist/src/commands/query/index.js +82 -82
- package/dist/src/commands/query/index.js.map +1 -1
- package/dist/src/commands/token/index.d.ts +8 -8
- package/dist/src/commands/token/index.js +73 -73
- package/dist/src/commands/token/index.js.map +1 -1
- package/dist/src/commands/tools/index.d.ts +9 -9
- package/dist/src/commands/tools/index.js +137 -137
- package/dist/src/commands/tools/index.js.map +1 -1
- package/dist/src/commands/trade/index.d.ts +2 -2
- package/dist/src/commands/trade/index.js +82 -82
- package/dist/src/commands/trade/index.js.map +1 -1
- package/dist/src/commands/transfer/index.d.ts +8 -8
- package/dist/src/commands/transfer/index.js +106 -106
- package/dist/src/commands/transfer/index.js.map +1 -1
- package/dist/src/commands/wallet/index.d.ts +1 -1
- package/dist/src/commands/wallet/index.js +175 -175
- package/dist/src/commands/wallet/index.js.map +1 -1
- package/dist/src/config.d.ts +26 -26
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +28 -28
- package/dist/src/config.js.map +1 -1
- package/dist/src/const/index.js +1 -1
- package/dist/src/const/index.js.map +1 -1
- package/dist/src/data-source.d.ts +81 -81
- package/dist/src/data-source.d.ts.map +1 -1
- package/dist/src/data-source.js +149 -149
- package/dist/src/data-source.js.map +1 -1
- package/dist/src/data-store/index.d.ts +22 -22
- package/dist/src/data-store/index.d.ts.map +1 -1
- package/dist/src/data-store/index.js +46 -46
- package/dist/src/data-store/index.js.map +1 -1
- package/dist/src/data-store/types.d.ts +3 -3
- package/dist/src/data-store/types.js +3 -3
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +10 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/output.d.ts +18 -18
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +34 -34
- package/dist/src/output.js.map +1 -1
- package/dist/src/shims/store.d.ts +3 -2
- package/dist/src/shims/store.d.ts.map +1 -1
- package/dist/src/shims/store.js +6 -5
- package/dist/src/shims/store.js.map +1 -1
- package/dist/src/sol-sdk/batch/create.d.ts +4 -1
- package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
- package/dist/src/sol-sdk/batch/create.js +44 -44
- package/dist/src/sol-sdk/batch/create.js.map +1 -1
- package/dist/src/sol-sdk/batch/index.js +135 -135
- package/dist/src/sol-sdk/batch/index.js.map +1 -1
- package/dist/src/sol-sdk/calc.d.ts +63 -63
- package/dist/src/sol-sdk/calc.d.ts.map +1 -1
- package/dist/src/sol-sdk/calc.js +120 -120
- package/dist/src/sol-sdk/calc.js.map +1 -1
- package/dist/src/sol-sdk/jito/index.js +12 -12
- package/dist/src/sol-sdk/jito/index.js.map +1 -1
- package/dist/src/sol-sdk/launchlab/instructions/create.js +10 -10
- package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -1
- package/dist/src/sol-sdk/meteora/index.d.ts +5 -5
- package/dist/src/sol-sdk/meteora/index.js +11 -11
- package/dist/src/sol-sdk/meteora/index.js.map +1 -1
- package/dist/src/sol-sdk/meteora/instructions/buy.js +8 -8
- package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/meteora/instructions/sell.js +6 -6
- package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pump/index.js +3 -3
- package/dist/src/sol-sdk/pump/index.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts +12 -12
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/buy.js +26 -26
- package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +13 -13
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +17 -17
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts +2 -2
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/sell.js +7 -7
- package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/index.d.ts +4 -4
- package/dist/src/sol-sdk/pumpswap/index.js +5 -5
- package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +8 -8
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js +19 -19
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +2 -2
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js +4 -4
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/rpc/index.js +1 -1
- package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +3 -3
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +40 -8520
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/sell.js +6 -6
- package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/raydium/rpc/index.d.ts +4 -4
- package/dist/src/sol-sdk/rpc/index.d.ts +14 -14
- package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -1
- package/dist/src/sol-sdk/rpc/index.js +17 -17
- package/dist/src/sol-sdk/rpc/index.js.map +1 -1
- package/dist/src/sol-sdk/transfer/index.js +5 -5
- package/dist/src/sol-sdk/transfer/index.js.map +1 -1
- package/dist/src/sol-sdk/turnover/index.d.ts +3 -3
- package/dist/src/sol-sdk/turnover/index.js +56 -56
- package/dist/src/sol-sdk/turnover/index.js.map +1 -1
- package/dist/src/telemetry.d.ts +8 -8
- package/dist/src/telemetry.d.ts.map +1 -1
- package/dist/src/telemetry.js +28 -27
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/tx-tracker/detail-adapter.d.ts +53 -53
- package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -1
- package/dist/src/tx-tracker/detail-adapter.js +68 -68
- package/dist/src/tx-tracker/detail-adapter.js.map +1 -1
- package/dist/src/tx-tracker/index.d.ts +67 -67
- package/dist/src/tx-tracker/index.d.ts.map +1 -1
- package/dist/src/tx-tracker/index.js +103 -103
- package/dist/src/tx-tracker/index.js.map +1 -1
- package/dist/src/types/index.d.ts +10 -10
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/websocket.js +1 -1
- package/dist/src/types/websocket.js.map +1 -1
- package/dist/src/utils/index.js +20 -20
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/wallet-store.d.ts +51 -51
- package/dist/src/wallet-store.d.ts.map +1 -1
- package/dist/src/wallet-store.js +104 -104
- package/dist/src/wallet-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ForgeX CLI SDK
|
|
2
|
+
* ForgeX CLI SDK Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Bridges CLI with frontend sol-sdk, providing a complete transaction execution pipeline.
|
|
5
|
+
* Redirects @/store to CLI shim via tsconfig paths.
|
|
6
6
|
*/
|
|
7
7
|
import { Keypair, PublicKey, LAMPORTS_PER_SOL, Transaction } from '@solana/web3.js';
|
|
8
8
|
import bs58 from 'bs58';
|
|
@@ -13,7 +13,7 @@ import { loadConfig } from '../config.js';
|
|
|
13
13
|
import { getDataSource } from '../data-source.js';
|
|
14
14
|
import { getDecryptedPrivateKey } from '../wallet-store.js';
|
|
15
15
|
// ============================================================
|
|
16
|
-
//
|
|
16
|
+
// Import local SDK modules (sol-sdk copied to cli/src/sol-sdk/)
|
|
17
17
|
// @/store → cli/src/shims/store.ts
|
|
18
18
|
// ============================================================
|
|
19
19
|
import { batchTrade, pumpBatchTrade, launchlabBatchTrade } from '../sol-sdk/batch/index.js';
|
|
@@ -26,7 +26,7 @@ import { getLaunchlabReverseInfo } from '../sol-sdk/launchlab/index.js';
|
|
|
26
26
|
import { getDLMMPoolInfo } from '../sol-sdk/meteora/index.js';
|
|
27
27
|
import { getCU, getNativeBalance, getTokenAccountBalance } from '../sol-sdk/rpc/index.js';
|
|
28
28
|
import { getJitoAdapter } from '../adapters/jito-adapter.js';
|
|
29
|
-
//
|
|
29
|
+
// Local VolumeType definition (avoids cross-project enum import issues)
|
|
30
30
|
const VolumeType = {
|
|
31
31
|
ONE_BUY_ONE_SELL: 'one_buy_one_sell',
|
|
32
32
|
ONE_BUY_TWO_SELL: 'one_buy_two_sell',
|
|
@@ -35,12 +35,12 @@ const VolumeType = {
|
|
|
35
35
|
THREE_BUY_ONE_SELL: 'three_buy_one_sell',
|
|
36
36
|
};
|
|
37
37
|
// ============================================================
|
|
38
|
-
//
|
|
38
|
+
// Trade Context Fetching
|
|
39
39
|
// ============================================================
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Fetch trade context (token info, pool data, DEX info, depth data)
|
|
42
42
|
*
|
|
43
|
-
*
|
|
43
|
+
* Data source: DataSource -> CodexAdapter (3.0h migration)
|
|
44
44
|
*/
|
|
45
45
|
export async function fetchTradeContext(tokenCA) {
|
|
46
46
|
const config = loadConfig();
|
|
@@ -59,22 +59,22 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
59
59
|
let raydiumCpmmKeys;
|
|
60
60
|
let priceInSol = '0';
|
|
61
61
|
let priceUsd = 0;
|
|
62
|
-
// ──
|
|
63
|
-
//
|
|
62
|
+
// ── Path A: First try to read Pump.fun data directly from on-chain BondingCurve ──
|
|
63
|
+
// Zero dependency on Codex API, zero latency
|
|
64
64
|
try {
|
|
65
65
|
const bondingCurvePDA = getBondingCurvePDA(new PublicKey(tokenCA));
|
|
66
|
-
//
|
|
66
|
+
// Note: Pass bondingCurvePDA address, not mint address
|
|
67
67
|
const curveState = await getPumpCurveState(connection, bondingCurvePDA.toBase58());
|
|
68
68
|
if (curveState && !curveState.complete) {
|
|
69
|
-
// bonding curve
|
|
69
|
+
// Use Pump.fun protocol when bonding curve is not complete
|
|
70
70
|
exchangeName = 'Pump';
|
|
71
71
|
poolId = bondingCurvePDA.toBase58();
|
|
72
|
-
decimals = 6; // Pump.fun
|
|
73
|
-
// Anchor fetch
|
|
72
|
+
decimals = 6; // Pump.fun fixed 6 decimals
|
|
73
|
+
// Anchor fetch returns camelCase fields
|
|
74
74
|
const creator = curveState.creator ?? curveState.creator;
|
|
75
75
|
creatorAddress = creator ? (creator.toBase58?.() ?? String(creator)) : '';
|
|
76
76
|
pumpfunReverseInfo = curveState;
|
|
77
|
-
//
|
|
77
|
+
// Compatible with camelCase (Anchor fetch) and snake_case (raw byte parsing)
|
|
78
78
|
const vSol = Number(curveState.virtualSolReserves ?? curveState.virtual_sol_reserves);
|
|
79
79
|
const vToken = Number(curveState.virtualTokenReserves ?? curveState.virtual_token_reserves);
|
|
80
80
|
priceInSol = new BigNumber(vSol).div(1e9)
|
|
@@ -86,11 +86,11 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
86
86
|
tokenA: tokenCA,
|
|
87
87
|
tokenB: NATIVE_MINT.toBase58(),
|
|
88
88
|
};
|
|
89
|
-
// priceUsd
|
|
89
|
+
// priceUsd fetched asynchronously, does not block transaction
|
|
90
90
|
ds.getTokenPrice(tokenCA).then((p) => { priceUsd = p.priceUsd; }).catch(() => { });
|
|
91
91
|
}
|
|
92
92
|
else if (curveState && curveState.complete) {
|
|
93
|
-
//
|
|
93
|
+
// Bonding curve completed, token graduated to PumpSwap, compute pool address directly using PDA
|
|
94
94
|
const pumpSwapPoolId = getPumpSwapPoolByMint(tokenCA);
|
|
95
95
|
try {
|
|
96
96
|
const poolData = await pumpSwapGetPoolInfo(connection, pumpSwapPoolId.toBase58());
|
|
@@ -113,9 +113,9 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
113
113
|
tokenA: tokenCA,
|
|
114
114
|
tokenB: NATIVE_MINT.toBase58(),
|
|
115
115
|
};
|
|
116
|
-
//
|
|
116
|
+
// Use coinCreator instead of bonding curve creator
|
|
117
117
|
creatorAddress = poolData.coinCreator?.toBase58?.() ?? creatorAddress;
|
|
118
|
-
//
|
|
118
|
+
// Compute price from pool reserves
|
|
119
119
|
const baseAmount = new BigNumber(poolData.poolBaseTokenInfo.amount.toString());
|
|
120
120
|
const quoteAmount = new BigNumber(poolData.poolQuoteTokenInfo.amount.toString());
|
|
121
121
|
if (!baseAmount.isZero()) {
|
|
@@ -124,31 +124,31 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
124
124
|
ds.getTokenPrice(tokenCA).then((p) => { priceUsd = p.priceUsd; }).catch(() => { });
|
|
125
125
|
}
|
|
126
126
|
catch (e) {
|
|
127
|
-
// PumpSwap
|
|
128
|
-
console.error(`PumpSwap
|
|
127
|
+
// PumpSwap pool fetch failed, fallback to Path B (Codex API)
|
|
128
|
+
console.error(`PumpSwap pool fetch failed, fallback to Codex: ${e.message}`);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
catch {
|
|
133
|
-
// bondingCurve
|
|
133
|
+
// bondingCurve read failed, not a Pump.fun token, use Codex path
|
|
134
134
|
}
|
|
135
|
-
// ──
|
|
135
|
+
// ── Path B: Non-Pump.fun or graduated, fetch pair info via Codex ──
|
|
136
136
|
if (!exchangeName) {
|
|
137
137
|
const [tokenInfo, pairs] = await Promise.all([
|
|
138
138
|
ds.getTokenInfo(tokenCA),
|
|
139
139
|
ds.getPairsForToken(tokenCA, 10),
|
|
140
140
|
]).catch((e) => {
|
|
141
|
-
throw new Error(
|
|
141
|
+
throw new Error(`Failed to fetch trading pairs (${tokenCA}): ${e.message}`);
|
|
142
142
|
});
|
|
143
143
|
if (!pairs || pairs.length === 0) {
|
|
144
|
-
throw new Error(
|
|
144
|
+
throw new Error(`No token trading pairs found: ${tokenCA}`);
|
|
145
145
|
}
|
|
146
146
|
const validExchanges = ['Pump', 'PumpSwap', 'Raydium', 'Raydium CPMM', 'LaunchLab', 'Meteora'];
|
|
147
147
|
const solMint = NATIVE_MINT.toBase58();
|
|
148
148
|
const solPairs = pairs.filter((p) => validExchanges.includes(p.exchangeName) &&
|
|
149
149
|
(p.token0Address === solMint || p.token1Address === solMint));
|
|
150
150
|
if (solPairs.length === 0) {
|
|
151
|
-
throw new Error('
|
|
151
|
+
throw new Error('No valid SOL trading pairs found');
|
|
152
152
|
}
|
|
153
153
|
const topPair = solPairs[0];
|
|
154
154
|
exchangeName = topPair.exchangeName;
|
|
@@ -161,7 +161,7 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
161
161
|
tokenA: topPair.token0Address,
|
|
162
162
|
tokenB: topPair.token1Address,
|
|
163
163
|
};
|
|
164
|
-
//
|
|
164
|
+
// Fetch depth data
|
|
165
165
|
try {
|
|
166
166
|
if (exchangeName === 'Pump') {
|
|
167
167
|
pumpfunReverseInfo = await getPumpCurveState(connection, tokenCA);
|
|
@@ -176,7 +176,7 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
176
176
|
baseTokenProgram: poolData.baseTokenProgram,
|
|
177
177
|
quoteTokenProgram: poolData.quoteTokenProgram,
|
|
178
178
|
};
|
|
179
|
-
//
|
|
179
|
+
// Use coinCreator from pool
|
|
180
180
|
if (poolData.coinCreator) {
|
|
181
181
|
creatorAddress = poolData.coinCreator.toBase58?.() ?? String(poolData.coinCreator);
|
|
182
182
|
}
|
|
@@ -220,9 +220,9 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
catch (e) {
|
|
223
|
-
console.error(
|
|
223
|
+
console.error(`Failed to fetch ${exchangeName} depth data:`, e.message);
|
|
224
224
|
}
|
|
225
|
-
//
|
|
225
|
+
// Price (Pump.fun computed in Path A, here handles other DEXes)
|
|
226
226
|
if (exchangeName === 'Pump' && pumpfunReverseInfo) {
|
|
227
227
|
const vSol = Number(pumpfunReverseInfo.virtualSolReserves ?? pumpfunReverseInfo.virtual_sol_reserves);
|
|
228
228
|
const vToken = Number(pumpfunReverseInfo.virtualTokenReserves ?? pumpfunReverseInfo.virtual_token_reserves);
|
|
@@ -238,7 +238,7 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
238
238
|
priceUsd = priceData.priceUsd;
|
|
239
239
|
}
|
|
240
240
|
catch {
|
|
241
|
-
//
|
|
241
|
+
// Price fetch failure does not block transaction
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
|
@@ -261,22 +261,22 @@ export async function fetchTradeContext(tokenCA) {
|
|
|
261
261
|
};
|
|
262
262
|
}
|
|
263
263
|
// ============================================================
|
|
264
|
-
//
|
|
264
|
+
// Trade Execution
|
|
265
265
|
// ============================================================
|
|
266
266
|
/**
|
|
267
|
-
*
|
|
267
|
+
* Execute batch buy/sell trade
|
|
268
268
|
*/
|
|
269
269
|
export async function executeTrades(params) {
|
|
270
270
|
const { context, wallets, tradeType, amountPerWallet, slippage, priorityFee, simulate } = params;
|
|
271
271
|
try {
|
|
272
|
-
//
|
|
272
|
+
// Build walletAmounts
|
|
273
273
|
const walletAmounts = wallets.map((w, i) => ({
|
|
274
274
|
privateKey: w.privateKey,
|
|
275
275
|
amount: Array.isArray(amountPerWallet)
|
|
276
276
|
? amountPerWallet[i]
|
|
277
277
|
: amountPerWallet,
|
|
278
278
|
}));
|
|
279
|
-
//
|
|
279
|
+
// Map volumeType
|
|
280
280
|
const volumeTypeMap = {
|
|
281
281
|
'1b1s': 'one_buy_one_sell',
|
|
282
282
|
'1b2s': 'one_buy_two_sell',
|
|
@@ -287,15 +287,15 @@ export async function executeTrades(params) {
|
|
|
287
287
|
const volumeType = params.volumeType
|
|
288
288
|
? (volumeTypeMap[params.volumeType] || params.volumeType)
|
|
289
289
|
: VolumeType.ONE_BUY_ONE_SELL;
|
|
290
|
-
// Bug 3 fix:
|
|
291
|
-
//
|
|
290
|
+
// Bug 3 fix: For Pump/LaunchLab sniperBuy, directly call sub-function with snipers param
|
|
291
|
+
// Top-level batchTrade does not accept snipers, but Pump/LaunchLab sniperBuy branch requires it
|
|
292
292
|
let base64Txs;
|
|
293
293
|
if (tradeType === 'sniperBuy' && (context.exchangeName === 'Pump' || context.exchangeName === 'LaunchLab')) {
|
|
294
294
|
const snipers = walletAmounts.map(wa => ({
|
|
295
295
|
wallet: wa.privateKey,
|
|
296
296
|
amount: wa.amount,
|
|
297
297
|
}));
|
|
298
|
-
//
|
|
298
|
+
// Preprocess slippage (batchTrade divides by 100 internally, do same here)
|
|
299
299
|
const adjustedSlippage = slippage / 100;
|
|
300
300
|
if (context.exchangeName === 'Pump') {
|
|
301
301
|
base64Txs = await pumpBatchTrade({
|
|
@@ -333,7 +333,7 @@ export async function executeTrades(params) {
|
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
else {
|
|
336
|
-
//
|
|
336
|
+
// Other DEX / trade types use standard batchTrade path
|
|
337
337
|
base64Txs = await batchTrade({
|
|
338
338
|
connection: context.connection,
|
|
339
339
|
exchangeName: context.exchangeName,
|
|
@@ -358,7 +358,7 @@ export async function executeTrades(params) {
|
|
|
358
358
|
});
|
|
359
359
|
}
|
|
360
360
|
if (!base64Txs || base64Txs.length === 0) {
|
|
361
|
-
return { success: false, error: '
|
|
361
|
+
return { success: false, error: 'Trade build failed, no valid transactions generated' };
|
|
362
362
|
}
|
|
363
363
|
if (simulate) {
|
|
364
364
|
return {
|
|
@@ -366,15 +366,15 @@ export async function executeTrades(params) {
|
|
|
366
366
|
details: {
|
|
367
367
|
simulate: true,
|
|
368
368
|
transactionCount: base64Txs.length,
|
|
369
|
-
message: '
|
|
369
|
+
message: 'Simulation successful, transaction is feasible',
|
|
370
370
|
},
|
|
371
371
|
};
|
|
372
372
|
}
|
|
373
|
-
//
|
|
373
|
+
// Send transaction
|
|
374
374
|
const ds = getDataSource();
|
|
375
375
|
const connection = context.connection;
|
|
376
376
|
try {
|
|
377
|
-
// buyWithSell
|
|
377
|
+
// buyWithSell (volume trading) requires same-block execution, use Jito Bundle
|
|
378
378
|
if (tradeType === 'buyWithSell' && base64Txs.length > 1) {
|
|
379
379
|
const bundleResult = await ds.sendBundle(base64Txs);
|
|
380
380
|
return {
|
|
@@ -383,7 +383,7 @@ export async function executeTrades(params) {
|
|
|
383
383
|
txHashes: [],
|
|
384
384
|
};
|
|
385
385
|
}
|
|
386
|
-
//
|
|
386
|
+
// Regular buy/sell -- send one by one (no waiting for confirmation, return txHash directly)
|
|
387
387
|
const txResults = [];
|
|
388
388
|
for (const base64Tx of base64Txs) {
|
|
389
389
|
const result = await ds.sendTransaction(base64Tx);
|
|
@@ -399,7 +399,7 @@ export async function executeTrades(params) {
|
|
|
399
399
|
const jitoResponseData = sendError?.response?.data;
|
|
400
400
|
return {
|
|
401
401
|
success: false,
|
|
402
|
-
error:
|
|
402
|
+
error: `Transaction send failed: ${sendError.message}`,
|
|
403
403
|
details: jitoResponseData ? JSON.stringify(jitoResponseData) : sendError.message,
|
|
404
404
|
};
|
|
405
405
|
}
|
|
@@ -407,15 +407,15 @@ export async function executeTrades(params) {
|
|
|
407
407
|
catch (e) {
|
|
408
408
|
return {
|
|
409
409
|
success: false,
|
|
410
|
-
error: e.message || '
|
|
410
|
+
error: e.message || 'Transaction execution failed',
|
|
411
411
|
};
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
414
|
// ============================================================
|
|
415
|
-
//
|
|
415
|
+
// Turnover Trade Execution
|
|
416
416
|
// ============================================================
|
|
417
417
|
/**
|
|
418
|
-
*
|
|
418
|
+
* Execute turnover trade
|
|
419
419
|
*/
|
|
420
420
|
export async function executeTurnoverTrade(params) {
|
|
421
421
|
const { context, fromWallet, toWallet, tokenAmount, priorityFee, slippage, fallbackSendTx } = params;
|
|
@@ -443,7 +443,7 @@ export async function executeTurnoverTrade(params) {
|
|
|
443
443
|
});
|
|
444
444
|
}
|
|
445
445
|
/**
|
|
446
|
-
*
|
|
446
|
+
* Execute batch turnover trade
|
|
447
447
|
*/
|
|
448
448
|
export async function executeBatchTurnoverTrade(params) {
|
|
449
449
|
const { context, turnoverItems, priorityFee, slippage, fallbackSendTx, intervalMs } = params;
|
|
@@ -470,10 +470,10 @@ export async function executeBatchTurnoverTrade(params) {
|
|
|
470
470
|
});
|
|
471
471
|
}
|
|
472
472
|
// ============================================================
|
|
473
|
-
// SOL / Token
|
|
473
|
+
// SOL / Token Transfer Execution
|
|
474
474
|
// ============================================================
|
|
475
475
|
/**
|
|
476
|
-
*
|
|
476
|
+
* Execute SOL transfer
|
|
477
477
|
*/
|
|
478
478
|
export async function executeSOLTransfer(params) {
|
|
479
479
|
const { fromPrivateKey, toAddress, amountSOL, priorityFee } = params;
|
|
@@ -483,7 +483,7 @@ export async function executeSOLTransfer(params) {
|
|
|
483
483
|
const fromAddress = fromKeypair.publicKey.toBase58();
|
|
484
484
|
const toPubkey = new PublicKey(toAddress);
|
|
485
485
|
const lamports = Math.floor(amountSOL * LAMPORTS_PER_SOL);
|
|
486
|
-
//
|
|
486
|
+
// Build transaction
|
|
487
487
|
const tx = new Transaction();
|
|
488
488
|
const { limitIx, priceIx } = getCU(priorityFee);
|
|
489
489
|
tx.add(limitIx);
|
|
@@ -497,7 +497,7 @@ export async function executeSOLTransfer(params) {
|
|
|
497
497
|
tx.feePayer = fromKeypair.publicKey;
|
|
498
498
|
tx.sign(fromKeypair);
|
|
499
499
|
const base64Tx = Buffer.from(tx.serialize()).toString('base64');
|
|
500
|
-
//
|
|
500
|
+
// Send transaction -- via DataSource -> JitoAdapter.sendTransaction
|
|
501
501
|
const ds = getDataSource();
|
|
502
502
|
const txResult = await ds.sendTransaction(base64Tx);
|
|
503
503
|
return {
|
|
@@ -521,10 +521,10 @@ export async function executeSOLTransfer(params) {
|
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
523
|
/**
|
|
524
|
-
* SOL
|
|
524
|
+
* SOL multi-hop transfer (via 6 temporary relay wallets, chain transfer in a single transaction)
|
|
525
525
|
*
|
|
526
|
-
*
|
|
527
|
-
*
|
|
526
|
+
* Transfer path: sender wallet → G1 → G2 → G3 → G4 → G5 → G6 → receiver wallet
|
|
527
|
+
* All relay wallets are temporarily generated and discarded after use.
|
|
528
528
|
*/
|
|
529
529
|
export async function executeSOLTransferMultiHop(params) {
|
|
530
530
|
const { fromPrivateKey, toAddress, amountSOL, priorityFee, hopCount = 6 } = params;
|
|
@@ -534,17 +534,17 @@ export async function executeSOLTransferMultiHop(params) {
|
|
|
534
534
|
const fromAddress = fromKeypair.publicKey.toBase58();
|
|
535
535
|
const toPubkey = new PublicKey(toAddress);
|
|
536
536
|
const lamports = Math.floor(amountSOL * LAMPORTS_PER_SOL);
|
|
537
|
-
//
|
|
537
|
+
// Generate temporary relay wallets
|
|
538
538
|
const relayWallets = [];
|
|
539
539
|
for (let i = 0; i < hopCount; i++) {
|
|
540
540
|
relayWallets.push(Keypair.generate());
|
|
541
541
|
}
|
|
542
|
-
//
|
|
542
|
+
// Build transaction
|
|
543
543
|
const tx = new Transaction();
|
|
544
544
|
const { limitIx, priceIx } = getCU(priorityFee);
|
|
545
545
|
tx.add(limitIx);
|
|
546
546
|
tx.add(priceIx);
|
|
547
|
-
//
|
|
547
|
+
// Build transfer chain: sender wallet → G1 → G2 → ... → G6 → receiver wallet
|
|
548
548
|
const transferChain = [
|
|
549
549
|
fromKeypair.publicKey,
|
|
550
550
|
...relayWallets.map(kp => kp.publicKey),
|
|
@@ -559,10 +559,10 @@ export async function executeSOLTransferMultiHop(params) {
|
|
|
559
559
|
const blockhash = (await connection.getLatestBlockhash()).blockhash;
|
|
560
560
|
tx.recentBlockhash = blockhash;
|
|
561
561
|
tx.feePayer = fromKeypair.publicKey;
|
|
562
|
-
//
|
|
562
|
+
// Sign: sender wallet + all relay wallets
|
|
563
563
|
tx.sign(fromKeypair, ...relayWallets);
|
|
564
564
|
const base64Tx = Buffer.from(tx.serialize()).toString('base64');
|
|
565
|
-
//
|
|
565
|
+
// Send transaction
|
|
566
566
|
const ds = getDataSource();
|
|
567
567
|
const txResult = await ds.sendTransaction(base64Tx);
|
|
568
568
|
return {
|
|
@@ -586,15 +586,15 @@ export async function executeSOLTransferMultiHop(params) {
|
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
/**
|
|
589
|
-
*
|
|
590
|
-
*
|
|
591
|
-
*
|
|
589
|
+
* Batch SOL transfer (one-to-many)
|
|
590
|
+
* Non-multi-hop mode: pack multiple transfer instructions into one transaction (max 20 per batch)
|
|
591
|
+
* Multi-hop mode: send multi-hop transaction independently for each target
|
|
592
592
|
*/
|
|
593
593
|
export async function executeBatchSOLTransfer(params) {
|
|
594
594
|
const { fromPrivateKey, targets, priorityFee, batchSize = 20, multiHop = false, hopCount = 6 } = params;
|
|
595
595
|
const results = [];
|
|
596
596
|
if (multiHop) {
|
|
597
|
-
//
|
|
597
|
+
// Multi-hop mode: send independently for each target (each requires relay wallet signatures)
|
|
598
598
|
for (const target of targets) {
|
|
599
599
|
const result = await executeSOLTransferMultiHop({
|
|
600
600
|
fromPrivateKey,
|
|
@@ -607,7 +607,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
607
607
|
}
|
|
608
608
|
return results;
|
|
609
609
|
}
|
|
610
|
-
//
|
|
610
|
+
// Non-multi-hop mode: pack into same transaction
|
|
611
611
|
const connection = getConnection();
|
|
612
612
|
const fromKeypair = Keypair.fromSecretKey(bs58.decode(fromPrivateKey));
|
|
613
613
|
const fromAddress = fromKeypair.publicKey.toBase58();
|
|
@@ -618,7 +618,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
618
618
|
const { limitIx, priceIx } = getCU(priorityFee);
|
|
619
619
|
tx.add(limitIx);
|
|
620
620
|
tx.add(priceIx);
|
|
621
|
-
//
|
|
621
|
+
// Pack all transfer instructions in this batch into one transaction
|
|
622
622
|
for (const target of batch) {
|
|
623
623
|
const lamports = Math.floor(target.amountSOL * LAMPORTS_PER_SOL);
|
|
624
624
|
tx.add(transferSOLInstruction(fromKeypair.publicKey, new PublicKey(target.address), lamports));
|
|
@@ -633,7 +633,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
633
633
|
const base64Tx = Buffer.from(tx.serialize()).toString('base64');
|
|
634
634
|
const ds = getDataSource();
|
|
635
635
|
const txResult = await ds.sendTransaction(base64Tx);
|
|
636
|
-
//
|
|
636
|
+
// Generate results for all targets in this batch
|
|
637
637
|
for (const target of batch) {
|
|
638
638
|
results.push({
|
|
639
639
|
success: true,
|
|
@@ -646,7 +646,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
648
|
catch (e) {
|
|
649
|
-
//
|
|
649
|
+
// Entire batch failed
|
|
650
650
|
for (const target of batch) {
|
|
651
651
|
results.push({
|
|
652
652
|
success: false,
|
|
@@ -658,7 +658,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
658
658
|
});
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
|
-
//
|
|
661
|
+
// Wait between batches
|
|
662
662
|
if (i + batchSize < targets.length) {
|
|
663
663
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
664
664
|
}
|
|
@@ -666,7 +666,7 @@ export async function executeBatchSOLTransfer(params) {
|
|
|
666
666
|
return results;
|
|
667
667
|
}
|
|
668
668
|
/**
|
|
669
|
-
*
|
|
669
|
+
* Batch SOL collection (many-to-one)
|
|
670
670
|
*/
|
|
671
671
|
export async function executeCollectSOL(params) {
|
|
672
672
|
const { wallets, toAddress, amountType, fixedAmount, reserveAmount, priorityFee } = params;
|
|
@@ -678,7 +678,7 @@ export async function executeCollectSOL(params) {
|
|
|
678
678
|
const balanceSOL = balance / LAMPORTS_PER_SOL;
|
|
679
679
|
let amountSOL;
|
|
680
680
|
if (amountType === 'all') {
|
|
681
|
-
//
|
|
681
|
+
// Reserve enough for fees
|
|
682
682
|
amountSOL = Math.max(0, balanceSOL - 0.005 - priorityFee);
|
|
683
683
|
}
|
|
684
684
|
else if (amountType === 'fixed') {
|
|
@@ -693,7 +693,7 @@ export async function executeCollectSOL(params) {
|
|
|
693
693
|
if (amountSOL <= 0) {
|
|
694
694
|
results.push({
|
|
695
695
|
success: false,
|
|
696
|
-
error: '
|
|
696
|
+
error: 'Insufficient balance',
|
|
697
697
|
from: wallet.address,
|
|
698
698
|
to: toAddress,
|
|
699
699
|
amount: 0,
|
|
@@ -723,27 +723,27 @@ export async function executeCollectSOL(params) {
|
|
|
723
723
|
return results;
|
|
724
724
|
}
|
|
725
725
|
// ============================================================
|
|
726
|
-
//
|
|
726
|
+
// Balance Queries
|
|
727
727
|
// ============================================================
|
|
728
728
|
/**
|
|
729
|
-
*
|
|
729
|
+
* Get wallet SOL balance
|
|
730
730
|
*/
|
|
731
731
|
export async function getSOLBalance(address) {
|
|
732
732
|
const connection = getConnection();
|
|
733
733
|
return getNativeBalance(connection, address);
|
|
734
734
|
}
|
|
735
735
|
/**
|
|
736
|
-
*
|
|
736
|
+
* Get wallet token balance
|
|
737
737
|
*/
|
|
738
738
|
export async function getTokenBalance(address, tokenMint) {
|
|
739
739
|
const connection = getConnection();
|
|
740
740
|
return getTokenAccountBalance(connection, tokenMint, address);
|
|
741
741
|
}
|
|
742
742
|
// ============================================================
|
|
743
|
-
//
|
|
743
|
+
// Utility Functions
|
|
744
744
|
// ============================================================
|
|
745
745
|
/**
|
|
746
|
-
*
|
|
746
|
+
* Build wallet list from wallet group
|
|
747
747
|
*/
|
|
748
748
|
export function buildWalletList(group) {
|
|
749
749
|
return group.wallets.map(w => ({
|
|
@@ -752,7 +752,7 @@ export function buildWalletList(group) {
|
|
|
752
752
|
}));
|
|
753
753
|
}
|
|
754
754
|
/**
|
|
755
|
-
*
|
|
755
|
+
* Wait for specified milliseconds
|
|
756
756
|
*/
|
|
757
757
|
export function sleep(ms) {
|
|
758
758
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../../src/adapters/sdk-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../../src/adapters/sdk-adapter.ts"],"names":[],"mappings":"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"}
|