quicknode-solana-kit 1.0.2 → 1.0.4
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 +1236 -250
- package/dist/addons.d.ts.map +1 -1
- package/dist/addons.js +190 -0
- package/dist/addons.js.map +1 -1
- package/dist/goldrush/index.d.ts +10 -0
- package/dist/goldrush/index.d.ts.map +1 -0
- package/dist/goldrush/index.js +37 -0
- package/dist/goldrush/index.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -2
- package/dist/index.js.map +1 -1
- package/dist/iris/index.d.ts +3 -0
- package/dist/iris/index.d.ts.map +1 -0
- package/dist/iris/index.js +29 -0
- package/dist/iris/index.js.map +1 -0
- package/dist/mev/index.d.ts +4 -0
- package/dist/mev/index.d.ts.map +1 -0
- package/dist/mev/index.js +52 -0
- package/dist/mev/index.js.map +1 -0
- package/dist/openocean/index.d.ts +13 -0
- package/dist/openocean/index.d.ts.map +1 -0
- package/dist/openocean/index.js +63 -0
- package/dist/openocean/index.js.map +1 -0
- package/dist/pumpfun/index.d.ts +7 -0
- package/dist/pumpfun/index.d.ts.map +1 -0
- package/dist/pumpfun/index.js +54 -0
- package/dist/pumpfun/index.js.map +1 -0
- package/dist/scorechain/index.d.ts +4 -0
- package/dist/scorechain/index.d.ts.map +1 -0
- package/dist/scorechain/index.js +26 -0
- package/dist/scorechain/index.js.map +1 -0
- package/dist/stablecoin/index.d.ts +3 -0
- package/dist/stablecoin/index.d.ts.map +1 -0
- package/dist/stablecoin/index.js +16 -0
- package/dist/stablecoin/index.js.map +1 -0
- package/dist/titan/index.d.ts +5 -0
- package/dist/titan/index.d.ts.map +1 -0
- package/dist/titan/index.js +119 -0
- package/dist/titan/index.js.map +1 -0
- package/dist/types/index.d.ts +234 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/addon-guard.d.ts.map +1 -1
- package/dist/utils/addon-guard.js +47 -0
- package/dist/utils/addon-guard.js.map +1 -1
- package/package.json +1 -1
package/dist/addons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addons.d.ts","sourceRoot":"","sources":["../src/addons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"addons.d.ts","sourceRoot":"","sources":["../src/addons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;AAqQvE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC,GAChD,OAAO,CAAC,gBAAgB,CAAC,CA4B3B"}
|
package/dist/addons.js
CHANGED
|
@@ -105,6 +105,187 @@ const DEFS = [
|
|
|
105
105
|
enableUrl: 'https://marketplace.quicknode.com/add-ons/yellowstone-grpc',
|
|
106
106
|
probe: async () => false,
|
|
107
107
|
},
|
|
108
|
+
{
|
|
109
|
+
key: 'pumpfun',
|
|
110
|
+
name: 'Pump Fun API',
|
|
111
|
+
tier: 'free',
|
|
112
|
+
description: 'Access pump.fun token data, bonding curves, and trades',
|
|
113
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/pump-fun-api',
|
|
114
|
+
probe: async (url) => {
|
|
115
|
+
try {
|
|
116
|
+
const base = url.replace(/\/$/, '');
|
|
117
|
+
const res = await fetch(`${base}/pump-fun/coins?limit=1`, { signal: AbortSignal.timeout(5_000) });
|
|
118
|
+
return res.status === 200;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
key: 'stablecoinBalance',
|
|
127
|
+
name: 'Multi-Chain Stablecoin Balance API',
|
|
128
|
+
tier: 'paid',
|
|
129
|
+
description: 'Query stablecoin holdings across 10+ chains from one call',
|
|
130
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/multi-chain-stablecoin-balance-api',
|
|
131
|
+
probe: async (url) => {
|
|
132
|
+
try {
|
|
133
|
+
const res = await fetch(url, {
|
|
134
|
+
method: 'POST',
|
|
135
|
+
headers: { 'Content-Type': 'application/json' },
|
|
136
|
+
body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'qn_getWalletStablecoinBalances', params: { wallet: 'E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk' } }),
|
|
137
|
+
signal: AbortSignal.timeout(8_000),
|
|
138
|
+
});
|
|
139
|
+
const data = await res.json();
|
|
140
|
+
if (data.result !== undefined)
|
|
141
|
+
return true;
|
|
142
|
+
if (data.error)
|
|
143
|
+
return isEnabledError(new Error(`${data.error.code}: ${data.error.message}`));
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
key: 'openocean',
|
|
153
|
+
name: 'OpenOcean V4 Swap API',
|
|
154
|
+
tier: 'free',
|
|
155
|
+
description: 'Best-rate DeFi swaps aggregated across 40+ chains',
|
|
156
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/openocean-v4-swap-api',
|
|
157
|
+
probe: async (url) => {
|
|
158
|
+
try {
|
|
159
|
+
const base = url.replace(/\/$/, '');
|
|
160
|
+
const res = await fetch(`${base}/openocean/v4/solana/quote?inTokenAddress=So11111111111111111111111111111111111111112&outTokenAddress=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&amount=1000000`, { signal: AbortSignal.timeout(5_000) });
|
|
161
|
+
return res.status === 200;
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
key: 'merkle',
|
|
170
|
+
name: 'Solana MEV Protection & Recovery',
|
|
171
|
+
tier: 'free',
|
|
172
|
+
description: 'MEV-protected transaction submission via Merkle',
|
|
173
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/solana-mev-protection-and-recovery',
|
|
174
|
+
probe: async (url) => {
|
|
175
|
+
try {
|
|
176
|
+
const res = await fetch(url, {
|
|
177
|
+
method: 'POST',
|
|
178
|
+
headers: { 'Content-Type': 'application/json' },
|
|
179
|
+
body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'mev_sendBundle', params: [[]] }),
|
|
180
|
+
signal: AbortSignal.timeout(5_000),
|
|
181
|
+
});
|
|
182
|
+
const data = await res.json();
|
|
183
|
+
if (data.result !== undefined)
|
|
184
|
+
return true;
|
|
185
|
+
if (data.error)
|
|
186
|
+
return isEnabledError(new Error(`${data.error.code}: ${data.error.message}`));
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
key: 'blinklabs',
|
|
196
|
+
name: 'Solana MEV Resilience & Recovery',
|
|
197
|
+
tier: 'free',
|
|
198
|
+
description: 'Improved transaction execution quality via Blink Labs',
|
|
199
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/solana-mev-resilience-and-recovery',
|
|
200
|
+
probe: async (url) => {
|
|
201
|
+
try {
|
|
202
|
+
const res = await fetch(url, {
|
|
203
|
+
method: 'POST',
|
|
204
|
+
headers: { 'Content-Type': 'application/json' },
|
|
205
|
+
body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'blinklabs_getStatus', params: [] }),
|
|
206
|
+
signal: AbortSignal.timeout(5_000),
|
|
207
|
+
});
|
|
208
|
+
const data = await res.json();
|
|
209
|
+
if (data.result !== undefined)
|
|
210
|
+
return true;
|
|
211
|
+
if (data.error)
|
|
212
|
+
return isEnabledError(new Error(`${data.error.code}: ${data.error.message}`));
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
key: 'iris',
|
|
222
|
+
name: 'Iris Transaction Sender',
|
|
223
|
+
tier: 'paid',
|
|
224
|
+
description: 'Lightning-fast Solana transaction sender with p90 sub-slot latency',
|
|
225
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/iris-transaction-sender',
|
|
226
|
+
probe: async (url) => {
|
|
227
|
+
try {
|
|
228
|
+
const base = url.replace(/\/$/, '');
|
|
229
|
+
const res = await fetch(`${base}/iris/v1/health`, { signal: AbortSignal.timeout(5_000) });
|
|
230
|
+
return res.status === 200;
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
key: 'goldrush',
|
|
239
|
+
name: 'GoldRush — Multichain Data APIs',
|
|
240
|
+
tier: 'paid',
|
|
241
|
+
description: 'Onchain data from 100+ chains via Covalent',
|
|
242
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/goldrush-multichain-data-apis',
|
|
243
|
+
probe: async (url) => {
|
|
244
|
+
try {
|
|
245
|
+
const base = url.replace(/\/$/, '');
|
|
246
|
+
const res = await fetch(`${base}/goldrush/v1/solana-mainnet/address/E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk/balances_v2/`, { signal: AbortSignal.timeout(5_000) });
|
|
247
|
+
return res.status === 200;
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
key: 'titan',
|
|
256
|
+
name: 'DeFi Swap Meta-Aggregation API',
|
|
257
|
+
tier: 'paid',
|
|
258
|
+
description: 'WebSocket-based streaming executable swap quotes via Titan',
|
|
259
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/defi-swap-meta-aggregation-api',
|
|
260
|
+
probe: async (url) => {
|
|
261
|
+
try {
|
|
262
|
+
const base = url.replace(/\/$/, '');
|
|
263
|
+
const res = await fetch(`${base}/titan/v1/quote?inputMint=So11111111111111111111111111111111111111112&outputMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&amount=1000000`, { signal: AbortSignal.timeout(5_000) });
|
|
264
|
+
return res.status === 200;
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
key: 'scorechain',
|
|
273
|
+
name: 'Risk Assessment API',
|
|
274
|
+
tier: 'paid',
|
|
275
|
+
description: 'AML/CFT risk scoring and compliance checks via Scorechain',
|
|
276
|
+
enableUrl: 'https://marketplace.quicknode.com/add-ons/risk-assessment-api',
|
|
277
|
+
probe: async (url) => {
|
|
278
|
+
try {
|
|
279
|
+
const base = url.replace(/\/$/, '');
|
|
280
|
+
const res = await fetch(`${base}/scorechain/v1/health`, { signal: AbortSignal.timeout(5_000) });
|
|
281
|
+
// 200 = enabled, 401 = enabled but needs auth, anything else = not enabled
|
|
282
|
+
return res.status === 200 || res.status === 401;
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
},
|
|
108
289
|
];
|
|
109
290
|
async function checkAddOns(config) {
|
|
110
291
|
const statuses = [];
|
|
@@ -122,6 +303,15 @@ async function checkAddOns(config) {
|
|
|
122
303
|
swaps: get('metis'),
|
|
123
304
|
yellowstoneStream: get('yellowstone'),
|
|
124
305
|
jitoBundle: get('liljit'),
|
|
306
|
+
pumpFun: get('pumpfun'),
|
|
307
|
+
stablecoinBalances: get('stablecoinBalance'),
|
|
308
|
+
openOceanSwaps: get('openocean'),
|
|
309
|
+
merkleProtection: get('merkle'),
|
|
310
|
+
blinkLabsProtection: get('blinklabs'),
|
|
311
|
+
irisTransactions: get('iris'),
|
|
312
|
+
goldRushData: get('goldrush'),
|
|
313
|
+
titanSwaps: get('titan'),
|
|
314
|
+
riskAssessment: get('scorechain'),
|
|
125
315
|
},
|
|
126
316
|
};
|
|
127
317
|
}
|
package/dist/addons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addons.js","sourceRoot":"","sources":["../src/addons.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"addons.js","sourceRoot":"","sources":["../src/addons.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { QNConfig, GoldRushBalancesResult, GoldRushTransaction, GetGoldRushBalancesOptions, GetGoldRushTransactionsOptions } from '../types';
|
|
2
|
+
export declare function getGoldRushBalances(config: QNConfig, options: GetGoldRushBalancesOptions): Promise<GoldRushBalancesResult>;
|
|
3
|
+
export declare function getGoldRushTransactions(config: QNConfig, options: GetGoldRushTransactionsOptions): Promise<{
|
|
4
|
+
items: GoldRushTransaction[];
|
|
5
|
+
currentPage: number;
|
|
6
|
+
links: {
|
|
7
|
+
next?: string;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/goldrush/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC/B,MAAM,UAAU,CAAC;AAalB,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC,CAYjC;AAGD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAY1F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGoldRushBalances = getGoldRushBalances;
|
|
4
|
+
exports.getGoldRushTransactions = getGoldRushTransactions;
|
|
5
|
+
const addon_guard_1 = require("../utils/addon-guard");
|
|
6
|
+
const http_1 = require("../utils/http");
|
|
7
|
+
// GoldRush (Covalent) REST API mounted at /goldrush/v1/ on the QuickNode endpoint
|
|
8
|
+
// Docs: https://goldrush.dev/docs/api/
|
|
9
|
+
// Supports 100+ chains. Default chain for this Solana kit is 'solana-mainnet'.
|
|
10
|
+
function base(config) {
|
|
11
|
+
return config.endpointUrl.replace(/\/$/, '') + '/goldrush/v1';
|
|
12
|
+
}
|
|
13
|
+
// Get all token + NFT balances for a wallet on any supported chain
|
|
14
|
+
async function getGoldRushBalances(config, options) {
|
|
15
|
+
(0, addon_guard_1.requireAddOn)(config, 'goldrush');
|
|
16
|
+
const chain = options.chain ?? 'solana-mainnet';
|
|
17
|
+
const qs = new URLSearchParams();
|
|
18
|
+
if (options.noSpam !== undefined)
|
|
19
|
+
qs.set('no-spam', String(options.noSpam));
|
|
20
|
+
if (options.quoteCurrency)
|
|
21
|
+
qs.set('quote-currency', options.quoteCurrency);
|
|
22
|
+
const query = qs.toString() ? `?${qs}` : '';
|
|
23
|
+
return (0, http_1.httpGet)(`${base(config)}/${chain}/address/${options.walletAddress}/balances_v2/${query}`, config.timeout);
|
|
24
|
+
}
|
|
25
|
+
// Get transaction history for a wallet
|
|
26
|
+
async function getGoldRushTransactions(config, options) {
|
|
27
|
+
(0, addon_guard_1.requireAddOn)(config, 'goldrush');
|
|
28
|
+
const chain = options.chain ?? 'solana-mainnet';
|
|
29
|
+
const qs = new URLSearchParams();
|
|
30
|
+
if (options.pageSize)
|
|
31
|
+
qs.set('page-size', String(options.pageSize));
|
|
32
|
+
if (options.pageNumber)
|
|
33
|
+
qs.set('page-number', String(options.pageNumber));
|
|
34
|
+
const query = qs.toString() ? `?${qs}` : '';
|
|
35
|
+
return (0, http_1.httpGet)(`${base(config)}/${chain}/address/${options.walletAddress}/transactions_v3/${query}`, config.timeout);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/goldrush/index.ts"],"names":[],"mappings":";;AAmBA,kDAeC;AAGD,0DAeC;AA7CD,sDAAoD;AACpD,wCAAwC;AAExC,kFAAkF;AAClF,uCAAuC;AACvC,+EAA+E;AAE/E,SAAS,IAAI,CAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC;AAChE,CAAC;AAED,mEAAmE;AAC5D,KAAK,UAAU,mBAAmB,CACvC,MAAgB,EAChB,OAAmC;IAEnC,IAAA,0BAAY,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAChD,MAAM,EAAE,GAAM,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAY,SAAS;QAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAS,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,aAAa;QAAgB,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,IAAA,cAAO,EACZ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,OAAO,CAAC,aAAa,gBAAgB,KAAK,EAAE,EAChF,MAAM,CAAC,OAAO,CACf,CAAC;AACJ,CAAC;AAED,uCAAuC;AAChC,KAAK,UAAU,uBAAuB,CAC3C,MAAgB,EAChB,OAAuC;IAEvC,IAAA,0BAAY,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAChD,MAAM,EAAE,GAAM,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,QAAQ;QAAI,EAAE,CAAC,GAAG,CAAC,WAAW,EAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,UAAU;QAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,IAAA,cAAO,EACZ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,OAAO,CAAC,aAAa,oBAAoB,KAAK,EAAE,EACpF,MAAM,CAAC,OAAO,CACf,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,17 @@ export * from './transactions';
|
|
|
10
10
|
export * from './assets';
|
|
11
11
|
export * from './streaming';
|
|
12
12
|
export * from './swap';
|
|
13
|
+
export * from './pumpfun';
|
|
14
|
+
export * from './stablecoin';
|
|
15
|
+
export * from './openocean';
|
|
16
|
+
export * from './mev';
|
|
17
|
+
export * from './iris';
|
|
18
|
+
export * from './goldrush';
|
|
19
|
+
export * from './titan';
|
|
20
|
+
export * from './scorechain';
|
|
13
21
|
export { checkAddOns } from './addons';
|
|
14
22
|
export { TOKENS } from './swap';
|
|
23
|
+
export { OO_TOKENS } from './openocean';
|
|
15
24
|
export declare class QNSolanaKit {
|
|
16
25
|
readonly config: QNConfig;
|
|
17
26
|
readonly connection: Connection;
|
|
@@ -35,6 +44,30 @@ export declare class QNSolanaKit {
|
|
|
35
44
|
watchSlot(onSlot: (slot: number) => void): any;
|
|
36
45
|
getSwapQuote(options: Parameters<typeof import('./swap').getSwapQuote>[1]): Promise<import("./types").SwapQuote>;
|
|
37
46
|
swap(options: Parameters<typeof import('./swap').swap>[1]): Promise<import("./types").SwapResult>;
|
|
47
|
+
getPumpFunTokens(options?: Parameters<typeof import('./pumpfun').getPumpFunTokens>[1]): Promise<import("./types").PumpFunToken[]>;
|
|
48
|
+
getPumpFunToken(mint: string): Promise<import("./types").PumpFunToken>;
|
|
49
|
+
getPumpFunTokensByCreator(options: Parameters<typeof import('./pumpfun').getPumpFunTokensByCreator>[1]): Promise<import("./types").PumpFunToken[]>;
|
|
50
|
+
getPumpFunTokenHolders(mint: string): Promise<import("./types").PumpFunTokenHolder[]>;
|
|
51
|
+
getPumpFunTokenTrades(mint: string, options?: Parameters<typeof import('./pumpfun').getPumpFunTokenTrades>[2]): Promise<import("./types").PumpFunTrade[]>;
|
|
52
|
+
getStablecoinBalance(options: Parameters<typeof import('./stablecoin').getStablecoinBalance>[1]): Promise<import("./types").StablecoinBalanceResult>;
|
|
53
|
+
getOpenOceanQuote(options: Parameters<typeof import('./openocean').getOpenOceanQuote>[1]): Promise<import("./types").OpenOceanQuote>;
|
|
54
|
+
openOceanSwap(options: Parameters<typeof import('./openocean').openOceanSwap>[1]): Promise<import("./types").OpenOceanSwapResult>;
|
|
55
|
+
sendMerkleProtectedTransaction(options: Parameters<typeof import('./mev').sendMerkleProtectedTransaction>[1]): Promise<import("./types").MevTxResult>;
|
|
56
|
+
sendBlinkLabsTransaction(options: Parameters<typeof import('./mev').sendBlinkLabsTransaction>[1]): Promise<import("./types").MevTxResult>;
|
|
57
|
+
sendIrisTransaction(options: Parameters<typeof import('./iris').sendIrisTransaction>[1]): Promise<import("./types").IrisTxResult>;
|
|
58
|
+
getGoldRushBalances(options: Parameters<typeof import('./goldrush').getGoldRushBalances>[1]): Promise<import("./types").GoldRushBalancesResult>;
|
|
59
|
+
getGoldRushTransactions(options: Parameters<typeof import('./goldrush').getGoldRushTransactions>[1]): Promise<{
|
|
60
|
+
items: import("./types").GoldRushTransaction[];
|
|
61
|
+
currentPage: number;
|
|
62
|
+
links: {
|
|
63
|
+
next?: string;
|
|
64
|
+
};
|
|
65
|
+
}>;
|
|
66
|
+
getTitanSwapQuote(options: Parameters<typeof import('./titan').getTitanSwapQuote>[1]): Promise<import("./types").TitanSwapQuote>;
|
|
67
|
+
titanSwap(options: Parameters<typeof import('./titan').titanSwap>[1]): Promise<import("./types").TitanSwapResult>;
|
|
68
|
+
subscribeTitanQuotes(options: Parameters<typeof import('./titan').subscribeTitanQuotes>[1], onQuote: Parameters<typeof import('./titan').subscribeTitanQuotes>[2], onError?: Parameters<typeof import('./titan').subscribeTitanQuotes>[3]): any;
|
|
69
|
+
assessWalletRisk(options: Parameters<typeof import('./scorechain').assessWalletRisk>[1]): Promise<import("./types").WalletRiskAssessment>;
|
|
70
|
+
isWalletSafe(address: string): Promise<boolean>;
|
|
38
71
|
}
|
|
39
72
|
export default QNSolanaKit;
|
|
40
73
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI1D,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.QNSolanaKit = exports.TOKENS = exports.checkAddOns = void 0;
|
|
39
|
+
exports.QNSolanaKit = exports.OO_TOKENS = exports.TOKENS = exports.checkAddOns = void 0;
|
|
40
40
|
const helpers_1 = require("./utils/helpers");
|
|
41
41
|
// Re-export everything
|
|
42
42
|
__exportStar(require("./types"), exports);
|
|
@@ -45,10 +45,20 @@ __exportStar(require("./transactions"), exports);
|
|
|
45
45
|
__exportStar(require("./assets"), exports);
|
|
46
46
|
__exportStar(require("./streaming"), exports);
|
|
47
47
|
__exportStar(require("./swap"), exports);
|
|
48
|
+
__exportStar(require("./pumpfun"), exports);
|
|
49
|
+
__exportStar(require("./stablecoin"), exports);
|
|
50
|
+
__exportStar(require("./openocean"), exports);
|
|
51
|
+
__exportStar(require("./mev"), exports);
|
|
52
|
+
__exportStar(require("./iris"), exports);
|
|
53
|
+
__exportStar(require("./goldrush"), exports);
|
|
54
|
+
__exportStar(require("./titan"), exports);
|
|
55
|
+
__exportStar(require("./scorechain"), exports);
|
|
48
56
|
var addons_1 = require("./addons");
|
|
49
57
|
Object.defineProperty(exports, "checkAddOns", { enumerable: true, get: function () { return addons_1.checkAddOns; } });
|
|
50
58
|
var swap_1 = require("./swap");
|
|
51
59
|
Object.defineProperty(exports, "TOKENS", { enumerable: true, get: function () { return swap_1.TOKENS; } });
|
|
60
|
+
var openocean_1 = require("./openocean");
|
|
61
|
+
Object.defineProperty(exports, "OO_TOKENS", { enumerable: true, get: function () { return openocean_1.OO_TOKENS; } });
|
|
52
62
|
class QNSolanaKit {
|
|
53
63
|
config;
|
|
54
64
|
connection;
|
|
@@ -113,7 +123,7 @@ class QNSolanaKit {
|
|
|
113
123
|
const { watchSlot } = require('./streaming');
|
|
114
124
|
return watchSlot(this.config, onSlot);
|
|
115
125
|
}
|
|
116
|
-
// ── Swap
|
|
126
|
+
// ── Swap (Metis / Jupiter) ────────────────────────────────
|
|
117
127
|
async getSwapQuote(options) {
|
|
118
128
|
const { getSwapQuote } = await Promise.resolve().then(() => __importStar(require('./swap')));
|
|
119
129
|
return getSwapQuote(this.config, options);
|
|
@@ -122,6 +132,86 @@ class QNSolanaKit {
|
|
|
122
132
|
const { swap } = await Promise.resolve().then(() => __importStar(require('./swap')));
|
|
123
133
|
return swap(this.config, options);
|
|
124
134
|
}
|
|
135
|
+
// ── Pump Fun ──────────────────────────────────────────────
|
|
136
|
+
async getPumpFunTokens(options) {
|
|
137
|
+
const { getPumpFunTokens } = await Promise.resolve().then(() => __importStar(require('./pumpfun')));
|
|
138
|
+
return getPumpFunTokens(this.config, options);
|
|
139
|
+
}
|
|
140
|
+
async getPumpFunToken(mint) {
|
|
141
|
+
const { getPumpFunToken } = await Promise.resolve().then(() => __importStar(require('./pumpfun')));
|
|
142
|
+
return getPumpFunToken(this.config, mint);
|
|
143
|
+
}
|
|
144
|
+
async getPumpFunTokensByCreator(options) {
|
|
145
|
+
const { getPumpFunTokensByCreator } = await Promise.resolve().then(() => __importStar(require('./pumpfun')));
|
|
146
|
+
return getPumpFunTokensByCreator(this.config, options);
|
|
147
|
+
}
|
|
148
|
+
async getPumpFunTokenHolders(mint) {
|
|
149
|
+
const { getPumpFunTokenHolders } = await Promise.resolve().then(() => __importStar(require('./pumpfun')));
|
|
150
|
+
return getPumpFunTokenHolders(this.config, mint);
|
|
151
|
+
}
|
|
152
|
+
async getPumpFunTokenTrades(mint, options) {
|
|
153
|
+
const { getPumpFunTokenTrades } = await Promise.resolve().then(() => __importStar(require('./pumpfun')));
|
|
154
|
+
return getPumpFunTokenTrades(this.config, mint, options);
|
|
155
|
+
}
|
|
156
|
+
// ── Stablecoin Balance ────────────────────────────────────
|
|
157
|
+
async getStablecoinBalance(options) {
|
|
158
|
+
const { getStablecoinBalance } = await Promise.resolve().then(() => __importStar(require('./stablecoin')));
|
|
159
|
+
return getStablecoinBalance(this.config, options);
|
|
160
|
+
}
|
|
161
|
+
// ── OpenOcean V4 ──────────────────────────────────────────
|
|
162
|
+
async getOpenOceanQuote(options) {
|
|
163
|
+
const { getOpenOceanQuote } = await Promise.resolve().then(() => __importStar(require('./openocean')));
|
|
164
|
+
return getOpenOceanQuote(this.config, options);
|
|
165
|
+
}
|
|
166
|
+
async openOceanSwap(options) {
|
|
167
|
+
const { openOceanSwap } = await Promise.resolve().then(() => __importStar(require('./openocean')));
|
|
168
|
+
return openOceanSwap(this.config, options);
|
|
169
|
+
}
|
|
170
|
+
// ── MEV Protection ────────────────────────────────────────
|
|
171
|
+
async sendMerkleProtectedTransaction(options) {
|
|
172
|
+
const { sendMerkleProtectedTransaction } = await Promise.resolve().then(() => __importStar(require('./mev')));
|
|
173
|
+
return sendMerkleProtectedTransaction(this.config, options);
|
|
174
|
+
}
|
|
175
|
+
async sendBlinkLabsTransaction(options) {
|
|
176
|
+
const { sendBlinkLabsTransaction } = await Promise.resolve().then(() => __importStar(require('./mev')));
|
|
177
|
+
return sendBlinkLabsTransaction(this.config, options);
|
|
178
|
+
}
|
|
179
|
+
// ── Iris Transaction Sender ───────────────────────────────
|
|
180
|
+
async sendIrisTransaction(options) {
|
|
181
|
+
const { sendIrisTransaction } = await Promise.resolve().then(() => __importStar(require('./iris')));
|
|
182
|
+
return sendIrisTransaction(this.config, options);
|
|
183
|
+
}
|
|
184
|
+
// ── GoldRush Multichain ───────────────────────────────────
|
|
185
|
+
async getGoldRushBalances(options) {
|
|
186
|
+
const { getGoldRushBalances } = await Promise.resolve().then(() => __importStar(require('./goldrush')));
|
|
187
|
+
return getGoldRushBalances(this.config, options);
|
|
188
|
+
}
|
|
189
|
+
async getGoldRushTransactions(options) {
|
|
190
|
+
const { getGoldRushTransactions } = await Promise.resolve().then(() => __importStar(require('./goldrush')));
|
|
191
|
+
return getGoldRushTransactions(this.config, options);
|
|
192
|
+
}
|
|
193
|
+
// ── Titan DeFi Swap ───────────────────────────────────────
|
|
194
|
+
async getTitanSwapQuote(options) {
|
|
195
|
+
const { getTitanSwapQuote } = await Promise.resolve().then(() => __importStar(require('./titan')));
|
|
196
|
+
return getTitanSwapQuote(this.config, options);
|
|
197
|
+
}
|
|
198
|
+
async titanSwap(options) {
|
|
199
|
+
const { titanSwap } = await Promise.resolve().then(() => __importStar(require('./titan')));
|
|
200
|
+
return titanSwap(this.config, options);
|
|
201
|
+
}
|
|
202
|
+
subscribeTitanQuotes(options, onQuote, onError) {
|
|
203
|
+
const { subscribeTitanQuotes } = require('./titan');
|
|
204
|
+
return subscribeTitanQuotes(this.config, options, onQuote, onError);
|
|
205
|
+
}
|
|
206
|
+
// ── Scorechain Risk Assessment ────────────────────────────
|
|
207
|
+
async assessWalletRisk(options) {
|
|
208
|
+
const { assessWalletRisk } = await Promise.resolve().then(() => __importStar(require('./scorechain')));
|
|
209
|
+
return assessWalletRisk(this.config, options);
|
|
210
|
+
}
|
|
211
|
+
async isWalletSafe(address) {
|
|
212
|
+
const { isWalletSafe } = await Promise.resolve().then(() => __importStar(require('./scorechain')));
|
|
213
|
+
return isWalletSafe(this.config, address);
|
|
214
|
+
}
|
|
125
215
|
}
|
|
126
216
|
exports.QNSolanaKit = QNSolanaKit;
|
|
127
217
|
exports.default = QNSolanaKit;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,6CAAmE;AAEnE,uBAAuB;AACvB,0CAAwB;AACxB,iDAA+B;AAC/B,iDAA+B;AAC/B,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB;AACvB,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AACpB,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/iris/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUtE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendIrisTransaction = sendIrisTransaction;
|
|
4
|
+
const addon_guard_1 = require("../utils/addon-guard");
|
|
5
|
+
const helpers_1 = require("../utils/helpers");
|
|
6
|
+
const http_1 = require("../utils/http");
|
|
7
|
+
// Docs: Astralane Iris Transaction Sender
|
|
8
|
+
// Lightning-fast Solana transaction sender with p90 sub-slot latency.
|
|
9
|
+
// Built for high-frequency traders, bots, and institutional-grade performance.
|
|
10
|
+
// The add-on exposes iris_sendTransaction on the QuickNode endpoint.
|
|
11
|
+
async function sendIrisTransaction(config, options) {
|
|
12
|
+
(0, addon_guard_1.requireAddOn)(config, 'iris');
|
|
13
|
+
const startTime = Date.now();
|
|
14
|
+
const conn = (0, helpers_1.createConnection)(config);
|
|
15
|
+
const result = await (0, http_1.rpcPost)(config.endpointUrl, 'iris_sendTransaction', {
|
|
16
|
+
transaction: options.serializedTransaction,
|
|
17
|
+
skipPreflight: options.skipPreflight ?? false,
|
|
18
|
+
maxRetries: options.maxRetries ?? 3,
|
|
19
|
+
}, config.timeout);
|
|
20
|
+
// Confirm using standard web3.js after Iris submits
|
|
21
|
+
const { blockhash, lastValidBlockHeight } = await conn.getLatestBlockhash('confirmed');
|
|
22
|
+
await conn.confirmTransaction({ signature: result.signature, blockhash, lastValidBlockHeight }, config.commitment ?? 'confirmed');
|
|
23
|
+
return {
|
|
24
|
+
signature: result.signature,
|
|
25
|
+
slot: result.slot,
|
|
26
|
+
confirmationMs: Date.now() - startTime,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/iris/index.ts"],"names":[],"mappings":";;AAUA,kDA+BC;AAxCD,sDAAoD;AACpD,8CAAoD;AACpD,wCAAwC;AAExC,0CAA0C;AAC1C,sEAAsE;AACtE,+EAA+E;AAC/E,qEAAqE;AAE9D,KAAK,UAAU,mBAAmB,CACvC,MAAgB,EAChB,OAAsB;IAEtB,IAAA,0BAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAQ,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,IAAA,cAAO,EAC1B,MAAM,CAAC,WAAW,EAClB,sBAAsB,EACtB;QACE,WAAW,EAAI,OAAO,CAAC,qBAAqB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;QAC7C,UAAU,EAAK,OAAO,CAAC,UAAU,IAAO,CAAC;KAC1C,EACD,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,oDAAoD;IACpD,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,kBAAkB,CAC3B,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAChE,MAAM,CAAC,UAAU,IAAI,WAAW,CACjC,CAAC;IAEF,OAAO;QACL,SAAS,EAAO,MAAM,CAAC,SAAS;QAChC,IAAI,EAAY,MAAM,CAAC,IAAI;QAC3B,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { QNConfig, MevProtectedTxOptions, MevTxResult } from '../types';
|
|
2
|
+
export declare function sendMerkleProtectedTransaction(config: QNConfig, options: MevProtectedTxOptions): Promise<MevTxResult>;
|
|
3
|
+
export declare function sendBlinkLabsTransaction(config: QNConfig, options: MevProtectedTxOptions): Promise<MevTxResult>;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mev/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU7E,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,WAAW,CAAC,CA4BtB;AAOD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,WAAW,CAAC,CA4BtB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendMerkleProtectedTransaction = sendMerkleProtectedTransaction;
|
|
4
|
+
exports.sendBlinkLabsTransaction = sendBlinkLabsTransaction;
|
|
5
|
+
const addon_guard_1 = require("../utils/addon-guard");
|
|
6
|
+
const helpers_1 = require("../utils/helpers");
|
|
7
|
+
const http_1 = require("../utils/http");
|
|
8
|
+
// ── Merkle MEV Protection & Recovery ──────────────────────────────────────────
|
|
9
|
+
// Docs: https://docs.merkle.io
|
|
10
|
+
// Sends transactions through Merkle's validators for MEV protection.
|
|
11
|
+
// The add-on exposes the mev_sendTransaction RPC method on the QuickNode endpoint.
|
|
12
|
+
async function sendMerkleProtectedTransaction(config, options) {
|
|
13
|
+
(0, addon_guard_1.requireAddOn)(config, 'merkle');
|
|
14
|
+
const startTime = Date.now();
|
|
15
|
+
const conn = (0, helpers_1.createConnection)(config);
|
|
16
|
+
const params = {
|
|
17
|
+
transaction: options.serializedTransaction,
|
|
18
|
+
};
|
|
19
|
+
if (options.tipLamports)
|
|
20
|
+
params.tip = options.tipLamports;
|
|
21
|
+
const signature = await (0, http_1.rpcPost)(config.endpointUrl, 'mev_sendTransaction', params, config.timeout);
|
|
22
|
+
const { blockhash, lastValidBlockHeight } = await conn.getLatestBlockhash('confirmed');
|
|
23
|
+
await conn.confirmTransaction({ signature, blockhash, lastValidBlockHeight }, config.commitment ?? 'confirmed');
|
|
24
|
+
return {
|
|
25
|
+
signature,
|
|
26
|
+
provider: 'merkle',
|
|
27
|
+
confirmationMs: Date.now() - startTime,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
// ── Blink Labs MEV Resilience & Recovery ──────────────────────────────────────
|
|
31
|
+
// Docs: https://blinklabs.io
|
|
32
|
+
// Routes transactions through Blink Labs' optimized transaction pipeline for
|
|
33
|
+
// improved inclusion rates and MEV resilience.
|
|
34
|
+
async function sendBlinkLabsTransaction(config, options) {
|
|
35
|
+
(0, addon_guard_1.requireAddOn)(config, 'blinklabs');
|
|
36
|
+
const startTime = Date.now();
|
|
37
|
+
const conn = (0, helpers_1.createConnection)(config);
|
|
38
|
+
const params = {
|
|
39
|
+
transaction: options.serializedTransaction,
|
|
40
|
+
};
|
|
41
|
+
if (options.tipLamports)
|
|
42
|
+
params.tip = options.tipLamports;
|
|
43
|
+
const signature = await (0, http_1.rpcPost)(config.endpointUrl, 'blinklabs_sendTransaction', params, config.timeout);
|
|
44
|
+
const { blockhash, lastValidBlockHeight } = await conn.getLatestBlockhash('confirmed');
|
|
45
|
+
await conn.confirmTransaction({ signature, blockhash, lastValidBlockHeight }, config.commitment ?? 'confirmed');
|
|
46
|
+
return {
|
|
47
|
+
signature,
|
|
48
|
+
provider: 'blinklabs',
|
|
49
|
+
confirmationMs: Date.now() - startTime,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mev/index.ts"],"names":[],"mappings":";;AAUA,wEA+BC;AAOD,4DA+BC;AA9ED,sDAAoD;AACpD,8CAAoD;AACpD,wCAAwC;AAExC,iFAAiF;AACjF,+BAA+B;AAC/B,qEAAqE;AACrE,mFAAmF;AAE5E,KAAK,UAAU,8BAA8B,CAClD,MAAgB,EAChB,OAA8B;IAE9B,IAAA,0BAAY,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAQ,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,MAAM,GAA4B;QACtC,WAAW,EAAE,OAAO,CAAC,qBAAqB;KAC3C,CAAC;IACF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAE1D,MAAM,SAAS,GAAG,MAAM,IAAA,cAAO,EAC7B,MAAM,CAAC,WAAW,EAClB,qBAAqB,EACrB,MAAM,EACN,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,kBAAkB,CAC3B,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAC9C,MAAM,CAAC,UAAU,IAAI,WAAW,CACjC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,QAAQ,EAAQ,QAAQ;QACxB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACvC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,6BAA6B;AAC7B,6EAA6E;AAC7E,+CAA+C;AAExC,KAAK,UAAU,wBAAwB,CAC5C,MAAgB,EAChB,OAA8B;IAE9B,IAAA,0BAAY,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAQ,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,MAAM,GAA4B;QACtC,WAAW,EAAE,OAAO,CAAC,qBAAqB;KAC3C,CAAC;IACF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAE1D,MAAM,SAAS,GAAG,MAAM,IAAA,cAAO,EAC7B,MAAM,CAAC,WAAW,EAClB,2BAA2B,EAC3B,MAAM,EACN,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,kBAAkB,CAC3B,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAC9C,MAAM,CAAC,UAAU,IAAI,WAAW,CACjC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,QAAQ,EAAQ,WAAW;QAC3B,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACvC,CAAC;AACJ,CAAC"}
|