@0xtorch/evm 0.0.60 → 0.0.61

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 (312) hide show
  1. package/_cjs/analyzer/json/analyze.js +34 -38
  2. package/_cjs/analyzer/json/analyze.js.map +1 -1
  3. package/_cjs/analyzer/json/components/comment.js +2 -2
  4. package/_cjs/analyzer/json/components/comment.js.map +1 -1
  5. package/_cjs/analyzer/json/components/erc1155.js +4 -6
  6. package/_cjs/analyzer/json/components/erc1155.js.map +1 -1
  7. package/_cjs/analyzer/json/components/erc20.js +4 -6
  8. package/_cjs/analyzer/json/components/erc20.js.map +1 -1
  9. package/_cjs/analyzer/json/components/erc721.js +3 -5
  10. package/_cjs/analyzer/json/components/erc721.js.map +1 -1
  11. package/_cjs/analyzer/json/components/id.js +2 -2
  12. package/_cjs/analyzer/json/components/id.js.map +1 -1
  13. package/_cjs/analyzer/json/components/internal.js +4 -6
  14. package/_cjs/analyzer/json/components/internal.js.map +1 -1
  15. package/_cjs/analyzer/json/components/logArgument.js +15 -17
  16. package/_cjs/analyzer/json/components/logArgument.js.map +1 -1
  17. package/_cjs/analyzer/json/components/transfer.js +4 -6
  18. package/_cjs/analyzer/json/components/transfer.js.map +1 -1
  19. package/_cjs/analyzer/json/condition/address.js +1 -1
  20. package/_cjs/analyzer/json/condition/address.js.map +1 -1
  21. package/_cjs/analyzer/json/condition/value.js +5 -7
  22. package/_cjs/analyzer/json/condition/value.js.map +1 -1
  23. package/_cjs/analyzer/json/generator.js +1 -1
  24. package/_cjs/analyzer/json/generator.js.map +1 -1
  25. package/_cjs/analyzer/json/schemas/generator.js +6 -2
  26. package/_cjs/analyzer/json/schemas/generator.js.map +1 -1
  27. package/_cjs/analyzer/seaport/analyze.js +82 -106
  28. package/_cjs/analyzer/seaport/analyze.js.map +1 -1
  29. package/_cjs/analyzer/swap/analyze.js +5 -7
  30. package/_cjs/analyzer/swap/analyze.js.map +1 -1
  31. package/_cjs/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
  32. package/_cjs/clients/externals/viem/createViemInstance.js +2 -2
  33. package/_cjs/clients/externals/viem/createViemInstance.js.map +1 -1
  34. package/_cjs/clients/externals/viem/middleware.js +3 -6
  35. package/_cjs/clients/externals/viem/middleware.js.map +1 -1
  36. package/_cjs/decoder/decode.js +3 -3
  37. package/_cjs/decoder/decode.js.map +1 -1
  38. package/_cjs/decoder/parseErc1155TransferSingleLogs.js +2 -2
  39. package/_cjs/decoder/parseErc1155TransferSingleLogs.js.map +1 -1
  40. package/_cjs/decoder/parseErc20TransferLogs.js +2 -2
  41. package/_cjs/decoder/parseErc20TransferLogs.js.map +1 -1
  42. package/_cjs/decoder/parseErc721TransferLogs.js +3 -3
  43. package/_cjs/decoder/parseErc721TransferLogs.js.map +1 -1
  44. package/_cjs/decoder/tests.js +1 -1
  45. package/_cjs/decoder/tests.js.map +1 -1
  46. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js +1 -1
  47. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +1 -1
  48. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +1 -1
  49. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -1
  50. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js +1 -1
  51. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +1 -1
  52. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +1 -1
  53. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -1
  54. package/_cjs/tests.js +6 -2
  55. package/_cjs/tests.js.map +1 -1
  56. package/_esm/analyzer/axieMarketplace/analyze.js +1 -1
  57. package/_esm/analyzer/axieMarketplace/analyze.js.map +1 -1
  58. package/_esm/analyzer/json/analyze.js +34 -38
  59. package/_esm/analyzer/json/analyze.js.map +1 -1
  60. package/_esm/analyzer/json/components/comment.js +2 -2
  61. package/_esm/analyzer/json/components/comment.js.map +1 -1
  62. package/_esm/analyzer/json/components/erc1155.js +4 -6
  63. package/_esm/analyzer/json/components/erc1155.js.map +1 -1
  64. package/_esm/analyzer/json/components/erc20.js +4 -6
  65. package/_esm/analyzer/json/components/erc20.js.map +1 -1
  66. package/_esm/analyzer/json/components/erc721.js +3 -5
  67. package/_esm/analyzer/json/components/erc721.js.map +1 -1
  68. package/_esm/analyzer/json/components/id.js +2 -2
  69. package/_esm/analyzer/json/components/id.js.map +1 -1
  70. package/_esm/analyzer/json/components/internal.js +4 -6
  71. package/_esm/analyzer/json/components/internal.js.map +1 -1
  72. package/_esm/analyzer/json/components/logArgument.js +15 -17
  73. package/_esm/analyzer/json/components/logArgument.js.map +1 -1
  74. package/_esm/analyzer/json/components/targetAsset.js +1 -1
  75. package/_esm/analyzer/json/components/targetAsset.js.map +1 -1
  76. package/_esm/analyzer/json/components/transfer.js +4 -6
  77. package/_esm/analyzer/json/components/transfer.js.map +1 -1
  78. package/_esm/analyzer/json/condition/address.js +1 -1
  79. package/_esm/analyzer/json/condition/address.js.map +1 -1
  80. package/_esm/analyzer/json/condition/value.js +5 -7
  81. package/_esm/analyzer/json/condition/value.js.map +1 -1
  82. package/_esm/analyzer/json/generator.js +1 -1
  83. package/_esm/analyzer/json/generator.js.map +1 -1
  84. package/_esm/analyzer/json/schemas/generator.js +6 -2
  85. package/_esm/analyzer/json/schemas/generator.js.map +1 -1
  86. package/_esm/analyzer/seaport/analyze.js +92 -116
  87. package/_esm/analyzer/seaport/analyze.js.map +1 -1
  88. package/_esm/analyzer/spam/analyze.js +1 -1
  89. package/_esm/analyzer/spam/analyze.js.map +1 -1
  90. package/_esm/analyzer/swap/analyze.js +5 -7
  91. package/_esm/analyzer/swap/analyze.js.map +1 -1
  92. package/_esm/analyzer/swap/traderJoeLBPairSwap.js +0 -1
  93. package/_esm/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
  94. package/_esm/analyzer/utils/createTransfersByTransaction.js +1 -1
  95. package/_esm/analyzer/utils/createTransfersByTransaction.js.map +1 -1
  96. package/_esm/clients/externals/viem/createViemInstance.js +3 -3
  97. package/_esm/clients/externals/viem/createViemInstance.js.map +1 -1
  98. package/_esm/clients/externals/viem/middleware.js +4 -7
  99. package/_esm/clients/externals/viem/middleware.js.map +1 -1
  100. package/_esm/decoder/decode.js +6 -4
  101. package/_esm/decoder/decode.js.map +1 -1
  102. package/_esm/decoder/parseErc1155TransferSingleLogs.js +2 -2
  103. package/_esm/decoder/parseErc1155TransferSingleLogs.js.map +1 -1
  104. package/_esm/decoder/parseErc20TransferLogs.js +2 -2
  105. package/_esm/decoder/parseErc20TransferLogs.js.map +1 -1
  106. package/_esm/decoder/parseErc721TransferLogs.js +3 -3
  107. package/_esm/decoder/parseErc721TransferLogs.js.map +1 -1
  108. package/_esm/decoder/tests.js +1 -2
  109. package/_esm/decoder/tests.js.map +1 -1
  110. package/_esm/explorers/definitions/etherscan.js +1 -1
  111. package/_esm/explorers/definitions/etherscan.js.map +1 -1
  112. package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js +1 -1
  113. package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +1 -1
  114. package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +1 -1
  115. package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -1
  116. package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js +1 -1
  117. package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +1 -1
  118. package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +1 -1
  119. package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -1
  120. package/_esm/tests.js +5 -1
  121. package/_esm/tests.js.map +1 -1
  122. package/_types/analyzer/analyze.d.ts +2 -10
  123. package/_types/analyzer/analyze.d.ts.map +1 -1
  124. package/_types/analyzer/analyzer.d.ts +1 -9
  125. package/_types/analyzer/analyzer.d.ts.map +1 -1
  126. package/_types/analyzer/axieMarketplace/analyze.d.ts +2 -9
  127. package/_types/analyzer/axieMarketplace/analyze.d.ts.map +1 -1
  128. package/_types/analyzer/fail/analyze.d.ts +2 -9
  129. package/_types/analyzer/fail/analyze.d.ts.map +1 -1
  130. package/_types/analyzer/gasFee/analyze.d.ts +2 -9
  131. package/_types/analyzer/gasFee/analyze.d.ts.map +1 -1
  132. package/_types/analyzer/json/analyze.d.ts +2 -9
  133. package/_types/analyzer/json/analyze.d.ts.map +1 -1
  134. package/_types/analyzer/json/components/comment.d.ts +1 -9
  135. package/_types/analyzer/json/components/comment.d.ts.map +1 -1
  136. package/_types/analyzer/json/components/erc1155.d.ts +2 -18
  137. package/_types/analyzer/json/components/erc1155.d.ts.map +1 -1
  138. package/_types/analyzer/json/components/erc1155Raw.d.ts +1 -9
  139. package/_types/analyzer/json/components/erc1155Raw.d.ts.map +1 -1
  140. package/_types/analyzer/json/components/erc20.d.ts +2 -18
  141. package/_types/analyzer/json/components/erc20.d.ts.map +1 -1
  142. package/_types/analyzer/json/components/erc20Raw.d.ts +1 -9
  143. package/_types/analyzer/json/components/erc20Raw.d.ts.map +1 -1
  144. package/_types/analyzer/json/components/erc721.d.ts +2 -18
  145. package/_types/analyzer/json/components/erc721.d.ts.map +1 -1
  146. package/_types/analyzer/json/components/erc721Raw.d.ts +1 -9
  147. package/_types/analyzer/json/components/erc721Raw.d.ts.map +1 -1
  148. package/_types/analyzer/json/components/id.d.ts +1 -9
  149. package/_types/analyzer/json/components/id.d.ts.map +1 -1
  150. package/_types/analyzer/json/components/internal.d.ts +2 -18
  151. package/_types/analyzer/json/components/internal.d.ts.map +1 -1
  152. package/_types/analyzer/json/components/internalRaw.d.ts +1 -9
  153. package/_types/analyzer/json/components/internalRaw.d.ts.map +1 -1
  154. package/_types/analyzer/json/components/logArgument.d.ts +2 -18
  155. package/_types/analyzer/json/components/logArgument.d.ts.map +1 -1
  156. package/_types/analyzer/json/components/logArgumentRaw.d.ts +1 -9
  157. package/_types/analyzer/json/components/logArgumentRaw.d.ts.map +1 -1
  158. package/_types/analyzer/json/components/targetAsset.d.ts +1 -9
  159. package/_types/analyzer/json/components/targetAsset.d.ts.map +1 -1
  160. package/_types/analyzer/json/components/transfer.d.ts +1 -9
  161. package/_types/analyzer/json/components/transfer.d.ts.map +1 -1
  162. package/_types/analyzer/json/condition/address.d.ts +1 -9
  163. package/_types/analyzer/json/condition/address.d.ts.map +1 -1
  164. package/_types/analyzer/json/condition/argumentValue.d.ts +1 -9
  165. package/_types/analyzer/json/condition/argumentValue.d.ts.map +1 -1
  166. package/_types/analyzer/json/condition/value.d.ts +1 -9
  167. package/_types/analyzer/json/condition/value.d.ts.map +1 -1
  168. package/_types/analyzer/json/generator.d.ts +1 -9
  169. package/_types/analyzer/json/generator.d.ts.map +1 -1
  170. package/_types/analyzer/json/schemas/generator.d.ts.map +1 -1
  171. package/_types/analyzer/json/types.d.ts +2 -2
  172. package/_types/analyzer/json/types.d.ts.map +1 -1
  173. package/_types/analyzer/parsers/transfer.d.ts +1 -1
  174. package/_types/analyzer/parsers/transfer.d.ts.map +1 -1
  175. package/_types/analyzer/seaport/analyze.d.ts +2 -9
  176. package/_types/analyzer/seaport/analyze.d.ts.map +1 -1
  177. package/_types/analyzer/spam/analyze.d.ts +2 -9
  178. package/_types/analyzer/spam/analyze.d.ts.map +1 -1
  179. package/_types/analyzer/swap/analyze.d.ts +2 -9
  180. package/_types/analyzer/swap/analyze.d.ts.map +1 -1
  181. package/_types/analyzer/swap/traderJoeLBPairSwap.d.ts.map +1 -1
  182. package/_types/analyzer/transfer/analyze.d.ts +2 -9
  183. package/_types/analyzer/transfer/analyze.d.ts.map +1 -1
  184. package/_types/analyzer/utils/createTransfersByTransaction.d.ts +2 -61
  185. package/_types/analyzer/utils/createTransfersByTransaction.d.ts.map +1 -1
  186. package/_types/chains/definitions/arbitrumOne.d.ts.map +1 -1
  187. package/_types/chains/definitions/astar.d.ts.map +1 -1
  188. package/_types/chains/definitions/avalancheC.d.ts.map +1 -1
  189. package/_types/chains/definitions/base.d.ts.map +1 -1
  190. package/_types/chains/definitions/bsc.d.ts.map +1 -1
  191. package/_types/chains/definitions/defineChain.d.ts.map +1 -1
  192. package/_types/chains/definitions/ethereum.d.ts.map +1 -1
  193. package/_types/chains/definitions/fantom.d.ts.map +1 -1
  194. package/_types/chains/definitions/linea.d.ts.map +1 -1
  195. package/_types/chains/definitions/mantaPacific.d.ts.map +1 -1
  196. package/_types/chains/definitions/mantle.d.ts.map +1 -1
  197. package/_types/chains/definitions/metis.d.ts.map +1 -1
  198. package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
  199. package/_types/chains/definitions/moonriver.d.ts.map +1 -1
  200. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  201. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  202. package/_types/chains/definitions/polygonPos.d.ts.map +1 -1
  203. package/_types/chains/definitions/ronin.d.ts.map +1 -1
  204. package/_types/chains/externals/defillama/getBlockOfTimestamp.d.ts.map +1 -1
  205. package/_types/clients/definitions/defineClient.d.ts.map +1 -1
  206. package/_types/clients/definitions/viemClient.d.ts +14 -14
  207. package/_types/clients/definitions/viemClient.d.ts.map +1 -1
  208. package/_types/clients/externals/viem/createViemInstance.d.ts +3 -3
  209. package/_types/clients/externals/viem/createViemInstance.d.ts.map +1 -1
  210. package/_types/clients/externals/viem/estimateFeesPerGas.d.ts.map +1 -1
  211. package/_types/clients/externals/viem/getBalance.d.ts.map +1 -1
  212. package/_types/clients/externals/viem/getBlock.d.ts +1 -1
  213. package/_types/clients/externals/viem/getBlock.d.ts.map +1 -1
  214. package/_types/clients/externals/viem/getBlockNumber.d.ts.map +1 -1
  215. package/_types/clients/externals/viem/getEventLogs.d.ts.map +1 -1
  216. package/_types/clients/externals/viem/getTransaction.d.ts.map +1 -1
  217. package/_types/clients/externals/viem/getTransactionCount.d.ts.map +1 -1
  218. package/_types/clients/externals/viem/getTransactionReceipt.d.ts.map +1 -1
  219. package/_types/clients/externals/viem/middleware.d.ts.map +1 -1
  220. package/_types/clients/externals/viem/multicall.d.ts.map +1 -1
  221. package/_types/clients/externals/viem/readContract.d.ts.map +1 -1
  222. package/_types/creates/createEvmAccount.d.ts +1 -1
  223. package/_types/creates/createEvmAccount.d.ts.map +1 -1
  224. package/_types/decoder/decode.d.ts.map +1 -1
  225. package/_types/decoder/parseErc1155TransferSingleLogs.d.ts.map +1 -1
  226. package/_types/decoder/parseErc20TransferLogs.d.ts.map +1 -1
  227. package/_types/decoder/parseErc721TransferLogs.d.ts.map +1 -1
  228. package/_types/decoder/tests.d.ts +2 -39
  229. package/_types/decoder/tests.d.ts.map +1 -1
  230. package/_types/explorers/definitions/blockscout.d.ts +34 -79
  231. package/_types/explorers/definitions/blockscout.d.ts.map +1 -1
  232. package/_types/explorers/definitions/defineExplorer.d.ts.map +1 -1
  233. package/_types/explorers/definitions/etherscan.d.ts +34 -79
  234. package/_types/explorers/definitions/etherscan.d.ts.map +1 -1
  235. package/_types/explorers/definitions/roninExplorer.d.ts +34 -79
  236. package/_types/explorers/definitions/roninExplorer.d.ts.map +1 -1
  237. package/_types/explorers/definitions/routescan.d.ts.map +1 -1
  238. package/_types/explorers/externals/blockscout/getBlockNumberOfTimestamp.d.ts.map +1 -1
  239. package/_types/explorers/externals/blockscout/getContractByAddress.d.ts.map +1 -1
  240. package/_types/explorers/externals/blockscout/getContractCreations.d.ts.map +1 -1
  241. package/_types/explorers/externals/blockscout/getEventLogsByAddressAndTopics.d.ts.map +1 -1
  242. package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts.map +1 -1
  243. package/_types/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.d.ts.map +1 -1
  244. package/_types/explorers/externals/blockscout/getNormalTransactionsByAddress.d.ts.map +1 -1
  245. package/_types/explorers/externals/blockscout/getTokenTransfersByAddress.d.ts.map +1 -1
  246. package/_types/explorers/externals/blockscout/middleware.d.ts.map +1 -1
  247. package/_types/explorers/externals/defillama/getBlockNumberOfTimestamp.d.ts.map +1 -1
  248. package/_types/explorers/externals/etherscan/getBlockNumberOfTimestamp.d.ts.map +1 -1
  249. package/_types/explorers/externals/etherscan/getContractByAddress.d.ts.map +1 -1
  250. package/_types/explorers/externals/etherscan/getContractCreations.d.ts.map +1 -1
  251. package/_types/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.d.ts.map +1 -1
  252. package/_types/explorers/externals/etherscan/getErc20TokenTransfersByAddress.d.ts.map +1 -1
  253. package/_types/explorers/externals/etherscan/getErc721TokenTransfersByAddress.d.ts.map +1 -1
  254. package/_types/explorers/externals/etherscan/getEventLogsByAddressAndTopics.d.ts.map +1 -1
  255. package/_types/explorers/externals/etherscan/getInternalTransactionsByAddress.d.ts.map +1 -1
  256. package/_types/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.d.ts.map +1 -1
  257. package/_types/explorers/externals/etherscan/getNormalTransactionsByAddress.d.ts.map +1 -1
  258. package/_types/explorers/externals/etherscan/middleware.d.ts.map +1 -1
  259. package/_types/explorers/externals/roninExplorer/getInternalTransactionByHash.d.ts.map +1 -1
  260. package/_types/explorers/externals/roninExplorer/getNormalTransactionsByAddress.d.ts.map +1 -1
  261. package/_types/explorers/externals/roninExplorer/getTokenTransfersByAddress.d.ts.map +1 -1
  262. package/_types/explorers/externals/roninExplorer/middleware.d.ts.map +1 -1
  263. package/_types/getContractAbi.d.ts.map +1 -1
  264. package/_types/getTransactionDetail.d.ts.map +1 -1
  265. package/_types/tests.d.ts +5 -1
  266. package/_types/tests.d.ts.map +1 -1
  267. package/_types/types/hex.d.ts +1 -1
  268. package/_types/types/hex.d.ts.map +1 -1
  269. package/_types/types/transaction.d.ts +1 -1
  270. package/_types/types/transaction.d.ts.map +1 -1
  271. package/_types/utils/create.d.ts +3 -3
  272. package/_types/utils/create.d.ts.map +1 -1
  273. package/_types/utils/types.d.ts.map +1 -1
  274. package/analyzer/axieMarketplace/analyze.ts +2 -2
  275. package/analyzer/json/analyze.ts +37 -39
  276. package/analyzer/json/components/comment.ts +4 -2
  277. package/analyzer/json/components/erc1155.ts +6 -6
  278. package/analyzer/json/components/erc20.ts +6 -6
  279. package/analyzer/json/components/erc721.ts +4 -5
  280. package/analyzer/json/components/id.ts +4 -2
  281. package/analyzer/json/components/internal.ts +6 -6
  282. package/analyzer/json/components/logArgument.ts +16 -17
  283. package/analyzer/json/components/targetAsset.ts +1 -1
  284. package/analyzer/json/components/transfer.ts +6 -5
  285. package/analyzer/json/condition/address.ts +1 -1
  286. package/analyzer/json/condition/value.ts +8 -6
  287. package/analyzer/json/generator.ts +2 -2
  288. package/analyzer/json/schemas/generator.ts +6 -2
  289. package/analyzer/json/types.ts +3 -3
  290. package/analyzer/parsers/transfer.ts +1 -1
  291. package/analyzer/seaport/analyze.ts +136 -137
  292. package/analyzer/spam/analyze.ts +1 -1
  293. package/analyzer/swap/analyze.ts +6 -6
  294. package/analyzer/swap/traderJoeLBPairSwap.ts +0 -1
  295. package/analyzer/utils/createTransfersByTransaction.ts +1 -1
  296. package/clients/externals/viem/createViemInstance.ts +4 -3
  297. package/clients/externals/viem/middleware.ts +6 -7
  298. package/decoder/decode.ts +7 -5
  299. package/decoder/parseErc1155TransferSingleLogs.ts +3 -3
  300. package/decoder/parseErc20TransferLogs.ts +2 -2
  301. package/decoder/parseErc721TransferLogs.ts +3 -3
  302. package/decoder/tests.ts +2 -2
  303. package/explorers/definitions/etherscan.ts +1 -1
  304. package/explorers/externals/blockscout/getInternalTransactionsByAddress.ts +1 -1
  305. package/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.ts +1 -1
  306. package/explorers/externals/etherscan/getInternalTransactionsByAddress.ts +1 -1
  307. package/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.ts +1 -1
  308. package/package.json +3 -5
  309. package/tests.ts +9 -1
  310. package/types/transaction.ts +1 -1
  311. package/utils/create.ts +1 -1
  312. package/utils/types.ts +0 -1
@@ -135,7 +135,9 @@ export const valueConditionSchema = z.union([
135
135
 
136
136
  export const logArgumentValueConditionSchema = z.union([
137
137
  // string
138
- z.string().transform((x) => x.toLowerCase() as Lowercase<string>),
138
+ z
139
+ .string()
140
+ .transform((x) => x.toLowerCase() as Lowercase<string>),
139
141
  // transaction from/to
140
142
  transactionAddressComponentSchema,
141
143
  // transaction value
@@ -317,7 +319,9 @@ export const transferCustomAmountComponentSchema = z.object({
317
319
  plus: z.boolean(),
318
320
  value: z.union([
319
321
  // big-decimal
320
- z.string().regex(/^\d+(\.\d+)?$/),
322
+ z
323
+ .string()
324
+ .regex(/^\d+(\.\d+)?$/),
321
325
  // value
322
326
  valueComponentSchema,
323
327
  // internal
@@ -1,9 +1,9 @@
1
1
  import type { CryptoCurrencyPrice } from '@0xtorch/core'
2
2
  import type { z } from 'zod'
3
3
  import type {
4
- Erc1155Transfer,
5
4
  Erc20Transfer,
6
5
  Erc721Transfer,
6
+ Erc1155Transfer,
7
7
  InternalTransaction,
8
8
  LogData,
9
9
  } from '../../types'
@@ -24,12 +24,12 @@ import type {
24
24
  actionGeneratorSchema,
25
25
  addressConditionSchema,
26
26
  commentComponentSchema,
27
- erc1155ComponentSchema,
28
- erc1155RawComponentSchema,
29
27
  erc20ComponentSchema,
30
28
  erc20RawComponentSchema,
31
29
  erc721ComponentSchema,
32
30
  erc721RawComponentSchema,
31
+ erc1155ComponentSchema,
32
+ erc1155RawComponentSchema,
33
33
  idComponentSchema,
34
34
  internalComponentSchema,
35
35
  internalRawComponentSchema,
@@ -10,9 +10,9 @@ import type {
10
10
  } from '@0xtorch/core'
11
11
  import type { Chain } from '../../chains'
12
12
  import type {
13
- Erc1155Transfer,
14
13
  Erc20Transfer,
15
14
  Erc721Transfer,
15
+ Erc1155Transfer,
16
16
  InternalTransaction,
17
17
  TransactionDecoded,
18
18
  } from '../../types'
@@ -14,9 +14,9 @@ import type {
14
14
  import type { Chain } from '../../chains'
15
15
  import type {
16
16
  DecodedLog,
17
- Erc1155Transfer,
18
17
  Erc20Transfer,
19
18
  Erc721Transfer,
19
+ Erc1155Transfer,
20
20
  InternalTransaction,
21
21
  LowerHex,
22
22
  TransactionDecoded,
@@ -24,12 +24,12 @@ import type {
24
24
  import { toLowerHex } from '../../types'
25
25
  import { createEvmActionSource, includesEvmAddressId } from '../../utils/create'
26
26
  import {
27
- parseErc1155TransferToActionTransferIn,
28
- parseErc1155TransferToActionTransferOut,
29
27
  parseErc20TransferToActionTransferIn,
30
28
  parseErc20TransferToActionTransferOut,
31
29
  parseErc721TransferToActionTransferIn,
32
30
  parseErc721TransferToActionTransferOut,
31
+ parseErc1155TransferToActionTransferIn,
32
+ parseErc1155TransferToActionTransferOut,
33
33
  parseInternalTransactionToActionTransferIn,
34
34
  parseInternalTransactionToActionTransferOut,
35
35
  } from '../parsers/transfer'
@@ -130,10 +130,9 @@ export const analyzeSeaport = async <
130
130
  // 合致する internal transfer が 1 つ以下の場合は includeNativeToken を true にする
131
131
  mut_includeNativeToken = true
132
132
  break
133
- } else {
134
- // 合致する internal transfer が複数の場合は pattern 不一致として undefined を返す
135
- return undefined
136
133
  }
134
+ // 合致する internal transfer が複数の場合は pattern 不一致として undefined を返す
135
+ return undefined
137
136
  }
138
137
  case 1: {
139
138
  // ERC20
@@ -155,24 +154,24 @@ export const analyzeSeaport = async <
155
154
  // 合致する ERC20 transfer が 1 つの場合は mut_offerTransfers に追加
156
155
  mut_offerTransfers.push(erc20OfferTransfers[0])
157
156
  break
158
- } else if (erc20OfferTransfers.length > 1) {
157
+ }
158
+ if (erc20OfferTransfers.length > 1) {
159
159
  // 合致する ERC20 transfer が複数の場合は pattern 不一致として undefined を返す
160
160
  return undefined
161
+ }
162
+ // 合致する ERC20 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
163
+ if (
164
+ erc20Transfers.some(
165
+ (transfer) =>
166
+ transfer.token.contractAddress === offerItem.token &&
167
+ transfer.value === amount,
168
+ )
169
+ ) {
170
+ mut_isSpam = true
161
171
  } else {
162
- // 合致する ERC20 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
163
- if (
164
- erc20Transfers.some(
165
- (transfer) =>
166
- transfer.token.contractAddress === offerItem.token &&
167
- transfer.value === amount,
168
- )
169
- ) {
170
- mut_isSpam = true
171
- } else {
172
- return undefined
173
- }
174
- break
172
+ return undefined
175
173
  }
174
+ break
176
175
  }
177
176
  case 2: {
178
177
  // ERC721
@@ -187,24 +186,24 @@ export const analyzeSeaport = async <
187
186
  // 合致する ERC721 transfer が 1 つの場合は mut_offerTransfers に追加
188
187
  mut_offerTransfers.push(erc721OfferTransfers[0])
189
188
  break
190
- } else if (erc721OfferTransfers.length > 1) {
189
+ }
190
+ if (erc721OfferTransfers.length > 1) {
191
191
  // 合致する ERC721 transfer が複数の場合は pattern 不一致として undefined を返す
192
192
  return undefined
193
+ }
194
+ // 合致する ERC721 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
195
+ if (
196
+ erc721Transfers.some(
197
+ (transfer) =>
198
+ transfer.token.contractAddress === offerItem.token &&
199
+ transfer.tokenId === offerItem.identifier,
200
+ )
201
+ ) {
202
+ mut_isSpam = true
193
203
  } else {
194
- // 合致する ERC721 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
195
- if (
196
- erc721Transfers.some(
197
- (transfer) =>
198
- transfer.token.contractAddress === offerItem.token &&
199
- transfer.tokenId === offerItem.identifier,
200
- )
201
- ) {
202
- mut_isSpam = true
203
- } else {
204
- return undefined
205
- }
206
- break
204
+ return undefined
207
205
  }
206
+ break
208
207
  }
209
208
  case 3: {
210
209
  // ERC1155
@@ -220,24 +219,24 @@ export const analyzeSeaport = async <
220
219
  // 合致する ERC1155 transfer が 1 つの場合は mut_offerTransfers に追加
221
220
  mut_offerTransfers.push(erc1155OfferTransfers[0])
222
221
  break
223
- } else if (erc1155OfferTransfers.length > 1) {
222
+ }
223
+ if (erc1155OfferTransfers.length > 1) {
224
224
  // 合致する ERC1155 transfer が複数の場合は pattern 不一致として undefined を返す
225
225
  return undefined
226
+ }
227
+ // 合致する ERC1155 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
228
+ if (
229
+ erc1155Transfers.some(
230
+ (transfer) =>
231
+ transfer.token.contractAddress === offerItem.token &&
232
+ transfer.id === offerItem.identifier,
233
+ )
234
+ ) {
235
+ mut_isSpam = true
226
236
  } else {
227
- // 合致する ERC1155 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
228
- if (
229
- erc1155Transfers.some(
230
- (transfer) =>
231
- transfer.token.contractAddress === offerItem.token &&
232
- transfer.id === offerItem.identifier,
233
- )
234
- ) {
235
- mut_isSpam = true
236
- } else {
237
- return undefined
238
- }
239
- break
237
+ return undefined
240
238
  }
239
+ break
241
240
  }
242
241
  }
243
242
  }
@@ -267,10 +266,9 @@ export const analyzeSeaport = async <
267
266
  // 合致する internal transfer が 1 つ以下の場合は includeNativeToken を true にする
268
267
  mut_includeNativeToken = true
269
268
  break
270
- } else {
271
- // 合致する internal transfer が複数の場合は pattern 不一致として undefined を返す
272
- return undefined
273
269
  }
270
+ // 合致する internal transfer が複数の場合は pattern 不一致として undefined を返す
271
+ return undefined
274
272
  }
275
273
  case 1: {
276
274
  // ERC20
@@ -292,24 +290,24 @@ export const analyzeSeaport = async <
292
290
  // 合致する ERC20 transfer が 1 つの場合は mut_considerationTransfers に追加
293
291
  mut_considerationTransfers.push(erc20ConsiderationTransfers[0])
294
292
  break
295
- } else if (erc20ConsiderationTransfers.length > 1) {
293
+ }
294
+ if (erc20ConsiderationTransfers.length > 1) {
296
295
  // 合致する ERC20 transfer が複数の場合は pattern 不一致として undefined を返す
297
296
  return undefined
297
+ }
298
+ // 合致する ERC20 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
299
+ if (
300
+ erc20Transfers.some(
301
+ (transfer) =>
302
+ transfer.token.contractAddress === considerationItem.token &&
303
+ transfer.value === considerationItem.amount,
304
+ )
305
+ ) {
306
+ mut_isSpam = true
298
307
  } else {
299
- // 合致する ERC20 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
300
- if (
301
- erc20Transfers.some(
302
- (transfer) =>
303
- transfer.token.contractAddress === considerationItem.token &&
304
- transfer.value === considerationItem.amount,
305
- )
306
- ) {
307
- mut_isSpam = true
308
- } else {
309
- return undefined
310
- }
311
- break
308
+ return undefined
312
309
  }
310
+ break
313
311
  }
314
312
  case 2: {
315
313
  // ERC721
@@ -324,24 +322,24 @@ export const analyzeSeaport = async <
324
322
  // 合致する ERC721 transfer が 1 つの場合は mut_considerationTransfers に追加
325
323
  mut_considerationTransfers.push(erc721ConsiderationTransfers[0])
326
324
  break
327
- } else if (erc721ConsiderationTransfers.length > 1) {
325
+ }
326
+ if (erc721ConsiderationTransfers.length > 1) {
328
327
  // 合致する ERC721 transfer が複数の場合は pattern 不一致として undefined を返す
329
328
  return undefined
329
+ }
330
+ // 合致する ERC721 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
331
+ if (
332
+ erc721Transfers.some(
333
+ (transfer) =>
334
+ transfer.token.contractAddress === considerationItem.token &&
335
+ transfer.tokenId === considerationItem.identifier,
336
+ )
337
+ ) {
338
+ mut_isSpam = true
330
339
  } else {
331
- // 合致する ERC721 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
332
- if (
333
- erc721Transfers.some(
334
- (transfer) =>
335
- transfer.token.contractAddress === considerationItem.token &&
336
- transfer.tokenId === considerationItem.identifier,
337
- )
338
- ) {
339
- mut_isSpam = true
340
- } else {
341
- return undefined
342
- }
343
- break
340
+ return undefined
344
341
  }
342
+ break
345
343
  }
346
344
  case 3: {
347
345
  // ERC1155
@@ -357,24 +355,24 @@ export const analyzeSeaport = async <
357
355
  // 合致する ERC1155 transfer が 1 つの場合は mut_considerationTransfers に追加
358
356
  mut_considerationTransfers.push(erc1155ConsiderationTransfers[0])
359
357
  break
360
- } else if (erc1155ConsiderationTransfers.length > 1) {
358
+ }
359
+ if (erc1155ConsiderationTransfers.length > 1) {
361
360
  // 合致する ERC1155 transfer が複数の場合は pattern 不一致として undefined を返す
362
361
  return undefined
362
+ }
363
+ // 合致する ERC1155 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
364
+ if (
365
+ erc1155Transfers.some(
366
+ (transfer) =>
367
+ transfer.token.contractAddress === considerationItem.token &&
368
+ transfer.id === considerationItem.identifier,
369
+ )
370
+ ) {
371
+ mut_isSpam = true
363
372
  } else {
364
- // 合致する ERC1155 transfer がない場合、同一 token に対する別の transfer が存在すれば spam として処理・なければ pattern 不一致として undefined を返す
365
- if (
366
- erc1155Transfers.some(
367
- (transfer) =>
368
- transfer.token.contractAddress === considerationItem.token &&
369
- transfer.id === considerationItem.identifier,
370
- )
371
- ) {
372
- mut_isSpam = true
373
- } else {
374
- return undefined
375
- }
376
- break
373
+ return undefined
377
374
  }
375
+ break
378
376
  }
379
377
  }
380
378
  }
@@ -503,7 +501,8 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
503
501
  }
504
502
  if (transfer.from === recipient && transfer.to === recipient) {
505
503
  continue
506
- } else if (transfer.from === recipient || transfer.to === recipient) {
504
+ }
505
+ if (transfer.from === recipient || transfer.to === recipient) {
507
506
  const direction = transfer.from === recipient ? 'out' : 'in'
508
507
  switch (transfer.type) {
509
508
  case 'InternalTransaction': {
@@ -566,9 +565,7 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
566
565
  break
567
566
  }
568
567
  }
569
- } else if (transfer.type === 'InternalTransaction') {
570
- continue
571
- } else {
568
+ } else if (transfer.type !== 'InternalTransaction') {
572
569
  mut_existNoRecipientTransfer = true
573
570
  break
574
571
  }
@@ -599,7 +596,8 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
599
596
  ]) {
600
597
  if (transfer.from === offerer && transfer.to === offerer) {
601
598
  continue
602
- } else if (transfer.from === offerer || transfer.to === offerer) {
599
+ }
600
+ if (transfer.from === offerer || transfer.to === offerer) {
603
601
  const direction = transfer.from === offerer ? 'out' : 'in'
604
602
  switch (transfer.type) {
605
603
  case 'InternalTransaction': {
@@ -662,9 +660,7 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
662
660
  break
663
661
  }
664
662
  }
665
- } else if (transfer.type === 'InternalTransaction') {
666
- continue
667
- } else {
663
+ } else if (transfer.type !== 'InternalTransaction') {
668
664
  return undefined
669
665
  }
670
666
  }
@@ -722,7 +718,8 @@ const generateAccountActions = <Price extends CryptoCurrencyPrice | undefined>(
722
718
  ) {
723
719
  // direction: none が含まれる場合は undefined を返す
724
720
  return undefined
725
- } else if (
721
+ }
722
+ if (
726
723
  transfers.every(
727
724
  (transfer) =>
728
725
  includesEvmAddressId({
@@ -754,7 +751,8 @@ const generateAccountActions = <Price extends CryptoCurrencyPrice | undefined>(
754
751
  ],
755
752
  }
756
753
  })
757
- } else if (
754
+ }
755
+ if (
758
756
  transfers.every((transfer) =>
759
757
  includesEvmAddressId({
760
758
  addresses: accountAddresses,
@@ -826,7 +824,8 @@ const generateAccountActions = <Price extends CryptoCurrencyPrice | undefined>(
826
824
  ],
827
825
  },
828
826
  ]
829
- } else if (
827
+ }
828
+ if (
830
829
  inTransfers.every((transfer) => transfer.asset.type === 'Nft') &&
831
830
  outTransfers.every((transfer) => transfer.asset.type === 'CryptoCurrency')
832
831
  ) {
@@ -870,7 +869,8 @@ const generateAccountActions = <Price extends CryptoCurrencyPrice | undefined>(
870
869
  }),
871
870
  },
872
871
  ]
873
- } else if (
872
+ }
873
+ if (
874
874
  inTransfers.every((transfer) => transfer.asset.type === 'CryptoCurrency') &&
875
875
  outTransfers.every((transfer) => transfer.asset.type === 'Nft')
876
876
  ) {
@@ -914,37 +914,36 @@ const generateAccountActions = <Price extends CryptoCurrencyPrice | undefined>(
914
914
  }),
915
915
  },
916
916
  ]
917
- } else {
918
- // それ以外の場合は trade action 作成
919
- return [
920
- {
921
- type: 'NormalAccountAction',
922
- action: 'trade',
923
- source,
924
- evidence: 'contract',
925
- timestamp: action.timestamp,
926
- order: 0,
927
- comment: action.comment,
928
- app: action.app,
929
- transfers: [
930
- ...inTransfers.map((transfer) => ({
931
- from: transfer.from,
932
- to: transfer.to,
933
- price: transfer.price,
934
- asset: transfer.asset,
935
- amount: transfer.amount,
936
- direction: 'in' as const,
937
- })),
938
- ...outTransfers.map((transfer) => ({
939
- from: transfer.from,
940
- to: transfer.to,
941
- price: transfer.price,
942
- asset: transfer.asset,
943
- amount: transfer.amount,
944
- direction: 'out' as const,
945
- })),
946
- ],
947
- },
948
- ]
949
917
  }
918
+ // それ以外の場合は trade action 作成
919
+ return [
920
+ {
921
+ type: 'NormalAccountAction',
922
+ action: 'trade',
923
+ source,
924
+ evidence: 'contract',
925
+ timestamp: action.timestamp,
926
+ order: 0,
927
+ comment: action.comment,
928
+ app: action.app,
929
+ transfers: [
930
+ ...inTransfers.map((transfer) => ({
931
+ from: transfer.from,
932
+ to: transfer.to,
933
+ price: transfer.price,
934
+ asset: transfer.asset,
935
+ amount: transfer.amount,
936
+ direction: 'in' as const,
937
+ })),
938
+ ...outTransfers.map((transfer) => ({
939
+ from: transfer.from,
940
+ to: transfer.to,
941
+ price: transfer.price,
942
+ asset: transfer.asset,
943
+ amount: transfer.amount,
944
+ direction: 'out' as const,
945
+ })),
946
+ ],
947
+ },
948
+ ]
950
949
  }
@@ -9,10 +9,10 @@ import type { TransactionDecoded } from '../../types'
9
9
  import { createEvmAddressId } from '../../utils'
10
10
  import { createEvmActionSource } from '../../utils/create'
11
11
  import {
12
- parseErc1155TransferToActionTransferIn,
13
12
  parseErc20TransferToActionTransferIn,
14
13
  parseErc20TransferToActionTransferNone,
15
14
  parseErc721TransferToActionTransferIn,
15
+ parseErc1155TransferToActionTransferIn,
16
16
  parseInternalTransactionToActionTransferNone,
17
17
  parseTransactionValueToActionTransferNone,
18
18
  } from '../parsers/transfer'
@@ -234,16 +234,16 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
234
234
  swap.transferOut.type === 'InternalTransaction'
235
235
  ) {
236
236
  return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
237
- } else if (
237
+ }
238
+ if (
238
239
  swap.transferIn.type === 'Erc20Transfer' &&
239
240
  swap.transferOut.type === 'Erc20Transfer' &&
240
241
  swap.transferIn.token.contractAddress ===
241
242
  swap.transferOut.token.contractAddress
242
243
  ) {
243
244
  return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
244
- } else {
245
- return generateNormalActionTrade(swap, chain, timestamp)
246
245
  }
246
+ return generateNormalActionTrade(swap, chain, timestamp)
247
247
  }
248
248
 
249
249
  const generateNormalActionAtomicArbitrage = <
@@ -391,7 +391,7 @@ const createSwapFromUniv2SwapLog = <
391
391
  )
392
392
 
393
393
  // なければ undefined を返す
394
- if (transferIn == undefined || transferOut === undefined) {
394
+ if (transferIn === undefined || transferOut === undefined) {
395
395
  return undefined
396
396
  }
397
397
 
@@ -442,7 +442,7 @@ const createSwapFromUniv3SwapLog = <
442
442
  )
443
443
 
444
444
  // なければ undefined を返す
445
- if (transferIn == undefined || transferOut === undefined) {
445
+ if (transferIn === undefined || transferOut === undefined) {
446
446
  return undefined
447
447
  }
448
448
 
@@ -479,7 +479,7 @@ const createSwapFromTraderJoeLBPairSwapLog = <
479
479
  )
480
480
 
481
481
  // なければ undefined を返す
482
- if (transferIn == undefined || transferOut === undefined) {
482
+ if (transferIn === undefined || transferOut === undefined) {
483
483
  return undefined
484
484
  }
485
485
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable unicorn/filename-case */
2
1
  import { z } from 'zod'
3
2
  import type { DecodedLog } from '../../types'
4
3
  import { isHex, toLowerHex } from '../../types'
@@ -2,9 +2,9 @@ import type { CryptoCurrencyPrice, Transfer } from '@0xtorch/core'
2
2
  import type { Chain } from '../../chains'
3
3
  import type { TransactionDecoded } from '../../types'
4
4
  import {
5
- parseErc1155TransferToActionTransferNone,
6
5
  parseErc20TransferToActionTransferNone,
7
6
  parseErc721TransferToActionTransferNone,
7
+ parseErc1155TransferToActionTransferNone,
8
8
  parseInternalTransactionToActionTransferNone,
9
9
  parseTransactionValueToActionTransferNone,
10
10
  } from '../parsers/transfer'
@@ -1,11 +1,11 @@
1
1
  import type { AbiEvent } from 'abitype'
2
2
  import type { Chain, GetLogsReturnType, PublicClient } from 'viem'
3
3
  import {
4
+ http,
4
5
  HttpRequestError,
5
6
  InvalidInputRpcError,
6
7
  TransactionReceiptNotFoundError,
7
8
  createPublicClient,
8
- http,
9
9
  } from 'viem'
10
10
  import type { HttpRpc } from '../../../chains'
11
11
  import type { LowerHex } from '../../../types'
@@ -39,7 +39,7 @@ export const createViemInstance = (() => {
39
39
  endpointChainIds.get(endpoint) === chainId &&
40
40
  !busyEndpoints.has(endpoint) &&
41
41
  (!cooldownEndpoints.has(endpoint) ||
42
- cooldownEndpoints.get(endpoint)! <= now) &&
42
+ (cooldownEndpoints.get(endpoint) ?? 0) <= now) &&
43
43
  (rpcCondition?.isArchive !== true ||
44
44
  endpointIsArchives.get(endpoint) === true) &&
45
45
  (rpcCondition?.getLogsIsUsable !== true ||
@@ -91,7 +91,8 @@ export const createViemInstance = (() => {
91
91
  console.debug(error)
92
92
  cooldownEndpoint(endpoint)
93
93
  return await call(chain, caller, timeout - (Date.now() - start))
94
- } else if (
94
+ }
95
+ if (
95
96
  error instanceof TransactionReceiptNotFoundError ||
96
97
  error instanceof HttpRequestError ||
97
98
  error instanceof InvalidInputRpcError
@@ -7,10 +7,10 @@ import type {
7
7
  Chain as ViemChain,
8
8
  } from 'viem'
9
9
  import {
10
+ http,
10
11
  CallExecutionError,
11
12
  ContractFunctionExecutionError,
12
13
  createPublicClient,
13
- http,
14
14
  } from 'viem'
15
15
  import type { HttpRpc } from '../../../chains'
16
16
  import type { LowerHex } from '../../../types'
@@ -191,13 +191,12 @@ const selectAvailableRpc = (
191
191
  )
192
192
  if (availableRpcs.length === 0) {
193
193
  return undefined
194
- } else if (onlyGetLogsIsUsable) {
195
- return availableRpcs.toSorted((a, b) =>
196
- Number(b.rpc.getLogsMaxBlockRange - a.rpc.getLogsMaxBlockRange),
197
- )[0].rpc
198
- } else {
199
- return availableRpcs[0].rpc
200
194
  }
195
+ return onlyGetLogsIsUsable
196
+ ? availableRpcs.toSorted((a, b) =>
197
+ Number(b.rpc.getLogsMaxBlockRange - a.rpc.getLogsMaxBlockRange),
198
+ )[0].rpc
199
+ : availableRpcs[0].rpc
201
200
  }
202
201
 
203
202
  type PublicClient = ReturnType<typeof createPublicClient>
package/decoder/decode.ts CHANGED
@@ -8,14 +8,14 @@ import {
8
8
  zeroAddress,
9
9
  } from 'viem'
10
10
  import { z } from 'zod'
11
- import { erc1155Abi, erc20Abi, erc721Abi, wethAbi } from '../abis'
11
+ import { erc20Abi, erc721Abi, erc1155Abi, wethAbi } from '../abis'
12
12
  import type { Chain } from '../chains'
13
13
  import type {
14
- Erc1155Transfer,
15
14
  Erc20Token,
16
15
  Erc20Transfer,
17
16
  Erc721Token,
18
17
  Erc721Transfer,
18
+ Erc1155Transfer,
19
19
  Hex,
20
20
  InputData,
21
21
  LogData,
@@ -24,9 +24,9 @@ import type {
24
24
  } from '../types'
25
25
  import { parsedLogSchema, toLowerHex } from '../types'
26
26
  import { checkTimeout, createErc1155NftId, createEvmCurrencyId } from '../utils'
27
- import { parseErc1155TransferSingleLogs } from './parseErc1155TransferSingleLogs'
28
27
  import { parseErc20TransferLogs } from './parseErc20TransferLogs'
29
28
  import { parseErc721TransferLogs } from './parseErc721TransferLogs'
29
+ import { parseErc1155TransferSingleLogs } from './parseErc1155TransferSingleLogs'
30
30
  import type { Decode } from './types'
31
31
 
32
32
  export const decode: Decode = async (
@@ -132,6 +132,7 @@ export const decode: Decode = async (
132
132
  .map((transfer) => ({
133
133
  type: transfer.type,
134
134
  logIndex: transfer.logIndex,
135
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
135
136
  token: erc20Tokens.find(
136
137
  (token) => token?.contractAddress === transfer.contractAddress,
137
138
  )!,
@@ -149,6 +150,7 @@ export const decode: Decode = async (
149
150
  .map((transfer) => ({
150
151
  type: transfer.type,
151
152
  logIndex: transfer.logIndex,
153
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
152
154
  token: erc721Tokens.find(
153
155
  (token) => token?.contractAddress === transfer.contractAddress,
154
156
  )!,
@@ -518,8 +520,8 @@ const getErc20Token = async (
518
520
  ? undefined
519
521
  : coingeckoCoins.find(
520
522
  ({ platforms }) =>
521
- platforms[chain.coingeckoId!] !== undefined &&
522
- platforms[chain.coingeckoId!].toLowerCase() === address,
523
+ platforms[chain.coingeckoId ?? ''] !== undefined &&
524
+ platforms[chain.coingeckoId ?? ''].toLowerCase() === address,
523
525
  )
524
526
 
525
527
  return {