@0xtorch/evm 0.0.10 → 0.0.12

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