@0xtorch/evm 0.0.134 → 0.0.136

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 (67) hide show
  1. package/_cjs/chain/definitions/berachain.js +69 -0
  2. package/_cjs/chain/definitions/berachain.js.map +1 -0
  3. package/_cjs/chain/definitions/fantom.js +5 -6
  4. package/_cjs/chain/definitions/fantom.js.map +1 -1
  5. package/_cjs/chain/definitions/unichain.js +80 -0
  6. package/_cjs/chain/definitions/unichain.js.map +1 -0
  7. package/_cjs/chain/index.js +14 -4
  8. package/_cjs/chain/index.js.map +1 -1
  9. package/_cjs/index.js +13 -4
  10. package/_cjs/index.js.map +1 -1
  11. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeInput.js +6 -1
  12. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeInput.js.map +1 -1
  13. package/_cjs/logic/getTransactionDetail/decodeTokenTransferLogs.js +110 -0
  14. package/_cjs/logic/getTransactionDetail/decodeTokenTransferLogs.js.map +1 -1
  15. package/_esm/chain/definitions/berachain.js +70 -0
  16. package/_esm/chain/definitions/berachain.js.map +1 -0
  17. package/_esm/chain/definitions/fantom.js +6 -7
  18. package/_esm/chain/definitions/fantom.js.map +1 -1
  19. package/_esm/chain/definitions/unichain.js +75 -0
  20. package/_esm/chain/definitions/unichain.js.map +1 -0
  21. package/_esm/chain/index.js +2 -0
  22. package/_esm/chain/index.js.map +1 -1
  23. package/_esm/index.js +1 -1
  24. package/_esm/index.js.map +1 -1
  25. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeInput.js +8 -2
  26. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeInput.js.map +1 -1
  27. package/_esm/logic/getTransactionDetail/decodeTokenTransferLogs.js +114 -0
  28. package/_esm/logic/getTransactionDetail/decodeTokenTransferLogs.js.map +1 -1
  29. package/_types/chain/definitions/berachain.d.ts +18 -0
  30. package/_types/chain/definitions/berachain.d.ts.map +1 -0
  31. package/_types/chain/definitions/fantom.d.ts +1 -1
  32. package/_types/chain/definitions/fantom.d.ts.map +1 -1
  33. package/_types/chain/definitions/unichain.d.ts +18 -0
  34. package/_types/chain/definitions/unichain.d.ts.map +1 -0
  35. package/_types/chain/index.d.ts +2 -0
  36. package/_types/chain/index.d.ts.map +1 -1
  37. package/_types/chain/viemChains/chainVerse.d.ts +1 -0
  38. package/_types/chain/viemChains/chainVerse.d.ts.map +1 -1
  39. package/_types/chain/viemChains/defiVerse.d.ts +1 -0
  40. package/_types/chain/viemChains/defiVerse.d.ts.map +1 -1
  41. package/_types/chain/viemChains/geekVerse.d.ts +1 -0
  42. package/_types/chain/viemChains/geekVerse.d.ts.map +1 -1
  43. package/_types/chain/viemChains/gesoVerse.d.ts +1 -0
  44. package/_types/chain/viemChains/gesoVerse.d.ts.map +1 -1
  45. package/_types/chain/viemChains/homeVerse.d.ts +1 -0
  46. package/_types/chain/viemChains/homeVerse.d.ts.map +1 -1
  47. package/_types/chain/viemChains/mchVerse.d.ts +1 -0
  48. package/_types/chain/viemChains/mchVerse.d.ts.map +1 -1
  49. package/_types/chain/viemChains/saakuru.d.ts +1 -0
  50. package/_types/chain/viemChains/saakuru.d.ts.map +1 -1
  51. package/_types/chain/viemChains/soneium.d.ts +1 -0
  52. package/_types/chain/viemChains/soneium.d.ts.map +1 -1
  53. package/_types/chain/viemChains/sonic.d.ts +1 -0
  54. package/_types/chain/viemChains/sonic.d.ts.map +1 -1
  55. package/_types/chain/viemChains/tcgVerse.d.ts +1 -0
  56. package/_types/chain/viemChains/tcgVerse.d.ts.map +1 -1
  57. package/_types/index.d.ts +1 -1
  58. package/_types/index.d.ts.map +1 -1
  59. package/_types/logic/analyzeTransaction/decodeTransaction/decodeInput.d.ts.map +1 -1
  60. package/chain/definitions/berachain.ts +93 -0
  61. package/chain/definitions/fantom.ts +5 -7
  62. package/chain/definitions/unichain.ts +98 -0
  63. package/chain/index.ts +12 -0
  64. package/index.ts +8 -0
  65. package/logic/analyzeTransaction/decodeTransaction/decodeInput.ts +8 -1
  66. package/logic/getTransactionDetail/decodeTokenTransferLogs.ts +152 -0
  67. package/package.json +3 -3
@@ -6,6 +6,7 @@ export declare const chainVerse: {
6
6
  readonly apiUrl: "https://explorer.chainverse.info/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chainVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/chainVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBrB,CAAA"}
1
+ {"version":3,"file":"chainVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/chainVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBrB,CAAA"}
@@ -6,6 +6,7 @@ export declare const defiVerse: {
6
6
  readonly apiUrl: "https://scan.defi-verse.org/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"defiVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/defiVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
1
+ {"version":3,"file":"defiVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/defiVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
@@ -6,6 +6,7 @@ export declare const geekVerse: {
6
6
  readonly apiUrl: "https://explorer.geekout-pte.com/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"geekVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/geekVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
1
+ {"version":3,"file":"geekVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/geekVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
@@ -6,6 +6,7 @@ export declare const gesoVerse: {
6
6
  readonly apiUrl: "https://explorer.verse.gesoten.com/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"gesoVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/gesoVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
1
+ {"version":3,"file":"gesoVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/gesoVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
@@ -6,6 +6,7 @@ export declare const homeVerse: {
6
6
  readonly apiUrl: "https://explorer.oasys.homeverse.games/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"homeVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/homeVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
1
+ {"version":3,"file":"homeVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/homeVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBpB,CAAA"}
@@ -6,6 +6,7 @@ export declare const mchVerse: {
6
6
  readonly apiUrl: "https://explorer.oasys.mycryptoheroes.net/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"mchVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/mchVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAA"}
1
+ {"version":3,"file":"mchVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/mchVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAA"}
@@ -6,6 +6,7 @@ export declare const saakuru: {
6
6
  readonly apiUrl: "https://explorer.saakuru.network/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"saakuru.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/saakuru.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlB,CAAA"}
1
+ {"version":3,"file":"saakuru.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/saakuru.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlB,CAAA"}
@@ -6,6 +6,7 @@ export declare const soneium: {
6
6
  readonly apiUrl: "https://soneium.blockscout.com/api";
7
7
  };
8
8
  };
9
+ readonly blockTime: 2000;
9
10
  contracts: {
10
11
  readonly disputeGameFactory: {
11
12
  readonly 1: {
@@ -1 +1 @@
1
- {"version":3,"file":"soneium.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/soneium.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAgDmS,CAAC;;;;;;;;;;;;2BAA0pB,CAAC;+BAA6F,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw4B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA4wB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;;;;wBAA8L,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAAq2B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAqR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAA6f,CAAC;;;;;;;;;;;;;;;;;CAD3wS,CAAA"}
1
+ {"version":3,"file":"soneium.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/soneium.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAgDiU,CAAC;;;;;;;;;;;;2BAA0pB,CAAC;+BAA6F,CAAC;;;;;;;;;;;;;;;;;;;;;;wBAAw4B,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA+B,CAAC;;;;;;;;;;;;;;;;;;0BAA4wB,CAAC;iCAA0D,CAAC;mCAA4D,CAAC;uBAAgD,CAAC;uBAA6C,CAAC;;;gCAA2H,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;mCAA4D,CAAC;;;;gCAA6J,CAAC;4BAAqD,CAAC;oCAA6D,CAAC;0BAAmD,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;mCAA4D,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;iCAAixB,CAAC;;;;wBAA8L,CAAC;;;;0BAAiL,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;;;;;;;;;;;;;mCAAq2B,CAAC;;;wBAAmH,CAAC;gCAAyD,CAAC;;;0BAAuI,CAAC;oBAA6C,CAAC;0BAAmD,CAAC;;;;;;;4BAAqR,CAAC;2BAAiD,CAAC;;;;;;;;;;oBAA6f,CAAC;;;;;;;;;;;;;;;;;CADzyS,CAAA"}
@@ -5,6 +5,7 @@ export declare const sonic: {
5
5
  readonly url: "https://sonicscan.org/";
6
6
  };
7
7
  };
8
+ blockTime?: number | undefined | undefined;
8
9
  contracts: {
9
10
  readonly multicall3: {
10
11
  readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
@@ -1 +1 @@
1
- {"version":3,"file":"sonic.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/sonic.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAA"}
1
+ {"version":3,"file":"sonic.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/sonic.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAA"}
@@ -6,6 +6,7 @@ export declare const tcgVerse: {
6
6
  readonly apiUrl: "https://explorer.tcgverse.xyz/api";
7
7
  };
8
8
  };
9
+ blockTime?: number | undefined | undefined;
9
10
  contracts?: {
10
11
  [x: string]: import("viem").ChainContract | {
11
12
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tcgVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/tcgVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAA"}
1
+ {"version":3,"file":"tcgVerse.d.ts","sourceRoot":"","sources":["../../../chain/viemChains/tcgVerse.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAA"}
package/_types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { erc1155Abi, erc20Abi, erc721Abi, wethAbi } from './abis';
2
- export { arbitrumOneHttpRpcs, arbitrumOneWebsocketRpcUrls, astarHttpRpcs, astarWebsocketRpcUrls, astarZkEvmHttpRpcs, astarZkEvmWebsocketRpcUrls, avalancheCHttpRpcs, avalancheCWebsocketRpcUrls, baseHttpRpcs, baseWebsocketRpcUrls, blastHttpRpcs, blastWebsocketRpcUrls, bscHttpRpcs, bscWebsocketRpcUrls, chainVerseHttpRpcs, chainVerseWebsocketRpcUrls, createArbitrumOneChain, createArbitrumOneChainCustom, createAstarChain, createAstarChainCustom, createAstarZkEvmChain, createAstarZkEvmChainCustom, createAvalancheCChain, createAvalancheCChainCustom, createBaseChain, createBaseChainCustom, createBlastChain, createBlastChainCustom, createBscChain, createBscChainCustom, createChainVerseChain, createChainVerseChainCustom, createDefiVerseChain, createDefiVerseChainCustom, createDogeChain, createDogeChainCustom, createEthereumChain, createEthereumChainCustom, createFantomChain, createFantomChainCustom, createGeekVerseChain, createGeekVerseChainCustom, createGesoVerseChain, createGesoVerseChainCustom, createHomeVerseChain, createHomeVerseChainCustom, createLineaChain, createLineaChainCustom, createMantaPacificChain, createMantaPacificChainCustom, createMantleChain, createMantleChainCustom, createMchVerseChain, createMchVerseChainCustom, createMetisChain, createMetisChainCustom, createMoonbeamChain, createMoonbeamChainCustom, createMoonriverChain, createMoonriverChainCustom, createOasysChain, createOasysChainCustom, createOpBnbChain, createOpBnbChainCustom, createOptimismChain, createOptimismChainCustom, createPolygonPosChain, createPolygonPosChainCustom, createPolygonZkEvmChain, createPolygonZkEvmChainCustom, createRoninChain, createRoninChainCustom, createSaakuruChain, createSaakuruChainCustom, createScrollChain, createScrollChainCustom, createSoneiumChain, createSoneiumChainCustom, createSonicChain, createSonicChainCustom, createTaikoChain, createTaikoChainCustom, createTcgVerseChain, createTcgVerseChainCustom, createYooldoVerseChain, createYooldoVerseChainCustom, createZkFairChain, createZkFairChainCustom, createZkSyncEraChain, createZkSyncEraChainCustom, createZoraChain, createZoraChainCustom, defiVerseHttpRpcs, defiVerseWebsocketRpcUrls, dogeHttpRpcs, dogeWebsocketRpcUrls, ethereumHttpRpcs, ethereumWebsocketRpcUrls, fantomHttpRpcs, fantomWebsocketRpcUrls, geekVerseHttpRpcs, geekVerseWebsocketRpcUrls, gesoVerseHttpRpcs, gesoVerseWebsocketRpcUrls, homeVerseHttpRpcs, homeVerseWebsocketRpcUrls, lineaHttpRpcs, lineaWebsocketRpcUrls, mantaPacificHttpRpcs, mantaPacificWebsocketRpcUrls, mantleHttpRpcs, mantleWebsocketRpcUrls, mchVerseHttpRpcs, mchVerseWebsocketRpcUrls, metisHttpRpcs, metisWebsocketRpcUrls, moonbeamHttpRpcs, moonbeamWebsocketRpcUrls, moonriverHttpRpcs, moonriverWebsocketRpcUrls, oasysHttpRpcs, oasysWebsocketRpcUrls, opBnbHttpRpcs, opBnbWebsocketRpcUrls, optimismHttpRpcs, optimismWebsocketRpcUrls, polygonPosHttpRpcs, polygonPosWebsocketRpcUrls, polygonZkEvmHttpRpcs, polygonZkEvmWebsocketRpcUrls, roninHttpRpcs, roninWebsocketRpcUrls, saakuruHttpRpcs, saakuruWebsocketRpcUrls, scrollHttpRpcs, scrollWebsocketRpcUrls, soneiumHttpRpcs, soneiumWebsocketRpcUrls, sonicHttpRpcs, sonicWebsocketRpcUrls, taikoHttpRpcs, taikoWebsocketRpcUrls, tcgVerseHttpRpcs, tcgVerseWebsocketRpcUrls, yooldoVerseHttpRpcs, yooldoVerseWebsocketRpcUrls, zkFairHttpRpcs, zkFairWebsocketRpcUrls, zksyncEraHttpRpcs, zksyncEraWebsocketRpcUrls, zoraHttpRpcs, zoraWebsocketRpcUrls, } from './chain';
2
+ export { arbitrumOneHttpRpcs, arbitrumOneWebsocketRpcUrls, astarHttpRpcs, astarWebsocketRpcUrls, astarZkEvmHttpRpcs, astarZkEvmWebsocketRpcUrls, avalancheCHttpRpcs, avalancheCWebsocketRpcUrls, baseHttpRpcs, baseWebsocketRpcUrls, berachainHttpRpcs, berachainWebsocketRpcUrls, blastHttpRpcs, blastWebsocketRpcUrls, bscHttpRpcs, bscWebsocketRpcUrls, chainVerseHttpRpcs, chainVerseWebsocketRpcUrls, createArbitrumOneChain, createArbitrumOneChainCustom, createAstarChain, createAstarChainCustom, createAstarZkEvmChain, createAstarZkEvmChainCustom, createAvalancheCChain, createAvalancheCChainCustom, createBaseChain, createBaseChainCustom, createBerachain, createBerachainCustom, createBlastChain, createBlastChainCustom, createBscChain, createBscChainCustom, createChainVerseChain, createChainVerseChainCustom, createDefiVerseChain, createDefiVerseChainCustom, createDogeChain, createDogeChainCustom, createEthereumChain, createEthereumChainCustom, createFantomChain, createFantomChainCustom, createGeekVerseChain, createGeekVerseChainCustom, createGesoVerseChain, createGesoVerseChainCustom, createHomeVerseChain, createHomeVerseChainCustom, createLineaChain, createLineaChainCustom, createMantaPacificChain, createMantaPacificChainCustom, createMantleChain, createMantleChainCustom, createMchVerseChain, createMchVerseChainCustom, createMetisChain, createMetisChainCustom, createMoonbeamChain, createMoonbeamChainCustom, createMoonriverChain, createMoonriverChainCustom, createOasysChain, createOasysChainCustom, createOpBnbChain, createOpBnbChainCustom, createOptimismChain, createOptimismChainCustom, createPolygonPosChain, createPolygonPosChainCustom, createPolygonZkEvmChain, createPolygonZkEvmChainCustom, createRoninChain, createRoninChainCustom, createSaakuruChain, createSaakuruChainCustom, createScrollChain, createScrollChainCustom, createSoneiumChain, createSoneiumChainCustom, createSonicChain, createSonicChainCustom, createTaikoChain, createTaikoChainCustom, createTcgVerseChain, createTcgVerseChainCustom, createUnichain, createUnichainCustom, createYooldoVerseChain, createYooldoVerseChainCustom, createZkFairChain, createZkFairChainCustom, createZkSyncEraChain, createZkSyncEraChainCustom, createZoraChain, createZoraChainCustom, defiVerseHttpRpcs, defiVerseWebsocketRpcUrls, dogeHttpRpcs, dogeWebsocketRpcUrls, ethereumHttpRpcs, ethereumWebsocketRpcUrls, fantomHttpRpcs, fantomWebsocketRpcUrls, geekVerseHttpRpcs, geekVerseWebsocketRpcUrls, gesoVerseHttpRpcs, gesoVerseWebsocketRpcUrls, homeVerseHttpRpcs, homeVerseWebsocketRpcUrls, lineaHttpRpcs, lineaWebsocketRpcUrls, mantaPacificHttpRpcs, mantaPacificWebsocketRpcUrls, mantleHttpRpcs, mantleWebsocketRpcUrls, mchVerseHttpRpcs, mchVerseWebsocketRpcUrls, metisHttpRpcs, metisWebsocketRpcUrls, moonbeamHttpRpcs, moonbeamWebsocketRpcUrls, moonriverHttpRpcs, moonriverWebsocketRpcUrls, oasysHttpRpcs, oasysWebsocketRpcUrls, opBnbHttpRpcs, opBnbWebsocketRpcUrls, optimismHttpRpcs, optimismWebsocketRpcUrls, polygonPosHttpRpcs, polygonPosWebsocketRpcUrls, polygonZkEvmHttpRpcs, polygonZkEvmWebsocketRpcUrls, roninHttpRpcs, roninWebsocketRpcUrls, saakuruHttpRpcs, saakuruWebsocketRpcUrls, scrollHttpRpcs, scrollWebsocketRpcUrls, soneiumHttpRpcs, soneiumWebsocketRpcUrls, sonicHttpRpcs, sonicWebsocketRpcUrls, taikoHttpRpcs, taikoWebsocketRpcUrls, tcgVerseHttpRpcs, tcgVerseWebsocketRpcUrls, unichainHttpRpcs, unichainWebsocketRpcUrls, yooldoVerseHttpRpcs, yooldoVerseWebsocketRpcUrls, zkFairHttpRpcs, zkFairWebsocketRpcUrls, zksyncEraHttpRpcs, zksyncEraWebsocketRpcUrls, zoraHttpRpcs, zoraWebsocketRpcUrls, } from './chain';
3
3
  export type { Chain } from './chain';
4
4
  export { createClient } from './client';
5
5
  export { createBlockscout, createEtherscan, createEtherscanV2, createNoApiExplorer, } from './explorer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decodeInput.d.ts","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/decodeInput.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,sCAIzB,qBAAqB,KAAG,mBAAmB,GAAG,SAmBhD,CAAA"}
1
+ {"version":3,"file":"decodeInput.d.ts","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/decodeInput.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,sCAIzB,qBAAqB,KAAG,mBAAmB,GAAG,SAmBhD,CAAA"}
@@ -0,0 +1,93 @@
1
+ import { berachain as bera } from '@0xtorch/core'
2
+ import { berachain } from 'viem/chains'
3
+ import { type Client, createClient } from '../../client'
4
+ import type { Explorer } from '../../explorer'
5
+ import { createEtherscan } from '../../explorer'
6
+ import type { Chain } from '../types/chain'
7
+ import type { HttpRpc } from '../types/rpc'
8
+
9
+ export const createBerachain = ({
10
+ explorerApiKey: apiKey,
11
+ explorerProxyUrl: proxyUrl,
12
+ explorerPageSize: pageSize,
13
+ }: {
14
+ explorerApiKey?: string
15
+ explorerProxyUrl?: string
16
+ explorerPageSize?: number
17
+ }) =>
18
+ createBerachainCustom({
19
+ client: createClient({
20
+ chain: berachain,
21
+ httpRpcs: berachainHttpRpcs,
22
+ }),
23
+ explorer: createEtherscan({
24
+ name: 'BeraScan',
25
+ baseUrl: 'https://berascan.com',
26
+ apiBaseUrl: 'https://api.berascan.com/api',
27
+ apiKey,
28
+ proxyUrl,
29
+ pageSize,
30
+ }),
31
+ })
32
+
33
+ type CreateBerachainParameters = {
34
+ client: Client
35
+ explorer: Explorer
36
+ }
37
+
38
+ export const createBerachainCustom = ({
39
+ client,
40
+ explorer,
41
+ }: CreateBerachainParameters): Chain => ({
42
+ id: 80_094,
43
+ network: 'berachain',
44
+ name: 'Berachain',
45
+ nativeToken: {
46
+ name: 'Berachain',
47
+ symbol: 'BERA',
48
+ decimals: 18,
49
+ currency: bera,
50
+ },
51
+ wrappedTokenAddresses: new Set([
52
+ '0x6969696969696969696969696969696969696969',
53
+ ]),
54
+ explorer,
55
+ client,
56
+ blockTime: undefined,
57
+ coingeckoId: 'berachain',
58
+ defillamaId: undefined,
59
+ })
60
+
61
+ export const berachainHttpRpcs: HttpRpc[] = [
62
+ {
63
+ url: 'https://rpc.berachain.com',
64
+ getLogsIsUsable: true,
65
+ getLogsMaxBlockRange: 10_000n,
66
+ },
67
+ {
68
+ url: 'https://berachain.blockpi.network/v1/rpc/public',
69
+ getLogsIsUsable: true,
70
+ getLogsMaxBlockRange: 5000n,
71
+ },
72
+ {
73
+ url: 'https://berachain-rpc.publicnode.com',
74
+ getLogsIsUsable: false,
75
+ getLogsMaxBlockRange: 0n,
76
+ },
77
+ {
78
+ url: 'https://berachain.drpc.org',
79
+ getLogsIsUsable: true,
80
+ getLogsMaxBlockRange: 10_000n,
81
+ },
82
+ // Not archiving receipts
83
+ // {
84
+ // url: 'https://rpc.berachain-apis.com',
85
+ // getLogsIsUsable: true,
86
+ // getLogsMaxBlockRange: 10_000n,
87
+ // },
88
+ ]
89
+
90
+ export const berachainWebsocketRpcUrls: readonly string[] = [
91
+ 'wss://berachain.drpc.org',
92
+ 'wss://rpc.berachain-apis.com',
93
+ ]
@@ -2,14 +2,13 @@ import { fantom } from '@0xtorch/core'
2
2
  import { fantom as viemFantom } from 'viem/chains'
3
3
  import { type Client, createClient } from '../../client'
4
4
  import type { Explorer } from '../../explorer'
5
- import { createEtherscan } from '../../explorer'
5
+ import { createMoralisExplorer } from '../../explorer'
6
6
  import type { Chain } from '../types/chain'
7
7
  import type { HttpRpc } from '../types/rpc'
8
8
 
9
9
  export const createFantomChain = ({
10
10
  explorerApiKey: apiKey,
11
11
  explorerProxyUrl: proxyUrl,
12
- explorerPageSize: pageSize,
13
12
  }: {
14
13
  explorerApiKey?: string
15
14
  explorerProxyUrl?: string
@@ -20,13 +19,12 @@ export const createFantomChain = ({
20
19
  chain: viemFantom,
21
20
  httpRpcs: fantomHttpRpcs,
22
21
  }),
23
- explorer: createEtherscan({
24
- name: 'FTMScan',
25
- baseUrl: 'https://ftmscan.com',
26
- apiBaseUrl: 'https://api.ftmscan.com/api',
22
+ explorer: createMoralisExplorer({
23
+ name: 'Fantom Explorer (OKLink)',
24
+ baseUrl: 'https://www.oklink.com/fantom',
25
+ chain: 'fantom',
27
26
  apiKey,
28
27
  proxyUrl,
29
- pageSize,
30
28
  }),
31
29
  })
32
30
 
@@ -0,0 +1,98 @@
1
+ import { ethereum } from '@0xtorch/core'
2
+ import { unichain } from 'viem/chains'
3
+ import { type Client, createClient } from '../../client'
4
+ import type { Explorer } from '../../explorer'
5
+ import { createEtherscan } from '../../explorer'
6
+ import type { Chain } from '../types/chain'
7
+ import type { HttpRpc } from '../types/rpc'
8
+
9
+ export const createUnichain = ({
10
+ explorerApiKey: apiKey,
11
+ explorerProxyUrl: proxyUrl,
12
+ explorerPageSize: pageSize,
13
+ }: {
14
+ explorerApiKey?: string
15
+ explorerProxyUrl?: string
16
+ explorerPageSize?: number
17
+ }) =>
18
+ createUnichainCustom({
19
+ client: createClient({
20
+ chain: unichain,
21
+ httpRpcs: unichainHttpRpcs,
22
+ }),
23
+ explorer: createEtherscan({
24
+ name: 'Uniscan',
25
+ baseUrl: 'https://uniscan.xyz',
26
+ apiBaseUrl: 'https://api.uniscan.xyz/api',
27
+ apiKey,
28
+ proxyUrl,
29
+ pageSize,
30
+ }),
31
+ })
32
+
33
+ type CreateUnichainParameters = {
34
+ client: Client
35
+ explorer: Explorer
36
+ }
37
+
38
+ export const createUnichainCustom = ({
39
+ client,
40
+ explorer,
41
+ }: CreateUnichainParameters): Chain => ({
42
+ id: 130,
43
+ network: 'unichain',
44
+ name: 'Unichain',
45
+ nativeToken: {
46
+ name: 'Ethereum',
47
+ symbol: 'ETH',
48
+ decimals: 18,
49
+ currency: ethereum,
50
+ },
51
+ wrappedTokenAddresses: new Set([
52
+ '0x4200000000000000000000000000000000000006',
53
+ ]),
54
+ explorer,
55
+ client,
56
+ blockTime: 1000,
57
+ coingeckoId: 'unichain',
58
+ defillamaId: undefined,
59
+ })
60
+
61
+ export const unichainHttpRpcs: HttpRpc[] = [
62
+ {
63
+ url: 'https://mainnet.unichain.org',
64
+ getLogsIsUsable: true,
65
+ getLogsMaxBlockRange: 10_000n,
66
+ },
67
+ {
68
+ url: 'https://unichain.api.onfinality.io/public',
69
+ getLogsIsUsable: false,
70
+ getLogsMaxBlockRange: 0n,
71
+ },
72
+ {
73
+ url: 'https://unichain-rpc.publicnode.com',
74
+ getLogsIsUsable: true,
75
+ getLogsMaxBlockRange: 10_000n,
76
+ },
77
+ {
78
+ url: 'https://unichain.drpc.org',
79
+ getLogsIsUsable: true,
80
+ getLogsMaxBlockRange: 10_000n,
81
+ },
82
+ {
83
+ url: 'https://0xrpc.io/uni',
84
+ getLogsIsUsable: true,
85
+ getLogsMaxBlockRange: 10_000n,
86
+ },
87
+ {
88
+ url: 'https://rpc.therpc.io/unichain',
89
+ getLogsIsUsable: true,
90
+ getLogsMaxBlockRange: 10_000n,
91
+ },
92
+ ]
93
+
94
+ export const unichainWebsocketRpcUrls: readonly string[] = [
95
+ 'wss://unichain-rpc.publicnode.com',
96
+ 'wss://unichain.drpc.org',
97
+ 'wss://0xrpc.io/uni',
98
+ ]
package/chain/index.ts CHANGED
@@ -28,6 +28,12 @@ export {
28
28
  baseHttpRpcs,
29
29
  baseWebsocketRpcUrls,
30
30
  } from './definitions/base'
31
+ export {
32
+ createBerachain,
33
+ createBerachainCustom,
34
+ berachainHttpRpcs,
35
+ berachainWebsocketRpcUrls,
36
+ } from './definitions/berachain'
31
37
  export {
32
38
  createBlastChain,
33
39
  createBlastChainCustom,
@@ -202,6 +208,12 @@ export {
202
208
  tcgVerseHttpRpcs,
203
209
  tcgVerseWebsocketRpcUrls,
204
210
  } from './definitions/tcgVerse'
211
+ export {
212
+ createUnichain,
213
+ createUnichainCustom,
214
+ unichainHttpRpcs,
215
+ unichainWebsocketRpcUrls,
216
+ } from './definitions/unichain'
205
217
  export {
206
218
  createYooldoVerseChain,
207
219
  createYooldoVerseChainCustom,
package/index.ts CHANGED
@@ -10,6 +10,8 @@ export {
10
10
  avalancheCWebsocketRpcUrls,
11
11
  baseHttpRpcs,
12
12
  baseWebsocketRpcUrls,
13
+ berachainHttpRpcs,
14
+ berachainWebsocketRpcUrls,
13
15
  blastHttpRpcs,
14
16
  blastWebsocketRpcUrls,
15
17
  bscHttpRpcs,
@@ -26,6 +28,8 @@ export {
26
28
  createAvalancheCChainCustom,
27
29
  createBaseChain,
28
30
  createBaseChainCustom,
31
+ createBerachain,
32
+ createBerachainCustom,
29
33
  createBlastChain,
30
34
  createBlastChainCustom,
31
35
  createBscChain,
@@ -84,6 +88,8 @@ export {
84
88
  createTaikoChainCustom,
85
89
  createTcgVerseChain,
86
90
  createTcgVerseChainCustom,
91
+ createUnichain,
92
+ createUnichainCustom,
87
93
  createYooldoVerseChain,
88
94
  createYooldoVerseChainCustom,
89
95
  createZkFairChain,
@@ -144,6 +150,8 @@ export {
144
150
  taikoWebsocketRpcUrls,
145
151
  tcgVerseHttpRpcs,
146
152
  tcgVerseWebsocketRpcUrls,
153
+ unichainHttpRpcs,
154
+ unichainWebsocketRpcUrls,
147
155
  yooldoVerseHttpRpcs,
148
156
  yooldoVerseWebsocketRpcUrls,
149
157
  zkFairHttpRpcs,
@@ -2,6 +2,7 @@ import { Abi, AbiFunction } from 'abitype/zod'
2
2
  import {
3
3
  type AbiFunction as AbiFunctionType,
4
4
  decodeFunctionData,
5
+ encodeFunctionData,
5
6
  toFunctionSelector,
6
7
  } from 'viem'
7
8
  import type { LowerHex } from '../../../types'
@@ -106,7 +107,13 @@ const decodeInputByFunctionAbi = (
106
107
  abi: [abiItem],
107
108
  data: input,
108
109
  })
109
- if (abiItem.type !== 'function') {
110
+ const data = encodeFunctionData({
111
+ abi: [abiItem],
112
+ functionName,
113
+ args,
114
+ })
115
+ // input が data を含まない、または data.length <= input.length / 2 の場合は undefined を返す
116
+ if (data.length <= input.length / 2 || !input.startsWith(data)) {
110
117
  return undefined
111
118
  }
112
119
  const functionArgs =