@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,842 @@
1
+ import { isTransferCryptoCurrencyIn, isTransferCryptoCurrencyOut, isTransferFiatCurrencyIn, isTransferFiatCurrencyOut, isTransferNftIn, isTransferNftOut, } from '@0xtorch/core';
2
+ import { createCommentByCommentComponent } from './components/comment';
3
+ import { isMatchErc1155Component } from './components/erc1155';
4
+ import { isMatchErc20Component } from './components/erc20';
5
+ import { isMatchErc721Component } from './components/erc721';
6
+ import { createIdByIdComponent } from './components/id';
7
+ import { isMatchInternalComponent } from './components/internal';
8
+ import { isMatchLogArgumentComponent } from './components/logArgument';
9
+ import { createTransfersByTransferComponent } from './components/transfer';
10
+ export const generateActionsByGenerator = ({ generator, chain, transaction, }) => {
11
+ const { target } = generator;
12
+ // target=undefined の場合は単一 action 生成
13
+ if (target === undefined) {
14
+ return [
15
+ generateActionByGeneratorWithTargets({
16
+ generator,
17
+ chain,
18
+ transaction,
19
+ }),
20
+ ];
21
+ }
22
+ // target が undefined でない場合は target 毎に action 生成
23
+ const mut_erc20Transfers = [...transaction.erc20Transfers];
24
+ const mut_erc721Transfers = [...transaction.erc721Transfers];
25
+ const mut_erc1155Transfers = [...transaction.erc1155Transfers];
26
+ const mut_internalTransactions = [...transaction.internalTransactions];
27
+ const mut_logs = [...transaction.logs];
28
+ const mut_targets = [];
29
+ let repeat = true;
30
+ while (repeat) {
31
+ const mut_targetsErc20 = [];
32
+ const mut_targetsErc721 = [];
33
+ const mut_targetsErc1155 = [];
34
+ const mut_targetsInternal = [];
35
+ const mut_targetsLog = [];
36
+ for (const component of target) {
37
+ switch (component.type) {
38
+ case 'erc20': {
39
+ const erc20Index = mut_erc20Transfers.findIndex((transfer) => isMatchErc20Component({
40
+ component: {
41
+ ...component,
42
+ index: 0,
43
+ },
44
+ transfer,
45
+ transaction,
46
+ }));
47
+ if (erc20Index === -1) {
48
+ repeat = false;
49
+ break;
50
+ }
51
+ mut_targetsErc20.push(mut_erc20Transfers[erc20Index]);
52
+ mut_erc20Transfers.splice(erc20Index, 1);
53
+ break;
54
+ }
55
+ case 'erc721': {
56
+ const erc721Index = mut_erc721Transfers.findIndex((transfer) => isMatchErc721Component({
57
+ component: {
58
+ ...component,
59
+ index: 0,
60
+ },
61
+ transfer,
62
+ transaction,
63
+ }));
64
+ if (erc721Index === -1) {
65
+ repeat = false;
66
+ break;
67
+ }
68
+ mut_targetsErc721.push(mut_erc721Transfers[erc721Index]);
69
+ mut_erc721Transfers.splice(erc721Index, 1);
70
+ break;
71
+ }
72
+ case 'erc1155': {
73
+ const erc1155Index = mut_erc1155Transfers.findIndex((transfer) => isMatchErc1155Component({
74
+ component: {
75
+ ...component,
76
+ index: 0,
77
+ },
78
+ transfer,
79
+ transaction,
80
+ }));
81
+ if (erc1155Index === -1) {
82
+ repeat = false;
83
+ break;
84
+ }
85
+ mut_targetsErc1155.push(mut_erc1155Transfers[erc1155Index]);
86
+ mut_erc1155Transfers.splice(erc1155Index, 1);
87
+ break;
88
+ }
89
+ case 'internal': {
90
+ const internalIndex = mut_internalTransactions.findIndex((internal) => isMatchInternalComponent({
91
+ component: {
92
+ ...component,
93
+ index: 0,
94
+ },
95
+ internal,
96
+ transaction,
97
+ }));
98
+ if (internalIndex === -1) {
99
+ repeat = false;
100
+ break;
101
+ }
102
+ mut_targetsInternal.push(mut_internalTransactions[internalIndex]);
103
+ mut_internalTransactions.splice(internalIndex, 1);
104
+ break;
105
+ }
106
+ case 'log': {
107
+ const logIndex = mut_logs.findIndex((log) => isMatchLogArgumentComponent({
108
+ component: {
109
+ ...component,
110
+ index: 0,
111
+ argIndex: 0,
112
+ valueType: 'other',
113
+ },
114
+ log,
115
+ transaction,
116
+ }));
117
+ if (logIndex === -1) {
118
+ repeat = false;
119
+ break;
120
+ }
121
+ mut_targetsLog.push(mut_logs[logIndex]);
122
+ mut_logs.splice(logIndex, 1);
123
+ break;
124
+ }
125
+ }
126
+ if (!repeat) {
127
+ break;
128
+ }
129
+ }
130
+ if (!repeat) {
131
+ break;
132
+ }
133
+ mut_targets.push({
134
+ targetsErc20: mut_targetsErc20,
135
+ targetsErc721: mut_targetsErc721,
136
+ targetsErc1155: mut_targetsErc1155,
137
+ targetsInternal: mut_targetsInternal,
138
+ targetsLog: mut_targetsLog,
139
+ });
140
+ }
141
+ const actions = mut_targets.map((target) => generateActionByGeneratorWithTargets({
142
+ generator,
143
+ chain,
144
+ transaction,
145
+ ...target,
146
+ }));
147
+ return actions;
148
+ };
149
+ const generateActionByGeneratorWithTargets = ({ generator, chain, transaction, targetsErc20, targetsErc721, targetsErc1155, targetsInternal, targetsLog, }) => {
150
+ // generator に基づいて action 生成
151
+ const action = {
152
+ type: 'NormalAction',
153
+ action: generator.action,
154
+ evidence: 'contract',
155
+ timestamp: Number(transaction.block.timestamp) * 1000,
156
+ comment: generator.comment === undefined
157
+ ? undefined
158
+ : generator.comment
159
+ .map((component) => createCommentByCommentComponent({
160
+ component,
161
+ transaction,
162
+ chain,
163
+ targetsLog,
164
+ }))
165
+ .join(''),
166
+ app: transaction.app,
167
+ transfers: generator.transfers.flatMap((component) => createTransfersByTransferComponent({
168
+ component,
169
+ transaction,
170
+ chain,
171
+ targetsErc20,
172
+ targetsErc721,
173
+ targetsErc1155,
174
+ targetsInternal,
175
+ targetsLog,
176
+ })),
177
+ crossId: generator.crossId === undefined
178
+ ? undefined
179
+ : generator.crossId
180
+ .map((component) => createIdByIdComponent({
181
+ component,
182
+ transaction,
183
+ chain,
184
+ targetsLog,
185
+ }))
186
+ .join(''),
187
+ crossType: generator.crossType,
188
+ loanId: generator.loanId === undefined
189
+ ? undefined
190
+ : generator.loanId
191
+ .map((component) => createIdByIdComponent({
192
+ component,
193
+ transaction,
194
+ chain,
195
+ targetsLog,
196
+ }))
197
+ .join(''),
198
+ };
199
+ switch (action.action) {
200
+ case 'add-liquidity': {
201
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
202
+ isTransferNftIn(transfer) ||
203
+ isTransferCryptoCurrencyOut(transfer) ||
204
+ isTransferNftOut(transfer));
205
+ if (transfers.length !== action.transfers.length) {
206
+ throw new Error('Invalid action.transfers for add-liquidity');
207
+ }
208
+ if (action.loanId === undefined) {
209
+ throw new Error('action.loandId is required for add-liquidity');
210
+ }
211
+ return {
212
+ ...action,
213
+ type: 'LoanNormalAction',
214
+ action: 'add-liquidity',
215
+ loanId: action.loanId,
216
+ transfers,
217
+ };
218
+ }
219
+ case 'approve': {
220
+ if (action.transfers.length > 0) {
221
+ throw new Error('Invalid action.transfers for approve');
222
+ }
223
+ return {
224
+ ...action,
225
+ type: 'NormalAction',
226
+ action: 'approve',
227
+ transfers: [],
228
+ };
229
+ }
230
+ case 'atomic-arbitrage': {
231
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
232
+ isTransferCryptoCurrencyOut(transfer));
233
+ if (transfers.length !== action.transfers.length) {
234
+ throw new Error('Invalid action.transfers for atomic-arbitrage');
235
+ }
236
+ return {
237
+ ...action,
238
+ type: 'NormalAction',
239
+ action: 'atomic-arbitrage',
240
+ transfers,
241
+ };
242
+ }
243
+ case 'borrow': {
244
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) || isTransferNftIn(transfer));
245
+ if (transfers.length !== action.transfers.length) {
246
+ throw new Error('Invalid action.transfers for borrow');
247
+ }
248
+ if (action.loanId === undefined) {
249
+ throw new Error('action.loandId is required for borrow');
250
+ }
251
+ return {
252
+ ...action,
253
+ type: 'LoanNormalAction',
254
+ action: 'borrow',
255
+ loanId: action.loanId,
256
+ transfers,
257
+ };
258
+ }
259
+ case 'borrow-with-debt': {
260
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
261
+ isTransferNftIn(transfer) ||
262
+ isTransferCryptoCurrencyOut(transfer) ||
263
+ isTransferNftOut(transfer));
264
+ if (transfers.length !== action.transfers.length) {
265
+ throw new Error('Invalid action.transfers for borrow-with-debt');
266
+ }
267
+ if (action.loanId === undefined) {
268
+ throw new Error('action.loandId is required for borrow-with-debt');
269
+ }
270
+ return {
271
+ ...action,
272
+ type: 'LoanNormalAction',
273
+ action: 'borrow-with-debt',
274
+ loanId: action.loanId,
275
+ transfers,
276
+ };
277
+ }
278
+ case 'bridge-from': {
279
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) || isTransferNftOut(transfer));
280
+ if (transfers.length !== action.transfers.length) {
281
+ throw new Error('Invalid action.transfers for bridge-from');
282
+ }
283
+ if (action.crossId === undefined) {
284
+ throw new Error('action.crossId is required for bridge-from');
285
+ }
286
+ if (action.crossType === undefined) {
287
+ throw new Error('action.crossType is required for bridge-from');
288
+ }
289
+ return {
290
+ ...action,
291
+ type: 'CrossNormalAction',
292
+ action: 'bridge-from',
293
+ crossId: action.crossId,
294
+ crossType: action.crossType,
295
+ transfers,
296
+ };
297
+ }
298
+ case 'bridge-to': {
299
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) || isTransferNftIn(transfer));
300
+ if (transfers.length !== action.transfers.length) {
301
+ throw new Error('Invalid action.transfers for bridge-to');
302
+ }
303
+ if (action.crossId === undefined) {
304
+ throw new Error('action.crossId is required for bridge-to');
305
+ }
306
+ if (action.crossType === undefined) {
307
+ throw new Error('action.crossType is required for bridge-to');
308
+ }
309
+ return {
310
+ ...action,
311
+ type: 'CrossNormalAction',
312
+ action: 'bridge-to',
313
+ crossId: action.crossId,
314
+ crossType: action.crossType,
315
+ transfers,
316
+ };
317
+ }
318
+ case 'buy-crypto': {
319
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
320
+ isTransferFiatCurrencyOut(transfer));
321
+ if (transfers.length !== action.transfers.length) {
322
+ throw new Error('Invalid action.transfers for buy-crypto');
323
+ }
324
+ return {
325
+ ...action,
326
+ type: 'NormalAction',
327
+ action: 'buy-crypto',
328
+ transfers,
329
+ };
330
+ }
331
+ case 'buy-nft': {
332
+ const transfers = action.transfers.filter((transfer) => isTransferNftIn(transfer) ||
333
+ isTransferFiatCurrencyOut(transfer) ||
334
+ isTransferCryptoCurrencyOut(transfer));
335
+ if (transfers.length !== action.transfers.length) {
336
+ throw new Error('Invalid action.transfers for buy-nft');
337
+ }
338
+ return {
339
+ ...action,
340
+ type: 'NormalAction',
341
+ action: 'buy-nft',
342
+ transfers,
343
+ };
344
+ }
345
+ case 'cross-replace': {
346
+ // transferInSchema, transferOutSchema
347
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
348
+ isTransferNftIn(transfer) ||
349
+ isTransferFiatCurrencyIn(transfer) ||
350
+ isTransferCryptoCurrencyOut(transfer) ||
351
+ isTransferNftOut(transfer) ||
352
+ isTransferFiatCurrencyOut(transfer));
353
+ if (transfers.length !== action.transfers.length) {
354
+ throw new Error('Invalid action.transfers for cross-replace');
355
+ }
356
+ if (action.crossId === undefined) {
357
+ throw new Error('action.crossId is required for cross-replace');
358
+ }
359
+ if (action.crossType === undefined) {
360
+ throw new Error('action.crossType is required for cross-replace');
361
+ }
362
+ return {
363
+ ...action,
364
+ type: 'CrossNormalAction',
365
+ action: 'cross-replace',
366
+ crossId: action.crossId,
367
+ crossType: action.crossType,
368
+ transfers,
369
+ };
370
+ }
371
+ case 'deposit': {
372
+ // transferCryptoCurrencyOutSchema, transferNftOutSchema
373
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) || isTransferNftOut(transfer));
374
+ if (transfers.length !== action.transfers.length) {
375
+ throw new Error('Invalid action.transfers for deposit');
376
+ }
377
+ if (action.loanId === undefined) {
378
+ throw new Error('action.loandId is required for deposit');
379
+ }
380
+ return {
381
+ ...action,
382
+ type: 'LoanNormalAction',
383
+ action: 'deposit',
384
+ loanId: action.loanId,
385
+ transfers,
386
+ };
387
+ }
388
+ case 'cross-trade': {
389
+ // transferInSchema, transferOutSchema
390
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
391
+ isTransferNftIn(transfer) ||
392
+ isTransferFiatCurrencyIn(transfer) ||
393
+ isTransferCryptoCurrencyOut(transfer) ||
394
+ isTransferNftOut(transfer) ||
395
+ isTransferFiatCurrencyOut(transfer));
396
+ if (transfers.length !== action.transfers.length) {
397
+ throw new Error('Invalid action.transfers for cross-trade');
398
+ }
399
+ if (action.crossId === undefined) {
400
+ throw new Error('action.crossId is required for cross-trade');
401
+ }
402
+ if (action.crossType === undefined) {
403
+ throw new Error('action.crossType is required for cross-trade');
404
+ }
405
+ return {
406
+ ...action,
407
+ type: 'CrossNormalAction',
408
+ action: 'cross-trade',
409
+ crossId: action.crossId,
410
+ crossType: action.crossType,
411
+ transfers,
412
+ };
413
+ }
414
+ case 'deposit-with-bond': {
415
+ // transferCryptoCurrencyInSchema,
416
+ // transferNftInSchema,
417
+ // transferCryptoCurrencyOutSchema,
418
+ // transferNftOutSchema,
419
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
420
+ isTransferNftIn(transfer) ||
421
+ isTransferCryptoCurrencyOut(transfer) ||
422
+ isTransferNftOut(transfer));
423
+ if (transfers.length !== action.transfers.length) {
424
+ throw new Error('Invalid action.transfers for deposit-with-bond');
425
+ }
426
+ if (action.loanId === undefined) {
427
+ throw new Error('action.loandId is required for deposit-with-bond');
428
+ }
429
+ return {
430
+ ...action,
431
+ type: 'LoanNormalAction',
432
+ action: 'deposit-with-bond',
433
+ loanId: action.loanId,
434
+ transfers,
435
+ };
436
+ }
437
+ case 'fail-tx': {
438
+ if (action.transfers.length > 0) {
439
+ throw new Error('Invalid action.transfers for fail-tx');
440
+ }
441
+ return {
442
+ ...action,
443
+ type: 'NormalAction',
444
+ action: 'fail-tx',
445
+ transfers: [],
446
+ };
447
+ }
448
+ case 'fee': {
449
+ // transferCryptoCurrencyOutSchema, transferFiatCurrencyOutSchema
450
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) ||
451
+ isTransferFiatCurrencyOut(transfer));
452
+ if (transfers.length !== action.transfers.length) {
453
+ throw new Error('Invalid action.transfers for fee');
454
+ }
455
+ return {
456
+ ...action,
457
+ type: 'NormalAction',
458
+ action: 'fee',
459
+ transfers,
460
+ };
461
+ }
462
+ case 'free-mint-nft': {
463
+ // transferNftInSchema
464
+ const transfers = action.transfers.filter((transfer) => isTransferNftIn(transfer));
465
+ if (transfers.length !== action.transfers.length) {
466
+ throw new Error('Invalid action.transfers for free-mint-nft');
467
+ }
468
+ return {
469
+ ...action,
470
+ type: 'NormalAction',
471
+ action: 'free-mint-nft',
472
+ transfers,
473
+ };
474
+ }
475
+ case 'income': {
476
+ // transferInSchema
477
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
478
+ isTransferNftIn(transfer) ||
479
+ isTransferFiatCurrencyIn(transfer));
480
+ if (transfers.length !== action.transfers.length) {
481
+ throw new Error('Invalid action.transfers for income');
482
+ }
483
+ return {
484
+ ...action,
485
+ type: 'NormalAction',
486
+ action: 'income',
487
+ transfers,
488
+ };
489
+ }
490
+ case 'mint-nft': {
491
+ // transferNftInSchema,
492
+ // transferFiatCurrencyOutSchema,
493
+ // transferCryptoCurrencyOutSchema,
494
+ const transfers = action.transfers.filter((transfer) => isTransferNftIn(transfer) ||
495
+ isTransferFiatCurrencyOut(transfer) ||
496
+ isTransferCryptoCurrencyOut(transfer));
497
+ if (transfers.length !== action.transfers.length) {
498
+ throw new Error('Invalid action.transfers for mint-nft');
499
+ }
500
+ return {
501
+ ...action,
502
+ type: 'NormalAction',
503
+ action: 'mint-nft',
504
+ transfers,
505
+ };
506
+ }
507
+ case 'receive-from-cex': {
508
+ // transferCryptoCurrencyInSchema, transferNftInSchema
509
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) || isTransferNftIn(transfer));
510
+ if (transfers.length !== action.transfers.length) {
511
+ throw new Error('Invalid action.transfers for receive-from-cex');
512
+ }
513
+ return {
514
+ ...action,
515
+ type: 'NormalAction',
516
+ action: 'receive-from-cex',
517
+ transfers,
518
+ };
519
+ }
520
+ case 'remove-liquidity': {
521
+ // transferCryptoCurrencyInSchema,
522
+ // transferNftInSchema,
523
+ // transferCryptoCurrencyOutSchema,
524
+ // transferNftOutSchema,
525
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
526
+ isTransferNftIn(transfer) ||
527
+ isTransferCryptoCurrencyOut(transfer) ||
528
+ isTransferNftOut(transfer));
529
+ if (transfers.length !== action.transfers.length) {
530
+ throw new Error('Invalid action.transfers for remove-liquidity');
531
+ }
532
+ if (action.loanId === undefined) {
533
+ throw new Error('action.loandId is required for remove-liquidity');
534
+ }
535
+ return {
536
+ ...action,
537
+ type: 'LoanNormalAction',
538
+ action: 'remove-liquidity',
539
+ loanId: action.loanId,
540
+ transfers,
541
+ };
542
+ }
543
+ case 'repayment': {
544
+ // transferCryptoCurrencyOutSchema, transferNftOutSchema
545
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) || isTransferNftOut(transfer));
546
+ if (transfers.length !== action.transfers.length) {
547
+ throw new Error('Invalid action.transfers for repayment');
548
+ }
549
+ if (action.loanId === undefined) {
550
+ throw new Error('action.loandId is required for repayment');
551
+ }
552
+ return {
553
+ ...action,
554
+ type: 'LoanNormalAction',
555
+ action: 'repayment',
556
+ loanId: action.loanId,
557
+ transfers,
558
+ };
559
+ }
560
+ case 'repayment-with-debt': {
561
+ // transferCryptoCurrencyInSchema,
562
+ // transferNftInSchema,
563
+ // transferCryptoCurrencyOutSchema,
564
+ // transferNftOutSchema,
565
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
566
+ isTransferNftIn(transfer) ||
567
+ isTransferCryptoCurrencyOut(transfer) ||
568
+ isTransferNftOut(transfer));
569
+ if (transfers.length !== action.transfers.length) {
570
+ throw new Error('Invalid action.transfers for repayment-with-debt');
571
+ }
572
+ if (action.loanId === undefined) {
573
+ throw new Error('action.loandId is required for repayment-with-debt');
574
+ }
575
+ return {
576
+ ...action,
577
+ type: 'LoanNormalAction',
578
+ action: 'repayment-with-debt',
579
+ loanId: action.loanId,
580
+ transfers,
581
+ };
582
+ }
583
+ case 'replace': {
584
+ // transferCryptoCurrencyInSchema,
585
+ // transferNftInSchema,
586
+ // transferCryptoCurrencyOutSchema,
587
+ // transferNftOutSchema,
588
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
589
+ isTransferNftIn(transfer) ||
590
+ isTransferCryptoCurrencyOut(transfer) ||
591
+ isTransferNftOut(transfer));
592
+ if (transfers.length !== action.transfers.length) {
593
+ throw new Error('Invalid action.transfers for replace');
594
+ }
595
+ return {
596
+ ...action,
597
+ type: 'NormalAction',
598
+ action: 'replace',
599
+ transfers,
600
+ };
601
+ }
602
+ case 'revoke': {
603
+ if (action.transfers.length > 0) {
604
+ throw new Error('Invalid action.transfers for revoke');
605
+ }
606
+ return {
607
+ ...action,
608
+ type: 'NormalAction',
609
+ action: 'revoke',
610
+ transfers: [],
611
+ };
612
+ }
613
+ case 'sell-crypto': {
614
+ // transferFiatCurrencyInSchema, transferCryptoCurrencyOutSchema
615
+ const transfers = action.transfers.filter((transfer) => isTransferFiatCurrencyIn(transfer) ||
616
+ isTransferCryptoCurrencyOut(transfer));
617
+ if (transfers.length !== action.transfers.length) {
618
+ throw new Error('Invalid action.transfers for sell-crypto');
619
+ }
620
+ return {
621
+ ...action,
622
+ type: 'NormalAction',
623
+ action: 'sell-crypto',
624
+ transfers,
625
+ };
626
+ }
627
+ case 'sell-nft': {
628
+ // transferFiatCurrencyInSchema,
629
+ // transferCryptoCurrencyInSchema,
630
+ // transferNftOutSchema,
631
+ const transfers = action.transfers.filter((transfer) => isTransferFiatCurrencyIn(transfer) ||
632
+ isTransferCryptoCurrencyIn(transfer) ||
633
+ isTransferNftOut(transfer));
634
+ if (transfers.length !== action.transfers.length) {
635
+ throw new Error('Invalid action.transfers for sell-nft');
636
+ }
637
+ return {
638
+ ...action,
639
+ type: 'NormalAction',
640
+ action: 'sell-nft',
641
+ transfers,
642
+ };
643
+ }
644
+ case 'send-to-cex': {
645
+ // transferCryptoCurrencyOutSchema, transferNftOutSchema
646
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) || isTransferNftOut(transfer));
647
+ if (transfers.length !== action.transfers.length) {
648
+ throw new Error('Invalid action.transfers for send-to-cex');
649
+ }
650
+ return {
651
+ ...action,
652
+ type: 'NormalAction',
653
+ action: 'send-to-cex',
654
+ transfers,
655
+ };
656
+ }
657
+ case 'spam': {
658
+ // transferCryptoCurrencyInSchema,
659
+ // transferNftInSchema,
660
+ // transferCryptoCurrencyOutSchema,
661
+ // transferNftOutSchema,
662
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
663
+ isTransferNftIn(transfer) ||
664
+ isTransferCryptoCurrencyOut(transfer) ||
665
+ isTransferNftOut(transfer));
666
+ if (transfers.length !== action.transfers.length) {
667
+ throw new Error('Invalid action.transfers for spam');
668
+ }
669
+ return {
670
+ ...action,
671
+ type: 'NormalAction',
672
+ action: 'spam',
673
+ transfers,
674
+ };
675
+ }
676
+ case 'stake': {
677
+ // transferCryptoCurrencyOutSchema, transferNftOutSchema
678
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer) || isTransferNftOut(transfer));
679
+ if (transfers.length !== action.transfers.length) {
680
+ throw new Error('Invalid action.transfers for stake');
681
+ }
682
+ if (action.loanId === undefined) {
683
+ throw new Error('action.loandId is required for stake');
684
+ }
685
+ return {
686
+ ...action,
687
+ type: 'LoanNormalAction',
688
+ action: 'stake',
689
+ loanId: action.loanId,
690
+ transfers,
691
+ };
692
+ }
693
+ case 'swap-nft': {
694
+ // transferNftInSchema, transferNftOutSchema
695
+ const transfers = action.transfers.filter((transfer) => isTransferNftIn(transfer) || isTransferNftOut(transfer));
696
+ if (transfers.length !== action.transfers.length) {
697
+ throw new Error('Invalid action.transfers for swap-nft');
698
+ }
699
+ return {
700
+ ...action,
701
+ type: 'NormalAction',
702
+ action: 'swap-nft',
703
+ transfers,
704
+ };
705
+ }
706
+ case 'trade': {
707
+ // transferInSchema, transferOutSchema
708
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
709
+ isTransferNftIn(transfer) ||
710
+ isTransferFiatCurrencyIn(transfer) ||
711
+ isTransferCryptoCurrencyOut(transfer) ||
712
+ isTransferNftOut(transfer) ||
713
+ isTransferFiatCurrencyOut(transfer));
714
+ if (transfers.length !== action.transfers.length) {
715
+ throw new Error('Invalid action.transfers for trade');
716
+ }
717
+ return {
718
+ ...action,
719
+ type: 'NormalAction',
720
+ action: 'trade',
721
+ transfers,
722
+ };
723
+ }
724
+ case 'transaction-fee': {
725
+ // transferCryptoCurrencyOutSchema
726
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyOut(transfer));
727
+ if (transfers.length !== action.transfers.length) {
728
+ throw new Error('Invalid action.transfers for transaction-fee');
729
+ }
730
+ return {
731
+ ...action,
732
+ type: 'NormalAction',
733
+ action: 'transaction-fee',
734
+ transfers,
735
+ };
736
+ }
737
+ case 'transfer': {
738
+ return {
739
+ ...action,
740
+ type: 'NormalAction',
741
+ action: 'transfer',
742
+ transfers: [...action.transfers],
743
+ };
744
+ }
745
+ case 'unstake': {
746
+ // transferCryptoCurrencyInSchema, transferNftInSchema
747
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) || isTransferNftIn(transfer));
748
+ if (transfers.length !== action.transfers.length) {
749
+ throw new Error('Invalid action.transfers for unstake');
750
+ }
751
+ if (action.loanId === undefined) {
752
+ throw new Error('action.loandId is required for unstake');
753
+ }
754
+ return {
755
+ ...action,
756
+ type: 'LoanNormalAction',
757
+ action: 'unstake',
758
+ loanId: action.loanId,
759
+ transfers,
760
+ };
761
+ }
762
+ case 'unwrap': {
763
+ // transferCryptoCurrencyInSchema,
764
+ // transferCryptoCurrencyOutSchema,
765
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
766
+ isTransferCryptoCurrencyOut(transfer));
767
+ if (transfers.length !== action.transfers.length) {
768
+ throw new Error('Invalid action.transfers for unwrap');
769
+ }
770
+ return {
771
+ ...action,
772
+ type: 'NormalAction',
773
+ action: 'unwrap',
774
+ transfers,
775
+ };
776
+ }
777
+ case 'wrap': {
778
+ // transferCryptoCurrencyInSchema,
779
+ // transferCryptoCurrencyOutSchema,
780
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
781
+ isTransferCryptoCurrencyOut(transfer));
782
+ if (transfers.length !== action.transfers.length) {
783
+ throw new Error('Invalid action.transfers for wrap');
784
+ }
785
+ return {
786
+ ...action,
787
+ type: 'NormalAction',
788
+ action: 'wrap',
789
+ transfers,
790
+ };
791
+ }
792
+ case 'valuedown': {
793
+ // TODO asset の指定を可能にする
794
+ throw new Error('Not implemented for valuedown');
795
+ }
796
+ case 'valueup': {
797
+ // TODO
798
+ throw new Error('Not implemented for valueup');
799
+ }
800
+ case 'withdraw': {
801
+ // transferCryptoCurrencyInSchema, transferNftInSchema
802
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) || isTransferNftIn(transfer));
803
+ if (transfers.length !== action.transfers.length) {
804
+ throw new Error('Invalid action.transfers for withdraw');
805
+ }
806
+ if (action.loanId === undefined) {
807
+ throw new Error('action.loandId is required for withdraw');
808
+ }
809
+ return {
810
+ ...action,
811
+ type: 'LoanNormalAction',
812
+ action: 'withdraw',
813
+ loanId: action.loanId,
814
+ transfers,
815
+ };
816
+ }
817
+ case 'withdraw-with-bond': {
818
+ // transferCryptoCurrencyInSchema,
819
+ // transferNftInSchema,
820
+ // transferCryptoCurrencyOutSchema,
821
+ // transferNftOutSchema,
822
+ const transfers = action.transfers.filter((transfer) => isTransferCryptoCurrencyIn(transfer) ||
823
+ isTransferNftIn(transfer) ||
824
+ isTransferCryptoCurrencyOut(transfer) ||
825
+ isTransferNftOut(transfer));
826
+ if (transfers.length !== action.transfers.length) {
827
+ throw new Error('Invalid action.transfers for withdraw-with-bond');
828
+ }
829
+ if (action.loanId === undefined) {
830
+ throw new Error('action.loandId is required for withdraw-with-bond');
831
+ }
832
+ return {
833
+ ...action,
834
+ type: 'LoanNormalAction',
835
+ action: 'withdraw-with-bond',
836
+ loanId: action.loanId,
837
+ transfers,
838
+ };
839
+ }
840
+ }
841
+ };
842
+ //# sourceMappingURL=generator.js.map