@0xtorch/evm 0.0.11 → 0.0.13

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 (411) 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 +791 -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 +280 -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 +842 -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 +341 -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 +56943 -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/.DS_Store +0 -0
  233. package/analyzer/analyze.ts +6 -30
  234. package/analyzer/axieMarketplace/analyze.ts +67 -150
  235. package/analyzer/gasFee/analyze.ts +29 -36
  236. package/analyzer/index.ts +1 -1
  237. package/analyzer/json/analyze.ts +32 -53
  238. package/analyzer/json/components/comment.ts +62 -0
  239. package/analyzer/json/components/erc1155.ts +132 -0
  240. package/analyzer/json/components/erc1155Raw.ts +46 -0
  241. package/analyzer/json/components/erc20.ts +129 -0
  242. package/analyzer/json/components/erc20Raw.ts +43 -0
  243. package/analyzer/json/components/erc721.ts +117 -0
  244. package/analyzer/json/components/erc721Raw.ts +46 -0
  245. package/analyzer/json/components/id.ts +62 -0
  246. package/analyzer/json/components/internal.ts +117 -0
  247. package/analyzer/json/components/internalRaw.ts +39 -0
  248. package/analyzer/json/components/logArgument.ts +99 -0
  249. package/analyzer/json/components/logArgumentRaw.ts +57 -0
  250. package/analyzer/json/components/transfer.ts +531 -0
  251. package/analyzer/json/condition/address.ts +124 -0
  252. package/analyzer/json/condition/argumentValue.ts +43 -0
  253. package/analyzer/json/condition/index.ts +3 -0
  254. package/analyzer/json/condition/value.ts +76 -0
  255. package/analyzer/json/generator.ts +1184 -0
  256. package/analyzer/json/index.ts +1 -0
  257. package/analyzer/json/schemas/generator.ts +389 -0
  258. package/analyzer/json/schemas/index.ts +363 -0
  259. package/analyzer/json/schemas/utils.ts +12 -0
  260. package/analyzer/json/types.ts +111 -207
  261. package/analyzer/parsers/transfer.ts +301 -0
  262. package/analyzer/seaport/analyze.ts +228 -195
  263. package/analyzer/spam/analyze.ts +79 -112
  264. package/analyzer/swap/analyze.ts +67 -101
  265. package/analyzer/transfer/analyze.ts +54 -100
  266. package/analyzer/types.ts +5 -21
  267. package/index.ts +1 -0
  268. package/package.json +2 -2
  269. package/types/transaction.ts +2 -14
  270. package/utils/create.ts +57 -0
  271. package/utils/index.ts +1 -0
  272. package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js +0 -28
  273. package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
  274. package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
  275. package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
  276. package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js +0 -38
  277. package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
  278. package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js +0 -38
  279. package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
  280. package/_cjs/analyzer/createAccountActionByAction/buyNft.js +0 -59
  281. package/_cjs/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
  282. package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -69
  283. package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
  284. package/_cjs/analyzer/createAccountActionByAction/deposit.js +0 -41
  285. package/_cjs/analyzer/createAccountActionByAction/deposit.js.map +0 -1
  286. package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js +0 -28
  287. package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
  288. package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js +0 -32
  289. package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
  290. package/_cjs/analyzer/createAccountActionByAction/index.js +0 -6
  291. package/_cjs/analyzer/createAccountActionByAction/index.js.map +0 -1
  292. package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js +0 -28
  293. package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
  294. package/_cjs/analyzer/createAccountActionByAction/spam.js +0 -58
  295. package/_cjs/analyzer/createAccountActionByAction/spam.js.map +0 -1
  296. package/_cjs/analyzer/createAccountActionByAction/trade.js +0 -59
  297. package/_cjs/analyzer/createAccountActionByAction/trade.js.map +0 -1
  298. package/_cjs/analyzer/createAccountActionByAction/transactionFee.js +0 -29
  299. package/_cjs/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
  300. package/_cjs/analyzer/createAccountActionByAction/transfer.js +0 -74
  301. package/_cjs/analyzer/createAccountActionByAction/transfer.js.map +0 -1
  302. package/_cjs/analyzer/createAccountActionByAction/withdraw.js +0 -38
  303. package/_cjs/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
  304. package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -28
  305. package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
  306. package/_cjs/analyzer/json/generatorAnyLog.js +0 -163
  307. package/_cjs/analyzer/json/generatorAnyLog.js.map +0 -1
  308. package/_cjs/analyzer/json/generatorAnyTokenTransfer.js +0 -102
  309. package/_cjs/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
  310. package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js +0 -343
  311. package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
  312. package/_esm/analyzer/createAccountActionByAction/addLiquidity.js +0 -24
  313. package/_esm/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
  314. package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
  315. package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
  316. package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js +0 -34
  317. package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
  318. package/_esm/analyzer/createAccountActionByAction/bridgeTo.js +0 -34
  319. package/_esm/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
  320. package/_esm/analyzer/createAccountActionByAction/buyNft.js +0 -59
  321. package/_esm/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
  322. package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -80
  323. package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
  324. package/_esm/analyzer/createAccountActionByAction/deposit.js +0 -38
  325. package/_esm/analyzer/createAccountActionByAction/deposit.js.map +0 -1
  326. package/_esm/analyzer/createAccountActionByAction/depositWithBond.js +0 -24
  327. package/_esm/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
  328. package/_esm/analyzer/createAccountActionByAction/freeMintNft.js +0 -28
  329. package/_esm/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
  330. package/_esm/analyzer/createAccountActionByAction/index.js +0 -2
  331. package/_esm/analyzer/createAccountActionByAction/index.js.map +0 -1
  332. package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js +0 -24
  333. package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
  334. package/_esm/analyzer/createAccountActionByAction/spam.js +0 -54
  335. package/_esm/analyzer/createAccountActionByAction/spam.js.map +0 -1
  336. package/_esm/analyzer/createAccountActionByAction/trade.js +0 -59
  337. package/_esm/analyzer/createAccountActionByAction/trade.js.map +0 -1
  338. package/_esm/analyzer/createAccountActionByAction/transactionFee.js +0 -25
  339. package/_esm/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
  340. package/_esm/analyzer/createAccountActionByAction/transfer.js +0 -70
  341. package/_esm/analyzer/createAccountActionByAction/transfer.js.map +0 -1
  342. package/_esm/analyzer/createAccountActionByAction/withdraw.js +0 -34
  343. package/_esm/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
  344. package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -24
  345. package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
  346. package/_esm/analyzer/json/generatorAnyLog.js +0 -159
  347. package/_esm/analyzer/json/generatorAnyLog.js.map +0 -1
  348. package/_esm/analyzer/json/generatorAnyTokenTransfer.js +0 -98
  349. package/_esm/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
  350. package/_esm/analyzer/json/generatorSpecificTokenTransfer.js +0 -339
  351. package/_esm/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
  352. package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts +0 -59
  353. package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts.map +0 -1
  354. package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts +0 -59
  355. package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts.map +0 -1
  356. package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts +0 -59
  357. package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts.map +0 -1
  358. package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts +0 -59
  359. package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts.map +0 -1
  360. package/_types/analyzer/createAccountActionByAction/buyNft.d.ts +0 -59
  361. package/_types/analyzer/createAccountActionByAction/buyNft.d.ts.map +0 -1
  362. package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts +0 -59
  363. package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts.map +0 -1
  364. package/_types/analyzer/createAccountActionByAction/deposit.d.ts +0 -59
  365. package/_types/analyzer/createAccountActionByAction/deposit.d.ts.map +0 -1
  366. package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts +0 -59
  367. package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts.map +0 -1
  368. package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts +0 -53
  369. package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts.map +0 -1
  370. package/_types/analyzer/createAccountActionByAction/index.d.ts +0 -2
  371. package/_types/analyzer/createAccountActionByAction/index.d.ts.map +0 -1
  372. package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts +0 -59
  373. package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts.map +0 -1
  374. package/_types/analyzer/createAccountActionByAction/spam.d.ts +0 -59
  375. package/_types/analyzer/createAccountActionByAction/spam.d.ts.map +0 -1
  376. package/_types/analyzer/createAccountActionByAction/trade.d.ts +0 -59
  377. package/_types/analyzer/createAccountActionByAction/trade.d.ts.map +0 -1
  378. package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts +0 -59
  379. package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts.map +0 -1
  380. package/_types/analyzer/createAccountActionByAction/transfer.d.ts +0 -59
  381. package/_types/analyzer/createAccountActionByAction/transfer.d.ts.map +0 -1
  382. package/_types/analyzer/createAccountActionByAction/withdraw.d.ts +0 -59
  383. package/_types/analyzer/createAccountActionByAction/withdraw.d.ts.map +0 -1
  384. package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts +0 -59
  385. package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts.map +0 -1
  386. package/_types/analyzer/json/generatorAnyLog.d.ts +0 -55
  387. package/_types/analyzer/json/generatorAnyLog.d.ts.map +0 -1
  388. package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts +0 -54
  389. package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts.map +0 -1
  390. package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts +0 -55
  391. package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts.map +0 -1
  392. package/analyzer/createAccountActionByAction/addLiquidity.ts +0 -60
  393. package/analyzer/createAccountActionByAction/atomicArbitrage.ts +0 -115
  394. package/analyzer/createAccountActionByAction/bridgeFrom.ts +0 -61
  395. package/analyzer/createAccountActionByAction/bridgeTo.ts +0 -61
  396. package/analyzer/createAccountActionByAction/buyNft.ts +0 -106
  397. package/analyzer/createAccountActionByAction/createAccountActionByAction.ts +0 -181
  398. package/analyzer/createAccountActionByAction/deposit.ts +0 -64
  399. package/analyzer/createAccountActionByAction/depositWithBond.ts +0 -60
  400. package/analyzer/createAccountActionByAction/freeMintNft.ts +0 -54
  401. package/analyzer/createAccountActionByAction/index.ts +0 -1
  402. package/analyzer/createAccountActionByAction/removeLiquidity.ts +0 -60
  403. package/analyzer/createAccountActionByAction/spam.ts +0 -79
  404. package/analyzer/createAccountActionByAction/trade.ts +0 -105
  405. package/analyzer/createAccountActionByAction/transactionFee.ts +0 -51
  406. package/analyzer/createAccountActionByAction/transfer.ts +0 -95
  407. package/analyzer/createAccountActionByAction/withdraw.ts +0 -61
  408. package/analyzer/createAccountActionByAction/withdrawWithBond.ts +0 -60
  409. package/analyzer/json/generatorAnyLog.ts +0 -207
  410. package/analyzer/json/generatorAnyTokenTransfer.ts +0 -118
  411. package/analyzer/json/generatorSpecificTokenTransfer.ts +0 -425
@@ -0,0 +1,73 @@
1
+ import { getAddressByAddressCondition, getValueByValueCondition, } from '../condition';
2
+ export const getInternalComponent = ({ component, transaction, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
3
+ const internals = component.target === true
4
+ ? targetsInternal
5
+ : transaction.internalTransactions;
6
+ const filteredInternals = internals.filter((internal) => isMatchInternalComponent({
7
+ component,
8
+ internal,
9
+ transaction,
10
+ targetsErc20,
11
+ targetsErc721,
12
+ targetsErc1155,
13
+ targetsInternal,
14
+ targetsLog,
15
+ }));
16
+ if (component.index === 'any') {
17
+ return filteredInternals;
18
+ }
19
+ else {
20
+ if (filteredInternals.length <= component.index) {
21
+ throw new Error('filteredInternals.length <= component.index');
22
+ }
23
+ return [filteredInternals[component.index]];
24
+ }
25
+ };
26
+ export const isMatchInternalComponent = ({ component, internal, transaction, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
27
+ if (component.from !== undefined) {
28
+ const value = getAddressByAddressCondition({
29
+ condition: component.from,
30
+ transaction,
31
+ targetsErc20,
32
+ targetsErc721,
33
+ targetsErc1155,
34
+ targetsInternal,
35
+ targetsLog,
36
+ });
37
+ if (value !== internal.from) {
38
+ return false;
39
+ }
40
+ }
41
+ if (component.to !== undefined) {
42
+ const value = getAddressByAddressCondition({
43
+ condition: component.to,
44
+ transaction,
45
+ targetsErc20,
46
+ targetsErc721,
47
+ targetsErc1155,
48
+ targetsInternal,
49
+ targetsLog,
50
+ });
51
+ if (value !== internal.to) {
52
+ return false;
53
+ }
54
+ }
55
+ if (component.value !== undefined) {
56
+ const value = getValueByValueCondition({
57
+ condition: component.value,
58
+ transaction,
59
+ targetsErc20,
60
+ targetsErc1155,
61
+ targetsInternal,
62
+ targetsLog,
63
+ });
64
+ if (value === 'plus' && internal.value <= 0) {
65
+ return false;
66
+ }
67
+ else if (value !== 'plus' && value !== internal.value) {
68
+ return false;
69
+ }
70
+ }
71
+ return true;
72
+ };
73
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../analyzer/json/components/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,cAAc,CAAA;AAUrB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAElC,EACA,SAAS,EACT,WAAW,EACX,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACnB,eAAe,GAAG,EAAE,EACpB,UAAU,GAAG,EAAE,GACuB,EAAyC,EAAE;IACjF,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,KAAK,IAAI;QACvB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAA;IACtC,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,wBAAwB,CAAC;QACvB,SAAS;QACT,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,aAAa;QACb,cAAc;QACd,eAAe;QACf,UAAU;KACX,CAAC,CACH,CAAA;IACD,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,iBAAiB,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAEtC,EACA,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACnB,eAAe,GAAG,EAAE,EACpB,UAAU,GAAG,EAAE,GAC2B,EAAW,EAAE;IACvD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,4BAA4B,CAAC;YACzC,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,WAAW;YACX,YAAY;YACZ,aAAa;YACb,cAAc;YACd,eAAe;YACf,UAAU;SACX,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,4BAA4B,CAAC;YACzC,SAAS,EAAE,SAAS,CAAC,EAAE;YACvB,WAAW;YACX,YAAY;YACZ,aAAa;YACb,cAAc;YACd,eAAe;YACf,UAAU;SACX,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,wBAAwB,CAAC;YACrC,SAAS,EAAE,SAAS,CAAC,KAAK;YAC1B,WAAW;YACX,YAAY;YACZ,cAAc;YACd,eAAe;YACf,UAAU;SACX,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ export const getInternalRawComponent = ({ component, transaction, targetsInternal = [], }) => {
2
+ const transfers = component.target === true
3
+ ? targetsInternal
4
+ : transaction.internalTransactions;
5
+ const filteredTransfers = transfers.filter((transfer) => {
6
+ if (component.from !== undefined && component.from !== transfer.from) {
7
+ return false;
8
+ }
9
+ if (component.to !== undefined && component.to !== transfer.to) {
10
+ return false;
11
+ }
12
+ if (component.value !== undefined && component.value !== transfer.value) {
13
+ return false;
14
+ }
15
+ return true;
16
+ });
17
+ if (filteredTransfers.length <= component.index) {
18
+ throw new Error('filteredInternalTransactions.length <= condition.index');
19
+ }
20
+ return filteredTransfers[component.index];
21
+ };
22
+ //# sourceMappingURL=internalRaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalRaw.js","sourceRoot":"","sources":["../../../../analyzer/json/components/internalRaw.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAErC,EACA,SAAS,EACT,WAAW,EACX,eAAe,GAAG,EAAE,GACkB,EAA8B,EAAE;IACtE,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,KAAK,IAAI;QACvB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAA;IACtC,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,iBAAiB,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { getValueByLogArgumentValueCondition } from '../condition';
2
+ export const getLogArgumentComponent = ({ component, transaction, targetsLog = [], }) => {
3
+ const logs = component.target === true ? targetsLog : transaction.logs;
4
+ const filteredLogs = logs.filter((log) => isMatchLogArgumentComponent({
5
+ component,
6
+ log,
7
+ transaction,
8
+ targetsLog,
9
+ }));
10
+ if (component.index === 'any') {
11
+ return filteredLogs.map((log) => {
12
+ if (log.type !== 'decoded') {
13
+ throw new Error('log is not decoded');
14
+ }
15
+ if (log.log.args.length <= component.argIndex) {
16
+ throw new Error('log.log.args.length <= condition.argIndex');
17
+ }
18
+ return log.log.args[component.argIndex].value;
19
+ });
20
+ }
21
+ else {
22
+ if (filteredLogs.length <= component.index) {
23
+ throw new Error('filteredLogs.length <= condition.index');
24
+ }
25
+ const log = filteredLogs[component.index];
26
+ if (log.type !== 'decoded') {
27
+ throw new Error('log is not decoded');
28
+ }
29
+ if (log.log.args.length <= component.argIndex) {
30
+ throw new Error('log.log.args.length <= condition.argIndex');
31
+ }
32
+ return [log.log.args[component.argIndex].value];
33
+ }
34
+ };
35
+ export const isMatchLogArgumentComponent = ({ component, log, transaction, targetsLog = [], }) => {
36
+ if (component.signature !== undefined &&
37
+ component.signature !== log.log.topics[0]) {
38
+ return false;
39
+ }
40
+ if (component.indexedCount !== undefined &&
41
+ component.indexedCount !== log.log.topics.length - 1) {
42
+ return false;
43
+ }
44
+ if (component.args !== undefined) {
45
+ for (const { index, value: valueCondition } of component.args) {
46
+ const value = getValueByLogArgumentValueCondition({
47
+ condition: valueCondition,
48
+ transaction,
49
+ targetsLog,
50
+ });
51
+ if (log.type !== 'decoded' || log.log.args.length <= index) {
52
+ return false;
53
+ }
54
+ const argument = String(log.log.args[index].value).toLowerCase();
55
+ if (argument !== value) {
56
+ return false;
57
+ }
58
+ }
59
+ }
60
+ return true;
61
+ };
62
+ //# sourceMappingURL=logArgument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logArgument.js","sourceRoot":"","sources":["../../../../analyzer/json/components/logArgument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export const getLogArgumentRawComponent = ({ component, transaction, targetsLog = [], }) => {
2
+ const logs = component.target === true ? targetsLog : transaction.logs;
3
+ const filteredLogs = logs.filter((log) => {
4
+ if (component.signature !== undefined &&
5
+ component.signature !== log.log.topics[0]) {
6
+ return false;
7
+ }
8
+ if (component.indexedCount !== undefined &&
9
+ component.indexedCount !== log.log.topics.length - 1) {
10
+ return false;
11
+ }
12
+ if (component.args !== undefined) {
13
+ for (const { index, value } of component.args) {
14
+ if (log.type !== 'decoded' || log.log.args.length <= index) {
15
+ return false;
16
+ }
17
+ const argument = String(log.log.args[index].value).toLowerCase();
18
+ if (argument !== value) {
19
+ return false;
20
+ }
21
+ }
22
+ }
23
+ return true;
24
+ });
25
+ if (filteredLogs.length <= component.index) {
26
+ throw new Error('filteredLogs.length <= condition.index');
27
+ }
28
+ const log = filteredLogs[component.index];
29
+ if (log.type !== 'decoded') {
30
+ throw new Error('log is not decoded');
31
+ }
32
+ if (log.log.args.length <= component.argIndex) {
33
+ throw new Error('log.log.args.length <= condition.argIndex');
34
+ }
35
+ return log.log.args[component.argIndex].value;
36
+ };
37
+ //# sourceMappingURL=logArgumentRaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logArgumentRaw.js","sourceRoot":"","sources":["../../../../analyzer/json/components/logArgumentRaw.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAExC,EACA,SAAS,EACT,WAAW,EACX,UAAU,GAAG,EAAE,GAC6B,EAAW,EAAE;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,IACE,SAAS,CAAC,SAAS,KAAK,SAAS;YACjC,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EACzC,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IACE,SAAS,CAAC,YAAY,KAAK,SAAS;YACpC,SAAS,CAAC,YAAY,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EACpD,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC3D,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;gBAChE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAA;AAC/C,CAAC,CAAA"}
@@ -0,0 +1,431 @@
1
+ import { createBigDecimal, plus } from '@0xtorch/big-decimal';
2
+ import { isHex, toLowerHex } from '../../../types';
3
+ import { createEvmAddressId } from '../../../utils';
4
+ import { getErc1155Component } from './erc1155';
5
+ import { getErc20Component } from './erc20';
6
+ import { getErc721Component } from './erc721';
7
+ import { getInternalComponent } from './internal';
8
+ import { getLogArgumentComponent } from './logArgument';
9
+ export const createTransfersByTransferComponent = ({ component, transaction, chain, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
10
+ switch (component.type) {
11
+ case 'value': {
12
+ return [
13
+ {
14
+ from: createEvmAddressId({
15
+ chainId: chain.id,
16
+ address: toLowerHex(transaction.from),
17
+ }),
18
+ to: transaction.to === null
19
+ ? undefined
20
+ : createEvmAddressId({
21
+ chainId: chain.id,
22
+ address: toLowerHex(transaction.to),
23
+ }),
24
+ asset: chain.nativeToken.currency,
25
+ amount: createBigDecimal(transaction.value, chain.nativeToken.decimals),
26
+ price: transaction.nativeTokenPrice,
27
+ direction: component.direction,
28
+ },
29
+ ];
30
+ }
31
+ case 'internal': {
32
+ const internals = getInternalComponent({
33
+ component,
34
+ transaction,
35
+ targetsErc20,
36
+ targetsErc721,
37
+ targetsErc1155,
38
+ targetsInternal,
39
+ targetsLog,
40
+ });
41
+ return internals.map((internal) => ({
42
+ from: createEvmAddressId({
43
+ chainId: chain.id,
44
+ address: internal.from,
45
+ }),
46
+ to: internal.to === undefined
47
+ ? undefined
48
+ : createEvmAddressId({
49
+ chainId: chain.id,
50
+ address: internal.to,
51
+ }),
52
+ asset: chain.nativeToken.currency,
53
+ amount: createBigDecimal(internal.value, chain.nativeToken.decimals),
54
+ price: transaction.nativeTokenPrice,
55
+ direction: component.direction,
56
+ }));
57
+ }
58
+ case 'erc20': {
59
+ const transfers = getErc20Component({
60
+ component,
61
+ transaction,
62
+ targetsErc20,
63
+ targetsErc721,
64
+ targetsErc1155,
65
+ targetsInternal,
66
+ targetsLog,
67
+ });
68
+ return transfers.map((transfer) => ({
69
+ from: createEvmAddressId({
70
+ chainId: chain.id,
71
+ address: transfer.from,
72
+ }),
73
+ to: createEvmAddressId({
74
+ chainId: chain.id,
75
+ address: transfer.to,
76
+ }),
77
+ asset: transfer.token.currency,
78
+ amount: createBigDecimal(transfer.value, transfer.token.decimals),
79
+ price: transfer.price,
80
+ direction: component.direction,
81
+ }));
82
+ }
83
+ case 'erc721': {
84
+ const transfers = getErc721Component({
85
+ component,
86
+ transaction,
87
+ targetsErc20,
88
+ targetsErc721,
89
+ targetsErc1155,
90
+ targetsInternal,
91
+ targetsLog,
92
+ });
93
+ return transfers.map((transfer) => ({
94
+ from: createEvmAddressId({
95
+ chainId: chain.id,
96
+ address: transfer.from,
97
+ }),
98
+ to: createEvmAddressId({
99
+ chainId: chain.id,
100
+ address: transfer.to,
101
+ }),
102
+ asset: transfer.nft,
103
+ amount: createBigDecimal(1n),
104
+ price: undefined,
105
+ direction: component.direction,
106
+ }));
107
+ }
108
+ case 'erc1155': {
109
+ const transfers = getErc1155Component({
110
+ component,
111
+ transaction,
112
+ targetsErc20,
113
+ targetsErc721,
114
+ targetsErc1155,
115
+ targetsInternal,
116
+ targetsLog,
117
+ });
118
+ return transfers.map((transfer) => ({
119
+ from: createEvmAddressId({
120
+ chainId: chain.id,
121
+ address: transfer.from,
122
+ }),
123
+ to: createEvmAddressId({
124
+ chainId: chain.id,
125
+ address: transfer.to,
126
+ }),
127
+ asset: transfer.nft,
128
+ amount: createBigDecimal(transfer.value),
129
+ price: undefined,
130
+ direction: component.direction,
131
+ }));
132
+ }
133
+ case 'custom': {
134
+ const from = getAddressByTransferCustomAddressComponent({
135
+ component: component.from,
136
+ transaction,
137
+ targetsErc20,
138
+ targetsErc721,
139
+ targetsErc1155,
140
+ targetsInternal,
141
+ targetsLog,
142
+ });
143
+ const to = getAddressByTransferCustomAddressComponent({
144
+ component: component.to,
145
+ transaction,
146
+ targetsErc20,
147
+ targetsErc721,
148
+ targetsErc1155,
149
+ targetsInternal,
150
+ targetsLog,
151
+ });
152
+ const asset = getAssetByTransferCustomAssetComponent({
153
+ component: component.asset,
154
+ transaction,
155
+ chain,
156
+ targetsErc20,
157
+ targetsErc721,
158
+ targetsErc1155,
159
+ targetsInternal,
160
+ targetsLog,
161
+ });
162
+ const amount = component.amount
163
+ .map((item) => getAmountByTransferCustomAmountComponent({
164
+ component: item,
165
+ transaction,
166
+ chain,
167
+ targetsErc20,
168
+ targetsErc721,
169
+ targetsErc1155,
170
+ targetsInternal,
171
+ targetsLog,
172
+ }))
173
+ .reduce((a, b) => plus(a, b), createBigDecimal(0n));
174
+ return [
175
+ {
176
+ from: createEvmAddressId({
177
+ chainId: chain.id,
178
+ address: from,
179
+ }),
180
+ to: createEvmAddressId({
181
+ chainId: chain.id,
182
+ address: to,
183
+ }),
184
+ asset,
185
+ amount,
186
+ price: getPrice(asset, transaction),
187
+ direction: component.direction,
188
+ },
189
+ ];
190
+ }
191
+ }
192
+ };
193
+ const getPrice = (asset, transaction) => {
194
+ switch (asset.type) {
195
+ case 'CryptoCurrency': {
196
+ const transfer = transaction.erc20Transfers.find((transfer) => transfer.token.currency.id === asset.id);
197
+ return transfer === undefined
198
+ ? transaction.nativeTokenPrice
199
+ : transfer.price;
200
+ }
201
+ case 'Nft': {
202
+ return undefined;
203
+ }
204
+ }
205
+ };
206
+ const getAddressByTransferCustomAddressComponent = ({ component, transaction, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
207
+ if (typeof component === 'string') {
208
+ return component;
209
+ }
210
+ switch (component.type) {
211
+ case 'from': {
212
+ return toLowerHex(transaction.from);
213
+ }
214
+ case 'to': {
215
+ return transaction.to === null ? '0x' : toLowerHex(transaction.to);
216
+ }
217
+ case 'erc20': {
218
+ const [transfer] = getErc20Component({
219
+ component,
220
+ transaction,
221
+ targetsErc20,
222
+ targetsErc721,
223
+ targetsErc1155,
224
+ targetsInternal,
225
+ targetsLog,
226
+ });
227
+ switch (component.key) {
228
+ case 'from': {
229
+ return transfer.from;
230
+ }
231
+ case 'to': {
232
+ return transfer.to;
233
+ }
234
+ }
235
+ throw new Error('Not reachable');
236
+ }
237
+ case 'erc721': {
238
+ const [transfer] = getErc721Component({
239
+ component,
240
+ transaction,
241
+ targetsErc20,
242
+ targetsErc721,
243
+ targetsErc1155,
244
+ targetsInternal,
245
+ targetsLog,
246
+ });
247
+ switch (component.key) {
248
+ case 'from': {
249
+ return transfer.from;
250
+ }
251
+ case 'to': {
252
+ return transfer.to;
253
+ }
254
+ }
255
+ throw new Error('Not reachable');
256
+ }
257
+ case 'erc1155': {
258
+ const [transfer] = getErc1155Component({
259
+ component,
260
+ transaction,
261
+ targetsErc20,
262
+ targetsErc721,
263
+ targetsErc1155,
264
+ targetsInternal,
265
+ targetsLog,
266
+ });
267
+ switch (component.key) {
268
+ case 'from': {
269
+ return transfer.from;
270
+ }
271
+ case 'to': {
272
+ return transfer.to;
273
+ }
274
+ }
275
+ throw new Error('Not reachable');
276
+ }
277
+ case 'internal': {
278
+ const [internal] = getInternalComponent({
279
+ component,
280
+ transaction,
281
+ targetsErc20,
282
+ targetsErc721,
283
+ targetsErc1155,
284
+ targetsInternal,
285
+ targetsLog,
286
+ });
287
+ switch (component.key) {
288
+ case 'from': {
289
+ return internal.from;
290
+ }
291
+ case 'to': {
292
+ return internal.to ?? '0x';
293
+ }
294
+ }
295
+ throw new Error('Not reachable');
296
+ }
297
+ case 'log': {
298
+ const [argument] = getLogArgumentComponent({
299
+ component,
300
+ transaction,
301
+ targetsLog,
302
+ });
303
+ const address = String(argument);
304
+ if (!isHex(address)) {
305
+ throw new Error(`Invalid address: ${address}`);
306
+ }
307
+ return toLowerHex(address);
308
+ }
309
+ }
310
+ };
311
+ const getAssetByTransferCustomAssetComponent = ({ component, transaction, chain, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
312
+ if (typeof component === 'string' && component === 'native') {
313
+ return chain.nativeToken.currency;
314
+ }
315
+ switch (component.type) {
316
+ case 'erc20': {
317
+ const [transfer] = getErc20Component({
318
+ component,
319
+ transaction,
320
+ targetsErc20,
321
+ targetsErc721,
322
+ targetsErc1155,
323
+ targetsInternal,
324
+ targetsLog,
325
+ });
326
+ return transfer.token.currency;
327
+ }
328
+ case 'erc721': {
329
+ const [transfer] = getErc721Component({
330
+ component,
331
+ transaction,
332
+ targetsErc20,
333
+ targetsErc721,
334
+ targetsErc1155,
335
+ targetsInternal,
336
+ targetsLog,
337
+ });
338
+ return transfer.nft;
339
+ }
340
+ case 'erc1155': {
341
+ const [transfer] = getErc1155Component({
342
+ component,
343
+ transaction,
344
+ targetsErc20,
345
+ targetsErc721,
346
+ targetsErc1155,
347
+ targetsInternal,
348
+ targetsLog,
349
+ });
350
+ return transfer.nft;
351
+ }
352
+ }
353
+ };
354
+ const getAmountByTransferCustomAmountComponent = ({ component, transaction, chain, targetsErc20 = [], targetsErc721 = [], targetsErc1155 = [], targetsInternal = [], targetsLog = [], }) => {
355
+ const { plus, value } = component;
356
+ if ('decimals' in value) {
357
+ return plus
358
+ ? value
359
+ : {
360
+ value: value.value * -1n,
361
+ decimals: value.decimals,
362
+ };
363
+ }
364
+ switch (value.type) {
365
+ case 'value': {
366
+ const amount = createBigDecimal(transaction.value, chain.nativeToken.decimals);
367
+ return plus
368
+ ? amount
369
+ : {
370
+ value: amount.value * -1n,
371
+ decimals: amount.decimals,
372
+ };
373
+ }
374
+ case 'internal': {
375
+ const [internal] = getInternalComponent({
376
+ component: value,
377
+ transaction,
378
+ targetsErc20,
379
+ targetsErc721,
380
+ targetsErc1155,
381
+ targetsInternal,
382
+ targetsLog,
383
+ });
384
+ const amount = createBigDecimal(internal.value, chain.nativeToken.decimals);
385
+ return plus
386
+ ? amount
387
+ : {
388
+ value: amount.value * -1n,
389
+ decimals: amount.decimals,
390
+ };
391
+ }
392
+ case 'erc20': {
393
+ const [transfer] = getErc20Component({
394
+ component: value,
395
+ transaction,
396
+ targetsErc20,
397
+ targetsErc721,
398
+ targetsErc1155,
399
+ targetsInternal,
400
+ targetsLog,
401
+ });
402
+ const amount = createBigDecimal(transfer.value, transfer.token.decimals);
403
+ return plus
404
+ ? amount
405
+ : {
406
+ value: amount.value * -1n,
407
+ decimals: amount.decimals,
408
+ };
409
+ }
410
+ case 'erc1155': {
411
+ const [transfer] = getErc1155Component({
412
+ component: value,
413
+ transaction,
414
+ targetsErc20,
415
+ targetsErc721,
416
+ targetsErc1155,
417
+ targetsInternal,
418
+ targetsLog,
419
+ });
420
+ const amount = createBigDecimal(transfer.value);
421
+ return plus
422
+ ? amount
423
+ : {
424
+ value: amount.value * -1n,
425
+ decimals: amount.decimals,
426
+ };
427
+ }
428
+ }
429
+ throw new Error('Not reachable');
430
+ };
431
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../analyzer/json/components/transfer.ts"],"names":[],"mappings":"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"}