@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.
Files changed (49) hide show
  1. package/dist/cli/program.d.ts.map +1 -1
  2. package/dist/cli/program.js +2 -0
  3. package/dist/cli/program.js.map +1 -1
  4. package/dist/cli/setup-wizard.d.ts.map +1 -1
  5. package/dist/cli/setup-wizard.js +15 -0
  6. package/dist/cli/setup-wizard.js.map +1 -1
  7. package/dist/cli/shared.d.ts.map +1 -1
  8. package/dist/cli/shared.js +2 -0
  9. package/dist/cli/shared.js.map +1 -1
  10. package/dist/commands/setup.d.ts.map +1 -1
  11. package/dist/commands/setup.js +2 -0
  12. package/dist/commands/setup.js.map +1 -1
  13. package/dist/commands/tx.d.ts +4 -0
  14. package/dist/commands/tx.d.ts.map +1 -0
  15. package/dist/commands/tx.js +208 -0
  16. package/dist/commands/tx.js.map +1 -0
  17. package/dist/lib/config.d.ts +2 -0
  18. package/dist/lib/config.d.ts.map +1 -1
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/credentials.d.ts +4 -0
  21. package/dist/lib/credentials.d.ts.map +1 -1
  22. package/dist/lib/credentials.js +8 -0
  23. package/dist/lib/credentials.js.map +1 -1
  24. package/dist/lib/mixins/etherscan.d.ts +10 -0
  25. package/dist/lib/mixins/etherscan.d.ts.map +1 -0
  26. package/dist/lib/mixins/etherscan.js +275 -0
  27. package/dist/lib/mixins/etherscan.js.map +1 -0
  28. package/dist/lib/mixins/solscan.d.ts +7 -0
  29. package/dist/lib/mixins/solscan.d.ts.map +1 -0
  30. package/dist/lib/mixins/solscan.js +99 -0
  31. package/dist/lib/mixins/solscan.js.map +1 -0
  32. package/dist/lib/onchain-client-base.d.ts +2 -0
  33. package/dist/lib/onchain-client-base.d.ts.map +1 -1
  34. package/dist/lib/onchain-client-base.js +4 -0
  35. package/dist/lib/onchain-client-base.js.map +1 -1
  36. package/dist/lib/onchain-client-types.d.ts +63 -0
  37. package/dist/lib/onchain-client-types.d.ts.map +1 -1
  38. package/dist/lib/onchain-client.d.ts +4 -2
  39. package/dist/lib/onchain-client.d.ts.map +1 -1
  40. package/dist/lib/onchain-client.js +3 -1
  41. package/dist/lib/onchain-client.js.map +1 -1
  42. package/dist/lib/utils/formatters.d.ts.map +1 -1
  43. package/dist/lib/utils/formatters.js +6 -0
  44. package/dist/lib/utils/formatters.js.map +1 -1
  45. package/dist/lib/utils/tx-hash.d.ts +36 -0
  46. package/dist/lib/utils/tx-hash.d.ts.map +1 -0
  47. package/dist/lib/utils/tx-hash.js +93 -0
  48. package/dist/lib/utils/tx-hash.js.map +1 -0
  49. 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":"AAkBA,MAAM,YAAY,GAAwC;IACxD,QAAQ,EAAE;QACR,MAAM,EAAE,8BAA8B;QACtC,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,OAAO,EAAE;QACP,MAAM,EAAE,iCAAiC;QACzC,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,OAAO;QACrB,QAAQ,EAAE,EAAE;KACb;IACD,GAAG,EAAE;QACH,MAAM,EAAE,6BAA6B;QACrC,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,6BAA6B;QACrC,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,8BAA8B;QACtC,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,yCAAyC;QACjD,WAAW,EAAE,iCAAiC;QAC9C,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,SAAS,EAAE;QACT,MAAM,EAAE,8BAA8B;QACtC,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,MAAM;QACpB,QAAQ,EAAE,EAAE;KACb;IACD,MAAM,EAAE;QACN,MAAM,EAAE,6BAA6B;QACrC,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,oDAAoD;AACpD,MAAM,mBAAmB,GAAqB;IAC5C,UAAU;IACV,UAAU;IACV,MAAM;IACN,SAAS;IACT,UAAU;IACV,KAAK;IACL,WAAW;IACX,QAAQ;CACT,CAAC;AA6CF,MAAM,UAAU,aAAa,CAC3B,IAAW;IAEX,MAAe,cAAe,SAAQ,IAAI;QAChC,iBAAiB,CAAC,KAAqB,EAAE,MAA8B;YAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAE9C,2BAA2B;YAC3B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpD,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,KAAqB;YACzD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEnC,4BAA4B;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBAC1C,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,0BAA0B;oBAClC,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtE,CAAC;gBAED,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAUtC,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;gBAC5D,CAAC;gBAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBAEzB,oDAAoD;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBAC/C,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,2BAA2B;oBACnC,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,IAAI,OAA6E,CAAC;gBAClF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,CAEhD,CAAC;oBACF,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC/B,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC9C,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC7C,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,sBAAsB;wBAC9B,GAAG,EAAE,EAAE,CAAC,WAAW;wBACnB,OAAO,EAAE,OAAO;qBACjB,CAAC,CAAC;oBAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC5D,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;wBACrB,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAE5C,CAAC;wBAEF,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;4BAChC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,eAAe;gBACf,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;gBAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpF,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAElE,gBAAgB;gBAChB,MAAM,MAAM,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;gBAEzD,mBAAmB;gBACnB,IAAI,MAAM,GAAqC,SAAS,CAAC;gBACzD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3D,CAAC;gBAED,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEvF,wBAAwB;gBACxB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEpE,MAAM,WAAW,GAAsB;oBACrC,IAAI;oBACJ,KAAK;oBACL,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,KAAK;oBACL,cAAc;oBACd,GAAG,EAAE;wBACH,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,MAAM,CAAC,YAAY;qBAC5B;oBACD,OAAO;oBACP,QAAQ;oBACR,QAAQ;oBACR,QAAQ;oBACR,cAAc,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;oBACtE,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,OAAO,IAAI,EAAE;iBAChD,CAAC;gBAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAChG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,KAAqB;YAC5D,IAAI,CAAC;gBACH,wBAAwB;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBAC7C,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAA6B,CAAC;gBAE3E,MAAM,SAAS,GAAoB,EAAE,CAAC;gBAEtC,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;wBAClE,SAAS,CAAC,IAAI,CAAC;4BACb,SAAS,EAAE,OAAO;4BAClB,eAAe,EAAE,QAAQ,CAAC,eAAe;4BACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;4BACf,MAAM,EAAE,QAAQ,CAAC,KAAK;4BACtB,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ;4BACxD,MAAM,EAAE,QAAQ,CAAC,WAAW;4BAC5B,QAAQ;yBACT,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBAC9C,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAU9C,CAAC;gBAEF,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1D,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACzC,SAAS,CAAC,IAAI,CAAC;4BACb,SAAS,EAAE,QAAQ;4BACnB,eAAe,EAAE,QAAQ,CAAC,eAAe;4BACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;4BACf,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,MAAM,EAAE,QAAQ,CAAC,WAAW;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,6DAA6D;gBAC7D,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,0BAA0B,CAAC,IAAY,EAAE,KAAqB;YAClE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBACxC,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAgC,CAAC;gBAEpE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ;oBACxD,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;oBACjE,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG;iBAC5B,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,eAAkC;YACvE,MAAM,MAAM,GAAG,eAAe,IAAI,mBAAmB,CAAC;YACtD,MAAM,WAAW,GAAqB,EAAE,CAAC;YAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,KAAK;qBACN,CAAC;gBACJ,CAAC;gBAED,oDAAoD;gBACpD,uEAAuE;gBACvE,qBAAqB;YACvB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8CAA8C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7E,WAAW;aACZ,CAAC;QACJ,CAAC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -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;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"}
@@ -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;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAW7D,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,cAAc,CACvC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,kBAAkB;CAAG"}
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,CAiCrD"}
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"}