@0xtorch/evm 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/_cjs/analyzer/analyze.js.map +1 -1
- package/_cjs/analyzer/axieMarketplace/analyze.js +37 -130
- package/_cjs/analyzer/axieMarketplace/analyze.js.map +1 -1
- package/_cjs/analyzer/gasFee/analyze.js +22 -21
- package/_cjs/analyzer/gasFee/analyze.js.map +1 -1
- package/_cjs/analyzer/index.js +2 -1
- package/_cjs/analyzer/index.js.map +1 -1
- package/_cjs/analyzer/json/analyze.js +21 -29
- package/_cjs/analyzer/json/analyze.js.map +1 -1
- package/_cjs/analyzer/json/components/comment.js +47 -0
- package/_cjs/analyzer/json/components/comment.js.map +1 -0
- package/_cjs/analyzer/json/components/erc1155.js +93 -0
- package/_cjs/analyzer/json/components/erc1155.js.map +1 -0
- package/_cjs/analyzer/json/components/erc1155Raw.js +31 -0
- package/_cjs/analyzer/json/components/erc1155Raw.js.map +1 -0
- package/_cjs/analyzer/json/components/erc20.js +90 -0
- package/_cjs/analyzer/json/components/erc20.js.map +1 -0
- package/_cjs/analyzer/json/components/erc20Raw.js +28 -0
- package/_cjs/analyzer/json/components/erc20Raw.js.map +1 -0
- package/_cjs/analyzer/json/components/erc721.js +78 -0
- package/_cjs/analyzer/json/components/erc721.js.map +1 -0
- package/_cjs/analyzer/json/components/erc721Raw.js +29 -0
- package/_cjs/analyzer/json/components/erc721Raw.js.map +1 -0
- package/_cjs/analyzer/json/components/id.js +47 -0
- package/_cjs/analyzer/json/components/id.js.map +1 -0
- package/_cjs/analyzer/json/components/internal.js +78 -0
- package/_cjs/analyzer/json/components/internal.js.map +1 -0
- package/_cjs/analyzer/json/components/internalRaw.js +26 -0
- package/_cjs/analyzer/json/components/internalRaw.js.map +1 -0
- package/_cjs/analyzer/json/components/logArgument.js +67 -0
- package/_cjs/analyzer/json/components/logArgument.js.map +1 -0
- package/_cjs/analyzer/json/components/logArgumentRaw.js +41 -0
- package/_cjs/analyzer/json/components/logArgumentRaw.js.map +1 -0
- package/_cjs/analyzer/json/components/transfer.js +435 -0
- package/_cjs/analyzer/json/components/transfer.js.map +1 -0
- package/_cjs/analyzer/json/condition/address.js +106 -0
- package/_cjs/analyzer/json/condition/address.js.map +1 -0
- package/_cjs/analyzer/json/condition/argumentValue.js +31 -0
- package/_cjs/analyzer/json/condition/argumentValue.js.map +1 -0
- package/_cjs/analyzer/json/condition/index.js +10 -0
- package/_cjs/analyzer/json/condition/index.js.map +1 -0
- package/_cjs/analyzer/json/condition/value.js +65 -0
- package/_cjs/analyzer/json/condition/value.js.map +1 -0
- package/_cjs/analyzer/json/generator.js +774 -0
- package/_cjs/analyzer/json/generator.js.map +1 -0
- package/_cjs/analyzer/json/index.js +3 -1
- package/_cjs/analyzer/json/index.js.map +1 -1
- package/_cjs/analyzer/json/schemas/generator.js +279 -0
- package/_cjs/analyzer/json/schemas/generator.js.map +1 -0
- package/_cjs/analyzer/json/schemas/index.js +303 -0
- package/_cjs/analyzer/json/schemas/index.js.map +1 -0
- package/_cjs/analyzer/json/schemas/utils.js +14 -0
- package/_cjs/analyzer/json/schemas/utils.js.map +1 -0
- package/_cjs/analyzer/parsers/transfer.js +149 -0
- package/_cjs/analyzer/parsers/transfer.js.map +1 -0
- package/_cjs/analyzer/seaport/analyze.js +165 -157
- package/_cjs/analyzer/seaport/analyze.js.map +1 -1
- package/_cjs/analyzer/spam/analyze.js +61 -90
- package/_cjs/analyzer/spam/analyze.js.map +1 -1
- package/_cjs/analyzer/swap/analyze.js +50 -75
- package/_cjs/analyzer/swap/analyze.js.map +1 -1
- package/_cjs/analyzer/transfer/analyze.js +37 -84
- package/_cjs/analyzer/transfer/analyze.js.map +1 -1
- package/_cjs/index.js +3 -2
- package/_cjs/index.js.map +1 -1
- package/_cjs/utils/create.js +28 -0
- package/_cjs/utils/create.js.map +1 -0
- package/_cjs/utils/index.js +3 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_esm/analyzer/analyze.js.map +1 -1
- package/_esm/analyzer/axieMarketplace/analyze.js +37 -130
- package/_esm/analyzer/axieMarketplace/analyze.js.map +1 -1
- package/_esm/analyzer/gasFee/analyze.js +23 -21
- package/_esm/analyzer/gasFee/analyze.js.map +1 -1
- package/_esm/analyzer/index.js +1 -1
- package/_esm/analyzer/index.js.map +1 -1
- package/_esm/analyzer/json/analyze.js +22 -29
- package/_esm/analyzer/json/analyze.js.map +1 -1
- package/_esm/analyzer/json/components/comment.js +43 -0
- package/_esm/analyzer/json/components/comment.js.map +1 -0
- package/_esm/analyzer/json/components/erc1155.js +88 -0
- package/_esm/analyzer/json/components/erc1155.js.map +1 -0
- package/_esm/analyzer/json/components/erc1155Raw.js +27 -0
- package/_esm/analyzer/json/components/erc1155Raw.js.map +1 -0
- package/_esm/analyzer/json/components/erc20.js +85 -0
- package/_esm/analyzer/json/components/erc20.js.map +1 -0
- package/_esm/analyzer/json/components/erc20Raw.js +24 -0
- package/_esm/analyzer/json/components/erc20Raw.js.map +1 -0
- package/_esm/analyzer/json/components/erc721.js +73 -0
- package/_esm/analyzer/json/components/erc721.js.map +1 -0
- package/_esm/analyzer/json/components/erc721Raw.js +25 -0
- package/_esm/analyzer/json/components/erc721Raw.js.map +1 -0
- package/_esm/analyzer/json/components/id.js +43 -0
- package/_esm/analyzer/json/components/id.js.map +1 -0
- package/_esm/analyzer/json/components/internal.js +73 -0
- package/_esm/analyzer/json/components/internal.js.map +1 -0
- package/_esm/analyzer/json/components/internalRaw.js +22 -0
- package/_esm/analyzer/json/components/internalRaw.js.map +1 -0
- package/_esm/analyzer/json/components/logArgument.js +62 -0
- package/_esm/analyzer/json/components/logArgument.js.map +1 -0
- package/_esm/analyzer/json/components/logArgumentRaw.js +37 -0
- package/_esm/analyzer/json/components/logArgumentRaw.js.map +1 -0
- package/_esm/analyzer/json/components/transfer.js +431 -0
- package/_esm/analyzer/json/components/transfer.js.map +1 -0
- package/_esm/analyzer/json/condition/address.js +102 -0
- package/_esm/analyzer/json/condition/address.js.map +1 -0
- package/_esm/analyzer/json/condition/argumentValue.js +27 -0
- package/_esm/analyzer/json/condition/argumentValue.js.map +1 -0
- package/_esm/analyzer/json/condition/index.js +4 -0
- package/_esm/analyzer/json/condition/index.js.map +1 -0
- package/_esm/analyzer/json/condition/value.js +61 -0
- package/_esm/analyzer/json/condition/value.js.map +1 -0
- package/_esm/analyzer/json/generator.js +825 -0
- package/_esm/analyzer/json/generator.js.map +1 -0
- package/_esm/analyzer/json/index.js +1 -0
- package/_esm/analyzer/json/index.js.map +1 -1
- package/_esm/analyzer/json/schemas/generator.js +340 -0
- package/_esm/analyzer/json/schemas/generator.js.map +1 -0
- package/_esm/analyzer/json/schemas/index.js +299 -0
- package/_esm/analyzer/json/schemas/index.js.map +1 -0
- package/_esm/analyzer/json/schemas/utils.js +11 -0
- package/_esm/analyzer/json/schemas/utils.js.map +1 -0
- package/_esm/analyzer/parsers/transfer.js +129 -0
- package/_esm/analyzer/parsers/transfer.js.map +1 -0
- package/_esm/analyzer/seaport/analyze.js +166 -157
- package/_esm/analyzer/seaport/analyze.js.map +1 -1
- package/_esm/analyzer/spam/analyze.js +62 -92
- package/_esm/analyzer/spam/analyze.js.map +1 -1
- package/_esm/analyzer/swap/analyze.js +51 -75
- package/_esm/analyzer/swap/analyze.js.map +1 -1
- package/_esm/analyzer/transfer/analyze.js +38 -86
- package/_esm/analyzer/transfer/analyze.js.map +1 -1
- package/_esm/index.js +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/utils/create.js +21 -0
- package/_esm/utils/create.js.map +1 -0
- package/_esm/utils/index.js +1 -0
- package/_esm/utils/index.js.map +1 -1
- package/_types/analyzer/analyze.d.ts +11 -16
- package/_types/analyzer/analyze.d.ts.map +1 -1
- package/_types/analyzer/analyzer.d.ts +9 -1
- package/_types/analyzer/analyzer.d.ts.map +1 -1
- package/_types/analyzer/axieMarketplace/analyze.d.ts +9 -2
- package/_types/analyzer/axieMarketplace/analyze.d.ts.map +1 -1
- package/_types/analyzer/gasFee/analyze.d.ts +9 -2
- package/_types/analyzer/gasFee/analyze.d.ts.map +1 -1
- package/_types/analyzer/index.d.ts +1 -1
- package/_types/analyzer/index.d.ts.map +1 -1
- package/_types/analyzer/json/analyze.d.ts +9 -2
- package/_types/analyzer/json/analyze.d.ts.map +1 -1
- package/_types/analyzer/json/components/comment.d.ts +20 -0
- package/_types/analyzer/json/components/comment.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc1155.d.ts +32 -0
- package/_types/analyzer/json/components/erc1155.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc1155Raw.d.ts +18 -0
- package/_types/analyzer/json/components/erc1155Raw.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc20.d.ts +32 -0
- package/_types/analyzer/json/components/erc20.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc20Raw.d.ts +18 -0
- package/_types/analyzer/json/components/erc20Raw.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc721.d.ts +32 -0
- package/_types/analyzer/json/components/erc721.d.ts.map +1 -0
- package/_types/analyzer/json/components/erc721Raw.d.ts +18 -0
- package/_types/analyzer/json/components/erc721Raw.d.ts.map +1 -0
- package/_types/analyzer/json/components/id.d.ts +20 -0
- package/_types/analyzer/json/components/id.d.ts.map +1 -0
- package/_types/analyzer/json/components/internal.d.ts +32 -0
- package/_types/analyzer/json/components/internal.d.ts.map +1 -0
- package/_types/analyzer/json/components/internalRaw.d.ts +18 -0
- package/_types/analyzer/json/components/internalRaw.d.ts.map +1 -0
- package/_types/analyzer/json/components/logArgument.d.ts +32 -0
- package/_types/analyzer/json/components/logArgument.d.ts.map +1 -0
- package/_types/analyzer/json/components/logArgumentRaw.d.ts +18 -0
- package/_types/analyzer/json/components/logArgumentRaw.d.ts.map +1 -0
- package/_types/analyzer/json/components/transfer.d.ts +20 -0
- package/_types/analyzer/json/components/transfer.d.ts.map +1 -0
- package/_types/analyzer/json/condition/address.d.ts +18 -0
- package/_types/analyzer/json/condition/address.d.ts.map +1 -0
- package/_types/analyzer/json/condition/argumentValue.d.ts +18 -0
- package/_types/analyzer/json/condition/argumentValue.d.ts.map +1 -0
- package/_types/analyzer/json/condition/index.d.ts +4 -0
- package/_types/analyzer/json/condition/index.d.ts.map +1 -0
- package/_types/analyzer/json/condition/value.d.ts +18 -0
- package/_types/analyzer/json/condition/value.d.ts.map +1 -0
- package/_types/analyzer/json/generator.d.ts +20 -0
- package/_types/analyzer/json/generator.d.ts.map +1 -0
- package/_types/analyzer/json/index.d.ts +1 -0
- package/_types/analyzer/json/index.d.ts.map +1 -1
- package/_types/analyzer/json/schemas/generator.d.ts +56942 -0
- package/_types/analyzer/json/schemas/generator.d.ts.map +1 -0
- package/_types/analyzer/json/schemas/index.d.ts +1348 -0
- package/_types/analyzer/json/schemas/index.d.ts.map +1 -0
- package/_types/analyzer/json/schemas/utils.d.ts +4 -0
- package/_types/analyzer/json/schemas/utils.d.ts.map +1 -0
- package/_types/analyzer/json/types.d.ts +42 -172
- package/_types/analyzer/json/types.d.ts.map +1 -1
- package/_types/analyzer/parsers/transfer.d.ts +46 -0
- package/_types/analyzer/parsers/transfer.d.ts.map +1 -0
- package/_types/analyzer/seaport/analyze.d.ts +9 -2
- package/_types/analyzer/seaport/analyze.d.ts.map +1 -1
- package/_types/analyzer/seaport/orderFulfilled.d.ts +8 -8
- package/_types/analyzer/spam/analyze.d.ts +9 -2
- package/_types/analyzer/spam/analyze.d.ts.map +1 -1
- package/_types/analyzer/swap/analyze.d.ts +9 -2
- package/_types/analyzer/swap/analyze.d.ts.map +1 -1
- package/_types/analyzer/transfer/analyze.d.ts +9 -2
- package/_types/analyzer/transfer/analyze.d.ts.map +1 -1
- package/_types/analyzer/types.d.ts +6 -6
- package/_types/analyzer/types.d.ts.map +1 -1
- package/_types/decoder/tests.d.ts +2 -2
- package/_types/explorers/definitions/blockscout.d.ts +60 -4
- package/_types/explorers/definitions/blockscout.d.ts.map +1 -1
- package/_types/explorers/definitions/etherscan.d.ts +60 -4
- package/_types/explorers/definitions/etherscan.d.ts.map +1 -1
- package/_types/explorers/definitions/roninExplorer.d.ts +60 -4
- package/_types/explorers/definitions/roninExplorer.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts +2 -2
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts +9 -1
- package/_types/getAccountsTransactionFulls/getAccountsTransactionFulls.d.ts.map +1 -1
- package/_types/getTransactionFull/getTransactionFull.d.ts +9 -1
- package/_types/getTransactionFull/getTransactionFull.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/types/log.d.ts +6 -6
- package/_types/types/transaction.d.ts +3 -4
- package/_types/types/transaction.d.ts.map +1 -1
- package/_types/utils/create.d.ts +23 -0
- package/_types/utils/create.d.ts.map +1 -0
- package/_types/utils/index.d.ts +1 -0
- package/_types/utils/index.d.ts.map +1 -1
- package/analyzer/analyze.ts +6 -30
- package/analyzer/axieMarketplace/analyze.ts +67 -150
- package/analyzer/gasFee/analyze.ts +29 -36
- package/analyzer/index.ts +1 -1
- package/analyzer/json/analyze.ts +32 -53
- package/analyzer/json/components/comment.ts +62 -0
- package/analyzer/json/components/erc1155.ts +132 -0
- package/analyzer/json/components/erc1155Raw.ts +46 -0
- package/analyzer/json/components/erc20.ts +129 -0
- package/analyzer/json/components/erc20Raw.ts +43 -0
- package/analyzer/json/components/erc721.ts +117 -0
- package/analyzer/json/components/erc721Raw.ts +46 -0
- package/analyzer/json/components/id.ts +62 -0
- package/analyzer/json/components/internal.ts +117 -0
- package/analyzer/json/components/internalRaw.ts +39 -0
- package/analyzer/json/components/logArgument.ts +99 -0
- package/analyzer/json/components/logArgumentRaw.ts +57 -0
- package/analyzer/json/components/transfer.ts +531 -0
- package/analyzer/json/condition/address.ts +124 -0
- package/analyzer/json/condition/argumentValue.ts +43 -0
- package/analyzer/json/condition/index.ts +3 -0
- package/analyzer/json/condition/value.ts +76 -0
- package/analyzer/json/generator.ts +1166 -0
- package/analyzer/json/index.ts +1 -0
- package/analyzer/json/schemas/generator.ts +387 -0
- package/analyzer/json/schemas/index.ts +363 -0
- package/analyzer/json/schemas/utils.ts +12 -0
- package/analyzer/json/types.ts +111 -207
- package/analyzer/parsers/transfer.ts +301 -0
- package/analyzer/seaport/analyze.ts +228 -195
- package/analyzer/spam/analyze.ts +79 -112
- package/analyzer/swap/analyze.ts +67 -101
- package/analyzer/transfer/analyze.ts +54 -100
- package/analyzer/types.ts +5 -21
- package/index.ts +1 -0
- package/package.json +2 -2
- package/types/transaction.ts +2 -14
- package/utils/create.ts +57 -0
- package/utils/index.ts +1 -0
- package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js +0 -28
- package/_cjs/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
- package/_cjs/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js +0 -38
- package/_cjs/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js +0 -38
- package/_cjs/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/buyNft.js +0 -59
- package/_cjs/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -69
- package/_cjs/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/deposit.js +0 -41
- package/_cjs/analyzer/createAccountActionByAction/deposit.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js +0 -28
- package/_cjs/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js +0 -32
- package/_cjs/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/index.js +0 -6
- package/_cjs/analyzer/createAccountActionByAction/index.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js +0 -28
- package/_cjs/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/spam.js +0 -58
- package/_cjs/analyzer/createAccountActionByAction/spam.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/trade.js +0 -59
- package/_cjs/analyzer/createAccountActionByAction/trade.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/transactionFee.js +0 -29
- package/_cjs/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/transfer.js +0 -74
- package/_cjs/analyzer/createAccountActionByAction/transfer.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/withdraw.js +0 -38
- package/_cjs/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
- package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -28
- package/_cjs/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
- package/_cjs/analyzer/json/generatorAnyLog.js +0 -163
- package/_cjs/analyzer/json/generatorAnyLog.js.map +0 -1
- package/_cjs/analyzer/json/generatorAnyTokenTransfer.js +0 -102
- package/_cjs/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
- package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js +0 -343
- package/_cjs/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/addLiquidity.js +0 -24
- package/_esm/analyzer/createAccountActionByAction/addLiquidity.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js +0 -79
- package/_esm/analyzer/createAccountActionByAction/atomicArbitrage.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js +0 -34
- package/_esm/analyzer/createAccountActionByAction/bridgeFrom.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/bridgeTo.js +0 -34
- package/_esm/analyzer/createAccountActionByAction/bridgeTo.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/buyNft.js +0 -59
- package/_esm/analyzer/createAccountActionByAction/buyNft.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js +0 -80
- package/_esm/analyzer/createAccountActionByAction/createAccountActionByAction.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/deposit.js +0 -38
- package/_esm/analyzer/createAccountActionByAction/deposit.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/depositWithBond.js +0 -24
- package/_esm/analyzer/createAccountActionByAction/depositWithBond.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/freeMintNft.js +0 -28
- package/_esm/analyzer/createAccountActionByAction/freeMintNft.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/index.js +0 -2
- package/_esm/analyzer/createAccountActionByAction/index.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js +0 -24
- package/_esm/analyzer/createAccountActionByAction/removeLiquidity.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/spam.js +0 -54
- package/_esm/analyzer/createAccountActionByAction/spam.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/trade.js +0 -59
- package/_esm/analyzer/createAccountActionByAction/trade.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/transactionFee.js +0 -25
- package/_esm/analyzer/createAccountActionByAction/transactionFee.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/transfer.js +0 -70
- package/_esm/analyzer/createAccountActionByAction/transfer.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/withdraw.js +0 -34
- package/_esm/analyzer/createAccountActionByAction/withdraw.js.map +0 -1
- package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js +0 -24
- package/_esm/analyzer/createAccountActionByAction/withdrawWithBond.js.map +0 -1
- package/_esm/analyzer/json/generatorAnyLog.js +0 -159
- package/_esm/analyzer/json/generatorAnyLog.js.map +0 -1
- package/_esm/analyzer/json/generatorAnyTokenTransfer.js +0 -98
- package/_esm/analyzer/json/generatorAnyTokenTransfer.js.map +0 -1
- package/_esm/analyzer/json/generatorSpecificTokenTransfer.js +0 -339
- package/_esm/analyzer/json/generatorSpecificTokenTransfer.js.map +0 -1
- package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/addLiquidity.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/atomicArbitrage.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/bridgeFrom.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/bridgeTo.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/buyNft.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/buyNft.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/createAccountActionByAction.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/deposit.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/deposit.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/depositWithBond.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts +0 -53
- package/_types/analyzer/createAccountActionByAction/freeMintNft.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/index.d.ts +0 -2
- package/_types/analyzer/createAccountActionByAction/index.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/removeLiquidity.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/spam.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/spam.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/trade.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/trade.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/transactionFee.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/transfer.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/transfer.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/withdraw.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/withdraw.d.ts.map +0 -1
- package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts +0 -59
- package/_types/analyzer/createAccountActionByAction/withdrawWithBond.d.ts.map +0 -1
- package/_types/analyzer/json/generatorAnyLog.d.ts +0 -55
- package/_types/analyzer/json/generatorAnyLog.d.ts.map +0 -1
- package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts +0 -54
- package/_types/analyzer/json/generatorAnyTokenTransfer.d.ts.map +0 -1
- package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts +0 -55
- package/_types/analyzer/json/generatorSpecificTokenTransfer.d.ts.map +0 -1
- package/analyzer/createAccountActionByAction/addLiquidity.ts +0 -60
- package/analyzer/createAccountActionByAction/atomicArbitrage.ts +0 -115
- package/analyzer/createAccountActionByAction/bridgeFrom.ts +0 -61
- package/analyzer/createAccountActionByAction/bridgeTo.ts +0 -61
- package/analyzer/createAccountActionByAction/buyNft.ts +0 -106
- package/analyzer/createAccountActionByAction/createAccountActionByAction.ts +0 -181
- package/analyzer/createAccountActionByAction/deposit.ts +0 -64
- package/analyzer/createAccountActionByAction/depositWithBond.ts +0 -60
- package/analyzer/createAccountActionByAction/freeMintNft.ts +0 -54
- package/analyzer/createAccountActionByAction/index.ts +0 -1
- package/analyzer/createAccountActionByAction/removeLiquidity.ts +0 -60
- package/analyzer/createAccountActionByAction/spam.ts +0 -79
- package/analyzer/createAccountActionByAction/trade.ts +0 -105
- package/analyzer/createAccountActionByAction/transactionFee.ts +0 -51
- package/analyzer/createAccountActionByAction/transfer.ts +0 -95
- package/analyzer/createAccountActionByAction/withdraw.ts +0 -61
- package/analyzer/createAccountActionByAction/withdrawWithBond.ts +0 -60
- package/analyzer/json/generatorAnyLog.ts +0 -207
- package/analyzer/json/generatorAnyTokenTransfer.ts +0 -118
- package/analyzer/json/generatorSpecificTokenTransfer.ts +0 -425
package/analyzer/json/types.ts
CHANGED
|
@@ -1,239 +1,143 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { CryptoCurrencyPrice } from '@0xtorch/core'
|
|
2
|
+
import type { z } from 'zod'
|
|
3
|
+
import type {
|
|
4
|
+
Erc1155Transfer,
|
|
5
|
+
Erc20Transfer,
|
|
6
|
+
Erc721Transfer,
|
|
7
|
+
InternalTransaction,
|
|
8
|
+
LogData,
|
|
9
|
+
} from '../../types'
|
|
10
|
+
import type {
|
|
11
|
+
actionGeneratorAnyLogAddressSchema,
|
|
12
|
+
actionGeneratorAnyLogAmountSchema,
|
|
13
|
+
actionGeneratorAnyLogSchema,
|
|
14
|
+
actionGeneratorAnyTokenTransferSchema,
|
|
15
|
+
actionGeneratorSpecificTokenTransferSchema,
|
|
16
|
+
actionTransferGeneratorFromTokenTransferSchema,
|
|
17
|
+
actionTransferGeneratorFromTokenTransferWithConditionSchema,
|
|
18
|
+
evmAnalyzerSchema,
|
|
19
|
+
parameterBaseSchema,
|
|
20
|
+
parameterSchema,
|
|
21
|
+
tokenTransferConditionAddressSchema,
|
|
22
|
+
} from './schemas'
|
|
23
|
+
import type {
|
|
24
|
+
actionGeneratorSchema,
|
|
25
|
+
addressConditionSchema,
|
|
26
|
+
commentComponentSchema,
|
|
27
|
+
erc1155ComponentSchema,
|
|
28
|
+
erc1155RawComponentSchema,
|
|
29
|
+
erc20ComponentSchema,
|
|
30
|
+
erc20RawComponentSchema,
|
|
31
|
+
erc721ComponentSchema,
|
|
32
|
+
erc721RawComponentSchema,
|
|
33
|
+
idComponentSchema,
|
|
34
|
+
internalComponentSchema,
|
|
35
|
+
internalRawComponentSchema,
|
|
36
|
+
logArgumentComponentSchema,
|
|
37
|
+
logArgumentRawComponentSchema,
|
|
38
|
+
logArgumentValueConditionSchema,
|
|
39
|
+
transferComponentSchema,
|
|
40
|
+
transferCustomAddressComponentSchema,
|
|
41
|
+
transferCustomAmountComponentSchema,
|
|
42
|
+
transferCustomAssetComponentSchema,
|
|
43
|
+
valueConditionSchema,
|
|
44
|
+
} from './schemas/generator'
|
|
3
45
|
|
|
4
46
|
// normal action 変換用の mapper object
|
|
5
|
-
export type AnalyzeRule =
|
|
6
|
-
readonly chainId: number | undefined
|
|
7
|
-
readonly from: LowerHex[] | undefined
|
|
8
|
-
readonly to: LowerHex[] | undefined
|
|
9
|
-
readonly value: 'plus' | 'zero' | undefined
|
|
10
|
-
readonly functionSignature: LowerHex
|
|
11
|
-
readonly functionInterface: string | undefined
|
|
12
|
-
readonly logsPatterns: readonly LogsPattern[]
|
|
13
|
-
readonly internalsPatterns: readonly InternalsPattern[] | undefined
|
|
14
|
-
readonly parameterMatchPatterns: readonly ParameterMatchPattern[] | undefined
|
|
15
|
-
readonly generators: readonly ActionGenerator[]
|
|
16
|
-
}
|
|
47
|
+
export type AnalyzeRule = z.infer<typeof evmAnalyzerSchema>
|
|
17
48
|
|
|
18
|
-
type
|
|
19
|
-
readonly base: ParameterBase
|
|
20
|
-
readonly compare: ParameterIndex
|
|
21
|
-
}
|
|
49
|
+
export type ParameterBase = z.infer<typeof parameterBaseSchema>
|
|
22
50
|
|
|
23
|
-
export type
|
|
24
|
-
| ParameterIndexDefault
|
|
25
|
-
| ParameterIndexFunction
|
|
26
|
-
| ParameterBaseLog
|
|
27
|
-
| ParameterBaseInternal
|
|
28
|
-
|
|
29
|
-
type ParameterBaseLog = {
|
|
30
|
-
readonly type: 'log'
|
|
31
|
-
readonly signature: LowerHex
|
|
32
|
-
readonly indexedCount: number
|
|
33
|
-
readonly index: number
|
|
34
|
-
readonly argIndex: number
|
|
35
|
-
}
|
|
51
|
+
export type ParameterIndex = z.infer<typeof parameterSchema>
|
|
36
52
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
readonly index: number
|
|
40
|
-
readonly key: 'from' | 'to' | 'value'
|
|
41
|
-
}
|
|
53
|
+
// // 一旦 token transfer の index 指定で生成できるようにするが、後から他の方法でも生成できるようにする
|
|
54
|
+
export type ActionGenerator = z.infer<typeof actionGeneratorSchema>
|
|
42
55
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
| ParameterIndexInternal
|
|
56
|
+
/** 指定した token type の 全ての token transfer を個別に指定した action として生成する generator */
|
|
57
|
+
export type ActionGeneratorAnyTokenTransfer = z.infer<
|
|
58
|
+
typeof actionGeneratorAnyTokenTransferSchema
|
|
59
|
+
>
|
|
48
60
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
type ParameterIndexFunction = {
|
|
53
|
-
readonly type: 'function'
|
|
54
|
-
readonly argIndex: number
|
|
55
|
-
}
|
|
56
|
-
type ParameterIndexLog = {
|
|
57
|
-
readonly type: 'log'
|
|
58
|
-
readonly signature: LowerHex
|
|
59
|
-
readonly indexedCount: number
|
|
60
|
-
readonly index: 'some' | 'every' | number
|
|
61
|
-
readonly argIndex: number
|
|
62
|
-
}
|
|
63
|
-
type ParameterIndexInternal = {
|
|
64
|
-
readonly type: 'internal'
|
|
65
|
-
readonly index: 'some' | 'every' | number
|
|
66
|
-
readonly key: 'from' | 'to' | 'value'
|
|
67
|
-
}
|
|
61
|
+
/** 指定した全ての log を個別に指定した action として生成する generator */
|
|
62
|
+
export type ActionGeneratorAnyLog = z.infer<typeof actionGeneratorAnyLogSchema>
|
|
68
63
|
|
|
69
|
-
type
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
readonly items: readonly {
|
|
73
|
-
readonly signature: LowerHex
|
|
74
|
-
readonly indexedCount: number
|
|
75
|
-
readonly args:
|
|
76
|
-
| readonly {
|
|
77
|
-
readonly type: 'to-lower-string-value'
|
|
78
|
-
readonly index: number
|
|
79
|
-
readonly value: string
|
|
80
|
-
}[]
|
|
81
|
-
| undefined
|
|
82
|
-
// TODO 別の log と同一の値か、みたいなところも理想としては条件として渡したい
|
|
83
|
-
}[]
|
|
84
|
-
}
|
|
85
|
-
type LogsPatternPartial = {
|
|
86
|
-
readonly matchType: 'partial'
|
|
87
|
-
readonly signature: LowerHex
|
|
88
|
-
readonly indexedCount: number
|
|
89
|
-
/** undefined の場合は 1つ以上の任意の数の一致する log を持つ */
|
|
90
|
-
readonly logCount: number | undefined
|
|
91
|
-
readonly args:
|
|
92
|
-
| readonly {
|
|
93
|
-
readonly type: 'to-lower-string-value'
|
|
94
|
-
readonly index: number
|
|
95
|
-
readonly value: string
|
|
96
|
-
}[]
|
|
97
|
-
| undefined
|
|
98
|
-
// TODO 別の log と同一の値か、みたいなところも理想としては条件として渡したい
|
|
99
|
-
}
|
|
64
|
+
export type ActionGeneratorAnyLogAddress = z.infer<
|
|
65
|
+
typeof actionGeneratorAnyLogAddressSchema
|
|
66
|
+
>
|
|
100
67
|
|
|
101
|
-
type
|
|
68
|
+
export type ActionGeneratorAnyLogAmount = z.infer<
|
|
69
|
+
typeof actionGeneratorAnyLogAmountSchema
|
|
70
|
+
>
|
|
102
71
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
readonly value: 'plus' | 'zero' | undefined
|
|
108
|
-
/** undefined の場合は 1つ以上の任意の数の一致する internal transaction を持つ */
|
|
109
|
-
readonly count: number | undefined
|
|
110
|
-
}
|
|
72
|
+
/** 個別の token transfer 毎に指定した action を生成する generator */
|
|
73
|
+
export type ActionGeneratorSpecificTokenTransfer = z.infer<
|
|
74
|
+
typeof actionGeneratorSpecificTokenTransferSchema
|
|
75
|
+
>
|
|
111
76
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
| ActionGeneratorAnyLog
|
|
116
|
-
| ActionGeneratorSpecificTokenTransfer
|
|
77
|
+
export type ActionTransferGeneratorFromTokenTransfer = z.infer<
|
|
78
|
+
typeof actionTransferGeneratorFromTokenTransferSchema
|
|
79
|
+
>
|
|
117
80
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
readonly token: 'erc20' | 'erc721' | 'erc1155'
|
|
122
|
-
readonly action: ActionType
|
|
123
|
-
readonly comment: string | undefined
|
|
124
|
-
readonly target: 'from' | 'to' | 'none'
|
|
125
|
-
}
|
|
81
|
+
export type ActionTransferGeneratorFromTokenTransferWithCondition = z.infer<
|
|
82
|
+
typeof actionTransferGeneratorFromTokenTransferWithConditionSchema
|
|
83
|
+
>
|
|
126
84
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
readonly action: ActionType
|
|
131
|
-
readonly comment: string | undefined
|
|
132
|
-
readonly target: 'from' | 'to' | 'none'
|
|
133
|
-
readonly signature: LowerHex
|
|
134
|
-
readonly indexedCount: number
|
|
135
|
-
readonly token: ActionGeneratorAnyLogToken
|
|
136
|
-
readonly from: ActionGeneratorAnyLogAddress
|
|
137
|
-
readonly to: ActionGeneratorAnyLogAddress
|
|
138
|
-
readonly amount: ActionGeneratorAnyLogAmount
|
|
139
|
-
}
|
|
85
|
+
export type TokenTransferConditionAddress = z.infer<
|
|
86
|
+
typeof tokenTransferConditionAddressSchema
|
|
87
|
+
>
|
|
140
88
|
|
|
141
|
-
type
|
|
89
|
+
export type LogArgumentRawComponent = z.infer<
|
|
90
|
+
typeof logArgumentRawComponentSchema
|
|
91
|
+
>
|
|
142
92
|
|
|
143
|
-
type
|
|
144
|
-
readonly token: 'native'
|
|
145
|
-
}
|
|
93
|
+
export type Erc20RawComponent = z.infer<typeof erc20RawComponentSchema>
|
|
146
94
|
|
|
147
|
-
export type
|
|
148
|
-
| ActionGeneratorAnyLogAddressDefault
|
|
149
|
-
| ActionGeneratorAnyLogAddressFixValue
|
|
150
|
-
| ActionGeneratorAnyLogAddressTarget
|
|
151
|
-
| ActionGeneratorAnyLogAddressLog
|
|
95
|
+
export type Erc721RawComponent = z.infer<typeof erc721RawComponentSchema>
|
|
152
96
|
|
|
153
|
-
type
|
|
154
|
-
readonly type: 'from' | 'to'
|
|
155
|
-
}
|
|
97
|
+
export type Erc1155RawComponent = z.infer<typeof erc1155RawComponentSchema>
|
|
156
98
|
|
|
157
|
-
type
|
|
158
|
-
readonly type: 'fix-value'
|
|
159
|
-
readonly value: LowerHex
|
|
160
|
-
}
|
|
99
|
+
export type InternalRawComponent = z.infer<typeof internalRawComponentSchema>
|
|
161
100
|
|
|
162
|
-
type
|
|
163
|
-
readonly type: 'target'
|
|
164
|
-
readonly argIndex: number
|
|
165
|
-
}
|
|
101
|
+
export type LogArgumentComponent = z.infer<typeof logArgumentComponentSchema>
|
|
166
102
|
|
|
167
|
-
type
|
|
168
|
-
readonly type: 'log'
|
|
169
|
-
readonly signature: LowerHex
|
|
170
|
-
readonly indexedCount: number
|
|
171
|
-
readonly index: number
|
|
172
|
-
readonly argIndex: number
|
|
173
|
-
}
|
|
103
|
+
export type Erc20Component = z.infer<typeof erc20ComponentSchema>
|
|
174
104
|
|
|
175
|
-
export type
|
|
176
|
-
| ActionGeneratorAnyLogAmountDefault
|
|
177
|
-
| ActionGeneratorAnyLogAmountFixValue
|
|
178
|
-
| ActionGeneratorAnyLogAmountTarget
|
|
179
|
-
| ActionGeneratorAnyLogAmountLog
|
|
105
|
+
export type Erc721Component = z.infer<typeof erc721ComponentSchema>
|
|
180
106
|
|
|
181
|
-
type
|
|
182
|
-
readonly type: 'value'
|
|
183
|
-
}
|
|
107
|
+
export type Erc1155Component = z.infer<typeof erc1155ComponentSchema>
|
|
184
108
|
|
|
185
|
-
type
|
|
186
|
-
readonly type: 'fix-value'
|
|
187
|
-
readonly value: bigint
|
|
188
|
-
}
|
|
109
|
+
export type InternalComponent = z.infer<typeof internalComponentSchema>
|
|
189
110
|
|
|
190
|
-
type
|
|
191
|
-
readonly type: 'target'
|
|
192
|
-
readonly argIndex: number
|
|
193
|
-
}
|
|
111
|
+
export type CommentComponent = z.infer<typeof commentComponentSchema>
|
|
194
112
|
|
|
195
|
-
type
|
|
196
|
-
readonly type: 'log'
|
|
197
|
-
readonly signature: LowerHex
|
|
198
|
-
readonly indexedCount: number
|
|
199
|
-
readonly index: number
|
|
200
|
-
readonly argIndex: number
|
|
201
|
-
}
|
|
113
|
+
export type IdComponent = z.infer<typeof idComponentSchema>
|
|
202
114
|
|
|
203
|
-
|
|
204
|
-
export type ActionGeneratorSpecificTokenTransfer = {
|
|
205
|
-
readonly type: 'specific-token-transfer'
|
|
206
|
-
readonly action: ActionType
|
|
207
|
-
readonly comment: string | undefined
|
|
208
|
-
readonly transfers: readonly ActionTransferGenerator[]
|
|
209
|
-
}
|
|
115
|
+
export type AddressCondition = z.infer<typeof addressConditionSchema>
|
|
210
116
|
|
|
211
|
-
type
|
|
212
|
-
| ActionTransferGeneratorFromTokenTransfer
|
|
213
|
-
| ActionTransferGeneratorFromTokenTransferWithCondition
|
|
117
|
+
export type ValueCondition = z.infer<typeof valueConditionSchema>
|
|
214
118
|
|
|
215
|
-
export type
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
readonly transferIndex: 'any' | number
|
|
219
|
-
readonly target: 'from' | 'to' | 'none'
|
|
220
|
-
}
|
|
119
|
+
export type LogArgumentValueCondition = z.infer<
|
|
120
|
+
typeof logArgumentValueConditionSchema
|
|
121
|
+
>
|
|
221
122
|
|
|
222
|
-
export type
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
readonly conditions: readonly TokenTransferCondition[]
|
|
226
|
-
readonly target: 'from' | 'to' | 'none'
|
|
227
|
-
}
|
|
123
|
+
export type TransferCustomAddressComponent = z.infer<
|
|
124
|
+
typeof transferCustomAddressComponentSchema
|
|
125
|
+
>
|
|
228
126
|
|
|
229
|
-
type
|
|
127
|
+
export type TransferCustomAssetComponent = z.infer<
|
|
128
|
+
typeof transferCustomAssetComponentSchema
|
|
129
|
+
>
|
|
230
130
|
|
|
231
|
-
export type
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
131
|
+
export type TransferCustomAmountComponent = z.infer<
|
|
132
|
+
typeof transferCustomAmountComponentSchema
|
|
133
|
+
>
|
|
235
134
|
|
|
236
|
-
type
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
135
|
+
export type TransferComponent = z.infer<typeof transferComponentSchema>
|
|
136
|
+
|
|
137
|
+
export type Target<Price extends CryptoCurrencyPrice | undefined> = {
|
|
138
|
+
readonly targetsErc20?: readonly Erc20Transfer<Price>[]
|
|
139
|
+
readonly targetsErc721?: readonly Erc721Transfer[]
|
|
140
|
+
readonly targetsErc1155?: readonly Erc1155Transfer[]
|
|
141
|
+
readonly targetsInternal?: readonly InternalTransaction<Price>[]
|
|
142
|
+
readonly targetsLog?: readonly LogData[]
|
|
143
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { createBigDecimal } from '@0xtorch/big-decimal'
|
|
2
|
+
import type {
|
|
3
|
+
CryptoCurrencyPrice,
|
|
4
|
+
TransferCryptoCurrencyIn,
|
|
5
|
+
TransferCryptoCurrencyNone,
|
|
6
|
+
TransferCryptoCurrencyOut,
|
|
7
|
+
TransferNftIn,
|
|
8
|
+
TransferNftNone,
|
|
9
|
+
TransferNftOut,
|
|
10
|
+
} from '@0xtorch/core'
|
|
11
|
+
import type { Chain } from '../../chains'
|
|
12
|
+
import type {
|
|
13
|
+
Erc1155Transfer,
|
|
14
|
+
Erc20Transfer,
|
|
15
|
+
Erc721Transfer,
|
|
16
|
+
InternalTransaction,
|
|
17
|
+
TransactionDecoded,
|
|
18
|
+
} from '../../types'
|
|
19
|
+
import { toLowerHex } from '../../types'
|
|
20
|
+
import { createEvmAddressId } from '../../utils'
|
|
21
|
+
|
|
22
|
+
type ParseTransactionValueToActionTransferParameters = {
|
|
23
|
+
readonly chain: Chain
|
|
24
|
+
readonly transaction: TransactionDecoded<CryptoCurrencyPrice | undefined>
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const parseTransactionValueToActionTransfer = ({
|
|
28
|
+
chain,
|
|
29
|
+
transaction: { from, to, value, nativeTokenPrice },
|
|
30
|
+
}: ParseTransactionValueToActionTransferParameters): Omit<
|
|
31
|
+
| TransferCryptoCurrencyIn
|
|
32
|
+
| TransferCryptoCurrencyOut
|
|
33
|
+
| TransferCryptoCurrencyNone,
|
|
34
|
+
'direction'
|
|
35
|
+
> => ({
|
|
36
|
+
from: createEvmAddressId({
|
|
37
|
+
chainId: chain.id,
|
|
38
|
+
address: toLowerHex(from),
|
|
39
|
+
}),
|
|
40
|
+
to: createEvmAddressId({
|
|
41
|
+
chainId: chain.id,
|
|
42
|
+
address: to === null ? '0x' : toLowerHex(to),
|
|
43
|
+
}),
|
|
44
|
+
price: nativeTokenPrice,
|
|
45
|
+
asset: chain.nativeToken.currency,
|
|
46
|
+
amount: createBigDecimal(value, chain.nativeToken.decimals),
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
export const parseTransactionValueToActionTransferIn = ({
|
|
50
|
+
chain,
|
|
51
|
+
transaction,
|
|
52
|
+
}: ParseTransactionValueToActionTransferParameters): TransferCryptoCurrencyIn => ({
|
|
53
|
+
...parseTransactionValueToActionTransfer({ chain, transaction }),
|
|
54
|
+
direction: 'in',
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
export const parseTransactionValueToActionTransferOut = ({
|
|
58
|
+
chain,
|
|
59
|
+
transaction,
|
|
60
|
+
}: ParseTransactionValueToActionTransferParameters): TransferCryptoCurrencyOut => ({
|
|
61
|
+
...parseTransactionValueToActionTransfer({ chain, transaction }),
|
|
62
|
+
direction: 'out',
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
export const parseTransactionValueToActionTransferNone = ({
|
|
66
|
+
chain,
|
|
67
|
+
transaction,
|
|
68
|
+
}: ParseTransactionValueToActionTransferParameters): TransferCryptoCurrencyNone => ({
|
|
69
|
+
...parseTransactionValueToActionTransfer({ chain, transaction }),
|
|
70
|
+
direction: 'none',
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
type ParseTransactionGasToActionTransferParameters = {
|
|
74
|
+
readonly chain: Chain
|
|
75
|
+
readonly transaction: TransactionDecoded<CryptoCurrencyPrice | undefined>
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const parseTransactionGasToActionTransfer = ({
|
|
79
|
+
chain,
|
|
80
|
+
transaction: { from, gasUsed, effectiveGasPrice, nativeTokenPrice },
|
|
81
|
+
}: ParseTransactionGasToActionTransferParameters): Omit<
|
|
82
|
+
| TransferCryptoCurrencyIn
|
|
83
|
+
| TransferCryptoCurrencyOut
|
|
84
|
+
| TransferCryptoCurrencyNone,
|
|
85
|
+
'direction'
|
|
86
|
+
> => ({
|
|
87
|
+
from: createEvmAddressId({
|
|
88
|
+
chainId: chain.id,
|
|
89
|
+
address: toLowerHex(from),
|
|
90
|
+
}),
|
|
91
|
+
to: undefined,
|
|
92
|
+
price: nativeTokenPrice,
|
|
93
|
+
asset: chain.nativeToken.currency,
|
|
94
|
+
amount: createBigDecimal(
|
|
95
|
+
gasUsed * effectiveGasPrice,
|
|
96
|
+
chain.nativeToken.decimals,
|
|
97
|
+
),
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
export const parseTransactionGasToActionTransferOut = ({
|
|
101
|
+
chain,
|
|
102
|
+
transaction,
|
|
103
|
+
}: ParseTransactionGasToActionTransferParameters): TransferCryptoCurrencyOut => ({
|
|
104
|
+
...parseTransactionGasToActionTransfer({ chain, transaction }),
|
|
105
|
+
direction: 'out',
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
export const parseTransactionGasToActionTransferNone = ({
|
|
109
|
+
chain,
|
|
110
|
+
transaction,
|
|
111
|
+
}: ParseTransactionGasToActionTransferParameters): TransferCryptoCurrencyNone => ({
|
|
112
|
+
...parseTransactionGasToActionTransfer({ chain, transaction }),
|
|
113
|
+
direction: 'none',
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
type ParseInternalTransactionToActionTransferParameters = {
|
|
117
|
+
readonly chain: Chain
|
|
118
|
+
readonly internalTransaction: InternalTransaction<
|
|
119
|
+
CryptoCurrencyPrice | undefined
|
|
120
|
+
>
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const parseInternalTransactionToActionTransfer = ({
|
|
124
|
+
chain,
|
|
125
|
+
internalTransaction,
|
|
126
|
+
}: ParseInternalTransactionToActionTransferParameters): Omit<
|
|
127
|
+
| TransferCryptoCurrencyIn
|
|
128
|
+
| TransferCryptoCurrencyOut
|
|
129
|
+
| TransferCryptoCurrencyNone,
|
|
130
|
+
'direction'
|
|
131
|
+
> => ({
|
|
132
|
+
from: createEvmAddressId({
|
|
133
|
+
chainId: chain.id,
|
|
134
|
+
address: internalTransaction.from,
|
|
135
|
+
}),
|
|
136
|
+
to: createEvmAddressId({
|
|
137
|
+
chainId: chain.id,
|
|
138
|
+
address: internalTransaction.to ?? '0x',
|
|
139
|
+
}),
|
|
140
|
+
price: internalTransaction.price,
|
|
141
|
+
asset: internalTransaction.currency,
|
|
142
|
+
amount: createBigDecimal(
|
|
143
|
+
internalTransaction.value,
|
|
144
|
+
chain.nativeToken.decimals,
|
|
145
|
+
),
|
|
146
|
+
})
|
|
147
|
+
|
|
148
|
+
export const parseInternalTransactionToActionTransferIn = ({
|
|
149
|
+
chain,
|
|
150
|
+
internalTransaction,
|
|
151
|
+
}: ParseInternalTransactionToActionTransferParameters): TransferCryptoCurrencyIn => ({
|
|
152
|
+
...parseInternalTransactionToActionTransfer({ chain, internalTransaction }),
|
|
153
|
+
direction: 'in',
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
export const parseInternalTransactionToActionTransferOut = ({
|
|
157
|
+
chain,
|
|
158
|
+
internalTransaction,
|
|
159
|
+
}: ParseInternalTransactionToActionTransferParameters): TransferCryptoCurrencyOut => ({
|
|
160
|
+
...parseInternalTransactionToActionTransfer({ chain, internalTransaction }),
|
|
161
|
+
direction: 'out',
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
export const parseInternalTransactionToActionTransferNone = ({
|
|
165
|
+
chain,
|
|
166
|
+
internalTransaction,
|
|
167
|
+
}: ParseInternalTransactionToActionTransferParameters): TransferCryptoCurrencyNone => ({
|
|
168
|
+
...parseInternalTransactionToActionTransfer({ chain, internalTransaction }),
|
|
169
|
+
direction: 'none',
|
|
170
|
+
})
|
|
171
|
+
|
|
172
|
+
type ParseErc20TransferToActionTransferParameters = {
|
|
173
|
+
readonly chainId: number
|
|
174
|
+
readonly transfer: Erc20Transfer<CryptoCurrencyPrice | undefined>
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const parseErc20TransferToActionTransfer = ({
|
|
178
|
+
chainId,
|
|
179
|
+
transfer,
|
|
180
|
+
}: ParseErc20TransferToActionTransferParameters): Omit<
|
|
181
|
+
| TransferCryptoCurrencyIn
|
|
182
|
+
| TransferCryptoCurrencyOut
|
|
183
|
+
| TransferCryptoCurrencyNone,
|
|
184
|
+
'direction'
|
|
185
|
+
> => ({
|
|
186
|
+
from: createEvmAddressId({ chainId, address: transfer.from }),
|
|
187
|
+
to: createEvmAddressId({ chainId, address: transfer.to }),
|
|
188
|
+
price: transfer.price,
|
|
189
|
+
asset: transfer.token.currency,
|
|
190
|
+
amount: createBigDecimal(transfer.value, transfer.token.decimals),
|
|
191
|
+
})
|
|
192
|
+
|
|
193
|
+
export const parseErc20TransferToActionTransferIn = ({
|
|
194
|
+
chainId,
|
|
195
|
+
transfer,
|
|
196
|
+
}: ParseErc20TransferToActionTransferParameters): TransferCryptoCurrencyIn => ({
|
|
197
|
+
...parseErc20TransferToActionTransfer({ chainId, transfer }),
|
|
198
|
+
direction: 'in',
|
|
199
|
+
})
|
|
200
|
+
|
|
201
|
+
export const parseErc20TransferToActionTransferOut = ({
|
|
202
|
+
chainId,
|
|
203
|
+
transfer,
|
|
204
|
+
}: ParseErc20TransferToActionTransferParameters): TransferCryptoCurrencyOut => ({
|
|
205
|
+
...parseErc20TransferToActionTransfer({ chainId, transfer }),
|
|
206
|
+
direction: 'out',
|
|
207
|
+
})
|
|
208
|
+
|
|
209
|
+
export const parseErc20TransferToActionTransferNone = ({
|
|
210
|
+
chainId,
|
|
211
|
+
transfer,
|
|
212
|
+
}: ParseErc20TransferToActionTransferParameters): TransferCryptoCurrencyNone => ({
|
|
213
|
+
...parseErc20TransferToActionTransfer({ chainId, transfer }),
|
|
214
|
+
direction: 'none',
|
|
215
|
+
})
|
|
216
|
+
|
|
217
|
+
type ParseErc721TransferToActionTransferParameters = {
|
|
218
|
+
readonly chainId: number
|
|
219
|
+
readonly transfer: Erc721Transfer
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
const parseErc721TransferToActionTransfer = ({
|
|
223
|
+
chainId,
|
|
224
|
+
transfer,
|
|
225
|
+
}: ParseErc721TransferToActionTransferParameters): Omit<
|
|
226
|
+
TransferNftIn | TransferNftOut | TransferNftNone,
|
|
227
|
+
'direction'
|
|
228
|
+
> => ({
|
|
229
|
+
from: createEvmAddressId({ chainId, address: transfer.from }),
|
|
230
|
+
to: createEvmAddressId({ chainId, address: transfer.to }),
|
|
231
|
+
price: undefined,
|
|
232
|
+
asset: transfer.nft,
|
|
233
|
+
amount: createBigDecimal(1n),
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
export const parseErc721TransferToActionTransferIn = ({
|
|
237
|
+
chainId,
|
|
238
|
+
transfer,
|
|
239
|
+
}: ParseErc721TransferToActionTransferParameters): TransferNftIn => ({
|
|
240
|
+
...parseErc721TransferToActionTransfer({ chainId, transfer }),
|
|
241
|
+
direction: 'in',
|
|
242
|
+
})
|
|
243
|
+
|
|
244
|
+
export const parseErc721TransferToActionTransferOut = ({
|
|
245
|
+
chainId,
|
|
246
|
+
transfer,
|
|
247
|
+
}: ParseErc721TransferToActionTransferParameters): TransferNftOut => ({
|
|
248
|
+
...parseErc721TransferToActionTransfer({ chainId, transfer }),
|
|
249
|
+
direction: 'out',
|
|
250
|
+
})
|
|
251
|
+
|
|
252
|
+
export const parseErc721TransferToActionTransferNone = ({
|
|
253
|
+
chainId,
|
|
254
|
+
transfer,
|
|
255
|
+
}: ParseErc721TransferToActionTransferParameters): TransferNftNone => ({
|
|
256
|
+
...parseErc721TransferToActionTransfer({ chainId, transfer }),
|
|
257
|
+
direction: 'none',
|
|
258
|
+
})
|
|
259
|
+
|
|
260
|
+
type ParseErc1155TransferToActionTransferParameters = {
|
|
261
|
+
readonly chainId: number
|
|
262
|
+
readonly transfer: Erc1155Transfer
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const parseErc1155TransferToActionTransfer = ({
|
|
266
|
+
chainId,
|
|
267
|
+
transfer,
|
|
268
|
+
}: ParseErc1155TransferToActionTransferParameters): Omit<
|
|
269
|
+
TransferNftIn | TransferNftOut | TransferNftNone,
|
|
270
|
+
'direction'
|
|
271
|
+
> => ({
|
|
272
|
+
from: createEvmAddressId({ chainId, address: transfer.from }),
|
|
273
|
+
to: createEvmAddressId({ chainId, address: transfer.to }),
|
|
274
|
+
price: undefined,
|
|
275
|
+
asset: transfer.nft,
|
|
276
|
+
amount: createBigDecimal(transfer.value),
|
|
277
|
+
})
|
|
278
|
+
|
|
279
|
+
export const parseErc1155TransferToActionTransferIn = ({
|
|
280
|
+
chainId,
|
|
281
|
+
transfer,
|
|
282
|
+
}: ParseErc1155TransferToActionTransferParameters): TransferNftIn => ({
|
|
283
|
+
...parseErc1155TransferToActionTransfer({ chainId, transfer }),
|
|
284
|
+
direction: 'in',
|
|
285
|
+
})
|
|
286
|
+
|
|
287
|
+
export const parseErc1155TransferToActionTransferOut = ({
|
|
288
|
+
chainId,
|
|
289
|
+
transfer,
|
|
290
|
+
}: ParseErc1155TransferToActionTransferParameters): TransferNftOut => ({
|
|
291
|
+
...parseErc1155TransferToActionTransfer({ chainId, transfer }),
|
|
292
|
+
direction: 'out',
|
|
293
|
+
})
|
|
294
|
+
|
|
295
|
+
export const parseErc1155TransferToActionTransferNone = ({
|
|
296
|
+
chainId,
|
|
297
|
+
transfer,
|
|
298
|
+
}: ParseErc1155TransferToActionTransferParameters): TransferNftNone => ({
|
|
299
|
+
...parseErc1155TransferToActionTransfer({ chainId, transfer }),
|
|
300
|
+
direction: 'none',
|
|
301
|
+
})
|