@0xtorch/evm 0.0.59 → 0.0.61
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/_cjs/analyzer/analyze.js +23 -7
- package/_cjs/analyzer/analyze.js.map +1 -1
- package/_cjs/analyzer/index.js +3 -1
- package/_cjs/analyzer/index.js.map +1 -1
- package/_cjs/analyzer/json/analyze.js +34 -38
- package/_cjs/analyzer/json/analyze.js.map +1 -1
- package/_cjs/analyzer/json/components/comment.js +2 -2
- package/_cjs/analyzer/json/components/comment.js.map +1 -1
- package/_cjs/analyzer/json/components/erc1155.js +4 -6
- package/_cjs/analyzer/json/components/erc1155.js.map +1 -1
- package/_cjs/analyzer/json/components/erc20.js +4 -6
- package/_cjs/analyzer/json/components/erc20.js.map +1 -1
- package/_cjs/analyzer/json/components/erc721.js +3 -5
- package/_cjs/analyzer/json/components/erc721.js.map +1 -1
- package/_cjs/analyzer/json/components/id.js +2 -2
- package/_cjs/analyzer/json/components/id.js.map +1 -1
- package/_cjs/analyzer/json/components/internal.js +4 -6
- package/_cjs/analyzer/json/components/internal.js.map +1 -1
- package/_cjs/analyzer/json/components/logArgument.js +15 -17
- package/_cjs/analyzer/json/components/logArgument.js.map +1 -1
- package/_cjs/analyzer/json/components/transfer.js +4 -6
- package/_cjs/analyzer/json/components/transfer.js.map +1 -1
- package/_cjs/analyzer/json/condition/address.js +1 -1
- package/_cjs/analyzer/json/condition/address.js.map +1 -1
- package/_cjs/analyzer/json/condition/value.js +5 -7
- package/_cjs/analyzer/json/condition/value.js.map +1 -1
- package/_cjs/analyzer/json/generator.js +1 -1
- package/_cjs/analyzer/json/generator.js.map +1 -1
- package/_cjs/analyzer/json/schemas/generator.js +6 -2
- package/_cjs/analyzer/json/schemas/generator.js.map +1 -1
- package/_cjs/analyzer/seaport/analyze.js +82 -106
- package/_cjs/analyzer/seaport/analyze.js.map +1 -1
- package/_cjs/analyzer/swap/analyze.js +5 -7
- package/_cjs/analyzer/swap/analyze.js.map +1 -1
- package/_cjs/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
- package/_cjs/analyzer/transfer/analyze.js +11 -98
- package/_cjs/analyzer/transfer/analyze.js.map +1 -1
- package/_cjs/analyzer/utils/createTransfersByTransaction.js +52 -0
- package/_cjs/analyzer/utils/createTransfersByTransaction.js.map +1 -0
- package/_cjs/clients/externals/viem/createViemInstance.js +2 -2
- package/_cjs/clients/externals/viem/createViemInstance.js.map +1 -1
- package/_cjs/clients/externals/viem/middleware.js +3 -6
- package/_cjs/clients/externals/viem/middleware.js.map +1 -1
- package/_cjs/decoder/decode.js +3 -3
- package/_cjs/decoder/decode.js.map +1 -1
- package/_cjs/decoder/parseErc1155TransferSingleLogs.js +2 -2
- package/_cjs/decoder/parseErc1155TransferSingleLogs.js.map +1 -1
- package/_cjs/decoder/parseErc20TransferLogs.js +2 -2
- package/_cjs/decoder/parseErc20TransferLogs.js.map +1 -1
- package/_cjs/decoder/parseErc721TransferLogs.js +3 -3
- package/_cjs/decoder/parseErc721TransferLogs.js.map +1 -1
- package/_cjs/decoder/tests.js +1 -1
- package/_cjs/decoder/tests.js.map +1 -1
- package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js +1 -1
- package/_cjs/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +1 -1
- package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +1 -1
- package/_cjs/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -1
- package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js +1 -1
- package/_cjs/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +1 -1
- package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +1 -1
- package/_cjs/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -1
- package/_cjs/index.js +4 -3
- package/_cjs/index.js.map +1 -1
- package/_cjs/tests.js +6 -2
- package/_cjs/tests.js.map +1 -1
- package/_esm/analyzer/analyze.js +25 -8
- package/_esm/analyzer/analyze.js.map +1 -1
- package/_esm/analyzer/axieMarketplace/analyze.js +1 -1
- package/_esm/analyzer/axieMarketplace/analyze.js.map +1 -1
- package/_esm/analyzer/index.js +1 -0
- package/_esm/analyzer/index.js.map +1 -1
- package/_esm/analyzer/json/analyze.js +34 -38
- package/_esm/analyzer/json/analyze.js.map +1 -1
- package/_esm/analyzer/json/components/comment.js +2 -2
- package/_esm/analyzer/json/components/comment.js.map +1 -1
- package/_esm/analyzer/json/components/erc1155.js +4 -6
- package/_esm/analyzer/json/components/erc1155.js.map +1 -1
- package/_esm/analyzer/json/components/erc20.js +4 -6
- package/_esm/analyzer/json/components/erc20.js.map +1 -1
- package/_esm/analyzer/json/components/erc721.js +3 -5
- package/_esm/analyzer/json/components/erc721.js.map +1 -1
- package/_esm/analyzer/json/components/id.js +2 -2
- package/_esm/analyzer/json/components/id.js.map +1 -1
- package/_esm/analyzer/json/components/internal.js +4 -6
- package/_esm/analyzer/json/components/internal.js.map +1 -1
- package/_esm/analyzer/json/components/logArgument.js +15 -17
- package/_esm/analyzer/json/components/logArgument.js.map +1 -1
- package/_esm/analyzer/json/components/targetAsset.js +1 -1
- package/_esm/analyzer/json/components/targetAsset.js.map +1 -1
- package/_esm/analyzer/json/components/transfer.js +4 -6
- package/_esm/analyzer/json/components/transfer.js.map +1 -1
- package/_esm/analyzer/json/condition/address.js +1 -1
- package/_esm/analyzer/json/condition/address.js.map +1 -1
- package/_esm/analyzer/json/condition/value.js +5 -7
- package/_esm/analyzer/json/condition/value.js.map +1 -1
- package/_esm/analyzer/json/generator.js +1 -1
- package/_esm/analyzer/json/generator.js.map +1 -1
- package/_esm/analyzer/json/schemas/generator.js +6 -2
- package/_esm/analyzer/json/schemas/generator.js.map +1 -1
- package/_esm/analyzer/seaport/analyze.js +92 -116
- package/_esm/analyzer/seaport/analyze.js.map +1 -1
- package/_esm/analyzer/spam/analyze.js +1 -1
- package/_esm/analyzer/spam/analyze.js.map +1 -1
- package/_esm/analyzer/swap/analyze.js +5 -7
- package/_esm/analyzer/swap/analyze.js.map +1 -1
- package/_esm/analyzer/swap/traderJoeLBPairSwap.js +0 -1
- package/_esm/analyzer/swap/traderJoeLBPairSwap.js.map +1 -1
- package/_esm/analyzer/transfer/analyze.js +11 -98
- package/_esm/analyzer/transfer/analyze.js.map +1 -1
- package/_esm/analyzer/utils/createTransfersByTransaction.js +51 -0
- package/_esm/analyzer/utils/createTransfersByTransaction.js.map +1 -0
- package/_esm/clients/externals/viem/createViemInstance.js +3 -3
- package/_esm/clients/externals/viem/createViemInstance.js.map +1 -1
- package/_esm/clients/externals/viem/middleware.js +4 -7
- package/_esm/clients/externals/viem/middleware.js.map +1 -1
- package/_esm/decoder/decode.js +6 -4
- package/_esm/decoder/decode.js.map +1 -1
- package/_esm/decoder/parseErc1155TransferSingleLogs.js +2 -2
- package/_esm/decoder/parseErc1155TransferSingleLogs.js.map +1 -1
- package/_esm/decoder/parseErc20TransferLogs.js +2 -2
- package/_esm/decoder/parseErc20TransferLogs.js.map +1 -1
- package/_esm/decoder/parseErc721TransferLogs.js +3 -3
- package/_esm/decoder/parseErc721TransferLogs.js.map +1 -1
- package/_esm/decoder/tests.js +1 -2
- package/_esm/decoder/tests.js.map +1 -1
- package/_esm/explorers/definitions/etherscan.js +1 -1
- package/_esm/explorers/definitions/etherscan.js.map +1 -1
- package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js +1 -1
- package/_esm/explorers/externals/blockscout/getInternalTransactionsByAddress.js.map +1 -1
- package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js +1 -1
- package/_esm/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.js.map +1 -1
- package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js +1 -1
- package/_esm/explorers/externals/etherscan/getInternalTransactionsByAddress.js.map +1 -1
- package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js +1 -1
- package/_esm/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.js.map +1 -1
- package/_esm/index.js +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/tests.js +5 -1
- package/_esm/tests.js.map +1 -1
- package/_types/analyzer/analyze.d.ts +2 -10
- package/_types/analyzer/analyze.d.ts.map +1 -1
- package/_types/analyzer/analyzer.d.ts +1 -9
- package/_types/analyzer/analyzer.d.ts.map +1 -1
- package/_types/analyzer/axieMarketplace/analyze.d.ts +2 -9
- package/_types/analyzer/axieMarketplace/analyze.d.ts.map +1 -1
- package/_types/analyzer/fail/analyze.d.ts +2 -9
- package/_types/analyzer/fail/analyze.d.ts.map +1 -1
- package/_types/analyzer/gasFee/analyze.d.ts +2 -9
- package/_types/analyzer/gasFee/analyze.d.ts.map +1 -1
- package/_types/analyzer/index.d.ts +1 -0
- package/_types/analyzer/index.d.ts.map +1 -1
- package/_types/analyzer/json/analyze.d.ts +2 -9
- package/_types/analyzer/json/analyze.d.ts.map +1 -1
- package/_types/analyzer/json/components/comment.d.ts +1 -9
- package/_types/analyzer/json/components/comment.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc1155.d.ts +2 -18
- package/_types/analyzer/json/components/erc1155.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc1155Raw.d.ts +1 -9
- package/_types/analyzer/json/components/erc1155Raw.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc20.d.ts +2 -18
- package/_types/analyzer/json/components/erc20.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc20Raw.d.ts +1 -9
- package/_types/analyzer/json/components/erc20Raw.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc721.d.ts +2 -18
- package/_types/analyzer/json/components/erc721.d.ts.map +1 -1
- package/_types/analyzer/json/components/erc721Raw.d.ts +1 -9
- package/_types/analyzer/json/components/erc721Raw.d.ts.map +1 -1
- package/_types/analyzer/json/components/id.d.ts +1 -9
- package/_types/analyzer/json/components/id.d.ts.map +1 -1
- package/_types/analyzer/json/components/internal.d.ts +2 -18
- package/_types/analyzer/json/components/internal.d.ts.map +1 -1
- package/_types/analyzer/json/components/internalRaw.d.ts +1 -9
- package/_types/analyzer/json/components/internalRaw.d.ts.map +1 -1
- package/_types/analyzer/json/components/logArgument.d.ts +2 -18
- package/_types/analyzer/json/components/logArgument.d.ts.map +1 -1
- package/_types/analyzer/json/components/logArgumentRaw.d.ts +1 -9
- package/_types/analyzer/json/components/logArgumentRaw.d.ts.map +1 -1
- package/_types/analyzer/json/components/targetAsset.d.ts +1 -9
- package/_types/analyzer/json/components/targetAsset.d.ts.map +1 -1
- package/_types/analyzer/json/components/transfer.d.ts +1 -9
- package/_types/analyzer/json/components/transfer.d.ts.map +1 -1
- package/_types/analyzer/json/condition/address.d.ts +1 -9
- package/_types/analyzer/json/condition/address.d.ts.map +1 -1
- package/_types/analyzer/json/condition/argumentValue.d.ts +1 -9
- package/_types/analyzer/json/condition/argumentValue.d.ts.map +1 -1
- package/_types/analyzer/json/condition/value.d.ts +1 -9
- package/_types/analyzer/json/condition/value.d.ts.map +1 -1
- package/_types/analyzer/json/generator.d.ts +1 -9
- package/_types/analyzer/json/generator.d.ts.map +1 -1
- package/_types/analyzer/json/schemas/generator.d.ts.map +1 -1
- package/_types/analyzer/json/types.d.ts +2 -2
- package/_types/analyzer/json/types.d.ts.map +1 -1
- package/_types/analyzer/parsers/transfer.d.ts +1 -1
- package/_types/analyzer/parsers/transfer.d.ts.map +1 -1
- package/_types/analyzer/seaport/analyze.d.ts +2 -9
- package/_types/analyzer/seaport/analyze.d.ts.map +1 -1
- package/_types/analyzer/spam/analyze.d.ts +2 -9
- package/_types/analyzer/spam/analyze.d.ts.map +1 -1
- package/_types/analyzer/swap/analyze.d.ts +2 -9
- package/_types/analyzer/swap/analyze.d.ts.map +1 -1
- package/_types/analyzer/swap/traderJoeLBPairSwap.d.ts.map +1 -1
- package/_types/analyzer/transfer/analyze.d.ts +2 -9
- package/_types/analyzer/transfer/analyze.d.ts.map +1 -1
- package/_types/analyzer/utils/createTransfersByTransaction.d.ts +5 -0
- package/_types/analyzer/utils/createTransfersByTransaction.d.ts.map +1 -0
- package/_types/chains/definitions/arbitrumOne.d.ts.map +1 -1
- package/_types/chains/definitions/astar.d.ts.map +1 -1
- package/_types/chains/definitions/avalancheC.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/bsc.d.ts.map +1 -1
- package/_types/chains/definitions/defineChain.d.ts.map +1 -1
- package/_types/chains/definitions/ethereum.d.ts.map +1 -1
- package/_types/chains/definitions/fantom.d.ts.map +1 -1
- package/_types/chains/definitions/linea.d.ts.map +1 -1
- package/_types/chains/definitions/mantaPacific.d.ts.map +1 -1
- package/_types/chains/definitions/mantle.d.ts.map +1 -1
- package/_types/chains/definitions/metis.d.ts.map +1 -1
- package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
- package/_types/chains/definitions/moonriver.d.ts.map +1 -1
- package/_types/chains/definitions/oasys.d.ts.map +1 -1
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/polygonPos.d.ts.map +1 -1
- package/_types/chains/definitions/ronin.d.ts.map +1 -1
- package/_types/chains/externals/defillama/getBlockOfTimestamp.d.ts.map +1 -1
- package/_types/clients/definitions/defineClient.d.ts.map +1 -1
- package/_types/clients/definitions/viemClient.d.ts +14 -14
- package/_types/clients/definitions/viemClient.d.ts.map +1 -1
- package/_types/clients/externals/viem/createViemInstance.d.ts +3 -3
- package/_types/clients/externals/viem/createViemInstance.d.ts.map +1 -1
- package/_types/clients/externals/viem/estimateFeesPerGas.d.ts.map +1 -1
- package/_types/clients/externals/viem/getBalance.d.ts.map +1 -1
- package/_types/clients/externals/viem/getBlock.d.ts +1 -1
- package/_types/clients/externals/viem/getBlock.d.ts.map +1 -1
- package/_types/clients/externals/viem/getBlockNumber.d.ts.map +1 -1
- package/_types/clients/externals/viem/getEventLogs.d.ts.map +1 -1
- package/_types/clients/externals/viem/getTransaction.d.ts.map +1 -1
- package/_types/clients/externals/viem/getTransactionCount.d.ts.map +1 -1
- package/_types/clients/externals/viem/getTransactionReceipt.d.ts.map +1 -1
- package/_types/clients/externals/viem/middleware.d.ts.map +1 -1
- package/_types/clients/externals/viem/multicall.d.ts.map +1 -1
- package/_types/clients/externals/viem/readContract.d.ts.map +1 -1
- package/_types/creates/createEvmAccount.d.ts +1 -1
- package/_types/creates/createEvmAccount.d.ts.map +1 -1
- package/_types/decoder/decode.d.ts.map +1 -1
- package/_types/decoder/parseErc1155TransferSingleLogs.d.ts.map +1 -1
- package/_types/decoder/parseErc20TransferLogs.d.ts.map +1 -1
- package/_types/decoder/parseErc721TransferLogs.d.ts.map +1 -1
- package/_types/decoder/tests.d.ts +2 -39
- package/_types/decoder/tests.d.ts.map +1 -1
- package/_types/explorers/definitions/blockscout.d.ts +34 -79
- package/_types/explorers/definitions/blockscout.d.ts.map +1 -1
- package/_types/explorers/definitions/defineExplorer.d.ts.map +1 -1
- package/_types/explorers/definitions/etherscan.d.ts +34 -79
- package/_types/explorers/definitions/etherscan.d.ts.map +1 -1
- package/_types/explorers/definitions/roninExplorer.d.ts +34 -79
- package/_types/explorers/definitions/roninExplorer.d.ts.map +1 -1
- package/_types/explorers/definitions/routescan.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getBlockNumberOfTimestamp.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getContractByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getContractCreations.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getEventLogsByAddressAndTopics.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getInternalTransactionsByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getNormalTransactionsByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/getTokenTransfersByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/blockscout/middleware.d.ts.map +1 -1
- package/_types/explorers/externals/defillama/getBlockNumberOfTimestamp.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getBlockNumberOfTimestamp.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getContractByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getContractCreations.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getErc1155TokenTransfersByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getErc20TokenTransfersByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getErc721TokenTransfersByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getEventLogsByAddressAndTopics.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getInternalTransactionsByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/getNormalTransactionsByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/etherscan/middleware.d.ts.map +1 -1
- package/_types/explorers/externals/roninExplorer/getInternalTransactionByHash.d.ts.map +1 -1
- package/_types/explorers/externals/roninExplorer/getNormalTransactionsByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/roninExplorer/getTokenTransfersByAddress.d.ts.map +1 -1
- package/_types/explorers/externals/roninExplorer/middleware.d.ts.map +1 -1
- package/_types/getContractAbi.d.ts.map +1 -1
- package/_types/getTransactionDetail.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/tests.d.ts +5 -1
- package/_types/tests.d.ts.map +1 -1
- package/_types/types/hex.d.ts +1 -1
- package/_types/types/hex.d.ts.map +1 -1
- package/_types/types/transaction.d.ts +1 -1
- package/_types/types/transaction.d.ts.map +1 -1
- package/_types/utils/create.d.ts +3 -3
- package/_types/utils/create.d.ts.map +1 -1
- package/_types/utils/types.d.ts.map +1 -1
- package/analyzer/analyze.ts +32 -8
- package/analyzer/axieMarketplace/analyze.ts +2 -2
- package/analyzer/index.ts +1 -0
- package/analyzer/json/analyze.ts +37 -39
- package/analyzer/json/components/comment.ts +4 -2
- package/analyzer/json/components/erc1155.ts +6 -6
- package/analyzer/json/components/erc20.ts +6 -6
- package/analyzer/json/components/erc721.ts +4 -5
- package/analyzer/json/components/id.ts +4 -2
- package/analyzer/json/components/internal.ts +6 -6
- package/analyzer/json/components/logArgument.ts +16 -17
- package/analyzer/json/components/targetAsset.ts +1 -1
- package/analyzer/json/components/transfer.ts +6 -5
- package/analyzer/json/condition/address.ts +1 -1
- package/analyzer/json/condition/value.ts +8 -6
- package/analyzer/json/generator.ts +2 -2
- package/analyzer/json/schemas/generator.ts +6 -2
- package/analyzer/json/types.ts +3 -3
- package/analyzer/parsers/transfer.ts +1 -1
- package/analyzer/seaport/analyze.ts +136 -137
- package/analyzer/spam/analyze.ts +1 -1
- package/analyzer/swap/analyze.ts +6 -6
- package/analyzer/swap/traderJoeLBPairSwap.ts +0 -1
- package/analyzer/transfer/analyze.ts +11 -116
- package/analyzer/utils/createTransfersByTransaction.ts +89 -0
- package/clients/externals/viem/createViemInstance.ts +4 -3
- package/clients/externals/viem/middleware.ts +6 -7
- package/decoder/decode.ts +7 -5
- package/decoder/parseErc1155TransferSingleLogs.ts +3 -3
- package/decoder/parseErc20TransferLogs.ts +2 -2
- package/decoder/parseErc721TransferLogs.ts +3 -3
- package/decoder/tests.ts +2 -2
- package/explorers/definitions/etherscan.ts +1 -1
- package/explorers/externals/blockscout/getInternalTransactionsByAddress.ts +1 -1
- package/explorers/externals/blockscout/getInternalTransactionsByTransactionHash.ts +1 -1
- package/explorers/externals/etherscan/getInternalTransactionsByAddress.ts +1 -1
- package/explorers/externals/etherscan/getInternalTransactionsByTransactionHash.ts +1 -1
- package/index.ts +1 -0
- package/package.json +3 -5
- package/tests.ts +9 -1
- package/types/transaction.ts +1 -1
- package/utils/create.ts +1 -1
- package/utils/types.ts +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { CryptoCurrencyPrice, Transfer } from '@0xtorch/core'
|
|
2
|
+
import type { Chain } from '../../chains'
|
|
3
|
+
import type { TransactionDecoded } from '../../types'
|
|
4
|
+
import {
|
|
5
|
+
parseErc20TransferToActionTransferNone,
|
|
6
|
+
parseErc721TransferToActionTransferNone,
|
|
7
|
+
parseErc1155TransferToActionTransferNone,
|
|
8
|
+
parseInternalTransactionToActionTransferNone,
|
|
9
|
+
parseTransactionValueToActionTransferNone,
|
|
10
|
+
} from '../parsers/transfer'
|
|
11
|
+
|
|
12
|
+
export const createTransfersByTransaction = <
|
|
13
|
+
Price extends CryptoCurrencyPrice | undefined,
|
|
14
|
+
>(
|
|
15
|
+
chain: Chain,
|
|
16
|
+
transaction: TransactionDecoded<Price>,
|
|
17
|
+
): readonly Transfer[] => {
|
|
18
|
+
const {
|
|
19
|
+
to,
|
|
20
|
+
value,
|
|
21
|
+
internalTransactions,
|
|
22
|
+
erc20Transfers,
|
|
23
|
+
erc721Transfers,
|
|
24
|
+
erc1155Transfers,
|
|
25
|
+
} = transaction
|
|
26
|
+
|
|
27
|
+
const mut_transfers: Transfer[] = []
|
|
28
|
+
|
|
29
|
+
// value
|
|
30
|
+
if (value > 0 && to !== null) {
|
|
31
|
+
mut_transfers.push(
|
|
32
|
+
parseTransactionValueToActionTransferNone({ chain, transaction }),
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// internal transaction
|
|
37
|
+
for (const internalTransaction of internalTransactions.filter(
|
|
38
|
+
({ value }) => value > 0,
|
|
39
|
+
)) {
|
|
40
|
+
if (internalTransaction.to === undefined) {
|
|
41
|
+
continue
|
|
42
|
+
}
|
|
43
|
+
mut_transfers.push(
|
|
44
|
+
parseInternalTransactionToActionTransferNone({
|
|
45
|
+
chain,
|
|
46
|
+
internalTransaction,
|
|
47
|
+
}),
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// ERC20,721,1155 transfer
|
|
52
|
+
for (const transfer of [
|
|
53
|
+
...erc20Transfers,
|
|
54
|
+
...erc721Transfers,
|
|
55
|
+
...erc1155Transfers,
|
|
56
|
+
].sort((a, b) => a.logIndex - b.logIndex)) {
|
|
57
|
+
switch (transfer.type) {
|
|
58
|
+
case 'Erc20Transfer': {
|
|
59
|
+
mut_transfers.push(
|
|
60
|
+
parseErc20TransferToActionTransferNone({
|
|
61
|
+
chainId: chain.id,
|
|
62
|
+
transfer,
|
|
63
|
+
}),
|
|
64
|
+
)
|
|
65
|
+
break
|
|
66
|
+
}
|
|
67
|
+
case 'Erc721Transfer': {
|
|
68
|
+
mut_transfers.push(
|
|
69
|
+
parseErc721TransferToActionTransferNone({
|
|
70
|
+
chainId: chain.id,
|
|
71
|
+
transfer,
|
|
72
|
+
}),
|
|
73
|
+
)
|
|
74
|
+
break
|
|
75
|
+
}
|
|
76
|
+
case 'Erc1155Transfer': {
|
|
77
|
+
mut_transfers.push(
|
|
78
|
+
parseErc1155TransferToActionTransferNone({
|
|
79
|
+
chainId: chain.id,
|
|
80
|
+
transfer,
|
|
81
|
+
}),
|
|
82
|
+
)
|
|
83
|
+
break
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return mut_transfers
|
|
89
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { AbiEvent } from 'abitype'
|
|
2
2
|
import type { Chain, GetLogsReturnType, PublicClient } from 'viem'
|
|
3
3
|
import {
|
|
4
|
+
http,
|
|
4
5
|
HttpRequestError,
|
|
5
6
|
InvalidInputRpcError,
|
|
6
7
|
TransactionReceiptNotFoundError,
|
|
7
8
|
createPublicClient,
|
|
8
|
-
http,
|
|
9
9
|
} from 'viem'
|
|
10
10
|
import type { HttpRpc } from '../../../chains'
|
|
11
11
|
import type { LowerHex } from '../../../types'
|
|
@@ -39,7 +39,7 @@ export const createViemInstance = (() => {
|
|
|
39
39
|
endpointChainIds.get(endpoint) === chainId &&
|
|
40
40
|
!busyEndpoints.has(endpoint) &&
|
|
41
41
|
(!cooldownEndpoints.has(endpoint) ||
|
|
42
|
-
cooldownEndpoints.get(endpoint)
|
|
42
|
+
(cooldownEndpoints.get(endpoint) ?? 0) <= now) &&
|
|
43
43
|
(rpcCondition?.isArchive !== true ||
|
|
44
44
|
endpointIsArchives.get(endpoint) === true) &&
|
|
45
45
|
(rpcCondition?.getLogsIsUsable !== true ||
|
|
@@ -91,7 +91,8 @@ export const createViemInstance = (() => {
|
|
|
91
91
|
console.debug(error)
|
|
92
92
|
cooldownEndpoint(endpoint)
|
|
93
93
|
return await call(chain, caller, timeout - (Date.now() - start))
|
|
94
|
-
}
|
|
94
|
+
}
|
|
95
|
+
if (
|
|
95
96
|
error instanceof TransactionReceiptNotFoundError ||
|
|
96
97
|
error instanceof HttpRequestError ||
|
|
97
98
|
error instanceof InvalidInputRpcError
|
|
@@ -7,10 +7,10 @@ import type {
|
|
|
7
7
|
Chain as ViemChain,
|
|
8
8
|
} from 'viem'
|
|
9
9
|
import {
|
|
10
|
+
http,
|
|
10
11
|
CallExecutionError,
|
|
11
12
|
ContractFunctionExecutionError,
|
|
12
13
|
createPublicClient,
|
|
13
|
-
http,
|
|
14
14
|
} from 'viem'
|
|
15
15
|
import type { HttpRpc } from '../../../chains'
|
|
16
16
|
import type { LowerHex } from '../../../types'
|
|
@@ -191,13 +191,12 @@ const selectAvailableRpc = (
|
|
|
191
191
|
)
|
|
192
192
|
if (availableRpcs.length === 0) {
|
|
193
193
|
return undefined
|
|
194
|
-
} else if (onlyGetLogsIsUsable) {
|
|
195
|
-
return availableRpcs.toSorted((a, b) =>
|
|
196
|
-
Number(b.rpc.getLogsMaxBlockRange - a.rpc.getLogsMaxBlockRange),
|
|
197
|
-
)[0].rpc
|
|
198
|
-
} else {
|
|
199
|
-
return availableRpcs[0].rpc
|
|
200
194
|
}
|
|
195
|
+
return onlyGetLogsIsUsable
|
|
196
|
+
? availableRpcs.toSorted((a, b) =>
|
|
197
|
+
Number(b.rpc.getLogsMaxBlockRange - a.rpc.getLogsMaxBlockRange),
|
|
198
|
+
)[0].rpc
|
|
199
|
+
: availableRpcs[0].rpc
|
|
201
200
|
}
|
|
202
201
|
|
|
203
202
|
type PublicClient = ReturnType<typeof createPublicClient>
|
package/decoder/decode.ts
CHANGED
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
zeroAddress,
|
|
9
9
|
} from 'viem'
|
|
10
10
|
import { z } from 'zod'
|
|
11
|
-
import {
|
|
11
|
+
import { erc20Abi, erc721Abi, erc1155Abi, wethAbi } from '../abis'
|
|
12
12
|
import type { Chain } from '../chains'
|
|
13
13
|
import type {
|
|
14
|
-
Erc1155Transfer,
|
|
15
14
|
Erc20Token,
|
|
16
15
|
Erc20Transfer,
|
|
17
16
|
Erc721Token,
|
|
18
17
|
Erc721Transfer,
|
|
18
|
+
Erc1155Transfer,
|
|
19
19
|
Hex,
|
|
20
20
|
InputData,
|
|
21
21
|
LogData,
|
|
@@ -24,9 +24,9 @@ import type {
|
|
|
24
24
|
} from '../types'
|
|
25
25
|
import { parsedLogSchema, toLowerHex } from '../types'
|
|
26
26
|
import { checkTimeout, createErc1155NftId, createEvmCurrencyId } from '../utils'
|
|
27
|
-
import { parseErc1155TransferSingleLogs } from './parseErc1155TransferSingleLogs'
|
|
28
27
|
import { parseErc20TransferLogs } from './parseErc20TransferLogs'
|
|
29
28
|
import { parseErc721TransferLogs } from './parseErc721TransferLogs'
|
|
29
|
+
import { parseErc1155TransferSingleLogs } from './parseErc1155TransferSingleLogs'
|
|
30
30
|
import type { Decode } from './types'
|
|
31
31
|
|
|
32
32
|
export const decode: Decode = async (
|
|
@@ -132,6 +132,7 @@ export const decode: Decode = async (
|
|
|
132
132
|
.map((transfer) => ({
|
|
133
133
|
type: transfer.type,
|
|
134
134
|
logIndex: transfer.logIndex,
|
|
135
|
+
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
135
136
|
token: erc20Tokens.find(
|
|
136
137
|
(token) => token?.contractAddress === transfer.contractAddress,
|
|
137
138
|
)!,
|
|
@@ -149,6 +150,7 @@ export const decode: Decode = async (
|
|
|
149
150
|
.map((transfer) => ({
|
|
150
151
|
type: transfer.type,
|
|
151
152
|
logIndex: transfer.logIndex,
|
|
153
|
+
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
152
154
|
token: erc721Tokens.find(
|
|
153
155
|
(token) => token?.contractAddress === transfer.contractAddress,
|
|
154
156
|
)!,
|
|
@@ -518,8 +520,8 @@ const getErc20Token = async (
|
|
|
518
520
|
? undefined
|
|
519
521
|
: coingeckoCoins.find(
|
|
520
522
|
({ platforms }) =>
|
|
521
|
-
platforms[chain.coingeckoId
|
|
522
|
-
platforms[chain.coingeckoId
|
|
523
|
+
platforms[chain.coingeckoId ?? ''] !== undefined &&
|
|
524
|
+
platforms[chain.coingeckoId ?? ''].toLowerCase() === address,
|
|
523
525
|
)
|
|
524
526
|
|
|
525
527
|
return {
|
|
@@ -24,13 +24,13 @@ export const parseErc1155TransferSingleLogs = (
|
|
|
24
24
|
.map((log) => {
|
|
25
25
|
const id = BigInt(log.data.slice(0, 66))
|
|
26
26
|
return {
|
|
27
|
-
type: 'Erc1155Transfer',
|
|
27
|
+
type: 'Erc1155Transfer' as const,
|
|
28
28
|
logIndex: log.logIndex,
|
|
29
29
|
token: {
|
|
30
30
|
contractAddress: toLowerHex(log.address),
|
|
31
31
|
},
|
|
32
|
-
from: toLowerHex(`0x${log.topics[2]
|
|
33
|
-
to: toLowerHex(`0x${log.topics[3]
|
|
32
|
+
from: toLowerHex(`0x${log.topics[2]?.slice(26) ?? ''}`),
|
|
33
|
+
to: toLowerHex(`0x${log.topics[3]?.slice(26) ?? ''}`),
|
|
34
34
|
id,
|
|
35
35
|
value: BigInt(`0x${log.data.slice(66, 130)}`),
|
|
36
36
|
nft: {
|
|
@@ -27,8 +27,8 @@ export const parseErc20TransferLogs = (
|
|
|
27
27
|
type: 'Erc20Transfer',
|
|
28
28
|
logIndex: log.logIndex,
|
|
29
29
|
contractAddress: toLowerHex(log.address),
|
|
30
|
-
from: toLowerHex(`0x${log.topics[1]
|
|
31
|
-
to: toLowerHex(`0x${log.topics[2]
|
|
30
|
+
from: toLowerHex(`0x${log.topics[1]?.slice(26) ?? ''}`),
|
|
31
|
+
to: toLowerHex(`0x${log.topics[2]?.slice(26) ?? ''}`),
|
|
32
32
|
value: BigInt(log.data),
|
|
33
33
|
price: undefined,
|
|
34
34
|
}),
|
|
@@ -25,13 +25,13 @@ export const parseErc721TransferLogs = (
|
|
|
25
25
|
log.data === '0x',
|
|
26
26
|
)
|
|
27
27
|
.map((log): Erc721TransferLog => {
|
|
28
|
-
const tokenId = BigInt(log.topics[3]
|
|
28
|
+
const tokenId = BigInt(log.topics[3] ?? '0x0')
|
|
29
29
|
return {
|
|
30
30
|
type: 'Erc721Transfer',
|
|
31
31
|
logIndex: log.logIndex,
|
|
32
32
|
contractAddress: toLowerHex(log.address),
|
|
33
|
-
from: toLowerHex(`0x${log.topics[1]
|
|
34
|
-
to: toLowerHex(`0x${log.topics[2]
|
|
33
|
+
from: toLowerHex(`0x${log.topics[1]?.slice(26) ?? ''}`),
|
|
34
|
+
to: toLowerHex(`0x${log.topics[2]?.slice(26) ?? ''}`),
|
|
35
35
|
tokenId,
|
|
36
36
|
nft: {
|
|
37
37
|
type: 'Nft',
|
package/decoder/tests.ts
CHANGED
|
@@ -64,7 +64,8 @@ const testExplorer: Explorer = {
|
|
|
64
64
|
name: 'UniswapV2Router02',
|
|
65
65
|
abi: '[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"amountADesired","type":"uint256"},{"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsIn","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityWithPermit","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapETHForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]',
|
|
66
66
|
}
|
|
67
|
-
}
|
|
67
|
+
}
|
|
68
|
+
if (lowerAddress === '0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852') {
|
|
68
69
|
return {
|
|
69
70
|
name: 'UniswapV2Pair',
|
|
70
71
|
abi: '[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]',
|
|
@@ -123,7 +124,6 @@ export const testTxSwapExactETHForTokens = {
|
|
|
123
124
|
value: 1_000_000_000_000_000_000n,
|
|
124
125
|
yParity: 1,
|
|
125
126
|
typeHex: '0x2',
|
|
126
|
-
// eslint-disable-next-line unicorn/no-null
|
|
127
127
|
contractAddress: null,
|
|
128
128
|
cumulativeGasUsed: 4_139_478n,
|
|
129
129
|
effectiveGasPrice: 36_097_044_253n,
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
getContractCreations as apiGetContractCreations,
|
|
5
5
|
getBlockNumberOfTimestamp,
|
|
6
6
|
getContractByAddress,
|
|
7
|
-
getErc1155TokenTransfersByAddress,
|
|
8
7
|
getErc20TokenTransfersByAddress,
|
|
9
8
|
getErc721TokenTransfersByAddress,
|
|
9
|
+
getErc1155TokenTransfersByAddress,
|
|
10
10
|
getEventLogsByAddressAndTopics,
|
|
11
11
|
getInternalTransactionsByAddress,
|
|
12
12
|
getInternalTransactionsByTransactionHash,
|
package/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xtorch/evm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.61",
|
|
4
4
|
"description": "Cryptorch EVM extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cryptorch",
|
|
@@ -38,12 +38,10 @@
|
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@0xtorch/big-decimal": "^0.0.10",
|
|
41
|
-
"@0xtorch/core": "^0.0.
|
|
41
|
+
"@0xtorch/core": "^0.0.36",
|
|
42
42
|
"@supercharge/promise-pool": "^3.1.1",
|
|
43
|
+
"abitype": "^1.0.6",
|
|
43
44
|
"viem": "^2.17.3",
|
|
44
45
|
"zod": "^3.23.8"
|
|
45
|
-
},
|
|
46
|
-
"peerDependencies": {
|
|
47
|
-
"typescript": "^5.3.3"
|
|
48
46
|
}
|
|
49
47
|
}
|
package/tests.ts
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const IS_SMALL_TEST = (process.env.TEST_SIZE ?? '').includes('S')
|
|
2
|
+
|
|
3
|
+
export const IS_MEDIUM_TEST = (process.env.TEST_SIZE ?? '').includes('M')
|
|
4
|
+
|
|
5
|
+
export const IS_LARGE_TEST = (process.env.TEST_SIZE ?? '').includes('L')
|
|
6
|
+
|
|
7
|
+
export const IS_END_TO_END_TEST = (process.env.TEST_SIZE ?? '').includes('E')
|
|
8
|
+
|
|
9
|
+
export const IS_RPC_TEST = process.env.TEST_TARGET === 'RPC'
|
package/types/transaction.ts
CHANGED
|
@@ -6,9 +6,9 @@ import type {
|
|
|
6
6
|
} from '@0xtorch/core'
|
|
7
7
|
import type { Block, BlockTag, Transaction, TransactionReceipt } from 'viem'
|
|
8
8
|
import type { Prettify } from '../utils'
|
|
9
|
-
import type { Erc1155Transfer } from './erc1155'
|
|
10
9
|
import type { Erc20Transfer } from './erc20'
|
|
11
10
|
import type { Erc721Transfer } from './erc721'
|
|
11
|
+
import type { Erc1155Transfer } from './erc1155'
|
|
12
12
|
import type { LowerHex } from './hex'
|
|
13
13
|
import type { InputFunction } from './input'
|
|
14
14
|
import type { InternalTransaction } from './internalTransaction'
|
package/utils/create.ts
CHANGED