@cyberdrk/onchain 0.1.7 → 0.1.9

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 (50) hide show
  1. package/SKILL.md +18 -0
  2. package/dist/cli/program.d.ts.map +1 -1
  3. package/dist/cli/program.js +2 -0
  4. package/dist/cli/program.js.map +1 -1
  5. package/dist/cli/setup-wizard.d.ts.map +1 -1
  6. package/dist/cli/setup-wizard.js +15 -0
  7. package/dist/cli/setup-wizard.js.map +1 -1
  8. package/dist/cli/shared.d.ts.map +1 -1
  9. package/dist/cli/shared.js +2 -0
  10. package/dist/cli/shared.js.map +1 -1
  11. package/dist/commands/setup.d.ts.map +1 -1
  12. package/dist/commands/setup.js +2 -0
  13. package/dist/commands/setup.js.map +1 -1
  14. package/dist/commands/tx.d.ts +4 -0
  15. package/dist/commands/tx.d.ts.map +1 -0
  16. package/dist/commands/tx.js +208 -0
  17. package/dist/commands/tx.js.map +1 -0
  18. package/dist/lib/config.d.ts +2 -0
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js.map +1 -1
  21. package/dist/lib/credentials.d.ts +4 -0
  22. package/dist/lib/credentials.d.ts.map +1 -1
  23. package/dist/lib/credentials.js +8 -0
  24. package/dist/lib/credentials.js.map +1 -1
  25. package/dist/lib/mixins/etherscan.d.ts +10 -0
  26. package/dist/lib/mixins/etherscan.d.ts.map +1 -0
  27. package/dist/lib/mixins/etherscan.js +292 -0
  28. package/dist/lib/mixins/etherscan.js.map +1 -0
  29. package/dist/lib/mixins/solscan.d.ts +7 -0
  30. package/dist/lib/mixins/solscan.d.ts.map +1 -0
  31. package/dist/lib/mixins/solscan.js +112 -0
  32. package/dist/lib/mixins/solscan.js.map +1 -0
  33. package/dist/lib/onchain-client-base.d.ts +2 -0
  34. package/dist/lib/onchain-client-base.d.ts.map +1 -1
  35. package/dist/lib/onchain-client-base.js +4 -0
  36. package/dist/lib/onchain-client-base.js.map +1 -1
  37. package/dist/lib/onchain-client-types.d.ts +63 -0
  38. package/dist/lib/onchain-client-types.d.ts.map +1 -1
  39. package/dist/lib/onchain-client.d.ts +4 -2
  40. package/dist/lib/onchain-client.d.ts.map +1 -1
  41. package/dist/lib/onchain-client.js +3 -1
  42. package/dist/lib/onchain-client.js.map +1 -1
  43. package/dist/lib/utils/formatters.d.ts.map +1 -1
  44. package/dist/lib/utils/formatters.js +6 -0
  45. package/dist/lib/utils/formatters.js.map +1 -1
  46. package/dist/lib/utils/tx-hash.d.ts +36 -0
  47. package/dist/lib/utils/tx-hash.d.ts.map +1 -0
  48. package/dist/lib/utils/tx-hash.js +93 -0
  49. package/dist/lib/utils/tx-hash.js.map +1 -0
  50. package/package.json +1 -1
@@ -0,0 +1,292 @@
1
+ // Etherscan API v2 - single endpoint with chain IDs
2
+ // https://docs.etherscan.io/v2-migration
3
+ const ETHERSCAN_V2_API = 'https://api.etherscan.io/v2/api';
4
+ const CHAIN_CONFIG = {
5
+ ethereum: {
6
+ chainId: 1,
7
+ explorerUrl: 'https://etherscan.io',
8
+ nativeSymbol: 'ETH',
9
+ decimals: 18,
10
+ },
11
+ polygon: {
12
+ chainId: 137,
13
+ explorerUrl: 'https://polygonscan.com',
14
+ nativeSymbol: 'POL',
15
+ decimals: 18,
16
+ },
17
+ bsc: {
18
+ chainId: 56,
19
+ explorerUrl: 'https://bscscan.com',
20
+ nativeSymbol: 'BNB',
21
+ decimals: 18,
22
+ },
23
+ arbitrum: {
24
+ chainId: 42161,
25
+ explorerUrl: 'https://arbiscan.io',
26
+ nativeSymbol: 'ETH',
27
+ decimals: 18,
28
+ },
29
+ base: {
30
+ chainId: 8453,
31
+ explorerUrl: 'https://basescan.org',
32
+ nativeSymbol: 'ETH',
33
+ decimals: 18,
34
+ },
35
+ optimism: {
36
+ chainId: 10,
37
+ explorerUrl: 'https://optimistic.etherscan.io',
38
+ nativeSymbol: 'ETH',
39
+ decimals: 18,
40
+ },
41
+ avalanche: {
42
+ chainId: 43114,
43
+ explorerUrl: 'https://snowtrace.io',
44
+ nativeSymbol: 'AVAX',
45
+ decimals: 18,
46
+ },
47
+ fantom: {
48
+ chainId: 250,
49
+ explorerUrl: 'https://ftmscan.com',
50
+ nativeSymbol: 'FTM',
51
+ decimals: 18,
52
+ },
53
+ };
54
+ // Default chain search order (prioritized by usage)
55
+ const DEFAULT_CHAIN_ORDER = [
56
+ 'ethereum',
57
+ 'arbitrum',
58
+ 'base',
59
+ 'polygon',
60
+ 'optimism',
61
+ 'bsc',
62
+ 'avalanche',
63
+ 'fantom',
64
+ ];
65
+ export function withEtherscan(Base) {
66
+ class EtherscanMixin extends Base {
67
+ buildEtherscanUrl(chain, params) {
68
+ const config = CHAIN_CONFIG[chain];
69
+ const urlParams = new URLSearchParams(params);
70
+ // Etherscan v2 API requires chainid parameter
71
+ urlParams.set('chainid', config.chainId.toString());
72
+ // API key is required for v2 API
73
+ if (this.etherscanApiKey) {
74
+ urlParams.set('apikey', this.etherscanApiKey);
75
+ }
76
+ return `${ETHERSCAN_V2_API}?${urlParams.toString()}`;
77
+ }
78
+ async getEvmTransaction(hash, chain) {
79
+ if (!this.etherscanApiKey) {
80
+ return {
81
+ success: false,
82
+ error: 'Etherscan API key not configured. Run `onchain setup` or set ETHERSCAN_API_KEY environment variable.',
83
+ };
84
+ }
85
+ try {
86
+ const config = CHAIN_CONFIG[chain];
87
+ // Fetch transaction details
88
+ const txUrl = this.buildEtherscanUrl(chain, {
89
+ module: 'proxy',
90
+ action: 'eth_getTransactionByHash',
91
+ txhash: hash,
92
+ });
93
+ const txResponse = await this.fetchWithTimeout(txUrl);
94
+ if (!txResponse.ok) {
95
+ return { success: false, error: `API error: ${txResponse.status}` };
96
+ }
97
+ const txData = (await txResponse.json());
98
+ if (!txData.result) {
99
+ return { success: false, error: 'Transaction not found' };
100
+ }
101
+ const tx = txData.result;
102
+ // Fetch transaction receipt for status and gas used
103
+ const receiptUrl = this.buildEtherscanUrl(chain, {
104
+ module: 'proxy',
105
+ action: 'eth_getTransactionReceipt',
106
+ txhash: hash,
107
+ });
108
+ let receipt;
109
+ const receiptResponse = await this.fetchWithTimeout(receiptUrl);
110
+ if (receiptResponse.ok) {
111
+ const receiptData = (await receiptResponse.json());
112
+ receipt = receiptData.result;
113
+ }
114
+ // Fetch block for timestamp
115
+ let timestamp = Math.floor(Date.now() / 1000);
116
+ if (tx.blockNumber) {
117
+ const blockUrl = this.buildEtherscanUrl(chain, {
118
+ module: 'proxy',
119
+ action: 'eth_getBlockByNumber',
120
+ tag: tx.blockNumber,
121
+ boolean: 'false',
122
+ });
123
+ const blockResponse = await this.fetchWithTimeout(blockUrl);
124
+ if (blockResponse.ok) {
125
+ const blockData = (await blockResponse.json());
126
+ if (blockData.result?.timestamp) {
127
+ timestamp = Number.parseInt(blockData.result.timestamp, 16);
128
+ }
129
+ }
130
+ }
131
+ // Parse values
132
+ const blockNumber = tx.blockNumber ? Number.parseInt(tx.blockNumber, 16) : 0;
133
+ const value = tx.value ? BigInt(tx.value).toString() : '0';
134
+ const valueFormatted = Number(value) / 10 ** config.decimals;
135
+ const gasPrice = tx.gasPrice ? BigInt(tx.gasPrice).toString() : '0';
136
+ const gasUsed = receipt?.gasUsed ? Number.parseInt(receipt.gasUsed, 16) : undefined;
137
+ const gasLimit = tx.gas ? Number.parseInt(tx.gas, 16) : undefined;
138
+ // Calculate fee
139
+ const feeWei = gasUsed && gasPrice ? BigInt(gasUsed) * BigInt(gasPrice) : BigInt(0);
140
+ const feeAmount = Number(feeWei) / 10 ** config.decimals;
141
+ // Determine status
142
+ // Pre-Byzantium transactions (before Oct 2017) don't have status field
143
+ // If receipt exists with blockNumber, transaction was included (success)
144
+ let status = 'pending';
145
+ if (receipt?.status) {
146
+ status = receipt.status === '0x1' ? 'success' : 'failed';
147
+ }
148
+ else if (receipt?.blockNumber) {
149
+ // Pre-Byzantium: receipt exists means transaction succeeded
150
+ status = 'success';
151
+ }
152
+ // Extract method ID and name from input
153
+ const methodId = tx.input && tx.input.length >= 10 ? tx.input.slice(0, 10) : undefined;
154
+ // Fetch token transfers
155
+ const tokenTransfers = await this.getEvmTokenTransfers(hash, chain);
156
+ const transaction = {
157
+ hash,
158
+ chain,
159
+ blockNumber,
160
+ timestamp,
161
+ status,
162
+ from: tx.from,
163
+ to: tx.to,
164
+ value,
165
+ valueFormatted,
166
+ fee: {
167
+ amount: feeAmount,
168
+ symbol: config.nativeSymbol,
169
+ },
170
+ gasUsed,
171
+ gasLimit,
172
+ gasPrice,
173
+ methodId,
174
+ tokenTransfers: tokenTransfers.length > 0 ? tokenTransfers : undefined,
175
+ explorerUrl: `${config.explorerUrl}/tx/${hash}`,
176
+ };
177
+ return { success: true, transaction };
178
+ }
179
+ catch (error) {
180
+ return {
181
+ success: false,
182
+ error: `Failed to fetch transaction: ${error instanceof Error ? error.message : String(error)}`,
183
+ };
184
+ }
185
+ }
186
+ async getEvmTokenTransfers(hash, chain) {
187
+ try {
188
+ // Fetch ERC20 transfers
189
+ const erc20Url = this.buildEtherscanUrl(chain, {
190
+ module: 'account',
191
+ action: 'tokentx',
192
+ txhash: hash,
193
+ });
194
+ const erc20Response = await this.fetchWithTimeout(erc20Url);
195
+ const erc20Data = (await erc20Response.json());
196
+ const transfers = [];
197
+ if (erc20Data.result && Array.isArray(erc20Data.result)) {
198
+ for (const transfer of erc20Data.result) {
199
+ const decimals = Number.parseInt(transfer.tokenDecimal, 10) || 18;
200
+ transfers.push({
201
+ tokenType: 'ERC20',
202
+ contractAddress: transfer.contractAddress,
203
+ from: transfer.from,
204
+ to: transfer.to,
205
+ amount: transfer.value,
206
+ amountFormatted: Number(transfer.value) / 10 ** decimals,
207
+ symbol: transfer.tokenSymbol,
208
+ decimals,
209
+ });
210
+ }
211
+ }
212
+ // Fetch ERC721 (NFT) transfers
213
+ const erc721Url = this.buildEtherscanUrl(chain, {
214
+ module: 'account',
215
+ action: 'tokennfttx',
216
+ txhash: hash,
217
+ });
218
+ const erc721Response = await this.fetchWithTimeout(erc721Url);
219
+ const erc721Data = (await erc721Response.json());
220
+ if (erc721Data.result && Array.isArray(erc721Data.result)) {
221
+ for (const transfer of erc721Data.result) {
222
+ transfers.push({
223
+ tokenType: 'ERC721',
224
+ contractAddress: transfer.contractAddress,
225
+ from: transfer.from,
226
+ to: transfer.to,
227
+ tokenId: transfer.tokenID,
228
+ symbol: transfer.tokenSymbol,
229
+ });
230
+ }
231
+ }
232
+ return transfers;
233
+ }
234
+ catch {
235
+ // Return empty array on error - token transfers are optional
236
+ return [];
237
+ }
238
+ }
239
+ async getEvmInternalTransactions(hash, chain) {
240
+ try {
241
+ const config = CHAIN_CONFIG[chain];
242
+ const url = this.buildEtherscanUrl(chain, {
243
+ module: 'account',
244
+ action: 'txlistinternal',
245
+ txhash: hash,
246
+ });
247
+ const response = await this.fetchWithTimeout(url);
248
+ const data = (await response.json());
249
+ if (!data.result || !Array.isArray(data.result)) {
250
+ return [];
251
+ }
252
+ return data.result.map((tx) => ({
253
+ from: tx.from,
254
+ to: tx.to,
255
+ value: tx.value,
256
+ valueFormatted: Number(tx.value) / 10 ** config.decimals,
257
+ type: tx.type,
258
+ gasUsed: tx.gasUsed ? Number.parseInt(tx.gasUsed, 10) : undefined,
259
+ isError: tx.isError === '1',
260
+ }));
261
+ }
262
+ catch {
263
+ return [];
264
+ }
265
+ }
266
+ async findEvmTransaction(hash, preferredChains) {
267
+ const chains = preferredChains ?? DEFAULT_CHAIN_ORDER;
268
+ const triedChains = [];
269
+ for (const chain of chains) {
270
+ triedChains.push(chain);
271
+ const result = await this.getEvmTransaction(hash, chain);
272
+ if (result.success) {
273
+ return {
274
+ success: true,
275
+ transaction: result.transaction,
276
+ chain,
277
+ };
278
+ }
279
+ // If we got "Transaction not found", try next chain
280
+ // If we got a different error (rate limit, etc.), still try next chain
281
+ // but note the error
282
+ }
283
+ return {
284
+ success: false,
285
+ error: `Transaction not found on any chain. Tried: ${triedChains.join(', ')}`,
286
+ triedChains,
287
+ };
288
+ }
289
+ }
290
+ return EtherscanMixin;
291
+ }
292
+ //# sourceMappingURL=etherscan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../../src/lib/mixins/etherscan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AbstractConstructor, Mixin, OnchainClientBase } from '../onchain-client-base.js';
2
+ import type { TransactionDetailResult } from '../onchain-client-types.js';
3
+ export interface SolscanMethods {
4
+ getSolanaTransaction(signature: string): Promise<TransactionDetailResult>;
5
+ }
6
+ export declare function withSolscan<TBase extends AbstractConstructor<OnchainClientBase>>(Base: TBase): Mixin<TBase, SolscanMethods>;
7
+ //# sourceMappingURL=solscan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solscan.d.ts","sourceRoot":"","sources":["../../../src/lib/mixins/solscan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,KAAK,EAAoC,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAM5G,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC3E;AAsCD,wBAAgB,WAAW,CAAC,KAAK,SAAS,mBAAmB,CAAC,iBAAiB,CAAC,EAC9E,IAAI,EAAE,KAAK,GACV,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAuH9B"}
@@ -0,0 +1,112 @@
1
+ // Solscan Pro API v2.0
2
+ const SOLSCAN_API_BASE = 'https://pro-api.solscan.io/v2.0';
3
+ const SOLSCAN_EXPLORER_URL = 'https://solscan.io';
4
+ export function withSolscan(Base) {
5
+ class SolscanMixin extends Base {
6
+ async getSolanaTransaction(signature) {
7
+ if (!this.solscanApiKey) {
8
+ return {
9
+ success: false,
10
+ error: 'Solscan API key not configured. Run `onchain setup` or set SOLSCAN_API_KEY environment variable.',
11
+ };
12
+ }
13
+ try {
14
+ const url = `${SOLSCAN_API_BASE}/transaction/detail?tx=${signature}`;
15
+ const response = await this.fetchWithTimeout(url, {
16
+ headers: {
17
+ ...this.getJsonHeaders(),
18
+ token: this.solscanApiKey,
19
+ },
20
+ });
21
+ if (!response.ok) {
22
+ if (response.status === 401) {
23
+ // Try to get detailed error message from response
24
+ try {
25
+ const errorData = (await response.json());
26
+ if (errorData.error_message?.includes('upgrade')) {
27
+ return {
28
+ success: false,
29
+ error: 'Solscan Pro API plan required for transaction lookup. Visit https://solscan.io/apis to upgrade.',
30
+ };
31
+ }
32
+ }
33
+ catch {
34
+ // Ignore JSON parse errors
35
+ }
36
+ return { success: false, error: 'Invalid Solscan API key' };
37
+ }
38
+ return { success: false, error: `Solscan API error: ${response.status}` };
39
+ }
40
+ const data = (await response.json());
41
+ if (!data.success || !data.data) {
42
+ return { success: false, error: 'Transaction not found' };
43
+ }
44
+ const tx = data.data;
45
+ // Parse token transfers
46
+ const tokenTransfers = [];
47
+ if (tx.token_bal_change && Array.isArray(tx.token_bal_change)) {
48
+ for (const change of tx.token_bal_change) {
49
+ // Only include outgoing transfers (negative change)
50
+ const changeAmount = Number(change.change_amount);
51
+ if (changeAmount !== 0) {
52
+ tokenTransfers.push({
53
+ tokenType: 'SPL',
54
+ contractAddress: change.token_address,
55
+ from: changeAmount < 0 ? change.address : '',
56
+ to: changeAmount > 0 ? change.address : '',
57
+ amount: Math.abs(changeAmount).toString(),
58
+ amountFormatted: Math.abs(changeAmount) / 10 ** (change.token_decimals || 9),
59
+ symbol: change.token_symbol,
60
+ decimals: change.token_decimals,
61
+ });
62
+ }
63
+ }
64
+ }
65
+ // Calculate native SOL transfer value
66
+ let valueFormatted = 0;
67
+ const from = tx.signer[0] || '';
68
+ let to = null;
69
+ if (tx.sol_bal_change && Array.isArray(tx.sol_bal_change)) {
70
+ // Find the main sender (largest negative change that's not just fee)
71
+ const senderChange = tx.sol_bal_change.find((c) => c.change_amount < 0 && c.address === from);
72
+ // Find the main receiver (largest positive change)
73
+ const receiverChange = tx.sol_bal_change.find((c) => c.change_amount > 0 && c.address !== from);
74
+ if (receiverChange) {
75
+ to = receiverChange.address;
76
+ valueFormatted = receiverChange.change_amount / 1e9;
77
+ }
78
+ else if (senderChange) {
79
+ // If no receiver found, the value sent might be the fee + other costs
80
+ valueFormatted = Math.abs(senderChange.change_amount + tx.fee) / 1e9;
81
+ }
82
+ }
83
+ const transaction = {
84
+ hash: signature,
85
+ chain: 'solana',
86
+ blockNumber: tx.block_id,
87
+ timestamp: tx.block_time,
88
+ status: tx.status === 'Success' ? 'success' : 'failed',
89
+ from,
90
+ to,
91
+ value: Math.round(valueFormatted * 1e9).toString(),
92
+ valueFormatted,
93
+ fee: {
94
+ amount: tx.fee / 1e9,
95
+ symbol: 'SOL',
96
+ },
97
+ tokenTransfers: tokenTransfers.length > 0 ? tokenTransfers : undefined,
98
+ explorerUrl: `${SOLSCAN_EXPLORER_URL}/tx/${signature}`,
99
+ };
100
+ return { success: true, transaction };
101
+ }
102
+ catch (error) {
103
+ return {
104
+ success: false,
105
+ error: `Failed to fetch Solana transaction: ${error instanceof Error ? error.message : String(error)}`,
106
+ };
107
+ }
108
+ }
109
+ }
110
+ return SolscanMixin;
111
+ }
112
+ //# sourceMappingURL=solscan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solscan.js","sourceRoot":"","sources":["../../../src/lib/mixins/solscan.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export declare abstract class OnchainClientBase {
11
11
  protected binanceApiSecret?: string;
12
12
  protected coingeckoApiKey?: string;
13
13
  protected coinmarketcapApiKey?: string;
14
+ protected etherscanApiKey?: string;
15
+ protected solscanApiKey?: string;
14
16
  protected timeoutMs?: number;
15
17
  constructor(options?: OnchainClientOptions);
16
18
  protected sleep(ms: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"onchain-client-base.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACjF,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,QAAQ,MACxF,GAAG,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAClC,iBAAiB,GAAG,MAAM,CAAC;AAEhC,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,OAAO,GAAE,oBAAyB;cAY9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAcxF,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAMnD"}
1
+ {"version":3,"file":"onchain-client-base.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACjF,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,QAAQ,MACxF,GAAG,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAClC,iBAAiB,GAAG,MAAM,CAAC;AAEhC,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,OAAO,GAAE,oBAAyB;cAc9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAcxF,SAAS,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAMnD"}
@@ -7,6 +7,8 @@ export class OnchainClientBase {
7
7
  binanceApiSecret;
8
8
  coingeckoApiKey;
9
9
  coinmarketcapApiKey;
10
+ etherscanApiKey;
11
+ solscanApiKey;
10
12
  timeoutMs;
11
13
  constructor(options = {}) {
12
14
  this.debankApiKey = options.debankApiKey;
@@ -17,6 +19,8 @@ export class OnchainClientBase {
17
19
  this.binanceApiSecret = options.binanceApiSecret;
18
20
  this.coingeckoApiKey = options.coingeckoApiKey;
19
21
  this.coinmarketcapApiKey = options.coinmarketcapApiKey;
22
+ this.etherscanApiKey = options.etherscanApiKey;
23
+ this.solscanApiKey = options.solscanApiKey;
20
24
  this.timeoutMs = options.timeoutMs;
21
25
  }
22
26
  async sleep(ms) {
@@ -1 +1 @@
1
- {"version":3,"file":"onchain-client-base.js","sourceRoot":"","sources":["../../src/lib/onchain-client-base.ts"],"names":[],"mappings":"AAUA,MAAM,OAAgB,iBAAiB;IAC3B,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IAC9B,aAAa,CAAU;IACvB,gBAAgB,CAAU;IAC1B,eAAe,CAAU;IACzB,mBAAmB,CAAU;IAC7B,SAAS,CAAU;IAE7B,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,EAAU;QAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,OAAoB,EAAE;QAClE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAES,cAAc;QACtB,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"onchain-client-base.js","sourceRoot":"","sources":["../../src/lib/onchain-client-base.ts"],"names":[],"mappings":"AAUA,MAAM,OAAgB,iBAAiB;IAC3B,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IAC9B,aAAa,CAAU;IACvB,gBAAgB,CAAU;IAC1B,eAAe,CAAU;IACzB,mBAAmB,CAAU;IAC7B,eAAe,CAAU;IACzB,aAAa,CAAU;IACvB,SAAS,CAAU;IAE7B,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,EAAU;QAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,OAAoB,EAAE;QAClE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAES,cAAc;QACtB,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  export type ChainType = 'evm' | 'solana';
2
+ export type EtherscanChain = 'ethereum' | 'polygon' | 'bsc' | 'arbitrum' | 'base' | 'optimism' | 'avalanche' | 'fantom';
2
3
  export type EvmChain = 'eth' | 'bsc' | 'polygon' | 'arb' | 'op' | 'avax' | 'base' | 'zksync' | 'linea' | 'scroll' | 'blast' | 'mantle' | 'manta' | 'mode' | 'gnosis' | 'fantom' | 'celo' | 'aurora' | 'moonbeam' | 'moonriver' | 'cronos' | 'harmony' | 'metis' | 'boba' | 'kcc' | 'okc' | 'heco';
3
4
  export type SupportedChain = EvmChain | 'solana';
4
5
  export interface TokenBalance {
@@ -131,6 +132,50 @@ export interface PolymarketMarket {
131
132
  category?: string;
132
133
  slug?: string;
133
134
  }
135
+ export interface TransactionDetail {
136
+ hash: string;
137
+ chain: EtherscanChain | 'solana';
138
+ blockNumber: number;
139
+ timestamp: number;
140
+ status: 'success' | 'failed' | 'pending';
141
+ from: string;
142
+ to: string | null;
143
+ value: string;
144
+ valueFormatted: number;
145
+ fee: {
146
+ amount: number;
147
+ symbol: string;
148
+ valueUsd?: number;
149
+ };
150
+ gasUsed?: number;
151
+ gasLimit?: number;
152
+ gasPrice?: string;
153
+ methodId?: string;
154
+ methodName?: string;
155
+ tokenTransfers?: TokenTransfer[];
156
+ internalTransactions?: InternalTransaction[];
157
+ explorerUrl?: string;
158
+ }
159
+ export interface TokenTransfer {
160
+ tokenType: 'ERC20' | 'ERC721' | 'ERC1155' | 'SPL';
161
+ contractAddress: string;
162
+ from: string;
163
+ to: string;
164
+ tokenId?: string;
165
+ amount?: string;
166
+ amountFormatted?: number;
167
+ symbol?: string;
168
+ decimals?: number;
169
+ }
170
+ export interface InternalTransaction {
171
+ from: string;
172
+ to: string;
173
+ value: string;
174
+ valueFormatted: number;
175
+ type: string;
176
+ gasUsed?: number;
177
+ isError?: boolean;
178
+ }
134
179
  export type BalanceResult = {
135
180
  success: true;
136
181
  balances: TokenBalance[];
@@ -214,6 +259,22 @@ export type PolymarketDetailResult = {
214
259
  success: false;
215
260
  error: string;
216
261
  };
262
+ export type TransactionDetailResult = {
263
+ success: true;
264
+ transaction: TransactionDetail;
265
+ } | {
266
+ success: false;
267
+ error: string;
268
+ };
269
+ export type MultiChainTxSearchResult = {
270
+ success: true;
271
+ transaction: TransactionDetail;
272
+ chain: EtherscanChain;
273
+ } | {
274
+ success: false;
275
+ error: string;
276
+ triedChains: EtherscanChain[];
277
+ };
217
278
  export interface OnchainClientOptions {
218
279
  debankApiKey?: string;
219
280
  heliusApiKey?: string;
@@ -223,6 +284,8 @@ export interface OnchainClientOptions {
223
284
  binanceApiSecret?: string;
224
285
  coingeckoApiKey?: string;
225
286
  coinmarketcapApiKey?: string;
287
+ etherscanApiKey?: string;
288
+ solscanApiKey?: string;
226
289
  timeoutMs?: number;
227
290
  }
228
291
  //# sourceMappingURL=onchain-client-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onchain-client-types.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onchain-client-types.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client-types.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,15 @@ import { type CoinbaseMethods } from './mixins/coinbase.js';
3
3
  import { type CoinGeckoMethods } from './mixins/coingecko.js';
4
4
  import { type CoinMarketCapMethods } from './mixins/coinmarketcap.js';
5
5
  import { type DeBankMethods } from './mixins/debank.js';
6
+ import { type EtherscanMethods } from './mixins/etherscan.js';
6
7
  import { type HeliusMethods } from './mixins/helius.js';
7
8
  import { type PolymarketMethods } from './mixins/polymarket.js';
9
+ import { type SolscanMethods } from './mixins/solscan.js';
8
10
  import type { AbstractConstructor } from './onchain-client-base.js';
9
11
  import { OnchainClientBase } from './onchain-client-base.js';
10
- type OnchainClientInstance = OnchainClientBase & CoinGeckoMethods & CoinMarketCapMethods & DeBankMethods & HeliusMethods & CoinbaseMethods & BinanceMethods & PolymarketMethods;
12
+ type OnchainClientInstance = OnchainClientBase & CoinGeckoMethods & CoinMarketCapMethods & DeBankMethods & HeliusMethods & CoinbaseMethods & BinanceMethods & PolymarketMethods & EtherscanMethods & SolscanMethods;
11
13
  declare const MixedOnchainClient: AbstractConstructor<OnchainClientInstance>;
12
14
  export declare class OnchainClient extends MixedOnchainClient {
13
15
  }
14
- export type { BalanceResult, CexBalance, CexBalanceResult, CexHistoryResult, CexTrade, ChainType, DefiPosition, DefiResult, EvmChain, HistoryResult, MarketOverview, MarketResult, NftAsset, NftResult, OnchainClientOptions, PolymarketDetailResult, PolymarketMarket, PolymarketResult, PriceResult, PricesResult, SupportedChain, TokenBalance, TokenPrice, Transaction, } from './onchain-client-types.js';
16
+ export type { BalanceResult, CexBalance, CexBalanceResult, CexHistoryResult, CexTrade, ChainType, DefiPosition, DefiResult, EtherscanChain, EvmChain, HistoryResult, InternalTransaction, MarketOverview, MarketResult, MultiChainTxSearchResult, NftAsset, NftResult, OnchainClientOptions, PolymarketDetailResult, PolymarketMarket, PolymarketResult, PriceResult, PricesResult, SupportedChain, TokenBalance, TokenPrice, TokenTransfer, Transaction, TransactionDetail, TransactionDetailResult, } from './onchain-client-types.js';
15
17
  //# sourceMappingURL=onchain-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onchain-client.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,KAAK,qBAAqB,GAAG,iBAAiB,GAC5C,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,cAAc,GACd,iBAAiB,CAAC;AAGpB,QAAA,MAAM,kBAAkB,EAEnB,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAEhD,qBAAa,aAAc,SAAQ,kBAAkB;CAAG;AAGxD,YAAY,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"onchain-client.d.ts","sourceRoot":"","sources":["../../src/lib/onchain-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,KAAK,qBAAqB,GAAG,iBAAiB,GAC5C,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,CAAC;AAGjB,QAAA,MAAM,kBAAkB,EAMnB,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAEhD,qBAAa,aAAc,SAAQ,kBAAkB;CAAG;AAGxD,YAAY,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC"}