@0xtorch/evm 0.0.10 → 0.0.12

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 (410) hide show
  1. package/.DS_Store +0 -0
  2. package/_cjs/analyzer/analyze.js.map +1 -1
  3. package/_cjs/analyzer/axieMarketplace/analyze.js +37 -130
  4. package/_cjs/analyzer/axieMarketplace/analyze.js.map +1 -1
  5. package/_cjs/analyzer/gasFee/analyze.js +22 -21
  6. package/_cjs/analyzer/gasFee/analyze.js.map +1 -1
  7. package/_cjs/analyzer/index.js +2 -1
  8. package/_cjs/analyzer/index.js.map +1 -1
  9. package/_cjs/analyzer/json/analyze.js +21 -29
  10. package/_cjs/analyzer/json/analyze.js.map +1 -1
  11. package/_cjs/analyzer/json/components/comment.js +47 -0
  12. package/_cjs/analyzer/json/components/comment.js.map +1 -0
  13. package/_cjs/analyzer/json/components/erc1155.js +93 -0
  14. package/_cjs/analyzer/json/components/erc1155.js.map +1 -0
  15. package/_cjs/analyzer/json/components/erc1155Raw.js +31 -0
  16. package/_cjs/analyzer/json/components/erc1155Raw.js.map +1 -0
  17. package/_cjs/analyzer/json/components/erc20.js +90 -0
  18. package/_cjs/analyzer/json/components/erc20.js.map +1 -0
  19. package/_cjs/analyzer/json/components/erc20Raw.js +28 -0
  20. package/_cjs/analyzer/json/components/erc20Raw.js.map +1 -0
  21. package/_cjs/analyzer/json/components/erc721.js +78 -0
  22. package/_cjs/analyzer/json/components/erc721.js.map +1 -0
  23. package/_cjs/analyzer/json/components/erc721Raw.js +29 -0
  24. package/_cjs/analyzer/json/components/erc721Raw.js.map +1 -0
  25. package/_cjs/analyzer/json/components/id.js +47 -0
  26. package/_cjs/analyzer/json/components/id.js.map +1 -0
  27. package/_cjs/analyzer/json/components/internal.js +78 -0
  28. package/_cjs/analyzer/json/components/internal.js.map +1 -0
  29. package/_cjs/analyzer/json/components/internalRaw.js +26 -0
  30. package/_cjs/analyzer/json/components/internalRaw.js.map +1 -0
  31. package/_cjs/analyzer/json/components/logArgument.js +67 -0
  32. package/_cjs/analyzer/json/components/logArgument.js.map +1 -0
  33. package/_cjs/analyzer/json/components/logArgumentRaw.js +41 -0
  34. package/_cjs/analyzer/json/components/logArgumentRaw.js.map +1 -0
  35. package/_cjs/analyzer/json/components/transfer.js +435 -0
  36. package/_cjs/analyzer/json/components/transfer.js.map +1 -0
  37. package/_cjs/analyzer/json/condition/address.js +106 -0
  38. package/_cjs/analyzer/json/condition/address.js.map +1 -0
  39. package/_cjs/analyzer/json/condition/argumentValue.js +31 -0
  40. package/_cjs/analyzer/json/condition/argumentValue.js.map +1 -0
  41. package/_cjs/analyzer/json/condition/index.js +10 -0
  42. package/_cjs/analyzer/json/condition/index.js.map +1 -0
  43. package/_cjs/analyzer/json/condition/value.js +65 -0
  44. package/_cjs/analyzer/json/condition/value.js.map +1 -0
  45. package/_cjs/analyzer/json/generator.js +774 -0
  46. package/_cjs/analyzer/json/generator.js.map +1 -0
  47. package/_cjs/analyzer/json/index.js +3 -1
  48. package/_cjs/analyzer/json/index.js.map +1 -1
  49. package/_cjs/analyzer/json/schemas/generator.js +279 -0
  50. package/_cjs/analyzer/json/schemas/generator.js.map +1 -0
  51. package/_cjs/analyzer/json/schemas/index.js +303 -0
  52. package/_cjs/analyzer/json/schemas/index.js.map +1 -0
  53. package/_cjs/analyzer/json/schemas/utils.js +14 -0
  54. package/_cjs/analyzer/json/schemas/utils.js.map +1 -0
  55. package/_cjs/analyzer/parsers/transfer.js +149 -0
  56. package/_cjs/analyzer/parsers/transfer.js.map +1 -0
  57. package/_cjs/analyzer/seaport/analyze.js +166 -158
  58. package/_cjs/analyzer/seaport/analyze.js.map +1 -1
  59. package/_cjs/analyzer/spam/analyze.js +61 -90
  60. package/_cjs/analyzer/spam/analyze.js.map +1 -1
  61. package/_cjs/analyzer/swap/analyze.js +50 -75
  62. package/_cjs/analyzer/swap/analyze.js.map +1 -1
  63. package/_cjs/analyzer/transfer/analyze.js +37 -84
  64. package/_cjs/analyzer/transfer/analyze.js.map +1 -1
  65. package/_cjs/index.js +3 -2
  66. package/_cjs/index.js.map +1 -1
  67. package/_cjs/utils/create.js +28 -0
  68. package/_cjs/utils/create.js.map +1 -0
  69. package/_cjs/utils/index.js +3 -1
  70. package/_cjs/utils/index.js.map +1 -1
  71. package/_esm/analyzer/analyze.js.map +1 -1
  72. package/_esm/analyzer/axieMarketplace/analyze.js +37 -130
  73. package/_esm/analyzer/axieMarketplace/analyze.js.map +1 -1
  74. package/_esm/analyzer/gasFee/analyze.js +23 -21
  75. package/_esm/analyzer/gasFee/analyze.js.map +1 -1
  76. package/_esm/analyzer/index.js +1 -1
  77. package/_esm/analyzer/index.js.map +1 -1
  78. package/_esm/analyzer/json/analyze.js +22 -29
  79. package/_esm/analyzer/json/analyze.js.map +1 -1
  80. package/_esm/analyzer/json/components/comment.js +43 -0
  81. package/_esm/analyzer/json/components/comment.js.map +1 -0
  82. package/_esm/analyzer/json/components/erc1155.js +88 -0
  83. package/_esm/analyzer/json/components/erc1155.js.map +1 -0
  84. package/_esm/analyzer/json/components/erc1155Raw.js +27 -0
  85. package/_esm/analyzer/json/components/erc1155Raw.js.map +1 -0
  86. package/_esm/analyzer/json/components/erc20.js +85 -0
  87. package/_esm/analyzer/json/components/erc20.js.map +1 -0
  88. package/_esm/analyzer/json/components/erc20Raw.js +24 -0
  89. package/_esm/analyzer/json/components/erc20Raw.js.map +1 -0
  90. package/_esm/analyzer/json/components/erc721.js +73 -0
  91. package/_esm/analyzer/json/components/erc721.js.map +1 -0
  92. package/_esm/analyzer/json/components/erc721Raw.js +25 -0
  93. package/_esm/analyzer/json/components/erc721Raw.js.map +1 -0
  94. package/_esm/analyzer/json/components/id.js +43 -0
  95. package/_esm/analyzer/json/components/id.js.map +1 -0
  96. package/_esm/analyzer/json/components/internal.js +73 -0
  97. package/_esm/analyzer/json/components/internal.js.map +1 -0
  98. package/_esm/analyzer/json/components/internalRaw.js +22 -0
  99. package/_esm/analyzer/json/components/internalRaw.js.map +1 -0
  100. package/_esm/analyzer/json/components/logArgument.js +62 -0
  101. package/_esm/analyzer/json/components/logArgument.js.map +1 -0
  102. package/_esm/analyzer/json/components/logArgumentRaw.js +37 -0
  103. package/_esm/analyzer/json/components/logArgumentRaw.js.map +1 -0
  104. package/_esm/analyzer/json/components/transfer.js +431 -0
  105. package/_esm/analyzer/json/components/transfer.js.map +1 -0
  106. package/_esm/analyzer/json/condition/address.js +102 -0
  107. package/_esm/analyzer/json/condition/address.js.map +1 -0
  108. package/_esm/analyzer/json/condition/argumentValue.js +27 -0
  109. package/_esm/analyzer/json/condition/argumentValue.js.map +1 -0
  110. package/_esm/analyzer/json/condition/index.js +4 -0
  111. package/_esm/analyzer/json/condition/index.js.map +1 -0
  112. package/_esm/analyzer/json/condition/value.js +61 -0
  113. package/_esm/analyzer/json/condition/value.js.map +1 -0
  114. package/_esm/analyzer/json/generator.js +825 -0
  115. package/_esm/analyzer/json/generator.js.map +1 -0
  116. package/_esm/analyzer/json/index.js +1 -0
  117. package/_esm/analyzer/json/index.js.map +1 -1
  118. package/_esm/analyzer/json/schemas/generator.js +340 -0
  119. package/_esm/analyzer/json/schemas/generator.js.map +1 -0
  120. package/_esm/analyzer/json/schemas/index.js +299 -0
  121. package/_esm/analyzer/json/schemas/index.js.map +1 -0
  122. package/_esm/analyzer/json/schemas/utils.js +11 -0
  123. package/_esm/analyzer/json/schemas/utils.js.map +1 -0
  124. package/_esm/analyzer/parsers/transfer.js +129 -0
  125. package/_esm/analyzer/parsers/transfer.js.map +1 -0
  126. package/_esm/analyzer/seaport/analyze.js +167 -158
  127. package/_esm/analyzer/seaport/analyze.js.map +1 -1
  128. package/_esm/analyzer/spam/analyze.js +62 -92
  129. package/_esm/analyzer/spam/analyze.js.map +1 -1
  130. package/_esm/analyzer/swap/analyze.js +51 -75
  131. package/_esm/analyzer/swap/analyze.js.map +1 -1
  132. package/_esm/analyzer/transfer/analyze.js +38 -86
  133. package/_esm/analyzer/transfer/analyze.js.map +1 -1
  134. package/_esm/index.js +1 -1
  135. package/_esm/index.js.map +1 -1
  136. package/_esm/utils/create.js +21 -0
  137. package/_esm/utils/create.js.map +1 -0
  138. package/_esm/utils/index.js +1 -0
  139. package/_esm/utils/index.js.map +1 -1
  140. package/_types/analyzer/analyze.d.ts +11 -16
  141. package/_types/analyzer/analyze.d.ts.map +1 -1
  142. package/_types/analyzer/analyzer.d.ts +9 -1
  143. package/_types/analyzer/analyzer.d.ts.map +1 -1
  144. package/_types/analyzer/axieMarketplace/analyze.d.ts +9 -2
  145. package/_types/analyzer/axieMarketplace/analyze.d.ts.map +1 -1
  146. package/_types/analyzer/gasFee/analyze.d.ts +9 -2
  147. package/_types/analyzer/gasFee/analyze.d.ts.map +1 -1
  148. package/_types/analyzer/index.d.ts +1 -1
  149. package/_types/analyzer/index.d.ts.map +1 -1
  150. package/_types/analyzer/json/analyze.d.ts +9 -2
  151. package/_types/analyzer/json/analyze.d.ts.map +1 -1
  152. package/_types/analyzer/json/components/comment.d.ts +20 -0
  153. package/_types/analyzer/json/components/comment.d.ts.map +1 -0
  154. package/_types/analyzer/json/components/erc1155.d.ts +32 -0
  155. package/_types/analyzer/json/components/erc1155.d.ts.map +1 -0
  156. package/_types/analyzer/json/components/erc1155Raw.d.ts +18 -0
  157. package/_types/analyzer/json/components/erc1155Raw.d.ts.map +1 -0
  158. package/_types/analyzer/json/components/erc20.d.ts +32 -0
  159. package/_types/analyzer/json/components/erc20.d.ts.map +1 -0
  160. package/_types/analyzer/json/components/erc20Raw.d.ts +18 -0
  161. package/_types/analyzer/json/components/erc20Raw.d.ts.map +1 -0
  162. package/_types/analyzer/json/components/erc721.d.ts +32 -0
  163. package/_types/analyzer/json/components/erc721.d.ts.map +1 -0
  164. package/_types/analyzer/json/components/erc721Raw.d.ts +18 -0
  165. package/_types/analyzer/json/components/erc721Raw.d.ts.map +1 -0
  166. package/_types/analyzer/json/components/id.d.ts +20 -0
  167. package/_types/analyzer/json/components/id.d.ts.map +1 -0
  168. package/_types/analyzer/json/components/internal.d.ts +32 -0
  169. package/_types/analyzer/json/components/internal.d.ts.map +1 -0
  170. package/_types/analyzer/json/components/internalRaw.d.ts +18 -0
  171. package/_types/analyzer/json/components/internalRaw.d.ts.map +1 -0
  172. package/_types/analyzer/json/components/logArgument.d.ts +32 -0
  173. package/_types/analyzer/json/components/logArgument.d.ts.map +1 -0
  174. package/_types/analyzer/json/components/logArgumentRaw.d.ts +18 -0
  175. package/_types/analyzer/json/components/logArgumentRaw.d.ts.map +1 -0
  176. package/_types/analyzer/json/components/transfer.d.ts +20 -0
  177. package/_types/analyzer/json/components/transfer.d.ts.map +1 -0
  178. package/_types/analyzer/json/condition/address.d.ts +18 -0
  179. package/_types/analyzer/json/condition/address.d.ts.map +1 -0
  180. package/_types/analyzer/json/condition/argumentValue.d.ts +18 -0
  181. package/_types/analyzer/json/condition/argumentValue.d.ts.map +1 -0
  182. package/_types/analyzer/json/condition/index.d.ts +4 -0
  183. package/_types/analyzer/json/condition/index.d.ts.map +1 -0
  184. package/_types/analyzer/json/condition/value.d.ts +18 -0
  185. package/_types/analyzer/json/condition/value.d.ts.map +1 -0
  186. package/_types/analyzer/json/generator.d.ts +20 -0
  187. package/_types/analyzer/json/generator.d.ts.map +1 -0
  188. package/_types/analyzer/json/index.d.ts +1 -0
  189. package/_types/analyzer/json/index.d.ts.map +1 -1
  190. package/_types/analyzer/json/schemas/generator.d.ts +56942 -0
  191. package/_types/analyzer/json/schemas/generator.d.ts.map +1 -0
  192. package/_types/analyzer/json/schemas/index.d.ts +1348 -0
  193. package/_types/analyzer/json/schemas/index.d.ts.map +1 -0
  194. package/_types/analyzer/json/schemas/utils.d.ts +4 -0
  195. package/_types/analyzer/json/schemas/utils.d.ts.map +1 -0
  196. package/_types/analyzer/json/types.d.ts +42 -172
  197. package/_types/analyzer/json/types.d.ts.map +1 -1
  198. package/_types/analyzer/parsers/transfer.d.ts +46 -0
  199. package/_types/analyzer/parsers/transfer.d.ts.map +1 -0
  200. package/_types/analyzer/seaport/analyze.d.ts +9 -2
  201. package/_types/analyzer/seaport/analyze.d.ts.map +1 -1
  202. package/_types/analyzer/seaport/orderFulfilled.d.ts +8 -8
  203. package/_types/analyzer/spam/analyze.d.ts +9 -2
  204. package/_types/analyzer/spam/analyze.d.ts.map +1 -1
  205. package/_types/analyzer/swap/analyze.d.ts +9 -2
  206. package/_types/analyzer/swap/analyze.d.ts.map +1 -1
  207. package/_types/analyzer/transfer/analyze.d.ts +9 -2
  208. package/_types/analyzer/transfer/analyze.d.ts.map +1 -1
  209. package/_types/analyzer/types.d.ts +6 -6
  210. package/_types/analyzer/types.d.ts.map +1 -1
  211. package/_types/decoder/tests.d.ts +3 -3
  212. package/_types/explorers/definitions/blockscout.d.ts +60 -4
  213. package/_types/explorers/definitions/blockscout.d.ts.map +1 -1
  214. package/_types/explorers/definitions/etherscan.d.ts +60 -4
  215. package/_types/explorers/definitions/etherscan.d.ts.map +1 -1
  216. package/_types/explorers/definitions/roninExplorer.d.ts +60 -4
  217. package/_types/explorers/definitions/roninExplorer.d.ts.map +1 -1
  218. package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts +2 -2
  219. package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts +9 -1
  220. package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts.map +1 -1
  221. package/_types/getTransactionFull/getTransactionFull.d.ts +9 -1
  222. package/_types/getTransactionFull/getTransactionFull.d.ts.map +1 -1
  223. package/_types/index.d.ts +1 -1
  224. package/_types/index.d.ts.map +1 -1
  225. package/_types/types/log.d.ts +6 -6
  226. package/_types/types/transaction.d.ts +3 -4
  227. package/_types/types/transaction.d.ts.map +1 -1
  228. package/_types/utils/create.d.ts +23 -0
  229. package/_types/utils/create.d.ts.map +1 -0
  230. package/_types/utils/index.d.ts +1 -0
  231. package/_types/utils/index.d.ts.map +1 -1
  232. package/analyzer/analyze.ts +6 -30
  233. package/analyzer/axieMarketplace/analyze.ts +67 -150
  234. package/analyzer/gasFee/analyze.ts +29 -36
  235. package/analyzer/index.ts +1 -1
  236. package/analyzer/json/analyze.ts +32 -53
  237. package/analyzer/json/components/comment.ts +62 -0
  238. package/analyzer/json/components/erc1155.ts +132 -0
  239. package/analyzer/json/components/erc1155Raw.ts +46 -0
  240. package/analyzer/json/components/erc20.ts +129 -0
  241. package/analyzer/json/components/erc20Raw.ts +43 -0
  242. package/analyzer/json/components/erc721.ts +117 -0
  243. package/analyzer/json/components/erc721Raw.ts +46 -0
  244. package/analyzer/json/components/id.ts +62 -0
  245. package/analyzer/json/components/internal.ts +117 -0
  246. package/analyzer/json/components/internalRaw.ts +39 -0
  247. package/analyzer/json/components/logArgument.ts +99 -0
  248. package/analyzer/json/components/logArgumentRaw.ts +57 -0
  249. package/analyzer/json/components/transfer.ts +531 -0
  250. package/analyzer/json/condition/address.ts +124 -0
  251. package/analyzer/json/condition/argumentValue.ts +43 -0
  252. package/analyzer/json/condition/index.ts +3 -0
  253. package/analyzer/json/condition/value.ts +76 -0
  254. package/analyzer/json/generator.ts +1166 -0
  255. package/analyzer/json/index.ts +1 -0
  256. package/analyzer/json/schemas/generator.ts +387 -0
  257. package/analyzer/json/schemas/index.ts +363 -0
  258. package/analyzer/json/schemas/utils.ts +12 -0
  259. package/analyzer/json/types.ts +111 -207
  260. package/analyzer/parsers/transfer.ts +301 -0
  261. package/analyzer/seaport/analyze.ts +229 -196
  262. package/analyzer/spam/analyze.ts +79 -112
  263. package/analyzer/swap/analyze.ts +67 -101
  264. package/analyzer/transfer/analyze.ts +54 -100
  265. package/analyzer/types.ts +5 -21
  266. package/index.ts +1 -0
  267. package/package.json +3 -3
  268. package/types/transaction.ts +2 -14
  269. package/utils/create.ts +57 -0
  270. package/utils/index.ts +1 -0
  271. package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js +0 -28
  272. package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
  273. package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
  274. package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
  275. package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js +0 -38
  276. package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
  277. package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js +0 -38
  278. package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
  279. package/_cjs/analyzer/createAccountActionByAction/buyNft.js +0 -59
  280. package/_cjs/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
  281. package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -69
  282. package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
  283. package/_cjs/analyzer/createAccountActionByAction/deposit.js +0 -41
  284. package/_cjs/analyzer/createAccountActionByAction/deposit.js.map +0 -1
  285. package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js +0 -28
  286. package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
  287. package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js +0 -32
  288. package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
  289. package/_cjs/analyzer/createAccountActionByAction/index.js +0 -6
  290. package/_cjs/analyzer/createAccountActionByAction/index.js.map +0 -1
  291. package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js +0 -28
  292. package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
  293. package/_cjs/analyzer/createAccountActionByAction/spam.js +0 -58
  294. package/_cjs/analyzer/createAccountActionByAction/spam.js.map +0 -1
  295. package/_cjs/analyzer/createAccountActionByAction/trade.js +0 -59
  296. package/_cjs/analyzer/createAccountActionByAction/trade.js.map +0 -1
  297. package/_cjs/analyzer/createAccountActionByAction/transactionFee.js +0 -29
  298. package/_cjs/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
  299. package/_cjs/analyzer/createAccountActionByAction/transfer.js +0 -74
  300. package/_cjs/analyzer/createAccountActionByAction/transfer.js.map +0 -1
  301. package/_cjs/analyzer/createAccountActionByAction/withdraw.js +0 -38
  302. package/_cjs/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
  303. package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -28
  304. package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
  305. package/_cjs/analyzer/json/generatorAnyLog.js +0 -163
  306. package/_cjs/analyzer/json/generatorAnyLog.js.map +0 -1
  307. package/_cjs/analyzer/json/generatorAnyTokenTransfer.js +0 -102
  308. package/_cjs/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
  309. package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js +0 -343
  310. package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
  311. package/_esm/analyzer/createAccountActionByAction/addLiquidity.js +0 -24
  312. package/_esm/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
  313. package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
  314. package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
  315. package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js +0 -34
  316. package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
  317. package/_esm/analyzer/createAccountActionByAction/bridgeTo.js +0 -34
  318. package/_esm/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
  319. package/_esm/analyzer/createAccountActionByAction/buyNft.js +0 -59
  320. package/_esm/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
  321. package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -80
  322. package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
  323. package/_esm/analyzer/createAccountActionByAction/deposit.js +0 -38
  324. package/_esm/analyzer/createAccountActionByAction/deposit.js.map +0 -1
  325. package/_esm/analyzer/createAccountActionByAction/depositWithBond.js +0 -24
  326. package/_esm/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
  327. package/_esm/analyzer/createAccountActionByAction/freeMintNft.js +0 -28
  328. package/_esm/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
  329. package/_esm/analyzer/createAccountActionByAction/index.js +0 -2
  330. package/_esm/analyzer/createAccountActionByAction/index.js.map +0 -1
  331. package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js +0 -24
  332. package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
  333. package/_esm/analyzer/createAccountActionByAction/spam.js +0 -54
  334. package/_esm/analyzer/createAccountActionByAction/spam.js.map +0 -1
  335. package/_esm/analyzer/createAccountActionByAction/trade.js +0 -59
  336. package/_esm/analyzer/createAccountActionByAction/trade.js.map +0 -1
  337. package/_esm/analyzer/createAccountActionByAction/transactionFee.js +0 -25
  338. package/_esm/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
  339. package/_esm/analyzer/createAccountActionByAction/transfer.js +0 -70
  340. package/_esm/analyzer/createAccountActionByAction/transfer.js.map +0 -1
  341. package/_esm/analyzer/createAccountActionByAction/withdraw.js +0 -34
  342. package/_esm/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
  343. package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -24
  344. package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
  345. package/_esm/analyzer/json/generatorAnyLog.js +0 -159
  346. package/_esm/analyzer/json/generatorAnyLog.js.map +0 -1
  347. package/_esm/analyzer/json/generatorAnyTokenTransfer.js +0 -98
  348. package/_esm/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
  349. package/_esm/analyzer/json/generatorSpecificTokenTransfer.js +0 -339
  350. package/_esm/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
  351. package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts +0 -59
  352. package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts.map +0 -1
  353. package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts +0 -59
  354. package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts.map +0 -1
  355. package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts +0 -59
  356. package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts.map +0 -1
  357. package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts +0 -59
  358. package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts.map +0 -1
  359. package/_types/analyzer/createAccountActionByAction/buyNft.d.ts +0 -59
  360. package/_types/analyzer/createAccountActionByAction/buyNft.d.ts.map +0 -1
  361. package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts +0 -59
  362. package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts.map +0 -1
  363. package/_types/analyzer/createAccountActionByAction/deposit.d.ts +0 -59
  364. package/_types/analyzer/createAccountActionByAction/deposit.d.ts.map +0 -1
  365. package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts +0 -59
  366. package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts.map +0 -1
  367. package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts +0 -53
  368. package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts.map +0 -1
  369. package/_types/analyzer/createAccountActionByAction/index.d.ts +0 -2
  370. package/_types/analyzer/createAccountActionByAction/index.d.ts.map +0 -1
  371. package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts +0 -59
  372. package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts.map +0 -1
  373. package/_types/analyzer/createAccountActionByAction/spam.d.ts +0 -59
  374. package/_types/analyzer/createAccountActionByAction/spam.d.ts.map +0 -1
  375. package/_types/analyzer/createAccountActionByAction/trade.d.ts +0 -59
  376. package/_types/analyzer/createAccountActionByAction/trade.d.ts.map +0 -1
  377. package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts +0 -59
  378. package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts.map +0 -1
  379. package/_types/analyzer/createAccountActionByAction/transfer.d.ts +0 -59
  380. package/_types/analyzer/createAccountActionByAction/transfer.d.ts.map +0 -1
  381. package/_types/analyzer/createAccountActionByAction/withdraw.d.ts +0 -59
  382. package/_types/analyzer/createAccountActionByAction/withdraw.d.ts.map +0 -1
  383. package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts +0 -59
  384. package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts.map +0 -1
  385. package/_types/analyzer/json/generatorAnyLog.d.ts +0 -55
  386. package/_types/analyzer/json/generatorAnyLog.d.ts.map +0 -1
  387. package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts +0 -54
  388. package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts.map +0 -1
  389. package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts +0 -55
  390. package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts.map +0 -1
  391. package/analyzer/createAccountActionByAction/addLiquidity.ts +0 -60
  392. package/analyzer/createAccountActionByAction/atomicArbitrage.ts +0 -115
  393. package/analyzer/createAccountActionByAction/bridgeFrom.ts +0 -61
  394. package/analyzer/createAccountActionByAction/bridgeTo.ts +0 -61
  395. package/analyzer/createAccountActionByAction/buyNft.ts +0 -106
  396. package/analyzer/createAccountActionByAction/createAccountActionByAction.ts +0 -181
  397. package/analyzer/createAccountActionByAction/deposit.ts +0 -64
  398. package/analyzer/createAccountActionByAction/depositWithBond.ts +0 -60
  399. package/analyzer/createAccountActionByAction/freeMintNft.ts +0 -54
  400. package/analyzer/createAccountActionByAction/index.ts +0 -1
  401. package/analyzer/createAccountActionByAction/removeLiquidity.ts +0 -60
  402. package/analyzer/createAccountActionByAction/spam.ts +0 -79
  403. package/analyzer/createAccountActionByAction/trade.ts +0 -105
  404. package/analyzer/createAccountActionByAction/transactionFee.ts +0 -51
  405. package/analyzer/createAccountActionByAction/transfer.ts +0 -95
  406. package/analyzer/createAccountActionByAction/withdraw.ts +0 -61
  407. package/analyzer/createAccountActionByAction/withdrawWithBond.ts +0 -60
  408. package/analyzer/json/generatorAnyLog.ts +0 -207
  409. package/analyzer/json/generatorAnyTokenTransfer.ts +0 -118
  410. package/analyzer/json/generatorSpecificTokenTransfer.ts +0 -425
@@ -1,34 +1,50 @@
1
- import { createBigDecimal } from '@0xtorch/big-decimal'
2
1
  import type {
3
2
  CryptoCurrencyPrice,
4
3
  NormalActionSpam,
5
4
  NormalActionTransfer,
6
5
  } from '@0xtorch/core'
6
+ import { parseNormalActionToAccountActions } from '@0xtorch/core'
7
7
  import type { Chain } from '../../chains'
8
- import { createEvmAccount } from '../../creates/createEvmAccount'
9
- import type { EvmAccount, TransactionDecoded } from '../../types'
10
- import { toLowerHex } from '../../types'
11
- import { createAccountActionByAction } from '../createAccountActionByAction'
8
+ import type { TransactionDecoded } from '../../types'
9
+ import { createEvmAddressId } from '../../utils'
10
+ import { createEvmActionSource } from '../../utils/create'
11
+ import {
12
+ parseErc1155TransferToActionTransferIn,
13
+ parseErc20TransferToActionTransferIn,
14
+ parseErc20TransferToActionTransferNone,
15
+ parseErc721TransferToActionTransferIn,
16
+ parseInternalTransactionToActionTransferNone,
17
+ parseTransactionValueToActionTransferNone,
18
+ } from '../parsers/transfer'
12
19
  import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
13
20
 
14
21
  export const analyzeAsSpam = <Price extends CryptoCurrencyPrice | undefined>({
15
22
  chain,
16
23
  transaction,
17
24
  accountAddresses,
18
- }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType<Price> | undefined> => {
25
+ }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
19
26
  // 全ての native token(include internalTx),erc20,721,1155 transfer を transfer action として normal action 作成
20
27
  const normalActions = generateNormalActions(chain, transaction)
21
28
 
22
29
  // accountAddresses が含まれているものについて account action 作成
23
- const optionalAccountActions = normalActions.map((action) =>
24
- createAccountActionByAction(action, transaction, accountAddresses),
30
+ const accountIds = new Set(
31
+ accountAddresses.map((address) =>
32
+ createEvmAddressId({ chainId: chain.id, address }),
33
+ ),
34
+ )
35
+ const source = createEvmActionSource({
36
+ chainId: chain.id,
37
+ transactionHash: transaction.transactionHash,
38
+ })
39
+ const accountActions = normalActions.flatMap((action) =>
40
+ parseNormalActionToAccountActions({
41
+ action,
42
+ accountIds,
43
+ source,
44
+ // TODO 値を入れる
45
+ cexAccountIds: undefined,
46
+ }),
25
47
  )
26
- const accountActions = optionalAccountActions
27
- .filter(
28
- (action): action is Exclude<typeof action, undefined> =>
29
- action !== undefined,
30
- )
31
- .map((action, index) => ({ ...action, order: index }))
32
48
 
33
49
  return Promise.resolve({
34
50
  actions: normalActions,
@@ -38,8 +54,9 @@ export const analyzeAsSpam = <Price extends CryptoCurrencyPrice | undefined>({
38
54
 
39
55
  const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
40
56
  chain: Chain,
41
- {
42
- from,
57
+ transaction: TransactionDecoded<Price>,
58
+ ): (NormalActionTransfer | NormalActionSpam)[] => {
59
+ const {
43
60
  to,
44
61
  value,
45
62
  block,
@@ -48,16 +65,9 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
48
65
  erc721Transfers,
49
66
  erc1155Transfers,
50
67
  app,
51
- nativeTokenPrice,
52
- }: TransactionDecoded<Price>,
53
- ): (
54
- | NormalActionTransfer<EvmAccount, Price>
55
- | NormalActionSpam<EvmAccount, Price>
56
- )[] => {
57
- const mut_actions: (
58
- | NormalActionTransfer<EvmAccount, Price>
59
- | NormalActionSpam<EvmAccount, Price>
60
- )[] = []
68
+ } = transaction
69
+
70
+ const mut_actions: (NormalActionTransfer | NormalActionSpam)[] = []
61
71
  if (value > 0 && to !== null) {
62
72
  mut_actions.push({
63
73
  type: 'NormalAction',
@@ -67,21 +77,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
67
77
  comment: undefined,
68
78
  app,
69
79
  transfers: [
70
- {
71
- target: '',
72
- direction: 'none',
73
- from: createEvmAccount({
74
- address: toLowerHex(from),
75
- chainId: chain.id,
76
- }),
77
- to: createEvmAccount({
78
- address: toLowerHex(to),
79
- chainId: chain.id,
80
- }),
81
- asset: chain.nativeToken.currency,
82
- amount: createBigDecimal(value, chain.nativeToken.decimals),
83
- price: nativeTokenPrice,
84
- },
80
+ parseTransactionValueToActionTransferNone({
81
+ chain,
82
+ transaction,
83
+ }),
85
84
  ],
86
85
  })
87
86
  }
@@ -100,24 +99,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
100
99
  comment: undefined,
101
100
  app,
102
101
  transfers: [
103
- {
104
- target: '',
105
- direction: 'none',
106
- from: createEvmAccount({
107
- address: internalTx.from,
108
- chainId: chain.id,
109
- }),
110
- to: createEvmAccount({
111
- address: internalTx.to,
112
- chainId: chain.id,
113
- }),
114
- asset: chain.nativeToken.currency,
115
- amount: createBigDecimal(
116
- internalTx.value,
117
- chain.nativeToken.decimals,
118
- ),
119
- price: nativeTokenPrice,
120
- },
102
+ parseInternalTransactionToActionTransferNone({
103
+ chain,
104
+ internalTransaction: internalTx,
105
+ }),
121
106
  ],
122
107
  })
123
108
  }
@@ -128,31 +113,37 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
128
113
  ].sort((a, b) => a.logIndex - b.logIndex)) {
129
114
  switch (transfer.type) {
130
115
  case 'Erc20Transfer': {
131
- mut_actions.push({
132
- type: 'NormalAction',
133
- action: transfer.price === undefined ? 'spam' : 'transfer',
134
- evidence: 'contract',
135
- timestamp: Number(block.timestamp) * 1000,
136
- comment: undefined,
137
- app,
138
- transfers: [
139
- {
140
- target: '',
141
- direction: 'none',
142
- from: createEvmAccount({
143
- address: transfer.from,
116
+ if (transfer.price === undefined) {
117
+ mut_actions.push({
118
+ type: 'NormalAction',
119
+ action: 'spam',
120
+ evidence: 'contract',
121
+ timestamp: Number(block.timestamp) * 1000,
122
+ comment: undefined,
123
+ app,
124
+ transfers: [
125
+ parseErc20TransferToActionTransferIn({
144
126
  chainId: chain.id,
127
+ transfer,
145
128
  }),
146
- to: createEvmAccount({
147
- address: transfer.to,
129
+ ],
130
+ })
131
+ } else {
132
+ mut_actions.push({
133
+ type: 'NormalAction',
134
+ action: 'transfer',
135
+ evidence: 'contract',
136
+ timestamp: Number(block.timestamp) * 1000,
137
+ comment: undefined,
138
+ app,
139
+ transfers: [
140
+ parseErc20TransferToActionTransferNone({
148
141
  chainId: chain.id,
142
+ transfer,
149
143
  }),
150
- asset: transfer.token.currency,
151
- amount: createBigDecimal(transfer.value, transfer.token.decimals),
152
- price: transfer.price,
153
- },
154
- ],
155
- })
144
+ ],
145
+ })
146
+ }
156
147
  break
157
148
  }
158
149
  case 'Erc721Transfer': {
@@ -164,22 +155,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
164
155
  comment: undefined,
165
156
  app,
166
157
  transfers: [
167
- {
168
- target: '',
169
- direction: 'none',
170
- from: createEvmAccount({
171
- address: transfer.from,
172
- chainId: chain.id,
173
- }),
174
- to: createEvmAccount({
175
- address: transfer.to,
176
- chainId: chain.id,
177
- }),
178
- asset: transfer.nft,
179
- amount: createBigDecimal('1'),
180
- // TODO 適切な値を入れる (一律 undefined を入れたい)
181
- price: undefined as Price,
182
- },
158
+ parseErc721TransferToActionTransferIn({
159
+ chainId: chain.id,
160
+ transfer,
161
+ }),
183
162
  ],
184
163
  })
185
164
  break
@@ -193,22 +172,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
193
172
  comment: undefined,
194
173
  app,
195
174
  transfers: [
196
- {
197
- target: '',
198
- direction: 'none',
199
- from: createEvmAccount({
200
- address: transfer.from,
201
- chainId: chain.id,
202
- }),
203
- to: createEvmAccount({
204
- address: transfer.to,
205
- chainId: chain.id,
206
- }),
207
- asset: transfer.nft,
208
- amount: createBigDecimal(transfer.value, 0),
209
- // TODO 適切な値を入れる (一律 undefined を入れたい)
210
- price: undefined as Price,
211
- },
175
+ parseErc1155TransferToActionTransferIn({
176
+ chainId: chain.id,
177
+ transfer,
178
+ }),
212
179
  ],
213
180
  })
214
181
  break
@@ -1,22 +1,27 @@
1
- import { createBigDecimal } from '@0xtorch/big-decimal'
2
1
  import type {
3
2
  CryptoCurrency,
4
3
  CryptoCurrencyPrice,
5
4
  NormalActionAtomicArbitrage,
6
5
  NormalActionTrade,
7
6
  } from '@0xtorch/core'
7
+ import { parseNormalActionToAccountActions } from '@0xtorch/core'
8
8
  import { zeroAddress } from 'viem'
9
9
  import type { Chain } from '../../chains'
10
- import { createEvmAccount } from '../../creates/createEvmAccount'
11
10
  import type {
12
11
  DecodedLog,
13
12
  Erc20Transfer,
14
- EvmAccount,
15
13
  InternalTransaction,
16
14
  LowerHex,
17
15
  } from '../../types'
18
16
  import { toLowerHex } from '../../types'
19
- import { createAccountActionByAction } from '../createAccountActionByAction'
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'
20
25
  import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
21
26
  import type { TraderJoeLBPairSwapLog } from './traderJoeLBPairSwap'
22
27
  import { parseToTraderJoeLBPairSwap } from './traderJoeLBPairSwap'
@@ -33,7 +38,7 @@ export const analyzeSwap = <Price extends CryptoCurrencyPrice | undefined>({
33
38
  chain,
34
39
  transaction,
35
40
  accountAddresses,
36
- }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType<Price> | undefined> => {
41
+ }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
37
42
  const {
38
43
  transactionHash,
39
44
  from,
@@ -196,15 +201,26 @@ export const analyzeSwap = <Price extends CryptoCurrencyPrice | undefined>({
196
201
  const normalAction = generateNormalAction(swap, chain, timestamp)
197
202
 
198
203
  // account action を生成
199
- const accountAction = createAccountActionByAction(
200
- normalAction,
201
- transaction,
202
- accountAddresses,
204
+ const accountIds = new Set(
205
+ accountAddresses.map((address) =>
206
+ createEvmAddressId({ chainId: chain.id, address }),
207
+ ),
203
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
+ })
204
220
 
205
221
  return Promise.resolve({
206
222
  actions: [normalAction],
207
- accountActions: accountAction === undefined ? [] : [accountAction],
223
+ accountActions,
208
224
  })
209
225
  }
210
226
 
@@ -212,9 +228,7 @@ const generateNormalAction = <Price extends CryptoCurrencyPrice | undefined>(
212
228
  swap: Swap<Price>,
213
229
  chain: Chain,
214
230
  timestamp: number,
215
- ):
216
- | NormalActionAtomicArbitrage<EvmAccount, Price>
217
- | NormalActionTrade<EvmAccount, Price, CryptoCurrency> => {
231
+ ): NormalActionAtomicArbitrage | NormalActionTrade => {
218
232
  if (
219
233
  swap.transferIn.type === 'InternalTransaction' &&
220
234
  swap.transferOut.type === 'InternalTransaction'
@@ -238,33 +252,12 @@ const generateNormalActionAtomicArbitrage = <
238
252
  swap: Swap<Price>,
239
253
  chain: Chain,
240
254
  timestamp: number,
241
- ): NormalActionAtomicArbitrage<EvmAccount, Price> => {
255
+ ): NormalActionAtomicArbitrage => {
242
256
  const { transferIn, transferOut } = swap
243
- const transferInAsset =
244
- transferIn.type === 'Erc20Transfer'
245
- ? transferIn.token.currency
246
- : chain.nativeToken.currency
247
- const transferOutAsset =
248
- transferOut.type === 'Erc20Transfer'
249
- ? transferOut.token.currency
250
- : chain.nativeToken.currency
251
- if (
252
- transferIn.to === undefined ||
253
- transferOut.to === undefined ||
254
- transferInAsset === undefined ||
255
- transferOutAsset === undefined
256
- ) {
257
+ if (transferIn.to === undefined || transferOut.to === undefined) {
257
258
  throw new Error('invalid swap')
258
259
  }
259
260
 
260
- const transferInDecimals =
261
- transferIn.type === 'Erc20Transfer'
262
- ? transferIn.token.decimals
263
- : chain.nativeToken.decimals
264
- const transferOutDecimals =
265
- transferOut.type === 'Erc20Transfer'
266
- ? transferOut.token.decimals
267
- : chain.nativeToken.decimals
268
261
  return {
269
262
  type: 'NormalAction',
270
263
  action: 'atomic-arbitrage',
@@ -273,27 +266,24 @@ const generateNormalActionAtomicArbitrage = <
273
266
  comment: undefined,
274
267
  app: undefined,
275
268
  transfers: [
276
- {
277
- target: transferIn.from,
278
- direction: 'out',
279
- from: createEvmAccount({ address: transferIn.from, chainId: chain.id }),
280
- to: createEvmAccount({ address: transferIn.to, chainId: chain.id }),
281
- asset: transferInAsset,
282
- amount: createBigDecimal(transferIn.value, transferInDecimals),
283
- price: transferIn.price,
284
- },
285
- {
286
- target: transferOut.to,
287
- direction: 'in',
288
- from: createEvmAccount({
289
- address: transferOut.from,
290
- chainId: chain.id,
291
- }),
292
- to: createEvmAccount({ address: transferOut.to, chainId: chain.id }),
293
- asset: transferOutAsset,
294
- amount: createBigDecimal(transferOut.value, transferOutDecimals),
295
- price: transferOut.price,
296
- },
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
+ }),
297
287
  ],
298
288
  }
299
289
  }
@@ -304,33 +294,12 @@ const generateNormalActionTrade = <
304
294
  swap: Swap<Price>,
305
295
  chain: Chain,
306
296
  timestamp: number,
307
- ): NormalActionTrade<EvmAccount, Price, CryptoCurrency> => {
297
+ ): NormalActionTrade => {
308
298
  const { transferIn, transferOut } = swap
309
- const transferInAsset =
310
- transferIn.type === 'Erc20Transfer'
311
- ? transferIn.token.currency
312
- : chain.nativeToken.currency
313
- const transferOutAsset =
314
- transferOut.type === 'Erc20Transfer'
315
- ? transferOut.token.currency
316
- : chain.nativeToken.currency
317
- if (
318
- transferIn.to === undefined ||
319
- transferOut.to === undefined ||
320
- transferInAsset === undefined ||
321
- transferOutAsset === undefined
322
- ) {
299
+ if (transferIn.to === undefined || transferOut.to === undefined) {
323
300
  throw new Error('invalid swap')
324
301
  }
325
302
 
326
- const transferInDecimals =
327
- transferIn.type === 'Erc20Transfer'
328
- ? transferIn.token.decimals
329
- : chain.nativeToken.decimals
330
- const transferOutDecimals =
331
- transferOut.type === 'Erc20Transfer'
332
- ? transferOut.token.decimals
333
- : chain.nativeToken.decimals
334
303
  return {
335
304
  type: 'NormalAction',
336
305
  action: 'trade',
@@ -339,27 +308,24 @@ const generateNormalActionTrade = <
339
308
  comment: undefined,
340
309
  app: undefined,
341
310
  transfers: [
342
- {
343
- target: transferIn.from,
344
- direction: 'out',
345
- from: createEvmAccount({ address: transferIn.from, chainId: chain.id }),
346
- to: createEvmAccount({ address: transferIn.to, chainId: chain.id }),
347
- asset: transferInAsset,
348
- amount: createBigDecimal(transferIn.value, transferInDecimals),
349
- price: transferIn.price,
350
- },
351
- {
352
- target: transferOut.to,
353
- direction: 'in',
354
- from: createEvmAccount({
355
- address: transferOut.from,
356
- chainId: chain.id,
357
- }),
358
- to: createEvmAccount({ address: transferOut.to, chainId: chain.id }),
359
- asset: transferOutAsset,
360
- amount: createBigDecimal(transferOut.value, transferOutDecimals),
361
- price: transferOut.price,
362
- },
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
+ }),
363
329
  ],
364
330
  }
365
331
  }