@cyberdrk/onchain 0.1.7 → 0.1.8
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/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +2 -0
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/setup-wizard.d.ts.map +1 -1
- package/dist/cli/setup-wizard.js +15 -0
- package/dist/cli/setup-wizard.js.map +1 -1
- package/dist/cli/shared.d.ts.map +1 -1
- package/dist/cli/shared.js +2 -0
- package/dist/cli/shared.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +2 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/tx.d.ts +4 -0
- package/dist/commands/tx.d.ts.map +1 -0
- package/dist/commands/tx.js +208 -0
- package/dist/commands/tx.js.map +1 -0
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/credentials.d.ts +4 -0
- package/dist/lib/credentials.d.ts.map +1 -1
- package/dist/lib/credentials.js +8 -0
- package/dist/lib/credentials.js.map +1 -1
- package/dist/lib/mixins/etherscan.d.ts +10 -0
- package/dist/lib/mixins/etherscan.d.ts.map +1 -0
- package/dist/lib/mixins/etherscan.js +275 -0
- package/dist/lib/mixins/etherscan.js.map +1 -0
- package/dist/lib/mixins/solscan.d.ts +7 -0
- package/dist/lib/mixins/solscan.d.ts.map +1 -0
- package/dist/lib/mixins/solscan.js +99 -0
- package/dist/lib/mixins/solscan.js.map +1 -0
- package/dist/lib/onchain-client-base.d.ts +2 -0
- package/dist/lib/onchain-client-base.d.ts.map +1 -1
- package/dist/lib/onchain-client-base.js +4 -0
- package/dist/lib/onchain-client-base.js.map +1 -1
- package/dist/lib/onchain-client-types.d.ts +63 -0
- package/dist/lib/onchain-client-types.d.ts.map +1 -1
- package/dist/lib/onchain-client.d.ts +4 -2
- package/dist/lib/onchain-client.d.ts.map +1 -1
- package/dist/lib/onchain-client.js +3 -1
- package/dist/lib/onchain-client.js.map +1 -1
- package/dist/lib/utils/formatters.d.ts.map +1 -1
- package/dist/lib/utils/formatters.js +6 -0
- package/dist/lib/utils/formatters.js.map +1 -1
- package/dist/lib/utils/tx-hash.d.ts +36 -0
- package/dist/lib/utils/tx-hash.d.ts.map +1 -0
- package/dist/lib/utils/tx-hash.js +93 -0
- package/dist/lib/utils/tx-hash.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
const CHAIN_CONFIG = {
|
|
2
|
+
ethereum: {
|
|
3
|
+
apiUrl: 'https://api.etherscan.io/api',
|
|
4
|
+
explorerUrl: 'https://etherscan.io',
|
|
5
|
+
nativeSymbol: 'ETH',
|
|
6
|
+
decimals: 18,
|
|
7
|
+
},
|
|
8
|
+
polygon: {
|
|
9
|
+
apiUrl: 'https://api.polygonscan.com/api',
|
|
10
|
+
explorerUrl: 'https://polygonscan.com',
|
|
11
|
+
nativeSymbol: 'MATIC',
|
|
12
|
+
decimals: 18,
|
|
13
|
+
},
|
|
14
|
+
bsc: {
|
|
15
|
+
apiUrl: 'https://api.bscscan.com/api',
|
|
16
|
+
explorerUrl: 'https://bscscan.com',
|
|
17
|
+
nativeSymbol: 'BNB',
|
|
18
|
+
decimals: 18,
|
|
19
|
+
},
|
|
20
|
+
arbitrum: {
|
|
21
|
+
apiUrl: 'https://api.arbiscan.io/api',
|
|
22
|
+
explorerUrl: 'https://arbiscan.io',
|
|
23
|
+
nativeSymbol: 'ETH',
|
|
24
|
+
decimals: 18,
|
|
25
|
+
},
|
|
26
|
+
base: {
|
|
27
|
+
apiUrl: 'https://api.basescan.org/api',
|
|
28
|
+
explorerUrl: 'https://basescan.org',
|
|
29
|
+
nativeSymbol: 'ETH',
|
|
30
|
+
decimals: 18,
|
|
31
|
+
},
|
|
32
|
+
optimism: {
|
|
33
|
+
apiUrl: 'https://api-optimistic.etherscan.io/api',
|
|
34
|
+
explorerUrl: 'https://optimistic.etherscan.io',
|
|
35
|
+
nativeSymbol: 'ETH',
|
|
36
|
+
decimals: 18,
|
|
37
|
+
},
|
|
38
|
+
avalanche: {
|
|
39
|
+
apiUrl: 'https://api.snowtrace.io/api',
|
|
40
|
+
explorerUrl: 'https://snowtrace.io',
|
|
41
|
+
nativeSymbol: 'AVAX',
|
|
42
|
+
decimals: 18,
|
|
43
|
+
},
|
|
44
|
+
fantom: {
|
|
45
|
+
apiUrl: 'https://api.ftmscan.com/api',
|
|
46
|
+
explorerUrl: 'https://ftmscan.com',
|
|
47
|
+
nativeSymbol: 'FTM',
|
|
48
|
+
decimals: 18,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
// Default chain search order (prioritized by usage)
|
|
52
|
+
const DEFAULT_CHAIN_ORDER = [
|
|
53
|
+
'ethereum',
|
|
54
|
+
'arbitrum',
|
|
55
|
+
'base',
|
|
56
|
+
'polygon',
|
|
57
|
+
'optimism',
|
|
58
|
+
'bsc',
|
|
59
|
+
'avalanche',
|
|
60
|
+
'fantom',
|
|
61
|
+
];
|
|
62
|
+
export function withEtherscan(Base) {
|
|
63
|
+
class EtherscanMixin extends Base {
|
|
64
|
+
buildEtherscanUrl(chain, params) {
|
|
65
|
+
const config = CHAIN_CONFIG[chain];
|
|
66
|
+
const urlParams = new URLSearchParams(params);
|
|
67
|
+
// Add API key if available
|
|
68
|
+
if (this.etherscanApiKey) {
|
|
69
|
+
urlParams.set('apikey', this.etherscanApiKey);
|
|
70
|
+
}
|
|
71
|
+
return `${config.apiUrl}?${urlParams.toString()}`;
|
|
72
|
+
}
|
|
73
|
+
async getEvmTransaction(hash, chain) {
|
|
74
|
+
try {
|
|
75
|
+
const config = CHAIN_CONFIG[chain];
|
|
76
|
+
// Fetch transaction details
|
|
77
|
+
const txUrl = this.buildEtherscanUrl(chain, {
|
|
78
|
+
module: 'proxy',
|
|
79
|
+
action: 'eth_getTransactionByHash',
|
|
80
|
+
txhash: hash,
|
|
81
|
+
});
|
|
82
|
+
const txResponse = await this.fetchWithTimeout(txUrl);
|
|
83
|
+
if (!txResponse.ok) {
|
|
84
|
+
return { success: false, error: `API error: ${txResponse.status}` };
|
|
85
|
+
}
|
|
86
|
+
const txData = (await txResponse.json());
|
|
87
|
+
if (!txData.result) {
|
|
88
|
+
return { success: false, error: 'Transaction not found' };
|
|
89
|
+
}
|
|
90
|
+
const tx = txData.result;
|
|
91
|
+
// Fetch transaction receipt for status and gas used
|
|
92
|
+
const receiptUrl = this.buildEtherscanUrl(chain, {
|
|
93
|
+
module: 'proxy',
|
|
94
|
+
action: 'eth_getTransactionReceipt',
|
|
95
|
+
txhash: hash,
|
|
96
|
+
});
|
|
97
|
+
let receipt;
|
|
98
|
+
const receiptResponse = await this.fetchWithTimeout(receiptUrl);
|
|
99
|
+
if (receiptResponse.ok) {
|
|
100
|
+
const receiptData = (await receiptResponse.json());
|
|
101
|
+
receipt = receiptData.result;
|
|
102
|
+
}
|
|
103
|
+
// Fetch block for timestamp
|
|
104
|
+
let timestamp = Math.floor(Date.now() / 1000);
|
|
105
|
+
if (tx.blockNumber) {
|
|
106
|
+
const blockUrl = this.buildEtherscanUrl(chain, {
|
|
107
|
+
module: 'proxy',
|
|
108
|
+
action: 'eth_getBlockByNumber',
|
|
109
|
+
tag: tx.blockNumber,
|
|
110
|
+
boolean: 'false',
|
|
111
|
+
});
|
|
112
|
+
const blockResponse = await this.fetchWithTimeout(blockUrl);
|
|
113
|
+
if (blockResponse.ok) {
|
|
114
|
+
const blockData = (await blockResponse.json());
|
|
115
|
+
if (blockData.result?.timestamp) {
|
|
116
|
+
timestamp = Number.parseInt(blockData.result.timestamp, 16);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Parse values
|
|
121
|
+
const blockNumber = tx.blockNumber ? Number.parseInt(tx.blockNumber, 16) : 0;
|
|
122
|
+
const value = tx.value ? BigInt(tx.value).toString() : '0';
|
|
123
|
+
const valueFormatted = Number(value) / 10 ** config.decimals;
|
|
124
|
+
const gasPrice = tx.gasPrice ? BigInt(tx.gasPrice).toString() : '0';
|
|
125
|
+
const gasUsed = receipt?.gasUsed ? Number.parseInt(receipt.gasUsed, 16) : undefined;
|
|
126
|
+
const gasLimit = tx.gas ? Number.parseInt(tx.gas, 16) : undefined;
|
|
127
|
+
// Calculate fee
|
|
128
|
+
const feeWei = gasUsed && gasPrice ? BigInt(gasUsed) * BigInt(gasPrice) : BigInt(0);
|
|
129
|
+
const feeAmount = Number(feeWei) / 10 ** config.decimals;
|
|
130
|
+
// Determine status
|
|
131
|
+
let status = 'pending';
|
|
132
|
+
if (receipt?.status) {
|
|
133
|
+
status = receipt.status === '0x1' ? 'success' : 'failed';
|
|
134
|
+
}
|
|
135
|
+
// Extract method ID and name from input
|
|
136
|
+
const methodId = tx.input && tx.input.length >= 10 ? tx.input.slice(0, 10) : undefined;
|
|
137
|
+
// Fetch token transfers
|
|
138
|
+
const tokenTransfers = await this.getEvmTokenTransfers(hash, chain);
|
|
139
|
+
const transaction = {
|
|
140
|
+
hash,
|
|
141
|
+
chain,
|
|
142
|
+
blockNumber,
|
|
143
|
+
timestamp,
|
|
144
|
+
status,
|
|
145
|
+
from: tx.from,
|
|
146
|
+
to: tx.to,
|
|
147
|
+
value,
|
|
148
|
+
valueFormatted,
|
|
149
|
+
fee: {
|
|
150
|
+
amount: feeAmount,
|
|
151
|
+
symbol: config.nativeSymbol,
|
|
152
|
+
},
|
|
153
|
+
gasUsed,
|
|
154
|
+
gasLimit,
|
|
155
|
+
gasPrice,
|
|
156
|
+
methodId,
|
|
157
|
+
tokenTransfers: tokenTransfers.length > 0 ? tokenTransfers : undefined,
|
|
158
|
+
explorerUrl: `${config.explorerUrl}/tx/${hash}`,
|
|
159
|
+
};
|
|
160
|
+
return { success: true, transaction };
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return {
|
|
164
|
+
success: false,
|
|
165
|
+
error: `Failed to fetch transaction: ${error instanceof Error ? error.message : String(error)}`,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async getEvmTokenTransfers(hash, chain) {
|
|
170
|
+
try {
|
|
171
|
+
// Fetch ERC20 transfers
|
|
172
|
+
const erc20Url = this.buildEtherscanUrl(chain, {
|
|
173
|
+
module: 'account',
|
|
174
|
+
action: 'tokentx',
|
|
175
|
+
txhash: hash,
|
|
176
|
+
});
|
|
177
|
+
const erc20Response = await this.fetchWithTimeout(erc20Url);
|
|
178
|
+
const erc20Data = (await erc20Response.json());
|
|
179
|
+
const transfers = [];
|
|
180
|
+
if (erc20Data.result && Array.isArray(erc20Data.result)) {
|
|
181
|
+
for (const transfer of erc20Data.result) {
|
|
182
|
+
const decimals = Number.parseInt(transfer.tokenDecimal, 10) || 18;
|
|
183
|
+
transfers.push({
|
|
184
|
+
tokenType: 'ERC20',
|
|
185
|
+
contractAddress: transfer.contractAddress,
|
|
186
|
+
from: transfer.from,
|
|
187
|
+
to: transfer.to,
|
|
188
|
+
amount: transfer.value,
|
|
189
|
+
amountFormatted: Number(transfer.value) / 10 ** decimals,
|
|
190
|
+
symbol: transfer.tokenSymbol,
|
|
191
|
+
decimals,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Fetch ERC721 (NFT) transfers
|
|
196
|
+
const erc721Url = this.buildEtherscanUrl(chain, {
|
|
197
|
+
module: 'account',
|
|
198
|
+
action: 'tokennfttx',
|
|
199
|
+
txhash: hash,
|
|
200
|
+
});
|
|
201
|
+
const erc721Response = await this.fetchWithTimeout(erc721Url);
|
|
202
|
+
const erc721Data = (await erc721Response.json());
|
|
203
|
+
if (erc721Data.result && Array.isArray(erc721Data.result)) {
|
|
204
|
+
for (const transfer of erc721Data.result) {
|
|
205
|
+
transfers.push({
|
|
206
|
+
tokenType: 'ERC721',
|
|
207
|
+
contractAddress: transfer.contractAddress,
|
|
208
|
+
from: transfer.from,
|
|
209
|
+
to: transfer.to,
|
|
210
|
+
tokenId: transfer.tokenID,
|
|
211
|
+
symbol: transfer.tokenSymbol,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return transfers;
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Return empty array on error - token transfers are optional
|
|
219
|
+
return [];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async getEvmInternalTransactions(hash, chain) {
|
|
223
|
+
try {
|
|
224
|
+
const config = CHAIN_CONFIG[chain];
|
|
225
|
+
const url = this.buildEtherscanUrl(chain, {
|
|
226
|
+
module: 'account',
|
|
227
|
+
action: 'txlistinternal',
|
|
228
|
+
txhash: hash,
|
|
229
|
+
});
|
|
230
|
+
const response = await this.fetchWithTimeout(url);
|
|
231
|
+
const data = (await response.json());
|
|
232
|
+
if (!data.result || !Array.isArray(data.result)) {
|
|
233
|
+
return [];
|
|
234
|
+
}
|
|
235
|
+
return data.result.map((tx) => ({
|
|
236
|
+
from: tx.from,
|
|
237
|
+
to: tx.to,
|
|
238
|
+
value: tx.value,
|
|
239
|
+
valueFormatted: Number(tx.value) / 10 ** config.decimals,
|
|
240
|
+
type: tx.type,
|
|
241
|
+
gasUsed: tx.gasUsed ? Number.parseInt(tx.gasUsed, 10) : undefined,
|
|
242
|
+
isError: tx.isError === '1',
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
async findEvmTransaction(hash, preferredChains) {
|
|
250
|
+
const chains = preferredChains ?? DEFAULT_CHAIN_ORDER;
|
|
251
|
+
const triedChains = [];
|
|
252
|
+
for (const chain of chains) {
|
|
253
|
+
triedChains.push(chain);
|
|
254
|
+
const result = await this.getEvmTransaction(hash, chain);
|
|
255
|
+
if (result.success) {
|
|
256
|
+
return {
|
|
257
|
+
success: true,
|
|
258
|
+
transaction: result.transaction,
|
|
259
|
+
chain,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
// If we got "Transaction not found", try next chain
|
|
263
|
+
// If we got a different error (rate limit, etc.), still try next chain
|
|
264
|
+
// but note the error
|
|
265
|
+
}
|
|
266
|
+
return {
|
|
267
|
+
success: false,
|
|
268
|
+
error: `Transaction not found on any chain. Tried: ${triedChains.join(', ')}`,
|
|
269
|
+
triedChains,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return EtherscanMixin;
|
|
274
|
+
}
|
|
275
|
+
//# 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,CA0G9B"}
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
return { success: false, error: 'Invalid Solscan API key' };
|
|
24
|
+
}
|
|
25
|
+
return { success: false, error: `Solscan API error: ${response.status}` };
|
|
26
|
+
}
|
|
27
|
+
const data = (await response.json());
|
|
28
|
+
if (!data.success || !data.data) {
|
|
29
|
+
return { success: false, error: 'Transaction not found' };
|
|
30
|
+
}
|
|
31
|
+
const tx = data.data;
|
|
32
|
+
// Parse token transfers
|
|
33
|
+
const tokenTransfers = [];
|
|
34
|
+
if (tx.token_bal_change && Array.isArray(tx.token_bal_change)) {
|
|
35
|
+
for (const change of tx.token_bal_change) {
|
|
36
|
+
// Only include outgoing transfers (negative change)
|
|
37
|
+
const changeAmount = Number(change.change_amount);
|
|
38
|
+
if (changeAmount !== 0) {
|
|
39
|
+
tokenTransfers.push({
|
|
40
|
+
tokenType: 'SPL',
|
|
41
|
+
contractAddress: change.token_address,
|
|
42
|
+
from: changeAmount < 0 ? change.address : '',
|
|
43
|
+
to: changeAmount > 0 ? change.address : '',
|
|
44
|
+
amount: Math.abs(changeAmount).toString(),
|
|
45
|
+
amountFormatted: Math.abs(changeAmount) / 10 ** (change.token_decimals || 9),
|
|
46
|
+
symbol: change.token_symbol,
|
|
47
|
+
decimals: change.token_decimals,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Calculate native SOL transfer value
|
|
53
|
+
let valueFormatted = 0;
|
|
54
|
+
const from = tx.signer[0] || '';
|
|
55
|
+
let to = null;
|
|
56
|
+
if (tx.sol_bal_change && Array.isArray(tx.sol_bal_change)) {
|
|
57
|
+
// Find the main sender (largest negative change that's not just fee)
|
|
58
|
+
const senderChange = tx.sol_bal_change.find((c) => c.change_amount < 0 && c.address === from);
|
|
59
|
+
// Find the main receiver (largest positive change)
|
|
60
|
+
const receiverChange = tx.sol_bal_change.find((c) => c.change_amount > 0 && c.address !== from);
|
|
61
|
+
if (receiverChange) {
|
|
62
|
+
to = receiverChange.address;
|
|
63
|
+
valueFormatted = receiverChange.change_amount / 1e9;
|
|
64
|
+
}
|
|
65
|
+
else if (senderChange) {
|
|
66
|
+
// If no receiver found, the value sent might be the fee + other costs
|
|
67
|
+
valueFormatted = Math.abs(senderChange.change_amount + tx.fee) / 1e9;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const transaction = {
|
|
71
|
+
hash: signature,
|
|
72
|
+
chain: 'solana',
|
|
73
|
+
blockNumber: tx.block_id,
|
|
74
|
+
timestamp: tx.block_time,
|
|
75
|
+
status: tx.status === 'Success' ? 'success' : 'failed',
|
|
76
|
+
from,
|
|
77
|
+
to,
|
|
78
|
+
value: Math.round(valueFormatted * 1e9).toString(),
|
|
79
|
+
valueFormatted,
|
|
80
|
+
fee: {
|
|
81
|
+
amount: tx.fee / 1e9,
|
|
82
|
+
symbol: 'SOL',
|
|
83
|
+
},
|
|
84
|
+
tokenTransfers: tokenTransfers.length > 0 ? tokenTransfers : undefined,
|
|
85
|
+
explorerUrl: `${SOLSCAN_EXPLORER_URL}/tx/${signature}`,
|
|
86
|
+
};
|
|
87
|
+
return { success: true, transaction };
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
return {
|
|
91
|
+
success: false,
|
|
92
|
+
error: `Failed to fetch Solana transaction: ${error instanceof Error ? error.message : String(error)}`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return SolscanMixin;
|
|
98
|
+
}
|
|
99
|
+
//# 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;
|
|
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;
|
|
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"}
|
|
@@ -3,11 +3,13 @@ import { withCoinbase } from './mixins/coinbase.js';
|
|
|
3
3
|
import { withCoinGecko } from './mixins/coingecko.js';
|
|
4
4
|
import { withCoinMarketCap } from './mixins/coinmarketcap.js';
|
|
5
5
|
import { withDeBank } from './mixins/debank.js';
|
|
6
|
+
import { withEtherscan } from './mixins/etherscan.js';
|
|
6
7
|
import { withHelius } from './mixins/helius.js';
|
|
7
8
|
import { withPolymarket } from './mixins/polymarket.js';
|
|
9
|
+
import { withSolscan } from './mixins/solscan.js';
|
|
8
10
|
import { OnchainClientBase } from './onchain-client-base.js';
|
|
9
11
|
// Compose all mixins
|
|
10
|
-
const MixedOnchainClient = withPolymarket(withBinance(withCoinbase(withHelius(withDeBank(withCoinMarketCap(withCoinGecko(OnchainClientBase)))))));
|
|
12
|
+
const MixedOnchainClient = withSolscan(withEtherscan(withPolymarket(withBinance(withCoinbase(withHelius(withDeBank(withCoinMarketCap(withCoinGecko(OnchainClientBase)))))))));
|
|
11
13
|
export class OnchainClient extends MixedOnchainClient {
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=onchain-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-client.js","sourceRoot":"","sources":["../../src/lib/onchain-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAwB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAA6B,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAA0B,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"onchain-client.js","sourceRoot":"","sources":["../../src/lib/onchain-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAwB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAA6B,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAA0B,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAuB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAa7D,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,WAAW,CACpC,aAAa,CACX,cAAc,CACZ,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvG,CACF,CAC4C,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,kBAAkB;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/formatters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAmBnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAOxG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAuB5G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAkB9F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/formatters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAmBnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAOxG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAuB5G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAkB9F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCrD"}
|