@0xtorch/evm 0.0.60 → 0.0.62

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 (1683) hide show
  1. package/.DS_Store +0 -0
  2. package/_cjs/analyzer/analyze.js +0 -61
  3. package/_cjs/analyzer/analyze.js.map +1 -1
  4. package/_cjs/analyzer/analyzer.js +0 -6
  5. package/_cjs/analyzer/analyzer.js.map +1 -1
  6. package/_cjs/analyzer/axieMarketplace/analyze.js +0 -147
  7. package/_cjs/analyzer/axieMarketplace/analyze.js.map +1 -1
  8. package/_cjs/analyzer/axieMarketplace/index.js +0 -4
  9. package/_cjs/analyzer/axieMarketplace/index.js.map +1 -1
  10. package/_cjs/analyzer/fail/analyze.js +0 -37
  11. package/_cjs/analyzer/fail/analyze.js.map +1 -1
  12. package/_cjs/analyzer/fail/index.js +0 -4
  13. package/_cjs/analyzer/fail/index.js.map +1 -1
  14. package/_cjs/analyzer/gasFee/analyze.js +0 -45
  15. package/_cjs/analyzer/gasFee/analyze.js.map +1 -1
  16. package/_cjs/analyzer/gasFee/index.js +0 -4
  17. package/_cjs/analyzer/gasFee/index.js.map +1 -1
  18. package/_cjs/analyzer/index.js +0 -23
  19. package/_cjs/analyzer/index.js.map +1 -1
  20. package/_cjs/analyzer/json/analyze.js +0 -416
  21. package/_cjs/analyzer/json/analyze.js.map +1 -1
  22. package/_cjs/analyzer/json/components/comment.js +0 -48
  23. package/_cjs/analyzer/json/components/comment.js.map +1 -1
  24. package/_cjs/analyzer/json/components/erc1155.js +0 -91
  25. package/_cjs/analyzer/json/components/erc1155.js.map +1 -1
  26. package/_cjs/analyzer/json/components/erc1155Raw.js +0 -29
  27. package/_cjs/analyzer/json/components/erc1155Raw.js.map +1 -1
  28. package/_cjs/analyzer/json/components/erc20.js +0 -88
  29. package/_cjs/analyzer/json/components/erc20.js.map +1 -1
  30. package/_cjs/analyzer/json/components/erc20Raw.js +0 -26
  31. package/_cjs/analyzer/json/components/erc20Raw.js.map +1 -1
  32. package/_cjs/analyzer/json/components/erc721.js +0 -76
  33. package/_cjs/analyzer/json/components/erc721.js.map +1 -1
  34. package/_cjs/analyzer/json/components/erc721Raw.js +0 -27
  35. package/_cjs/analyzer/json/components/erc721Raw.js.map +1 -1
  36. package/_cjs/analyzer/json/components/id.js +0 -48
  37. package/_cjs/analyzer/json/components/id.js.map +1 -1
  38. package/_cjs/analyzer/json/components/internal.js +0 -76
  39. package/_cjs/analyzer/json/components/internal.js.map +1 -1
  40. package/_cjs/analyzer/json/components/internalRaw.js +0 -24
  41. package/_cjs/analyzer/json/components/internalRaw.js.map +1 -1
  42. package/_cjs/analyzer/json/components/logArgument.js +0 -79
  43. package/_cjs/analyzer/json/components/logArgument.js.map +1 -1
  44. package/_cjs/analyzer/json/components/logArgumentRaw.js +0 -39
  45. package/_cjs/analyzer/json/components/logArgumentRaw.js.map +1 -1
  46. package/_cjs/analyzer/json/components/targetAsset.js +0 -122
  47. package/_cjs/analyzer/json/components/targetAsset.js.map +1 -1
  48. package/_cjs/analyzer/json/components/transfer.js +0 -462
  49. package/_cjs/analyzer/json/components/transfer.js.map +1 -1
  50. package/_cjs/analyzer/json/condition/address.js +0 -104
  51. package/_cjs/analyzer/json/condition/address.js.map +1 -1
  52. package/_cjs/analyzer/json/condition/argumentValue.js +0 -29
  53. package/_cjs/analyzer/json/condition/argumentValue.js.map +1 -1
  54. package/_cjs/analyzer/json/condition/index.js +0 -8
  55. package/_cjs/analyzer/json/condition/index.js.map +1 -1
  56. package/_cjs/analyzer/json/condition/value.js +0 -63
  57. package/_cjs/analyzer/json/condition/value.js.map +1 -1
  58. package/_cjs/analyzer/json/generator.js +0 -212
  59. package/_cjs/analyzer/json/generator.js.map +1 -1
  60. package/_cjs/analyzer/json/index.js +0 -6
  61. package/_cjs/analyzer/json/index.js.map +1 -1
  62. package/_cjs/analyzer/json/schemas/generator.js +0 -299
  63. package/_cjs/analyzer/json/schemas/generator.js.map +1 -1
  64. package/_cjs/analyzer/json/schemas/index.js +0 -302
  65. package/_cjs/analyzer/json/schemas/index.js.map +1 -1
  66. package/_cjs/analyzer/json/schemas/utils.js +0 -12
  67. package/_cjs/analyzer/json/schemas/utils.js.map +1 -1
  68. package/_cjs/analyzer/json/types.js +0 -1
  69. package/_cjs/analyzer/parsers/transfer.js +0 -147
  70. package/_cjs/analyzer/parsers/transfer.js.map +1 -1
  71. package/_cjs/analyzer/seaport/analyze.js +0 -655
  72. package/_cjs/analyzer/seaport/analyze.js.map +1 -1
  73. package/_cjs/analyzer/seaport/index.js +0 -4
  74. package/_cjs/analyzer/seaport/index.js.map +1 -1
  75. package/_cjs/analyzer/seaport/orderFulfilled.js +0 -109
  76. package/_cjs/analyzer/seaport/orderFulfilled.js.map +1 -1
  77. package/_cjs/analyzer/spam/analyze.js +0 -142
  78. package/_cjs/analyzer/spam/analyze.js.map +1 -1
  79. package/_cjs/analyzer/spam/index.js +0 -4
  80. package/_cjs/analyzer/spam/index.js.map +1 -1
  81. package/_cjs/analyzer/swap/analyze.js +0 -576
  82. package/_cjs/analyzer/swap/analyze.js.map +1 -1
  83. package/_cjs/analyzer/swap/index.js +0 -4
  84. package/_cjs/analyzer/swap/index.js.map +1 -1
  85. package/_cjs/analyzer/swap/traderJoeLBPairSwap.js +0 -70
  86. package/_cjs/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
  87. package/_cjs/analyzer/swap/univ2PairSwap.js +0 -60
  88. package/_cjs/analyzer/swap/univ2PairSwap.js.map +1 -1
  89. package/_cjs/analyzer/swap/univ3PoolSwap.js +0 -65
  90. package/_cjs/analyzer/swap/univ3PoolSwap.js.map +1 -1
  91. package/_cjs/analyzer/swap/wrappedDeposit.js +0 -37
  92. package/_cjs/analyzer/swap/wrappedDeposit.js.map +1 -1
  93. package/_cjs/analyzer/swap/wrappedWithdrawal.js +0 -37
  94. package/_cjs/analyzer/swap/wrappedWithdrawal.js.map +1 -1
  95. package/_cjs/analyzer/tests.js +0 -3
  96. package/_cjs/analyzer/tests.js.map +1 -1
  97. package/_cjs/analyzer/transfer/analyze.js +0 -43
  98. package/_cjs/analyzer/transfer/analyze.js.map +1 -1
  99. package/_cjs/analyzer/transfer/index.js +0 -4
  100. package/_cjs/analyzer/transfer/index.js.map +1 -1
  101. package/_cjs/analyzer/types.js +0 -1
  102. package/_cjs/analyzer/utils/createTransfersByTransaction.js +0 -50
  103. package/_cjs/analyzer/utils/createTransfersByTransaction.js.map +1 -1
  104. package/_cjs/chain/definitions/arbitrumOne.js +85 -0
  105. package/_cjs/chain/definitions/arbitrumOne.js.map +1 -0
  106. package/_cjs/chain/definitions/astar.js +79 -0
  107. package/_cjs/chain/definitions/astar.js.map +1 -0
  108. package/_cjs/chain/definitions/avalancheC.js +88 -0
  109. package/_cjs/chain/definitions/avalancheC.js.map +1 -0
  110. package/_cjs/chain/definitions/base.js +113 -0
  111. package/_cjs/chain/definitions/base.js.map +1 -0
  112. package/_cjs/chain/definitions/bsc.js +168 -0
  113. package/_cjs/chain/definitions/bsc.js.map +1 -0
  114. package/_cjs/chain/definitions/ethereum.js +193 -0
  115. package/_cjs/chain/definitions/ethereum.js.map +1 -0
  116. package/_cjs/chain/definitions/fantom.js +125 -0
  117. package/_cjs/chain/definitions/fantom.js.map +1 -0
  118. package/_cjs/chain/definitions/linea.js +76 -0
  119. package/_cjs/chain/definitions/linea.js.map +1 -0
  120. package/_cjs/chain/definitions/mantaPacific.js +78 -0
  121. package/_cjs/chain/definitions/mantaPacific.js.map +1 -0
  122. package/_cjs/chain/definitions/mantle.js +89 -0
  123. package/_cjs/chain/definitions/mantle.js.map +1 -0
  124. package/_cjs/chain/definitions/metis.js +72 -0
  125. package/_cjs/chain/definitions/metis.js.map +1 -0
  126. package/_cjs/chain/definitions/moonbeam.js +100 -0
  127. package/_cjs/chain/definitions/moonbeam.js.map +1 -0
  128. package/_cjs/chain/definitions/moonriver.js +81 -0
  129. package/_cjs/chain/definitions/moonriver.js.map +1 -0
  130. package/_cjs/chain/definitions/oasys.js +60 -0
  131. package/_cjs/chain/definitions/oasys.js.map +1 -0
  132. package/_cjs/chain/definitions/optimism.js +123 -0
  133. package/_cjs/chain/definitions/optimism.js.map +1 -0
  134. package/_cjs/chain/definitions/polygonPos.js +113 -0
  135. package/_cjs/chain/definitions/polygonPos.js.map +1 -0
  136. package/_cjs/chain/definitions/ronin.js +57 -0
  137. package/_cjs/chain/definitions/ronin.js.map +1 -0
  138. package/_cjs/chain/definitions/tests.js.map +1 -0
  139. package/_cjs/chain/index.js +90 -0
  140. package/_cjs/chain/index.js.map +1 -0
  141. package/_cjs/chain/types/chain.js.map +1 -0
  142. package/_cjs/chain/types/rpc.js.map +1 -0
  143. package/_cjs/client/create.js +231 -0
  144. package/_cjs/client/create.js.map +1 -0
  145. package/_cjs/client/index.js +6 -0
  146. package/_cjs/client/index.js.map +1 -0
  147. package/_cjs/client/rpcManager.js +99 -0
  148. package/_cjs/client/rpcManager.js.map +1 -0
  149. package/_cjs/client/types.js.map +1 -0
  150. package/_cjs/explorer/blockscout/client.js +74 -0
  151. package/_cjs/explorer/blockscout/client.js.map +1 -0
  152. package/_cjs/explorer/blockscout/create.js +136 -0
  153. package/_cjs/explorer/blockscout/create.js.map +1 -0
  154. package/_cjs/explorer/blockscout/getBlockNumberByTimestamp.js +22 -0
  155. package/_cjs/explorer/blockscout/getBlockNumberByTimestamp.js.map +1 -0
  156. package/_cjs/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.js +25 -0
  157. package/_cjs/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.js.map +1 -0
  158. package/_cjs/explorer/blockscout/getContractSourceCodeForAVerifiedContract.js +35 -0
  159. package/_cjs/explorer/blockscout/getContractSourceCodeForAVerifiedContract.js.map +1 -0
  160. package/_cjs/explorer/blockscout/getEventLogsByAddressAndTopic.js +39 -0
  161. package/_cjs/explorer/blockscout/getEventLogsByAddressAndTopic.js.map +1 -0
  162. package/_cjs/explorer/blockscout/getInternalTransactionsByAddressHash.js +74 -0
  163. package/_cjs/explorer/blockscout/getInternalTransactionsByAddressHash.js.map +1 -0
  164. package/_cjs/explorer/blockscout/getInternalTransactionsByTransactionHash.js +65 -0
  165. package/_cjs/explorer/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -0
  166. package/_cjs/explorer/blockscout/getTokenTransferEventsByAddress.js +47 -0
  167. package/_cjs/explorer/blockscout/getTokenTransferEventsByAddress.js.map +1 -0
  168. package/_cjs/explorer/blockscout/getTransactionsByAddress.js +46 -0
  169. package/_cjs/explorer/blockscout/getTransactionsByAddress.js.map +1 -0
  170. package/_cjs/explorer/etherscan/client.js +90 -0
  171. package/_cjs/explorer/etherscan/client.js.map +1 -0
  172. package/_cjs/explorer/etherscan/create.js +180 -0
  173. package/_cjs/explorer/etherscan/create.js.map +1 -0
  174. package/_cjs/explorer/etherscan/getBlockNumberByTimestamp.js +20 -0
  175. package/_cjs/explorer/etherscan/getBlockNumberByTimestamp.js.map +1 -0
  176. package/_cjs/explorer/etherscan/getContractCreatorAndCreationTxHash.js +25 -0
  177. package/_cjs/explorer/etherscan/getContractCreatorAndCreationTxHash.js.map +1 -0
  178. package/_cjs/explorer/etherscan/getContractSourceCodeForVerifiedContract.js +35 -0
  179. package/_cjs/explorer/etherscan/getContractSourceCodeForVerifiedContract.js.map +1 -0
  180. package/_cjs/explorer/etherscan/getEventLogsByAddressFilteredByTopics.js +39 -0
  181. package/_cjs/explorer/etherscan/getEventLogsByAddressFilteredByTopics.js.map +1 -0
  182. package/_cjs/explorer/etherscan/getInternalTransactionsByTransactionHash.js +63 -0
  183. package/_cjs/explorer/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -0
  184. package/_cjs/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.js +48 -0
  185. package/_cjs/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.js.map +1 -0
  186. package/_cjs/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.js +46 -0
  187. package/_cjs/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.js.map +1 -0
  188. package/_cjs/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.js +46 -0
  189. package/_cjs/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.js.map +1 -0
  190. package/_cjs/explorer/etherscan/getListOfInternalTransactionsByAddress.js +73 -0
  191. package/_cjs/explorer/etherscan/getListOfInternalTransactionsByAddress.js.map +1 -0
  192. package/_cjs/explorer/etherscan/getListOfNormalTransactionsByAddress.js +46 -0
  193. package/_cjs/explorer/etherscan/getListOfNormalTransactionsByAddress.js.map +1 -0
  194. package/_cjs/explorer/index.js +10 -0
  195. package/_cjs/explorer/index.js.map +1 -0
  196. package/_cjs/explorer/noApiExplorer/create.js +33 -0
  197. package/_cjs/explorer/noApiExplorer/create.js.map +1 -0
  198. package/_cjs/explorer/types.js.map +1 -0
  199. package/_cjs/index.js +103 -100
  200. package/_cjs/index.js.map +1 -1
  201. package/_cjs/logic/analyzeTransaction/createActions/fail.js +29 -0
  202. package/_cjs/logic/analyzeTransaction/createActions/fail.js.map +1 -0
  203. package/_cjs/logic/analyzeTransaction/createActions/gas.js +36 -0
  204. package/_cjs/logic/analyzeTransaction/createActions/gas.js.map +1 -0
  205. package/_cjs/logic/analyzeTransaction/createActions/general.js +18 -0
  206. package/_cjs/logic/analyzeTransaction/createActions/general.js.map +1 -0
  207. package/_cjs/logic/analyzeTransaction/createActions/index.js +61 -0
  208. package/_cjs/logic/analyzeTransaction/createActions/index.js.map +1 -0
  209. package/_cjs/logic/analyzeTransaction/createActions/spam.js +133 -0
  210. package/_cjs/logic/analyzeTransaction/createActions/spam.js.map +1 -0
  211. package/_cjs/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js +10 -0
  212. package/_cjs/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js.map +1 -0
  213. package/_cjs/logic/analyzeTransaction/createActions/utils/createDirection.js +18 -0
  214. package/_cjs/logic/analyzeTransaction/createActions/utils/createDirection.js.map +1 -0
  215. package/_cjs/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js +129 -0
  216. package/_cjs/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js.map +1 -0
  217. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeInput.js +94 -0
  218. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeInput.js.map +1 -0
  219. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js +93 -0
  220. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -0
  221. package/_cjs/logic/analyzeTransaction/decodeTransaction/index.js +63 -0
  222. package/_cjs/logic/analyzeTransaction/decodeTransaction/index.js.map +1 -0
  223. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.js +22 -0
  224. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.js.map +1 -0
  225. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.js +15 -0
  226. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.js.map +1 -0
  227. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.js +22 -0
  228. package/_cjs/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.js.map +1 -0
  229. package/_cjs/logic/analyzeTransaction/getDataFromDatasource.js +60 -0
  230. package/_cjs/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -0
  231. package/_cjs/logic/analyzeTransaction/index.js +32 -0
  232. package/_cjs/logic/analyzeTransaction/index.js.map +1 -0
  233. package/_cjs/logic/getAddressIndexData.js +48 -0
  234. package/_cjs/logic/getAddressIndexData.js.map +1 -0
  235. package/_cjs/logic/getTransactionDetail/decodeTokenTransferLogs.js +393 -0
  236. package/_cjs/logic/getTransactionDetail/decodeTokenTransferLogs.js.map +1 -0
  237. package/_cjs/logic/getTransactionDetail/index.js +53 -0
  238. package/_cjs/logic/getTransactionDetail/index.js.map +1 -0
  239. package/_cjs/tests.js +7 -2
  240. package/_cjs/tests.js.map +1 -1
  241. package/_cjs/types/accountId.js +6 -0
  242. package/_cjs/types/accountId.js.map +1 -0
  243. package/_cjs/types/address.js +10 -30
  244. package/_cjs/types/address.js.map +1 -1
  245. package/_cjs/types/analyzeDataSource.js +3 -0
  246. package/_cjs/types/analyzeDataSource.js.map +1 -0
  247. package/_cjs/types/erc1155.js +17 -0
  248. package/_cjs/types/erc1155.js.map +1 -1
  249. package/_cjs/types/erc20.js +21 -0
  250. package/_cjs/types/erc20.js.map +1 -1
  251. package/_cjs/types/erc721.js +16 -0
  252. package/_cjs/types/erc721.js.map +1 -1
  253. package/_cjs/types/index.js +27 -2
  254. package/_cjs/types/index.js.map +1 -1
  255. package/_cjs/types/internalTransaction.js +16 -0
  256. package/_cjs/types/internalTransaction.js.map +1 -1
  257. package/_cjs/types/log.js +12 -35
  258. package/_cjs/types/log.js.map +1 -1
  259. package/_cjs/types/primitive.js +19 -0
  260. package/_cjs/types/primitive.js.map +1 -0
  261. package/_cjs/types/source.js +6 -0
  262. package/_cjs/types/source.js.map +1 -0
  263. package/_cjs/types/transactionDecoded.js +27 -0
  264. package/_cjs/types/transactionDecoded.js.map +1 -0
  265. package/_cjs/types/transactionDetail.js +30 -0
  266. package/_cjs/types/transactionDetail.js.map +1 -0
  267. package/_cjs/types/transactionIndex.js +9 -0
  268. package/_cjs/types/transactionIndex.js.map +1 -0
  269. package/_cjs/utils/create.js +2 -6
  270. package/_cjs/utils/create.js.map +1 -1
  271. package/_cjs/utils/createInternalTransactionId.js +14 -0
  272. package/_cjs/utils/createInternalTransactionId.js.map +1 -0
  273. package/_cjs/utils/index.js +1 -3
  274. package/_cjs/utils/index.js.map +1 -1
  275. package/_esm/analyzer/analyze.js +83 -61
  276. package/_esm/analyzer/analyze.js.map +1 -1
  277. package/_esm/analyzer/analyzer.js +5 -4
  278. package/_esm/analyzer/analyzer.js.map +1 -1
  279. package/_esm/analyzer/axieMarketplace/analyze.js +238 -146
  280. package/_esm/analyzer/axieMarketplace/analyze.js.map +1 -1
  281. package/_esm/analyzer/axieMarketplace/index.js +2 -1
  282. package/_esm/analyzer/axieMarketplace/index.js.map +1 -1
  283. package/_esm/analyzer/fail/analyze.js +47 -36
  284. package/_esm/analyzer/fail/analyze.js.map +1 -1
  285. package/_esm/analyzer/fail/index.js +2 -1
  286. package/_esm/analyzer/fail/index.js.map +1 -1
  287. package/_esm/analyzer/gasFee/analyze.js +68 -47
  288. package/_esm/analyzer/gasFee/analyze.js.map +1 -1
  289. package/_esm/analyzer/gasFee/index.js +2 -1
  290. package/_esm/analyzer/gasFee/index.js.map +1 -1
  291. package/_esm/analyzer/index.js +12 -10
  292. package/_esm/analyzer/index.js.map +1 -1
  293. package/_esm/analyzer/json/analyze.js +512 -432
  294. package/_esm/analyzer/json/analyze.js.map +1 -1
  295. package/_esm/analyzer/json/components/comment.js +66 -45
  296. package/_esm/analyzer/json/components/comment.js.map +1 -1
  297. package/_esm/analyzer/json/components/erc1155.js +129 -87
  298. package/_esm/analyzer/json/components/erc1155.js.map +1 -1
  299. package/_esm/analyzer/json/components/erc1155Raw.js +45 -26
  300. package/_esm/analyzer/json/components/erc1155Raw.js.map +1 -1
  301. package/_esm/analyzer/json/components/erc20.js +126 -84
  302. package/_esm/analyzer/json/components/erc20.js.map +1 -1
  303. package/_esm/analyzer/json/components/erc20Raw.js +42 -23
  304. package/_esm/analyzer/json/components/erc20Raw.js.map +1 -1
  305. package/_esm/analyzer/json/components/erc721.js +113 -72
  306. package/_esm/analyzer/json/components/erc721.js.map +1 -1
  307. package/_esm/analyzer/json/components/erc721Raw.js +45 -24
  308. package/_esm/analyzer/json/components/erc721Raw.js.map +1 -1
  309. package/_esm/analyzer/json/components/id.js +66 -45
  310. package/_esm/analyzer/json/components/id.js.map +1 -1
  311. package/_esm/analyzer/json/components/internal.js +114 -72
  312. package/_esm/analyzer/json/components/internal.js.map +1 -1
  313. package/_esm/analyzer/json/components/internalRaw.js +38 -21
  314. package/_esm/analyzer/json/components/internalRaw.js.map +1 -1
  315. package/_esm/analyzer/json/components/logArgument.js +109 -75
  316. package/_esm/analyzer/json/components/logArgument.js.map +1 -1
  317. package/_esm/analyzer/json/components/logArgumentRaw.js +56 -36
  318. package/_esm/analyzer/json/components/logArgumentRaw.js.map +1 -1
  319. package/_esm/analyzer/json/components/targetAsset.js +138 -119
  320. package/_esm/analyzer/json/components/targetAsset.js.map +1 -1
  321. package/_esm/analyzer/json/components/transfer.js +558 -462
  322. package/_esm/analyzer/json/components/transfer.js.map +1 -1
  323. package/_esm/analyzer/json/condition/address.js +123 -101
  324. package/_esm/analyzer/json/condition/address.js.map +1 -1
  325. package/_esm/analyzer/json/condition/argumentValue.js +42 -26
  326. package/_esm/analyzer/json/condition/argumentValue.js.map +1 -1
  327. package/_esm/analyzer/json/condition/index.js +4 -3
  328. package/_esm/analyzer/json/condition/index.js.map +1 -1
  329. package/_esm/analyzer/json/condition/value.js +77 -60
  330. package/_esm/analyzer/json/condition/value.js.map +1 -1
  331. package/_esm/analyzer/json/generator.js +286 -212
  332. package/_esm/analyzer/json/generator.js.map +1 -1
  333. package/_esm/analyzer/json/index.js +3 -2
  334. package/_esm/analyzer/json/index.js.map +1 -1
  335. package/_esm/analyzer/json/schemas/generator.js +389 -370
  336. package/_esm/analyzer/json/schemas/generator.js.map +1 -1
  337. package/_esm/analyzer/json/schemas/index.js +324 -299
  338. package/_esm/analyzer/json/schemas/index.js.map +1 -1
  339. package/_esm/analyzer/json/schemas/utils.js +11 -10
  340. package/_esm/analyzer/json/schemas/utils.js.map +1 -1
  341. package/_esm/analyzer/json/types.js +114 -1
  342. package/_esm/analyzer/json/types.js.map +1 -1
  343. package/_esm/analyzer/parsers/transfer.js +273 -128
  344. package/_esm/analyzer/parsers/transfer.js.map +1 -1
  345. package/_esm/analyzer/seaport/analyze.js +931 -711
  346. package/_esm/analyzer/seaport/analyze.js.map +1 -1
  347. package/_esm/analyzer/seaport/index.js +2 -1
  348. package/_esm/analyzer/seaport/index.js.map +1 -1
  349. package/_esm/analyzer/seaport/orderFulfilled.js +126 -112
  350. package/_esm/analyzer/seaport/orderFulfilled.js.map +1 -1
  351. package/_esm/analyzer/spam/analyze.js +181 -142
  352. package/_esm/analyzer/spam/analyze.js.map +1 -1
  353. package/_esm/analyzer/spam/index.js +2 -1
  354. package/_esm/analyzer/spam/index.js.map +1 -1
  355. package/_esm/analyzer/swap/analyze.js +848 -629
  356. package/_esm/analyzer/swap/analyze.js.map +1 -1
  357. package/_esm/analyzer/swap/index.js +2 -1
  358. package/_esm/analyzer/swap/index.js.map +1 -1
  359. package/_esm/analyzer/swap/traderJoeLBPairSwap.js +87 -76
  360. package/_esm/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
  361. package/_esm/analyzer/swap/univ2PairSwap.js +73 -63
  362. package/_esm/analyzer/swap/univ2PairSwap.js.map +1 -1
  363. package/_esm/analyzer/swap/univ3PoolSwap.js +79 -69
  364. package/_esm/analyzer/swap/univ3PoolSwap.js.map +1 -1
  365. package/_esm/analyzer/swap/wrappedDeposit.js +46 -36
  366. package/_esm/analyzer/swap/wrappedDeposit.js.map +1 -1
  367. package/_esm/analyzer/swap/wrappedWithdrawal.js +48 -36
  368. package/_esm/analyzer/swap/wrappedWithdrawal.js.map +1 -1
  369. package/_esm/analyzer/tests.js +3 -1
  370. package/_esm/analyzer/tests.js.map +1 -1
  371. package/_esm/analyzer/transfer/analyze.js +58 -42
  372. package/_esm/analyzer/transfer/analyze.js.map +1 -1
  373. package/_esm/analyzer/transfer/index.js +2 -1
  374. package/_esm/analyzer/transfer/index.js.map +1 -1
  375. package/_esm/analyzer/types.js +25 -1
  376. package/_esm/analyzer/types.js.map +1 -1
  377. package/_esm/analyzer/utils/createTransfersByTransaction.js +84 -50
  378. package/_esm/analyzer/utils/createTransfersByTransaction.js.map +1 -1
  379. package/_esm/chain/definitions/arbitrumOne.js +152 -0
  380. package/_esm/chain/definitions/arbitrumOne.js.map +1 -0
  381. package/_esm/chain/definitions/astar.js +98 -0
  382. package/_esm/chain/definitions/astar.js.map +1 -0
  383. package/_esm/chain/definitions/avalancheC.js +143 -0
  384. package/_esm/chain/definitions/avalancheC.js.map +1 -0
  385. package/_esm/chain/definitions/base.js +138 -0
  386. package/_esm/chain/definitions/base.js.map +1 -0
  387. package/_esm/chain/definitions/bsc.js +265 -0
  388. package/_esm/chain/definitions/bsc.js.map +1 -0
  389. package/_esm/chain/definitions/ethereum.js +380 -0
  390. package/_esm/chain/definitions/ethereum.js.map +1 -0
  391. package/_esm/chain/definitions/fantom.js +138 -0
  392. package/_esm/chain/definitions/fantom.js.map +1 -0
  393. package/_esm/chain/definitions/linea.js +77 -0
  394. package/_esm/chain/definitions/linea.js.map +1 -0
  395. package/_esm/chain/definitions/mantaPacific.js +73 -0
  396. package/_esm/chain/definitions/mantaPacific.js.map +1 -0
  397. package/_esm/chain/definitions/mantle.js +84 -0
  398. package/_esm/chain/definitions/mantle.js.map +1 -0
  399. package/_esm/chain/definitions/metis.js +67 -0
  400. package/_esm/chain/definitions/metis.js.map +1 -0
  401. package/_esm/chain/definitions/moonbeam.js +107 -0
  402. package/_esm/chain/definitions/moonbeam.js.map +1 -0
  403. package/_esm/chain/definitions/moonriver.js +88 -0
  404. package/_esm/chain/definitions/moonriver.js.map +1 -0
  405. package/_esm/chain/definitions/oasys.js +61 -0
  406. package/_esm/chain/definitions/oasys.js.map +1 -0
  407. package/_esm/chain/definitions/optimism.js +166 -0
  408. package/_esm/chain/definitions/optimism.js.map +1 -0
  409. package/_esm/chain/definitions/polygonPos.js +162 -0
  410. package/_esm/chain/definitions/polygonPos.js.map +1 -0
  411. package/_esm/chain/definitions/ronin.js +58 -0
  412. package/_esm/chain/definitions/ronin.js.map +1 -0
  413. package/_esm/chain/definitions/tests.js.map +1 -0
  414. package/_esm/chain/index.js +18 -0
  415. package/_esm/chain/index.js.map +1 -0
  416. package/_esm/chain/types/chain.js.map +1 -0
  417. package/_esm/chain/types/rpc.js.map +1 -0
  418. package/_esm/client/create.js +227 -0
  419. package/_esm/client/create.js.map +1 -0
  420. package/_esm/client/index.js +2 -0
  421. package/_esm/client/index.js.map +1 -0
  422. package/_esm/client/rpcManager.js +95 -0
  423. package/_esm/client/rpcManager.js.map +1 -0
  424. package/_esm/client/types.js.map +1 -0
  425. package/_esm/explorer/blockscout/client.js +74 -0
  426. package/_esm/explorer/blockscout/client.js.map +1 -0
  427. package/_esm/explorer/blockscout/create.js +132 -0
  428. package/_esm/explorer/blockscout/create.js.map +1 -0
  429. package/_esm/explorer/blockscout/getBlockNumberByTimestamp.js +19 -0
  430. package/_esm/explorer/blockscout/getBlockNumberByTimestamp.js.map +1 -0
  431. package/_esm/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.js +22 -0
  432. package/_esm/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.js.map +1 -0
  433. package/_esm/explorer/blockscout/getContractSourceCodeForAVerifiedContract.js +32 -0
  434. package/_esm/explorer/blockscout/getContractSourceCodeForAVerifiedContract.js.map +1 -0
  435. package/_esm/explorer/blockscout/getEventLogsByAddressAndTopic.js +36 -0
  436. package/_esm/explorer/blockscout/getEventLogsByAddressAndTopic.js.map +1 -0
  437. package/_esm/explorer/blockscout/getInternalTransactionsByAddressHash.js +71 -0
  438. package/_esm/explorer/blockscout/getInternalTransactionsByAddressHash.js.map +1 -0
  439. package/_esm/explorer/blockscout/getInternalTransactionsByTransactionHash.js +62 -0
  440. package/_esm/explorer/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -0
  441. package/_esm/explorer/blockscout/getTokenTransferEventsByAddress.js +44 -0
  442. package/_esm/explorer/blockscout/getTokenTransferEventsByAddress.js.map +1 -0
  443. package/_esm/explorer/blockscout/getTransactionsByAddress.js +43 -0
  444. package/_esm/explorer/blockscout/getTransactionsByAddress.js.map +1 -0
  445. package/_esm/explorer/etherscan/client.js +91 -0
  446. package/_esm/explorer/etherscan/client.js.map +1 -0
  447. package/_esm/explorer/etherscan/create.js +179 -0
  448. package/_esm/explorer/etherscan/create.js.map +1 -0
  449. package/_esm/explorer/etherscan/getBlockNumberByTimestamp.js +17 -0
  450. package/_esm/explorer/etherscan/getBlockNumberByTimestamp.js.map +1 -0
  451. package/_esm/explorer/etherscan/getContractCreatorAndCreationTxHash.js +22 -0
  452. package/_esm/explorer/etherscan/getContractCreatorAndCreationTxHash.js.map +1 -0
  453. package/_esm/explorer/etherscan/getContractSourceCodeForVerifiedContract.js +32 -0
  454. package/_esm/explorer/etherscan/getContractSourceCodeForVerifiedContract.js.map +1 -0
  455. package/_esm/explorer/etherscan/getEventLogsByAddressFilteredByTopics.js +36 -0
  456. package/_esm/explorer/etherscan/getEventLogsByAddressFilteredByTopics.js.map +1 -0
  457. package/_esm/explorer/etherscan/getInternalTransactionsByTransactionHash.js +60 -0
  458. package/_esm/explorer/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -0
  459. package/_esm/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.js +45 -0
  460. package/_esm/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.js.map +1 -0
  461. package/_esm/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.js +43 -0
  462. package/_esm/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.js.map +1 -0
  463. package/_esm/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.js +43 -0
  464. package/_esm/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.js.map +1 -0
  465. package/_esm/explorer/etherscan/getListOfInternalTransactionsByAddress.js +70 -0
  466. package/_esm/explorer/etherscan/getListOfInternalTransactionsByAddress.js.map +1 -0
  467. package/_esm/explorer/etherscan/getListOfNormalTransactionsByAddress.js +43 -0
  468. package/_esm/explorer/etherscan/getListOfNormalTransactionsByAddress.js.map +1 -0
  469. package/_esm/explorer/index.js +4 -0
  470. package/_esm/explorer/index.js.map +1 -0
  471. package/_esm/explorer/noApiExplorer/create.js +29 -0
  472. package/_esm/explorer/noApiExplorer/create.js.map +1 -0
  473. package/_esm/explorer/types.js.map +1 -0
  474. package/_esm/index.js +10 -9
  475. package/_esm/index.js.map +1 -1
  476. package/_esm/logic/analyzeTransaction/createActions/fail.js +25 -0
  477. package/_esm/logic/analyzeTransaction/createActions/fail.js.map +1 -0
  478. package/_esm/logic/analyzeTransaction/createActions/gas.js +35 -0
  479. package/_esm/logic/analyzeTransaction/createActions/gas.js.map +1 -0
  480. package/_esm/logic/analyzeTransaction/createActions/general.js +15 -0
  481. package/_esm/logic/analyzeTransaction/createActions/general.js.map +1 -0
  482. package/_esm/logic/analyzeTransaction/createActions/index.js +63 -0
  483. package/_esm/logic/analyzeTransaction/createActions/index.js.map +1 -0
  484. package/_esm/logic/analyzeTransaction/createActions/spam.js +135 -0
  485. package/_esm/logic/analyzeTransaction/createActions/spam.js.map +1 -0
  486. package/_esm/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js +23 -0
  487. package/_esm/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.js.map +1 -0
  488. package/_esm/logic/analyzeTransaction/createActions/utils/createDirection.js +14 -0
  489. package/_esm/logic/analyzeTransaction/createActions/utils/createDirection.js.map +1 -0
  490. package/_esm/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js +130 -0
  491. package/_esm/logic/analyzeTransaction/createActions/utils/createTokenTransfers.js.map +1 -0
  492. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeInput.js +93 -0
  493. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeInput.js.map +1 -0
  494. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js +91 -0
  495. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -0
  496. package/_esm/logic/analyzeTransaction/decodeTransaction/index.js +64 -0
  497. package/_esm/logic/analyzeTransaction/decodeTransaction/index.js.map +1 -0
  498. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.js +18 -0
  499. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.js.map +1 -0
  500. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.js +11 -0
  501. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.js.map +1 -0
  502. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.js +18 -0
  503. package/_esm/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.js.map +1 -0
  504. package/_esm/logic/analyzeTransaction/getDataFromDatasource.js +57 -0
  505. package/_esm/logic/analyzeTransaction/getDataFromDatasource.js.map +1 -0
  506. package/_esm/logic/analyzeTransaction/index.js +28 -0
  507. package/_esm/logic/analyzeTransaction/index.js.map +1 -0
  508. package/_esm/logic/getAddressIndexData.js +44 -0
  509. package/_esm/logic/getAddressIndexData.js.map +1 -0
  510. package/_esm/logic/getTransactionDetail/decodeTokenTransferLogs.js +393 -0
  511. package/_esm/logic/getTransactionDetail/decodeTokenTransferLogs.js.map +1 -0
  512. package/_esm/logic/getTransactionDetail/index.js +49 -0
  513. package/_esm/logic/getTransactionDetail/index.js.map +1 -0
  514. package/_esm/tests.js +6 -1
  515. package/_esm/tests.js.map +1 -1
  516. package/_esm/types/accountId.js +2 -0
  517. package/_esm/types/accountId.js.map +1 -0
  518. package/_esm/types/address.js +4 -24
  519. package/_esm/types/address.js.map +1 -1
  520. package/_esm/types/analyzeDataSource.js +2 -0
  521. package/_esm/types/analyzeDataSource.js.map +1 -0
  522. package/_esm/types/erc1155.js +15 -1
  523. package/_esm/types/erc1155.js.map +1 -1
  524. package/_esm/types/erc20.js +20 -1
  525. package/_esm/types/erc20.js.map +1 -1
  526. package/_esm/types/erc721.js +14 -1
  527. package/_esm/types/erc721.js.map +1 -1
  528. package/_esm/types/index.js +10 -1
  529. package/_esm/types/index.js.map +1 -1
  530. package/_esm/types/internalTransaction.js +15 -1
  531. package/_esm/types/internalTransaction.js.map +1 -1
  532. package/_esm/types/log.js +11 -34
  533. package/_esm/types/log.js.map +1 -1
  534. package/_esm/types/primitive.js +16 -0
  535. package/_esm/types/primitive.js.map +1 -0
  536. package/_esm/types/source.js +2 -0
  537. package/_esm/types/source.js.map +1 -0
  538. package/_esm/types/transactionDecoded.js +24 -0
  539. package/_esm/types/transactionDecoded.js.map +1 -0
  540. package/_esm/types/transactionDetail.js +27 -0
  541. package/_esm/types/transactionDetail.js.map +1 -0
  542. package/_esm/types/transactionIndex.js +7 -0
  543. package/_esm/types/transactionIndex.js.map +1 -0
  544. package/_esm/utils/create.js +2 -4
  545. package/_esm/utils/create.js.map +1 -1
  546. package/_esm/utils/createInternalTransactionId.js +10 -0
  547. package/_esm/utils/createInternalTransactionId.js.map +1 -0
  548. package/_esm/utils/index.js +1 -1
  549. package/_esm/utils/index.js.map +1 -1
  550. package/_types/analyzer/analyze.d.ts +0 -12
  551. package/_types/analyzer/analyze.d.ts.map +1 -1
  552. package/_types/analyzer/analyzer.d.ts +0 -11
  553. package/_types/analyzer/analyzer.d.ts.map +1 -1
  554. package/_types/analyzer/axieMarketplace/analyze.d.ts +0 -10
  555. package/_types/analyzer/axieMarketplace/analyze.d.ts.map +1 -1
  556. package/_types/analyzer/axieMarketplace/index.d.ts +0 -1
  557. package/_types/analyzer/axieMarketplace/index.d.ts.map +1 -1
  558. package/_types/analyzer/fail/analyze.d.ts +0 -10
  559. package/_types/analyzer/fail/analyze.d.ts.map +1 -1
  560. package/_types/analyzer/fail/index.d.ts +0 -1
  561. package/_types/analyzer/fail/index.d.ts.map +1 -1
  562. package/_types/analyzer/gasFee/analyze.d.ts +0 -10
  563. package/_types/analyzer/gasFee/analyze.d.ts.map +1 -1
  564. package/_types/analyzer/gasFee/index.d.ts +0 -1
  565. package/_types/analyzer/gasFee/index.d.ts.map +1 -1
  566. package/_types/analyzer/index.d.ts +0 -11
  567. package/_types/analyzer/index.d.ts.map +1 -1
  568. package/_types/analyzer/json/analyze.d.ts +0 -11
  569. package/_types/analyzer/json/analyze.d.ts.map +1 -1
  570. package/_types/analyzer/json/components/comment.d.ts +0 -19
  571. package/_types/analyzer/json/components/comment.d.ts.map +1 -1
  572. package/_types/analyzer/json/components/erc1155.d.ts +0 -31
  573. package/_types/analyzer/json/components/erc1155.d.ts.map +1 -1
  574. package/_types/analyzer/json/components/erc1155Raw.d.ts +0 -17
  575. package/_types/analyzer/json/components/erc1155Raw.d.ts.map +1 -1
  576. package/_types/analyzer/json/components/erc20.d.ts +0 -31
  577. package/_types/analyzer/json/components/erc20.d.ts.map +1 -1
  578. package/_types/analyzer/json/components/erc20Raw.d.ts +0 -17
  579. package/_types/analyzer/json/components/erc20Raw.d.ts.map +1 -1
  580. package/_types/analyzer/json/components/erc721.d.ts +0 -31
  581. package/_types/analyzer/json/components/erc721.d.ts.map +1 -1
  582. package/_types/analyzer/json/components/erc721Raw.d.ts +0 -17
  583. package/_types/analyzer/json/components/erc721Raw.d.ts.map +1 -1
  584. package/_types/analyzer/json/components/id.d.ts +0 -19
  585. package/_types/analyzer/json/components/id.d.ts.map +1 -1
  586. package/_types/analyzer/json/components/internal.d.ts +0 -31
  587. package/_types/analyzer/json/components/internal.d.ts.map +1 -1
  588. package/_types/analyzer/json/components/internalRaw.d.ts +0 -17
  589. package/_types/analyzer/json/components/internalRaw.d.ts.map +1 -1
  590. package/_types/analyzer/json/components/logArgument.d.ts +0 -31
  591. package/_types/analyzer/json/components/logArgument.d.ts.map +1 -1
  592. package/_types/analyzer/json/components/logArgumentRaw.d.ts +0 -17
  593. package/_types/analyzer/json/components/logArgumentRaw.d.ts.map +1 -1
  594. package/_types/analyzer/json/components/targetAsset.d.ts +0 -19
  595. package/_types/analyzer/json/components/targetAsset.d.ts.map +1 -1
  596. package/_types/analyzer/json/components/transfer.d.ts +0 -19
  597. package/_types/analyzer/json/components/transfer.d.ts.map +1 -1
  598. package/_types/analyzer/json/condition/address.d.ts +0 -17
  599. package/_types/analyzer/json/condition/address.d.ts.map +1 -1
  600. package/_types/analyzer/json/condition/argumentValue.d.ts +0 -17
  601. package/_types/analyzer/json/condition/argumentValue.d.ts.map +1 -1
  602. package/_types/analyzer/json/condition/index.d.ts +0 -3
  603. package/_types/analyzer/json/condition/index.d.ts.map +1 -1
  604. package/_types/analyzer/json/condition/value.d.ts +0 -17
  605. package/_types/analyzer/json/condition/value.d.ts.map +1 -1
  606. package/_types/analyzer/json/generator.d.ts +0 -19
  607. package/_types/analyzer/json/generator.d.ts.map +1 -1
  608. package/_types/analyzer/json/index.d.ts +0 -2
  609. package/_types/analyzer/json/index.d.ts.map +1 -1
  610. package/_types/analyzer/json/schemas/generator.d.ts +0 -46862
  611. package/_types/analyzer/json/schemas/generator.d.ts.map +1 -1
  612. package/_types/analyzer/json/schemas/index.d.ts +0 -1348
  613. package/_types/analyzer/json/schemas/index.d.ts.map +1 -1
  614. package/_types/analyzer/json/schemas/utils.d.ts +0 -3
  615. package/_types/analyzer/json/schemas/utils.d.ts.map +1 -1
  616. package/_types/analyzer/json/types.d.ts +0 -47
  617. package/_types/analyzer/json/types.d.ts.map +1 -1
  618. package/_types/analyzer/parsers/transfer.d.ts +0 -45
  619. package/_types/analyzer/parsers/transfer.d.ts.map +1 -1
  620. package/_types/analyzer/seaport/analyze.d.ts +0 -10
  621. package/_types/analyzer/seaport/analyze.d.ts.map +1 -1
  622. package/_types/analyzer/seaport/index.d.ts +0 -1
  623. package/_types/analyzer/seaport/index.d.ts.map +1 -1
  624. package/_types/analyzer/seaport/orderFulfilled.d.ts +0 -138
  625. package/_types/analyzer/seaport/orderFulfilled.d.ts.map +1 -1
  626. package/_types/analyzer/spam/analyze.d.ts +0 -10
  627. package/_types/analyzer/spam/analyze.d.ts.map +1 -1
  628. package/_types/analyzer/spam/index.d.ts +0 -1
  629. package/_types/analyzer/spam/index.d.ts.map +1 -1
  630. package/_types/analyzer/swap/analyze.d.ts +0 -10
  631. package/_types/analyzer/swap/analyze.d.ts.map +1 -1
  632. package/_types/analyzer/swap/index.d.ts +0 -1
  633. package/_types/analyzer/swap/index.d.ts.map +1 -1
  634. package/_types/analyzer/swap/traderJoeLBPairSwap.d.ts +0 -107
  635. package/_types/analyzer/swap/traderJoeLBPairSwap.d.ts.map +1 -1
  636. package/_types/analyzer/swap/univ2PairSwap.d.ts +0 -83
  637. package/_types/analyzer/swap/univ2PairSwap.d.ts.map +1 -1
  638. package/_types/analyzer/swap/univ3PoolSwap.d.ts +0 -95
  639. package/_types/analyzer/swap/univ3PoolSwap.d.ts.map +1 -1
  640. package/_types/analyzer/swap/wrappedDeposit.d.ts +0 -35
  641. package/_types/analyzer/swap/wrappedDeposit.d.ts.map +1 -1
  642. package/_types/analyzer/swap/wrappedWithdrawal.d.ts +0 -35
  643. package/_types/analyzer/swap/wrappedWithdrawal.d.ts.map +1 -1
  644. package/_types/analyzer/tests.d.ts +0 -1
  645. package/_types/analyzer/tests.d.ts.map +1 -1
  646. package/_types/analyzer/transfer/analyze.d.ts +0 -10
  647. package/_types/analyzer/transfer/analyze.d.ts.map +1 -1
  648. package/_types/analyzer/transfer/index.d.ts +0 -1
  649. package/_types/analyzer/transfer/index.d.ts.map +1 -1
  650. package/_types/analyzer/types.d.ts +0 -16
  651. package/_types/analyzer/types.d.ts.map +1 -1
  652. package/_types/analyzer/utils/createTransfersByTransaction.d.ts +0 -63
  653. package/_types/analyzer/utils/createTransfersByTransaction.d.ts.map +1 -1
  654. package/_types/chain/definitions/arbitrumOne.d.ts +18 -0
  655. package/_types/chain/definitions/arbitrumOne.d.ts.map +1 -0
  656. package/_types/chain/definitions/astar.d.ts +14 -0
  657. package/_types/chain/definitions/astar.d.ts.map +1 -0
  658. package/_types/chain/definitions/avalancheC.d.ts +18 -0
  659. package/_types/chain/definitions/avalancheC.d.ts.map +1 -0
  660. package/_types/chain/definitions/base.d.ts +18 -0
  661. package/_types/chain/definitions/base.d.ts.map +1 -0
  662. package/_types/chain/definitions/bsc.d.ts +18 -0
  663. package/_types/chain/definitions/bsc.d.ts.map +1 -0
  664. package/_types/chain/definitions/ethereum.d.ts +18 -0
  665. package/_types/chain/definitions/ethereum.d.ts.map +1 -0
  666. package/_types/chain/definitions/fantom.d.ts +18 -0
  667. package/_types/chain/definitions/fantom.d.ts.map +1 -0
  668. package/_types/chain/definitions/linea.d.ts +18 -0
  669. package/_types/chain/definitions/linea.d.ts.map +1 -0
  670. package/_types/chain/definitions/mantaPacific.d.ts +14 -0
  671. package/_types/chain/definitions/mantaPacific.d.ts.map +1 -0
  672. package/_types/chain/definitions/mantle.d.ts +18 -0
  673. package/_types/chain/definitions/mantle.d.ts.map +1 -0
  674. package/_types/chain/definitions/metis.d.ts +14 -0
  675. package/_types/chain/definitions/metis.d.ts.map +1 -0
  676. package/_types/chain/definitions/moonbeam.d.ts +18 -0
  677. package/_types/chain/definitions/moonbeam.d.ts.map +1 -0
  678. package/_types/chain/definitions/moonriver.d.ts +18 -0
  679. package/_types/chain/definitions/moonriver.d.ts.map +1 -0
  680. package/_types/chain/definitions/oasys.d.ts +14 -0
  681. package/_types/chain/definitions/oasys.d.ts.map +1 -0
  682. package/_types/chain/definitions/optimism.d.ts +18 -0
  683. package/_types/chain/definitions/optimism.d.ts.map +1 -0
  684. package/_types/chain/definitions/polygonPos.d.ts +18 -0
  685. package/_types/chain/definitions/polygonPos.d.ts.map +1 -0
  686. package/_types/chain/definitions/ronin.d.ts +14 -0
  687. package/_types/chain/definitions/ronin.d.ts.map +1 -0
  688. package/_types/chain/definitions/tests.d.ts.map +1 -0
  689. package/_types/chain/index.d.ts +20 -0
  690. package/_types/chain/index.d.ts.map +1 -0
  691. package/_types/chain/types/chain.d.ts +24 -0
  692. package/_types/chain/types/chain.d.ts.map +1 -0
  693. package/_types/chain/types/rpc.d.ts +6 -0
  694. package/_types/chain/types/rpc.d.ts.map +1 -0
  695. package/_types/client/create.d.ts +10 -0
  696. package/_types/client/create.d.ts.map +1 -0
  697. package/_types/client/index.d.ts +3 -0
  698. package/_types/client/index.d.ts.map +1 -0
  699. package/_types/client/rpcManager.d.ts +20 -0
  700. package/_types/client/rpcManager.d.ts.map +1 -0
  701. package/_types/client/types.d.ts +27 -0
  702. package/_types/client/types.d.ts.map +1 -0
  703. package/_types/explorer/blockscout/client.d.ts +10 -0
  704. package/_types/explorer/blockscout/client.d.ts.map +1 -0
  705. package/_types/explorer/blockscout/create.d.ts +9 -0
  706. package/_types/explorer/blockscout/create.d.ts.map +1 -0
  707. package/_types/explorer/blockscout/getBlockNumberByTimestamp.d.ts +11 -0
  708. package/_types/explorer/blockscout/getBlockNumberByTimestamp.d.ts.map +1 -0
  709. package/_types/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.d.ts +11 -0
  710. package/_types/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.d.ts.map +1 -0
  711. package/_types/explorer/blockscout/getContractSourceCodeForAVerifiedContract.d.ts +11 -0
  712. package/_types/explorer/blockscout/getContractSourceCodeForAVerifiedContract.d.ts.map +1 -0
  713. package/_types/explorer/blockscout/getEventLogsByAddressAndTopic.d.ts +14 -0
  714. package/_types/explorer/blockscout/getEventLogsByAddressAndTopic.d.ts.map +1 -0
  715. package/_types/explorer/blockscout/getInternalTransactionsByAddressHash.d.ts +16 -0
  716. package/_types/explorer/blockscout/getInternalTransactionsByAddressHash.d.ts.map +1 -0
  717. package/_types/explorer/blockscout/getInternalTransactionsByTransactionHash.d.ts +11 -0
  718. package/_types/explorer/blockscout/getInternalTransactionsByTransactionHash.d.ts.map +1 -0
  719. package/_types/explorer/blockscout/getTokenTransferEventsByAddress.d.ts +15 -0
  720. package/_types/explorer/blockscout/getTokenTransferEventsByAddress.d.ts.map +1 -0
  721. package/_types/explorer/blockscout/getTransactionsByAddress.d.ts +16 -0
  722. package/_types/explorer/blockscout/getTransactionsByAddress.d.ts.map +1 -0
  723. package/_types/explorer/etherscan/client.d.ts +17 -0
  724. package/_types/explorer/etherscan/client.d.ts.map +1 -0
  725. package/_types/explorer/etherscan/create.d.ts +12 -0
  726. package/_types/explorer/etherscan/create.d.ts.map +1 -0
  727. package/_types/explorer/etherscan/getBlockNumberByTimestamp.d.ts +11 -0
  728. package/_types/explorer/etherscan/getBlockNumberByTimestamp.d.ts.map +1 -0
  729. package/_types/explorer/etherscan/getContractCreatorAndCreationTxHash.d.ts +11 -0
  730. package/_types/explorer/etherscan/getContractCreatorAndCreationTxHash.d.ts.map +1 -0
  731. package/_types/explorer/etherscan/getContractSourceCodeForVerifiedContract.d.ts +11 -0
  732. package/_types/explorer/etherscan/getContractSourceCodeForVerifiedContract.d.ts.map +1 -0
  733. package/_types/explorer/etherscan/getEventLogsByAddressFilteredByTopics.d.ts +15 -0
  734. package/_types/explorer/etherscan/getEventLogsByAddressFilteredByTopics.d.ts.map +1 -0
  735. package/_types/explorer/etherscan/getInternalTransactionsByTransactionHash.d.ts +11 -0
  736. package/_types/explorer/etherscan/getInternalTransactionsByTransactionHash.d.ts.map +1 -0
  737. package/_types/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.d.ts +15 -0
  738. package/_types/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.d.ts.map +1 -0
  739. package/_types/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.d.ts +15 -0
  740. package/_types/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.d.ts.map +1 -0
  741. package/_types/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.d.ts +15 -0
  742. package/_types/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.d.ts.map +1 -0
  743. package/_types/explorer/etherscan/getListOfInternalTransactionsByAddress.d.ts +16 -0
  744. package/_types/explorer/etherscan/getListOfInternalTransactionsByAddress.d.ts.map +1 -0
  745. package/_types/explorer/etherscan/getListOfNormalTransactionsByAddress.d.ts +16 -0
  746. package/_types/explorer/etherscan/getListOfNormalTransactionsByAddress.d.ts.map +1 -0
  747. package/_types/explorer/index.d.ts +5 -0
  748. package/_types/explorer/index.d.ts.map +1 -0
  749. package/_types/explorer/noApiExplorer/create.d.ts +8 -0
  750. package/_types/explorer/noApiExplorer/create.d.ts.map +1 -0
  751. package/_types/explorer/types.d.ts +64 -0
  752. package/_types/explorer/types.d.ts.map +1 -0
  753. package/_types/index.d.ts +13 -16
  754. package/_types/index.d.ts.map +1 -1
  755. package/_types/logic/analyzeTransaction/createActions/fail.d.ts +10 -0
  756. package/_types/logic/analyzeTransaction/createActions/fail.d.ts.map +1 -0
  757. package/_types/logic/analyzeTransaction/createActions/gas.d.ts +12 -0
  758. package/_types/logic/analyzeTransaction/createActions/gas.d.ts.map +1 -0
  759. package/_types/logic/analyzeTransaction/createActions/general.d.ts +11 -0
  760. package/_types/logic/analyzeTransaction/createActions/general.d.ts.map +1 -0
  761. package/_types/logic/analyzeTransaction/createActions/index.d.ts +12 -0
  762. package/_types/logic/analyzeTransaction/createActions/index.d.ts.map +1 -0
  763. package/_types/logic/analyzeTransaction/createActions/spam.d.ts +11 -0
  764. package/_types/logic/analyzeTransaction/createActions/spam.d.ts.map +1 -0
  765. package/_types/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.d.ts +16 -0
  766. package/_types/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.d.ts.map +1 -0
  767. package/_types/logic/analyzeTransaction/createActions/utils/createDirection.d.ts +8 -0
  768. package/_types/logic/analyzeTransaction/createActions/utils/createDirection.d.ts.map +1 -0
  769. package/_types/logic/analyzeTransaction/createActions/utils/createTokenTransfers.d.ts +11 -0
  770. package/_types/logic/analyzeTransaction/createActions/utils/createTokenTransfers.d.ts.map +1 -0
  771. package/_types/logic/analyzeTransaction/decodeTransaction/decodeInput.d.ts +10 -0
  772. package/_types/logic/analyzeTransaction/decodeTransaction/decodeInput.d.ts.map +1 -0
  773. package/_types/logic/analyzeTransaction/decodeTransaction/decodeLog.d.ts +10 -0
  774. package/_types/logic/analyzeTransaction/decodeTransaction/decodeLog.d.ts.map +1 -0
  775. package/_types/logic/analyzeTransaction/decodeTransaction/index.d.ts +20 -0
  776. package/_types/logic/analyzeTransaction/decodeTransaction/index.d.ts.map +1 -0
  777. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.d.ts +11 -0
  778. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.d.ts.map +1 -0
  779. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.d.ts +9 -0
  780. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.d.ts.map +1 -0
  781. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.d.ts +11 -0
  782. package/_types/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.d.ts.map +1 -0
  783. package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts +24 -0
  784. package/_types/logic/analyzeTransaction/getDataFromDatasource.d.ts.map +1 -0
  785. package/_types/logic/analyzeTransaction/index.d.ts +18 -0
  786. package/_types/logic/analyzeTransaction/index.d.ts.map +1 -0
  787. package/_types/logic/getAddressIndexData.d.ts +17 -0
  788. package/_types/logic/getAddressIndexData.d.ts.map +1 -0
  789. package/_types/logic/getTransactionDetail/decodeTokenTransferLogs.d.ts +11 -0
  790. package/_types/logic/getTransactionDetail/decodeTokenTransferLogs.d.ts.map +1 -0
  791. package/_types/logic/getTransactionDetail/index.d.ts +12 -0
  792. package/_types/logic/getTransactionDetail/index.d.ts.map +1 -0
  793. package/_types/tests.d.ts +6 -1
  794. package/_types/tests.d.ts.map +1 -1
  795. package/_types/types/accountId.d.ts +4 -0
  796. package/_types/types/accountId.d.ts.map +1 -0
  797. package/_types/types/address.d.ts +7 -34
  798. package/_types/types/address.d.ts.map +1 -1
  799. package/_types/types/analyzeDataSource.d.ts +40 -0
  800. package/_types/types/analyzeDataSource.d.ts.map +1 -0
  801. package/_types/types/erc1155.d.ts +87 -14
  802. package/_types/types/erc1155.d.ts.map +1 -1
  803. package/_types/types/erc20.d.ts +251 -18
  804. package/_types/types/erc20.d.ts.map +1 -1
  805. package/_types/types/erc721.d.ts +81 -16
  806. package/_types/types/erc721.d.ts.map +1 -1
  807. package/_types/types/hex.d.ts +1 -1
  808. package/_types/types/hex.d.ts.map +1 -1
  809. package/_types/types/index.d.ts +22 -9
  810. package/_types/types/index.d.ts.map +1 -1
  811. package/_types/types/internalTransaction.d.ts +60 -17
  812. package/_types/types/internalTransaction.d.ts.map +1 -1
  813. package/_types/types/log.d.ts +23 -90
  814. package/_types/types/log.d.ts.map +1 -1
  815. package/_types/types/primitive.d.ts +6 -0
  816. package/_types/types/primitive.d.ts.map +1 -0
  817. package/_types/types/source.d.ts +4 -0
  818. package/_types/types/source.d.ts.map +1 -0
  819. package/_types/types/transactionDecoded.d.ts +759 -0
  820. package/_types/types/transactionDecoded.d.ts.map +1 -0
  821. package/_types/types/transactionDetail.d.ts +268 -0
  822. package/_types/types/transactionDetail.d.ts.map +1 -0
  823. package/_types/types/transactionIndex.d.ts +161 -0
  824. package/_types/types/transactionIndex.d.ts.map +1 -0
  825. package/_types/utils/create.d.ts +3 -5
  826. package/_types/utils/create.d.ts.map +1 -1
  827. package/_types/utils/createInternalTransactionId.d.ts +3 -0
  828. package/_types/utils/createInternalTransactionId.d.ts.map +1 -0
  829. package/_types/utils/index.d.ts +1 -1
  830. package/_types/utils/index.d.ts.map +1 -1
  831. package/_types/utils/types.d.ts.map +1 -1
  832. package/analyzer/analyze.ts +82 -82
  833. package/analyzer/analyzer.ts +4 -4
  834. package/analyzer/axieMarketplace/analyze.ts +237 -237
  835. package/analyzer/axieMarketplace/index.ts +1 -1
  836. package/analyzer/fail/analyze.ts +46 -46
  837. package/analyzer/fail/index.ts +1 -1
  838. package/analyzer/gasFee/analyze.ts +67 -67
  839. package/analyzer/gasFee/index.ts +1 -1
  840. package/analyzer/index.ts +11 -11
  841. package/analyzer/json/analyze.ts +511 -513
  842. package/analyzer/json/components/comment.ts +65 -63
  843. package/analyzer/json/components/erc1155.ts +128 -128
  844. package/analyzer/json/components/erc1155Raw.ts +44 -44
  845. package/analyzer/json/components/erc20.ts +125 -125
  846. package/analyzer/json/components/erc20Raw.ts +41 -41
  847. package/analyzer/json/components/erc721.ts +112 -113
  848. package/analyzer/json/components/erc721Raw.ts +44 -44
  849. package/analyzer/json/components/id.ts +65 -63
  850. package/analyzer/json/components/internal.ts +113 -113
  851. package/analyzer/json/components/internalRaw.ts +37 -37
  852. package/analyzer/json/components/logArgument.ts +108 -109
  853. package/analyzer/json/components/logArgumentRaw.ts +55 -55
  854. package/analyzer/json/components/targetAsset.ts +137 -137
  855. package/analyzer/json/components/transfer.ts +557 -556
  856. package/analyzer/json/condition/address.ts +122 -122
  857. package/analyzer/json/condition/argumentValue.ts +41 -41
  858. package/analyzer/json/condition/index.ts +3 -3
  859. package/analyzer/json/condition/value.ts +76 -74
  860. package/analyzer/json/generator.ts +285 -285
  861. package/analyzer/json/index.ts +2 -2
  862. package/analyzer/json/schemas/generator.ts +426 -422
  863. package/analyzer/json/schemas/index.ts +363 -363
  864. package/analyzer/json/schemas/utils.ts +10 -10
  865. package/analyzer/json/types.ts +136 -136
  866. package/analyzer/parsers/transfer.ts +272 -272
  867. package/analyzer/seaport/analyze.ts +930 -931
  868. package/analyzer/seaport/index.ts +1 -1
  869. package/analyzer/seaport/orderFulfilled.ts +125 -125
  870. package/analyzer/spam/analyze.ts +180 -180
  871. package/analyzer/spam/index.ts +1 -1
  872. package/analyzer/swap/analyze.ts +905 -905
  873. package/analyzer/swap/index.ts +1 -1
  874. package/analyzer/swap/traderJoeLBPairSwap.ts +86 -87
  875. package/analyzer/swap/univ2PairSwap.ts +72 -72
  876. package/analyzer/swap/univ3PoolSwap.ts +78 -78
  877. package/analyzer/swap/wrappedDeposit.ts +45 -45
  878. package/analyzer/swap/wrappedWithdrawal.ts +47 -47
  879. package/analyzer/tests.ts +2 -2
  880. package/analyzer/transfer/analyze.ts +57 -57
  881. package/analyzer/transfer/index.ts +1 -1
  882. package/analyzer/types.ts +24 -24
  883. package/analyzer/utils/createTransfersByTransaction.ts +83 -83
  884. package/chain/.DS_Store +0 -0
  885. package/chain/definitions/arbitrumOne.ts +176 -0
  886. package/chain/definitions/astar.ts +113 -0
  887. package/chain/definitions/avalancheC.ts +166 -0
  888. package/chain/definitions/base.ts +161 -0
  889. package/chain/definitions/bsc.ts +288 -0
  890. package/chain/definitions/ethereum.ts +403 -0
  891. package/chain/definitions/fantom.ts +161 -0
  892. package/chain/definitions/linea.ts +100 -0
  893. package/chain/definitions/mantaPacific.ts +88 -0
  894. package/chain/definitions/mantle.ts +106 -0
  895. package/chain/definitions/metis.ts +81 -0
  896. package/chain/definitions/moonbeam.ts +130 -0
  897. package/chain/definitions/moonriver.ts +111 -0
  898. package/chain/definitions/oasys.ts +76 -0
  899. package/chain/definitions/optimism.ts +189 -0
  900. package/chain/definitions/polygonPos.ts +185 -0
  901. package/chain/definitions/ronin.ts +72 -0
  902. package/chain/index.ts +104 -0
  903. package/chain/types/chain.ts +24 -0
  904. package/chain/types/rpc.ts +5 -0
  905. package/client/create.ts +300 -0
  906. package/client/index.ts +2 -0
  907. package/client/rpcManager.ts +140 -0
  908. package/client/types.ts +34 -0
  909. package/explorer/.DS_Store +0 -0
  910. package/explorer/blockscout/client.ts +114 -0
  911. package/explorer/blockscout/create.ts +159 -0
  912. package/explorer/blockscout/getBlockNumberByTimestamp.ts +32 -0
  913. package/explorer/blockscout/getContractCreatorAddressHashAndCreationTransactionHash.ts +36 -0
  914. package/explorer/blockscout/getContractSourceCodeForAVerifiedContract.ts +51 -0
  915. package/explorer/blockscout/getEventLogsByAddressAndTopic.ts +54 -0
  916. package/explorer/blockscout/getInternalTransactionsByAddressHash.ts +101 -0
  917. package/explorer/blockscout/getInternalTransactionsByTransactionHash.ts +82 -0
  918. package/explorer/blockscout/getTokenTransferEventsByAddress.ts +68 -0
  919. package/explorer/blockscout/getTransactionsByAddress.ts +64 -0
  920. package/explorer/etherscan/client.ts +144 -0
  921. package/explorer/etherscan/create.ts +216 -0
  922. package/explorer/etherscan/getBlockNumberByTimestamp.ts +30 -0
  923. package/explorer/etherscan/getContractCreatorAndCreationTxHash.ts +36 -0
  924. package/explorer/etherscan/getContractSourceCodeForVerifiedContract.ts +51 -0
  925. package/explorer/etherscan/getEventLogsByAddressFilteredByTopics.ts +57 -0
  926. package/explorer/etherscan/getInternalTransactionsByTransactionHash.ts +73 -0
  927. package/explorer/etherscan/getListOfErc1155TokenTransferEventsByAddress.ts +69 -0
  928. package/explorer/etherscan/getListOfErc20TokenTransferEventsByAddress.ts +65 -0
  929. package/explorer/etherscan/getListOfErc721TokenTransferEventsByAddress.ts +65 -0
  930. package/explorer/etherscan/getListOfInternalTransactionsByAddress.ts +97 -0
  931. package/explorer/etherscan/getListOfNormalTransactionsByAddress.ts +66 -0
  932. package/explorer/index.ts +4 -0
  933. package/explorer/noApiExplorer/create.ts +38 -0
  934. package/explorer/types.ts +74 -0
  935. package/index.ts +47 -44
  936. package/logic/analyzeTransaction/createActions/fail.ts +39 -0
  937. package/logic/analyzeTransaction/createActions/gas.ts +55 -0
  938. package/logic/analyzeTransaction/createActions/general.ts +32 -0
  939. package/logic/analyzeTransaction/createActions/index.ts +87 -0
  940. package/logic/analyzeTransaction/createActions/spam.ts +153 -0
  941. package/logic/analyzeTransaction/createActions/tests/tx-1-0x4a65329939822318857d0953f0e0280fc5967f0d66df3d1282ef45c347d017ce.json +53026 -0
  942. package/logic/analyzeTransaction/createActions/tests/tx-1-0x526908797529f6aef403be2c0b54d08ce3fa0db8dbb6c551505b702a94de0d70.json +24 -0
  943. package/logic/analyzeTransaction/createActions/tests/tx-1-0x9eabff7c9dbe08db80a7eae674068ec0d520be1658d34fc037b05a0ecb25ba1b-from-is-spam.json +48027 -0
  944. package/logic/analyzeTransaction/createActions/tests/tx-1-0x9eabff7c9dbe08db80a7eae674068ec0d520be1658d34fc037b05a0ecb25ba1b-nft-is-spam.json +49026 -0
  945. package/logic/analyzeTransaction/createActions/tests/tx-2020-0xd84c9280b85a4d40980cbc51d523c7c0a747cd684d9802131d044a5d0b5e4035.json +193 -0
  946. package/logic/analyzeTransaction/createActions/utils/containsUrlOrDomain.ts +25 -0
  947. package/logic/analyzeTransaction/createActions/utils/createDirection.ts +27 -0
  948. package/logic/analyzeTransaction/createActions/utils/createTokenTransfers.ts +154 -0
  949. package/logic/analyzeTransaction/decodeTransaction/decodeInput.ts +126 -0
  950. package/logic/analyzeTransaction/decodeTransaction/decodeLog.ts +110 -0
  951. package/logic/analyzeTransaction/decodeTransaction/index.ts +107 -0
  952. package/logic/analyzeTransaction/decodeTransaction/parseToErc1155TokenTransfer.ts +31 -0
  953. package/logic/analyzeTransaction/decodeTransaction/parseToErc20TokenTransfer.ts +21 -0
  954. package/logic/analyzeTransaction/decodeTransaction/parseToErc721TokenTransfer.ts +31 -0
  955. package/logic/analyzeTransaction/getDataFromDatasource.ts +97 -0
  956. package/logic/analyzeTransaction/index.ts +60 -0
  957. package/logic/getAddressIndexData.ts +68 -0
  958. package/logic/getTransactionDetail/data.json +217 -0
  959. package/logic/getTransactionDetail/decodeTokenTransferLogs.ts +487 -0
  960. package/logic/getTransactionDetail/index.ts +79 -0
  961. package/package.json +4 -7
  962. package/tests.ts +11 -1
  963. package/types/accountId.ts +6 -0
  964. package/types/address.ts +4 -27
  965. package/types/analyzeDataSource.ts +41 -0
  966. package/types/erc1155.ts +21 -14
  967. package/types/erc20.ts +27 -20
  968. package/types/erc721.ts +20 -16
  969. package/types/index.ts +45 -12
  970. package/types/internalTransaction.ts +27 -18
  971. package/types/log.ts +22 -63
  972. package/types/primitive.ts +19 -0
  973. package/types/source.ts +7 -0
  974. package/types/transactionDecoded.ts +31 -0
  975. package/types/transactionDetail.ts +34 -0
  976. package/types/transactionIndex.ts +10 -0
  977. package/utils/create.ts +13 -11
  978. package/utils/createInternalTransactionId.ts +14 -0
  979. package/utils/index.ts +0 -2
  980. package/utils/types.ts +0 -1
  981. package/_cjs/apps/index.js +0 -3
  982. package/_cjs/apps/index.js.map +0 -1
  983. package/_cjs/apps/types.js.map +0 -1
  984. package/_cjs/chains/definitions/arbitrumOne.js +0 -116
  985. package/_cjs/chains/definitions/arbitrumOne.js.map +0 -1
  986. package/_cjs/chains/definitions/astar.js +0 -76
  987. package/_cjs/chains/definitions/astar.js.map +0 -1
  988. package/_cjs/chains/definitions/avalancheC.js +0 -98
  989. package/_cjs/chains/definitions/avalancheC.js.map +0 -1
  990. package/_cjs/chains/definitions/base.js +0 -110
  991. package/_cjs/chains/definitions/base.js.map +0 -1
  992. package/_cjs/chains/definitions/bsc.js +0 -170
  993. package/_cjs/chains/definitions/bsc.js.map +0 -1
  994. package/_cjs/chains/definitions/defineChain.js +0 -8
  995. package/_cjs/chains/definitions/defineChain.js.map +0 -1
  996. package/_cjs/chains/definitions/ethereum.js +0 -140
  997. package/_cjs/chains/definitions/ethereum.js.map +0 -1
  998. package/_cjs/chains/definitions/fantom.js +0 -106
  999. package/_cjs/chains/definitions/fantom.js.map +0 -1
  1000. package/_cjs/chains/definitions/index.js +0 -88
  1001. package/_cjs/chains/definitions/index.js.map +0 -1
  1002. package/_cjs/chains/definitions/linea.js +0 -78
  1003. package/_cjs/chains/definitions/linea.js.map +0 -1
  1004. package/_cjs/chains/definitions/mantaPacific.js +0 -77
  1005. package/_cjs/chains/definitions/mantaPacific.js.map +0 -1
  1006. package/_cjs/chains/definitions/mantle.js +0 -59
  1007. package/_cjs/chains/definitions/mantle.js.map +0 -1
  1008. package/_cjs/chains/definitions/metis.js +0 -46
  1009. package/_cjs/chains/definitions/metis.js.map +0 -1
  1010. package/_cjs/chains/definitions/moonbeam.js +0 -100
  1011. package/_cjs/chains/definitions/moonbeam.js.map +0 -1
  1012. package/_cjs/chains/definitions/moonriver.js +0 -77
  1013. package/_cjs/chains/definitions/moonriver.js.map +0 -1
  1014. package/_cjs/chains/definitions/oasys.js +0 -67
  1015. package/_cjs/chains/definitions/oasys.js.map +0 -1
  1016. package/_cjs/chains/definitions/optimism.js +0 -122
  1017. package/_cjs/chains/definitions/optimism.js.map +0 -1
  1018. package/_cjs/chains/definitions/polygonPos.js +0 -92
  1019. package/_cjs/chains/definitions/polygonPos.js.map +0 -1
  1020. package/_cjs/chains/definitions/ronin.js +0 -55
  1021. package/_cjs/chains/definitions/ronin.js.map +0 -1
  1022. package/_cjs/chains/definitions/tests.js.map +0 -1
  1023. package/_cjs/chains/externals/defillama/constants.js +0 -5
  1024. package/_cjs/chains/externals/defillama/constants.js.map +0 -1
  1025. package/_cjs/chains/externals/defillama/getBlockOfTimestamp.js +0 -18
  1026. package/_cjs/chains/externals/defillama/getBlockOfTimestamp.js.map +0 -1
  1027. package/_cjs/chains/externals/defillama/index.js +0 -6
  1028. package/_cjs/chains/externals/defillama/index.js.map +0 -1
  1029. package/_cjs/chains/externals/index.js +0 -6
  1030. package/_cjs/chains/externals/index.js.map +0 -1
  1031. package/_cjs/chains/index.js +0 -74
  1032. package/_cjs/chains/index.js.map +0 -1
  1033. package/_cjs/chains/types/chain.js.map +0 -1
  1034. package/_cjs/chains/types/index.js +0 -3
  1035. package/_cjs/chains/types/index.js.map +0 -1
  1036. package/_cjs/chains/types/rpc.js.map +0 -1
  1037. package/_cjs/clients/definitions/defineClient.js +0 -8
  1038. package/_cjs/clients/definitions/defineClient.js.map +0 -1
  1039. package/_cjs/clients/definitions/index.js +0 -6
  1040. package/_cjs/clients/definitions/index.js.map +0 -1
  1041. package/_cjs/clients/definitions/viemClient.js +0 -21
  1042. package/_cjs/clients/definitions/viemClient.js.map +0 -1
  1043. package/_cjs/clients/externals/viem/createViemInstance.js +0 -134
  1044. package/_cjs/clients/externals/viem/createViemInstance.js.map +0 -1
  1045. package/_cjs/clients/externals/viem/estimateFeesPerGas.js +0 -7
  1046. package/_cjs/clients/externals/viem/estimateFeesPerGas.js.map +0 -1
  1047. package/_cjs/clients/externals/viem/getBalance.js +0 -7
  1048. package/_cjs/clients/externals/viem/getBalance.js.map +0 -1
  1049. package/_cjs/clients/externals/viem/getBlock.js +0 -7
  1050. package/_cjs/clients/externals/viem/getBlock.js.map +0 -1
  1051. package/_cjs/clients/externals/viem/getBlockNumber.js +0 -7
  1052. package/_cjs/clients/externals/viem/getBlockNumber.js.map +0 -1
  1053. package/_cjs/clients/externals/viem/getEventLogs.js +0 -12
  1054. package/_cjs/clients/externals/viem/getEventLogs.js.map +0 -1
  1055. package/_cjs/clients/externals/viem/getTransaction.js +0 -7
  1056. package/_cjs/clients/externals/viem/getTransaction.js.map +0 -1
  1057. package/_cjs/clients/externals/viem/getTransactionCount.js +0 -7
  1058. package/_cjs/clients/externals/viem/getTransactionCount.js.map +0 -1
  1059. package/_cjs/clients/externals/viem/getTransactionReceipt.js +0 -7
  1060. package/_cjs/clients/externals/viem/getTransactionReceipt.js.map +0 -1
  1061. package/_cjs/clients/externals/viem/index.js +0 -26
  1062. package/_cjs/clients/externals/viem/index.js.map +0 -1
  1063. package/_cjs/clients/externals/viem/middleware.js +0 -282
  1064. package/_cjs/clients/externals/viem/middleware.js.map +0 -1
  1065. package/_cjs/clients/externals/viem/multicall.js +0 -7
  1066. package/_cjs/clients/externals/viem/multicall.js.map +0 -1
  1067. package/_cjs/clients/externals/viem/readContract.js +0 -7
  1068. package/_cjs/clients/externals/viem/readContract.js.map +0 -1
  1069. package/_cjs/clients/externals/viem/tests.js +0 -959
  1070. package/_cjs/clients/externals/viem/tests.js.map +0 -1
  1071. package/_cjs/clients/index.js +0 -6
  1072. package/_cjs/clients/index.js.map +0 -1
  1073. package/_cjs/clients/types.js.map +0 -1
  1074. package/_cjs/creates/createEvmAccount.js +0 -11
  1075. package/_cjs/creates/createEvmAccount.js.map +0 -1
  1076. package/_cjs/decoder/decode.js +0 -494
  1077. package/_cjs/decoder/decode.js.map +0 -1
  1078. package/_cjs/decoder/decoder.js +0 -8
  1079. package/_cjs/decoder/decoder.js.map +0 -1
  1080. package/_cjs/decoder/index.js +0 -12
  1081. package/_cjs/decoder/index.js.map +0 -1
  1082. package/_cjs/decoder/parseErc1155TransferSingleLogs.js +0 -43
  1083. package/_cjs/decoder/parseErc1155TransferSingleLogs.js.map +0 -1
  1084. package/_cjs/decoder/parseErc20TransferLogs.js +0 -23
  1085. package/_cjs/decoder/parseErc20TransferLogs.js.map +0 -1
  1086. package/_cjs/decoder/parseErc721TransferLogs.js +0 -39
  1087. package/_cjs/decoder/parseErc721TransferLogs.js.map +0 -1
  1088. package/_cjs/decoder/tests.js +0 -495
  1089. package/_cjs/decoder/tests.js.map +0 -1
  1090. package/_cjs/decoder/types.js +0 -3
  1091. package/_cjs/decoder/types.js.map +0 -1
  1092. package/_cjs/explorers/definitions/blockscout.js +0 -267
  1093. package/_cjs/explorers/definitions/blockscout.js.map +0 -1
  1094. package/_cjs/explorers/definitions/defineExplorer.js +0 -8
  1095. package/_cjs/explorers/definitions/defineExplorer.js.map +0 -1
  1096. package/_cjs/explorers/definitions/etherscan.js +0 -382
  1097. package/_cjs/explorers/definitions/etherscan.js.map +0 -1
  1098. package/_cjs/explorers/definitions/index.js +0 -12
  1099. package/_cjs/explorers/definitions/index.js.map +0 -1
  1100. package/_cjs/explorers/definitions/roninExplorer.js +0 -186
  1101. package/_cjs/explorers/definitions/roninExplorer.js.map +0 -1
  1102. package/_cjs/explorers/definitions/routescan.js +0 -55
  1103. package/_cjs/explorers/definitions/routescan.js.map +0 -1
  1104. package/_cjs/explorers/externals/blockscout/getBlockNumberOfTimestamp.js +0 -49
  1105. package/_cjs/explorers/externals/blockscout/getBlockNumberOfTimestamp.js.map +0 -1
  1106. package/_cjs/explorers/externals/blockscout/getContractByAddress.js +0 -59
  1107. package/_cjs/explorers/externals/blockscout/getContractByAddress.js.map +0 -1
  1108. package/_cjs/explorers/externals/blockscout/getContractCreations.js +0 -64
  1109. package/_cjs/explorers/externals/blockscout/getContractCreations.js.map +0 -1
  1110. package/_cjs/explorers/externals/blockscout/getEventLogsByAddressAndTopics.js +0 -76
  1111. package/_cjs/explorers/externals/blockscout/getEventLogsByAddressAndTopics.js.map +0 -1
  1112. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js +0 -88
  1113. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +0 -1
  1114. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +0 -66
  1115. package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +0 -1
  1116. package/_cjs/explorers/externals/blockscout/getNormalTransactionsByAddress.js +0 -86
  1117. package/_cjs/explorers/externals/blockscout/getNormalTransactionsByAddress.js.map +0 -1
  1118. package/_cjs/explorers/externals/blockscout/getTokenTransfersByAddress.js +0 -95
  1119. package/_cjs/explorers/externals/blockscout/getTokenTransfersByAddress.js.map +0 -1
  1120. package/_cjs/explorers/externals/blockscout/index.js +0 -20
  1121. package/_cjs/explorers/externals/blockscout/index.js.map +0 -1
  1122. package/_cjs/explorers/externals/blockscout/middleware.js +0 -40
  1123. package/_cjs/explorers/externals/blockscout/middleware.js.map +0 -1
  1124. package/_cjs/explorers/externals/defillama/getBlockNumberOfTimestamp.js +0 -15
  1125. package/_cjs/explorers/externals/defillama/getBlockNumberOfTimestamp.js.map +0 -1
  1126. package/_cjs/explorers/externals/defillama/index.js +0 -6
  1127. package/_cjs/explorers/externals/defillama/index.js.map +0 -1
  1128. package/_cjs/explorers/externals/etherscan/getBlockNumberOfTimestamp.js +0 -47
  1129. package/_cjs/explorers/externals/etherscan/getBlockNumberOfTimestamp.js.map +0 -1
  1130. package/_cjs/explorers/externals/etherscan/getContractByAddress.js +0 -64
  1131. package/_cjs/explorers/externals/etherscan/getContractByAddress.js.map +0 -1
  1132. package/_cjs/explorers/externals/etherscan/getContractCreations.js +0 -64
  1133. package/_cjs/explorers/externals/etherscan/getContractCreations.js.map +0 -1
  1134. package/_cjs/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.js +0 -102
  1135. package/_cjs/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.js.map +0 -1
  1136. package/_cjs/explorers/externals/etherscan/getErc20TokenTransfersByAddress.js +0 -94
  1137. package/_cjs/explorers/externals/etherscan/getErc20TokenTransfersByAddress.js.map +0 -1
  1138. package/_cjs/explorers/externals/etherscan/getErc721TokenTransfersByAddress.js +0 -94
  1139. package/_cjs/explorers/externals/etherscan/getErc721TokenTransfersByAddress.js.map +0 -1
  1140. package/_cjs/explorers/externals/etherscan/getEventLogsByAddressAndTopics.js +0 -82
  1141. package/_cjs/explorers/externals/etherscan/getEventLogsByAddressAndTopics.js.map +0 -1
  1142. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js +0 -87
  1143. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +0 -1
  1144. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +0 -69
  1145. package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +0 -1
  1146. package/_cjs/explorers/externals/etherscan/getNormalTransactionsByAddress.js +0 -91
  1147. package/_cjs/explorers/externals/etherscan/getNormalTransactionsByAddress.js.map +0 -1
  1148. package/_cjs/explorers/externals/etherscan/index.js +0 -24
  1149. package/_cjs/explorers/externals/etherscan/index.js.map +0 -1
  1150. package/_cjs/explorers/externals/etherscan/middleware.js +0 -57
  1151. package/_cjs/explorers/externals/etherscan/middleware.js.map +0 -1
  1152. package/_cjs/explorers/externals/roninExplorer/getInternalTransactionByHash.js +0 -61
  1153. package/_cjs/explorers/externals/roninExplorer/getInternalTransactionByHash.js.map +0 -1
  1154. package/_cjs/explorers/externals/roninExplorer/getNormalTransactionsByAddress.js +0 -57
  1155. package/_cjs/explorers/externals/roninExplorer/getNormalTransactionsByAddress.js.map +0 -1
  1156. package/_cjs/explorers/externals/roninExplorer/getTokenTransfersByAddress.js +0 -59
  1157. package/_cjs/explorers/externals/roninExplorer/getTokenTransfersByAddress.js.map +0 -1
  1158. package/_cjs/explorers/externals/roninExplorer/index.js +0 -10
  1159. package/_cjs/explorers/externals/roninExplorer/index.js.map +0 -1
  1160. package/_cjs/explorers/externals/roninExplorer/middleware.js +0 -36
  1161. package/_cjs/explorers/externals/roninExplorer/middleware.js.map +0 -1
  1162. package/_cjs/explorers/index.js +0 -9
  1163. package/_cjs/explorers/index.js.map +0 -1
  1164. package/_cjs/explorers/types.js +0 -3
  1165. package/_cjs/explorers/types.js.map +0 -1
  1166. package/_cjs/getContractAbi.js +0 -9
  1167. package/_cjs/getContractAbi.js.map +0 -1
  1168. package/_cjs/getTransactionDetail.js +0 -46
  1169. package/_cjs/getTransactionDetail.js.map +0 -1
  1170. package/_cjs/types/evmAccount.js +0 -3
  1171. package/_cjs/types/evmAccount.js.map +0 -1
  1172. package/_cjs/types/input.js +0 -3
  1173. package/_cjs/types/input.js.map +0 -1
  1174. package/_cjs/types/transaction.js +0 -3
  1175. package/_cjs/types/transaction.js.map +0 -1
  1176. package/_esm/apps/index.js +0 -2
  1177. package/_esm/apps/index.js.map +0 -1
  1178. package/_esm/apps/types.js.map +0 -1
  1179. package/_esm/chains/definitions/arbitrumOne.js +0 -111
  1180. package/_esm/chains/definitions/arbitrumOne.js.map +0 -1
  1181. package/_esm/chains/definitions/astar.js +0 -71
  1182. package/_esm/chains/definitions/astar.js.map +0 -1
  1183. package/_esm/chains/definitions/avalancheC.js +0 -93
  1184. package/_esm/chains/definitions/avalancheC.js.map +0 -1
  1185. package/_esm/chains/definitions/base.js +0 -105
  1186. package/_esm/chains/definitions/base.js.map +0 -1
  1187. package/_esm/chains/definitions/bsc.js +0 -165
  1188. package/_esm/chains/definitions/bsc.js.map +0 -1
  1189. package/_esm/chains/definitions/defineChain.js +0 -4
  1190. package/_esm/chains/definitions/defineChain.js.map +0 -1
  1191. package/_esm/chains/definitions/ethereum.js +0 -147
  1192. package/_esm/chains/definitions/ethereum.js.map +0 -1
  1193. package/_esm/chains/definitions/fantom.js +0 -101
  1194. package/_esm/chains/definitions/fantom.js.map +0 -1
  1195. package/_esm/chains/definitions/index.js +0 -18
  1196. package/_esm/chains/definitions/index.js.map +0 -1
  1197. package/_esm/chains/definitions/linea.js +0 -73
  1198. package/_esm/chains/definitions/linea.js.map +0 -1
  1199. package/_esm/chains/definitions/mantaPacific.js +0 -72
  1200. package/_esm/chains/definitions/mantaPacific.js.map +0 -1
  1201. package/_esm/chains/definitions/mantle.js +0 -55
  1202. package/_esm/chains/definitions/mantle.js.map +0 -1
  1203. package/_esm/chains/definitions/metis.js +0 -42
  1204. package/_esm/chains/definitions/metis.js.map +0 -1
  1205. package/_esm/chains/definitions/moonbeam.js +0 -95
  1206. package/_esm/chains/definitions/moonbeam.js.map +0 -1
  1207. package/_esm/chains/definitions/moonriver.js +0 -72
  1208. package/_esm/chains/definitions/moonriver.js.map +0 -1
  1209. package/_esm/chains/definitions/oasys.js +0 -62
  1210. package/_esm/chains/definitions/oasys.js.map +0 -1
  1211. package/_esm/chains/definitions/optimism.js +0 -117
  1212. package/_esm/chains/definitions/optimism.js.map +0 -1
  1213. package/_esm/chains/definitions/polygonPos.js +0 -93
  1214. package/_esm/chains/definitions/polygonPos.js.map +0 -1
  1215. package/_esm/chains/definitions/ronin.js +0 -50
  1216. package/_esm/chains/definitions/ronin.js.map +0 -1
  1217. package/_esm/chains/definitions/tests.js.map +0 -1
  1218. package/_esm/chains/externals/defillama/constants.js +0 -2
  1219. package/_esm/chains/externals/defillama/constants.js.map +0 -1
  1220. package/_esm/chains/externals/defillama/getBlockOfTimestamp.js +0 -14
  1221. package/_esm/chains/externals/defillama/getBlockOfTimestamp.js.map +0 -1
  1222. package/_esm/chains/externals/defillama/index.js +0 -2
  1223. package/_esm/chains/externals/defillama/index.js.map +0 -1
  1224. package/_esm/chains/externals/index.js +0 -2
  1225. package/_esm/chains/externals/index.js.map +0 -1
  1226. package/_esm/chains/index.js +0 -3
  1227. package/_esm/chains/index.js.map +0 -1
  1228. package/_esm/chains/types/chain.js.map +0 -1
  1229. package/_esm/chains/types/index.js +0 -2
  1230. package/_esm/chains/types/index.js.map +0 -1
  1231. package/_esm/chains/types/rpc.js.map +0 -1
  1232. package/_esm/clients/definitions/defineClient.js +0 -4
  1233. package/_esm/clients/definitions/defineClient.js.map +0 -1
  1234. package/_esm/clients/definitions/index.js +0 -2
  1235. package/_esm/clients/definitions/index.js.map +0 -1
  1236. package/_esm/clients/definitions/viemClient.js +0 -17
  1237. package/_esm/clients/definitions/viemClient.js.map +0 -1
  1238. package/_esm/clients/externals/viem/createViemInstance.js +0 -134
  1239. package/_esm/clients/externals/viem/createViemInstance.js.map +0 -1
  1240. package/_esm/clients/externals/viem/estimateFeesPerGas.js +0 -3
  1241. package/_esm/clients/externals/viem/estimateFeesPerGas.js.map +0 -1
  1242. package/_esm/clients/externals/viem/getBalance.js +0 -3
  1243. package/_esm/clients/externals/viem/getBalance.js.map +0 -1
  1244. package/_esm/clients/externals/viem/getBlock.js +0 -3
  1245. package/_esm/clients/externals/viem/getBlock.js.map +0 -1
  1246. package/_esm/clients/externals/viem/getBlockNumber.js +0 -3
  1247. package/_esm/clients/externals/viem/getBlockNumber.js.map +0 -1
  1248. package/_esm/clients/externals/viem/getEventLogs.js +0 -8
  1249. package/_esm/clients/externals/viem/getEventLogs.js.map +0 -1
  1250. package/_esm/clients/externals/viem/getTransaction.js +0 -3
  1251. package/_esm/clients/externals/viem/getTransaction.js.map +0 -1
  1252. package/_esm/clients/externals/viem/getTransactionCount.js +0 -3
  1253. package/_esm/clients/externals/viem/getTransactionCount.js.map +0 -1
  1254. package/_esm/clients/externals/viem/getTransactionReceipt.js +0 -3
  1255. package/_esm/clients/externals/viem/getTransactionReceipt.js.map +0 -1
  1256. package/_esm/clients/externals/viem/index.js +0 -12
  1257. package/_esm/clients/externals/viem/index.js.map +0 -1
  1258. package/_esm/clients/externals/viem/middleware.js +0 -285
  1259. package/_esm/clients/externals/viem/middleware.js.map +0 -1
  1260. package/_esm/clients/externals/viem/multicall.js +0 -3
  1261. package/_esm/clients/externals/viem/multicall.js.map +0 -1
  1262. package/_esm/clients/externals/viem/readContract.js +0 -3
  1263. package/_esm/clients/externals/viem/readContract.js.map +0 -1
  1264. package/_esm/clients/externals/viem/tests.js +0 -956
  1265. package/_esm/clients/externals/viem/tests.js.map +0 -1
  1266. package/_esm/clients/index.js +0 -2
  1267. package/_esm/clients/index.js.map +0 -1
  1268. package/_esm/clients/types.js.map +0 -1
  1269. package/_esm/creates/createEvmAccount.js +0 -7
  1270. package/_esm/creates/createEvmAccount.js.map +0 -1
  1271. package/_esm/decoder/decode.js +0 -511
  1272. package/_esm/decoder/decode.js.map +0 -1
  1273. package/_esm/decoder/decoder.js +0 -5
  1274. package/_esm/decoder/decoder.js.map +0 -1
  1275. package/_esm/decoder/index.js +0 -5
  1276. package/_esm/decoder/index.js.map +0 -1
  1277. package/_esm/decoder/parseErc1155TransferSingleLogs.js +0 -39
  1278. package/_esm/decoder/parseErc1155TransferSingleLogs.js.map +0 -1
  1279. package/_esm/decoder/parseErc20TransferLogs.js +0 -19
  1280. package/_esm/decoder/parseErc20TransferLogs.js.map +0 -1
  1281. package/_esm/decoder/parseErc721TransferLogs.js +0 -35
  1282. package/_esm/decoder/parseErc721TransferLogs.js.map +0 -1
  1283. package/_esm/decoder/tests.js +0 -494
  1284. package/_esm/decoder/tests.js.map +0 -1
  1285. package/_esm/decoder/types.js +0 -2
  1286. package/_esm/decoder/types.js.map +0 -1
  1287. package/_esm/explorers/definitions/blockscout.js +0 -265
  1288. package/_esm/explorers/definitions/blockscout.js.map +0 -1
  1289. package/_esm/explorers/definitions/defineExplorer.js +0 -4
  1290. package/_esm/explorers/definitions/defineExplorer.js.map +0 -1
  1291. package/_esm/explorers/definitions/etherscan.js +0 -384
  1292. package/_esm/explorers/definitions/etherscan.js.map +0 -1
  1293. package/_esm/explorers/definitions/index.js +0 -5
  1294. package/_esm/explorers/definitions/index.js.map +0 -1
  1295. package/_esm/explorers/definitions/roninExplorer.js +0 -182
  1296. package/_esm/explorers/definitions/roninExplorer.js.map +0 -1
  1297. package/_esm/explorers/definitions/routescan.js +0 -62
  1298. package/_esm/explorers/definitions/routescan.js.map +0 -1
  1299. package/_esm/explorers/externals/blockscout/getBlockNumberOfTimestamp.js +0 -46
  1300. package/_esm/explorers/externals/blockscout/getBlockNumberOfTimestamp.js.map +0 -1
  1301. package/_esm/explorers/externals/blockscout/getContractByAddress.js +0 -56
  1302. package/_esm/explorers/externals/blockscout/getContractByAddress.js.map +0 -1
  1303. package/_esm/explorers/externals/blockscout/getContractCreations.js +0 -61
  1304. package/_esm/explorers/externals/blockscout/getContractCreations.js.map +0 -1
  1305. package/_esm/explorers/externals/blockscout/getEventLogsByAddressAndTopics.js +0 -73
  1306. package/_esm/explorers/externals/blockscout/getEventLogsByAddressAndTopics.js.map +0 -1
  1307. package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js +0 -85
  1308. package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +0 -1
  1309. package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +0 -63
  1310. package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +0 -1
  1311. package/_esm/explorers/externals/blockscout/getNormalTransactionsByAddress.js +0 -83
  1312. package/_esm/explorers/externals/blockscout/getNormalTransactionsByAddress.js.map +0 -1
  1313. package/_esm/explorers/externals/blockscout/getTokenTransfersByAddress.js +0 -92
  1314. package/_esm/explorers/externals/blockscout/getTokenTransfersByAddress.js.map +0 -1
  1315. package/_esm/explorers/externals/blockscout/index.js +0 -9
  1316. package/_esm/explorers/externals/blockscout/index.js.map +0 -1
  1317. package/_esm/explorers/externals/blockscout/middleware.js +0 -40
  1318. package/_esm/explorers/externals/blockscout/middleware.js.map +0 -1
  1319. package/_esm/explorers/externals/defillama/getBlockNumberOfTimestamp.js +0 -11
  1320. package/_esm/explorers/externals/defillama/getBlockNumberOfTimestamp.js.map +0 -1
  1321. package/_esm/explorers/externals/defillama/index.js +0 -2
  1322. package/_esm/explorers/externals/defillama/index.js.map +0 -1
  1323. package/_esm/explorers/externals/etherscan/getBlockNumberOfTimestamp.js +0 -44
  1324. package/_esm/explorers/externals/etherscan/getBlockNumberOfTimestamp.js.map +0 -1
  1325. package/_esm/explorers/externals/etherscan/getContractByAddress.js +0 -61
  1326. package/_esm/explorers/externals/etherscan/getContractByAddress.js.map +0 -1
  1327. package/_esm/explorers/externals/etherscan/getContractCreations.js +0 -61
  1328. package/_esm/explorers/externals/etherscan/getContractCreations.js.map +0 -1
  1329. package/_esm/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.js +0 -101
  1330. package/_esm/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.js.map +0 -1
  1331. package/_esm/explorers/externals/etherscan/getErc20TokenTransfersByAddress.js +0 -91
  1332. package/_esm/explorers/externals/etherscan/getErc20TokenTransfersByAddress.js.map +0 -1
  1333. package/_esm/explorers/externals/etherscan/getErc721TokenTransfersByAddress.js +0 -91
  1334. package/_esm/explorers/externals/etherscan/getErc721TokenTransfersByAddress.js.map +0 -1
  1335. package/_esm/explorers/externals/etherscan/getEventLogsByAddressAndTopics.js +0 -79
  1336. package/_esm/explorers/externals/etherscan/getEventLogsByAddressAndTopics.js.map +0 -1
  1337. package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js +0 -83
  1338. package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +0 -1
  1339. package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +0 -66
  1340. package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +0 -1
  1341. package/_esm/explorers/externals/etherscan/getNormalTransactionsByAddress.js +0 -88
  1342. package/_esm/explorers/externals/etherscan/getNormalTransactionsByAddress.js.map +0 -1
  1343. package/_esm/explorers/externals/etherscan/index.js +0 -11
  1344. package/_esm/explorers/externals/etherscan/index.js.map +0 -1
  1345. package/_esm/explorers/externals/etherscan/middleware.js +0 -58
  1346. package/_esm/explorers/externals/etherscan/middleware.js.map +0 -1
  1347. package/_esm/explorers/externals/roninExplorer/getInternalTransactionByHash.js +0 -57
  1348. package/_esm/explorers/externals/roninExplorer/getInternalTransactionByHash.js.map +0 -1
  1349. package/_esm/explorers/externals/roninExplorer/getNormalTransactionsByAddress.js +0 -53
  1350. package/_esm/explorers/externals/roninExplorer/getNormalTransactionsByAddress.js.map +0 -1
  1351. package/_esm/explorers/externals/roninExplorer/getTokenTransfersByAddress.js +0 -55
  1352. package/_esm/explorers/externals/roninExplorer/getTokenTransfersByAddress.js.map +0 -1
  1353. package/_esm/explorers/externals/roninExplorer/index.js +0 -4
  1354. package/_esm/explorers/externals/roninExplorer/index.js.map +0 -1
  1355. package/_esm/explorers/externals/roninExplorer/middleware.js +0 -36
  1356. package/_esm/explorers/externals/roninExplorer/middleware.js.map +0 -1
  1357. package/_esm/explorers/index.js +0 -2
  1358. package/_esm/explorers/index.js.map +0 -1
  1359. package/_esm/explorers/types.js +0 -2
  1360. package/_esm/explorers/types.js.map +0 -1
  1361. package/_esm/getContractAbi.js +0 -6
  1362. package/_esm/getContractAbi.js.map +0 -1
  1363. package/_esm/getTransactionDetail.js +0 -43
  1364. package/_esm/getTransactionDetail.js.map +0 -1
  1365. package/_esm/types/evmAccount.js +0 -2
  1366. package/_esm/types/evmAccount.js.map +0 -1
  1367. package/_esm/types/input.js +0 -2
  1368. package/_esm/types/input.js.map +0 -1
  1369. package/_esm/types/transaction.js +0 -2
  1370. package/_esm/types/transaction.js.map +0 -1
  1371. package/_types/apps/index.d.ts +0 -2
  1372. package/_types/apps/index.d.ts.map +0 -1
  1373. package/_types/apps/types.d.ts +0 -6
  1374. package/_types/apps/types.d.ts.map +0 -1
  1375. package/_types/chains/definitions/arbitrumOne.d.ts +0 -40
  1376. package/_types/chains/definitions/arbitrumOne.d.ts.map +0 -1
  1377. package/_types/chains/definitions/astar.d.ts +0 -40
  1378. package/_types/chains/definitions/astar.d.ts.map +0 -1
  1379. package/_types/chains/definitions/avalancheC.d.ts +0 -40
  1380. package/_types/chains/definitions/avalancheC.d.ts.map +0 -1
  1381. package/_types/chains/definitions/base.d.ts +0 -40
  1382. package/_types/chains/definitions/base.d.ts.map +0 -1
  1383. package/_types/chains/definitions/bsc.d.ts +0 -40
  1384. package/_types/chains/definitions/bsc.d.ts.map +0 -1
  1385. package/_types/chains/definitions/defineChain.d.ts +0 -3
  1386. package/_types/chains/definitions/defineChain.d.ts.map +0 -1
  1387. package/_types/chains/definitions/ethereum.d.ts +0 -40
  1388. package/_types/chains/definitions/ethereum.d.ts.map +0 -1
  1389. package/_types/chains/definitions/fantom.d.ts +0 -40
  1390. package/_types/chains/definitions/fantom.d.ts.map +0 -1
  1391. package/_types/chains/definitions/index.d.ts +0 -18
  1392. package/_types/chains/definitions/index.d.ts.map +0 -1
  1393. package/_types/chains/definitions/linea.d.ts +0 -40
  1394. package/_types/chains/definitions/linea.d.ts.map +0 -1
  1395. package/_types/chains/definitions/mantaPacific.d.ts +0 -40
  1396. package/_types/chains/definitions/mantaPacific.d.ts.map +0 -1
  1397. package/_types/chains/definitions/mantle.d.ts +0 -39
  1398. package/_types/chains/definitions/mantle.d.ts.map +0 -1
  1399. package/_types/chains/definitions/metis.d.ts +0 -39
  1400. package/_types/chains/definitions/metis.d.ts.map +0 -1
  1401. package/_types/chains/definitions/moonbeam.d.ts +0 -40
  1402. package/_types/chains/definitions/moonbeam.d.ts.map +0 -1
  1403. package/_types/chains/definitions/moonriver.d.ts +0 -40
  1404. package/_types/chains/definitions/moonriver.d.ts.map +0 -1
  1405. package/_types/chains/definitions/oasys.d.ts +0 -40
  1406. package/_types/chains/definitions/oasys.d.ts.map +0 -1
  1407. package/_types/chains/definitions/optimism.d.ts +0 -40
  1408. package/_types/chains/definitions/optimism.d.ts.map +0 -1
  1409. package/_types/chains/definitions/polygonPos.d.ts +0 -40
  1410. package/_types/chains/definitions/polygonPos.d.ts.map +0 -1
  1411. package/_types/chains/definitions/ronin.d.ts +0 -40
  1412. package/_types/chains/definitions/ronin.d.ts.map +0 -1
  1413. package/_types/chains/definitions/tests.d.ts.map +0 -1
  1414. package/_types/chains/externals/defillama/constants.d.ts +0 -2
  1415. package/_types/chains/externals/defillama/constants.d.ts.map +0 -1
  1416. package/_types/chains/externals/defillama/getBlockOfTimestamp.d.ts +0 -10
  1417. package/_types/chains/externals/defillama/getBlockOfTimestamp.d.ts.map +0 -1
  1418. package/_types/chains/externals/defillama/index.d.ts +0 -2
  1419. package/_types/chains/externals/defillama/index.d.ts.map +0 -1
  1420. package/_types/chains/externals/index.d.ts +0 -2
  1421. package/_types/chains/externals/index.d.ts.map +0 -1
  1422. package/_types/chains/index.d.ts +0 -4
  1423. package/_types/chains/index.d.ts.map +0 -1
  1424. package/_types/chains/types/chain.d.ts +0 -22
  1425. package/_types/chains/types/chain.d.ts.map +0 -1
  1426. package/_types/chains/types/index.d.ts +0 -3
  1427. package/_types/chains/types/index.d.ts.map +0 -1
  1428. package/_types/chains/types/rpc.d.ts +0 -7
  1429. package/_types/chains/types/rpc.d.ts.map +0 -1
  1430. package/_types/clients/definitions/defineClient.d.ts +0 -3
  1431. package/_types/clients/definitions/defineClient.d.ts.map +0 -1
  1432. package/_types/clients/definitions/index.d.ts +0 -2
  1433. package/_types/clients/definitions/index.d.ts.map +0 -1
  1434. package/_types/clients/definitions/viemClient.d.ts +0 -63
  1435. package/_types/clients/definitions/viemClient.d.ts.map +0 -1
  1436. package/_types/clients/externals/viem/createViemInstance.d.ts +0 -19
  1437. package/_types/clients/externals/viem/createViemInstance.d.ts.map +0 -1
  1438. package/_types/clients/externals/viem/estimateFeesPerGas.d.ts +0 -14
  1439. package/_types/clients/externals/viem/estimateFeesPerGas.d.ts.map +0 -1
  1440. package/_types/clients/externals/viem/getBalance.d.ts +0 -15
  1441. package/_types/clients/externals/viem/getBalance.d.ts.map +0 -1
  1442. package/_types/clients/externals/viem/getBlock.d.ts +0 -14
  1443. package/_types/clients/externals/viem/getBlock.d.ts.map +0 -1
  1444. package/_types/clients/externals/viem/getBlockNumber.d.ts +0 -13
  1445. package/_types/clients/externals/viem/getBlockNumber.d.ts.map +0 -1
  1446. package/_types/clients/externals/viem/getEventLogs.d.ts +0 -19
  1447. package/_types/clients/externals/viem/getEventLogs.d.ts.map +0 -1
  1448. package/_types/clients/externals/viem/getTransaction.d.ts +0 -15
  1449. package/_types/clients/externals/viem/getTransaction.d.ts.map +0 -1
  1450. package/_types/clients/externals/viem/getTransactionCount.d.ts +0 -15
  1451. package/_types/clients/externals/viem/getTransactionCount.d.ts.map +0 -1
  1452. package/_types/clients/externals/viem/getTransactionReceipt.d.ts +0 -15
  1453. package/_types/clients/externals/viem/getTransactionReceipt.d.ts.map +0 -1
  1454. package/_types/clients/externals/viem/index.d.ts +0 -12
  1455. package/_types/clients/externals/viem/index.d.ts.map +0 -1
  1456. package/_types/clients/externals/viem/middleware.d.ts +0 -23
  1457. package/_types/clients/externals/viem/middleware.d.ts.map +0 -1
  1458. package/_types/clients/externals/viem/multicall.d.ts +0 -14
  1459. package/_types/clients/externals/viem/multicall.d.ts.map +0 -1
  1460. package/_types/clients/externals/viem/readContract.d.ts +0 -14
  1461. package/_types/clients/externals/viem/readContract.d.ts.map +0 -1
  1462. package/_types/clients/externals/viem/tests.d.ts +0 -1145
  1463. package/_types/clients/externals/viem/tests.d.ts.map +0 -1
  1464. package/_types/clients/index.d.ts +0 -3
  1465. package/_types/clients/index.d.ts.map +0 -1
  1466. package/_types/clients/types.d.ts +0 -69
  1467. package/_types/clients/types.d.ts.map +0 -1
  1468. package/_types/creates/createEvmAccount.d.ts +0 -5
  1469. package/_types/creates/createEvmAccount.d.ts.map +0 -1
  1470. package/_types/decoder/decode.d.ts +0 -3
  1471. package/_types/decoder/decode.d.ts.map +0 -1
  1472. package/_types/decoder/decoder.d.ts +0 -3
  1473. package/_types/decoder/decoder.d.ts.map +0 -1
  1474. package/_types/decoder/index.d.ts +0 -6
  1475. package/_types/decoder/index.d.ts.map +0 -1
  1476. package/_types/decoder/parseErc1155TransferSingleLogs.d.ts +0 -4
  1477. package/_types/decoder/parseErc1155TransferSingleLogs.d.ts.map +0 -1
  1478. package/_types/decoder/parseErc20TransferLogs.d.ts +0 -8
  1479. package/_types/decoder/parseErc20TransferLogs.d.ts.map +0 -1
  1480. package/_types/decoder/parseErc721TransferLogs.d.ts +0 -8
  1481. package/_types/decoder/parseErc721TransferLogs.d.ts.map +0 -1
  1482. package/_types/decoder/tests.d.ts +0 -70
  1483. package/_types/decoder/tests.d.ts.map +0 -1
  1484. package/_types/decoder/types.d.ts +0 -16
  1485. package/_types/decoder/types.d.ts.map +0 -1
  1486. package/_types/explorers/definitions/blockscout.d.ts +0 -164
  1487. package/_types/explorers/definitions/blockscout.d.ts.map +0 -1
  1488. package/_types/explorers/definitions/defineExplorer.d.ts +0 -3
  1489. package/_types/explorers/definitions/defineExplorer.d.ts.map +0 -1
  1490. package/_types/explorers/definitions/etherscan.d.ts +0 -165
  1491. package/_types/explorers/definitions/etherscan.d.ts.map +0 -1
  1492. package/_types/explorers/definitions/index.d.ts +0 -5
  1493. package/_types/explorers/definitions/index.d.ts.map +0 -1
  1494. package/_types/explorers/definitions/roninExplorer.d.ts +0 -157
  1495. package/_types/explorers/definitions/roninExplorer.d.ts.map +0 -1
  1496. package/_types/explorers/definitions/routescan.d.ts +0 -24
  1497. package/_types/explorers/definitions/routescan.d.ts.map +0 -1
  1498. package/_types/explorers/externals/blockscout/getBlockNumberOfTimestamp.d.ts +0 -11
  1499. package/_types/explorers/externals/blockscout/getBlockNumberOfTimestamp.d.ts.map +0 -1
  1500. package/_types/explorers/externals/blockscout/getContractByAddress.d.ts +0 -30
  1501. package/_types/explorers/externals/blockscout/getContractByAddress.d.ts.map +0 -1
  1502. package/_types/explorers/externals/blockscout/getContractCreations.d.ts +0 -27
  1503. package/_types/explorers/externals/blockscout/getContractCreations.d.ts.map +0 -1
  1504. package/_types/explorers/externals/blockscout/getEventLogsByAddressAndTopics.d.ts +0 -39
  1505. package/_types/explorers/externals/blockscout/getEventLogsByAddressAndTopics.d.ts.map +0 -1
  1506. package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts +0 -62
  1507. package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts.map +0 -1
  1508. package/_types/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.d.ts +0 -54
  1509. package/_types/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.d.ts.map +0 -1
  1510. package/_types/explorers/externals/blockscout/getNormalTransactionsByAddress.d.ts +0 -77
  1511. package/_types/explorers/externals/blockscout/getNormalTransactionsByAddress.d.ts.map +0 -1
  1512. package/_types/explorers/externals/blockscout/getTokenTransfersByAddress.d.ts +0 -80
  1513. package/_types/explorers/externals/blockscout/getTokenTransfersByAddress.d.ts.map +0 -1
  1514. package/_types/explorers/externals/blockscout/index.d.ts +0 -9
  1515. package/_types/explorers/externals/blockscout/index.d.ts.map +0 -1
  1516. package/_types/explorers/externals/blockscout/middleware.d.ts +0 -7
  1517. package/_types/explorers/externals/blockscout/middleware.d.ts.map +0 -1
  1518. package/_types/explorers/externals/defillama/getBlockNumberOfTimestamp.d.ts +0 -10
  1519. package/_types/explorers/externals/defillama/getBlockNumberOfTimestamp.d.ts.map +0 -1
  1520. package/_types/explorers/externals/defillama/index.d.ts +0 -2
  1521. package/_types/explorers/externals/defillama/index.d.ts.map +0 -1
  1522. package/_types/explorers/externals/etherscan/getBlockNumberOfTimestamp.d.ts +0 -12
  1523. package/_types/explorers/externals/etherscan/getBlockNumberOfTimestamp.d.ts.map +0 -1
  1524. package/_types/explorers/externals/etherscan/getContractByAddress.d.ts +0 -55
  1525. package/_types/explorers/externals/etherscan/getContractByAddress.d.ts.map +0 -1
  1526. package/_types/explorers/externals/etherscan/getContractCreations.d.ts +0 -28
  1527. package/_types/explorers/externals/etherscan/getContractCreations.d.ts.map +0 -1
  1528. package/_types/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.d.ts +0 -83
  1529. package/_types/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.d.ts.map +0 -1
  1530. package/_types/explorers/externals/etherscan/getErc20TokenTransfersByAddress.d.ts +0 -81
  1531. package/_types/explorers/externals/etherscan/getErc20TokenTransfersByAddress.d.ts.map +0 -1
  1532. package/_types/explorers/externals/etherscan/getErc721TokenTransfersByAddress.d.ts +0 -81
  1533. package/_types/explorers/externals/etherscan/getErc721TokenTransfersByAddress.d.ts.map +0 -1
  1534. package/_types/explorers/externals/etherscan/getEventLogsByAddressAndTopics.d.ts +0 -41
  1535. package/_types/explorers/externals/etherscan/getEventLogsByAddressAndTopics.d.ts.map +0 -1
  1536. package/_types/explorers/externals/etherscan/getInternalTransactionsByAddress.d.ts +0 -62
  1537. package/_types/explorers/externals/etherscan/getInternalTransactionsByAddress.d.ts.map +0 -1
  1538. package/_types/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.d.ts +0 -55
  1539. package/_types/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.d.ts.map +0 -1
  1540. package/_types/explorers/externals/etherscan/getNormalTransactionsByAddress.d.ts +0 -84
  1541. package/_types/explorers/externals/etherscan/getNormalTransactionsByAddress.d.ts.map +0 -1
  1542. package/_types/explorers/externals/etherscan/index.d.ts +0 -11
  1543. package/_types/explorers/externals/etherscan/index.d.ts.map +0 -1
  1544. package/_types/explorers/externals/etherscan/middleware.d.ts +0 -7
  1545. package/_types/explorers/externals/etherscan/middleware.d.ts.map +0 -1
  1546. package/_types/explorers/externals/roninExplorer/getInternalTransactionByHash.d.ts +0 -57
  1547. package/_types/explorers/externals/roninExplorer/getInternalTransactionByHash.d.ts.map +0 -1
  1548. package/_types/explorers/externals/roninExplorer/getNormalTransactionsByAddress.d.ts +0 -70
  1549. package/_types/explorers/externals/roninExplorer/getNormalTransactionsByAddress.d.ts.map +0 -1
  1550. package/_types/explorers/externals/roninExplorer/getTokenTransfersByAddress.d.ts +0 -64
  1551. package/_types/explorers/externals/roninExplorer/getTokenTransfersByAddress.d.ts.map +0 -1
  1552. package/_types/explorers/externals/roninExplorer/index.d.ts +0 -4
  1553. package/_types/explorers/externals/roninExplorer/index.d.ts.map +0 -1
  1554. package/_types/explorers/externals/roninExplorer/middleware.d.ts +0 -5
  1555. package/_types/explorers/externals/roninExplorer/middleware.d.ts.map +0 -1
  1556. package/_types/explorers/index.d.ts +0 -3
  1557. package/_types/explorers/index.d.ts.map +0 -1
  1558. package/_types/explorers/types.d.ts +0 -92
  1559. package/_types/explorers/types.d.ts.map +0 -1
  1560. package/_types/getContractAbi.d.ts +0 -9
  1561. package/_types/getContractAbi.d.ts.map +0 -1
  1562. package/_types/getTransactionDetail.d.ts +0 -11
  1563. package/_types/getTransactionDetail.d.ts.map +0 -1
  1564. package/_types/types/evmAccount.d.ts +0 -10
  1565. package/_types/types/evmAccount.d.ts.map +0 -1
  1566. package/_types/types/input.d.ts +0 -26
  1567. package/_types/types/input.d.ts.map +0 -1
  1568. package/_types/types/transaction.d.ts +0 -43
  1569. package/_types/types/transaction.d.ts.map +0 -1
  1570. package/apps/index.ts +0 -1
  1571. package/apps/types.ts +0 -10
  1572. package/chains/.DS_Store +0 -0
  1573. package/chains/definitions/arbitrumOne.ts +0 -133
  1574. package/chains/definitions/astar.ts +0 -93
  1575. package/chains/definitions/avalancheC.ts +0 -115
  1576. package/chains/definitions/base.ts +0 -127
  1577. package/chains/definitions/bsc.ts +0 -184
  1578. package/chains/definitions/defineChain.ts +0 -7
  1579. package/chains/definitions/ethereum.ts +0 -169
  1580. package/chains/definitions/fantom.ts +0 -123
  1581. package/chains/definitions/index.ts +0 -100
  1582. package/chains/definitions/linea.ts +0 -95
  1583. package/chains/definitions/mantaPacific.ts +0 -94
  1584. package/chains/definitions/mantle.ts +0 -75
  1585. package/chains/definitions/metis.ts +0 -62
  1586. package/chains/definitions/moonbeam.ts +0 -117
  1587. package/chains/definitions/moonriver.ts +0 -94
  1588. package/chains/definitions/oasys.ts +0 -84
  1589. package/chains/definitions/optimism.ts +0 -139
  1590. package/chains/definitions/polygonPos.ts +0 -115
  1591. package/chains/definitions/ronin.ts +0 -75
  1592. package/chains/externals/defillama/constants.ts +0 -1
  1593. package/chains/externals/defillama/getBlockOfTimestamp.ts +0 -26
  1594. package/chains/externals/defillama/index.ts +0 -1
  1595. package/chains/externals/index.ts +0 -1
  1596. package/chains/index.ts +0 -70
  1597. package/chains/types/chain.ts +0 -22
  1598. package/chains/types/index.ts +0 -2
  1599. package/chains/types/rpc.ts +0 -6
  1600. package/clients/definitions/defineClient.ts +0 -7
  1601. package/clients/definitions/index.ts +0 -1
  1602. package/clients/definitions/viemClient.ts +0 -101
  1603. package/clients/externals/viem/createViemInstance.ts +0 -207
  1604. package/clients/externals/viem/estimateFeesPerGas.ts +0 -24
  1605. package/clients/externals/viem/getBalance.ts +0 -25
  1606. package/clients/externals/viem/getBlock.ts +0 -29
  1607. package/clients/externals/viem/getBlockNumber.ts +0 -23
  1608. package/clients/externals/viem/getEventLogs.ts +0 -40
  1609. package/clients/externals/viem/getTransaction.ts +0 -25
  1610. package/clients/externals/viem/getTransactionCount.ts +0 -25
  1611. package/clients/externals/viem/getTransactionReceipt.ts +0 -25
  1612. package/clients/externals/viem/index.ts +0 -11
  1613. package/clients/externals/viem/middleware.ts +0 -452
  1614. package/clients/externals/viem/multicall.ts +0 -27
  1615. package/clients/externals/viem/readContract.ts +0 -38
  1616. package/clients/externals/viem/tests.ts +0 -957
  1617. package/clients/index.ts +0 -2
  1618. package/clients/types.ts +0 -125
  1619. package/creates/createEvmAccount.ts +0 -12
  1620. package/decoder/decode.ts +0 -726
  1621. package/decoder/decoder.ts +0 -6
  1622. package/decoder/index.ts +0 -5
  1623. package/decoder/parseErc1155TransferSingleLogs.ts +0 -50
  1624. package/decoder/parseErc20TransferLogs.ts +0 -35
  1625. package/decoder/parseErc721TransferLogs.ts +0 -50
  1626. package/decoder/tests.ts +0 -521
  1627. package/decoder/types.ts +0 -21
  1628. package/explorers/.DS_Store +0 -0
  1629. package/explorers/definitions/blockscout.ts +0 -385
  1630. package/explorers/definitions/defineExplorer.ts +0 -7
  1631. package/explorers/definitions/etherscan.ts +0 -533
  1632. package/explorers/definitions/index.ts +0 -4
  1633. package/explorers/definitions/roninExplorer.ts +0 -262
  1634. package/explorers/definitions/routescan.ts +0 -82
  1635. package/explorers/externals/blockscout/getBlockNumberOfTimestamp.ts +0 -67
  1636. package/explorers/externals/blockscout/getContractByAddress.ts +0 -81
  1637. package/explorers/externals/blockscout/getContractCreations.ts +0 -85
  1638. package/explorers/externals/blockscout/getEventLogsByAddressAndTopics.ts +0 -105
  1639. package/explorers/externals/blockscout/getInternalTransactionsByAddress.ts +0 -120
  1640. package/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.ts +0 -87
  1641. package/explorers/externals/blockscout/getNormalTransactionsByAddress.ts +0 -116
  1642. package/explorers/externals/blockscout/getTokenTransfersByAddress.ts +0 -127
  1643. package/explorers/externals/blockscout/index.ts +0 -8
  1644. package/explorers/externals/blockscout/middleware.ts +0 -56
  1645. package/explorers/externals/defillama/getBlockNumberOfTimestamp.ts +0 -28
  1646. package/explorers/externals/defillama/index.ts +0 -1
  1647. package/explorers/externals/etherscan/getBlockNumberOfTimestamp.ts +0 -70
  1648. package/explorers/externals/etherscan/getContractByAddress.ts +0 -90
  1649. package/explorers/externals/etherscan/getContractCreations.ts +0 -90
  1650. package/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.ts +0 -145
  1651. package/explorers/externals/etherscan/getErc20TokenTransfersByAddress.ts +0 -129
  1652. package/explorers/externals/etherscan/getErc721TokenTransfersByAddress.ts +0 -129
  1653. package/explorers/externals/etherscan/getEventLogsByAddressAndTopics.ts +0 -118
  1654. package/explorers/externals/etherscan/getInternalTransactionsByAddress.ts +0 -121
  1655. package/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.ts +0 -95
  1656. package/explorers/externals/etherscan/getNormalTransactionsByAddress.ts +0 -126
  1657. package/explorers/externals/etherscan/index.ts +0 -10
  1658. package/explorers/externals/etherscan/middleware.ts +0 -77
  1659. package/explorers/externals/roninExplorer/getInternalTransactionByHash.ts +0 -80
  1660. package/explorers/externals/roninExplorer/getNormalTransactionsByAddress.ts +0 -79
  1661. package/explorers/externals/roninExplorer/getTokenTransfersByAddress.ts +0 -81
  1662. package/explorers/externals/roninExplorer/index.ts +0 -3
  1663. package/explorers/externals/roninExplorer/middleware.ts +0 -49
  1664. package/explorers/index.ts +0 -7
  1665. package/explorers/types.ts +0 -121
  1666. package/getContractAbi.ts +0 -15
  1667. package/getTransactionDetail.ts +0 -63
  1668. package/types/evmAccount.ts +0 -12
  1669. package/types/input.ts +0 -27
  1670. package/types/transaction.ts +0 -66
  1671. /package/_cjs/{chains → chain}/definitions/tests.js +0 -0
  1672. /package/_cjs/{chains → chain}/types/chain.js +0 -0
  1673. /package/_cjs/{chains → chain}/types/rpc.js +0 -0
  1674. /package/_cjs/{apps → client}/types.js +0 -0
  1675. /package/_cjs/{clients → explorer}/types.js +0 -0
  1676. /package/_esm/{chains → chain}/definitions/tests.js +0 -0
  1677. /package/_esm/{chains → chain}/types/chain.js +0 -0
  1678. /package/_esm/{chains → chain}/types/rpc.js +0 -0
  1679. /package/_esm/{apps → client}/types.js +0 -0
  1680. /package/_esm/{clients → explorer}/types.js +0 -0
  1681. /package/_types/{chains → chain}/definitions/tests.d.ts +0 -0
  1682. /package/{chains → chain}/definitions/tests.ts +0 -0
  1683. /package/{clients → client}/.DS_Store +0 -0
@@ -1,905 +1,905 @@
1
- import type {
2
- CryptoCurrency,
3
- CryptoCurrencyPrice,
4
- NormalActionAtomicArbitrage,
5
- NormalActionTrade,
6
- } from '@0xtorch/core'
7
- import { parseNormalActionToAccountActions } from '@0xtorch/core'
8
- import { zeroAddress } from 'viem'
9
- import type { Chain } from '../../chains'
10
- import type {
11
- DecodedLog,
12
- Erc20Transfer,
13
- InternalTransaction,
14
- LowerHex,
15
- } from '../../types'
16
- import { toLowerHex } from '../../types'
17
- import { createEvmAddressId } from '../../utils'
18
- import { createEvmActionSource } from '../../utils/create'
19
- import {
20
- parseErc20TransferToActionTransferIn,
21
- parseErc20TransferToActionTransferOut,
22
- parseInternalTransactionToActionTransferIn,
23
- parseInternalTransactionToActionTransferOut,
24
- } from '../parsers/transfer'
25
- import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
26
- import type { TraderJoeLBPairSwapLog } from './traderJoeLBPairSwap'
27
- import { parseToTraderJoeLBPairSwap } from './traderJoeLBPairSwap'
28
- import type { UniV2PairSwapLog } from './univ2PairSwap'
29
- import { parseToUniv2SwapLog } from './univ2PairSwap'
30
- import type { UniV3PoolSwapLog } from './univ3PoolSwap'
31
- import { parseToUniv3SwapLog } from './univ3PoolSwap'
32
- import type { WrappedDepositLog } from './wrappedDeposit'
33
- import { parseToWrappedDepositLog } from './wrappedDeposit'
34
- import type { WrappedWithdrawalLog } from './wrappedWithdrawal'
35
- import { parseToWrappedWithdrawalLog } from './wrappedWithdrawal'
36
-
37
- export const analyzeSwap = <Price extends CryptoCurrencyPrice | undefined>({
38
- chain,
39
- transaction,
40
- accountAddresses,
41
- }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
42
- const {
43
- transactionHash,
44
- from,
45
- to,
46
- value,
47
- erc20Transfers,
48
- erc721Transfers,
49
- erc1155Transfers,
50
- internalTransactions,
51
- block,
52
- logs,
53
- nativeTokenPrice,
54
- } = transaction
55
- const timestamp = Number(block.timestamp) * 1000
56
-
57
- const nativeTransfer =
58
- value > 0 && to !== null
59
- ? {
60
- type: 'InternalTransaction' as const,
61
- transactionHash,
62
- from: toLowerHex(from),
63
- to: toLowerHex(to),
64
- contractAddress: undefined,
65
- txType: '',
66
- value:
67
- value -
68
- internalTransactions
69
- .filter(
70
- (internal) =>
71
- internal.from === toLowerHex(to) &&
72
- internal.to === toLowerHex(from),
73
- )
74
- .reduce(
75
- (accumulator, internal) => accumulator + internal.value,
76
- 0n,
77
- ),
78
- gas: 0n,
79
- gasUsed: 0n,
80
- isError: false,
81
- input: undefined,
82
- currency: chain.nativeToken.currency,
83
- price: nativeTokenPrice,
84
- }
85
- : undefined
86
- const allInternalTransactions: InternalTransaction<Price>[] = [
87
- ...(nativeTransfer === undefined ? [] : [nativeTransfer]),
88
- ...internalTransactions.filter(
89
- (internal) =>
90
- value === 0n ||
91
- to === null ||
92
- internal.from !== toLowerHex(to) ||
93
- internal.to !== toLowerHex(from),
94
- ),
95
- ]
96
-
97
- // If the transaction contains ERC721 or ERC1155 transfers, return undefined as a pattern mismatch.
98
- if (erc721Transfers.length > 0 || erc1155Transfers.length > 0) {
99
- return Promise.resolve(undefined)
100
- }
101
-
102
- // classify logs by type
103
- const decodedLogs = logs
104
- .map((log) => (log.type === 'decoded' ? log.log : undefined))
105
- .filter((log): log is DecodedLog => log !== undefined)
106
- const univ2SwapLogs = decodedLogs
107
- .map((log) => parseToUniv2SwapLog(log))
108
- .filter((log): log is UniV2PairSwapLog => log !== undefined)
109
- const univ3SwapLogs = decodedLogs
110
- .map((log) => parseToUniv3SwapLog(log))
111
- .filter((log): log is UniV3PoolSwapLog => log !== undefined)
112
- const traderJoeLBPairSwapLogs = decodedLogs
113
- .map((log) => parseToTraderJoeLBPairSwap(log))
114
- .filter((log): log is TraderJoeLBPairSwapLog => log !== undefined)
115
- const depositLogs = decodedLogs
116
- .map((log) => parseToWrappedDepositLog(log))
117
- .filter((log): log is WrappedDepositLog => log !== undefined)
118
- const withdrawalLogs = decodedLogs
119
- .map((log) => parseToWrappedWithdrawalLog(log))
120
- .filter((log): log is WrappedWithdrawalLog => log !== undefined)
121
-
122
- // If the transaction does not contain any swap logs, return undefined as a pattern mismatch.
123
- if (
124
- univ2SwapLogs.length === 0 &&
125
- univ3SwapLogs.length === 0 &&
126
- traderJoeLBPairSwapLogs.length === 0
127
- ) {
128
- return Promise.resolve(undefined)
129
- }
130
-
131
- // swap 生成
132
- const univ2Swaps = univ2SwapLogs
133
- .map((log) => createSwapFromUniv2SwapLog(log, erc20Transfers))
134
- .filter((swap): swap is Swap<Price> => swap !== undefined)
135
- const univ3Swaps = univ3SwapLogs
136
- .map((log) => createSwapFromUniv3SwapLog(log, erc20Transfers))
137
- .filter((swap): swap is Swap<Price> => swap !== undefined)
138
- const traderJoeLBPairSwaps = traderJoeLBPairSwapLogs
139
- .map((log) => createSwapFromTraderJoeLBPairSwapLog(log, erc20Transfers))
140
- .filter((swap): swap is Swap<Price> => swap !== undefined)
141
- const swaps = [...univ2Swaps, ...univ3Swaps, ...traderJoeLBPairSwaps]
142
-
143
- // swap action の前後に残る Transfer log を抽出
144
- const swapUsingIndexes = new Set(
145
- swaps.flatMap((swap) => createSwapUsingIndexes(swap)),
146
- )
147
- // from,to が同一の transfer は除外
148
- // from,to が zero address の transfer は除外
149
- const unrelatedTransfers = erc20Transfers.filter(
150
- (transfer) =>
151
- !swapUsingIndexes.has(transfer.logIndex) &&
152
- transfer.from !== transfer.to &&
153
- transfer.from !== zeroAddress &&
154
- transfer.to !== zeroAddress,
155
- )
156
-
157
- // index で swap, transfer, deposit, withdrawal log をソート
158
- const actions = [
159
- ...swaps,
160
- ...unrelatedTransfers,
161
- ...depositLogs,
162
- ...withdrawalLogs,
163
- ].toSorted((a, b) => getIndex(a) - getIndex(b))
164
-
165
- // sort した action を結合できる場合は結合していく
166
- const mergedActions = mergeActions(actions, chain.nativeToken.currency)
167
-
168
- // 結合した action が swap 1 つのみで無ければパターン不一致として、 undefined を返す
169
- if (mergedActions.length !== 1) {
170
- return Promise.resolve(undefined)
171
- }
172
- const mergedAction = mergedActions[0]
173
- if (mergedAction.type !== 'Swap') {
174
- return Promise.resolve(undefined)
175
- }
176
-
177
- // 結合できる internal transaction があれば結合する
178
- const { swap, internalTransactions: remainInternalTransactions } =
179
- mergeSwapAndInternalTransactions(mergedAction, allInternalTransactions)
180
-
181
- // 結合後の internal transaction に account に関連する value > 0 の transaction があれば、
182
- // パターン不一致として、 undefined を返す
183
- if (
184
- remainInternalTransactions.some(
185
- (internalTransaction) =>
186
- (internalTransaction.value > 0n &&
187
- accountAddresses.includes(internalTransaction.from)) ||
188
- (internalTransaction.to !== undefined &&
189
- accountAddresses.includes(internalTransaction.to)),
190
- )
191
- ) {
192
- return Promise.resolve(undefined)
193
- }
194
-
195
- // 最終的に swap のみ残った場合は Trade / AtomicArbitrage / SwapTransfer のいずれかとして扱う
196
- if (swap.transferOut.to === undefined) {
197
- return Promise.resolve(undefined)
198
- }
199
-
200
- // normal action を生成
201
- const normalAction = generateNormalAction(swap, chain, timestamp)
202
-
203
- // account action を生成
204
- const accountIds = new Set(
205
- accountAddresses.map((address) =>
206
- createEvmAddressId({ chainId: chain.id, address }),
207
- ),
208
- )
209
- const source = createEvmActionSource({
210
- chainId: chain.id,
211
- transactionHash: transaction.transactionHash,
212
- })
213
- const accountActions = parseNormalActionToAccountActions({
214
- action: normalAction,
215
- accountIds,
216
- source,
217
- // TODO 値を入れる
218
- cexAccountIds: undefined,
219
- })
220
-
221
- return Promise.resolve({
222
- actions: [normalAction],
223
- accountActions,
224
- })
225
- }
226
-
227
- const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
228
- swap: Swap<Price>,
229
- chain: Chain,
230
- timestamp: number,
231
- ): NormalActionAtomicArbitrage | NormalActionTrade => {
232
- if (
233
- swap.transferIn.type === 'InternalTransaction' &&
234
- swap.transferOut.type === 'InternalTransaction'
235
- ) {
236
- return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
237
- } else if (
238
- swap.transferIn.type === 'Erc20Transfer' &&
239
- swap.transferOut.type === 'Erc20Transfer' &&
240
- swap.transferIn.token.contractAddress ===
241
- swap.transferOut.token.contractAddress
242
- ) {
243
- return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
244
- } else {
245
- return generateNormalActionTrade(swap, chain, timestamp)
246
- }
247
- }
248
-
249
- const generateNormalActionAtomicArbitrage = <
250
- Price extends CryptoCurrencyPrice | undefined,
251
- >(
252
- swap: Swap<Price>,
253
- chain: Chain,
254
- timestamp: number,
255
- ): NormalActionAtomicArbitrage => {
256
- const { transferIn, transferOut } = swap
257
- if (transferIn.to === undefined || transferOut.to === undefined) {
258
- throw new Error('invalid swap')
259
- }
260
-
261
- return {
262
- type: 'NormalAction',
263
- action: 'atomic-arbitrage',
264
- evidence: 'contract',
265
- timestamp,
266
- comment: undefined,
267
- app: undefined,
268
- transfers: [
269
- transferIn.type === 'InternalTransaction'
270
- ? parseInternalTransactionToActionTransferOut({
271
- chain,
272
- internalTransaction: transferIn,
273
- })
274
- : parseErc20TransferToActionTransferOut({
275
- chainId: chain.id,
276
- transfer: transferIn,
277
- }),
278
- transferOut.type === 'InternalTransaction'
279
- ? parseInternalTransactionToActionTransferIn({
280
- chain,
281
- internalTransaction: transferOut,
282
- })
283
- : parseErc20TransferToActionTransferIn({
284
- chainId: chain.id,
285
- transfer: transferOut,
286
- }),
287
- ],
288
- }
289
- }
290
-
291
- const generateNormalActionTrade = <
292
- Price extends CryptoCurrencyPrice | undefined,
293
- >(
294
- swap: Swap<Price>,
295
- chain: Chain,
296
- timestamp: number,
297
- ): NormalActionTrade => {
298
- const { transferIn, transferOut } = swap
299
- if (transferIn.to === undefined || transferOut.to === undefined) {
300
- throw new Error('invalid swap')
301
- }
302
-
303
- return {
304
- type: 'NormalAction',
305
- action: 'trade',
306
- evidence: 'contract',
307
- timestamp,
308
- comment: undefined,
309
- app: undefined,
310
- transfers: [
311
- transferIn.type === 'InternalTransaction'
312
- ? parseInternalTransactionToActionTransferOut({
313
- chain,
314
- internalTransaction: transferIn,
315
- })
316
- : parseErc20TransferToActionTransferOut({
317
- chainId: chain.id,
318
- transfer: transferIn,
319
- }),
320
- transferOut.type === 'InternalTransaction'
321
- ? parseInternalTransactionToActionTransferIn({
322
- chain,
323
- internalTransaction: transferOut,
324
- })
325
- : parseErc20TransferToActionTransferIn({
326
- chainId: chain.id,
327
- transfer: transferOut,
328
- }),
329
- ],
330
- }
331
- }
332
-
333
- const getIndex = <Price extends CryptoCurrencyPrice | undefined>(
334
- data:
335
- | Swap<Price>
336
- | Erc20Transfer<Price>
337
- | WrappedDepositLog
338
- | WrappedWithdrawalLog,
339
- ): number => {
340
- switch (data.type) {
341
- case 'WrappedDepositLog': {
342
- return data.logIndex
343
- }
344
- case 'WrappedWithdrawalLog': {
345
- return data.logIndex
346
- }
347
- case 'Erc20Transfer': {
348
- return data.logIndex
349
- }
350
- case 'Swap': {
351
- return data.swapLogIndex
352
- }
353
- }
354
- }
355
-
356
- type Swap<Price extends CryptoCurrencyPrice | undefined> = {
357
- readonly type: 'Swap'
358
- readonly contractAddress: LowerHex
359
- readonly transferIn: Erc20Transfer<Price> | InternalTransaction<Price>
360
- readonly transferOut: Erc20Transfer<Price> | InternalTransaction<Price>
361
- readonly swapLogIndex: number
362
- }
363
-
364
- const createSwapFromUniv2SwapLog = <
365
- Price extends CryptoCurrencyPrice | undefined,
366
- >(
367
- log: UniV2PairSwapLog,
368
- erc20TokenTransfers: readonly Erc20Transfer<Price>[],
369
- ): Swap<Price> | undefined => {
370
- const { args, logIndex: swapLogIndex, address: contractAddress } = log
371
- const { value: amount0In } = args[1]
372
- const { value: amount1In } = args[2]
373
- const { value: amount0Out } = args[3]
374
- const { value: amount1Out } = args[4]
375
-
376
- // swap log より前の transfer log を抽出
377
- const beforeSwapTransfers = erc20TokenTransfers.filter(
378
- (transfer) => transfer.logIndex < swapLogIndex,
379
- )
380
-
381
- // swap log から amountIn / amountOut を取得
382
- const amountIn = amount0In + amount1In
383
- const amountOut = amount0Out + amount1Out
384
-
385
- // amountIn / amountOut が一致する transfer log を探す
386
- const transferIn = beforeSwapTransfers.findLast(
387
- (transfer) => transfer.value === amountIn,
388
- )
389
- const transferOut = beforeSwapTransfers.findLast(
390
- (transfer) => transfer.value === amountOut,
391
- )
392
-
393
- // なければ undefined を返す
394
- if (transferIn == undefined || transferOut === undefined) {
395
- return undefined
396
- }
397
-
398
- // あれば swap を生成して返す
399
- return createSwap({
400
- contractAddress,
401
- transferIn,
402
- transferOut,
403
- swapLogIndex,
404
- })
405
- }
406
-
407
- const createSwapFromUniv3SwapLog = <
408
- Price extends CryptoCurrencyPrice | undefined,
409
- >(
410
- log: UniV3PoolSwapLog,
411
- erc20TokenTransfers: readonly Erc20Transfer<Price>[],
412
- ): Swap<Price> | undefined => {
413
- const { args, logIndex: swapLogIndex, address: contractAddress } = log
414
- const { value: amount0 } = args[2]
415
- const { value: amount1 } = args[3]
416
-
417
- // swap log より前の transfer log を抽出
418
- const beforeSwapTransfers = erc20TokenTransfers.filter(
419
- (transfer) => transfer.logIndex < swapLogIndex,
420
- )
421
-
422
- // amountIn / amountOut の片方がプラス、もう片方がマイナスの場合でなければ undefined を返す
423
- if (
424
- amount0 === 0n ||
425
- amount1 === 0n ||
426
- (amount0 > 0n && amount1 > 0n) ||
427
- (amount0 < 0n && amount1 < 0n)
428
- ) {
429
- return undefined
430
- }
431
-
432
- // swap log から amountIn / amountOut を取得
433
- const amountIn = amount0 > 0n ? amount0 : amount1
434
- const amountOut = -1n * (amount0 > 0n ? amount1 : amount0)
435
-
436
- // amountIn / amountOut が一致する transfer log を探す
437
- const transferIn = beforeSwapTransfers.findLast(
438
- (transfer) => transfer.value === amountIn,
439
- )
440
- const transferOut = beforeSwapTransfers.findLast(
441
- (transfer) => transfer.value === amountOut,
442
- )
443
-
444
- // なければ undefined を返す
445
- if (transferIn == undefined || transferOut === undefined) {
446
- return undefined
447
- }
448
-
449
- // あれば swap を生成して返す
450
- return createSwap({
451
- contractAddress: contractAddress,
452
- transferIn,
453
- transferOut,
454
- swapLogIndex,
455
- })
456
- }
457
-
458
- const createSwapFromTraderJoeLBPairSwapLog = <
459
- Price extends CryptoCurrencyPrice | undefined,
460
- >(
461
- log: TraderJoeLBPairSwapLog,
462
- erc20TokenTransfers: readonly Erc20Transfer<Price>[],
463
- ): Swap<Price> | undefined => {
464
- const { args, logIndex: swapLogIndex, address: contractAddress } = log
465
-
466
- // swap log から amountIn / amountOut を取得
467
- const { value: amountIn } = args[4]
468
- const { value: amountOut } = args[5]
469
- const { value: fees } = args[7]
470
-
471
- const amountInWithFees = amountIn + fees
472
-
473
- // amountIn / amountOut が一致する transfer log を探す
474
- const transferIn = erc20TokenTransfers.findLast(
475
- (transfer) => transfer.value === amountInWithFees,
476
- )
477
- const transferOut = erc20TokenTransfers.findLast(
478
- (transfer) => transfer.value === amountOut,
479
- )
480
-
481
- // なければ undefined を返す
482
- if (transferIn == undefined || transferOut === undefined) {
483
- return undefined
484
- }
485
-
486
- // あれば swap を生成して返す
487
- return createSwap({
488
- contractAddress,
489
- transferIn,
490
- transferOut,
491
- swapLogIndex,
492
- })
493
- }
494
-
495
- const createSwap = <Price extends CryptoCurrencyPrice | undefined>({
496
- contractAddress,
497
- transferIn,
498
- transferOut,
499
- swapLogIndex,
500
- }: {
501
- readonly contractAddress: LowerHex
502
- readonly transferIn: Erc20Transfer<Price> | InternalTransaction<Price>
503
- readonly transferOut: Erc20Transfer<Price> | InternalTransaction<Price>
504
- readonly swapLogIndex: number
505
- }): Swap<Price> => ({
506
- type: 'Swap',
507
- contractAddress,
508
- transferIn,
509
- transferOut,
510
- swapLogIndex,
511
- })
512
-
513
- const createSwapUsingIndexes = <Price extends CryptoCurrencyPrice | undefined>({
514
- swapLogIndex,
515
- transferIn,
516
- transferOut,
517
- }: Swap<Price>): readonly number[] => {
518
- const transferInLogIndex =
519
- transferIn.type === 'Erc20Transfer' ? transferIn.logIndex : swapLogIndex
520
- const transferOutLogIndex =
521
- transferOut.type === 'Erc20Transfer' ? transferOut.logIndex : swapLogIndex
522
- const minIndex = Math.min(
523
- swapLogIndex,
524
- transferInLogIndex,
525
- transferOutLogIndex,
526
- )
527
- const maxIndex = Math.max(
528
- swapLogIndex,
529
- transferInLogIndex,
530
- transferOutLogIndex,
531
- )
532
- const mut_indexes = []
533
- for (let index = minIndex; index <= maxIndex; index++) {
534
- mut_indexes.push(index)
535
- }
536
- return mut_indexes
537
- }
538
-
539
- type Action<Price extends CryptoCurrencyPrice | undefined> =
540
- | Erc20Transfer<Price>
541
- | WrappedDepositLog
542
- | WrappedWithdrawalLog
543
- | Swap<Price>
544
-
545
- const mergeActions = <Price extends CryptoCurrencyPrice | undefined>(
546
- actions: readonly Action<Price>[],
547
- nativeTokenCryptocurrency: CryptoCurrency,
548
- ): readonly Action<Price>[] => {
549
- const sequenceMergedActions = mergeActionsBySequenceSwap(actions)
550
- const similarMergedActions = mergeActionsBySimilarSwap(sequenceMergedActions)
551
- const mergedActions = mergeActionsBySwapAndOtherAction(
552
- similarMergedActions,
553
- nativeTokenCryptocurrency,
554
- )
555
- // TODO deposit - transfer と並んでいて、 deposit value と transfer value が一致 & wrapped token である場合、結合して良さそう
556
- // [deposit, swap, withdraw] と残った場合のみ、 deposit - withdrawal の値が swap in と一致する場合は 3つ合わせて結合する
557
- if (mergedActions.length === 3) {
558
- const [deposit, swap, withdrawal] = mergedActions
559
- if (
560
- deposit.type === 'WrappedDepositLog' &&
561
- swap.type === 'Swap' &&
562
- withdrawal.type === 'WrappedWithdrawalLog' &&
563
- deposit.args[1].value - withdrawal.args[1].value === swap.transferIn.value
564
- ) {
565
- return [
566
- createSwap({
567
- ...swap,
568
- transferIn: {
569
- type: 'InternalTransaction',
570
- transactionHash: '0x',
571
- from: swap.transferIn.from,
572
- to: swap.transferIn.to,
573
- contractAddress: undefined,
574
- txType: '',
575
- value: swap.transferIn.value,
576
- gas: 0n,
577
- gasUsed: 0n,
578
- isError: false,
579
- input: undefined,
580
- currency: nativeTokenCryptocurrency,
581
- price: swap.transferIn.price,
582
- },
583
- }),
584
- ]
585
- }
586
- }
587
- return mergedActions
588
- }
589
-
590
- const mergeActionsBySequenceSwap = <
591
- Price extends CryptoCurrencyPrice | undefined,
592
- >(
593
- actions: readonly Action<Price>[],
594
- ): readonly Action<Price>[] => {
595
- const mut_newActions: Action<Price>[] = []
596
- let mut_previousAction: Action<Price> | undefined = undefined
597
- for (const action of actions) {
598
- if (mut_previousAction === undefined) {
599
- mut_previousAction = action
600
- continue
601
- }
602
-
603
- if (mut_previousAction.type === 'Swap' && action.type === 'Swap') {
604
- // 前後の swap を結合するか試す
605
- const mergedSwap: Swap<Price> | undefined = mergeSequenceSwaps([
606
- mut_previousAction,
607
- action,
608
- ])
609
- if (mergedSwap === undefined) {
610
- // 結合できていなければ、previous action を newActions に追加して、action を previous action に設定
611
- mut_newActions.push(mut_previousAction)
612
- mut_previousAction = action
613
- } else {
614
- // 結合できていれば、結合結果を previous action に設定
615
- mut_previousAction = mergedSwap
616
- }
617
- } else {
618
- // previous action を newActions に追加して、action を previous action に設定
619
- mut_newActions.push(mut_previousAction)
620
- mut_previousAction = action
621
- }
622
- }
623
- // previous action が残っていれば newActions に追加
624
- if (mut_previousAction !== undefined) {
625
- mut_newActions.push(mut_previousAction)
626
- }
627
- return mut_newActions
628
- }
629
-
630
- const mergeActionsBySimilarSwap = <
631
- Price extends CryptoCurrencyPrice | undefined,
632
- >(
633
- actions: readonly Action<Price>[],
634
- ): readonly Action<Price>[] => {
635
- const mut_newActions: Action<Price>[] = []
636
- let mut_previousAction: Action<Price> | undefined = undefined
637
- for (const action of actions) {
638
- if (mut_previousAction === undefined) {
639
- mut_previousAction = action
640
- continue
641
- }
642
-
643
- if (mut_previousAction.type === 'Swap' && action.type === 'Swap') {
644
- // 前後の swap を結合するか試す
645
- const mergedSwap: Swap<Price> | undefined = mergeSimilarSwaps([
646
- mut_previousAction,
647
- action,
648
- ])
649
- if (mergedSwap === undefined) {
650
- // 結合できていなければ、currentSwap を newActions に追加して、action を currentSwap に設定
651
- mut_newActions.push(mut_previousAction)
652
- mut_previousAction = action
653
- } else {
654
- // 結合できていれば、結合結果を currentSwap に設定
655
- mut_previousAction = mergedSwap
656
- }
657
- } else {
658
- // prevAction を newActions に追加して、action を prevAction に設定
659
- mut_newActions.push(mut_previousAction)
660
- mut_previousAction = action
661
- }
662
- }
663
- // currentSwap が残っていれば newActions に追加
664
- if (mut_previousAction !== undefined) {
665
- mut_newActions.push(mut_previousAction)
666
- }
667
- return mut_newActions
668
- }
669
-
670
- const mergeActionsBySwapAndOtherAction = <
671
- Price extends CryptoCurrencyPrice | undefined,
672
- >(
673
- actions: readonly Action<Price>[],
674
- nativeTokenCryptocurrency: CryptoCurrency,
675
- ): readonly Action<Price>[] => {
676
- const mut_newActions: Action<Price>[] = []
677
- let mut_previousAction: Action<Price> | undefined = undefined
678
- for (const action of actions) {
679
- if (mut_previousAction === undefined) {
680
- mut_previousAction = action
681
- continue
682
- }
683
-
684
- // 前後の action を結合するか試す
685
- const mergedAction: Swap<Price> | undefined = mergeSwapAndOtherAction(
686
- [mut_previousAction, action],
687
- nativeTokenCryptocurrency,
688
- )
689
- if (mergedAction === undefined) {
690
- // 結合できていなければ、previous action を newActions に追加して、action を previous action に設定
691
- mut_newActions.push(mut_previousAction)
692
- mut_previousAction = action
693
- } else {
694
- // 結合できていれば、結合結果を previous action に設定
695
- mut_previousAction = mergedAction
696
- }
697
- }
698
- // previous action が残っていれば newActions に追加
699
- if (mut_previousAction !== undefined) {
700
- mut_newActions.push(mut_previousAction)
701
- }
702
- return mut_newActions
703
- }
704
-
705
- const mergeSwapAndOtherAction = <Price extends CryptoCurrencyPrice | undefined>(
706
- actions: readonly [Action<Price>, Action<Price>],
707
- nativeTokenCryptocurrency: CryptoCurrency,
708
- ): Swap<Price> | undefined => {
709
- const [action0, action1] = actions
710
- if (action0.type === 'Swap') {
711
- // action1=Transfer | action0.out の token/amount/address が一致する場合は結合
712
- if (
713
- action1.type === 'Erc20Transfer' &&
714
- action0.transferOut.type === 'Erc20Transfer' &&
715
- action0.transferOut.token.contractAddress ===
716
- action1.token.contractAddress &&
717
- action0.transferOut.to === action1.from &&
718
- action0.transferOut.value === action1.value
719
- ) {
720
- return createSwap({
721
- ...action0,
722
- transferOut: action1,
723
- })
724
- }
725
- // action1=Withdrawal で action0.out の token/amount/address が一致する場合は結合
726
- if (
727
- action1.type === 'WrappedWithdrawalLog' &&
728
- action0.transferOut.type === 'Erc20Transfer' &&
729
- action0.transferOut.token.contractAddress === action1.address &&
730
- action0.transferOut.to === action1.args[0].value &&
731
- action0.transferOut.value === action1.args[1].value
732
- ) {
733
- return createSwap({
734
- ...action0,
735
- transferOut: {
736
- type: 'InternalTransaction',
737
- transactionHash: '0x',
738
- from: action0.transferOut.from,
739
- to: action0.transferOut.to,
740
- contractAddress: undefined,
741
- txType: '',
742
- value: action0.transferOut.value,
743
- gas: 0n,
744
- gasUsed: 0n,
745
- isError: false,
746
- input: undefined,
747
- currency: nativeTokenCryptocurrency,
748
- price: action0.transferOut.price,
749
- },
750
- })
751
- }
752
- } else if (action1.type === 'Swap') {
753
- // action0=Transfer で action1.in の token/amount/address が一致する場合は結合
754
- if (
755
- action0.type === 'Erc20Transfer' &&
756
- action1.transferIn.type === 'Erc20Transfer' &&
757
- action1.transferIn.token.contractAddress ===
758
- action0.token.contractAddress &&
759
- action1.transferIn.from === action0.to &&
760
- action1.transferIn.value === action0.value
761
- ) {
762
- return createSwap({
763
- ...action1,
764
- transferIn: action0,
765
- })
766
- }
767
- // action0=Deposit で action1.in の token/amount/address が一致する場合は結合
768
- if (
769
- action0.type === 'WrappedDepositLog' &&
770
- action1.transferIn.type === 'Erc20Transfer' &&
771
- action1.transferIn.token.contractAddress === action0.address &&
772
- action1.transferIn.from === action0.args[0].value &&
773
- action1.transferIn.value === action0.args[1].value
774
- ) {
775
- return createSwap({
776
- ...action1,
777
- transferIn: {
778
- type: 'InternalTransaction',
779
- transactionHash: '0x',
780
- from: action1.transferIn.from,
781
- to: action1.transferIn.to,
782
- contractAddress: undefined,
783
- txType: '',
784
- value: action1.transferIn.value,
785
- gas: 0n,
786
- gasUsed: 0n,
787
- isError: false,
788
- input: undefined,
789
- currency: nativeTokenCryptocurrency,
790
- price: action1.transferIn.price,
791
- },
792
- })
793
- }
794
- }
795
- return undefined
796
- }
797
-
798
- /** swap0 -> swap1 が連続取引の場合に結合して返す */
799
- const mergeSequenceSwaps = <Price extends CryptoCurrencyPrice | undefined>(
800
- swaps: readonly [Swap<Price>, Swap<Price>],
801
- ): Swap<Price> | undefined =>
802
- swaps[0].transferOut.type === 'Erc20Transfer' &&
803
- swaps[1].transferIn.type === 'Erc20Transfer' &&
804
- swaps[0].transferOut.value === swaps[1].transferIn.value &&
805
- swaps[0].transferOut.token.contractAddress ===
806
- swaps[1].transferIn.token.contractAddress
807
- ? createSwap({
808
- ...swaps[0],
809
- transferOut: swaps[1].transferOut,
810
- swapLogIndex: swaps[1].swapLogIndex,
811
- })
812
- : undefined
813
-
814
- /** swap0 , swap1 の address,token が全て同じ場合に結合して返す */
815
- const mergeSimilarSwaps = <Price extends CryptoCurrencyPrice | undefined>(
816
- swaps: readonly [Swap<Price>, Swap<Price>],
817
- ): Swap<Price> | undefined =>
818
- swaps[0].transferIn.type === 'Erc20Transfer' &&
819
- swaps[0].transferOut.type === 'Erc20Transfer' &&
820
- swaps[1].transferIn.type === 'Erc20Transfer' &&
821
- swaps[1].transferOut.type === 'Erc20Transfer' &&
822
- swaps[0].transferIn.from === swaps[1].transferIn.from &&
823
- swaps[0].transferOut.to === swaps[1].transferOut.to &&
824
- swaps[0].transferIn.token.contractAddress ===
825
- swaps[1].transferIn.token.contractAddress &&
826
- swaps[0].transferOut.token.contractAddress ===
827
- swaps[1].transferOut.token.contractAddress
828
- ? createSwap({
829
- ...swaps[0],
830
- transferIn: {
831
- ...swaps[0].transferIn,
832
- value: swaps[0].transferIn.value + swaps[1].transferIn.value,
833
- },
834
- transferOut: {
835
- ...swaps[1].transferOut,
836
- value: swaps[0].transferOut.value + swaps[1].transferOut.value,
837
- },
838
- swapLogIndex: swaps[1].swapLogIndex,
839
- })
840
- : undefined
841
-
842
- const mergeSwapAndInternalTransactions = <
843
- Price extends CryptoCurrencyPrice | undefined,
844
- >(
845
- swap: Swap<Price>,
846
- internalTransactions: readonly InternalTransaction<Price>[],
847
- ): {
848
- readonly swap: Swap<Price>
849
- readonly internalTransactions: readonly InternalTransaction<Price>[]
850
- } => {
851
- // swap.transferIn = internalTx で、swap.transferIn.from への internal transaction があれば結合
852
- if (swap.transferIn.type === 'InternalTransaction') {
853
- const index = internalTransactions.findIndex(
854
- (transaction) =>
855
- transaction.to !== undefined &&
856
- transaction.to === swap.transferIn.from &&
857
- transaction.value === swap.transferIn.value,
858
- )
859
- const internalTransaction = internalTransactions[index]
860
- if (
861
- internalTransaction !== undefined &&
862
- internalTransaction.to !== undefined
863
- ) {
864
- return {
865
- swap: createSwap({
866
- ...swap,
867
- transferIn: internalTransaction,
868
- }),
869
- internalTransactions: internalTransactions.filter(
870
- (_, index_) => index_ !== index,
871
- ),
872
- }
873
- }
874
- }
875
-
876
- // swap.out = native で、swap.addressOut への internal transaction があれば結合
877
- if (swap.transferOut.type === 'InternalTransaction') {
878
- const index = internalTransactions.findIndex(
879
- (transaction) =>
880
- transaction.from !== undefined &&
881
- transaction.from === swap.transferOut.to &&
882
- transaction.value === swap.transferOut.value,
883
- )
884
- const internalTransaction = internalTransactions[index]
885
- if (
886
- internalTransaction !== undefined &&
887
- internalTransaction.to !== undefined
888
- ) {
889
- return {
890
- swap: createSwap({
891
- ...swap,
892
- transferOut: internalTransaction,
893
- }),
894
- internalTransactions: internalTransactions.filter(
895
- (_, index_) => index_ !== index,
896
- ),
897
- }
898
- }
899
- }
900
-
901
- return {
902
- swap,
903
- internalTransactions,
904
- }
905
- }
1
+ // import type {
2
+ // CryptoCurrency,
3
+ // CryptoCurrencyPrice,
4
+ // NormalActionAtomicArbitrage,
5
+ // NormalActionTrade,
6
+ // } from '@0xtorch/core'
7
+ // import { parseNormalActionToAccountActions } from '@0xtorch/core'
8
+ // import { zeroAddress } from 'viem'
9
+ // import type { Chain } from '../../chain'
10
+ // import type {
11
+ // DecodedLog,
12
+ // Erc20Transfer,
13
+ // InternalTransaction,
14
+ // LowerHex,
15
+ // } from '../../types'
16
+ // import { toLowerHex } from '../../types'
17
+ // import { createEvmAddressId } from '../../utils'
18
+ // import { createEvmActionSource } from '../../utils/create'
19
+ // import {
20
+ // parseErc20TransferToActionTransferIn,
21
+ // parseErc20TransferToActionTransferOut,
22
+ // parseInternalTransactionToActionTransferIn,
23
+ // parseInternalTransactionToActionTransferOut,
24
+ // } from '../parsers/transfer'
25
+ // import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
26
+ // import type { TraderJoeLBPairSwapLog } from './traderJoeLBPairSwap'
27
+ // import { parseToTraderJoeLBPairSwap } from './traderJoeLBPairSwap'
28
+ // import type { UniV2PairSwapLog } from './univ2PairSwap'
29
+ // import { parseToUniv2SwapLog } from './univ2PairSwap'
30
+ // import type { UniV3PoolSwapLog } from './univ3PoolSwap'
31
+ // import { parseToUniv3SwapLog } from './univ3PoolSwap'
32
+ // import type { WrappedDepositLog } from './wrappedDeposit'
33
+ // import { parseToWrappedDepositLog } from './wrappedDeposit'
34
+ // import type { WrappedWithdrawalLog } from './wrappedWithdrawal'
35
+ // import { parseToWrappedWithdrawalLog } from './wrappedWithdrawal'
36
+
37
+ // export const analyzeSwap = <Price extends CryptoCurrencyPrice | undefined>({
38
+ // chain,
39
+ // transaction,
40
+ // accountAddresses,
41
+ // }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
42
+ // const {
43
+ // transactionHash,
44
+ // from,
45
+ // to,
46
+ // value,
47
+ // erc20Transfers,
48
+ // erc721Transfers,
49
+ // erc1155Transfers,
50
+ // internalTransactions,
51
+ // block,
52
+ // logs,
53
+ // nativeTokenPrice,
54
+ // } = transaction
55
+ // const timestamp = Number(block.timestamp) * 1000
56
+
57
+ // const nativeTransfer =
58
+ // value > 0 && to !== null
59
+ // ? {
60
+ // type: 'InternalTransaction' as const,
61
+ // transactionHash,
62
+ // from: toLowerHex(from),
63
+ // to: toLowerHex(to),
64
+ // contractAddress: undefined,
65
+ // txType: '',
66
+ // value:
67
+ // value -
68
+ // internalTransactions
69
+ // .filter(
70
+ // (internal) =>
71
+ // internal.from === toLowerHex(to) &&
72
+ // internal.to === toLowerHex(from),
73
+ // )
74
+ // .reduce(
75
+ // (accumulator, internal) => accumulator + internal.value,
76
+ // 0n,
77
+ // ),
78
+ // gas: 0n,
79
+ // gasUsed: 0n,
80
+ // isError: false,
81
+ // input: undefined,
82
+ // currency: chain.nativeToken.currency,
83
+ // price: nativeTokenPrice,
84
+ // }
85
+ // : undefined
86
+ // const allInternalTransactions: InternalTransaction<Price>[] = [
87
+ // ...(nativeTransfer === undefined ? [] : [nativeTransfer]),
88
+ // ...internalTransactions.filter(
89
+ // (internal) =>
90
+ // value === 0n ||
91
+ // to === null ||
92
+ // internal.from !== toLowerHex(to) ||
93
+ // internal.to !== toLowerHex(from),
94
+ // ),
95
+ // ]
96
+
97
+ // // If the transaction contains ERC721 or ERC1155 transfers, return undefined as a pattern mismatch.
98
+ // if (erc721Transfers.length > 0 || erc1155Transfers.length > 0) {
99
+ // return Promise.resolve(undefined)
100
+ // }
101
+
102
+ // // classify logs by type
103
+ // const decodedLogs = logs
104
+ // .map((log) => (log.type === 'decoded' ? log.log : undefined))
105
+ // .filter((log): log is DecodedLog => log !== undefined)
106
+ // const univ2SwapLogs = decodedLogs
107
+ // .map((log) => parseToUniv2SwapLog(log))
108
+ // .filter((log): log is UniV2PairSwapLog => log !== undefined)
109
+ // const univ3SwapLogs = decodedLogs
110
+ // .map((log) => parseToUniv3SwapLog(log))
111
+ // .filter((log): log is UniV3PoolSwapLog => log !== undefined)
112
+ // const traderJoeLBPairSwapLogs = decodedLogs
113
+ // .map((log) => parseToTraderJoeLBPairSwap(log))
114
+ // .filter((log): log is TraderJoeLBPairSwapLog => log !== undefined)
115
+ // const depositLogs = decodedLogs
116
+ // .map((log) => parseToWrappedDepositLog(log))
117
+ // .filter((log): log is WrappedDepositLog => log !== undefined)
118
+ // const withdrawalLogs = decodedLogs
119
+ // .map((log) => parseToWrappedWithdrawalLog(log))
120
+ // .filter((log): log is WrappedWithdrawalLog => log !== undefined)
121
+
122
+ // // If the transaction does not contain any swap logs, return undefined as a pattern mismatch.
123
+ // if (
124
+ // univ2SwapLogs.length === 0 &&
125
+ // univ3SwapLogs.length === 0 &&
126
+ // traderJoeLBPairSwapLogs.length === 0
127
+ // ) {
128
+ // return Promise.resolve(undefined)
129
+ // }
130
+
131
+ // // swap 生成
132
+ // const univ2Swaps = univ2SwapLogs
133
+ // .map((log) => createSwapFromUniv2SwapLog(log, erc20Transfers))
134
+ // .filter((swap): swap is Swap<Price> => swap !== undefined)
135
+ // const univ3Swaps = univ3SwapLogs
136
+ // .map((log) => createSwapFromUniv3SwapLog(log, erc20Transfers))
137
+ // .filter((swap): swap is Swap<Price> => swap !== undefined)
138
+ // const traderJoeLBPairSwaps = traderJoeLBPairSwapLogs
139
+ // .map((log) => createSwapFromTraderJoeLBPairSwapLog(log, erc20Transfers))
140
+ // .filter((swap): swap is Swap<Price> => swap !== undefined)
141
+ // const swaps = [...univ2Swaps, ...univ3Swaps, ...traderJoeLBPairSwaps]
142
+
143
+ // // swap action の前後に残る Transfer log を抽出
144
+ // const swapUsingIndexes = new Set(
145
+ // swaps.flatMap((swap) => createSwapUsingIndexes(swap)),
146
+ // )
147
+ // // from,to が同一の transfer は除外
148
+ // // from,to が zero address の transfer は除外
149
+ // const unrelatedTransfers = erc20Transfers.filter(
150
+ // (transfer) =>
151
+ // !swapUsingIndexes.has(transfer.logIndex) &&
152
+ // transfer.from !== transfer.to &&
153
+ // transfer.from !== zeroAddress &&
154
+ // transfer.to !== zeroAddress,
155
+ // )
156
+
157
+ // // index で swap, transfer, deposit, withdrawal log をソート
158
+ // const actions = [
159
+ // ...swaps,
160
+ // ...unrelatedTransfers,
161
+ // ...depositLogs,
162
+ // ...withdrawalLogs,
163
+ // ].toSorted((a, b) => getIndex(a) - getIndex(b))
164
+
165
+ // // sort した action を結合できる場合は結合していく
166
+ // const mergedActions = mergeActions(actions, chain.nativeToken.currency)
167
+
168
+ // // 結合した action が swap 1 つのみで無ければパターン不一致として、 undefined を返す
169
+ // if (mergedActions.length !== 1) {
170
+ // return Promise.resolve(undefined)
171
+ // }
172
+ // const mergedAction = mergedActions[0]
173
+ // if (mergedAction.type !== 'Swap') {
174
+ // return Promise.resolve(undefined)
175
+ // }
176
+
177
+ // // 結合できる internal transaction があれば結合する
178
+ // const { swap, internalTransactions: remainInternalTransactions } =
179
+ // mergeSwapAndInternalTransactions(mergedAction, allInternalTransactions)
180
+
181
+ // // 結合後の internal transaction に account に関連する value > 0 の transaction があれば、
182
+ // // パターン不一致として、 undefined を返す
183
+ // if (
184
+ // remainInternalTransactions.some(
185
+ // (internalTransaction) =>
186
+ // (internalTransaction.value > 0n &&
187
+ // accountAddresses.includes(internalTransaction.from)) ||
188
+ // (internalTransaction.to !== undefined &&
189
+ // accountAddresses.includes(internalTransaction.to)),
190
+ // )
191
+ // ) {
192
+ // return Promise.resolve(undefined)
193
+ // }
194
+
195
+ // // 最終的に swap のみ残った場合は Trade / AtomicArbitrage / SwapTransfer のいずれかとして扱う
196
+ // if (swap.transferOut.to === undefined) {
197
+ // return Promise.resolve(undefined)
198
+ // }
199
+
200
+ // // normal action を生成
201
+ // const normalAction = generateNormalAction(swap, chain, timestamp)
202
+
203
+ // // account action を生成
204
+ // const accountIds = new Set(
205
+ // accountAddresses.map((address) =>
206
+ // createEvmAddressId({ chainId: chain.id, address }),
207
+ // ),
208
+ // )
209
+ // const source = createEvmActionSource({
210
+ // chainId: chain.id,
211
+ // transactionHash: transaction.transactionHash,
212
+ // })
213
+ // const accountActions = parseNormalActionToAccountActions({
214
+ // action: normalAction,
215
+ // accountIds,
216
+ // source,
217
+ // // TODO 値を入れる
218
+ // cexAccountIds: undefined,
219
+ // })
220
+
221
+ // return Promise.resolve({
222
+ // actions: [normalAction],
223
+ // accountActions,
224
+ // })
225
+ // }
226
+
227
+ // const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
228
+ // swap: Swap<Price>,
229
+ // chain: Chain,
230
+ // timestamp: number,
231
+ // ): NormalActionAtomicArbitrage | NormalActionTrade => {
232
+ // if (
233
+ // swap.transferIn.type === 'InternalTransaction' &&
234
+ // swap.transferOut.type === 'InternalTransaction'
235
+ // ) {
236
+ // return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
237
+ // }
238
+ // if (
239
+ // swap.transferIn.type === 'Erc20Transfer' &&
240
+ // swap.transferOut.type === 'Erc20Transfer' &&
241
+ // swap.transferIn.token.contractAddress ===
242
+ // swap.transferOut.token.contractAddress
243
+ // ) {
244
+ // return generateNormalActionAtomicArbitrage(swap, chain, timestamp)
245
+ // }
246
+ // return generateNormalActionTrade(swap, chain, timestamp)
247
+ // }
248
+
249
+ // const generateNormalActionAtomicArbitrage = <
250
+ // Price extends CryptoCurrencyPrice | undefined,
251
+ // >(
252
+ // swap: Swap<Price>,
253
+ // chain: Chain,
254
+ // timestamp: number,
255
+ // ): NormalActionAtomicArbitrage => {
256
+ // const { transferIn, transferOut } = swap
257
+ // if (transferIn.to === undefined || transferOut.to === undefined) {
258
+ // throw new Error('invalid swap')
259
+ // }
260
+
261
+ // return {
262
+ // type: 'NormalAction',
263
+ // action: 'atomic-arbitrage',
264
+ // evidence: 'contract',
265
+ // timestamp,
266
+ // comment: undefined,
267
+ // app: undefined,
268
+ // transfers: [
269
+ // transferIn.type === 'InternalTransaction'
270
+ // ? parseInternalTransactionToActionTransferOut({
271
+ // chain,
272
+ // internalTransaction: transferIn,
273
+ // })
274
+ // : parseErc20TransferToActionTransferOut({
275
+ // chainId: chain.id,
276
+ // transfer: transferIn,
277
+ // }),
278
+ // transferOut.type === 'InternalTransaction'
279
+ // ? parseInternalTransactionToActionTransferIn({
280
+ // chain,
281
+ // internalTransaction: transferOut,
282
+ // })
283
+ // : parseErc20TransferToActionTransferIn({
284
+ // chainId: chain.id,
285
+ // transfer: transferOut,
286
+ // }),
287
+ // ],
288
+ // }
289
+ // }
290
+
291
+ // const generateNormalActionTrade = <
292
+ // Price extends CryptoCurrencyPrice | undefined,
293
+ // >(
294
+ // swap: Swap<Price>,
295
+ // chain: Chain,
296
+ // timestamp: number,
297
+ // ): NormalActionTrade => {
298
+ // const { transferIn, transferOut } = swap
299
+ // if (transferIn.to === undefined || transferOut.to === undefined) {
300
+ // throw new Error('invalid swap')
301
+ // }
302
+
303
+ // return {
304
+ // type: 'NormalAction',
305
+ // action: 'trade',
306
+ // evidence: 'contract',
307
+ // timestamp,
308
+ // comment: undefined,
309
+ // app: undefined,
310
+ // transfers: [
311
+ // transferIn.type === 'InternalTransaction'
312
+ // ? parseInternalTransactionToActionTransferOut({
313
+ // chain,
314
+ // internalTransaction: transferIn,
315
+ // })
316
+ // : parseErc20TransferToActionTransferOut({
317
+ // chainId: chain.id,
318
+ // transfer: transferIn,
319
+ // }),
320
+ // transferOut.type === 'InternalTransaction'
321
+ // ? parseInternalTransactionToActionTransferIn({
322
+ // chain,
323
+ // internalTransaction: transferOut,
324
+ // })
325
+ // : parseErc20TransferToActionTransferIn({
326
+ // chainId: chain.id,
327
+ // transfer: transferOut,
328
+ // }),
329
+ // ],
330
+ // }
331
+ // }
332
+
333
+ // const getIndex = <Price extends CryptoCurrencyPrice | undefined>(
334
+ // data:
335
+ // | Swap<Price>
336
+ // | Erc20Transfer<Price>
337
+ // | WrappedDepositLog
338
+ // | WrappedWithdrawalLog,
339
+ // ): number => {
340
+ // switch (data.type) {
341
+ // case 'WrappedDepositLog': {
342
+ // return data.logIndex
343
+ // }
344
+ // case 'WrappedWithdrawalLog': {
345
+ // return data.logIndex
346
+ // }
347
+ // case 'Erc20Transfer': {
348
+ // return data.logIndex
349
+ // }
350
+ // case 'Swap': {
351
+ // return data.swapLogIndex
352
+ // }
353
+ // }
354
+ // }
355
+
356
+ // type Swap<Price extends CryptoCurrencyPrice | undefined> = {
357
+ // readonly type: 'Swap'
358
+ // readonly contractAddress: LowerHex
359
+ // readonly transferIn: Erc20Transfer<Price> | InternalTransaction<Price>
360
+ // readonly transferOut: Erc20Transfer<Price> | InternalTransaction<Price>
361
+ // readonly swapLogIndex: number
362
+ // }
363
+
364
+ // const createSwapFromUniv2SwapLog = <
365
+ // Price extends CryptoCurrencyPrice | undefined,
366
+ // >(
367
+ // log: UniV2PairSwapLog,
368
+ // erc20TokenTransfers: readonly Erc20Transfer<Price>[],
369
+ // ): Swap<Price> | undefined => {
370
+ // const { args, logIndex: swapLogIndex, address: contractAddress } = log
371
+ // const { value: amount0In } = args[1]
372
+ // const { value: amount1In } = args[2]
373
+ // const { value: amount0Out } = args[3]
374
+ // const { value: amount1Out } = args[4]
375
+
376
+ // // swap log より前の transfer log を抽出
377
+ // const beforeSwapTransfers = erc20TokenTransfers.filter(
378
+ // (transfer) => transfer.logIndex < swapLogIndex,
379
+ // )
380
+
381
+ // // swap log から amountIn / amountOut を取得
382
+ // const amountIn = amount0In + amount1In
383
+ // const amountOut = amount0Out + amount1Out
384
+
385
+ // // amountIn / amountOut が一致する transfer log を探す
386
+ // const transferIn = beforeSwapTransfers.findLast(
387
+ // (transfer) => transfer.value === amountIn,
388
+ // )
389
+ // const transferOut = beforeSwapTransfers.findLast(
390
+ // (transfer) => transfer.value === amountOut,
391
+ // )
392
+
393
+ // // なければ undefined を返す
394
+ // if (transferIn === undefined || transferOut === undefined) {
395
+ // return undefined
396
+ // }
397
+
398
+ // // あれば swap を生成して返す
399
+ // return createSwap({
400
+ // contractAddress,
401
+ // transferIn,
402
+ // transferOut,
403
+ // swapLogIndex,
404
+ // })
405
+ // }
406
+
407
+ // const createSwapFromUniv3SwapLog = <
408
+ // Price extends CryptoCurrencyPrice | undefined,
409
+ // >(
410
+ // log: UniV3PoolSwapLog,
411
+ // erc20TokenTransfers: readonly Erc20Transfer<Price>[],
412
+ // ): Swap<Price> | undefined => {
413
+ // const { args, logIndex: swapLogIndex, address: contractAddress } = log
414
+ // const { value: amount0 } = args[2]
415
+ // const { value: amount1 } = args[3]
416
+
417
+ // // swap log より前の transfer log を抽出
418
+ // const beforeSwapTransfers = erc20TokenTransfers.filter(
419
+ // (transfer) => transfer.logIndex < swapLogIndex,
420
+ // )
421
+
422
+ // // amountIn / amountOut の片方がプラス、もう片方がマイナスの場合でなければ undefined を返す
423
+ // if (
424
+ // amount0 === 0n ||
425
+ // amount1 === 0n ||
426
+ // (amount0 > 0n && amount1 > 0n) ||
427
+ // (amount0 < 0n && amount1 < 0n)
428
+ // ) {
429
+ // return undefined
430
+ // }
431
+
432
+ // // swap log から amountIn / amountOut を取得
433
+ // const amountIn = amount0 > 0n ? amount0 : amount1
434
+ // const amountOut = -1n * (amount0 > 0n ? amount1 : amount0)
435
+
436
+ // // amountIn / amountOut が一致する transfer log を探す
437
+ // const transferIn = beforeSwapTransfers.findLast(
438
+ // (transfer) => transfer.value === amountIn,
439
+ // )
440
+ // const transferOut = beforeSwapTransfers.findLast(
441
+ // (transfer) => transfer.value === amountOut,
442
+ // )
443
+
444
+ // // なければ undefined を返す
445
+ // if (transferIn === undefined || transferOut === undefined) {
446
+ // return undefined
447
+ // }
448
+
449
+ // // あれば swap を生成して返す
450
+ // return createSwap({
451
+ // contractAddress: contractAddress,
452
+ // transferIn,
453
+ // transferOut,
454
+ // swapLogIndex,
455
+ // })
456
+ // }
457
+
458
+ // const createSwapFromTraderJoeLBPairSwapLog = <
459
+ // Price extends CryptoCurrencyPrice | undefined,
460
+ // >(
461
+ // log: TraderJoeLBPairSwapLog,
462
+ // erc20TokenTransfers: readonly Erc20Transfer<Price>[],
463
+ // ): Swap<Price> | undefined => {
464
+ // const { args, logIndex: swapLogIndex, address: contractAddress } = log
465
+
466
+ // // swap log から amountIn / amountOut を取得
467
+ // const { value: amountIn } = args[4]
468
+ // const { value: amountOut } = args[5]
469
+ // const { value: fees } = args[7]
470
+
471
+ // const amountInWithFees = amountIn + fees
472
+
473
+ // // amountIn / amountOut が一致する transfer log を探す
474
+ // const transferIn = erc20TokenTransfers.findLast(
475
+ // (transfer) => transfer.value === amountInWithFees,
476
+ // )
477
+ // const transferOut = erc20TokenTransfers.findLast(
478
+ // (transfer) => transfer.value === amountOut,
479
+ // )
480
+
481
+ // // なければ undefined を返す
482
+ // if (transferIn === undefined || transferOut === undefined) {
483
+ // return undefined
484
+ // }
485
+
486
+ // // あれば swap を生成して返す
487
+ // return createSwap({
488
+ // contractAddress,
489
+ // transferIn,
490
+ // transferOut,
491
+ // swapLogIndex,
492
+ // })
493
+ // }
494
+
495
+ // const createSwap = <Price extends CryptoCurrencyPrice | undefined>({
496
+ // contractAddress,
497
+ // transferIn,
498
+ // transferOut,
499
+ // swapLogIndex,
500
+ // }: {
501
+ // readonly contractAddress: LowerHex
502
+ // readonly transferIn: Erc20Transfer<Price> | InternalTransaction<Price>
503
+ // readonly transferOut: Erc20Transfer<Price> | InternalTransaction<Price>
504
+ // readonly swapLogIndex: number
505
+ // }): Swap<Price> => ({
506
+ // type: 'Swap',
507
+ // contractAddress,
508
+ // transferIn,
509
+ // transferOut,
510
+ // swapLogIndex,
511
+ // })
512
+
513
+ // const createSwapUsingIndexes = <Price extends CryptoCurrencyPrice | undefined>({
514
+ // swapLogIndex,
515
+ // transferIn,
516
+ // transferOut,
517
+ // }: Swap<Price>): readonly number[] => {
518
+ // const transferInLogIndex =
519
+ // transferIn.type === 'Erc20Transfer' ? transferIn.logIndex : swapLogIndex
520
+ // const transferOutLogIndex =
521
+ // transferOut.type === 'Erc20Transfer' ? transferOut.logIndex : swapLogIndex
522
+ // const minIndex = Math.min(
523
+ // swapLogIndex,
524
+ // transferInLogIndex,
525
+ // transferOutLogIndex,
526
+ // )
527
+ // const maxIndex = Math.max(
528
+ // swapLogIndex,
529
+ // transferInLogIndex,
530
+ // transferOutLogIndex,
531
+ // )
532
+ // const mut_indexes = []
533
+ // for (let index = minIndex; index <= maxIndex; index++) {
534
+ // mut_indexes.push(index)
535
+ // }
536
+ // return mut_indexes
537
+ // }
538
+
539
+ // type Action<Price extends CryptoCurrencyPrice | undefined> =
540
+ // | Erc20Transfer<Price>
541
+ // | WrappedDepositLog
542
+ // | WrappedWithdrawalLog
543
+ // | Swap<Price>
544
+
545
+ // const mergeActions = <Price extends CryptoCurrencyPrice | undefined>(
546
+ // actions: readonly Action<Price>[],
547
+ // nativeTokenCryptocurrency: CryptoCurrency,
548
+ // ): readonly Action<Price>[] => {
549
+ // const sequenceMergedActions = mergeActionsBySequenceSwap(actions)
550
+ // const similarMergedActions = mergeActionsBySimilarSwap(sequenceMergedActions)
551
+ // const mergedActions = mergeActionsBySwapAndOtherAction(
552
+ // similarMergedActions,
553
+ // nativeTokenCryptocurrency,
554
+ // )
555
+ // // TODO deposit - transfer と並んでいて、 deposit value と transfer value が一致 & wrapped token である場合、結合して良さそう
556
+ // // [deposit, swap, withdraw] と残った場合のみ、 deposit - withdrawal の値が swap in と一致する場合は 3つ合わせて結合する
557
+ // if (mergedActions.length === 3) {
558
+ // const [deposit, swap, withdrawal] = mergedActions
559
+ // if (
560
+ // deposit.type === 'WrappedDepositLog' &&
561
+ // swap.type === 'Swap' &&
562
+ // withdrawal.type === 'WrappedWithdrawalLog' &&
563
+ // deposit.args[1].value - withdrawal.args[1].value === swap.transferIn.value
564
+ // ) {
565
+ // return [
566
+ // createSwap({
567
+ // ...swap,
568
+ // transferIn: {
569
+ // type: 'InternalTransaction',
570
+ // transactionHash: '0x',
571
+ // from: swap.transferIn.from,
572
+ // to: swap.transferIn.to,
573
+ // contractAddress: undefined,
574
+ // txType: '',
575
+ // value: swap.transferIn.value,
576
+ // gas: 0n,
577
+ // gasUsed: 0n,
578
+ // isError: false,
579
+ // input: undefined,
580
+ // currency: nativeTokenCryptocurrency,
581
+ // price: swap.transferIn.price,
582
+ // },
583
+ // }),
584
+ // ]
585
+ // }
586
+ // }
587
+ // return mergedActions
588
+ // }
589
+
590
+ // const mergeActionsBySequenceSwap = <
591
+ // Price extends CryptoCurrencyPrice | undefined,
592
+ // >(
593
+ // actions: readonly Action<Price>[],
594
+ // ): readonly Action<Price>[] => {
595
+ // const mut_newActions: Action<Price>[] = []
596
+ // let mut_previousAction: Action<Price> | undefined = undefined
597
+ // for (const action of actions) {
598
+ // if (mut_previousAction === undefined) {
599
+ // mut_previousAction = action
600
+ // continue
601
+ // }
602
+
603
+ // if (mut_previousAction.type === 'Swap' && action.type === 'Swap') {
604
+ // // 前後の swap を結合するか試す
605
+ // const mergedSwap: Swap<Price> | undefined = mergeSequenceSwaps([
606
+ // mut_previousAction,
607
+ // action,
608
+ // ])
609
+ // if (mergedSwap === undefined) {
610
+ // // 結合できていなければ、previous action を newActions に追加して、action を previous action に設定
611
+ // mut_newActions.push(mut_previousAction)
612
+ // mut_previousAction = action
613
+ // } else {
614
+ // // 結合できていれば、結合結果を previous action に設定
615
+ // mut_previousAction = mergedSwap
616
+ // }
617
+ // } else {
618
+ // // previous action を newActions に追加して、action を previous action に設定
619
+ // mut_newActions.push(mut_previousAction)
620
+ // mut_previousAction = action
621
+ // }
622
+ // }
623
+ // // previous action が残っていれば newActions に追加
624
+ // if (mut_previousAction !== undefined) {
625
+ // mut_newActions.push(mut_previousAction)
626
+ // }
627
+ // return mut_newActions
628
+ // }
629
+
630
+ // const mergeActionsBySimilarSwap = <
631
+ // Price extends CryptoCurrencyPrice | undefined,
632
+ // >(
633
+ // actions: readonly Action<Price>[],
634
+ // ): readonly Action<Price>[] => {
635
+ // const mut_newActions: Action<Price>[] = []
636
+ // let mut_previousAction: Action<Price> | undefined = undefined
637
+ // for (const action of actions) {
638
+ // if (mut_previousAction === undefined) {
639
+ // mut_previousAction = action
640
+ // continue
641
+ // }
642
+
643
+ // if (mut_previousAction.type === 'Swap' && action.type === 'Swap') {
644
+ // // 前後の swap を結合するか試す
645
+ // const mergedSwap: Swap<Price> | undefined = mergeSimilarSwaps([
646
+ // mut_previousAction,
647
+ // action,
648
+ // ])
649
+ // if (mergedSwap === undefined) {
650
+ // // 結合できていなければ、currentSwap を newActions に追加して、action を currentSwap に設定
651
+ // mut_newActions.push(mut_previousAction)
652
+ // mut_previousAction = action
653
+ // } else {
654
+ // // 結合できていれば、結合結果を currentSwap に設定
655
+ // mut_previousAction = mergedSwap
656
+ // }
657
+ // } else {
658
+ // // prevAction を newActions に追加して、action を prevAction に設定
659
+ // mut_newActions.push(mut_previousAction)
660
+ // mut_previousAction = action
661
+ // }
662
+ // }
663
+ // // currentSwap が残っていれば newActions に追加
664
+ // if (mut_previousAction !== undefined) {
665
+ // mut_newActions.push(mut_previousAction)
666
+ // }
667
+ // return mut_newActions
668
+ // }
669
+
670
+ // const mergeActionsBySwapAndOtherAction = <
671
+ // Price extends CryptoCurrencyPrice | undefined,
672
+ // >(
673
+ // actions: readonly Action<Price>[],
674
+ // nativeTokenCryptocurrency: CryptoCurrency,
675
+ // ): readonly Action<Price>[] => {
676
+ // const mut_newActions: Action<Price>[] = []
677
+ // let mut_previousAction: Action<Price> | undefined = undefined
678
+ // for (const action of actions) {
679
+ // if (mut_previousAction === undefined) {
680
+ // mut_previousAction = action
681
+ // continue
682
+ // }
683
+
684
+ // // 前後の action を結合するか試す
685
+ // const mergedAction: Swap<Price> | undefined = mergeSwapAndOtherAction(
686
+ // [mut_previousAction, action],
687
+ // nativeTokenCryptocurrency,
688
+ // )
689
+ // if (mergedAction === undefined) {
690
+ // // 結合できていなければ、previous action を newActions に追加して、action を previous action に設定
691
+ // mut_newActions.push(mut_previousAction)
692
+ // mut_previousAction = action
693
+ // } else {
694
+ // // 結合できていれば、結合結果を previous action に設定
695
+ // mut_previousAction = mergedAction
696
+ // }
697
+ // }
698
+ // // previous action が残っていれば newActions に追加
699
+ // if (mut_previousAction !== undefined) {
700
+ // mut_newActions.push(mut_previousAction)
701
+ // }
702
+ // return mut_newActions
703
+ // }
704
+
705
+ // const mergeSwapAndOtherAction = <Price extends CryptoCurrencyPrice | undefined>(
706
+ // actions: readonly [Action<Price>, Action<Price>],
707
+ // nativeTokenCryptocurrency: CryptoCurrency,
708
+ // ): Swap<Price> | undefined => {
709
+ // const [action0, action1] = actions
710
+ // if (action0.type === 'Swap') {
711
+ // // action1=Transfer | action0.out の token/amount/address が一致する場合は結合
712
+ // if (
713
+ // action1.type === 'Erc20Transfer' &&
714
+ // action0.transferOut.type === 'Erc20Transfer' &&
715
+ // action0.transferOut.token.contractAddress ===
716
+ // action1.token.contractAddress &&
717
+ // action0.transferOut.to === action1.from &&
718
+ // action0.transferOut.value === action1.value
719
+ // ) {
720
+ // return createSwap({
721
+ // ...action0,
722
+ // transferOut: action1,
723
+ // })
724
+ // }
725
+ // // action1=Withdrawal で action0.out の token/amount/address が一致する場合は結合
726
+ // if (
727
+ // action1.type === 'WrappedWithdrawalLog' &&
728
+ // action0.transferOut.type === 'Erc20Transfer' &&
729
+ // action0.transferOut.token.contractAddress === action1.address &&
730
+ // action0.transferOut.to === action1.args[0].value &&
731
+ // action0.transferOut.value === action1.args[1].value
732
+ // ) {
733
+ // return createSwap({
734
+ // ...action0,
735
+ // transferOut: {
736
+ // type: 'InternalTransaction',
737
+ // transactionHash: '0x',
738
+ // from: action0.transferOut.from,
739
+ // to: action0.transferOut.to,
740
+ // contractAddress: undefined,
741
+ // txType: '',
742
+ // value: action0.transferOut.value,
743
+ // gas: 0n,
744
+ // gasUsed: 0n,
745
+ // isError: false,
746
+ // input: undefined,
747
+ // currency: nativeTokenCryptocurrency,
748
+ // price: action0.transferOut.price,
749
+ // },
750
+ // })
751
+ // }
752
+ // } else if (action1.type === 'Swap') {
753
+ // // action0=Transfer で action1.in の token/amount/address が一致する場合は結合
754
+ // if (
755
+ // action0.type === 'Erc20Transfer' &&
756
+ // action1.transferIn.type === 'Erc20Transfer' &&
757
+ // action1.transferIn.token.contractAddress ===
758
+ // action0.token.contractAddress &&
759
+ // action1.transferIn.from === action0.to &&
760
+ // action1.transferIn.value === action0.value
761
+ // ) {
762
+ // return createSwap({
763
+ // ...action1,
764
+ // transferIn: action0,
765
+ // })
766
+ // }
767
+ // // action0=Deposit で action1.in の token/amount/address が一致する場合は結合
768
+ // if (
769
+ // action0.type === 'WrappedDepositLog' &&
770
+ // action1.transferIn.type === 'Erc20Transfer' &&
771
+ // action1.transferIn.token.contractAddress === action0.address &&
772
+ // action1.transferIn.from === action0.args[0].value &&
773
+ // action1.transferIn.value === action0.args[1].value
774
+ // ) {
775
+ // return createSwap({
776
+ // ...action1,
777
+ // transferIn: {
778
+ // type: 'InternalTransaction',
779
+ // transactionHash: '0x',
780
+ // from: action1.transferIn.from,
781
+ // to: action1.transferIn.to,
782
+ // contractAddress: undefined,
783
+ // txType: '',
784
+ // value: action1.transferIn.value,
785
+ // gas: 0n,
786
+ // gasUsed: 0n,
787
+ // isError: false,
788
+ // input: undefined,
789
+ // currency: nativeTokenCryptocurrency,
790
+ // price: action1.transferIn.price,
791
+ // },
792
+ // })
793
+ // }
794
+ // }
795
+ // return undefined
796
+ // }
797
+
798
+ // /** swap0 -> swap1 が連続取引の場合に結合して返す */
799
+ // const mergeSequenceSwaps = <Price extends CryptoCurrencyPrice | undefined>(
800
+ // swaps: readonly [Swap<Price>, Swap<Price>],
801
+ // ): Swap<Price> | undefined =>
802
+ // swaps[0].transferOut.type === 'Erc20Transfer' &&
803
+ // swaps[1].transferIn.type === 'Erc20Transfer' &&
804
+ // swaps[0].transferOut.value === swaps[1].transferIn.value &&
805
+ // swaps[0].transferOut.token.contractAddress ===
806
+ // swaps[1].transferIn.token.contractAddress
807
+ // ? createSwap({
808
+ // ...swaps[0],
809
+ // transferOut: swaps[1].transferOut,
810
+ // swapLogIndex: swaps[1].swapLogIndex,
811
+ // })
812
+ // : undefined
813
+
814
+ // /** swap0 , swap1 の address,token が全て同じ場合に結合して返す */
815
+ // const mergeSimilarSwaps = <Price extends CryptoCurrencyPrice | undefined>(
816
+ // swaps: readonly [Swap<Price>, Swap<Price>],
817
+ // ): Swap<Price> | undefined =>
818
+ // swaps[0].transferIn.type === 'Erc20Transfer' &&
819
+ // swaps[0].transferOut.type === 'Erc20Transfer' &&
820
+ // swaps[1].transferIn.type === 'Erc20Transfer' &&
821
+ // swaps[1].transferOut.type === 'Erc20Transfer' &&
822
+ // swaps[0].transferIn.from === swaps[1].transferIn.from &&
823
+ // swaps[0].transferOut.to === swaps[1].transferOut.to &&
824
+ // swaps[0].transferIn.token.contractAddress ===
825
+ // swaps[1].transferIn.token.contractAddress &&
826
+ // swaps[0].transferOut.token.contractAddress ===
827
+ // swaps[1].transferOut.token.contractAddress
828
+ // ? createSwap({
829
+ // ...swaps[0],
830
+ // transferIn: {
831
+ // ...swaps[0].transferIn,
832
+ // value: swaps[0].transferIn.value + swaps[1].transferIn.value,
833
+ // },
834
+ // transferOut: {
835
+ // ...swaps[1].transferOut,
836
+ // value: swaps[0].transferOut.value + swaps[1].transferOut.value,
837
+ // },
838
+ // swapLogIndex: swaps[1].swapLogIndex,
839
+ // })
840
+ // : undefined
841
+
842
+ // const mergeSwapAndInternalTransactions = <
843
+ // Price extends CryptoCurrencyPrice | undefined,
844
+ // >(
845
+ // swap: Swap<Price>,
846
+ // internalTransactions: readonly InternalTransaction<Price>[],
847
+ // ): {
848
+ // readonly swap: Swap<Price>
849
+ // readonly internalTransactions: readonly InternalTransaction<Price>[]
850
+ // } => {
851
+ // // swap.transferIn = internalTx で、swap.transferIn.from への internal transaction があれば結合
852
+ // if (swap.transferIn.type === 'InternalTransaction') {
853
+ // const index = internalTransactions.findIndex(
854
+ // (transaction) =>
855
+ // transaction.to !== undefined &&
856
+ // transaction.to === swap.transferIn.from &&
857
+ // transaction.value === swap.transferIn.value,
858
+ // )
859
+ // const internalTransaction = internalTransactions[index]
860
+ // if (
861
+ // internalTransaction !== undefined &&
862
+ // internalTransaction.to !== undefined
863
+ // ) {
864
+ // return {
865
+ // swap: createSwap({
866
+ // ...swap,
867
+ // transferIn: internalTransaction,
868
+ // }),
869
+ // internalTransactions: internalTransactions.filter(
870
+ // (_, index_) => index_ !== index,
871
+ // ),
872
+ // }
873
+ // }
874
+ // }
875
+
876
+ // // swap.out = native で、swap.addressOut への internal transaction があれば結合
877
+ // if (swap.transferOut.type === 'InternalTransaction') {
878
+ // const index = internalTransactions.findIndex(
879
+ // (transaction) =>
880
+ // transaction.from !== undefined &&
881
+ // transaction.from === swap.transferOut.to &&
882
+ // transaction.value === swap.transferOut.value,
883
+ // )
884
+ // const internalTransaction = internalTransactions[index]
885
+ // if (
886
+ // internalTransaction !== undefined &&
887
+ // internalTransaction.to !== undefined
888
+ // ) {
889
+ // return {
890
+ // swap: createSwap({
891
+ // ...swap,
892
+ // transferOut: internalTransaction,
893
+ // }),
894
+ // internalTransactions: internalTransactions.filter(
895
+ // (_, index_) => index_ !== index,
896
+ // ),
897
+ // }
898
+ // }
899
+ // }
900
+
901
+ // return {
902
+ // swap,
903
+ // internalTransactions,
904
+ // }
905
+ // }