@0xtorch/evm 0.0.11 → 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 +165 -157
  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 +166 -157
  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 +2 -2
  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 +228 -195
  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 +2 -2
  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,30 +1,45 @@
1
- import { createBigDecimal } from '@0xtorch/big-decimal'
2
1
  import type { CryptoCurrencyPrice, NormalActionTransfer } from '@0xtorch/core'
2
+ import { parseNormalActionToAccountActions } from '@0xtorch/core'
3
3
  import type { Chain } from '../../chains'
4
- import { createEvmAccount } from '../../creates/createEvmAccount'
5
- import type { EvmAccount, TransactionDecoded } from '../../types'
6
- import { toLowerHex } from '../../types'
7
- import { createAccountActionByAction } from '../createAccountActionByAction'
4
+ import type { TransactionDecoded } from '../../types'
5
+ import { createEvmAddressId } from '../../utils'
6
+ import { createEvmActionSource } from '../../utils/create'
7
+ import {
8
+ parseErc1155TransferToActionTransferNone,
9
+ parseErc20TransferToActionTransferNone,
10
+ parseErc721TransferToActionTransferNone,
11
+ parseInternalTransactionToActionTransferNone,
12
+ parseTransactionValueToActionTransferNone,
13
+ } from '../parsers/transfer'
8
14
  import type { AnalyzeParameters, AnalyzeReturnType } from '../types'
9
15
 
10
16
  export const analyzeTransfer = <Price extends CryptoCurrencyPrice | undefined>({
11
17
  chain,
12
18
  transaction,
13
19
  accountAddresses,
14
- }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType<Price> | undefined> => {
20
+ }: AnalyzeParameters<Price>): Promise<AnalyzeReturnType | undefined> => {
15
21
  // 全ての native token(include internalTx),erc20,721,1155 transfer を transfer action として normal action 作成
16
22
  const normalActions = generateNormalActions(chain, transaction)
17
23
 
18
24
  // accountAddresses が含まれているものについて account action 作成
19
- const optionalAccountActions = normalActions.map((action) =>
20
- createAccountActionByAction(action, transaction, accountAddresses),
25
+ const accountIds = new Set(
26
+ accountAddresses.map((address) =>
27
+ createEvmAddressId({ chainId: chain.id, address }),
28
+ ),
29
+ )
30
+ const source = createEvmActionSource({
31
+ chainId: chain.id,
32
+ transactionHash: transaction.transactionHash,
33
+ })
34
+ const accountActions = normalActions.flatMap((action) =>
35
+ parseNormalActionToAccountActions({
36
+ action,
37
+ accountIds,
38
+ source,
39
+ // TODO 値を入れる
40
+ cexAccountIds: undefined,
41
+ }),
21
42
  )
22
- const accountActions = optionalAccountActions
23
- .filter(
24
- (action): action is Exclude<typeof action, undefined> =>
25
- action !== undefined,
26
- )
27
- .map((action, index) => ({ ...action, order: index }))
28
43
 
29
44
  return Promise.resolve({
30
45
  actions: normalActions,
@@ -34,8 +49,9 @@ export const analyzeTransfer = <Price extends CryptoCurrencyPrice | undefined>({
34
49
 
35
50
  const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
36
51
  chain: Chain,
37
- {
38
- from,
52
+ transaction: TransactionDecoded<Price>,
53
+ ): NormalActionTransfer[] => {
54
+ const {
39
55
  to,
40
56
  value,
41
57
  block,
@@ -44,10 +60,8 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
44
60
  erc721Transfers,
45
61
  erc1155Transfers,
46
62
  app,
47
- nativeTokenPrice,
48
- }: TransactionDecoded<Price>,
49
- ): NormalActionTransfer<EvmAccount, Price>[] => {
50
- const mut_actions: NormalActionTransfer<EvmAccount, Price>[] = []
63
+ } = transaction
64
+ const mut_actions: NormalActionTransfer[] = []
51
65
  if (value > 0 && to !== null) {
52
66
  mut_actions.push({
53
67
  type: 'NormalAction',
@@ -57,21 +71,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
57
71
  comment: undefined,
58
72
  app,
59
73
  transfers: [
60
- {
61
- target: '',
62
- direction: 'none',
63
- from: createEvmAccount({
64
- address: toLowerHex(from),
65
- chainId: chain.id,
66
- }),
67
- to: createEvmAccount({
68
- address: toLowerHex(to),
69
- chainId: chain.id,
70
- }),
71
- asset: chain.nativeToken.currency,
72
- amount: createBigDecimal(value, chain.nativeToken.decimals),
73
- price: nativeTokenPrice,
74
- },
74
+ parseTransactionValueToActionTransferNone({
75
+ chain,
76
+ transaction,
77
+ }),
75
78
  ],
76
79
  })
77
80
  }
@@ -90,24 +93,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
90
93
  comment: undefined,
91
94
  app,
92
95
  transfers: [
93
- {
94
- target: '',
95
- direction: 'none',
96
- from: createEvmAccount({
97
- address: internalTx.from,
98
- chainId: chain.id,
99
- }),
100
- to: createEvmAccount({
101
- address: internalTx.to,
102
- chainId: chain.id,
103
- }),
104
- asset: chain.nativeToken.currency,
105
- amount: createBigDecimal(
106
- internalTx.value,
107
- chain.nativeToken.decimals,
108
- ),
109
- price: nativeTokenPrice,
110
- },
96
+ parseInternalTransactionToActionTransferNone({
97
+ chain,
98
+ internalTransaction: internalTx,
99
+ }),
111
100
  ],
112
101
  })
113
102
  }
@@ -126,21 +115,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
126
115
  comment: undefined,
127
116
  app,
128
117
  transfers: [
129
- {
130
- target: '',
131
- direction: 'none',
132
- from: createEvmAccount({
133
- address: transfer.from,
134
- chainId: chain.id,
135
- }),
136
- to: createEvmAccount({
137
- address: transfer.to,
138
- chainId: chain.id,
139
- }),
140
- asset: transfer.token.currency,
141
- amount: createBigDecimal(transfer.value, transfer.token.decimals),
142
- price: transfer.price,
143
- },
118
+ parseErc20TransferToActionTransferNone({
119
+ chainId: chain.id,
120
+ transfer,
121
+ }),
144
122
  ],
145
123
  })
146
124
  break
@@ -154,22 +132,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
154
132
  comment: undefined,
155
133
  app,
156
134
  transfers: [
157
- {
158
- target: '',
159
- direction: 'none',
160
- from: createEvmAccount({
161
- address: transfer.from,
162
- chainId: chain.id,
163
- }),
164
- to: createEvmAccount({
165
- address: transfer.to,
166
- chainId: chain.id,
167
- }),
168
- asset: transfer.nft,
169
- amount: createBigDecimal('1'),
170
- // TODO 適切な値を入れる (一律 undefined を入れたい)
171
- price: undefined as Price,
172
- },
135
+ parseErc721TransferToActionTransferNone({
136
+ chainId: chain.id,
137
+ transfer,
138
+ }),
173
139
  ],
174
140
  })
175
141
  break
@@ -183,22 +149,10 @@ const generateNormalActions = <Price extends CryptoCurrencyPrice | undefined>(
183
149
  comment: undefined,
184
150
  app,
185
151
  transfers: [
186
- {
187
- target: '',
188
- direction: 'none',
189
- from: createEvmAccount({
190
- address: transfer.from,
191
- chainId: chain.id,
192
- }),
193
- to: createEvmAccount({
194
- address: transfer.to,
195
- chainId: chain.id,
196
- }),
197
- asset: transfer.nft,
198
- amount: createBigDecimal(transfer.value, 0),
199
- // TODO 適切な値を入れる (一律 undefined を入れたい)
200
- price: undefined as Price,
201
- },
152
+ parseErc1155TransferToActionTransferNone({
153
+ chainId: chain.id,
154
+ transfer,
155
+ }),
202
156
  ],
203
157
  })
204
158
  break
package/analyzer/types.ts CHANGED
@@ -1,18 +1,11 @@
1
1
  import type {
2
2
  AccountAction,
3
- AccountActionType,
4
- ActionType,
5
3
  Config,
6
4
  CryptoCurrencyPrice,
7
5
  NormalAction,
8
6
  } from '@0xtorch/core'
9
7
  import type { Chain } from '../chains'
10
- import type {
11
- EvmAccount,
12
- LowerHex,
13
- TransactionDecoded,
14
- TransactionSource,
15
- } from '../types'
8
+ import type { LowerHex, TransactionDecoded } from '../types'
16
9
 
17
10
  export type Analyzer<Price extends CryptoCurrencyPrice | undefined> = {
18
11
  readonly analyze: Analyze<Price>
@@ -21,7 +14,7 @@ export type Analyzer<Price extends CryptoCurrencyPrice | undefined> = {
21
14
  export type Analyze<Price extends CryptoCurrencyPrice | undefined> = (
22
15
  parameters: AnalyzeParameters<Price>,
23
16
  config?: Config,
24
- ) => Promise<AnalyzeReturnType<Price>>
17
+ ) => Promise<AnalyzeReturnType>
25
18
 
26
19
  export type AnalyzeParameters<Price extends CryptoCurrencyPrice | undefined> = {
27
20
  readonly chain: Chain
@@ -29,16 +22,7 @@ export type AnalyzeParameters<Price extends CryptoCurrencyPrice | undefined> = {
29
22
  readonly accountAddresses: readonly LowerHex[]
30
23
  }
31
24
 
32
- export type AnalyzeReturnType<Price extends CryptoCurrencyPrice | undefined> = {
33
- readonly actions: readonly NormalAction<
34
- ActionType,
35
- EvmAccount | undefined,
36
- Price
37
- >[]
38
- readonly accountActions: readonly AccountAction<
39
- AccountActionType,
40
- TransactionSource,
41
- EvmAccount | undefined,
42
- Price
43
- >[]
25
+ export type AnalyzeReturnType = {
26
+ readonly actions: readonly NormalAction[]
27
+ readonly accountActions: readonly AccountAction[]
44
28
  }
package/index.ts CHANGED
@@ -7,6 +7,7 @@ export {
7
7
  analyzeTransfer,
8
8
  analyzer,
9
9
  createAnalyzeByJsonRule,
10
+ evmAnalyzersSchema,
10
11
  } from './analyzer'
11
12
  export type { AnalyzeParameters, AnalyzeReturnType, Analyzer } from './analyzer'
12
13
  export type { AppDataSource } from './apps'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/evm",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Cryptorch EVM extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "@0xtorch/big-decimal": "^0.0.9",
41
- "@0xtorch/core": "^0.0.2",
41
+ "@0xtorch/core": "^0.0.12",
42
42
  "@supercharge/promise-pool": "^3.1.1",
43
43
  "viem": "^2.9.16",
44
44
  "zod": "^3.22.4"
@@ -1,7 +1,5 @@
1
1
  import type {
2
2
  AccountAction,
3
- AccountActionType,
4
- ActionType,
5
3
  App,
6
4
  CryptoCurrencyPrice,
7
5
  NormalAction,
@@ -11,7 +9,6 @@ import type { Prettify } from '../utils'
11
9
  import type { Erc1155Transfer } from './erc1155'
12
10
  import type { Erc20Transfer } from './erc20'
13
11
  import type { Erc721Transfer } from './erc721'
14
- import type { EvmAccount } from './evmAccount'
15
12
  import type { LowerHex } from './hex'
16
13
  import type { InputFunction } from './input'
17
14
  import type { InternalTransaction } from './internalTransaction'
@@ -63,16 +60,7 @@ export type TransactionFull<
63
60
  (Analyzed extends true
64
61
  ? {
65
62
  readonly accountAddresses: readonly LowerHex[]
66
- readonly actions: readonly NormalAction<
67
- ActionType,
68
- EvmAccount | undefined,
69
- Price
70
- >[]
71
- readonly accountActions: readonly AccountAction<
72
- AccountActionType,
73
- TransactionSource,
74
- EvmAccount | undefined,
75
- Price
76
- >[]
63
+ readonly actions: readonly NormalAction[]
64
+ readonly accountActions: readonly AccountAction[]
77
65
  }
78
66
  : unknown)
@@ -0,0 +1,57 @@
1
+ import type { Hex, LowerHex } from '../types'
2
+ import { isHex, toLowerHex } from '../types'
3
+
4
+ type CreateEvmAddressIdParameters = {
5
+ readonly chainId: number
6
+ readonly address: LowerHex
7
+ }
8
+
9
+ export const createEvmAddressId = ({
10
+ chainId,
11
+ address,
12
+ }: CreateEvmAddressIdParameters) => `evm_address_${chainId}_${address}`
13
+
14
+ type CreateEvmActionSourceParameters = {
15
+ readonly chainId: number
16
+ readonly transactionHash: Hex
17
+ }
18
+
19
+ export const createEvmActionSource = ({
20
+ chainId,
21
+ transactionHash,
22
+ }: CreateEvmActionSourceParameters) =>
23
+ `evm_${chainId}_${toLowerHex(transactionHash)}`
24
+
25
+ type GetEvmAddressDataOfEvmAddressIdReturnType = {
26
+ readonly chainId: number
27
+ readonly address: LowerHex
28
+ }
29
+
30
+ export const getEvmAddressDataOfEvmAddressId = (
31
+ id: string,
32
+ ): GetEvmAddressDataOfEvmAddressIdReturnType => {
33
+ if (!/$evm_address_(\d+)_(0x[\dA-Fa-f]{40})$/.test(id)) {
34
+ throw new Error(`Invalid EVM address ID: ${id}`)
35
+ }
36
+ const [chainId, address] = id.split('_').slice(2)
37
+ if (!isHex(address)) {
38
+ throw new Error(`Invalid EVM address ID: ${id}`)
39
+ }
40
+ return { chainId: Number(chainId), address: toLowerHex(address) }
41
+ }
42
+
43
+ type IncludesEvmAddressIdParameters = {
44
+ readonly addresses: readonly LowerHex[]
45
+ readonly id: string | undefined
46
+ }
47
+
48
+ export const includesEvmAddressId = ({
49
+ addresses,
50
+ id,
51
+ }: IncludesEvmAddressIdParameters) => {
52
+ if (id === undefined) {
53
+ return false
54
+ }
55
+ const { address } = getEvmAddressDataOfEvmAddressId(id)
56
+ return addresses.includes(address)
57
+ }
package/utils/index.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { bigIntMax, bigIntMin } from './bigint'
2
+ export { createEvmAddressId } from './create'
2
3
  export { checkTimeout } from './timeout'
3
4
  export type { Prettify } from './types'
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountActionByActionAddLiquidity = void 0;
4
- const types_1 = require("../../types");
5
- const createAccountActionByActionAddLiquidity = (action, transaction, accountAddresses) => {
6
- const transfersIn = action.transfers.filter((transfer) => transfer.direction === 'in');
7
- const transfersOut = action.transfers.filter((transfer) => transfer.direction === 'out');
8
- if (transfersOut.length === 0) {
9
- throw new Error('invalid action');
10
- }
11
- const source = `evm_${transaction.chainId}_${(0, types_1.toLowerHex)(transaction.transactionHash)}`;
12
- return transfersIn.every((transfer) => accountAddresses.includes(transfer.to.address)) &&
13
- transfersOut.every((transfer) => accountAddresses.includes(transfer.from.address))
14
- ? {
15
- type: 'AccountAction',
16
- action: 'add-liquidity',
17
- source,
18
- evidence: action.evidence,
19
- timestamp: action.timestamp,
20
- order: 0,
21
- comment: action.comment,
22
- app: action.app,
23
- transfers: action.transfers,
24
- }
25
- : undefined;
26
- };
27
- exports.createAccountActionByActionAddLiquidity = createAccountActionByActionAddLiquidity;
28
- //# sourceMappingURL=addLiquidity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addLiquidity.js","sourceRoot":"","sources":["../../../analyzer/createAccountActionByAction/addLiquidity.ts"],"names":[],"mappings":";;;AAYA,uCAAwC;AAEjC,MAAM,uCAAuC,GAAG,CAGrD,MAAmD,EACnD,WAAsC,EACtC,gBAAqC,EAQzB,EAAE;IACd,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACzC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAC1C,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAC3C,CAAA;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,MAAM,GACV,OAAO,WAAW,CAAC,OAAO,IAAI,IAAA,kBAAU,EAAC,WAAW,CAAC,eAAe,CAAC,EAAW,CAAA;IAElF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAC/C;QACC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9B,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CACjD;QACD,CAAC,CAAC;YACE,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,eAAe;YACvB,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B;QACH,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAA;AA7CY,QAAA,uCAAuC,2CA6CnD"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountActionByActionAtomicArbitrage = void 0;
4
- const big_decimal_1 = require("@0xtorch/big-decimal");
5
- const types_1 = require("../../types");
6
- const createAccountActionByActionAtomicArbitrage = (action, transaction, accountAddresses) => {
7
- if (action.transfers.length !== 2) {
8
- throw new Error('invalid action');
9
- }
10
- const transferIn = action.transfers.find((transfer) => transfer.direction === 'in');
11
- const transferOut = action.transfers.find((transfer) => transfer.direction === 'out');
12
- if (transferIn === undefined || transferOut === undefined) {
13
- throw new Error('invalid action');
14
- }
15
- const source = `evm_${transaction.chainId}_${(0, types_1.toLowerHex)(transaction.transactionHash)}`;
16
- if (accountAddresses.includes(transferIn.to.address) &&
17
- accountAddresses.includes(transferOut.from.address)) {
18
- return {
19
- type: 'AccountAction',
20
- action: 'atomic-arbitrage',
21
- source,
22
- evidence: action.evidence,
23
- timestamp: action.timestamp,
24
- order: 0,
25
- comment: action.comment,
26
- app: action.app,
27
- transfers: [
28
- {
29
- target: transferIn.to.address,
30
- direction: (0, big_decimal_1.greaterThan)(transferIn.amount, transferOut.amount)
31
- ? 'in'
32
- : 'out',
33
- from: (0, big_decimal_1.greaterThan)(transferIn.amount, transferOut.amount)
34
- ? undefined
35
- : transferIn.to,
36
- to: (0, big_decimal_1.greaterThan)(transferIn.amount, transferOut.amount)
37
- ? transferIn.to
38
- : undefined,
39
- asset: transferIn.asset,
40
- amount: (0, big_decimal_1.greaterThan)(transferIn.amount, transferOut.amount)
41
- ? (0, big_decimal_1.createBigDecimal)(transferIn.amount.value - transferOut.amount.value, transferIn.amount.decimals)
42
- : (0, big_decimal_1.createBigDecimal)(transferOut.amount.value - transferIn.amount.value, transferIn.amount.decimals),
43
- price: transferIn.price,
44
- },
45
- ],
46
- };
47
- }
48
- else if (accountAddresses.includes(transferIn.to.address)) {
49
- return {
50
- type: 'AccountAction',
51
- action: 'swap-income',
52
- source,
53
- evidence: action.evidence,
54
- timestamp: action.timestamp,
55
- order: 0,
56
- comment: action.comment,
57
- app: action.app,
58
- transfers: [transferIn],
59
- };
60
- }
61
- else if (accountAddresses.includes(transferOut.from.address)) {
62
- return {
63
- type: 'AccountAction',
64
- action: 'swap-transfer',
65
- source,
66
- evidence: action.evidence,
67
- timestamp: action.timestamp,
68
- order: 0,
69
- comment: action.comment,
70
- app: action.app,
71
- transfers: [transferOut],
72
- };
73
- }
74
- else {
75
- return undefined;
76
- }
77
- };
78
- exports.createAccountActionByActionAtomicArbitrage = createAccountActionByActionAtomicArbitrage;
79
- //# sourceMappingURL=atomicArbitrage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atomicArbitrage.js","sourceRoot":"","sources":["../../../analyzer/createAccountActionByAction/atomicArbitrage.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountActionByActionBridgeFrom = void 0;
4
- const types_1 = require("../../types");
5
- const createAccountActionByActionBridgeFrom = (action, transaction, accountAddresses) => {
6
- if (action.transfers.length !== 1) {
7
- throw new Error('invalid action');
8
- }
9
- const transfer = action.transfers[0];
10
- if (accountAddresses.includes(transfer.from.address) &&
11
- accountAddresses.includes(transfer.to.address)) {
12
- return undefined;
13
- }
14
- else if (accountAddresses.includes(transfer.from.address)) {
15
- return {
16
- type: 'AccountAction',
17
- action: 'bridge-from',
18
- source: `evm_${transaction.chainId}_${(0, types_1.toLowerHex)(transaction.transactionHash)}`,
19
- evidence: action.evidence,
20
- timestamp: action.timestamp,
21
- order: 0,
22
- comment: action.comment,
23
- app: action.app,
24
- transfers: [
25
- {
26
- ...transfer,
27
- target: transfer.from.address,
28
- direction: 'out',
29
- },
30
- ],
31
- };
32
- }
33
- else {
34
- return undefined;
35
- }
36
- };
37
- exports.createAccountActionByActionBridgeFrom = createAccountActionByActionBridgeFrom;
38
- //# sourceMappingURL=bridgeFrom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridgeFrom.js","sourceRoot":"","sources":["../../../analyzer/createAccountActionByAction/bridgeFrom.ts"],"names":[],"mappings":";;;AAYA,uCAAwC;AAEjC,MAAM,qCAAqC,GAAG,CAGnD,MAAiD,EACjD,WAAsC,EACtC,gBAAqC,EAQzB,EAAE;IACd,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACpC,IACE,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAC9C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,OAAO,WAAW,CAAC,OAAO,IAAI,IAAA,kBAAU,EAAC,WAAW,CAAC,eAAe,CAAC,EAAW;YAClF,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE;gBACT;oBACE,GAAG,QAAQ;oBACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;oBAC7B,SAAS,EAAE,KAAK;iBACjB;aACF;SACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AA9CY,QAAA,qCAAqC,yCA8CjD"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountActionByActionBridgeTo = void 0;
4
- const types_1 = require("../../types");
5
- const createAccountActionByActionBridgeTo = (action, transaction, accountAddresses) => {
6
- if (action.transfers.length !== 1) {
7
- throw new Error('invalid action');
8
- }
9
- const transfer = action.transfers[0];
10
- if (accountAddresses.includes(transfer.from.address) &&
11
- accountAddresses.includes(transfer.to.address)) {
12
- return undefined;
13
- }
14
- else if (accountAddresses.includes(transfer.to.address)) {
15
- return {
16
- type: 'AccountAction',
17
- action: 'bridge-to',
18
- source: `evm_${transaction.chainId}_${(0, types_1.toLowerHex)(transaction.transactionHash)}`,
19
- evidence: action.evidence,
20
- timestamp: action.timestamp,
21
- order: 0,
22
- comment: action.comment,
23
- app: action.app,
24
- transfers: [
25
- {
26
- ...transfer,
27
- target: transfer.to.address,
28
- direction: 'in',
29
- },
30
- ],
31
- };
32
- }
33
- else {
34
- return undefined;
35
- }
36
- };
37
- exports.createAccountActionByActionBridgeTo = createAccountActionByActionBridgeTo;
38
- //# sourceMappingURL=bridgeTo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridgeTo.js","sourceRoot":"","sources":["../../../analyzer/createAccountActionByAction/bridgeTo.ts"],"names":[],"mappings":";;;AAYA,uCAAwC;AAEjC,MAAM,mCAAmC,GAAG,CAGjD,MAA+C,EAC/C,WAAsC,EACtC,gBAAqC,EAQzB,EAAE;IACd,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACpC,IACE,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAC9C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,WAAW;YACnB,MAAM,EACJ,OAAO,WAAW,CAAC,OAAO,IAAI,IAAA,kBAAU,EAAC,WAAW,CAAC,eAAe,CAAC,EAAW;YAClF,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE;gBACT;oBACE,GAAG,QAAQ;oBACX,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO;oBAC3B,SAAS,EAAE,IAAI;iBAChB;aACF;SACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AA9CY,QAAA,mCAAmC,uCA8C/C"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAccountActionByActionBuyNft = void 0;
4
- const types_1 = require("../../types");
5
- const createAccountActionByActionBuyNft = (action, transaction, accountAddresses) => {
6
- const transfersIn = action.transfers.filter((transfer) => transfer.direction === 'in');
7
- const transfersOut = action.transfers.filter((transfer) => transfer.direction === 'out');
8
- if (transfersIn.length === 0 || transfersOut.length === 0) {
9
- throw new Error('invalid action');
10
- }
11
- const source = `evm_${transaction.chainId}_${(0, types_1.toLowerHex)(transaction.transactionHash)}`;
12
- if (transfersIn.every((transfer) => accountAddresses.includes(transfer.to.address)) &&
13
- transfersOut.every((transfer) => accountAddresses.includes(transfer.from.address))) {
14
- return {
15
- type: 'AccountAction',
16
- action: 'buy-nft',
17
- source,
18
- evidence: action.evidence,
19
- timestamp: action.timestamp,
20
- order: 0,
21
- comment: action.comment,
22
- app: action.app,
23
- transfers: action.transfers,
24
- };
25
- }
26
- else if (transfersIn.every((transfer) => accountAddresses.includes(transfer.to.address)) &&
27
- transfersOut.every((transfer) => !accountAddresses.includes(transfer.from.address))) {
28
- return {
29
- type: 'AccountAction',
30
- action: 'swap-income',
31
- source,
32
- evidence: action.evidence,
33
- timestamp: action.timestamp,
34
- order: 0,
35
- comment: action.comment,
36
- app: action.app,
37
- transfers: transfersIn,
38
- };
39
- }
40
- else if (transfersOut.every((transfer) => accountAddresses.includes(transfer.from.address)) &&
41
- transfersIn.every((transfer) => !accountAddresses.includes(transfer.to.address))) {
42
- return {
43
- type: 'AccountAction',
44
- action: 'swap-transfer',
45
- source,
46
- evidence: action.evidence,
47
- timestamp: action.timestamp,
48
- order: 0,
49
- comment: action.comment,
50
- app: action.app,
51
- transfers: transfersOut,
52
- };
53
- }
54
- else {
55
- return undefined;
56
- }
57
- };
58
- exports.createAccountActionByActionBuyNft = createAccountActionByActionBuyNft;
59
- //# sourceMappingURL=buyNft.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buyNft.js","sourceRoot":"","sources":["../../../analyzer/createAccountActionByAction/buyNft.ts"],"names":[],"mappings":"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"}