@0xtorch/core 0.0.7 → 0.0.9

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 (530) hide show
  1. package/_cjs/actions/index.js +48 -2
  2. package/_cjs/actions/index.js.map +1 -1
  3. package/_cjs/actions/parsers/borrow/borrow.js +22 -0
  4. package/_cjs/actions/parsers/borrow/borrow.js.map +1 -0
  5. package/_cjs/actions/parsers/borrow/borrowWithDebt.js +22 -0
  6. package/_cjs/actions/parsers/borrow/borrowWithDebt.js.map +1 -0
  7. package/_cjs/actions/parsers/borrow/index.js +8 -0
  8. package/_cjs/actions/parsers/borrow/index.js.map +1 -0
  9. package/_cjs/actions/parsers/crossReplace/bridgeFrom.js +22 -0
  10. package/_cjs/actions/parsers/crossReplace/bridgeFrom.js.map +1 -0
  11. package/_cjs/actions/parsers/crossReplace/bridgeTo.js +22 -0
  12. package/_cjs/actions/parsers/crossReplace/bridgeTo.js.map +1 -0
  13. package/_cjs/actions/parsers/crossReplace/crossReplace.js +22 -0
  14. package/_cjs/actions/parsers/crossReplace/crossReplace.js.map +1 -0
  15. package/_cjs/actions/parsers/crossReplace/index.js +10 -0
  16. package/_cjs/actions/parsers/crossReplace/index.js.map +1 -0
  17. package/_cjs/actions/parsers/crossTrade/crossTrade.js +22 -0
  18. package/_cjs/actions/parsers/crossTrade/crossTrade.js.map +1 -0
  19. package/_cjs/actions/parsers/crossTrade/index.js +6 -0
  20. package/_cjs/actions/parsers/crossTrade/index.js.map +1 -0
  21. package/_cjs/actions/parsers/default.js +134 -0
  22. package/_cjs/actions/parsers/default.js.map +1 -0
  23. package/_cjs/actions/parsers/deposit/addLiquidity.js +22 -0
  24. package/_cjs/actions/parsers/deposit/addLiquidity.js.map +1 -0
  25. package/_cjs/actions/parsers/deposit/deposit.js +22 -0
  26. package/_cjs/actions/parsers/deposit/deposit.js.map +1 -0
  27. package/_cjs/actions/parsers/deposit/depositWithBond.js +22 -0
  28. package/_cjs/actions/parsers/deposit/depositWithBond.js.map +1 -0
  29. package/_cjs/actions/parsers/deposit/index.js +12 -0
  30. package/_cjs/actions/parsers/deposit/index.js.map +1 -0
  31. package/_cjs/actions/parsers/deposit/stake.js +22 -0
  32. package/_cjs/actions/parsers/deposit/stake.js.map +1 -0
  33. package/_cjs/actions/parsers/fee/fee.js +38 -0
  34. package/_cjs/actions/parsers/fee/fee.js.map +1 -0
  35. package/_cjs/actions/parsers/fee/index.js +8 -0
  36. package/_cjs/actions/parsers/fee/index.js.map +1 -0
  37. package/_cjs/actions/parsers/fee/transactionFee.js +21 -0
  38. package/_cjs/actions/parsers/fee/transactionFee.js.map +1 -0
  39. package/_cjs/actions/parsers/ignore/approve.js +14 -0
  40. package/_cjs/actions/parsers/ignore/approve.js.map +1 -0
  41. package/_cjs/actions/parsers/ignore/failTx.js +14 -0
  42. package/_cjs/actions/parsers/ignore/failTx.js.map +1 -0
  43. package/_cjs/actions/parsers/ignore/index.js +16 -0
  44. package/_cjs/actions/parsers/ignore/index.js.map +1 -0
  45. package/_cjs/actions/parsers/ignore/receiveFromCex.js +12 -0
  46. package/_cjs/actions/parsers/ignore/receiveFromCex.js.map +1 -0
  47. package/_cjs/actions/parsers/ignore/revoke.js +14 -0
  48. package/_cjs/actions/parsers/ignore/revoke.js.map +1 -0
  49. package/_cjs/actions/parsers/ignore/sendToCex.js +12 -0
  50. package/_cjs/actions/parsers/ignore/sendToCex.js.map +1 -0
  51. package/_cjs/actions/parsers/ignore/spam.js +22 -0
  52. package/_cjs/actions/parsers/ignore/spam.js.map +1 -0
  53. package/_cjs/actions/parsers/income/atomicArbitrage.js +81 -0
  54. package/_cjs/actions/parsers/income/atomicArbitrage.js.map +1 -0
  55. package/_cjs/actions/parsers/income/freeMintNft.js +21 -0
  56. package/_cjs/actions/parsers/income/freeMintNft.js.map +1 -0
  57. package/_cjs/actions/parsers/income/income.js +28 -0
  58. package/_cjs/actions/parsers/income/income.js.map +1 -0
  59. package/_cjs/actions/parsers/income/index.js +10 -0
  60. package/_cjs/actions/parsers/income/index.js.map +1 -0
  61. package/_cjs/actions/parsers/index.js +58 -0
  62. package/_cjs/actions/parsers/index.js.map +1 -0
  63. package/_cjs/actions/parsers/repayment/index.js +8 -0
  64. package/_cjs/actions/parsers/repayment/index.js.map +1 -0
  65. package/_cjs/actions/parsers/repayment/repayment.js +22 -0
  66. package/_cjs/actions/parsers/repayment/repayment.js.map +1 -0
  67. package/_cjs/actions/parsers/repayment/repaymentWithDebt.js +22 -0
  68. package/_cjs/actions/parsers/repayment/repaymentWithDebt.js.map +1 -0
  69. package/_cjs/actions/parsers/replace/index.js +12 -0
  70. package/_cjs/actions/parsers/replace/index.js.map +1 -0
  71. package/_cjs/actions/parsers/replace/replace.js +21 -0
  72. package/_cjs/actions/parsers/replace/replace.js.map +1 -0
  73. package/_cjs/actions/parsers/replace/swapNft.js +21 -0
  74. package/_cjs/actions/parsers/replace/swapNft.js.map +1 -0
  75. package/_cjs/actions/parsers/replace/unwrap.js +21 -0
  76. package/_cjs/actions/parsers/replace/unwrap.js.map +1 -0
  77. package/_cjs/actions/parsers/replace/wrap.js +21 -0
  78. package/_cjs/actions/parsers/replace/wrap.js.map +1 -0
  79. package/_cjs/actions/parsers/trade/buyCrypto.js +50 -0
  80. package/_cjs/actions/parsers/trade/buyCrypto.js.map +1 -0
  81. package/_cjs/actions/parsers/trade/buyNft.js +118 -0
  82. package/_cjs/actions/parsers/trade/buyNft.js.map +1 -0
  83. package/_cjs/actions/parsers/trade/index.js +16 -0
  84. package/_cjs/actions/parsers/trade/index.js.map +1 -0
  85. package/_cjs/actions/parsers/trade/mintNft.js +88 -0
  86. package/_cjs/actions/parsers/trade/mintNft.js.map +1 -0
  87. package/_cjs/actions/parsers/trade/sellCrypto.js +50 -0
  88. package/_cjs/actions/parsers/trade/sellCrypto.js.map +1 -0
  89. package/_cjs/actions/parsers/trade/sellNft.js +118 -0
  90. package/_cjs/actions/parsers/trade/sellNft.js.map +1 -0
  91. package/_cjs/actions/parsers/trade/trade.js +163 -0
  92. package/_cjs/actions/parsers/trade/trade.js.map +1 -0
  93. package/_cjs/actions/parsers/transfer/index.js +6 -0
  94. package/_cjs/actions/parsers/transfer/index.js.map +1 -0
  95. package/_cjs/actions/parsers/transfer/transfer.js +15 -0
  96. package/_cjs/actions/parsers/transfer/transfer.js.map +1 -0
  97. package/_cjs/actions/parsers/types.js +3 -0
  98. package/_cjs/actions/parsers/types.js.map +1 -0
  99. package/_cjs/actions/parsers/valuedown/index.js +6 -0
  100. package/_cjs/actions/parsers/valuedown/index.js.map +1 -0
  101. package/_cjs/actions/parsers/valuedown/valuedown.js +22 -0
  102. package/_cjs/actions/parsers/valuedown/valuedown.js.map +1 -0
  103. package/_cjs/actions/parsers/valueup/index.js +6 -0
  104. package/_cjs/actions/parsers/valueup/index.js.map +1 -0
  105. package/_cjs/actions/parsers/valueup/valueup.js +22 -0
  106. package/_cjs/actions/parsers/valueup/valueup.js.map +1 -0
  107. package/_cjs/actions/parsers/withdraw/index.js +12 -0
  108. package/_cjs/actions/parsers/withdraw/index.js.map +1 -0
  109. package/_cjs/actions/parsers/withdraw/removeLiquidity.js +22 -0
  110. package/_cjs/actions/parsers/withdraw/removeLiquidity.js.map +1 -0
  111. package/_cjs/actions/parsers/withdraw/unstake.js +22 -0
  112. package/_cjs/actions/parsers/withdraw/unstake.js.map +1 -0
  113. package/_cjs/actions/parsers/withdraw/withdraw.js +22 -0
  114. package/_cjs/actions/parsers/withdraw/withdraw.js.map +1 -0
  115. package/_cjs/actions/parsers/withdraw/withdrawWithBond.js +22 -0
  116. package/_cjs/actions/parsers/withdraw/withdrawWithBond.js.map +1 -0
  117. package/_cjs/actions/schemas/action.js +5 -0
  118. package/_cjs/actions/schemas/action.js.map +1 -1
  119. package/_cjs/actions/schemas/ignore/index.js +3 -1
  120. package/_cjs/actions/schemas/ignore/index.js.map +1 -1
  121. package/_cjs/actions/schemas/ignore/receiveFromCex.js +11 -1
  122. package/_cjs/actions/schemas/ignore/receiveFromCex.js.map +1 -1
  123. package/_cjs/actions/schemas/ignore/sendToCex.js +11 -1
  124. package/_cjs/actions/schemas/ignore/sendToCex.js.map +1 -1
  125. package/_cjs/actions/schemas/income/atomicArbitrage.js +4 -1
  126. package/_cjs/actions/schemas/income/atomicArbitrage.js.map +1 -1
  127. package/_cjs/actions/schemas/income/income.js +11 -1
  128. package/_cjs/actions/schemas/income/income.js.map +1 -1
  129. package/_cjs/actions/schemas/income/index.js +2 -1
  130. package/_cjs/actions/schemas/income/index.js.map +1 -1
  131. package/_cjs/actions/schemas/index.js +6 -1
  132. package/_cjs/actions/schemas/index.js.map +1 -1
  133. package/_cjs/actions/schemas/trade/index.js +2 -1
  134. package/_cjs/actions/schemas/trade/index.js.map +1 -1
  135. package/_cjs/actions/schemas/trade/sellNft.js +15 -1
  136. package/_cjs/actions/schemas/trade/sellNft.js.map +1 -1
  137. package/_cjs/actions/types/buyCrypto.js +3 -0
  138. package/_cjs/actions/types/buyCrypto.js.map +1 -0
  139. package/_cjs/actions/types/sellCrypto.js +3 -0
  140. package/_cjs/actions/types/sellCrypto.js.map +1 -0
  141. package/_cjs/actions/types/stake.js +3 -0
  142. package/_cjs/actions/types/stake.js.map +1 -0
  143. package/_cjs/actions/types/unstake.js +3 -0
  144. package/_cjs/actions/types/unstake.js.map +1 -0
  145. package/_cjs/index.js +10 -2
  146. package/_cjs/index.js.map +1 -1
  147. package/_esm/actions/index.js +2 -1
  148. package/_esm/actions/index.js.map +1 -1
  149. package/_esm/actions/parsers/borrow/borrow.js +18 -0
  150. package/_esm/actions/parsers/borrow/borrow.js.map +1 -0
  151. package/_esm/actions/parsers/borrow/borrowWithDebt.js +18 -0
  152. package/_esm/actions/parsers/borrow/borrowWithDebt.js.map +1 -0
  153. package/_esm/actions/parsers/borrow/index.js +3 -0
  154. package/_esm/actions/parsers/borrow/index.js.map +1 -0
  155. package/_esm/actions/parsers/crossReplace/bridgeFrom.js +18 -0
  156. package/_esm/actions/parsers/crossReplace/bridgeFrom.js.map +1 -0
  157. package/_esm/actions/parsers/crossReplace/bridgeTo.js +18 -0
  158. package/_esm/actions/parsers/crossReplace/bridgeTo.js.map +1 -0
  159. package/_esm/actions/parsers/crossReplace/crossReplace.js +18 -0
  160. package/_esm/actions/parsers/crossReplace/crossReplace.js.map +1 -0
  161. package/_esm/actions/parsers/crossReplace/index.js +4 -0
  162. package/_esm/actions/parsers/crossReplace/index.js.map +1 -0
  163. package/_esm/actions/parsers/crossTrade/crossTrade.js +18 -0
  164. package/_esm/actions/parsers/crossTrade/crossTrade.js.map +1 -0
  165. package/_esm/actions/parsers/crossTrade/index.js +2 -0
  166. package/_esm/actions/parsers/crossTrade/index.js.map +1 -0
  167. package/_esm/actions/parsers/default.js +125 -0
  168. package/_esm/actions/parsers/default.js.map +1 -0
  169. package/_esm/actions/parsers/deposit/addLiquidity.js +18 -0
  170. package/_esm/actions/parsers/deposit/addLiquidity.js.map +1 -0
  171. package/_esm/actions/parsers/deposit/deposit.js +18 -0
  172. package/_esm/actions/parsers/deposit/deposit.js.map +1 -0
  173. package/_esm/actions/parsers/deposit/depositWithBond.js +18 -0
  174. package/_esm/actions/parsers/deposit/depositWithBond.js.map +1 -0
  175. package/_esm/actions/parsers/deposit/index.js +5 -0
  176. package/_esm/actions/parsers/deposit/index.js.map +1 -0
  177. package/_esm/actions/parsers/deposit/stake.js +18 -0
  178. package/_esm/actions/parsers/deposit/stake.js.map +1 -0
  179. package/_esm/actions/parsers/fee/fee.js +35 -0
  180. package/_esm/actions/parsers/fee/fee.js.map +1 -0
  181. package/_esm/actions/parsers/fee/index.js +3 -0
  182. package/_esm/actions/parsers/fee/index.js.map +1 -0
  183. package/_esm/actions/parsers/fee/transactionFee.js +17 -0
  184. package/_esm/actions/parsers/fee/transactionFee.js.map +1 -0
  185. package/_esm/actions/parsers/ignore/approve.js +10 -0
  186. package/_esm/actions/parsers/ignore/approve.js.map +1 -0
  187. package/_esm/actions/parsers/ignore/failTx.js +10 -0
  188. package/_esm/actions/parsers/ignore/failTx.js.map +1 -0
  189. package/_esm/actions/parsers/ignore/index.js +7 -0
  190. package/_esm/actions/parsers/ignore/index.js.map +1 -0
  191. package/_esm/actions/parsers/ignore/receiveFromCex.js +8 -0
  192. package/_esm/actions/parsers/ignore/receiveFromCex.js.map +1 -0
  193. package/_esm/actions/parsers/ignore/revoke.js +10 -0
  194. package/_esm/actions/parsers/ignore/revoke.js.map +1 -0
  195. package/_esm/actions/parsers/ignore/sendToCex.js +8 -0
  196. package/_esm/actions/parsers/ignore/sendToCex.js.map +1 -0
  197. package/_esm/actions/parsers/ignore/spam.js +18 -0
  198. package/_esm/actions/parsers/ignore/spam.js.map +1 -0
  199. package/_esm/actions/parsers/income/atomicArbitrage.js +80 -0
  200. package/_esm/actions/parsers/income/atomicArbitrage.js.map +1 -0
  201. package/_esm/actions/parsers/income/freeMintNft.js +17 -0
  202. package/_esm/actions/parsers/income/freeMintNft.js.map +1 -0
  203. package/_esm/actions/parsers/income/income.js +24 -0
  204. package/_esm/actions/parsers/income/income.js.map +1 -0
  205. package/_esm/actions/parsers/income/index.js +4 -0
  206. package/_esm/actions/parsers/income/index.js.map +1 -0
  207. package/_esm/actions/parsers/index.js +15 -0
  208. package/_esm/actions/parsers/index.js.map +1 -0
  209. package/_esm/actions/parsers/repayment/index.js +3 -0
  210. package/_esm/actions/parsers/repayment/index.js.map +1 -0
  211. package/_esm/actions/parsers/repayment/repayment.js +18 -0
  212. package/_esm/actions/parsers/repayment/repayment.js.map +1 -0
  213. package/_esm/actions/parsers/repayment/repaymentWithDebt.js +18 -0
  214. package/_esm/actions/parsers/repayment/repaymentWithDebt.js.map +1 -0
  215. package/_esm/actions/parsers/replace/index.js +5 -0
  216. package/_esm/actions/parsers/replace/index.js.map +1 -0
  217. package/_esm/actions/parsers/replace/replace.js +17 -0
  218. package/_esm/actions/parsers/replace/replace.js.map +1 -0
  219. package/_esm/actions/parsers/replace/swapNft.js +17 -0
  220. package/_esm/actions/parsers/replace/swapNft.js.map +1 -0
  221. package/_esm/actions/parsers/replace/unwrap.js +17 -0
  222. package/_esm/actions/parsers/replace/unwrap.js.map +1 -0
  223. package/_esm/actions/parsers/replace/wrap.js +17 -0
  224. package/_esm/actions/parsers/replace/wrap.js.map +1 -0
  225. package/_esm/actions/parsers/trade/buyCrypto.js +47 -0
  226. package/_esm/actions/parsers/trade/buyCrypto.js.map +1 -0
  227. package/_esm/actions/parsers/trade/buyNft.js +119 -0
  228. package/_esm/actions/parsers/trade/buyNft.js.map +1 -0
  229. package/_esm/actions/parsers/trade/index.js +7 -0
  230. package/_esm/actions/parsers/trade/index.js.map +1 -0
  231. package/_esm/actions/parsers/trade/mintNft.js +88 -0
  232. package/_esm/actions/parsers/trade/mintNft.js.map +1 -0
  233. package/_esm/actions/parsers/trade/sellCrypto.js +47 -0
  234. package/_esm/actions/parsers/trade/sellCrypto.js.map +1 -0
  235. package/_esm/actions/parsers/trade/sellNft.js +120 -0
  236. package/_esm/actions/parsers/trade/sellNft.js.map +1 -0
  237. package/_esm/actions/parsers/trade/trade.js +168 -0
  238. package/_esm/actions/parsers/trade/trade.js.map +1 -0
  239. package/_esm/actions/parsers/transfer/index.js +2 -0
  240. package/_esm/actions/parsers/transfer/index.js.map +1 -0
  241. package/_esm/actions/parsers/transfer/transfer.js +11 -0
  242. package/_esm/actions/parsers/transfer/transfer.js.map +1 -0
  243. package/_esm/actions/parsers/types.js +2 -0
  244. package/_esm/actions/parsers/types.js.map +1 -0
  245. package/_esm/actions/parsers/valuedown/index.js +2 -0
  246. package/_esm/actions/parsers/valuedown/index.js.map +1 -0
  247. package/_esm/actions/parsers/valuedown/valuedown.js +18 -0
  248. package/_esm/actions/parsers/valuedown/valuedown.js.map +1 -0
  249. package/_esm/actions/parsers/valueup/index.js +2 -0
  250. package/_esm/actions/parsers/valueup/index.js.map +1 -0
  251. package/_esm/actions/parsers/valueup/valueup.js +18 -0
  252. package/_esm/actions/parsers/valueup/valueup.js.map +1 -0
  253. package/_esm/actions/parsers/withdraw/index.js +5 -0
  254. package/_esm/actions/parsers/withdraw/index.js.map +1 -0
  255. package/_esm/actions/parsers/withdraw/removeLiquidity.js +18 -0
  256. package/_esm/actions/parsers/withdraw/removeLiquidity.js.map +1 -0
  257. package/_esm/actions/parsers/withdraw/unstake.js +18 -0
  258. package/_esm/actions/parsers/withdraw/unstake.js.map +1 -0
  259. package/_esm/actions/parsers/withdraw/withdraw.js +18 -0
  260. package/_esm/actions/parsers/withdraw/withdraw.js.map +1 -0
  261. package/_esm/actions/parsers/withdraw/withdrawWithBond.js +18 -0
  262. package/_esm/actions/parsers/withdraw/withdrawWithBond.js.map +1 -0
  263. package/_esm/actions/schemas/action.js +8 -3
  264. package/_esm/actions/schemas/action.js.map +1 -1
  265. package/_esm/actions/schemas/ignore/index.js +2 -2
  266. package/_esm/actions/schemas/ignore/index.js.map +1 -1
  267. package/_esm/actions/schemas/ignore/receiveFromCex.js +11 -1
  268. package/_esm/actions/schemas/ignore/receiveFromCex.js.map +1 -1
  269. package/_esm/actions/schemas/ignore/sendToCex.js +11 -1
  270. package/_esm/actions/schemas/ignore/sendToCex.js.map +1 -1
  271. package/_esm/actions/schemas/income/atomicArbitrage.js +4 -1
  272. package/_esm/actions/schemas/income/atomicArbitrage.js.map +1 -1
  273. package/_esm/actions/schemas/income/income.js +11 -1
  274. package/_esm/actions/schemas/income/income.js.map +1 -1
  275. package/_esm/actions/schemas/income/index.js +1 -1
  276. package/_esm/actions/schemas/income/index.js.map +1 -1
  277. package/_esm/actions/schemas/index.js +3 -3
  278. package/_esm/actions/schemas/index.js.map +1 -1
  279. package/_esm/actions/schemas/trade/index.js +1 -1
  280. package/_esm/actions/schemas/trade/index.js.map +1 -1
  281. package/_esm/actions/schemas/trade/sellNft.js +15 -1
  282. package/_esm/actions/schemas/trade/sellNft.js.map +1 -1
  283. package/_esm/actions/types/buyCrypto.js +2 -0
  284. package/_esm/actions/types/buyCrypto.js.map +1 -0
  285. package/_esm/actions/types/sellCrypto.js +2 -0
  286. package/_esm/actions/types/sellCrypto.js.map +1 -0
  287. package/_esm/actions/types/stake.js +2 -0
  288. package/_esm/actions/types/stake.js.map +1 -0
  289. package/_esm/actions/types/unstake.js +2 -0
  290. package/_esm/actions/types/unstake.js.map +1 -0
  291. package/_esm/index.js +2 -2
  292. package/_esm/index.js.map +1 -1
  293. package/_types/actions/index.d.ts +3 -2
  294. package/_types/actions/index.d.ts.map +1 -1
  295. package/_types/actions/parsers/borrow/borrow.d.ts +4 -0
  296. package/_types/actions/parsers/borrow/borrow.d.ts.map +1 -0
  297. package/_types/actions/parsers/borrow/borrowWithDebt.d.ts +4 -0
  298. package/_types/actions/parsers/borrow/borrowWithDebt.d.ts.map +1 -0
  299. package/_types/actions/parsers/borrow/index.d.ts +3 -0
  300. package/_types/actions/parsers/borrow/index.d.ts.map +1 -0
  301. package/_types/actions/parsers/crossReplace/bridgeFrom.d.ts +4 -0
  302. package/_types/actions/parsers/crossReplace/bridgeFrom.d.ts.map +1 -0
  303. package/_types/actions/parsers/crossReplace/bridgeTo.d.ts +4 -0
  304. package/_types/actions/parsers/crossReplace/bridgeTo.d.ts.map +1 -0
  305. package/_types/actions/parsers/crossReplace/crossReplace.d.ts +4 -0
  306. package/_types/actions/parsers/crossReplace/crossReplace.d.ts.map +1 -0
  307. package/_types/actions/parsers/crossReplace/index.d.ts +4 -0
  308. package/_types/actions/parsers/crossReplace/index.d.ts.map +1 -0
  309. package/_types/actions/parsers/crossTrade/crossTrade.d.ts +4 -0
  310. package/_types/actions/parsers/crossTrade/crossTrade.d.ts.map +1 -0
  311. package/_types/actions/parsers/crossTrade/index.d.ts +2 -0
  312. package/_types/actions/parsers/crossTrade/index.d.ts.map +1 -0
  313. package/_types/actions/parsers/default.d.ts +24 -0
  314. package/_types/actions/parsers/default.d.ts.map +1 -0
  315. package/_types/actions/parsers/deposit/addLiquidity.d.ts +4 -0
  316. package/_types/actions/parsers/deposit/addLiquidity.d.ts.map +1 -0
  317. package/_types/actions/parsers/deposit/deposit.d.ts +4 -0
  318. package/_types/actions/parsers/deposit/deposit.d.ts.map +1 -0
  319. package/_types/actions/parsers/deposit/depositWithBond.d.ts +4 -0
  320. package/_types/actions/parsers/deposit/depositWithBond.d.ts.map +1 -0
  321. package/_types/actions/parsers/deposit/index.d.ts +5 -0
  322. package/_types/actions/parsers/deposit/index.d.ts.map +1 -0
  323. package/_types/actions/parsers/deposit/stake.d.ts +4 -0
  324. package/_types/actions/parsers/deposit/stake.d.ts.map +1 -0
  325. package/_types/actions/parsers/fee/fee.d.ts +4 -0
  326. package/_types/actions/parsers/fee/fee.d.ts.map +1 -0
  327. package/_types/actions/parsers/fee/index.d.ts +3 -0
  328. package/_types/actions/parsers/fee/index.d.ts.map +1 -0
  329. package/_types/actions/parsers/fee/transactionFee.d.ts +4 -0
  330. package/_types/actions/parsers/fee/transactionFee.d.ts.map +1 -0
  331. package/_types/actions/parsers/ignore/approve.d.ts +6 -0
  332. package/_types/actions/parsers/ignore/approve.d.ts.map +1 -0
  333. package/_types/actions/parsers/ignore/failTx.d.ts +6 -0
  334. package/_types/actions/parsers/ignore/failTx.d.ts.map +1 -0
  335. package/_types/actions/parsers/ignore/index.d.ts +7 -0
  336. package/_types/actions/parsers/ignore/index.d.ts.map +1 -0
  337. package/_types/actions/parsers/ignore/receiveFromCex.d.ts +4 -0
  338. package/_types/actions/parsers/ignore/receiveFromCex.d.ts.map +1 -0
  339. package/_types/actions/parsers/ignore/revoke.d.ts +6 -0
  340. package/_types/actions/parsers/ignore/revoke.d.ts.map +1 -0
  341. package/_types/actions/parsers/ignore/sendToCex.d.ts +4 -0
  342. package/_types/actions/parsers/ignore/sendToCex.d.ts.map +1 -0
  343. package/_types/actions/parsers/ignore/spam.d.ts +6 -0
  344. package/_types/actions/parsers/ignore/spam.d.ts.map +1 -0
  345. package/_types/actions/parsers/income/atomicArbitrage.d.ts +6 -0
  346. package/_types/actions/parsers/income/atomicArbitrage.d.ts.map +1 -0
  347. package/_types/actions/parsers/income/freeMintNft.d.ts +4 -0
  348. package/_types/actions/parsers/income/freeMintNft.d.ts.map +1 -0
  349. package/_types/actions/parsers/income/income.d.ts +4 -0
  350. package/_types/actions/parsers/income/income.d.ts.map +1 -0
  351. package/_types/actions/parsers/income/index.d.ts +4 -0
  352. package/_types/actions/parsers/income/index.d.ts.map +1 -0
  353. package/_types/actions/parsers/index.d.ts +15 -0
  354. package/_types/actions/parsers/index.d.ts.map +1 -0
  355. package/_types/actions/parsers/repayment/index.d.ts +3 -0
  356. package/_types/actions/parsers/repayment/index.d.ts.map +1 -0
  357. package/_types/actions/parsers/repayment/repayment.d.ts +4 -0
  358. package/_types/actions/parsers/repayment/repayment.d.ts.map +1 -0
  359. package/_types/actions/parsers/repayment/repaymentWithDebt.d.ts +4 -0
  360. package/_types/actions/parsers/repayment/repaymentWithDebt.d.ts.map +1 -0
  361. package/_types/actions/parsers/replace/index.d.ts +5 -0
  362. package/_types/actions/parsers/replace/index.d.ts.map +1 -0
  363. package/_types/actions/parsers/replace/replace.d.ts +4 -0
  364. package/_types/actions/parsers/replace/replace.d.ts.map +1 -0
  365. package/_types/actions/parsers/replace/swapNft.d.ts +4 -0
  366. package/_types/actions/parsers/replace/swapNft.d.ts.map +1 -0
  367. package/_types/actions/parsers/replace/unwrap.d.ts +4 -0
  368. package/_types/actions/parsers/replace/unwrap.d.ts.map +1 -0
  369. package/_types/actions/parsers/replace/wrap.d.ts +4 -0
  370. package/_types/actions/parsers/replace/wrap.d.ts.map +1 -0
  371. package/_types/actions/parsers/trade/buyCrypto.d.ts +4 -0
  372. package/_types/actions/parsers/trade/buyCrypto.d.ts.map +1 -0
  373. package/_types/actions/parsers/trade/buyNft.d.ts +4 -0
  374. package/_types/actions/parsers/trade/buyNft.d.ts.map +1 -0
  375. package/_types/actions/parsers/trade/index.d.ts +7 -0
  376. package/_types/actions/parsers/trade/index.d.ts.map +1 -0
  377. package/_types/actions/parsers/trade/mintNft.d.ts +4 -0
  378. package/_types/actions/parsers/trade/mintNft.d.ts.map +1 -0
  379. package/_types/actions/parsers/trade/sellCrypto.d.ts +4 -0
  380. package/_types/actions/parsers/trade/sellCrypto.d.ts.map +1 -0
  381. package/_types/actions/parsers/trade/sellNft.d.ts +4 -0
  382. package/_types/actions/parsers/trade/sellNft.d.ts.map +1 -0
  383. package/_types/actions/parsers/trade/trade.d.ts +6 -0
  384. package/_types/actions/parsers/trade/trade.d.ts.map +1 -0
  385. package/_types/actions/parsers/transfer/index.d.ts +2 -0
  386. package/_types/actions/parsers/transfer/index.d.ts.map +1 -0
  387. package/_types/actions/parsers/transfer/transfer.d.ts +4 -0
  388. package/_types/actions/parsers/transfer/transfer.d.ts.map +1 -0
  389. package/_types/actions/parsers/types.d.ts +8 -0
  390. package/_types/actions/parsers/types.d.ts.map +1 -0
  391. package/_types/actions/parsers/valuedown/index.d.ts +2 -0
  392. package/_types/actions/parsers/valuedown/index.d.ts.map +1 -0
  393. package/_types/actions/parsers/valuedown/valuedown.d.ts +4 -0
  394. package/_types/actions/parsers/valuedown/valuedown.d.ts.map +1 -0
  395. package/_types/actions/parsers/valueup/index.d.ts +2 -0
  396. package/_types/actions/parsers/valueup/index.d.ts.map +1 -0
  397. package/_types/actions/parsers/valueup/valueup.d.ts +4 -0
  398. package/_types/actions/parsers/valueup/valueup.d.ts.map +1 -0
  399. package/_types/actions/parsers/withdraw/index.d.ts +5 -0
  400. package/_types/actions/parsers/withdraw/index.d.ts.map +1 -0
  401. package/_types/actions/parsers/withdraw/removeLiquidity.d.ts +4 -0
  402. package/_types/actions/parsers/withdraw/removeLiquidity.d.ts.map +1 -0
  403. package/_types/actions/parsers/withdraw/unstake.d.ts +4 -0
  404. package/_types/actions/parsers/withdraw/unstake.d.ts.map +1 -0
  405. package/_types/actions/parsers/withdraw/withdraw.d.ts +4 -0
  406. package/_types/actions/parsers/withdraw/withdraw.d.ts.map +1 -0
  407. package/_types/actions/parsers/withdraw/withdrawWithBond.d.ts +4 -0
  408. package/_types/actions/parsers/withdraw/withdrawWithBond.d.ts.map +1 -0
  409. package/_types/actions/schemas/action.d.ts +16803 -12550
  410. package/_types/actions/schemas/action.d.ts.map +1 -1
  411. package/_types/actions/schemas/ignore/index.d.ts +2 -2
  412. package/_types/actions/schemas/ignore/index.d.ts.map +1 -1
  413. package/_types/actions/schemas/ignore/receiveFromCex.d.ts +729 -0
  414. package/_types/actions/schemas/ignore/receiveFromCex.d.ts.map +1 -1
  415. package/_types/actions/schemas/ignore/sendToCex.d.ts +729 -0
  416. package/_types/actions/schemas/ignore/sendToCex.d.ts.map +1 -1
  417. package/_types/actions/schemas/income/atomicArbitrage.d.ts +412 -10
  418. package/_types/actions/schemas/income/atomicArbitrage.d.ts.map +1 -1
  419. package/_types/actions/schemas/income/income.d.ts +617 -0
  420. package/_types/actions/schemas/income/income.d.ts.map +1 -1
  421. package/_types/actions/schemas/income/index.d.ts +1 -1
  422. package/_types/actions/schemas/income/index.d.ts.map +1 -1
  423. package/_types/actions/schemas/index.d.ts +3 -3
  424. package/_types/actions/schemas/index.d.ts.map +1 -1
  425. package/_types/actions/schemas/trade/index.d.ts +1 -1
  426. package/_types/actions/schemas/trade/index.d.ts.map +1 -1
  427. package/_types/actions/schemas/trade/sellNft.d.ts +997 -0
  428. package/_types/actions/schemas/trade/sellNft.d.ts.map +1 -1
  429. package/_types/actions/types/buyCrypto.d.ts +5 -0
  430. package/_types/actions/types/buyCrypto.d.ts.map +1 -0
  431. package/_types/actions/types/income.d.ts +2 -1
  432. package/_types/actions/types/income.d.ts.map +1 -1
  433. package/_types/actions/types/index.d.ts +10 -6
  434. package/_types/actions/types/index.d.ts.map +1 -1
  435. package/_types/actions/types/receiveFromCex.d.ts +2 -1
  436. package/_types/actions/types/receiveFromCex.d.ts.map +1 -1
  437. package/_types/actions/types/sellCrypto.d.ts +5 -0
  438. package/_types/actions/types/sellCrypto.d.ts.map +1 -0
  439. package/_types/actions/types/sellNft.d.ts +2 -1
  440. package/_types/actions/types/sellNft.d.ts.map +1 -1
  441. package/_types/actions/types/sendToCex.d.ts +2 -1
  442. package/_types/actions/types/sendToCex.d.ts.map +1 -1
  443. package/_types/actions/types/stake.d.ts +5 -0
  444. package/_types/actions/types/stake.d.ts.map +1 -0
  445. package/_types/actions/types/unstake.d.ts +5 -0
  446. package/_types/actions/types/unstake.d.ts.map +1 -0
  447. package/_types/index.d.ts +3 -3
  448. package/_types/index.d.ts.map +1 -1
  449. package/actions/index.ts +60 -0
  450. package/actions/parsers/borrow/borrow.ts +46 -0
  451. package/actions/parsers/borrow/borrowWithDebt.ts +46 -0
  452. package/actions/parsers/borrow/index.ts +2 -0
  453. package/actions/parsers/crossReplace/bridgeFrom.ts +46 -0
  454. package/actions/parsers/crossReplace/bridgeTo.ts +46 -0
  455. package/actions/parsers/crossReplace/crossReplace.ts +46 -0
  456. package/actions/parsers/crossReplace/index.ts +3 -0
  457. package/actions/parsers/crossTrade/crossTrade.ts +46 -0
  458. package/actions/parsers/crossTrade/index.ts +1 -0
  459. package/actions/parsers/default.ts +208 -0
  460. package/actions/parsers/deposit/addLiquidity.ts +46 -0
  461. package/actions/parsers/deposit/deposit.ts +46 -0
  462. package/actions/parsers/deposit/depositWithBond.ts +46 -0
  463. package/actions/parsers/deposit/index.ts +4 -0
  464. package/actions/parsers/deposit/stake.ts +46 -0
  465. package/actions/parsers/fee/fee.ts +68 -0
  466. package/actions/parsers/fee/index.ts +2 -0
  467. package/actions/parsers/fee/transactionFee.ts +45 -0
  468. package/actions/parsers/ignore/approve.ts +17 -0
  469. package/actions/parsers/ignore/failTx.ts +17 -0
  470. package/actions/parsers/ignore/index.ts +6 -0
  471. package/actions/parsers/ignore/receiveFromCex.ts +29 -0
  472. package/actions/parsers/ignore/revoke.ts +17 -0
  473. package/actions/parsers/ignore/sendToCex.ts +29 -0
  474. package/actions/parsers/ignore/spam.ts +46 -0
  475. package/actions/parsers/income/atomicArbitrage.ts +159 -0
  476. package/actions/parsers/income/freeMintNft.ts +45 -0
  477. package/actions/parsers/income/income.ts +56 -0
  478. package/actions/parsers/income/index.ts +3 -0
  479. package/actions/parsers/index.ts +60 -0
  480. package/actions/parsers/repayment/index.ts +2 -0
  481. package/actions/parsers/repayment/repayment.ts +46 -0
  482. package/actions/parsers/repayment/repaymentWithDebt.ts +46 -0
  483. package/actions/parsers/replace/index.ts +4 -0
  484. package/actions/parsers/replace/replace.ts +45 -0
  485. package/actions/parsers/replace/swapNft.ts +45 -0
  486. package/actions/parsers/replace/unwrap.ts +45 -0
  487. package/actions/parsers/replace/wrap.ts +45 -0
  488. package/actions/parsers/trade/buyCrypto.ts +79 -0
  489. package/actions/parsers/trade/buyNft.ts +203 -0
  490. package/actions/parsers/trade/index.ts +6 -0
  491. package/actions/parsers/trade/mintNft.ts +164 -0
  492. package/actions/parsers/trade/sellCrypto.ts +79 -0
  493. package/actions/parsers/trade/sellNft.ts +204 -0
  494. package/actions/parsers/trade/trade.ts +271 -0
  495. package/actions/parsers/transfer/index.ts +1 -0
  496. package/actions/parsers/transfer/transfer.ts +32 -0
  497. package/actions/parsers/types.ts +10 -0
  498. package/actions/parsers/valuedown/index.ts +1 -0
  499. package/actions/parsers/valuedown/valuedown.ts +46 -0
  500. package/actions/parsers/valueup/index.ts +1 -0
  501. package/actions/parsers/valueup/valueup.ts +46 -0
  502. package/actions/parsers/withdraw/index.ts +4 -0
  503. package/actions/parsers/withdraw/removeLiquidity.ts +46 -0
  504. package/actions/parsers/withdraw/unstake.ts +46 -0
  505. package/actions/parsers/withdraw/withdraw.ts +46 -0
  506. package/actions/parsers/withdraw/withdrawWithBond.ts +46 -0
  507. package/actions/schemas/action.ts +10 -0
  508. package/actions/schemas/ignore/index.ts +8 -2
  509. package/actions/schemas/ignore/receiveFromCex.ts +14 -0
  510. package/actions/schemas/ignore/sendToCex.ts +14 -0
  511. package/actions/schemas/income/atomicArbitrage.ts +6 -1
  512. package/actions/schemas/income/income.ts +16 -1
  513. package/actions/schemas/income/index.ts +1 -1
  514. package/actions/schemas/index.ts +4 -0
  515. package/actions/schemas/trade/index.ts +4 -1
  516. package/actions/schemas/trade/sellNft.ts +18 -0
  517. package/actions/types/buyCrypto.ts +11 -0
  518. package/actions/types/income.ts +6 -1
  519. package/actions/types/index.ts +16 -6
  520. package/actions/types/receiveFromCex.ts +8 -1
  521. package/actions/types/sellCrypto.ts +13 -0
  522. package/actions/types/sellNft.ts +6 -1
  523. package/actions/types/sendToCex.ts +6 -1
  524. package/actions/types/stake.ts +9 -0
  525. package/actions/types/unstake.ts +9 -0
  526. package/index.ts +22 -0
  527. package/package.json +1 -1
  528. package/.DS_Store +0 -0
  529. package/actions/.DS_Store +0 -0
  530. package/assets/.DS_Store +0 -0
@@ -0,0 +1,203 @@
1
+ import type {
2
+ AccountActionBuyNft,
3
+ AccountActionIncome,
4
+ AccountActionMove,
5
+ AccountActionNftRoyalty,
6
+ AccountActionReceiveFromCex,
7
+ AccountActionSellNft,
8
+ AccountActionSendToCex,
9
+ AccountActionTransfer,
10
+ NormalActionBuyNft,
11
+ Transfer,
12
+ TransferCryptoCurrencyIn,
13
+ TransferCryptoCurrencyOut,
14
+ TransferFiatCurrencyIn,
15
+ TransferFiatCurrencyOut,
16
+ TransferIn,
17
+ TransferNftIn,
18
+ TransferNftOut,
19
+ TransferNone,
20
+ TransferOut,
21
+ } from '../../types'
22
+ import {
23
+ createAccountActionCommon,
24
+ parseNormalActionToAccountActions,
25
+ } from '../default'
26
+ import type { ParseNormalActionToAccountActionsParameters } from '../types'
27
+
28
+ export const parseNormalActionBuyNftToAccountActions = ({
29
+ action,
30
+ accountIds,
31
+ source,
32
+ cexAccountIds,
33
+ }: ParseNormalActionToAccountActionsParameters<NormalActionBuyNft>):
34
+ | [AccountActionBuyNft | AccountActionSellNft | AccountActionNftRoyalty]
35
+ | readonly (
36
+ | AccountActionIncome
37
+ | AccountActionTransfer
38
+ | AccountActionMove
39
+ | AccountActionReceiveFromCex
40
+ | AccountActionSendToCex
41
+ )[] => {
42
+ const accountTransfers = parseAccountRelatedTransfers(
43
+ action.transfers,
44
+ accountIds,
45
+ )
46
+ const cryptoInTransfers = accountTransfers.filter(
47
+ (transfer): transfer is TransferCryptoCurrencyIn =>
48
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'in',
49
+ )
50
+ const cryptoOutTransfers = accountTransfers.filter(
51
+ (transfer): transfer is TransferCryptoCurrencyOut =>
52
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'out',
53
+ )
54
+ const nftInTransfers = accountTransfers.filter(
55
+ (transfer): transfer is TransferNftIn =>
56
+ transfer.asset.type === 'Nft' && transfer.direction === 'in',
57
+ )
58
+ const nftOutTransfers = accountTransfers.filter(
59
+ (transfer): transfer is TransferNftOut =>
60
+ transfer.asset.type === 'Nft' && transfer.direction === 'out',
61
+ )
62
+ const fiatInTransfers = accountTransfers.filter(
63
+ (transfer): transfer is TransferFiatCurrencyIn =>
64
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'in',
65
+ )
66
+ const fiatOutTransfers = accountTransfers.filter(
67
+ (transfer): transfer is TransferFiatCurrencyOut =>
68
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'out',
69
+ )
70
+
71
+ // in:crypto のみの場合、nft-royality
72
+ if (
73
+ cryptoInTransfers.length > 0 &&
74
+ cryptoOutTransfers.length === 0 &&
75
+ nftInTransfers.length === 0 &&
76
+ nftOutTransfers.length === 0 &&
77
+ fiatInTransfers.length === 0 &&
78
+ fiatOutTransfers.length === 0
79
+ ) {
80
+ return [
81
+ {
82
+ ...createAccountActionCommon(action, source),
83
+ type: 'NormalAccountAction',
84
+ action: 'nft-royalty',
85
+ transfers: cryptoInTransfers,
86
+ },
87
+ ]
88
+ }
89
+
90
+ // in:crypto / out:nft の場合、 sell-nft
91
+ if (
92
+ cryptoInTransfers.length > 0 &&
93
+ cryptoOutTransfers.length === 0 &&
94
+ nftInTransfers.length === 0 &&
95
+ nftOutTransfers.length > 0 &&
96
+ fiatInTransfers.length === 0 &&
97
+ fiatOutTransfers.length === 0
98
+ ) {
99
+ return [
100
+ {
101
+ ...createAccountActionCommon(action, source),
102
+ type: 'NormalAccountAction',
103
+ action: 'sell-nft',
104
+ transfers: [...cryptoInTransfers, ...nftOutTransfers],
105
+ },
106
+ ]
107
+ }
108
+
109
+ // in:fiat / out:nft の場合、 sell-nft
110
+ if (
111
+ cryptoInTransfers.length === 0 &&
112
+ cryptoOutTransfers.length === 0 &&
113
+ nftInTransfers.length === 0 &&
114
+ nftOutTransfers.length > 0 &&
115
+ fiatInTransfers.length > 0 &&
116
+ fiatOutTransfers.length === 0
117
+ ) {
118
+ return [
119
+ {
120
+ ...createAccountActionCommon(action, source),
121
+ type: 'NormalAccountAction',
122
+ action: 'sell-nft',
123
+ transfers: [...fiatInTransfers, ...nftOutTransfers],
124
+ },
125
+ ]
126
+ }
127
+
128
+ // in:nft / out:crypto の場合、 buy-nft
129
+ if (
130
+ cryptoInTransfers.length === 0 &&
131
+ cryptoOutTransfers.length > 0 &&
132
+ nftInTransfers.length > 0 &&
133
+ nftOutTransfers.length === 0 &&
134
+ fiatInTransfers.length === 0 &&
135
+ fiatOutTransfers.length === 0
136
+ ) {
137
+ return [
138
+ {
139
+ ...createAccountActionCommon(action, source),
140
+ type: 'NormalAccountAction',
141
+ action: 'buy-nft',
142
+ transfers: [...nftInTransfers, ...cryptoOutTransfers],
143
+ },
144
+ ]
145
+ }
146
+
147
+ // in:nft / out:fiat の場合、 buy-nft
148
+ if (
149
+ cryptoInTransfers.length === 0 &&
150
+ cryptoOutTransfers.length === 0 &&
151
+ nftInTransfers.length > 0 &&
152
+ nftOutTransfers.length === 0 &&
153
+ fiatInTransfers.length === 0 &&
154
+ fiatOutTransfers.length > 0
155
+ ) {
156
+ return [
157
+ {
158
+ ...createAccountActionCommon(action, source),
159
+ type: 'NormalAccountAction',
160
+ action: 'buy-nft',
161
+ transfers: [...nftInTransfers, ...fiatOutTransfers],
162
+ },
163
+ ]
164
+ }
165
+
166
+ return parseNormalActionToAccountActions({
167
+ action,
168
+ accountIds,
169
+ source,
170
+ cexAccountIds,
171
+ })
172
+ }
173
+
174
+ const parseAccountRelatedTransfers = (
175
+ transfers: readonly Transfer[],
176
+ accountIds: Set<string>,
177
+ ): readonly Transfer[] =>
178
+ transfers.map((transfer) => {
179
+ if (
180
+ (transfer.from === undefined || !accountIds.has(transfer.from)) &&
181
+ transfer.to !== undefined &&
182
+ accountIds.has(transfer.to)
183
+ ) {
184
+ return {
185
+ ...transfer,
186
+ direction: 'in',
187
+ } as TransferIn
188
+ }
189
+ if (
190
+ transfer.from !== undefined &&
191
+ accountIds.has(transfer.from) &&
192
+ (transfer.to === undefined || !accountIds.has(transfer.to))
193
+ ) {
194
+ return {
195
+ ...transfer,
196
+ direction: 'out',
197
+ } as TransferOut
198
+ }
199
+ return {
200
+ ...transfer,
201
+ direction: 'none',
202
+ } as TransferNone
203
+ })
@@ -0,0 +1,6 @@
1
+ export { parseNormalActionBuyCryptoToAccountActions } from './buyCrypto'
2
+ export { parseNormalActionBuyNftToAccountActions } from './buyNft'
3
+ export { parseNormalActionMintNftToAccountActions } from './mintNft'
4
+ export { parseNormalActionSellCryptoToAccountActions } from './sellCrypto'
5
+ export { parseNormalActionSellNftToAccountActions } from './sellNft'
6
+ export { parseNormalActionTradeToAccountActions } from './trade'
@@ -0,0 +1,164 @@
1
+ import type {
2
+ AccountActionIncome,
3
+ AccountActionMintNft,
4
+ AccountActionMove,
5
+ AccountActionReceiveFromCex,
6
+ AccountActionSendToCex,
7
+ AccountActionTransfer,
8
+ NormalActionMintNft,
9
+ Transfer,
10
+ TransferCryptoCurrencyIn,
11
+ TransferCryptoCurrencyOut,
12
+ TransferFiatCurrencyIn,
13
+ TransferFiatCurrencyOut,
14
+ TransferIn,
15
+ TransferNftIn,
16
+ TransferNftOut,
17
+ TransferNone,
18
+ TransferOut,
19
+ } from '../../types'
20
+ import {
21
+ createAccountActionCommon,
22
+ parseNormalActionToAccountActions,
23
+ } from '../default'
24
+ import type { ParseNormalActionToAccountActionsParameters } from '../types'
25
+
26
+ export const parseNormalActionMintNftToAccountActions = ({
27
+ action,
28
+ accountIds,
29
+ source,
30
+ cexAccountIds,
31
+ }: ParseNormalActionToAccountActionsParameters<NormalActionMintNft>):
32
+ | [AccountActionMintNft | AccountActionIncome]
33
+ | readonly (
34
+ | AccountActionIncome
35
+ | AccountActionTransfer
36
+ | AccountActionMove
37
+ | AccountActionReceiveFromCex
38
+ | AccountActionSendToCex
39
+ )[] => {
40
+ const accountTransfers = parseAccountRelatedTransfers(
41
+ action.transfers,
42
+ accountIds,
43
+ )
44
+ const cryptoInTransfers = accountTransfers.filter(
45
+ (transfer): transfer is TransferCryptoCurrencyIn =>
46
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'in',
47
+ )
48
+ const cryptoOutTransfers = accountTransfers.filter(
49
+ (transfer): transfer is TransferCryptoCurrencyOut =>
50
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'out',
51
+ )
52
+ const nftInTransfers = accountTransfers.filter(
53
+ (transfer): transfer is TransferNftIn =>
54
+ transfer.asset.type === 'Nft' && transfer.direction === 'in',
55
+ )
56
+ const nftOutTransfers = accountTransfers.filter(
57
+ (transfer): transfer is TransferNftOut =>
58
+ transfer.asset.type === 'Nft' && transfer.direction === 'out',
59
+ )
60
+ const fiatInTransfers = accountTransfers.filter(
61
+ (transfer): transfer is TransferFiatCurrencyIn =>
62
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'in',
63
+ )
64
+ const fiatOutTransfers = accountTransfers.filter(
65
+ (transfer): transfer is TransferFiatCurrencyOut =>
66
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'out',
67
+ )
68
+
69
+ // in:crypto のみの場合、 income
70
+ if (
71
+ cryptoInTransfers.length > 0 &&
72
+ cryptoOutTransfers.length === 0 &&
73
+ nftInTransfers.length === 0 &&
74
+ nftOutTransfers.length === 0 &&
75
+ fiatInTransfers.length === 0 &&
76
+ fiatOutTransfers.length === 0
77
+ ) {
78
+ return [
79
+ {
80
+ ...createAccountActionCommon(action, source),
81
+ type: 'NormalAccountAction',
82
+ action: 'income',
83
+ transfers: cryptoInTransfers,
84
+ },
85
+ ]
86
+ }
87
+
88
+ // in:nft / out:crypto の場合、 mint-nft
89
+ if (
90
+ cryptoInTransfers.length === 0 &&
91
+ cryptoOutTransfers.length > 0 &&
92
+ nftInTransfers.length > 0 &&
93
+ nftOutTransfers.length === 0 &&
94
+ fiatInTransfers.length === 0 &&
95
+ fiatOutTransfers.length === 0
96
+ ) {
97
+ return [
98
+ {
99
+ ...createAccountActionCommon(action, source),
100
+ type: 'NormalAccountAction',
101
+ action: 'mint-nft',
102
+ transfers: [...nftInTransfers, ...cryptoOutTransfers],
103
+ },
104
+ ]
105
+ }
106
+
107
+ // in:nft / out:fiat の場合、 mint-nft
108
+ if (
109
+ cryptoInTransfers.length === 0 &&
110
+ cryptoOutTransfers.length === 0 &&
111
+ nftInTransfers.length > 0 &&
112
+ nftOutTransfers.length === 0 &&
113
+ fiatInTransfers.length === 0 &&
114
+ fiatOutTransfers.length > 0
115
+ ) {
116
+ return [
117
+ {
118
+ ...createAccountActionCommon(action, source),
119
+ type: 'NormalAccountAction',
120
+ action: 'mint-nft',
121
+ transfers: [...nftInTransfers, ...fiatOutTransfers],
122
+ },
123
+ ]
124
+ }
125
+
126
+ // それ以外の場合、対象外
127
+ return parseNormalActionToAccountActions({
128
+ action,
129
+ accountIds,
130
+ source,
131
+ cexAccountIds,
132
+ })
133
+ }
134
+
135
+ const parseAccountRelatedTransfers = (
136
+ transfers: readonly Transfer[],
137
+ accountIds: Set<string>,
138
+ ): readonly Transfer[] =>
139
+ transfers.map((transfer) => {
140
+ if (
141
+ (transfer.from === undefined || !accountIds.has(transfer.from)) &&
142
+ transfer.to !== undefined &&
143
+ accountIds.has(transfer.to)
144
+ ) {
145
+ return {
146
+ ...transfer,
147
+ direction: 'in',
148
+ } as TransferIn
149
+ }
150
+ if (
151
+ transfer.from !== undefined &&
152
+ accountIds.has(transfer.from) &&
153
+ (transfer.to === undefined || !accountIds.has(transfer.to))
154
+ ) {
155
+ return {
156
+ ...transfer,
157
+ direction: 'out',
158
+ } as TransferOut
159
+ }
160
+ return {
161
+ ...transfer,
162
+ direction: 'none',
163
+ } as TransferNone
164
+ })
@@ -0,0 +1,79 @@
1
+ import type {
2
+ AccountActionBuyCrypto,
3
+ AccountActionIncome,
4
+ AccountActionMove,
5
+ AccountActionReceiveFromCex,
6
+ AccountActionSellCrypto,
7
+ AccountActionSendToCex,
8
+ AccountActionTransfer,
9
+ NormalActionSellCrypto,
10
+ TransferCryptoCurrencyIn,
11
+ TransferFiatCurrencyOut,
12
+ } from '../../types'
13
+ import {
14
+ allTransfersIsAccountRelated,
15
+ createAccountActionCommon,
16
+ parseNormalActionToAccountActions,
17
+ } from '../default'
18
+ import type { ParseNormalActionToAccountActionsParameters } from '../types'
19
+
20
+ export const parseNormalActionSellCryptoToAccountActions = ({
21
+ action,
22
+ accountIds,
23
+ source,
24
+ cexAccountIds,
25
+ }: ParseNormalActionToAccountActionsParameters<NormalActionSellCrypto>):
26
+ | [AccountActionSellCrypto | AccountActionBuyCrypto]
27
+ | readonly (
28
+ | AccountActionIncome
29
+ | AccountActionTransfer
30
+ | AccountActionMove
31
+ | AccountActionReceiveFromCex
32
+ | AccountActionSendToCex
33
+ )[] => {
34
+ if (allTransfersIsAccountRelated(action.transfers, accountIds)) {
35
+ return [
36
+ {
37
+ ...createAccountActionCommon(action, source),
38
+ type: 'NormalAccountAction',
39
+ action: 'sell-crypto',
40
+ transfers: action.transfers,
41
+ },
42
+ ]
43
+ }
44
+
45
+ // 関連 accountId が逆だった場合は buy-crypto で処理
46
+ const reverseTransfers = action.transfers.map((transfer) => {
47
+ switch (transfer.direction) {
48
+ case 'in': {
49
+ return {
50
+ ...transfer,
51
+ direction: 'out',
52
+ } satisfies TransferFiatCurrencyOut
53
+ }
54
+ case 'out': {
55
+ return {
56
+ ...transfer,
57
+ direction: 'in',
58
+ } satisfies TransferCryptoCurrencyIn
59
+ }
60
+ }
61
+ })
62
+ if (allTransfersIsAccountRelated(reverseTransfers, accountIds)) {
63
+ return [
64
+ {
65
+ ...createAccountActionCommon(action, source),
66
+ type: 'NormalAccountAction',
67
+ action: 'buy-crypto',
68
+ transfers: reverseTransfers,
69
+ },
70
+ ]
71
+ }
72
+
73
+ return parseNormalActionToAccountActions({
74
+ action,
75
+ accountIds,
76
+ source,
77
+ cexAccountIds,
78
+ })
79
+ }
@@ -0,0 +1,204 @@
1
+ import type {
2
+ AccountActionBuyNft,
3
+ AccountActionIncome,
4
+ AccountActionMove,
5
+ AccountActionNftRoyalty,
6
+ AccountActionReceiveFromCex,
7
+ AccountActionSellNft,
8
+ AccountActionSendToCex,
9
+ AccountActionTransfer,
10
+ NormalActionSellNft,
11
+ Transfer,
12
+ TransferCryptoCurrencyIn,
13
+ TransferCryptoCurrencyOut,
14
+ TransferFiatCurrencyIn,
15
+ TransferFiatCurrencyOut,
16
+ TransferIn,
17
+ TransferNftIn,
18
+ TransferNftOut,
19
+ TransferNone,
20
+ TransferOut,
21
+ } from '../../types'
22
+ import {
23
+ createAccountActionCommon,
24
+ parseNormalActionToAccountActions,
25
+ } from '../default'
26
+ import type { ParseNormalActionToAccountActionsParameters } from '../types'
27
+
28
+ export const parseNormalActionSellNftToAccountActions = ({
29
+ action,
30
+ accountIds,
31
+ source,
32
+ cexAccountIds,
33
+ }: ParseNormalActionToAccountActionsParameters<NormalActionSellNft>):
34
+ | [AccountActionBuyNft | AccountActionSellNft | AccountActionNftRoyalty]
35
+ | readonly (
36
+ | AccountActionIncome
37
+ | AccountActionTransfer
38
+ | AccountActionMove
39
+ | AccountActionReceiveFromCex
40
+ | AccountActionSendToCex
41
+ )[] => {
42
+ const accountTransfers = parseAccountRelatedTransfers(
43
+ action.transfers,
44
+ accountIds,
45
+ )
46
+ const cryptoInTransfers = accountTransfers.filter(
47
+ (transfer): transfer is TransferCryptoCurrencyIn =>
48
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'in',
49
+ )
50
+ const cryptoOutTransfers = accountTransfers.filter(
51
+ (transfer): transfer is TransferCryptoCurrencyOut =>
52
+ transfer.asset.type === 'CryptoCurrency' && transfer.direction === 'out',
53
+ )
54
+ const nftInTransfers = accountTransfers.filter(
55
+ (transfer): transfer is TransferNftIn =>
56
+ transfer.asset.type === 'Nft' && transfer.direction === 'in',
57
+ )
58
+ const nftOutTransfers = accountTransfers.filter(
59
+ (transfer): transfer is TransferNftOut =>
60
+ transfer.asset.type === 'Nft' && transfer.direction === 'out',
61
+ )
62
+ const fiatInTransfers = accountTransfers.filter(
63
+ (transfer): transfer is TransferFiatCurrencyIn =>
64
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'in',
65
+ )
66
+ const fiatOutTransfers = accountTransfers.filter(
67
+ (transfer): transfer is TransferFiatCurrencyOut =>
68
+ transfer.asset.type === 'FiatCurrency' && transfer.direction === 'out',
69
+ )
70
+
71
+ // in:crypto のみの場合、nft-royality
72
+ if (
73
+ cryptoInTransfers.length > 0 &&
74
+ cryptoOutTransfers.length === 0 &&
75
+ nftInTransfers.length === 0 &&
76
+ nftOutTransfers.length === 0 &&
77
+ fiatInTransfers.length === 0 &&
78
+ fiatOutTransfers.length === 0
79
+ ) {
80
+ return [
81
+ {
82
+ ...createAccountActionCommon(action, source),
83
+ type: 'NormalAccountAction',
84
+ action: 'nft-royalty',
85
+ transfers: cryptoInTransfers,
86
+ },
87
+ ]
88
+ }
89
+
90
+ // in:crypto / out:nft の場合、 sell-nft
91
+ if (
92
+ cryptoInTransfers.length > 0 &&
93
+ cryptoOutTransfers.length === 0 &&
94
+ nftInTransfers.length === 0 &&
95
+ nftOutTransfers.length > 0 &&
96
+ fiatInTransfers.length === 0 &&
97
+ fiatOutTransfers.length === 0
98
+ ) {
99
+ return [
100
+ {
101
+ ...createAccountActionCommon(action, source),
102
+ type: 'NormalAccountAction',
103
+ action: 'sell-nft',
104
+ transfers: [...cryptoInTransfers, ...nftOutTransfers],
105
+ },
106
+ ]
107
+ }
108
+
109
+ // in:fiat / out:nft の場合、 sell-nft
110
+ if (
111
+ cryptoInTransfers.length === 0 &&
112
+ cryptoOutTransfers.length === 0 &&
113
+ nftInTransfers.length === 0 &&
114
+ nftOutTransfers.length > 0 &&
115
+ fiatInTransfers.length > 0 &&
116
+ fiatOutTransfers.length === 0
117
+ ) {
118
+ return [
119
+ {
120
+ ...createAccountActionCommon(action, source),
121
+ type: 'NormalAccountAction',
122
+ action: 'sell-nft',
123
+ transfers: [...fiatInTransfers, ...nftOutTransfers],
124
+ },
125
+ ]
126
+ }
127
+
128
+ // in:nft / out:crypto の場合、 buy-nft
129
+ if (
130
+ cryptoInTransfers.length === 0 &&
131
+ cryptoOutTransfers.length > 0 &&
132
+ nftInTransfers.length > 0 &&
133
+ nftOutTransfers.length === 0 &&
134
+ fiatInTransfers.length === 0 &&
135
+ fiatOutTransfers.length === 0
136
+ ) {
137
+ return [
138
+ {
139
+ ...createAccountActionCommon(action, source),
140
+ type: 'NormalAccountAction',
141
+ action: 'buy-nft',
142
+ transfers: [...nftInTransfers, ...cryptoOutTransfers],
143
+ },
144
+ ]
145
+ }
146
+
147
+ // in:nft / out:fiat の場合、 buy-nft
148
+ if (
149
+ cryptoInTransfers.length === 0 &&
150
+ cryptoOutTransfers.length === 0 &&
151
+ nftInTransfers.length > 0 &&
152
+ nftOutTransfers.length === 0 &&
153
+ fiatInTransfers.length === 0 &&
154
+ fiatOutTransfers.length > 0
155
+ ) {
156
+ return [
157
+ {
158
+ ...createAccountActionCommon(action, source),
159
+ type: 'NormalAccountAction',
160
+ action: 'buy-nft',
161
+ transfers: [...nftInTransfers, ...fiatOutTransfers],
162
+ },
163
+ ]
164
+ }
165
+
166
+ // それ以外の場合、対象外
167
+ return parseNormalActionToAccountActions({
168
+ action,
169
+ accountIds,
170
+ source,
171
+ cexAccountIds,
172
+ })
173
+ }
174
+
175
+ const parseAccountRelatedTransfers = (
176
+ transfers: readonly Transfer[],
177
+ accountIds: Set<string>,
178
+ ): readonly Transfer[] =>
179
+ transfers.map((transfer) => {
180
+ if (
181
+ (transfer.from === undefined || !accountIds.has(transfer.from)) &&
182
+ transfer.to !== undefined &&
183
+ accountIds.has(transfer.to)
184
+ ) {
185
+ return {
186
+ ...transfer,
187
+ direction: 'in',
188
+ } as TransferIn
189
+ }
190
+ if (
191
+ transfer.from !== undefined &&
192
+ accountIds.has(transfer.from) &&
193
+ (transfer.to === undefined || !accountIds.has(transfer.to))
194
+ ) {
195
+ return {
196
+ ...transfer,
197
+ direction: 'out',
198
+ } as TransferOut
199
+ }
200
+ return {
201
+ ...transfer,
202
+ direction: 'none',
203
+ } as TransferNone
204
+ })