quicknode-solana-kit 1.0.2 → 1.0.3

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.
Files changed (46) hide show
  1. package/README.md +953 -257
  2. package/dist/addons.d.ts.map +1 -1
  3. package/dist/addons.js +190 -0
  4. package/dist/addons.js.map +1 -1
  5. package/dist/goldrush/index.d.ts +10 -0
  6. package/dist/goldrush/index.d.ts.map +1 -0
  7. package/dist/goldrush/index.js +37 -0
  8. package/dist/goldrush/index.js.map +1 -0
  9. package/dist/index.d.ts +33 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +92 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/iris/index.d.ts +3 -0
  14. package/dist/iris/index.d.ts.map +1 -0
  15. package/dist/iris/index.js +29 -0
  16. package/dist/iris/index.js.map +1 -0
  17. package/dist/mev/index.d.ts +4 -0
  18. package/dist/mev/index.d.ts.map +1 -0
  19. package/dist/mev/index.js +52 -0
  20. package/dist/mev/index.js.map +1 -0
  21. package/dist/openocean/index.d.ts +13 -0
  22. package/dist/openocean/index.d.ts.map +1 -0
  23. package/dist/openocean/index.js +63 -0
  24. package/dist/openocean/index.js.map +1 -0
  25. package/dist/pumpfun/index.d.ts +7 -0
  26. package/dist/pumpfun/index.d.ts.map +1 -0
  27. package/dist/pumpfun/index.js +54 -0
  28. package/dist/pumpfun/index.js.map +1 -0
  29. package/dist/scorechain/index.d.ts +4 -0
  30. package/dist/scorechain/index.d.ts.map +1 -0
  31. package/dist/scorechain/index.js +26 -0
  32. package/dist/scorechain/index.js.map +1 -0
  33. package/dist/stablecoin/index.d.ts +3 -0
  34. package/dist/stablecoin/index.d.ts.map +1 -0
  35. package/dist/stablecoin/index.js +16 -0
  36. package/dist/stablecoin/index.js.map +1 -0
  37. package/dist/titan/index.d.ts +5 -0
  38. package/dist/titan/index.d.ts.map +1 -0
  39. package/dist/titan/index.js +119 -0
  40. package/dist/titan/index.js.map +1 -0
  41. package/dist/types/index.d.ts +234 -0
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/utils/addon-guard.d.ts.map +1 -1
  44. package/dist/utils/addon-guard.js +47 -0
  45. package/dist/utils/addon-guard.js.map +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import { type Keypair } from '@solana/web3.js';
2
+ import type { QNConfig, OpenOceanQuote, OpenOceanQuoteOptions, OpenOceanSwapOptions, OpenOceanSwapResult } from '../types';
3
+ export declare function getOpenOceanQuote(config: QNConfig, options: OpenOceanQuoteOptions): Promise<OpenOceanQuote>;
4
+ export declare function openOceanSwap(config: QNConfig, options: OpenOceanSwapOptions & {
5
+ signer: Keypair;
6
+ }): Promise<OpenOceanSwapResult>;
7
+ export declare const OO_TOKENS: {
8
+ readonly SOL: "So11111111111111111111111111111111111111112";
9
+ readonly USDC: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
10
+ readonly USDT: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB";
11
+ readonly BONK: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263";
12
+ };
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/openocean/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAalB,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAUzB;AAGD,wBAAsB,aAAa,CACjC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,oBAAoB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAClD,OAAO,CAAC,mBAAmB,CAAC,CAuC9B;AAGD,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OO_TOKENS = void 0;
4
+ exports.getOpenOceanQuote = getOpenOceanQuote;
5
+ exports.openOceanSwap = openOceanSwap;
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const addon_guard_1 = require("../utils/addon-guard");
8
+ const helpers_1 = require("../utils/helpers");
9
+ const http_1 = require("../utils/http");
10
+ // OpenOcean V4 REST API is mounted at /openocean/v4/solana/ on the QuickNode endpoint
11
+ // Docs: https://docs.openocean.finance/dev/openocean-api-3.0
12
+ function base(config) {
13
+ return config.endpointUrl.replace(/\/$/, '') + '/openocean/v4/solana';
14
+ }
15
+ // Get a price quote without executing
16
+ async function getOpenOceanQuote(config, options) {
17
+ (0, addon_guard_1.requireAddOn)(config, 'openocean');
18
+ const qs = new URLSearchParams({
19
+ inTokenAddress: options.inTokenAddress,
20
+ outTokenAddress: options.outTokenAddress,
21
+ amount: options.amount,
22
+ slippage: String(options.slippage ?? 1),
23
+ });
24
+ const res = await (0, http_1.httpGet)(`${base(config)}/quote?${qs}`, config.timeout);
25
+ return res.data;
26
+ }
27
+ // Execute a swap via OpenOcean
28
+ async function openOceanSwap(config, options) {
29
+ (0, addon_guard_1.requireAddOn)(config, 'openocean');
30
+ const startTime = Date.now();
31
+ const conn = (0, helpers_1.createConnection)(config);
32
+ const qs = new URLSearchParams({
33
+ inTokenAddress: options.inTokenAddress,
34
+ outTokenAddress: options.outTokenAddress,
35
+ amount: options.amount,
36
+ slippage: String(options.slippage ?? 1),
37
+ account: options.userAddress,
38
+ });
39
+ const res = await (0, http_1.httpGet)(`${base(config)}/swap_quote?${qs}`, config.timeout);
40
+ const txBuf = Buffer.from(res.data.data, 'base64');
41
+ const tx = web3_js_1.VersionedTransaction.deserialize(txBuf);
42
+ tx.sign([options.signer]);
43
+ const signature = await conn.sendRawTransaction(tx.serialize(), {
44
+ skipPreflight: false,
45
+ maxRetries: 3,
46
+ });
47
+ const { blockhash, lastValidBlockHeight } = await conn.getLatestBlockhash('confirmed');
48
+ await conn.confirmTransaction({ signature, blockhash, lastValidBlockHeight }, config.commitment ?? 'confirmed');
49
+ return {
50
+ signature,
51
+ inAmount: options.amount,
52
+ outAmount: '0', // populated from quote — caller can use getOpenOceanQuote first
53
+ confirmationMs: Date.now() - startTime,
54
+ };
55
+ }
56
+ // SOL and popular token addresses for OpenOcean on Solana
57
+ exports.OO_TOKENS = {
58
+ SOL: 'So11111111111111111111111111111111111111112',
59
+ USDC: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
60
+ USDT: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
61
+ BONK: 'DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263',
62
+ };
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openocean/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { QNConfig, PumpFunToken, PumpFunTokenHolder, PumpFunTrade, GetPumpFunTokensOptions, GetPumpFunTokensByCreatorOptions, GetPumpFunTradesOptions } from '../types';
2
+ export declare function getPumpFunTokens(config: QNConfig, options?: GetPumpFunTokensOptions): Promise<PumpFunToken[]>;
3
+ export declare function getPumpFunToken(config: QNConfig, mint: string): Promise<PumpFunToken>;
4
+ export declare function getPumpFunTokensByCreator(config: QNConfig, options: GetPumpFunTokensByCreatorOptions): Promise<PumpFunToken[]>;
5
+ export declare function getPumpFunTokenHolders(config: QNConfig, mint: string): Promise<PumpFunTokenHolder[]>;
6
+ export declare function getPumpFunTokenTrades(config: QNConfig, mint: string, options?: GetPumpFunTradesOptions): Promise<PumpFunTrade[]>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pumpfun/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACxB,MAAM,UAAU,CAAC;AASlB,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB;AAGD,wBAAsB,eAAe,CACnC,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,CAGvB;AAGD,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB;AAGD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAG/B;AAGD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPumpFunTokens = getPumpFunTokens;
4
+ exports.getPumpFunToken = getPumpFunToken;
5
+ exports.getPumpFunTokensByCreator = getPumpFunTokensByCreator;
6
+ exports.getPumpFunTokenHolders = getPumpFunTokenHolders;
7
+ exports.getPumpFunTokenTrades = getPumpFunTokenTrades;
8
+ const addon_guard_1 = require("../utils/addon-guard");
9
+ const http_1 = require("../utils/http");
10
+ function base(config) {
11
+ return config.endpointUrl.replace(/\/$/, '') + '/pump-fun';
12
+ }
13
+ // Docs: QuickNode Pump Fun API — get latest tokens by launch time
14
+ async function getPumpFunTokens(config, options = {}) {
15
+ (0, addon_guard_1.requireAddOn)(config, 'pumpfun');
16
+ const qs = new URLSearchParams({
17
+ limit: String(options.limit ?? 20),
18
+ offset: String(options.offset ?? 0),
19
+ });
20
+ if (options.includeNsfw !== undefined)
21
+ qs.set('include_nsfw', String(options.includeNsfw));
22
+ return (0, http_1.httpGet)(`${base(config)}/coins?${qs}`, config.timeout);
23
+ }
24
+ // Get a single token by its mint address
25
+ async function getPumpFunToken(config, mint) {
26
+ (0, addon_guard_1.requireAddOn)(config, 'pumpfun');
27
+ return (0, http_1.httpGet)(`${base(config)}/coins/${mint}`, config.timeout);
28
+ }
29
+ // Get all tokens created by a specific wallet
30
+ async function getPumpFunTokensByCreator(config, options) {
31
+ (0, addon_guard_1.requireAddOn)(config, 'pumpfun');
32
+ const qs = new URLSearchParams({
33
+ creator: options.creator,
34
+ limit: String(options.limit ?? 20),
35
+ offset: String(options.offset ?? 0),
36
+ });
37
+ return (0, http_1.httpGet)(`${base(config)}/coins?${qs}`, config.timeout);
38
+ }
39
+ // Get token holder distribution
40
+ async function getPumpFunTokenHolders(config, mint) {
41
+ (0, addon_guard_1.requireAddOn)(config, 'pumpfun');
42
+ return (0, http_1.httpGet)(`${base(config)}/coins/${mint}/holders`, config.timeout);
43
+ }
44
+ // Get recent trades for a token
45
+ async function getPumpFunTokenTrades(config, mint, options = {}) {
46
+ (0, addon_guard_1.requireAddOn)(config, 'pumpfun');
47
+ const qs = new URLSearchParams({
48
+ mint,
49
+ limit: String(options.limit ?? 20),
50
+ offset: String(options.offset ?? 0),
51
+ });
52
+ return (0, http_1.httpGet)(`${base(config)}/trades/all?${qs}`, config.timeout);
53
+ }
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pumpfun/index.ts"],"names":[],"mappings":";;AAiBA,4CAWC;AAGD,0CAMC;AAGD,8DAWC;AAGD,wDAMC;AAGD,sDAYC;AAlED,sDAAoD;AACpD,wCAAwC;AAExC,SAAS,IAAI,CAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC;AAC7D,CAAC;AAED,kEAAkE;AAC3D,KAAK,UAAU,gBAAgB,CACpC,MAAgB,EAChB,UAAmC,EAAE;IAErC,IAAA,0BAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC;QAC7B,KAAK,EAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAK,EAAE,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3F,OAAO,IAAA,cAAO,EAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,yCAAyC;AAClC,KAAK,UAAU,eAAe,CACnC,MAAgB,EAChB,IAAY;IAEZ,IAAA,0BAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,OAAO,IAAA,cAAO,EAAe,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,yBAAyB,CAC7C,MAAgB,EAChB,OAAyC;IAEzC,IAAA,0BAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAK,EAAE,CAAC;QACrC,MAAM,EAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;KACrC,CAAC,CAAC;IACH,OAAO,IAAA,cAAO,EAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,gCAAgC;AACzB,KAAK,UAAU,sBAAsB,CAC1C,MAAgB,EAChB,IAAY;IAEZ,IAAA,0BAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,OAAO,IAAA,cAAO,EAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAChG,CAAC;AAED,gCAAgC;AACzB,KAAK,UAAU,qBAAqB,CACzC,MAAgB,EAChB,IAAY,EACZ,UAAmC,EAAE;IAErC,IAAA,0BAAY,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC;QAC7B,IAAI;QACJ,KAAK,EAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAK,EAAE,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,IAAA,cAAO,EAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACrF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { QNConfig, AssessWalletRiskOptions, WalletRiskAssessment } from '../types';
2
+ export declare function assessWalletRisk(config: QNConfig, options: AssessWalletRiskOptions): Promise<WalletRiskAssessment>;
3
+ export declare function isWalletSafe(config: QNConfig, address: string): Promise<boolean>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scorechain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAclB,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAGD,wBAAsB,YAAY,CAChC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAGlB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assessWalletRisk = assessWalletRisk;
4
+ exports.isWalletSafe = isWalletSafe;
5
+ const addon_guard_1 = require("../utils/addon-guard");
6
+ const http_1 = require("../utils/http");
7
+ // Scorechain Risk Assessment API
8
+ // Docs: https://docs.scorechain.com
9
+ // AML/CFT compliance, wallet risk scoring, and transaction monitoring.
10
+ // Mounted at /scorechain/v1/ on the QuickNode endpoint.
11
+ function base(config) {
12
+ return config.endpointUrl.replace(/\/$/, '') + '/scorechain/v1';
13
+ }
14
+ // Get AML/CFT risk score for any Solana (or other) wallet address
15
+ async function assessWalletRisk(config, options) {
16
+ (0, addon_guard_1.requireAddOn)(config, 'scorechain');
17
+ const network = options.network ?? 'solana';
18
+ const qs = new URLSearchParams({ address: options.address, network });
19
+ return (0, http_1.httpGet)(`${base(config)}/risk?${qs}`, config.timeout);
20
+ }
21
+ // Convenience: returns true if the wallet is considered safe to interact with
22
+ async function isWalletSafe(config, address) {
23
+ const assessment = await assessWalletRisk(config, { address });
24
+ return assessment.amlStatus === 'clean' && assessment.riskLevel === 'low';
25
+ }
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scorechain/index.ts"],"names":[],"mappings":";;AAkBA,4CAQC;AAGD,oCAMC;AA9BD,sDAAoD;AACpD,wCAAwC;AAExC,iCAAiC;AACjC,oCAAoC;AACpC,uEAAuE;AACvE,wDAAwD;AAExD,SAAS,IAAI,CAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC;AAClE,CAAC;AAED,kEAAkE;AAC3D,KAAK,UAAU,gBAAgB,CACpC,MAAgB,EAChB,OAAgC;IAEhC,IAAA,0BAAY,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,OAAO,IAAA,cAAO,EAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,8EAA8E;AACvE,KAAK,UAAU,YAAY,CAChC,MAAgB,EAChB,OAAe;IAEf,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,SAAS,KAAK,OAAO,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QNConfig, GetStablecoinBalanceOptions, StablecoinBalanceResult } from '../types';
2
+ export declare function getStablecoinBalance(config: QNConfig, options: GetStablecoinBalanceOptions): Promise<StablecoinBalanceResult>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stablecoin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAOlB,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAUlC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStablecoinBalance = getStablecoinBalance;
4
+ const addon_guard_1 = require("../utils/addon-guard");
5
+ const http_1 = require("../utils/http");
6
+ // Docs: QuickNode Multi-Chain Stablecoin Balance API
7
+ // Method: qn_getWalletStablecoinBalances
8
+ // Queries USDT, USDC, DAI, and more across Solana + 10 other chains
9
+ async function getStablecoinBalance(config, options) {
10
+ (0, addon_guard_1.requireAddOn)(config, 'stablecoinBalance');
11
+ const params = { wallet: options.walletAddress };
12
+ if (options.chains?.length)
13
+ params.chains = options.chains;
14
+ return (0, http_1.rpcPost)(config.endpointUrl, 'qn_getWalletStablecoinBalances', params, config.timeout);
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stablecoin/index.ts"],"names":[],"mappings":";;AAWA,oDAaC;AAnBD,sDAAoD;AACpD,wCAAwC;AAExC,qDAAqD;AACrD,yCAAyC;AACzC,oEAAoE;AAC7D,KAAK,UAAU,oBAAoB,CACxC,MAAgB,EAChB,OAAoC;IAEpC,IAAA,0BAAY,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1C,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1E,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3D,OAAO,IAAA,cAAO,EACZ,MAAM,CAAC,WAAW,EAClB,gCAAgC,EAChC,MAAM,EACN,MAAM,CAAC,OAAO,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { QNConfig, TitanQuoteOptions, TitanSwapQuote, TitanSwapOptions, TitanSwapResult } from '../types';
2
+ export declare function getTitanSwapQuote(config: QNConfig, options: TitanQuoteOptions): Promise<TitanSwapQuote>;
3
+ export declare function titanSwap(config: QNConfig, options: TitanSwapOptions): Promise<TitanSwapResult>;
4
+ export declare function subscribeTitanQuotes(config: QNConfig, options: TitanQuoteOptions, onQuote: (quote: TitanSwapQuote) => void, onError?: (err: Error) => void): () => void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/titan/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EAChB,MAAM,UAAU,CAAC;AAelB,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,cAAc,CAAC,CASzB;AAGD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,MAAM,IAAI,CAgCZ"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getTitanSwapQuote = getTitanSwapQuote;
37
+ exports.titanSwap = titanSwap;
38
+ exports.subscribeTitanQuotes = subscribeTitanQuotes;
39
+ const addon_guard_1 = require("../utils/addon-guard");
40
+ const helpers_1 = require("../utils/helpers");
41
+ const http_1 = require("../utils/http");
42
+ // Titan DeFi Swap Meta-Aggregation API (by Titan)
43
+ // Docs: https://docs.titanswap.io
44
+ // REST endpoint for point-in-time quotes; WebSocket available for streaming.
45
+ // Mounted at /titan/v1/ on the QuickNode endpoint.
46
+ function base(config) {
47
+ return config.endpointUrl.replace(/\/$/, '') + '/titan/v1';
48
+ }
49
+ // Get a single best-price quote aggregated across all DEXes
50
+ async function getTitanSwapQuote(config, options) {
51
+ (0, addon_guard_1.requireAddOn)(config, 'titan');
52
+ const qs = new URLSearchParams({
53
+ inputMint: options.inputMint,
54
+ outputMint: options.outputMint,
55
+ amount: options.amount,
56
+ slippageBps: String(options.slippageBps ?? 50),
57
+ });
58
+ return (0, http_1.httpGet)(`${base(config)}/quote?${qs}`, config.timeout);
59
+ }
60
+ // Execute a swap via Titan's meta-aggregation
61
+ async function titanSwap(config, options) {
62
+ (0, addon_guard_1.requireAddOn)(config, 'titan');
63
+ const startTime = Date.now();
64
+ const conn = (0, helpers_1.createConnection)(config);
65
+ // Get quote first
66
+ const quote = await getTitanSwapQuote(config, options);
67
+ // Build and execute swap transaction
68
+ const swapRes = await (0, http_1.httpPost)(`${base(config)}/swap`, {
69
+ quote,
70
+ userPublicKey: options.userPublicKey,
71
+ ...(options.serializedTransaction && { transaction: options.serializedTransaction }),
72
+ }, config.timeout);
73
+ const { VersionedTransaction } = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
74
+ const txBuf = Buffer.from(swapRes.transaction, 'base64');
75
+ const tx = VersionedTransaction.deserialize(txBuf);
76
+ const signature = await conn.sendRawTransaction(tx.serialize(), {
77
+ skipPreflight: false,
78
+ maxRetries: 3,
79
+ });
80
+ const { blockhash, lastValidBlockHeight } = await conn.getLatestBlockhash('confirmed');
81
+ await conn.confirmTransaction({ signature, blockhash, lastValidBlockHeight }, config.commitment ?? 'confirmed');
82
+ return {
83
+ signature,
84
+ inAmount: quote.inAmount,
85
+ outAmount: quote.outAmount,
86
+ confirmationMs: Date.now() - startTime,
87
+ };
88
+ }
89
+ // Subscribe to streaming quotes via WebSocket (returns unsubscribe fn)
90
+ function subscribeTitanQuotes(config, options, onQuote, onError) {
91
+ (0, addon_guard_1.requireAddOn)(config, 'titan');
92
+ const wsUrl = config.endpointUrl
93
+ .replace(/\/$/, '')
94
+ .replace(/^http/, 'ws') + '/titan/v1/stream';
95
+ const ws = new WebSocket(wsUrl);
96
+ ws.onopen = () => {
97
+ ws.send(JSON.stringify({
98
+ type: 'subscribe',
99
+ inputMint: options.inputMint,
100
+ outputMint: options.outputMint,
101
+ amount: options.amount,
102
+ slippageBps: options.slippageBps ?? 50,
103
+ }));
104
+ };
105
+ ws.onmessage = (event) => {
106
+ try {
107
+ const quote = JSON.parse(event.data);
108
+ onQuote(quote);
109
+ }
110
+ catch (err) {
111
+ onError?.(err instanceof Error ? err : new Error(String(err)));
112
+ }
113
+ };
114
+ ws.onerror = (event) => {
115
+ onError?.(new Error(`Titan WebSocket error: ${JSON.stringify(event)}`));
116
+ };
117
+ return () => ws.close();
118
+ }
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/titan/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,15 @@ export interface QNConfig {
6
6
  das?: boolean;
7
7
  metis?: boolean;
8
8
  yellowstone?: boolean;
9
+ pumpfun?: boolean;
10
+ stablecoinBalance?: boolean;
11
+ openocean?: boolean;
12
+ merkle?: boolean;
13
+ blinklabs?: boolean;
14
+ iris?: boolean;
15
+ goldrush?: boolean;
16
+ titan?: boolean;
17
+ scorechain?: boolean;
9
18
  };
10
19
  commitment?: 'processed' | 'confirmed' | 'finalized';
11
20
  timeout?: number;
@@ -206,6 +215,231 @@ export interface AddOnCheckResult {
206
215
  swaps: boolean;
207
216
  yellowstoneStream: boolean;
208
217
  jitoBundle: boolean;
218
+ pumpFun: boolean;
219
+ stablecoinBalances: boolean;
220
+ openOceanSwaps: boolean;
221
+ merkleProtection: boolean;
222
+ blinkLabsProtection: boolean;
223
+ irisTransactions: boolean;
224
+ goldRushData: boolean;
225
+ titanSwaps: boolean;
226
+ riskAssessment: boolean;
209
227
  };
210
228
  }
229
+ export interface PumpFunToken {
230
+ mint: string;
231
+ name: string;
232
+ symbol: string;
233
+ description?: string;
234
+ image?: string;
235
+ creator: string;
236
+ createdTimestamp: number;
237
+ marketCapSol: number;
238
+ usdMarketCap?: number;
239
+ price: number;
240
+ bondingCurve: {
241
+ virtualTokenReserves: string;
242
+ virtualSolReserves: string;
243
+ realTokenReserves: string;
244
+ realSolReserves: string;
245
+ tokenTotalSupply: string;
246
+ complete: boolean;
247
+ };
248
+ raydiumPool?: string;
249
+ graduated: boolean;
250
+ website?: string;
251
+ twitter?: string;
252
+ telegram?: string;
253
+ }
254
+ export interface PumpFunTokenHolder {
255
+ address: string;
256
+ balance: string;
257
+ percentage: number;
258
+ }
259
+ export interface PumpFunTrade {
260
+ signature: string;
261
+ mint: string;
262
+ solAmount: string;
263
+ tokenAmount: string;
264
+ isBuy: boolean;
265
+ user: string;
266
+ timestamp: number;
267
+ slot: number;
268
+ }
269
+ export interface GetPumpFunTokensOptions {
270
+ limit?: number;
271
+ offset?: number;
272
+ includeNsfw?: boolean;
273
+ }
274
+ export interface GetPumpFunTokensByCreatorOptions {
275
+ creator: string;
276
+ limit?: number;
277
+ offset?: number;
278
+ }
279
+ export interface GetPumpFunTradesOptions {
280
+ limit?: number;
281
+ offset?: number;
282
+ }
283
+ export interface StablecoinBalance {
284
+ chain: string;
285
+ contractAddress: string;
286
+ name: string;
287
+ symbol: string;
288
+ decimals: number;
289
+ balance: string;
290
+ usdValue: number;
291
+ logo?: string;
292
+ }
293
+ export interface GetStablecoinBalanceOptions {
294
+ walletAddress: string;
295
+ chains?: string[];
296
+ }
297
+ export interface StablecoinBalanceResult {
298
+ walletAddress: string;
299
+ totalUsdValue: number;
300
+ balances: StablecoinBalance[];
301
+ }
302
+ export interface OpenOceanToken {
303
+ address: string;
304
+ name: string;
305
+ symbol: string;
306
+ decimals: number;
307
+ }
308
+ export interface OpenOceanQuoteOptions {
309
+ inTokenAddress: string;
310
+ outTokenAddress: string;
311
+ amount: string;
312
+ slippage?: number;
313
+ }
314
+ export interface OpenOceanQuote {
315
+ inToken: OpenOceanToken;
316
+ outToken: OpenOceanToken;
317
+ inAmount: string;
318
+ outAmount: string;
319
+ minOutAmount: string;
320
+ priceImpact: string;
321
+ estimatedGas: string;
322
+ path: Array<{
323
+ name: string;
324
+ part: number;
325
+ }>;
326
+ }
327
+ export interface OpenOceanSwapOptions extends OpenOceanQuoteOptions {
328
+ userAddress: string;
329
+ }
330
+ export interface OpenOceanSwapResult {
331
+ signature: string;
332
+ inAmount: string;
333
+ outAmount: string;
334
+ confirmationMs: number;
335
+ }
336
+ export interface MevProtectedTxOptions {
337
+ serializedTransaction: string;
338
+ tipLamports?: number;
339
+ }
340
+ export interface MevTxResult {
341
+ signature: string;
342
+ provider: 'merkle' | 'blinklabs';
343
+ confirmationMs: number;
344
+ }
345
+ export interface IrisTxOptions {
346
+ serializedTransaction: string;
347
+ skipPreflight?: boolean;
348
+ maxRetries?: number;
349
+ }
350
+ export interface IrisTxResult {
351
+ signature: string;
352
+ slot?: number;
353
+ confirmationMs: number;
354
+ }
355
+ export interface GoldRushTokenBalance {
356
+ contractAddress: string;
357
+ name: string;
358
+ symbol: string;
359
+ decimals: number;
360
+ logo?: string;
361
+ balance: string;
362
+ usdBalance?: string;
363
+ isSpam?: boolean;
364
+ }
365
+ export interface GoldRushBalancesResult {
366
+ chain: string;
367
+ address: string;
368
+ updatedAt: string;
369
+ items: GoldRushTokenBalance[];
370
+ }
371
+ export interface GoldRushTransaction {
372
+ blockSignedAt: string;
373
+ txHash: string;
374
+ successful: boolean;
375
+ fromAddress: string;
376
+ toAddress?: string;
377
+ value: string;
378
+ feesPaid: string;
379
+ gasSpent: string;
380
+ gasPrice: string;
381
+ }
382
+ export interface GetGoldRushBalancesOptions {
383
+ walletAddress: string;
384
+ chain?: string;
385
+ noSpam?: boolean;
386
+ quoteCurrency?: string;
387
+ }
388
+ export interface GetGoldRushTransactionsOptions {
389
+ walletAddress: string;
390
+ chain?: string;
391
+ pageSize?: number;
392
+ pageNumber?: number;
393
+ }
394
+ export interface TitanQuoteOptions {
395
+ inputMint: string;
396
+ outputMint: string;
397
+ amount: string;
398
+ slippageBps?: number;
399
+ }
400
+ export interface TitanSwapRoute {
401
+ dex: string;
402
+ percent: number;
403
+ inAmount: string;
404
+ outAmount: string;
405
+ }
406
+ export interface TitanSwapQuote {
407
+ inputMint: string;
408
+ outputMint: string;
409
+ inAmount: string;
410
+ outAmount: string;
411
+ minOutAmount: string;
412
+ priceImpactPct: string;
413
+ routes: TitanSwapRoute[];
414
+ timestamp: number;
415
+ }
416
+ export interface TitanSwapOptions extends TitanQuoteOptions {
417
+ userPublicKey: string;
418
+ serializedTransaction?: string;
419
+ }
420
+ export interface TitanSwapResult {
421
+ signature: string;
422
+ inAmount: string;
423
+ outAmount: string;
424
+ confirmationMs: number;
425
+ }
426
+ export interface AssessWalletRiskOptions {
427
+ address: string;
428
+ network?: string;
429
+ }
430
+ export interface RiskFlag {
431
+ category: string;
432
+ description: string;
433
+ severity: 'low' | 'medium' | 'high' | 'critical';
434
+ }
435
+ export interface WalletRiskAssessment {
436
+ address: string;
437
+ network: string;
438
+ riskScore: number;
439
+ riskLevel: 'low' | 'medium' | 'high' | 'severe';
440
+ amlStatus: 'clean' | 'flagged' | 'blocked';
441
+ flags: RiskFlag[];
442
+ reportUrl?: string;
443
+ assessedAt: string;
444
+ }
211
445
  //# sourceMappingURL=index.d.ts.map