@0xtorch/core 0.0.8 → 0.0.10
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.
- package/.DS_Store +0 -0
- package/_cjs/actions/index.js +49 -2
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/actions/parsers/borrow/borrow.js +22 -0
- package/_cjs/actions/parsers/borrow/borrow.js.map +1 -0
- package/_cjs/actions/parsers/borrow/borrowWithDebt.js +22 -0
- package/_cjs/actions/parsers/borrow/borrowWithDebt.js.map +1 -0
- package/_cjs/actions/parsers/borrow/index.js +8 -0
- package/_cjs/actions/parsers/borrow/index.js.map +1 -0
- package/_cjs/actions/parsers/crossReplace/bridgeFrom.js +22 -0
- package/_cjs/actions/parsers/crossReplace/bridgeFrom.js.map +1 -0
- package/_cjs/actions/parsers/crossReplace/bridgeTo.js +22 -0
- package/_cjs/actions/parsers/crossReplace/bridgeTo.js.map +1 -0
- package/_cjs/actions/parsers/crossReplace/crossReplace.js +22 -0
- package/_cjs/actions/parsers/crossReplace/crossReplace.js.map +1 -0
- package/_cjs/actions/parsers/crossReplace/index.js +10 -0
- package/_cjs/actions/parsers/crossReplace/index.js.map +1 -0
- package/_cjs/actions/parsers/crossTrade/crossTrade.js +22 -0
- package/_cjs/actions/parsers/crossTrade/crossTrade.js.map +1 -0
- package/_cjs/actions/parsers/crossTrade/index.js +6 -0
- package/_cjs/actions/parsers/crossTrade/index.js.map +1 -0
- package/_cjs/actions/parsers/default.js +134 -0
- package/_cjs/actions/parsers/default.js.map +1 -0
- package/_cjs/actions/parsers/deposit/addLiquidity.js +22 -0
- package/_cjs/actions/parsers/deposit/addLiquidity.js.map +1 -0
- package/_cjs/actions/parsers/deposit/deposit.js +22 -0
- package/_cjs/actions/parsers/deposit/deposit.js.map +1 -0
- package/_cjs/actions/parsers/deposit/depositWithBond.js +22 -0
- package/_cjs/actions/parsers/deposit/depositWithBond.js.map +1 -0
- package/_cjs/actions/parsers/deposit/index.js +12 -0
- package/_cjs/actions/parsers/deposit/index.js.map +1 -0
- package/_cjs/actions/parsers/deposit/stake.js +22 -0
- package/_cjs/actions/parsers/deposit/stake.js.map +1 -0
- package/_cjs/actions/parsers/fee/fee.js +38 -0
- package/_cjs/actions/parsers/fee/fee.js.map +1 -0
- package/_cjs/actions/parsers/fee/index.js +8 -0
- package/_cjs/actions/parsers/fee/index.js.map +1 -0
- package/_cjs/actions/parsers/fee/transactionFee.js +21 -0
- package/_cjs/actions/parsers/fee/transactionFee.js.map +1 -0
- package/_cjs/actions/parsers/ignore/approve.js +14 -0
- package/_cjs/actions/parsers/ignore/approve.js.map +1 -0
- package/_cjs/actions/parsers/ignore/failTx.js +14 -0
- package/_cjs/actions/parsers/ignore/failTx.js.map +1 -0
- package/_cjs/actions/parsers/ignore/index.js +16 -0
- package/_cjs/actions/parsers/ignore/index.js.map +1 -0
- package/_cjs/actions/parsers/ignore/receiveFromCex.js +12 -0
- package/_cjs/actions/parsers/ignore/receiveFromCex.js.map +1 -0
- package/_cjs/actions/parsers/ignore/revoke.js +14 -0
- package/_cjs/actions/parsers/ignore/revoke.js.map +1 -0
- package/_cjs/actions/parsers/ignore/sendToCex.js +12 -0
- package/_cjs/actions/parsers/ignore/sendToCex.js.map +1 -0
- package/_cjs/actions/parsers/ignore/spam.js +22 -0
- package/_cjs/actions/parsers/ignore/spam.js.map +1 -0
- package/_cjs/actions/parsers/income/atomicArbitrage.js +81 -0
- package/_cjs/actions/parsers/income/atomicArbitrage.js.map +1 -0
- package/_cjs/actions/parsers/income/freeMintNft.js +21 -0
- package/_cjs/actions/parsers/income/freeMintNft.js.map +1 -0
- package/_cjs/actions/parsers/income/income.js +28 -0
- package/_cjs/actions/parsers/income/income.js.map +1 -0
- package/_cjs/actions/parsers/income/index.js +10 -0
- package/_cjs/actions/parsers/income/index.js.map +1 -0
- package/_cjs/actions/parsers/index.js +58 -0
- package/_cjs/actions/parsers/index.js.map +1 -0
- package/_cjs/actions/parsers/repayment/index.js +8 -0
- package/_cjs/actions/parsers/repayment/index.js.map +1 -0
- package/_cjs/actions/parsers/repayment/repayment.js +22 -0
- package/_cjs/actions/parsers/repayment/repayment.js.map +1 -0
- package/_cjs/actions/parsers/repayment/repaymentWithDebt.js +22 -0
- package/_cjs/actions/parsers/repayment/repaymentWithDebt.js.map +1 -0
- package/_cjs/actions/parsers/replace/index.js +12 -0
- package/_cjs/actions/parsers/replace/index.js.map +1 -0
- package/_cjs/actions/parsers/replace/replace.js +21 -0
- package/_cjs/actions/parsers/replace/replace.js.map +1 -0
- package/_cjs/actions/parsers/replace/swapNft.js +21 -0
- package/_cjs/actions/parsers/replace/swapNft.js.map +1 -0
- package/_cjs/actions/parsers/replace/unwrap.js +21 -0
- package/_cjs/actions/parsers/replace/unwrap.js.map +1 -0
- package/_cjs/actions/parsers/replace/wrap.js +21 -0
- package/_cjs/actions/parsers/replace/wrap.js.map +1 -0
- package/_cjs/actions/parsers/trade/buyCrypto.js +50 -0
- package/_cjs/actions/parsers/trade/buyCrypto.js.map +1 -0
- package/_cjs/actions/parsers/trade/buyNft.js +118 -0
- package/_cjs/actions/parsers/trade/buyNft.js.map +1 -0
- package/_cjs/actions/parsers/trade/index.js +16 -0
- package/_cjs/actions/parsers/trade/index.js.map +1 -0
- package/_cjs/actions/parsers/trade/mintNft.js +88 -0
- package/_cjs/actions/parsers/trade/mintNft.js.map +1 -0
- package/_cjs/actions/parsers/trade/sellCrypto.js +50 -0
- package/_cjs/actions/parsers/trade/sellCrypto.js.map +1 -0
- package/_cjs/actions/parsers/trade/sellNft.js +118 -0
- package/_cjs/actions/parsers/trade/sellNft.js.map +1 -0
- package/_cjs/actions/parsers/trade/trade.js +163 -0
- package/_cjs/actions/parsers/trade/trade.js.map +1 -0
- package/_cjs/actions/parsers/transfer/index.js +6 -0
- package/_cjs/actions/parsers/transfer/index.js.map +1 -0
- package/_cjs/actions/parsers/transfer/transfer.js +15 -0
- package/_cjs/actions/parsers/transfer/transfer.js.map +1 -0
- package/_cjs/actions/parsers/types.js +3 -0
- package/_cjs/actions/parsers/types.js.map +1 -0
- package/_cjs/actions/parsers/valuedown/index.js +6 -0
- package/_cjs/actions/parsers/valuedown/index.js.map +1 -0
- package/_cjs/actions/parsers/valuedown/valuedown.js +22 -0
- package/_cjs/actions/parsers/valuedown/valuedown.js.map +1 -0
- package/_cjs/actions/parsers/valueup/index.js +6 -0
- package/_cjs/actions/parsers/valueup/index.js.map +1 -0
- package/_cjs/actions/parsers/valueup/valueup.js +22 -0
- package/_cjs/actions/parsers/valueup/valueup.js.map +1 -0
- package/_cjs/actions/parsers/withdraw/index.js +12 -0
- package/_cjs/actions/parsers/withdraw/index.js.map +1 -0
- package/_cjs/actions/parsers/withdraw/removeLiquidity.js +22 -0
- package/_cjs/actions/parsers/withdraw/removeLiquidity.js.map +1 -0
- package/_cjs/actions/parsers/withdraw/unstake.js +22 -0
- package/_cjs/actions/parsers/withdraw/unstake.js.map +1 -0
- package/_cjs/actions/parsers/withdraw/withdraw.js +22 -0
- package/_cjs/actions/parsers/withdraw/withdraw.js.map +1 -0
- package/_cjs/actions/parsers/withdraw/withdrawWithBond.js +22 -0
- package/_cjs/actions/parsers/withdraw/withdrawWithBond.js.map +1 -0
- package/_cjs/actions/schemas/action.js +47 -1
- package/_cjs/actions/schemas/action.js.map +1 -1
- package/_cjs/actions/schemas/ignore/index.js +3 -1
- package/_cjs/actions/schemas/ignore/index.js.map +1 -1
- package/_cjs/actions/schemas/ignore/receiveFromCex.js +11 -1
- package/_cjs/actions/schemas/ignore/receiveFromCex.js.map +1 -1
- package/_cjs/actions/schemas/ignore/sendToCex.js +11 -1
- package/_cjs/actions/schemas/ignore/sendToCex.js.map +1 -1
- package/_cjs/actions/schemas/income/atomicArbitrage.js +4 -1
- package/_cjs/actions/schemas/income/atomicArbitrage.js.map +1 -1
- package/_cjs/actions/schemas/income/income.js +11 -1
- package/_cjs/actions/schemas/income/income.js.map +1 -1
- package/_cjs/actions/schemas/income/index.js +2 -1
- package/_cjs/actions/schemas/income/index.js.map +1 -1
- package/_cjs/actions/schemas/index.js +8 -2
- package/_cjs/actions/schemas/index.js.map +1 -1
- package/_cjs/actions/schemas/trade/index.js +2 -1
- package/_cjs/actions/schemas/trade/index.js.map +1 -1
- package/_cjs/actions/schemas/trade/sellNft.js +15 -1
- package/_cjs/actions/schemas/trade/sellNft.js.map +1 -1
- package/_cjs/actions/types/buyCrypto.js +3 -0
- package/_cjs/actions/types/buyCrypto.js.map +1 -0
- package/_cjs/actions/types/sellCrypto.js +3 -0
- package/_cjs/actions/types/sellCrypto.js.map +1 -0
- package/_cjs/actions/types/stake.js +3 -0
- package/_cjs/actions/types/stake.js.map +1 -0
- package/_cjs/actions/types/unstake.js +3 -0
- package/_cjs/actions/types/unstake.js.map +1 -0
- package/_cjs/index.js +8 -3
- package/_cjs/index.js.map +1 -1
- package/_esm/actions/index.js +2 -1
- package/_esm/actions/index.js.map +1 -1
- package/_esm/actions/parsers/borrow/borrow.js +18 -0
- package/_esm/actions/parsers/borrow/borrow.js.map +1 -0
- package/_esm/actions/parsers/borrow/borrowWithDebt.js +18 -0
- package/_esm/actions/parsers/borrow/borrowWithDebt.js.map +1 -0
- package/_esm/actions/parsers/borrow/index.js +3 -0
- package/_esm/actions/parsers/borrow/index.js.map +1 -0
- package/_esm/actions/parsers/crossReplace/bridgeFrom.js +18 -0
- package/_esm/actions/parsers/crossReplace/bridgeFrom.js.map +1 -0
- package/_esm/actions/parsers/crossReplace/bridgeTo.js +18 -0
- package/_esm/actions/parsers/crossReplace/bridgeTo.js.map +1 -0
- package/_esm/actions/parsers/crossReplace/crossReplace.js +18 -0
- package/_esm/actions/parsers/crossReplace/crossReplace.js.map +1 -0
- package/_esm/actions/parsers/crossReplace/index.js +4 -0
- package/_esm/actions/parsers/crossReplace/index.js.map +1 -0
- package/_esm/actions/parsers/crossTrade/crossTrade.js +18 -0
- package/_esm/actions/parsers/crossTrade/crossTrade.js.map +1 -0
- package/_esm/actions/parsers/crossTrade/index.js +2 -0
- package/_esm/actions/parsers/crossTrade/index.js.map +1 -0
- package/_esm/actions/parsers/default.js +125 -0
- package/_esm/actions/parsers/default.js.map +1 -0
- package/_esm/actions/parsers/deposit/addLiquidity.js +18 -0
- package/_esm/actions/parsers/deposit/addLiquidity.js.map +1 -0
- package/_esm/actions/parsers/deposit/deposit.js +18 -0
- package/_esm/actions/parsers/deposit/deposit.js.map +1 -0
- package/_esm/actions/parsers/deposit/depositWithBond.js +18 -0
- package/_esm/actions/parsers/deposit/depositWithBond.js.map +1 -0
- package/_esm/actions/parsers/deposit/index.js +5 -0
- package/_esm/actions/parsers/deposit/index.js.map +1 -0
- package/_esm/actions/parsers/deposit/stake.js +18 -0
- package/_esm/actions/parsers/deposit/stake.js.map +1 -0
- package/_esm/actions/parsers/fee/fee.js +35 -0
- package/_esm/actions/parsers/fee/fee.js.map +1 -0
- package/_esm/actions/parsers/fee/index.js +3 -0
- package/_esm/actions/parsers/fee/index.js.map +1 -0
- package/_esm/actions/parsers/fee/transactionFee.js +17 -0
- package/_esm/actions/parsers/fee/transactionFee.js.map +1 -0
- package/_esm/actions/parsers/ignore/approve.js +10 -0
- package/_esm/actions/parsers/ignore/approve.js.map +1 -0
- package/_esm/actions/parsers/ignore/failTx.js +10 -0
- package/_esm/actions/parsers/ignore/failTx.js.map +1 -0
- package/_esm/actions/parsers/ignore/index.js +7 -0
- package/_esm/actions/parsers/ignore/index.js.map +1 -0
- package/_esm/actions/parsers/ignore/receiveFromCex.js +8 -0
- package/_esm/actions/parsers/ignore/receiveFromCex.js.map +1 -0
- package/_esm/actions/parsers/ignore/revoke.js +10 -0
- package/_esm/actions/parsers/ignore/revoke.js.map +1 -0
- package/_esm/actions/parsers/ignore/sendToCex.js +8 -0
- package/_esm/actions/parsers/ignore/sendToCex.js.map +1 -0
- package/_esm/actions/parsers/ignore/spam.js +18 -0
- package/_esm/actions/parsers/ignore/spam.js.map +1 -0
- package/_esm/actions/parsers/income/atomicArbitrage.js +80 -0
- package/_esm/actions/parsers/income/atomicArbitrage.js.map +1 -0
- package/_esm/actions/parsers/income/freeMintNft.js +17 -0
- package/_esm/actions/parsers/income/freeMintNft.js.map +1 -0
- package/_esm/actions/parsers/income/income.js +24 -0
- package/_esm/actions/parsers/income/income.js.map +1 -0
- package/_esm/actions/parsers/income/index.js +4 -0
- package/_esm/actions/parsers/income/index.js.map +1 -0
- package/_esm/actions/parsers/index.js +15 -0
- package/_esm/actions/parsers/index.js.map +1 -0
- package/_esm/actions/parsers/repayment/index.js +3 -0
- package/_esm/actions/parsers/repayment/index.js.map +1 -0
- package/_esm/actions/parsers/repayment/repayment.js +18 -0
- package/_esm/actions/parsers/repayment/repayment.js.map +1 -0
- package/_esm/actions/parsers/repayment/repaymentWithDebt.js +18 -0
- package/_esm/actions/parsers/repayment/repaymentWithDebt.js.map +1 -0
- package/_esm/actions/parsers/replace/index.js +5 -0
- package/_esm/actions/parsers/replace/index.js.map +1 -0
- package/_esm/actions/parsers/replace/replace.js +17 -0
- package/_esm/actions/parsers/replace/replace.js.map +1 -0
- package/_esm/actions/parsers/replace/swapNft.js +17 -0
- package/_esm/actions/parsers/replace/swapNft.js.map +1 -0
- package/_esm/actions/parsers/replace/unwrap.js +17 -0
- package/_esm/actions/parsers/replace/unwrap.js.map +1 -0
- package/_esm/actions/parsers/replace/wrap.js +17 -0
- package/_esm/actions/parsers/replace/wrap.js.map +1 -0
- package/_esm/actions/parsers/trade/buyCrypto.js +47 -0
- package/_esm/actions/parsers/trade/buyCrypto.js.map +1 -0
- package/_esm/actions/parsers/trade/buyNft.js +119 -0
- package/_esm/actions/parsers/trade/buyNft.js.map +1 -0
- package/_esm/actions/parsers/trade/index.js +7 -0
- package/_esm/actions/parsers/trade/index.js.map +1 -0
- package/_esm/actions/parsers/trade/mintNft.js +88 -0
- package/_esm/actions/parsers/trade/mintNft.js.map +1 -0
- package/_esm/actions/parsers/trade/sellCrypto.js +47 -0
- package/_esm/actions/parsers/trade/sellCrypto.js.map +1 -0
- package/_esm/actions/parsers/trade/sellNft.js +120 -0
- package/_esm/actions/parsers/trade/sellNft.js.map +1 -0
- package/_esm/actions/parsers/trade/trade.js +168 -0
- package/_esm/actions/parsers/trade/trade.js.map +1 -0
- package/_esm/actions/parsers/transfer/index.js +2 -0
- package/_esm/actions/parsers/transfer/index.js.map +1 -0
- package/_esm/actions/parsers/transfer/transfer.js +11 -0
- package/_esm/actions/parsers/transfer/transfer.js.map +1 -0
- package/_esm/actions/parsers/types.js +2 -0
- package/_esm/actions/parsers/types.js.map +1 -0
- package/_esm/actions/parsers/valuedown/index.js +2 -0
- package/_esm/actions/parsers/valuedown/index.js.map +1 -0
- package/_esm/actions/parsers/valuedown/valuedown.js +18 -0
- package/_esm/actions/parsers/valuedown/valuedown.js.map +1 -0
- package/_esm/actions/parsers/valueup/index.js +2 -0
- package/_esm/actions/parsers/valueup/index.js.map +1 -0
- package/_esm/actions/parsers/valueup/valueup.js +18 -0
- package/_esm/actions/parsers/valueup/valueup.js.map +1 -0
- package/_esm/actions/parsers/withdraw/index.js +5 -0
- package/_esm/actions/parsers/withdraw/index.js.map +1 -0
- package/_esm/actions/parsers/withdraw/removeLiquidity.js +18 -0
- package/_esm/actions/parsers/withdraw/removeLiquidity.js.map +1 -0
- package/_esm/actions/parsers/withdraw/unstake.js +18 -0
- package/_esm/actions/parsers/withdraw/unstake.js.map +1 -0
- package/_esm/actions/parsers/withdraw/withdraw.js +18 -0
- package/_esm/actions/parsers/withdraw/withdraw.js.map +1 -0
- package/_esm/actions/parsers/withdraw/withdrawWithBond.js +18 -0
- package/_esm/actions/parsers/withdraw/withdrawWithBond.js.map +1 -0
- package/_esm/actions/schemas/action.js +49 -3
- package/_esm/actions/schemas/action.js.map +1 -1
- package/_esm/actions/schemas/ignore/index.js +2 -2
- package/_esm/actions/schemas/ignore/index.js.map +1 -1
- package/_esm/actions/schemas/ignore/receiveFromCex.js +11 -1
- package/_esm/actions/schemas/ignore/receiveFromCex.js.map +1 -1
- package/_esm/actions/schemas/ignore/sendToCex.js +11 -1
- package/_esm/actions/schemas/ignore/sendToCex.js.map +1 -1
- package/_esm/actions/schemas/income/atomicArbitrage.js +4 -1
- package/_esm/actions/schemas/income/atomicArbitrage.js.map +1 -1
- package/_esm/actions/schemas/income/income.js +11 -1
- package/_esm/actions/schemas/income/income.js.map +1 -1
- package/_esm/actions/schemas/income/index.js +1 -1
- package/_esm/actions/schemas/income/index.js.map +1 -1
- package/_esm/actions/schemas/index.js +4 -4
- package/_esm/actions/schemas/index.js.map +1 -1
- package/_esm/actions/schemas/trade/index.js +1 -1
- package/_esm/actions/schemas/trade/index.js.map +1 -1
- package/_esm/actions/schemas/trade/sellNft.js +15 -1
- package/_esm/actions/schemas/trade/sellNft.js.map +1 -1
- package/_esm/actions/types/buyCrypto.js +2 -0
- package/_esm/actions/types/buyCrypto.js.map +1 -0
- package/_esm/actions/types/sellCrypto.js +2 -0
- package/_esm/actions/types/sellCrypto.js.map +1 -0
- package/_esm/actions/types/stake.js +2 -0
- package/_esm/actions/types/stake.js.map +1 -0
- package/_esm/actions/types/unstake.js +2 -0
- package/_esm/actions/types/unstake.js.map +1 -0
- package/_esm/index.js +1 -1
- package/_esm/index.js.map +1 -1
- package/_types/actions/index.d.ts +3 -2
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/actions/parsers/borrow/borrow.d.ts +4 -0
- package/_types/actions/parsers/borrow/borrow.d.ts.map +1 -0
- package/_types/actions/parsers/borrow/borrowWithDebt.d.ts +4 -0
- package/_types/actions/parsers/borrow/borrowWithDebt.d.ts.map +1 -0
- package/_types/actions/parsers/borrow/index.d.ts +3 -0
- package/_types/actions/parsers/borrow/index.d.ts.map +1 -0
- package/_types/actions/parsers/crossReplace/bridgeFrom.d.ts +4 -0
- package/_types/actions/parsers/crossReplace/bridgeFrom.d.ts.map +1 -0
- package/_types/actions/parsers/crossReplace/bridgeTo.d.ts +4 -0
- package/_types/actions/parsers/crossReplace/bridgeTo.d.ts.map +1 -0
- package/_types/actions/parsers/crossReplace/crossReplace.d.ts +4 -0
- package/_types/actions/parsers/crossReplace/crossReplace.d.ts.map +1 -0
- package/_types/actions/parsers/crossReplace/index.d.ts +4 -0
- package/_types/actions/parsers/crossReplace/index.d.ts.map +1 -0
- package/_types/actions/parsers/crossTrade/crossTrade.d.ts +4 -0
- package/_types/actions/parsers/crossTrade/crossTrade.d.ts.map +1 -0
- package/_types/actions/parsers/crossTrade/index.d.ts +2 -0
- package/_types/actions/parsers/crossTrade/index.d.ts.map +1 -0
- package/_types/actions/parsers/default.d.ts +24 -0
- package/_types/actions/parsers/default.d.ts.map +1 -0
- package/_types/actions/parsers/deposit/addLiquidity.d.ts +4 -0
- package/_types/actions/parsers/deposit/addLiquidity.d.ts.map +1 -0
- package/_types/actions/parsers/deposit/deposit.d.ts +4 -0
- package/_types/actions/parsers/deposit/deposit.d.ts.map +1 -0
- package/_types/actions/parsers/deposit/depositWithBond.d.ts +4 -0
- package/_types/actions/parsers/deposit/depositWithBond.d.ts.map +1 -0
- package/_types/actions/parsers/deposit/index.d.ts +5 -0
- package/_types/actions/parsers/deposit/index.d.ts.map +1 -0
- package/_types/actions/parsers/deposit/stake.d.ts +4 -0
- package/_types/actions/parsers/deposit/stake.d.ts.map +1 -0
- package/_types/actions/parsers/fee/fee.d.ts +4 -0
- package/_types/actions/parsers/fee/fee.d.ts.map +1 -0
- package/_types/actions/parsers/fee/index.d.ts +3 -0
- package/_types/actions/parsers/fee/index.d.ts.map +1 -0
- package/_types/actions/parsers/fee/transactionFee.d.ts +4 -0
- package/_types/actions/parsers/fee/transactionFee.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/approve.d.ts +6 -0
- package/_types/actions/parsers/ignore/approve.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/failTx.d.ts +6 -0
- package/_types/actions/parsers/ignore/failTx.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/index.d.ts +7 -0
- package/_types/actions/parsers/ignore/index.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/receiveFromCex.d.ts +4 -0
- package/_types/actions/parsers/ignore/receiveFromCex.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/revoke.d.ts +6 -0
- package/_types/actions/parsers/ignore/revoke.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/sendToCex.d.ts +4 -0
- package/_types/actions/parsers/ignore/sendToCex.d.ts.map +1 -0
- package/_types/actions/parsers/ignore/spam.d.ts +6 -0
- package/_types/actions/parsers/ignore/spam.d.ts.map +1 -0
- package/_types/actions/parsers/income/atomicArbitrage.d.ts +6 -0
- package/_types/actions/parsers/income/atomicArbitrage.d.ts.map +1 -0
- package/_types/actions/parsers/income/freeMintNft.d.ts +4 -0
- package/_types/actions/parsers/income/freeMintNft.d.ts.map +1 -0
- package/_types/actions/parsers/income/income.d.ts +4 -0
- package/_types/actions/parsers/income/income.d.ts.map +1 -0
- package/_types/actions/parsers/income/index.d.ts +4 -0
- package/_types/actions/parsers/income/index.d.ts.map +1 -0
- package/_types/actions/parsers/index.d.ts +15 -0
- package/_types/actions/parsers/index.d.ts.map +1 -0
- package/_types/actions/parsers/repayment/index.d.ts +3 -0
- package/_types/actions/parsers/repayment/index.d.ts.map +1 -0
- package/_types/actions/parsers/repayment/repayment.d.ts +4 -0
- package/_types/actions/parsers/repayment/repayment.d.ts.map +1 -0
- package/_types/actions/parsers/repayment/repaymentWithDebt.d.ts +4 -0
- package/_types/actions/parsers/repayment/repaymentWithDebt.d.ts.map +1 -0
- package/_types/actions/parsers/replace/index.d.ts +5 -0
- package/_types/actions/parsers/replace/index.d.ts.map +1 -0
- package/_types/actions/parsers/replace/replace.d.ts +4 -0
- package/_types/actions/parsers/replace/replace.d.ts.map +1 -0
- package/_types/actions/parsers/replace/swapNft.d.ts +4 -0
- package/_types/actions/parsers/replace/swapNft.d.ts.map +1 -0
- package/_types/actions/parsers/replace/unwrap.d.ts +4 -0
- package/_types/actions/parsers/replace/unwrap.d.ts.map +1 -0
- package/_types/actions/parsers/replace/wrap.d.ts +4 -0
- package/_types/actions/parsers/replace/wrap.d.ts.map +1 -0
- package/_types/actions/parsers/trade/buyCrypto.d.ts +4 -0
- package/_types/actions/parsers/trade/buyCrypto.d.ts.map +1 -0
- package/_types/actions/parsers/trade/buyNft.d.ts +4 -0
- package/_types/actions/parsers/trade/buyNft.d.ts.map +1 -0
- package/_types/actions/parsers/trade/index.d.ts +7 -0
- package/_types/actions/parsers/trade/index.d.ts.map +1 -0
- package/_types/actions/parsers/trade/mintNft.d.ts +4 -0
- package/_types/actions/parsers/trade/mintNft.d.ts.map +1 -0
- package/_types/actions/parsers/trade/sellCrypto.d.ts +4 -0
- package/_types/actions/parsers/trade/sellCrypto.d.ts.map +1 -0
- package/_types/actions/parsers/trade/sellNft.d.ts +4 -0
- package/_types/actions/parsers/trade/sellNft.d.ts.map +1 -0
- package/_types/actions/parsers/trade/trade.d.ts +6 -0
- package/_types/actions/parsers/trade/trade.d.ts.map +1 -0
- package/_types/actions/parsers/transfer/index.d.ts +2 -0
- package/_types/actions/parsers/transfer/index.d.ts.map +1 -0
- package/_types/actions/parsers/transfer/transfer.d.ts +4 -0
- package/_types/actions/parsers/transfer/transfer.d.ts.map +1 -0
- package/_types/actions/parsers/types.d.ts +8 -0
- package/_types/actions/parsers/types.d.ts.map +1 -0
- package/_types/actions/parsers/valuedown/index.d.ts +2 -0
- package/_types/actions/parsers/valuedown/index.d.ts.map +1 -0
- package/_types/actions/parsers/valuedown/valuedown.d.ts +4 -0
- package/_types/actions/parsers/valuedown/valuedown.d.ts.map +1 -0
- package/_types/actions/parsers/valueup/index.d.ts +2 -0
- package/_types/actions/parsers/valueup/index.d.ts.map +1 -0
- package/_types/actions/parsers/valueup/valueup.d.ts +4 -0
- package/_types/actions/parsers/valueup/valueup.d.ts.map +1 -0
- package/_types/actions/parsers/withdraw/index.d.ts +5 -0
- package/_types/actions/parsers/withdraw/index.d.ts.map +1 -0
- package/_types/actions/parsers/withdraw/removeLiquidity.d.ts +4 -0
- package/_types/actions/parsers/withdraw/removeLiquidity.d.ts.map +1 -0
- package/_types/actions/parsers/withdraw/unstake.d.ts +4 -0
- package/_types/actions/parsers/withdraw/unstake.d.ts.map +1 -0
- package/_types/actions/parsers/withdraw/withdraw.d.ts +4 -0
- package/_types/actions/parsers/withdraw/withdraw.d.ts.map +1 -0
- package/_types/actions/parsers/withdraw/withdrawWithBond.d.ts +4 -0
- package/_types/actions/parsers/withdraw/withdrawWithBond.d.ts.map +1 -0
- package/_types/actions/schemas/action.d.ts +6370 -2899
- package/_types/actions/schemas/action.d.ts.map +1 -1
- package/_types/actions/schemas/ignore/index.d.ts +2 -2
- package/_types/actions/schemas/ignore/index.d.ts.map +1 -1
- package/_types/actions/schemas/ignore/receiveFromCex.d.ts +729 -0
- package/_types/actions/schemas/ignore/receiveFromCex.d.ts.map +1 -1
- package/_types/actions/schemas/ignore/sendToCex.d.ts +729 -0
- package/_types/actions/schemas/ignore/sendToCex.d.ts.map +1 -1
- package/_types/actions/schemas/income/atomicArbitrage.d.ts +412 -10
- package/_types/actions/schemas/income/atomicArbitrage.d.ts.map +1 -1
- package/_types/actions/schemas/income/income.d.ts +617 -0
- package/_types/actions/schemas/income/income.d.ts.map +1 -1
- package/_types/actions/schemas/income/index.d.ts +1 -1
- package/_types/actions/schemas/income/index.d.ts.map +1 -1
- package/_types/actions/schemas/index.d.ts +4 -4
- package/_types/actions/schemas/index.d.ts.map +1 -1
- package/_types/actions/schemas/trade/index.d.ts +1 -1
- package/_types/actions/schemas/trade/index.d.ts.map +1 -1
- package/_types/actions/schemas/trade/sellNft.d.ts +997 -0
- package/_types/actions/schemas/trade/sellNft.d.ts.map +1 -1
- package/_types/actions/types/buyCrypto.d.ts +5 -0
- package/_types/actions/types/buyCrypto.d.ts.map +1 -0
- package/_types/actions/types/income.d.ts +2 -1
- package/_types/actions/types/income.d.ts.map +1 -1
- package/_types/actions/types/index.d.ts +10 -6
- package/_types/actions/types/index.d.ts.map +1 -1
- package/_types/actions/types/receiveFromCex.d.ts +2 -1
- package/_types/actions/types/receiveFromCex.d.ts.map +1 -1
- package/_types/actions/types/sellCrypto.d.ts +5 -0
- package/_types/actions/types/sellCrypto.d.ts.map +1 -0
- package/_types/actions/types/sellNft.d.ts +2 -1
- package/_types/actions/types/sellNft.d.ts.map +1 -1
- package/_types/actions/types/sendToCex.d.ts +2 -1
- package/_types/actions/types/sendToCex.d.ts.map +1 -1
- package/_types/actions/types/stake.d.ts +5 -0
- package/_types/actions/types/stake.d.ts.map +1 -0
- package/_types/actions/types/unstake.d.ts +5 -0
- package/_types/actions/types/unstake.d.ts.map +1 -0
- package/_types/index.d.ts +2 -2
- package/_types/index.d.ts.map +1 -1
- package/actions/.DS_Store +0 -0
- package/actions/index.ts +61 -0
- package/actions/parsers/borrow/borrow.ts +46 -0
- package/actions/parsers/borrow/borrowWithDebt.ts +46 -0
- package/actions/parsers/borrow/index.ts +2 -0
- package/actions/parsers/crossReplace/bridgeFrom.ts +46 -0
- package/actions/parsers/crossReplace/bridgeTo.ts +46 -0
- package/actions/parsers/crossReplace/crossReplace.ts +46 -0
- package/actions/parsers/crossReplace/index.ts +3 -0
- package/actions/parsers/crossTrade/crossTrade.ts +46 -0
- package/actions/parsers/crossTrade/index.ts +1 -0
- package/actions/parsers/default.ts +208 -0
- package/actions/parsers/deposit/addLiquidity.ts +46 -0
- package/actions/parsers/deposit/deposit.ts +46 -0
- package/actions/parsers/deposit/depositWithBond.ts +46 -0
- package/actions/parsers/deposit/index.ts +4 -0
- package/actions/parsers/deposit/stake.ts +46 -0
- package/actions/parsers/fee/fee.ts +68 -0
- package/actions/parsers/fee/index.ts +2 -0
- package/actions/parsers/fee/transactionFee.ts +45 -0
- package/actions/parsers/ignore/approve.ts +17 -0
- package/actions/parsers/ignore/failTx.ts +17 -0
- package/actions/parsers/ignore/index.ts +6 -0
- package/actions/parsers/ignore/receiveFromCex.ts +29 -0
- package/actions/parsers/ignore/revoke.ts +17 -0
- package/actions/parsers/ignore/sendToCex.ts +29 -0
- package/actions/parsers/ignore/spam.ts +46 -0
- package/actions/parsers/income/atomicArbitrage.ts +159 -0
- package/actions/parsers/income/freeMintNft.ts +45 -0
- package/actions/parsers/income/income.ts +56 -0
- package/actions/parsers/income/index.ts +3 -0
- package/actions/parsers/index.ts +60 -0
- package/actions/parsers/repayment/index.ts +2 -0
- package/actions/parsers/repayment/repayment.ts +46 -0
- package/actions/parsers/repayment/repaymentWithDebt.ts +46 -0
- package/actions/parsers/replace/index.ts +4 -0
- package/actions/parsers/replace/replace.ts +45 -0
- package/actions/parsers/replace/swapNft.ts +45 -0
- package/actions/parsers/replace/unwrap.ts +45 -0
- package/actions/parsers/replace/wrap.ts +45 -0
- package/actions/parsers/trade/buyCrypto.ts +79 -0
- package/actions/parsers/trade/buyNft.ts +203 -0
- package/actions/parsers/trade/index.ts +6 -0
- package/actions/parsers/trade/mintNft.ts +164 -0
- package/actions/parsers/trade/sellCrypto.ts +79 -0
- package/actions/parsers/trade/sellNft.ts +204 -0
- package/actions/parsers/trade/trade.ts +271 -0
- package/actions/parsers/transfer/index.ts +1 -0
- package/actions/parsers/transfer/transfer.ts +32 -0
- package/actions/parsers/types.ts +10 -0
- package/actions/parsers/valuedown/index.ts +1 -0
- package/actions/parsers/valuedown/valuedown.ts +46 -0
- package/actions/parsers/valueup/index.ts +1 -0
- package/actions/parsers/valueup/valueup.ts +46 -0
- package/actions/parsers/withdraw/index.ts +4 -0
- package/actions/parsers/withdraw/removeLiquidity.ts +46 -0
- package/actions/parsers/withdraw/unstake.ts +46 -0
- package/actions/parsers/withdraw/withdraw.ts +46 -0
- package/actions/parsers/withdraw/withdrawWithBond.ts +46 -0
- package/actions/schemas/action.ts +51 -0
- package/actions/schemas/ignore/index.ts +8 -2
- package/actions/schemas/ignore/receiveFromCex.ts +14 -0
- package/actions/schemas/ignore/sendToCex.ts +14 -0
- package/actions/schemas/income/atomicArbitrage.ts +6 -1
- package/actions/schemas/income/income.ts +16 -1
- package/actions/schemas/income/index.ts +1 -1
- package/actions/schemas/index.ts +9 -1
- package/actions/schemas/trade/index.ts +4 -1
- package/actions/schemas/trade/sellNft.ts +18 -0
- package/actions/types/buyCrypto.ts +11 -0
- package/actions/types/income.ts +6 -1
- package/actions/types/index.ts +16 -6
- package/actions/types/receiveFromCex.ts +8 -1
- package/actions/types/sellCrypto.ts +13 -0
- package/actions/types/sellNft.ts +6 -1
- package/actions/types/sendToCex.ts +6 -1
- package/actions/types/stake.ts +9 -0
- package/actions/types/unstake.ts +9 -0
- package/assets/.DS_Store +0 -0
- package/index.ts +19 -0
- package/package.json +1 -1
|
@@ -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
|
+
})
|