@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
@@ -139,6 +139,7 @@ export function formatRelativeTime(timestamp) {
139
139
  */
140
140
  export function formatChainName(chain) {
141
141
  const chainNames = {
142
+ // DeBank chain identifiers
142
143
  eth: 'Ethereum',
143
144
  bsc: 'BNB Chain',
144
145
  polygon: 'Polygon',
@@ -167,6 +168,11 @@ export function formatChainName(chain) {
167
168
  okc: 'OKC',
168
169
  heco: 'HECO',
169
170
  solana: 'Solana',
171
+ // Etherscan chain identifiers
172
+ ethereum: 'Ethereum',
173
+ arbitrum: 'Arbitrum',
174
+ optimism: 'Optimism',
175
+ avalanche: 'Avalanche',
170
176
  };
171
177
  return chainNames[chain] ?? chain.toUpperCase();
172
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/lib/utils/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/lib/utils/formatters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAgC,EAAE,OAA+B;IACzF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;QACf,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAClC,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,CAAC;IACD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,CAAC;IACD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgC,EAAE,OAAgC;IAC9F,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAkD;IAClG,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;IAExC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAClC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QACpC,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,QAAQ;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAClC,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;IAED,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,OAAmC;IACpF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAExC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACtC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAEpC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACd,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,OAAO,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,UAAU,GAA2B;QACzC,2BAA2B;QAC3B,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,UAAU;QACf,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,8BAA8B;QAC9B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Transaction hash detection and validation utilities
3
+ */
4
+ import type { EtherscanChain } from '../onchain-client-types.js';
5
+ export type TxHashType = 'evm' | 'solana' | 'unknown';
6
+ export interface ParsedTxInput {
7
+ hash: string;
8
+ chain?: EtherscanChain | 'solana';
9
+ type: TxHashType;
10
+ }
11
+ /**
12
+ * Check if a string is a valid EVM transaction hash
13
+ */
14
+ export declare function isEvmTxHash(hash: string): boolean;
15
+ /**
16
+ * Check if a string is a valid Solana signature
17
+ */
18
+ export declare function isSolanaSignature(signature: string): boolean;
19
+ /**
20
+ * Detect the type of transaction hash/signature
21
+ */
22
+ export declare function detectTxHashType(hash: string): TxHashType;
23
+ /**
24
+ * Truncate a hash for display (e.g., 0x1234...abcd or 5VERv8...xyz123)
25
+ * Handles both EVM hashes (0x prefix) and Solana signatures (no prefix)
26
+ */
27
+ export declare function truncateHash(hash: string, chars?: number): string;
28
+ /**
29
+ * Parse a transaction input which can be either:
30
+ * - A raw transaction hash (EVM or Solana)
31
+ * - A block explorer URL (etherscan, basescan, solscan, etc.)
32
+ *
33
+ * Returns the extracted hash and detected chain (if from URL)
34
+ */
35
+ export declare function parseTxInput(input: string): ParsedTxInput;
36
+ //# sourceMappingURL=tx-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-hash.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/tx-hash.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,UAAU,CAAC;CAClB;AAiCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAQzD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAM5D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAoBzD"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Transaction hash detection and validation utilities
3
+ */
4
+ // Explorer URL patterns mapped to chains
5
+ const EXPLORER_PATTERNS = [
6
+ // Ethereum
7
+ { pattern: /^https?:\/\/(?:www\.)?etherscan\.io\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'ethereum' },
8
+ // Polygon
9
+ { pattern: /^https?:\/\/(?:www\.)?polygonscan\.com\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'polygon' },
10
+ // BSC
11
+ { pattern: /^https?:\/\/(?:www\.)?bscscan\.com\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'bsc' },
12
+ // Arbitrum
13
+ { pattern: /^https?:\/\/(?:www\.)?arbiscan\.io\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'arbitrum' },
14
+ // Base
15
+ { pattern: /^https?:\/\/(?:www\.)?basescan\.org\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'base' },
16
+ // Optimism
17
+ { pattern: /^https?:\/\/(?:www\.)?optimistic\.etherscan\.io\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'optimism' },
18
+ // Avalanche
19
+ { pattern: /^https?:\/\/(?:www\.)?snowtrace\.io\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'avalanche' },
20
+ // Fantom
21
+ { pattern: /^https?:\/\/(?:www\.)?ftmscan\.com\/tx\/(0x[a-fA-F0-9]{64})/, chain: 'fantom' },
22
+ // Solana (Solscan)
23
+ { pattern: /^https?:\/\/(?:www\.)?solscan\.io\/tx\/([1-9A-HJ-NP-Za-km-z]{43,88})/, chain: 'solana' },
24
+ // Solana (Explorer)
25
+ { pattern: /^https?:\/\/(?:www\.)?explorer\.solana\.com\/tx\/([1-9A-HJ-NP-Za-km-z]{43,88})/, chain: 'solana' },
26
+ ];
27
+ // EVM transaction hashes: 0x prefix + 64 hex characters
28
+ const EVM_TX_HASH_REGEX = /^0x[a-fA-F0-9]{64}$/;
29
+ // Solana signatures: Base58 encoded, 43-88 characters (length varies based on leading zeros)
30
+ // Base58 alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
31
+ const SOLANA_BASE58_REGEX = /^[1-9A-HJ-NP-Za-km-z]{43,88}$/;
32
+ /**
33
+ * Check if a string is a valid EVM transaction hash
34
+ */
35
+ export function isEvmTxHash(hash) {
36
+ return EVM_TX_HASH_REGEX.test(hash);
37
+ }
38
+ /**
39
+ * Check if a string is a valid Solana signature
40
+ */
41
+ export function isSolanaSignature(signature) {
42
+ return SOLANA_BASE58_REGEX.test(signature);
43
+ }
44
+ /**
45
+ * Detect the type of transaction hash/signature
46
+ */
47
+ export function detectTxHashType(hash) {
48
+ if (isEvmTxHash(hash)) {
49
+ return 'evm';
50
+ }
51
+ if (isSolanaSignature(hash)) {
52
+ return 'solana';
53
+ }
54
+ return 'unknown';
55
+ }
56
+ /**
57
+ * Truncate a hash for display (e.g., 0x1234...abcd or 5VERv8...xyz123)
58
+ * Handles both EVM hashes (0x prefix) and Solana signatures (no prefix)
59
+ */
60
+ export function truncateHash(hash, chars = 6) {
61
+ if (hash.length <= chars * 2 + 3) {
62
+ return hash;
63
+ }
64
+ const prefixLen = hash.startsWith('0x') ? 2 : 0;
65
+ return `${hash.slice(0, chars + prefixLen)}...${hash.slice(-chars)}`;
66
+ }
67
+ /**
68
+ * Parse a transaction input which can be either:
69
+ * - A raw transaction hash (EVM or Solana)
70
+ * - A block explorer URL (etherscan, basescan, solscan, etc.)
71
+ *
72
+ * Returns the extracted hash and detected chain (if from URL)
73
+ */
74
+ export function parseTxInput(input) {
75
+ const trimmed = input.trim();
76
+ // Check if it's a URL
77
+ if (trimmed.startsWith('http://') || trimmed.startsWith('https://')) {
78
+ for (const { pattern, chain } of EXPLORER_PATTERNS) {
79
+ const match = trimmed.match(pattern);
80
+ if (match?.[1]) {
81
+ const hash = match[1];
82
+ const type = chain === 'solana' ? 'solana' : 'evm';
83
+ return { hash, chain, type };
84
+ }
85
+ }
86
+ // URL didn't match any known pattern
87
+ return { hash: trimmed, type: 'unknown' };
88
+ }
89
+ // It's a raw hash
90
+ const type = detectTxHashType(trimmed);
91
+ return { hash: trimmed, type };
92
+ }
93
+ //# sourceMappingURL=tx-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-hash.js","sourceRoot":"","sources":["../../../src/lib/utils/tx-hash.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyberdrk/onchain",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "CLI tool for crypto portfolio tracking, market data, and CEX history",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",