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,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ForgeX CLI Jito Bundle
|
|
2
|
+
* ForgeX CLI Jito Bundle Direct Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Replaces the existing bundle status query and sending via forgex.online/api proxy.
|
|
5
|
+
* Directly calls Jito Block Engine JSON-RPC API.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Design reference: ARCH-DESIGN-v2.md Section 2.5
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* Reuses endpoint config and tip account list from sol-sdk/jito/index.ts.
|
|
10
10
|
*/
|
|
11
11
|
import axios from 'axios';
|
|
12
12
|
import { PublicKey, SystemProgram, LAMPORTS_PER_SOL } from '@solana/web3.js';
|
|
13
13
|
import bs58 from 'bs58';
|
|
14
14
|
import { loadConfig } from '../config.js';
|
|
15
15
|
// ============================================================
|
|
16
|
-
//
|
|
16
|
+
// Constants (reuses sol-sdk/jito config)
|
|
17
17
|
// ============================================================
|
|
18
|
-
/** Jito Block Engine API
|
|
18
|
+
/** Jito Block Engine API endpoint list (multi-region fault tolerance) */
|
|
19
19
|
export const JITO_ENDPOINTS = [
|
|
20
20
|
'https://mainnet.block-engine.jito.wtf/api/v1',
|
|
21
21
|
'https://amsterdam.mainnet.block-engine.jito.wtf/api/v1',
|
|
@@ -23,7 +23,7 @@ export const JITO_ENDPOINTS = [
|
|
|
23
23
|
'https://ny.mainnet.block-engine.jito.wtf/api/v1',
|
|
24
24
|
'https://tokyo.mainnet.block-engine.jito.wtf/api/v1',
|
|
25
25
|
];
|
|
26
|
-
/** Jito Tip
|
|
26
|
+
/** Jito Tip account list */
|
|
27
27
|
export const JITO_TIP_ACCOUNTS = [
|
|
28
28
|
'96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5',
|
|
29
29
|
'HFqU5x63VTqvQss8hp11i4wVV8bD44PvwucfZ2bU7gRe',
|
|
@@ -34,35 +34,35 @@ export const JITO_TIP_ACCOUNTS = [
|
|
|
34
34
|
'DttWaMuVvTiduZRnguLF7jNxTgiMBZ1hyAumKUiL2KRL',
|
|
35
35
|
'3AVi9Tg9Uo68tJfuvoKvqKNWKkC5wPdSSdeBnizKZ6jT',
|
|
36
36
|
];
|
|
37
|
-
/** Bundle
|
|
37
|
+
/** Bundle confirmation status enum */
|
|
38
38
|
export var BundleStatusEnum;
|
|
39
39
|
(function (BundleStatusEnum) {
|
|
40
|
-
/**
|
|
40
|
+
/** Sent, not yet processed */
|
|
41
41
|
BundleStatusEnum["SENT"] = "sent";
|
|
42
|
-
/**
|
|
42
|
+
/** Processed (included in block) */
|
|
43
43
|
BundleStatusEnum["PROCESSED"] = "processed";
|
|
44
|
-
/**
|
|
44
|
+
/** Confirmed (supermajority validation) */
|
|
45
45
|
BundleStatusEnum["CONFIRMED"] = "confirmed";
|
|
46
|
-
/**
|
|
46
|
+
/** Finalized (irreversible) */
|
|
47
47
|
BundleStatusEnum["FINALIZED"] = "finalized";
|
|
48
|
-
/**
|
|
48
|
+
/** Execution failed */
|
|
49
49
|
BundleStatusEnum["FAILED"] = "failed";
|
|
50
|
-
/**
|
|
50
|
+
/** Query timeout */
|
|
51
51
|
BundleStatusEnum["TIMEOUT"] = "timeout";
|
|
52
|
-
/**
|
|
52
|
+
/** In landing (inflight) */
|
|
53
53
|
BundleStatusEnum["INFLIGHT"] = "inflight";
|
|
54
|
-
/**
|
|
54
|
+
/** Unknown status */
|
|
55
55
|
BundleStatusEnum["UNKNOWN"] = "unknown";
|
|
56
56
|
})(BundleStatusEnum || (BundleStatusEnum = {}));
|
|
57
57
|
// ============================================================
|
|
58
|
-
//
|
|
58
|
+
// Defaults
|
|
59
59
|
// ============================================================
|
|
60
60
|
const DEFAULT_MAX_RETRIES = 3;
|
|
61
61
|
const INITIAL_RETRY_DELAY_MS = 500;
|
|
62
62
|
const DEFAULT_TIMEOUT_MS = 90000;
|
|
63
63
|
const DEFAULT_POLL_INTERVAL_MS = 3000;
|
|
64
64
|
// ============================================================
|
|
65
|
-
// JitoAdapter
|
|
65
|
+
// JitoAdapter Implementation
|
|
66
66
|
// ============================================================
|
|
67
67
|
export class JitoAdapter {
|
|
68
68
|
endpoints;
|
|
@@ -70,12 +70,12 @@ export class JitoAdapter {
|
|
|
70
70
|
client;
|
|
71
71
|
maxRetries;
|
|
72
72
|
constructor(options) {
|
|
73
|
-
//
|
|
73
|
+
// Endpoint list: user config > default Jito endpoints
|
|
74
74
|
if (options?.endpoints && options.endpoints.length > 0) {
|
|
75
75
|
this.endpoints = [...options.endpoints];
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
|
-
//
|
|
78
|
+
// Try reading custom Jito endpoints from config
|
|
79
79
|
try {
|
|
80
80
|
const config = loadConfig();
|
|
81
81
|
const configEndpoints = config.jitoEndpoints;
|
|
@@ -104,13 +104,13 @@ export class JitoAdapter {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
// ============================================================
|
|
107
|
-
//
|
|
107
|
+
// Low-level JSON-RPC Communication
|
|
108
108
|
// ============================================================
|
|
109
109
|
/**
|
|
110
|
-
*
|
|
111
|
-
* @param path API
|
|
112
|
-
* @param method JSON-RPC
|
|
113
|
-
* @param params JSON-RPC
|
|
110
|
+
* Send JSON-RPC request to Jito Block Engine
|
|
111
|
+
* @param path API path (e.g. /bundles)
|
|
112
|
+
* @param method JSON-RPC method name
|
|
113
|
+
* @param params JSON-RPC params
|
|
114
114
|
*/
|
|
115
115
|
async sendRequest(path, method, params) {
|
|
116
116
|
const baseUrl = this.endpoints[this.currentEndpointIndex];
|
|
@@ -130,13 +130,13 @@ export class JitoAdapter {
|
|
|
130
130
|
return response.data;
|
|
131
131
|
}
|
|
132
132
|
// ============================================================
|
|
133
|
-
//
|
|
133
|
+
// Retry and Fault Tolerance (same pattern as RpcAdapter)
|
|
134
134
|
// ============================================================
|
|
135
135
|
/**
|
|
136
|
-
*
|
|
137
|
-
* 1.
|
|
138
|
-
* 2.
|
|
139
|
-
* 3.
|
|
136
|
+
* Executor with exponential backoff retry + endpoint rotation
|
|
137
|
+
* 1. Retry maxRetries times on current endpoint (exponential backoff)
|
|
138
|
+
* 2. If current endpoint fails all retries, switch to next endpoint
|
|
139
|
+
* 3. Throw last error after all endpoints fail
|
|
140
140
|
*/
|
|
141
141
|
async executeWithRetry(operation, operationName) {
|
|
142
142
|
const triedEndpoints = new Set();
|
|
@@ -162,29 +162,29 @@ export class JitoAdapter {
|
|
|
162
162
|
if (!this.isRetryableError(err)) {
|
|
163
163
|
throw lastError;
|
|
164
164
|
}
|
|
165
|
-
//
|
|
165
|
+
// Exponential backoff wait
|
|
166
166
|
if (attempt < this.maxRetries - 1) {
|
|
167
167
|
const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, attempt);
|
|
168
168
|
await sleep(delay);
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
-
//
|
|
172
|
+
// All retries failed on current endpoint, try switching
|
|
173
173
|
const switched = this.switchEndpoint();
|
|
174
174
|
if (!switched)
|
|
175
175
|
break;
|
|
176
176
|
}
|
|
177
|
-
throw lastError || new Error(`${operationName}:
|
|
177
|
+
throw lastError || new Error(`${operationName}: All Jito endpoints unavailable`);
|
|
178
178
|
}
|
|
179
|
-
/**
|
|
179
|
+
/** Check if error is retryable */
|
|
180
180
|
isRetryableError(err) {
|
|
181
181
|
const message = (err?.message || '').toLowerCase();
|
|
182
182
|
const status = err?.response?.status;
|
|
183
|
-
// HTTP
|
|
183
|
+
// HTTP status code check
|
|
184
184
|
if (status === 429 || status === 502 || status === 503 || status === 500) {
|
|
185
185
|
return true;
|
|
186
186
|
}
|
|
187
|
-
//
|
|
187
|
+
// Network error
|
|
188
188
|
if (message.includes('fetch failed') ||
|
|
189
189
|
message.includes('econnrefused') ||
|
|
190
190
|
message.includes('econnreset') ||
|
|
@@ -192,17 +192,17 @@ export class JitoAdapter {
|
|
|
192
192
|
message.includes('network error')) {
|
|
193
193
|
return true;
|
|
194
194
|
}
|
|
195
|
-
//
|
|
195
|
+
// Timeout
|
|
196
196
|
if (message.includes('timeout') || message.includes('timed out') || err?.code === 'ECONNABORTED') {
|
|
197
197
|
return true;
|
|
198
198
|
}
|
|
199
|
-
//
|
|
199
|
+
// Rate limit
|
|
200
200
|
if (message.includes('rate limit') || message.includes('too many requests')) {
|
|
201
201
|
return true;
|
|
202
202
|
}
|
|
203
203
|
return false;
|
|
204
204
|
}
|
|
205
|
-
/**
|
|
205
|
+
/** Switch to next endpoint */
|
|
206
206
|
switchEndpoint() {
|
|
207
207
|
if (this.endpoints.length <= 1)
|
|
208
208
|
return false;
|
|
@@ -210,19 +210,19 @@ export class JitoAdapter {
|
|
|
210
210
|
this.currentEndpointIndex = (this.currentEndpointIndex + 1) % this.endpoints.length;
|
|
211
211
|
return this.currentEndpointIndex !== oldIndex;
|
|
212
212
|
}
|
|
213
|
-
/**
|
|
213
|
+
/** Get current endpoint URL (for debugging) */
|
|
214
214
|
getCurrentEndpoint() {
|
|
215
215
|
return this.endpoints[this.currentEndpointIndex];
|
|
216
216
|
}
|
|
217
217
|
// ============================================================
|
|
218
|
-
// Bundle
|
|
218
|
+
// Bundle Status Queries
|
|
219
219
|
// ============================================================
|
|
220
220
|
/**
|
|
221
|
-
*
|
|
222
|
-
*
|
|
221
|
+
* Query bundle statuses
|
|
222
|
+
* Calls Jito getBundleStatuses JSON-RPC method
|
|
223
223
|
*
|
|
224
|
-
* @param bundleIds
|
|
225
|
-
* @returns
|
|
224
|
+
* @param bundleIds Bundle IDs to query
|
|
225
|
+
* @returns Status for each bundle
|
|
226
226
|
*/
|
|
227
227
|
async getBundleStatuses(bundleIds) {
|
|
228
228
|
if (bundleIds.length === 0)
|
|
@@ -230,11 +230,11 @@ export class JitoAdapter {
|
|
|
230
230
|
return this.executeWithRetry(async () => {
|
|
231
231
|
const response = await this.sendRequest('/bundles', 'getBundleStatuses', [bundleIds]);
|
|
232
232
|
if (response.error) {
|
|
233
|
-
throw new Error(`Jito getBundleStatuses
|
|
233
|
+
throw new Error(`Jito getBundleStatuses error: ${response.error.message}`);
|
|
234
234
|
}
|
|
235
235
|
const value = response.result?.value;
|
|
236
236
|
if (!Array.isArray(value)) {
|
|
237
|
-
//
|
|
237
|
+
// No bundle statuses found
|
|
238
238
|
return bundleIds.map((id) => ({
|
|
239
239
|
bundleId: id,
|
|
240
240
|
status: BundleStatusEnum.UNKNOWN,
|
|
@@ -256,15 +256,15 @@ export class JitoAdapter {
|
|
|
256
256
|
}, 'getBundleStatuses');
|
|
257
257
|
}
|
|
258
258
|
/**
|
|
259
|
-
*
|
|
259
|
+
* Query single bundle status (convenience method)
|
|
260
260
|
*/
|
|
261
261
|
async getBundleStatus(bundleId) {
|
|
262
262
|
const results = await this.getBundleStatuses([bundleId]);
|
|
263
263
|
return results[0];
|
|
264
264
|
}
|
|
265
265
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
266
|
+
* Query inflight bundle statuses
|
|
267
|
+
* For querying bundles that have been sent but not yet landed
|
|
268
268
|
*/
|
|
269
269
|
async getInflightBundleStatuses(bundleIds) {
|
|
270
270
|
if (bundleIds.length === 0)
|
|
@@ -272,7 +272,7 @@ export class JitoAdapter {
|
|
|
272
272
|
return this.executeWithRetry(async () => {
|
|
273
273
|
const response = await this.sendRequest('/bundles', 'getInflightBundleStatuses', [bundleIds]);
|
|
274
274
|
if (response.error) {
|
|
275
|
-
throw new Error(`Jito getInflightBundleStatuses
|
|
275
|
+
throw new Error(`Jito getInflightBundleStatuses error: ${response.error.message}`);
|
|
276
276
|
}
|
|
277
277
|
const value = response.result?.value;
|
|
278
278
|
if (!Array.isArray(value)) {
|
|
@@ -289,15 +289,15 @@ export class JitoAdapter {
|
|
|
289
289
|
}, 'getInflightBundleStatuses');
|
|
290
290
|
}
|
|
291
291
|
// ============================================================
|
|
292
|
-
// Bundle
|
|
292
|
+
// Bundle Confirmation Wait (polling)
|
|
293
293
|
// ============================================================
|
|
294
294
|
/**
|
|
295
|
-
*
|
|
296
|
-
*
|
|
295
|
+
* Wait for bundle confirmation
|
|
296
|
+
* Polls getBundleStatuses until terminal state or timeout
|
|
297
297
|
*
|
|
298
298
|
* @param bundleId Bundle ID
|
|
299
|
-
* @param options
|
|
300
|
-
* @returns Bundle
|
|
299
|
+
* @param options Timeout and poll interval config
|
|
300
|
+
* @returns Bundle confirmation result
|
|
301
301
|
*/
|
|
302
302
|
async waitForBundleConfirmation(bundleId, options) {
|
|
303
303
|
const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
@@ -311,7 +311,7 @@ export class JitoAdapter {
|
|
|
311
311
|
]);
|
|
312
312
|
const inflightStatus = inflight?.[0];
|
|
313
313
|
console.log(`[Jito] bundle ${bundleId} poll => final=${status.status} slot=${status.slot ?? 'n/a'} inflight=${inflightStatus?.status ?? 'n/a'} landedSlot=${inflightStatus?.landedSlot ?? 'n/a'} txs=${status.transactions?.length ?? 0}`);
|
|
314
|
-
//
|
|
314
|
+
// If inflight has landed but final status not yet updated, treat as success and return observable info
|
|
315
315
|
if (inflightStatus?.status &&
|
|
316
316
|
['landed', 'processed', 'confirmed', 'finalized'].includes(String(inflightStatus.status).toLowerCase())) {
|
|
317
317
|
return {
|
|
@@ -330,7 +330,7 @@ export class JitoAdapter {
|
|
|
330
330
|
success,
|
|
331
331
|
slot: status.slot,
|
|
332
332
|
transactions: status.transactions,
|
|
333
|
-
error: success ? undefined : `Bundle
|
|
333
|
+
error: success ? undefined : `Bundle status: ${status.status}`,
|
|
334
334
|
};
|
|
335
335
|
}
|
|
336
336
|
}
|
|
@@ -345,86 +345,86 @@ export class JitoAdapter {
|
|
|
345
345
|
bundleId,
|
|
346
346
|
status: BundleStatusEnum.TIMEOUT,
|
|
347
347
|
success: false,
|
|
348
|
-
error:
|
|
348
|
+
error: `Bundle confirmation timeout (${timeoutMs}ms)`,
|
|
349
349
|
};
|
|
350
350
|
}
|
|
351
351
|
// ============================================================
|
|
352
|
-
// Bundle
|
|
352
|
+
// Bundle Sending
|
|
353
353
|
// ============================================================
|
|
354
354
|
/**
|
|
355
|
-
*
|
|
356
|
-
*
|
|
355
|
+
* Send bundle to Jito Block Engine
|
|
356
|
+
* Direct connection to Jito, not through forgex.online/api proxy
|
|
357
357
|
*
|
|
358
|
-
* @param base64Txs Base64
|
|
358
|
+
* @param base64Txs Base64 encoded transaction list
|
|
359
359
|
* @returns Bundle ID
|
|
360
360
|
*/
|
|
361
361
|
async sendBundle(base64Txs) {
|
|
362
362
|
if (base64Txs.length === 0) {
|
|
363
|
-
throw new Error('sendBundle:
|
|
363
|
+
throw new Error('sendBundle: transaction list cannot be empty');
|
|
364
364
|
}
|
|
365
|
-
console.log(`[Jito]
|
|
365
|
+
console.log(`[Jito] Sending bundle: ${base64Txs.length} transactions, endpoint: ${this.getCurrentEndpoint()}`);
|
|
366
366
|
return this.executeWithRetry(async () => {
|
|
367
367
|
const response = await this.sendRequest('/bundles', 'sendBundle', [base64Txs, { encoding: 'base64' }]);
|
|
368
368
|
if (response.error) {
|
|
369
|
-
throw new Error(`Jito sendBundle
|
|
369
|
+
throw new Error(`Jito sendBundle error: ${response.error.message}`);
|
|
370
370
|
}
|
|
371
371
|
const bundleId = response.result;
|
|
372
372
|
if (!bundleId || typeof bundleId !== 'string') {
|
|
373
|
-
throw new Error('Jito sendBundle:
|
|
373
|
+
throw new Error('Jito sendBundle: no valid Bundle ID returned');
|
|
374
374
|
}
|
|
375
375
|
return { bundleId };
|
|
376
376
|
}, 'sendBundle');
|
|
377
377
|
}
|
|
378
378
|
async sendBundleBase58(base64Txs) {
|
|
379
379
|
if (base64Txs.length === 0) {
|
|
380
|
-
throw new Error('sendBundleBase58:
|
|
380
|
+
throw new Error('sendBundleBase58: transaction list cannot be empty');
|
|
381
381
|
}
|
|
382
382
|
const base58Txs = base64Txs.map(b64 => bs58.encode(Buffer.from(b64, 'base64')));
|
|
383
|
-
console.log(`[Jito]
|
|
383
|
+
console.log(`[Jito] Sending bundle (base58): ${base58Txs.length} transactions, endpoint: ${this.getCurrentEndpoint()}`);
|
|
384
384
|
return this.executeWithRetry(async () => {
|
|
385
385
|
const response = await this.sendRequest('/bundles', 'sendBundle', [base58Txs]);
|
|
386
386
|
if (response.error) {
|
|
387
|
-
throw new Error(`Jito sendBundle(base58)
|
|
387
|
+
throw new Error(`Jito sendBundle(base58) error: ${response.error.message}`);
|
|
388
388
|
}
|
|
389
389
|
const bundleId = response.result;
|
|
390
390
|
if (!bundleId || typeof bundleId !== 'string') {
|
|
391
|
-
throw new Error('Jito sendBundle(base58):
|
|
391
|
+
throw new Error('Jito sendBundle(base58): no valid Bundle ID returned');
|
|
392
392
|
}
|
|
393
393
|
return { bundleId };
|
|
394
394
|
}, 'sendBundleBase58');
|
|
395
395
|
}
|
|
396
396
|
// ============================================================
|
|
397
|
-
//
|
|
397
|
+
// Single Transaction Sending (sendTransaction)
|
|
398
398
|
// ============================================================
|
|
399
399
|
/**
|
|
400
|
-
*
|
|
401
|
-
*
|
|
400
|
+
* Send single transaction via Jito
|
|
401
|
+
* Uses /transactions endpoint + base64 encoding
|
|
402
402
|
*
|
|
403
|
-
* @param base64Tx Base64
|
|
404
|
-
* @returns
|
|
403
|
+
* @param base64Tx Base64 encoded transaction
|
|
404
|
+
* @returns Transaction signature (txHash)
|
|
405
405
|
*/
|
|
406
406
|
async sendTransaction(base64Tx, options) {
|
|
407
407
|
return this.executeWithRetry(async () => {
|
|
408
408
|
const path = options?.bundleOnly ? '/transactions?bundleOnly=true' : '/transactions';
|
|
409
409
|
const response = await this.sendRequest(path, 'sendTransaction', [base64Tx, { encoding: 'base64' }]);
|
|
410
410
|
if (response.error) {
|
|
411
|
-
throw new Error(`Jito sendTransaction
|
|
411
|
+
throw new Error(`Jito sendTransaction error: ${response.error.message}`);
|
|
412
412
|
}
|
|
413
413
|
return { txHash: response.result };
|
|
414
414
|
}, 'sendTransaction');
|
|
415
415
|
}
|
|
416
416
|
// ============================================================
|
|
417
|
-
// RPC
|
|
417
|
+
// RPC Transaction Confirmation
|
|
418
418
|
// ============================================================
|
|
419
419
|
/**
|
|
420
|
-
*
|
|
421
|
-
*
|
|
420
|
+
* Confirm transaction status via standard Solana RPC
|
|
421
|
+
* Polls getSignatureStatuses until confirmed or timeout
|
|
422
422
|
*
|
|
423
423
|
* @param connection Solana Connection
|
|
424
|
-
* @param signature
|
|
425
|
-
* @param timeoutMs
|
|
426
|
-
* @param intervalMs
|
|
427
|
-
* @returns
|
|
424
|
+
* @param signature Transaction signature
|
|
425
|
+
* @param timeoutMs Timeout (ms), default 30000
|
|
426
|
+
* @param intervalMs Poll interval (ms), default 2000
|
|
427
|
+
* @returns Confirmation result
|
|
428
428
|
*/
|
|
429
429
|
async confirmTransactionByRpc(connection, signature, timeoutMs = 30000, intervalMs = 2000) {
|
|
430
430
|
const start = Date.now();
|
|
@@ -439,45 +439,45 @@ export class JitoAdapter {
|
|
|
439
439
|
}
|
|
440
440
|
await sleep(intervalMs);
|
|
441
441
|
}
|
|
442
|
-
return { success: false, error: '
|
|
442
|
+
return { success: false, error: 'Transaction confirmation timeout' };
|
|
443
443
|
}
|
|
444
444
|
// ============================================================
|
|
445
|
-
// Tip
|
|
445
|
+
// Tip Queries
|
|
446
446
|
// ============================================================
|
|
447
447
|
/**
|
|
448
|
-
*
|
|
449
|
-
*
|
|
450
|
-
*
|
|
448
|
+
* Fetch latest tip account list from Jito API
|
|
449
|
+
* Normally the local hardcoded JITO_TIP_ACCOUNTS suffice,
|
|
450
|
+
* this method is for scenarios requiring dynamic tip account retrieval
|
|
451
451
|
*/
|
|
452
452
|
async getTipAccounts() {
|
|
453
453
|
return this.executeWithRetry(async () => {
|
|
454
454
|
const response = await this.sendRequest('/bundles', 'getTipAccounts');
|
|
455
455
|
if (response.error) {
|
|
456
|
-
throw new Error(`Jito getTipAccounts
|
|
456
|
+
throw new Error(`Jito getTipAccounts error: ${response.error.message}`);
|
|
457
457
|
}
|
|
458
458
|
const accounts = response.result;
|
|
459
459
|
if (Array.isArray(accounts) && accounts.length > 0) {
|
|
460
460
|
return accounts;
|
|
461
461
|
}
|
|
462
|
-
//
|
|
462
|
+
// Fallback to local hardcoded list
|
|
463
463
|
return [...JITO_TIP_ACCOUNTS];
|
|
464
464
|
}, 'getTipAccounts');
|
|
465
465
|
}
|
|
466
466
|
/**
|
|
467
|
-
*
|
|
468
|
-
*
|
|
467
|
+
* Get a random tip account address
|
|
468
|
+
* Uses local hardcoded list, no network overhead
|
|
469
469
|
*/
|
|
470
470
|
getRandomTipAccount() {
|
|
471
471
|
const index = Math.floor(Math.random() * JITO_TIP_ACCOUNTS.length);
|
|
472
472
|
return JITO_TIP_ACCOUNTS[index];
|
|
473
473
|
}
|
|
474
474
|
/**
|
|
475
|
-
*
|
|
476
|
-
*
|
|
475
|
+
* Build Jito tip transfer instruction
|
|
476
|
+
* Reuses logic from sol-sdk/jito
|
|
477
477
|
*
|
|
478
|
-
* @param payer
|
|
479
|
-
* @param tipAmountSol Tip
|
|
480
|
-
* @returns SystemProgram.transfer
|
|
478
|
+
* @param payer Payer PublicKey
|
|
479
|
+
* @param tipAmountSol Tip amount (SOL units)
|
|
480
|
+
* @returns SystemProgram.transfer instruction
|
|
481
481
|
*/
|
|
482
482
|
getTipInstruction(payer, tipAmountSol) {
|
|
483
483
|
const tipAccount = new PublicKey(this.getRandomTipAccount());
|
|
@@ -489,11 +489,11 @@ export class JitoAdapter {
|
|
|
489
489
|
});
|
|
490
490
|
}
|
|
491
491
|
// ============================================================
|
|
492
|
-
//
|
|
492
|
+
// Helper Methods
|
|
493
493
|
// ============================================================
|
|
494
494
|
/**
|
|
495
|
-
*
|
|
496
|
-
* (processed / confirmed / finalized
|
|
495
|
+
* Check if bundle status is a success state
|
|
496
|
+
* (processed / confirmed / finalized are all considered successful)
|
|
497
497
|
*/
|
|
498
498
|
isSuccessStatus(status) {
|
|
499
499
|
return (status === BundleStatusEnum.PROCESSED ||
|
|
@@ -501,7 +501,7 @@ export class JitoAdapter {
|
|
|
501
501
|
status === BundleStatusEnum.FINALIZED);
|
|
502
502
|
}
|
|
503
503
|
/**
|
|
504
|
-
*
|
|
504
|
+
* Check if bundle status is a terminal state (will not change)
|
|
505
505
|
*/
|
|
506
506
|
isTerminalStatus(status) {
|
|
507
507
|
return (status === BundleStatusEnum.PROCESSED ||
|
|
@@ -510,7 +510,7 @@ export class JitoAdapter {
|
|
|
510
510
|
status === BundleStatusEnum.FAILED);
|
|
511
511
|
}
|
|
512
512
|
/**
|
|
513
|
-
*
|
|
513
|
+
* Map Jito API status string to BundleStatusEnum
|
|
514
514
|
*/
|
|
515
515
|
mapBundleStatus(rawStatus) {
|
|
516
516
|
if (!rawStatus)
|
|
@@ -532,12 +532,12 @@ export class JitoAdapter {
|
|
|
532
532
|
}
|
|
533
533
|
}
|
|
534
534
|
/**
|
|
535
|
-
*
|
|
535
|
+
* Health check: verify current Jito endpoint availability
|
|
536
536
|
*/
|
|
537
537
|
async healthCheck() {
|
|
538
538
|
const endpoint = this.getCurrentEndpoint();
|
|
539
539
|
try {
|
|
540
|
-
// getTipAccounts
|
|
540
|
+
// getTipAccounts is the lightest Jito API call, suitable for health checks
|
|
541
541
|
await this.getTipAccounts();
|
|
542
542
|
return { healthy: true, endpoint };
|
|
543
543
|
}
|
|
@@ -547,12 +547,12 @@ export class JitoAdapter {
|
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
549
|
// ============================================================
|
|
550
|
-
//
|
|
550
|
+
// Singleton Management (same pattern as RpcAdapter)
|
|
551
551
|
// ============================================================
|
|
552
552
|
let _instance = null;
|
|
553
553
|
/**
|
|
554
|
-
*
|
|
555
|
-
*
|
|
554
|
+
* Get JitoAdapter singleton
|
|
555
|
+
* Creates instance on first call
|
|
556
556
|
*/
|
|
557
557
|
export function getJitoAdapter() {
|
|
558
558
|
if (!_instance) {
|
|
@@ -561,13 +561,13 @@ export function getJitoAdapter() {
|
|
|
561
561
|
return _instance;
|
|
562
562
|
}
|
|
563
563
|
/**
|
|
564
|
-
*
|
|
564
|
+
* Reset singleton (for re-initialization after config changes)
|
|
565
565
|
*/
|
|
566
566
|
export function resetJitoAdapter() {
|
|
567
567
|
_instance = null;
|
|
568
568
|
}
|
|
569
569
|
// ============================================================
|
|
570
|
-
//
|
|
570
|
+
// Utility Functions
|
|
571
571
|
// ============================================================
|
|
572
572
|
function sleep(ms) {
|
|
573
573
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jito-adapter.js","sourceRoot":"","sources":["../../../src/adapters/jito-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jito-adapter.js","sourceRoot":"","sources":["../../../src/adapters/jito-adapter.ts"],"names":[],"mappings":"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"}
|