viem 0.0.1-alpha.24 → 0.0.1-alpha.26
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/contract/package.json +4 -0
- package/dist/call-3476b8ee.d.ts +22 -0
- package/dist/{chain-afa13f5a.d.ts → chain-42de87e5.d.ts} +20 -14
- package/dist/{chain-e33d019b.d.ts → chain-b0cfb141.d.ts} +1 -1
- package/dist/chains.d.ts +20 -8
- package/dist/chains.js +46 -46
- package/dist/chains.mjs +1 -1
- package/dist/{chunk-3ARWEJ3G.mjs → chunk-BSAB6UH4.mjs} +18 -2
- package/dist/chunk-BSAB6UH4.mjs.map +1 -0
- package/dist/{chunk-4D5XG6XB.js → chunk-DSQO3E4F.js} +367 -429
- package/dist/chunk-DSQO3E4F.js.map +1 -0
- package/dist/{chunk-A2HXAZXC.js → chunk-LINNE4N4.js} +199 -161
- package/dist/chunk-LINNE4N4.js.map +1 -0
- package/dist/{chunk-LQVMDX5I.mjs → chunk-PRG3BBPZ.mjs} +397 -459
- package/dist/chunk-PRG3BBPZ.mjs.map +1 -0
- package/dist/{chunk-YQUC52RL.mjs → chunk-QSIX64VZ.mjs} +136 -98
- package/dist/chunk-QSIX64VZ.mjs.map +1 -0
- package/dist/{chunk-ZYSXBTBB.js → chunk-YTG4YXMB.js} +30 -14
- package/dist/chunk-YTG4YXMB.js.map +1 -0
- package/dist/{contract-70f4ddbe.d.ts → contract-9dd2f98b.d.ts} +44 -31
- package/dist/contract.d.ts +129 -0
- package/dist/contract.js +55 -0
- package/dist/{clients/index.js.map → contract.js.map} +0 -0
- package/dist/contract.mjs +55 -0
- package/dist/{clients/index.mjs.map → contract.mjs.map} +0 -0
- package/dist/{createClient-60e3ab98.d.ts → createClient-6689596e.d.ts} +11 -5
- package/dist/{createPublicClient-d3d12dc3.d.ts → createPublicClient-fd558574.d.ts} +3 -3
- package/dist/{createTestClient-5f4532c4.d.ts → createTestClient-bc1d9028.d.ts} +3 -3
- package/dist/{createWalletClient-9ec3df4f.d.ts → createWalletClient-4df88244.d.ts} +3 -3
- package/dist/decodeErrorResult-ac835649.d.ts +16 -0
- package/dist/{eip1193-9317a312.d.ts → eip1193-617a05ae.d.ts} +2 -2
- package/dist/ens.d.ts +82 -1
- package/dist/ens.js +208 -3
- package/dist/ens.js.map +1 -1
- package/dist/ens.mjs +209 -4
- package/dist/ens.mjs.map +1 -1
- package/dist/getAbiItem-d2e8bd76.d.ts +97 -0
- package/dist/index.d.ts +113 -180
- package/dist/index.js +259 -279
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +267 -287
- package/dist/index.mjs.map +1 -1
- package/dist/public.d.ts +353 -10
- package/dist/public.js +3 -4
- package/dist/public.mjs +6 -7
- package/dist/readContract-c460f23a.d.ts +10 -0
- package/dist/rpc-8c10fc98.d.ts +119 -0
- package/dist/{sendTransaction-54a0d509.d.ts → sendTransaction-7ce442c0.d.ts} +3 -3
- package/dist/test.d.ts +160 -5
- package/dist/test.js +222 -18
- package/dist/test.js.map +1 -1
- package/dist/test.mjs +233 -29
- package/dist/test.mjs.map +1 -1
- package/dist/transactionReceipt-44dbf122.d.ts +26 -0
- package/dist/{transactionRequest-bdf57f7d.d.ts → transactionRequest-f437b4ba.d.ts} +1 -1
- package/dist/utils/index.d.ts +228 -21
- package/dist/utils/index.js +2 -6
- package/dist/utils/index.mjs +3 -7
- package/dist/wallet.d.ts +41 -7
- package/dist/wallet.js +3 -3
- package/dist/wallet.mjs +2 -2
- package/dist/watchEvent-569c9976.d.ts +41 -0
- package/dist/window.d.ts +2 -2
- package/ens/package.json +4 -0
- package/package.json +16 -12
- package/public/package.json +4 -0
- package/test/package.json +4 -0
- package/wallet/package.json +4 -0
- package/clients/package.json +0 -4
- package/dist/chunk-3ARWEJ3G.mjs.map +0 -1
- package/dist/chunk-4D5XG6XB.js.map +0 -1
- package/dist/chunk-6QTEW2BE.mjs +0 -260
- package/dist/chunk-6QTEW2BE.mjs.map +0 -1
- package/dist/chunk-A2HXAZXC.js.map +0 -1
- package/dist/chunk-KRPS5CIB.mjs +0 -256
- package/dist/chunk-KRPS5CIB.mjs.map +0 -1
- package/dist/chunk-LQVMDX5I.mjs.map +0 -1
- package/dist/chunk-N3IOPT3R.js +0 -256
- package/dist/chunk-N3IOPT3R.js.map +0 -1
- package/dist/chunk-YQUC52RL.mjs.map +0 -1
- package/dist/chunk-ZSTVHQ6J.js +0 -260
- package/dist/chunk-ZSTVHQ6J.js.map +0 -1
- package/dist/chunk-ZYSXBTBB.js.map +0 -1
- package/dist/clients/index.d.ts +0 -9
- package/dist/clients/index.js +0 -24
- package/dist/clients/index.mjs +0 -24
- package/dist/normalize-ef9240c0.d.ts +0 -33
- package/dist/parseGwei-492ab7dd.d.ts +0 -355
- package/dist/rpc-26932bae.d.ts +0 -61
- package/dist/stopImpersonatingAccount-c1a4b7e5.d.ts +0 -156
- package/dist/watchAsset-d59d6e35.d.ts +0 -38
- package/dist/watchPendingTransactions-ea21b31d.d.ts +0 -373
- package/dist/webSocket-775b4037.d.ts +0 -83
- package/src/_test/abis.ts +0 -1420
- package/src/_test/bench.ts +0 -15
- package/src/_test/constants.ts +0 -61
- package/src/_test/globalSetup.ts +0 -11
- package/src/_test/index.ts +0 -25
- package/src/_test/setup.ts +0 -8
- package/src/_test/utils.ts +0 -150
- package/src/actions/index.test.ts +0 -81
- package/src/actions/index.ts +0 -182
- package/src/actions/public/call.bench.ts +0 -48
- package/src/actions/public/call.test.ts +0 -99
- package/src/actions/public/call.ts +0 -97
- package/src/actions/public/createBlockFilter.bench.ts +0 -11
- package/src/actions/public/createBlockFilter.test.ts +0 -9
- package/src/actions/public/createBlockFilter.ts +0 -14
- package/src/actions/public/createContractEventFilter.test.ts +0 -119
- package/src/actions/public/createContractEventFilter.ts +0 -69
- package/src/actions/public/createEventFilter.test.ts +0 -245
- package/src/actions/public/createEventFilter.ts +0 -76
- package/src/actions/public/createPendingTransactionFilter.bench.ts +0 -11
- package/src/actions/public/createPendingTransactionFilter.test.ts +0 -9
- package/src/actions/public/createPendingTransactionFilter.ts +0 -14
- package/src/actions/public/deployContract.test.ts +0 -56
- package/src/actions/public/deployContract.ts +0 -38
- package/src/actions/public/estimateGas.bench.ts +0 -46
- package/src/actions/public/estimateGas.test.ts +0 -92
- package/src/actions/public/estimateGas.ts +0 -61
- package/src/actions/public/getBalance.test.ts +0 -83
- package/src/actions/public/getBalance.ts +0 -37
- package/src/actions/public/getBlock.bench.ts +0 -28
- package/src/actions/public/getBlock.test.ts +0 -575
- package/src/actions/public/getBlock.ts +0 -65
- package/src/actions/public/getBlockNumber.bench.ts +0 -28
- package/src/actions/public/getBlockNumber.test.ts +0 -27
- package/src/actions/public/getBlockNumber.ts +0 -32
- package/src/actions/public/getBlockTransactionCount.bench.ts +0 -15
- package/src/actions/public/getBlockTransactionCount.test.ts +0 -57
- package/src/actions/public/getBlockTransactionCount.ts +0 -52
- package/src/actions/public/getBytecode.test.ts +0 -27
- package/src/actions/public/getBytecode.ts +0 -32
- package/src/actions/public/getChainId.bench.ts +0 -15
- package/src/actions/public/getChainId.test.ts +0 -8
- package/src/actions/public/getChainId.ts +0 -7
- package/src/actions/public/getFeeHistory.bench.ts +0 -18
- package/src/actions/public/getFeeHistory.test.ts +0 -137
- package/src/actions/public/getFeeHistory.ts +0 -44
- package/src/actions/public/getFilterChanges.bench.ts +0 -13
- package/src/actions/public/getFilterChanges.test.ts +0 -189
- package/src/actions/public/getFilterChanges.ts +0 -23
- package/src/actions/public/getFilterLogs.test.ts +0 -104
- package/src/actions/public/getFilterLogs.ts +0 -20
- package/src/actions/public/getGasPrice.bench.ts +0 -19
- package/src/actions/public/getGasPrice.test.ts +0 -8
- package/src/actions/public/getGasPrice.ts +0 -15
- package/src/actions/public/getLogs.test.ts +0 -107
- package/src/actions/public/getLogs.ts +0 -84
- package/src/actions/public/getStorageAt.test.ts +0 -34
- package/src/actions/public/getStorageAt.ts +0 -32
- package/src/actions/public/getTransaction.bench.ts +0 -33
- package/src/actions/public/getTransaction.test.ts +0 -311
- package/src/actions/public/getTransaction.ts +0 -95
- package/src/actions/public/getTransactionConfirmations.test.ts +0 -69
- package/src/actions/public/getTransactionConfirmations.ts +0 -38
- package/src/actions/public/getTransactionCount.test.ts +0 -56
- package/src/actions/public/getTransactionCount.ts +0 -34
- package/src/actions/public/getTransactionReceipt.bench.ts +0 -33
- package/src/actions/public/getTransactionReceipt.test.ts +0 -179
- package/src/actions/public/getTransactionReceipt.ts +0 -34
- package/src/actions/public/index.test.ts +0 -44
- package/src/actions/public/index.ts +0 -152
- package/src/actions/public/multicall.test.ts +0 -452
- package/src/actions/public/multicall.ts +0 -103
- package/src/actions/public/readContract.test.ts +0 -328
- package/src/actions/public/readContract.ts +0 -73
- package/src/actions/public/simulateContract.bench.ts +0 -41
- package/src/actions/public/simulateContract.test.ts +0 -410
- package/src/actions/public/simulateContract.ts +0 -94
- package/src/actions/public/uninstallFilter.bench.ts +0 -13
- package/src/actions/public/uninstallFilter.test.ts +0 -65
- package/src/actions/public/uninstallFilter.ts +0 -17
- package/src/actions/public/waitForTransactionReceipt.test.ts +0 -322
- package/src/actions/public/waitForTransactionReceipt.ts +0 -170
- package/src/actions/public/watchBlockNumber.test.ts +0 -166
- package/src/actions/public/watchBlockNumber.ts +0 -79
- package/src/actions/public/watchBlocks.test.ts +0 -210
- package/src/actions/public/watchBlocks.ts +0 -114
- package/src/actions/public/watchContractEvent.test.ts +0 -305
- package/src/actions/public/watchContractEvent.ts +0 -108
- package/src/actions/public/watchEvent.test.ts +0 -195
- package/src/actions/public/watchEvent.ts +0 -95
- package/src/actions/public/watchPendingTransactions.test.ts +0 -116
- package/src/actions/public/watchPendingTransactions.ts +0 -74
- package/src/actions/test/dropTransaction.test.ts +0 -34
- package/src/actions/test/dropTransaction.ts +0 -17
- package/src/actions/test/getAutomine.test.ts +0 -14
- package/src/actions/test/getAutomine.ts +0 -11
- package/src/actions/test/getTxpoolContent.test.ts +0 -45
- package/src/actions/test/getTxpoolContent.ts +0 -7
- package/src/actions/test/getTxpoolStatus.test.ts +0 -41
- package/src/actions/test/getTxpoolStatus.ts +0 -12
- package/src/actions/test/impersonateAccount.test.ts +0 -26
- package/src/actions/test/impersonateAccount.ts +0 -17
- package/src/actions/test/increaseTime.test.ts +0 -18
- package/src/actions/test/increaseTime.ts +0 -17
- package/src/actions/test/index.test.ts +0 -38
- package/src/actions/test/index.ts +0 -77
- package/src/actions/test/inspectTxpool.test.ts +0 -50
- package/src/actions/test/inspectTxpool.ts +0 -7
- package/src/actions/test/mine.test.ts +0 -20
- package/src/actions/test/mine.ts +0 -16
- package/src/actions/test/removeBlockTimestampInterval.test.ts +0 -23
- package/src/actions/test/removeBlockTimestampInterval.ts +0 -7
- package/src/actions/test/reset.test.ts +0 -19
- package/src/actions/test/reset.ts +0 -18
- package/src/actions/test/revert.test.ts +0 -39
- package/src/actions/test/revert.ts +0 -14
- package/src/actions/test/sendUnsignedTransaction.test.ts +0 -52
- package/src/actions/test/sendUnsignedTransaction.ts +0 -19
- package/src/actions/test/setAutomine.test.ts +0 -14
- package/src/actions/test/setAutomine.ts +0 -8
- package/src/actions/test/setBalance.test.ts +0 -29
- package/src/actions/test/setBalance.ts +0 -20
- package/src/actions/test/setBlockGasLimit.test.ts +0 -21
- package/src/actions/test/setBlockGasLimit.ts +0 -17
- package/src/actions/test/setBlockTimestampInterval.test.ts +0 -23
- package/src/actions/test/setBlockTimestampInterval.ts +0 -16
- package/src/actions/test/setCode.test.ts +0 -26
- package/src/actions/test/setCode.ts +0 -19
- package/src/actions/test/setCoinbase.test.ts +0 -11
- package/src/actions/test/setCoinbase.ts +0 -17
- package/src/actions/test/setIntervalMining.test.ts +0 -30
- package/src/actions/test/setIntervalMining.ts +0 -16
- package/src/actions/test/setLoggingEnabled.test.ts +0 -10
- package/src/actions/test/setLoggingEnabled.ts +0 -8
- package/src/actions/test/setMinGasPrice.test.ts +0 -22
- package/src/actions/test/setMinGasPrice.ts +0 -17
- package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +0 -23
- package/src/actions/test/setNextBlockBaseFeePerGas.ts +0 -17
- package/src/actions/test/setNextBlockTimestamp.test.ts +0 -19
- package/src/actions/test/setNextBlockTimestamp.ts +0 -17
- package/src/actions/test/setNonce.test.ts +0 -28
- package/src/actions/test/setNonce.ts +0 -20
- package/src/actions/test/setRpcUrl.test.ts +0 -9
- package/src/actions/test/setRpcUrl.ts +0 -8
- package/src/actions/test/setStorageAt.test.ts +0 -36
- package/src/actions/test/setStorageAt.ts +0 -26
- package/src/actions/test/snapshot.test.ts +0 -18
- package/src/actions/test/snapshot.ts +0 -7
- package/src/actions/test/stopImpersonatingAccount.test.ts +0 -29
- package/src/actions/test/stopImpersonatingAccount.ts +0 -17
- package/src/actions/wallet/addChain.test.ts +0 -14
- package/src/actions/wallet/addChain.ts +0 -21
- package/src/actions/wallet/getAccounts.test.ts +0 -22
- package/src/actions/wallet/getAccounts.ts +0 -7
- package/src/actions/wallet/getPermissions.test.ts +0 -24
- package/src/actions/wallet/getPermissions.ts +0 -9
- package/src/actions/wallet/index.test.ts +0 -20
- package/src/actions/wallet/index.ts +0 -30
- package/src/actions/wallet/requestAccounts.test.ts +0 -13
- package/src/actions/wallet/requestAccounts.ts +0 -7
- package/src/actions/wallet/requestPermissions.test.ts +0 -26
- package/src/actions/wallet/requestPermissions.ts +0 -19
- package/src/actions/wallet/sendTransaction.bench.ts +0 -57
- package/src/actions/wallet/sendTransaction.test.ts +0 -440
- package/src/actions/wallet/sendTransaction.ts +0 -77
- package/src/actions/wallet/signMessage.test.ts +0 -61
- package/src/actions/wallet/signMessage.ts +0 -35
- package/src/actions/wallet/switchChain.test.ts +0 -21
- package/src/actions/wallet/switchChain.ts +0 -19
- package/src/actions/wallet/watchAsset.test.ts +0 -40
- package/src/actions/wallet/watchAsset.ts +0 -16
- package/src/actions/wallet/writeContract.test.ts +0 -84
- package/src/actions/wallet/writeContract.ts +0 -47
- package/src/chains.test.ts +0 -1912
- package/src/chains.ts +0 -99
- package/src/clients/createClient.test.ts +0 -295
- package/src/clients/createClient.ts +0 -81
- package/src/clients/createPublicClient.test.ts +0 -165
- package/src/clients/createPublicClient.ts +0 -49
- package/src/clients/createTestClient.test.ts +0 -145
- package/src/clients/createTestClient.ts +0 -72
- package/src/clients/createWalletClient.test.ts +0 -121
- package/src/clients/createWalletClient.ts +0 -54
- package/src/clients/index.test.ts +0 -19
- package/src/clients/index.ts +0 -31
- package/src/clients/transports/createTransport.test.ts +0 -58
- package/src/clients/transports/createTransport.ts +0 -48
- package/src/clients/transports/custom.test.ts +0 -98
- package/src/clients/transports/custom.ts +0 -34
- package/src/clients/transports/fallback.test.ts +0 -257
- package/src/clients/transports/fallback.ts +0 -50
- package/src/clients/transports/http.test.ts +0 -109
- package/src/clients/transports/http.ts +0 -51
- package/src/clients/transports/index.test.ts +0 -15
- package/src/clients/transports/index.ts +0 -17
- package/src/clients/transports/webSocket.test.ts +0 -163
- package/src/clients/transports/webSocket.ts +0 -117
- package/src/constants/abis.test.ts +0 -53
- package/src/constants/abis.ts +0 -44
- package/src/constants/index.test.ts +0 -14
- package/src/constants/index.ts +0 -3
- package/src/constants/solidity.test.ts +0 -41
- package/src/constants/solidity.ts +0 -35
- package/src/ens.ts +0 -5
- package/src/errors/abi.test.ts +0 -81
- package/src/errors/abi.ts +0 -238
- package/src/errors/address.test.ts +0 -14
- package/src/errors/address.ts +0 -9
- package/src/errors/base.test.ts +0 -114
- package/src/errors/base.ts +0 -57
- package/src/errors/block.test.ts +0 -24
- package/src/errors/block.ts +0 -18
- package/src/errors/contract.test.ts +0 -233
- package/src/errors/contract.ts +0 -178
- package/src/errors/data.ts +0 -20
- package/src/errors/encoding.ts +0 -60
- package/src/errors/index.ts +0 -79
- package/src/errors/log.ts +0 -8
- package/src/errors/request.test.ts +0 -330
- package/src/errors/request.ts +0 -163
- package/src/errors/rpc.test.ts +0 -87
- package/src/errors/rpc.ts +0 -113
- package/src/errors/transaction.test.ts +0 -83
- package/src/errors/transaction.ts +0 -54
- package/src/errors/transport.test.ts +0 -11
- package/src/errors/transport.ts +0 -12
- package/src/index.test.ts +0 -263
- package/src/index.ts +0 -389
- package/src/public.ts +0 -80
- package/src/test.ts +0 -51
- package/src/types/block.ts +0 -71
- package/src/types/chain.ts +0 -6
- package/src/types/contract.ts +0 -393
- package/src/types/eip1193.ts +0 -1041
- package/src/types/fee.ts +0 -47
- package/src/types/filter.ts +0 -8
- package/src/types/formatter.ts +0 -23
- package/src/types/index.ts +0 -83
- package/src/types/log.ts +0 -22
- package/src/types/misc.ts +0 -5
- package/src/types/multicall.ts +0 -82
- package/src/types/rpc.ts +0 -35
- package/src/types/transaction.ts +0 -145
- package/src/types/utils.ts +0 -67
- package/src/types/window.ts +0 -9
- package/src/utils/abi/decodeAbi.bench.ts +0 -135
- package/src/utils/abi/decodeAbi.test.ts +0 -1614
- package/src/utils/abi/decodeAbi.ts +0 -300
- package/src/utils/abi/decodeDeployData.test.ts +0 -151
- package/src/utils/abi/decodeDeployData.ts +0 -44
- package/src/utils/abi/decodeErrorResult.test.ts +0 -230
- package/src/utils/abi/decodeErrorResult.ts +0 -45
- package/src/utils/abi/decodeFunctionData.test.ts +0 -139
- package/src/utils/abi/decodeFunctionData.ts +0 -29
- package/src/utils/abi/decodeFunctionResult.test.ts +0 -333
- package/src/utils/abi/decodeFunctionResult.ts +0 -57
- package/src/utils/abi/encodeAbi.bench.ts +0 -163
- package/src/utils/abi/encodeAbi.test.ts +0 -1447
- package/src/utils/abi/encodeAbi.ts +0 -273
- package/src/utils/abi/encodeDeployData.test.ts +0 -124
- package/src/utils/abi/encodeDeployData.ts +0 -40
- package/src/utils/abi/encodeErrorResult.test.ts +0 -192
- package/src/utils/abi/encodeErrorResult.ts +0 -47
- package/src/utils/abi/encodeEventTopics.test.ts +0 -345
- package/src/utils/abi/encodeEventTopics.ts +0 -75
- package/src/utils/abi/encodeFunctionData.test.ts +0 -138
- package/src/utils/abi/encodeFunctionData.ts +0 -45
- package/src/utils/abi/encodeFunctionResult.test.ts +0 -279
- package/src/utils/abi/encodeFunctionResult.ts +0 -41
- package/src/utils/abi/formatAbiItem.test.ts +0 -335
- package/src/utils/abi/formatAbiItem.ts +0 -41
- package/src/utils/abi/formatAbiItemWithArgs.test.ts +0 -291
- package/src/utils/abi/formatAbiItemWithArgs.ts +0 -27
- package/src/utils/abi/getAbiItem.test.ts +0 -547
- package/src/utils/abi/getAbiItem.ts +0 -95
- package/src/utils/abi/index.test.ts +0 -23
- package/src/utils/abi/index.ts +0 -42
- package/src/utils/address/getAddress.bench.ts +0 -22
- package/src/utils/address/getAddress.test.ts +0 -46
- package/src/utils/address/getAddress.ts +0 -28
- package/src/utils/address/getContractAddress.bench.ts +0 -20
- package/src/utils/address/getContractAddress.test.ts +0 -78
- package/src/utils/address/getContractAddress.ts +0 -59
- package/src/utils/address/index.test.ts +0 -17
- package/src/utils/address/index.ts +0 -16
- package/src/utils/address/isAddress.test.ts +0 -10
- package/src/utils/address/isAddress.ts +0 -10
- package/src/utils/address/isAddressEqual.test.ts +0 -55
- package/src/utils/address/isAddressEqual.ts +0 -6
- package/src/utils/buildRequest.test.ts +0 -365
- package/src/utils/buildRequest.ts +0 -45
- package/src/utils/chain.test.ts +0 -43
- package/src/utils/chain.ts +0 -8
- package/src/utils/contract/extractFunctionParts.test.ts +0 -109
- package/src/utils/contract/extractFunctionParts.ts +0 -27
- package/src/utils/contract/getContractError.test.ts +0 -282
- package/src/utils/contract/getContractError.ts +0 -58
- package/src/utils/contract/index.test.ts +0 -15
- package/src/utils/contract/index.ts +0 -8
- package/src/utils/data/concat.test.ts +0 -35
- package/src/utils/data/concat.ts +0 -34
- package/src/utils/data/index.test.ts +0 -23
- package/src/utils/data/index.ts +0 -13
- package/src/utils/data/isBytes.test.ts +0 -9
- package/src/utils/data/isBytes.ts +0 -7
- package/src/utils/data/isHex.test.ts +0 -13
- package/src/utils/data/isHex.ts +0 -5
- package/src/utils/data/pad.bench.ts +0 -30
- package/src/utils/data/pad.test.ts +0 -367
- package/src/utils/data/pad.ts +0 -53
- package/src/utils/data/size.test.ts +0 -18
- package/src/utils/data/size.ts +0 -13
- package/src/utils/data/slice.test.ts +0 -203
- package/src/utils/data/slice.ts +0 -60
- package/src/utils/data/trim.bench.ts +0 -34
- package/src/utils/data/trim.test.ts +0 -175
- package/src/utils/data/trim.ts +0 -33
- package/src/utils/encoding/decodeBytes.bench.ts +0 -40
- package/src/utils/encoding/decodeBytes.test.ts +0 -144
- package/src/utils/encoding/decodeBytes.ts +0 -63
- package/src/utils/encoding/decodeHex.bench.ts +0 -24
- package/src/utils/encoding/decodeHex.test.ts +0 -167
- package/src/utils/encoding/decodeHex.ts +0 -76
- package/src/utils/encoding/decodeRlp.bench.ts +0 -34
- package/src/utils/encoding/decodeRlp.test.ts +0 -350
- package/src/utils/encoding/decodeRlp.ts +0 -121
- package/src/utils/encoding/encodeBytes.bench.ts +0 -29
- package/src/utils/encoding/encodeBytes.test.ts +0 -676
- package/src/utils/encoding/encodeBytes.ts +0 -59
- package/src/utils/encoding/encodeHex.bench.ts +0 -49
- package/src/utils/encoding/encodeHex.test.ts +0 -232
- package/src/utils/encoding/encodeHex.ts +0 -104
- package/src/utils/encoding/encodeRlp.bench.ts +0 -54
- package/src/utils/encoding/encodeRlp.test.ts +0 -254
- package/src/utils/encoding/encodeRlp.ts +0 -48
- package/src/utils/encoding/index.test.ts +0 -32
- package/src/utils/encoding/index.ts +0 -36
- package/src/utils/ens/index.test.ts +0 -13
- package/src/utils/ens/index.ts +0 -5
- package/src/utils/ens/labelhash.test.ts +0 -55
- package/src/utils/ens/labelhash.ts +0 -16
- package/src/utils/ens/namehash.test.ts +0 -65
- package/src/utils/ens/namehash.ts +0 -28
- package/src/utils/ens/normalize.bench.ts +0 -14
- package/src/utils/ens/normalize.test.ts +0 -35
- package/src/utils/ens/normalize.ts +0 -14
- package/src/utils/formatters/block.bench.ts +0 -51
- package/src/utils/formatters/block.test.ts +0 -115
- package/src/utils/formatters/block.ts +0 -37
- package/src/utils/formatters/extract.test.ts +0 -14
- package/src/utils/formatters/extract.ts +0 -18
- package/src/utils/formatters/feeHistory.test.ts +0 -66
- package/src/utils/formatters/feeHistory.ts +0 -12
- package/src/utils/formatters/format.test.ts +0 -93
- package/src/utils/formatters/format.ts +0 -90
- package/src/utils/formatters/index.test.ts +0 -27
- package/src/utils/formatters/index.ts +0 -34
- package/src/utils/formatters/log.test.ts +0 -79
- package/src/utils/formatters/log.ts +0 -12
- package/src/utils/formatters/transaction.test.ts +0 -271
- package/src/utils/formatters/transaction.ts +0 -63
- package/src/utils/formatters/transactionReceipt.bench.ts +0 -73
- package/src/utils/formatters/transactionReceipt.test.ts +0 -151
- package/src/utils/formatters/transactionReceipt.ts +0 -63
- package/src/utils/formatters/transactionRequest.bench.ts +0 -29
- package/src/utils/formatters/transactionRequest.test.ts +0 -237
- package/src/utils/formatters/transactionRequest.ts +0 -56
- package/src/utils/hash/getEventSignature.test.ts +0 -61
- package/src/utils/hash/getEventSignature.ts +0 -4
- package/src/utils/hash/getFunctionSignature.test.ts +0 -22
- package/src/utils/hash/getFunctionSignature.ts +0 -5
- package/src/utils/hash/hashFunction.test.ts +0 -65
- package/src/utils/hash/hashFunction.ts +0 -12
- package/src/utils/hash/index.test.ts +0 -13
- package/src/utils/hash/index.ts +0 -5
- package/src/utils/hash/keccak256.test.ts +0 -59
- package/src/utils/hash/keccak256.ts +0 -21
- package/src/utils/index.test.ts +0 -113
- package/src/utils/index.ts +0 -141
- package/src/utils/observe.test.ts +0 -176
- package/src/utils/observe.ts +0 -66
- package/src/utils/poll.test.ts +0 -127
- package/src/utils/poll.ts +0 -42
- package/src/utils/promise/index.test.ts +0 -14
- package/src/utils/promise/index.ts +0 -3
- package/src/utils/promise/withCache.test.ts +0 -97
- package/src/utils/promise/withCache.ts +0 -73
- package/src/utils/promise/withRetry.test.ts +0 -231
- package/src/utils/promise/withRetry.ts +0 -61
- package/src/utils/promise/withTimeout.test.ts +0 -37
- package/src/utils/promise/withTimeout.ts +0 -39
- package/src/utils/rpc.test.ts +0 -989
- package/src/utils/rpc.ts +0 -292
- package/src/utils/stringify.test.ts +0 -13
- package/src/utils/stringify.ts +0 -5
- package/src/utils/uid.ts +0 -14
- package/src/utils/unit/constants.test.ts +0 -22
- package/src/utils/unit/constants.ts +0 -12
- package/src/utils/unit/formatEther.test.ts +0 -75
- package/src/utils/unit/formatEther.ts +0 -6
- package/src/utils/unit/formatGwei.test.ts +0 -32
- package/src/utils/unit/formatGwei.ts +0 -6
- package/src/utils/unit/formatUnit.bench.ts +0 -21
- package/src/utils/unit/formatUnit.test.ts +0 -40
- package/src/utils/unit/formatUnit.ts +0 -16
- package/src/utils/unit/index.test.ts +0 -28
- package/src/utils/unit/index.ts +0 -7
- package/src/utils/unit/parseEther.test.ts +0 -126
- package/src/utils/unit/parseEther.ts +0 -6
- package/src/utils/unit/parseGwei.test.ts +0 -50
- package/src/utils/unit/parseGwei.ts +0 -6
- package/src/utils/unit/parseUnit.bench.ts +0 -21
- package/src/utils/unit/parseUnit.test.ts +0 -54
- package/src/utils/unit/parseUnit.ts +0 -27
- package/src/utils/wait.ts +0 -3
- package/src/wallet.ts +0 -23
- package/src/window.ts +0 -1
@@ -1,117 +0,0 @@
|
|
1
|
-
import { UrlRequiredError } from '../../errors'
|
2
|
-
import type { Hash } from '../../types'
|
3
|
-
import type { RpcResponse } from '../../utils/rpc'
|
4
|
-
import { getSocket, rpc } from '../../utils/rpc'
|
5
|
-
import type { Transport, TransportConfig } from './createTransport'
|
6
|
-
import { createTransport } from './createTransport'
|
7
|
-
|
8
|
-
type WebSocketTransportSubscribeArgs = {
|
9
|
-
onData: (data: RpcResponse) => void
|
10
|
-
onError?: (error: any) => void
|
11
|
-
}
|
12
|
-
|
13
|
-
type WebSocketTransportSubscribeResponse = {
|
14
|
-
subscriptionId: Hash
|
15
|
-
unsubscribe: () => Promise<RpcResponse<boolean>>
|
16
|
-
}
|
17
|
-
|
18
|
-
type WebSocketTransportSubscribe = {
|
19
|
-
subscribe(
|
20
|
-
args: WebSocketTransportSubscribeArgs & {
|
21
|
-
/**
|
22
|
-
* @description Add information about compiled contracts
|
23
|
-
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
|
24
|
-
*/
|
25
|
-
params: ['newHeads']
|
26
|
-
},
|
27
|
-
): Promise<WebSocketTransportSubscribeResponse>
|
28
|
-
}
|
29
|
-
|
30
|
-
export type WebSocketTransportConfig = {
|
31
|
-
/** The key of the WebSocket transport. */
|
32
|
-
key?: TransportConfig['key']
|
33
|
-
/** The name of the WebSocket transport. */
|
34
|
-
name?: TransportConfig['name']
|
35
|
-
}
|
36
|
-
|
37
|
-
export type WebSocketTransport = Transport<
|
38
|
-
'webSocket',
|
39
|
-
{
|
40
|
-
getSocket(): Promise<WebSocket>
|
41
|
-
subscribe: WebSocketTransportSubscribe['subscribe']
|
42
|
-
}
|
43
|
-
>
|
44
|
-
|
45
|
-
/**
|
46
|
-
* @description Creates a WebSocket transport that connects to a JSON-RPC API.
|
47
|
-
*/
|
48
|
-
export function webSocket(
|
49
|
-
/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
|
50
|
-
url?: string,
|
51
|
-
{
|
52
|
-
key = 'webSocket',
|
53
|
-
name = 'WebSocket JSON-RPC',
|
54
|
-
}: WebSocketTransportConfig = {},
|
55
|
-
): WebSocketTransport {
|
56
|
-
return ({ chain }) => {
|
57
|
-
const url_ = url || chain?.rpcUrls.default.webSocket?.[0]
|
58
|
-
if (!url_) throw new UrlRequiredError()
|
59
|
-
return createTransport(
|
60
|
-
{
|
61
|
-
key,
|
62
|
-
name,
|
63
|
-
async request({ method, params }) {
|
64
|
-
const socket = await getSocket(url_)
|
65
|
-
const { result } = await rpc.webSocketAsync(socket, {
|
66
|
-
body: { method, params },
|
67
|
-
})
|
68
|
-
return result
|
69
|
-
},
|
70
|
-
type: 'webSocket',
|
71
|
-
},
|
72
|
-
{
|
73
|
-
getSocket() {
|
74
|
-
return getSocket(url_)
|
75
|
-
},
|
76
|
-
async subscribe({ params, onData, onError }: any) {
|
77
|
-
const socket = await getSocket(url_)
|
78
|
-
const { result: subscriptionId } = await new Promise<any>(
|
79
|
-
(resolve, reject) =>
|
80
|
-
rpc.webSocket(socket, {
|
81
|
-
body: {
|
82
|
-
method: 'eth_subscribe',
|
83
|
-
params,
|
84
|
-
},
|
85
|
-
onData: (data) => {
|
86
|
-
if (typeof data.id === 'number') {
|
87
|
-
resolve(data)
|
88
|
-
return
|
89
|
-
}
|
90
|
-
onData(data)
|
91
|
-
},
|
92
|
-
onError: (error) => {
|
93
|
-
reject(error)
|
94
|
-
onError?.(error)
|
95
|
-
},
|
96
|
-
}),
|
97
|
-
)
|
98
|
-
return {
|
99
|
-
subscriptionId,
|
100
|
-
async unsubscribe() {
|
101
|
-
return new Promise<any>((resolve, reject) =>
|
102
|
-
rpc.webSocket(socket, {
|
103
|
-
body: {
|
104
|
-
method: 'eth_unsubscribe',
|
105
|
-
params: [subscriptionId],
|
106
|
-
},
|
107
|
-
onData: resolve,
|
108
|
-
onError: reject,
|
109
|
-
}),
|
110
|
-
)
|
111
|
-
},
|
112
|
-
}
|
113
|
-
},
|
114
|
-
},
|
115
|
-
)
|
116
|
-
}
|
117
|
-
}
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import { expect, test } from 'vitest'
|
2
|
-
|
3
|
-
import * as abis from './abis'
|
4
|
-
|
5
|
-
test('exports abis', () => {
|
6
|
-
expect(abis).toMatchInlineSnapshot(`
|
7
|
-
{
|
8
|
-
"multicall3Abi": [
|
9
|
-
{
|
10
|
-
"inputs": [
|
11
|
-
{
|
12
|
-
"components": [
|
13
|
-
{
|
14
|
-
"name": "target",
|
15
|
-
"type": "address",
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"name": "allowFailure",
|
19
|
-
"type": "bool",
|
20
|
-
},
|
21
|
-
{
|
22
|
-
"name": "callData",
|
23
|
-
"type": "bytes",
|
24
|
-
},
|
25
|
-
],
|
26
|
-
"name": "calls",
|
27
|
-
"type": "tuple[]",
|
28
|
-
},
|
29
|
-
],
|
30
|
-
"name": "aggregate3",
|
31
|
-
"outputs": [
|
32
|
-
{
|
33
|
-
"components": [
|
34
|
-
{
|
35
|
-
"name": "success",
|
36
|
-
"type": "bool",
|
37
|
-
},
|
38
|
-
{
|
39
|
-
"name": "returnData",
|
40
|
-
"type": "bytes",
|
41
|
-
},
|
42
|
-
],
|
43
|
-
"name": "returnData",
|
44
|
-
"type": "tuple[]",
|
45
|
-
},
|
46
|
-
],
|
47
|
-
"stateMutability": "view",
|
48
|
-
"type": "function",
|
49
|
-
},
|
50
|
-
],
|
51
|
-
}
|
52
|
-
`)
|
53
|
-
})
|
package/src/constants/abis.ts
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
/* [Multicall3](https://github.com/mds1/multicall) */
|
2
|
-
export const multicall3Abi = [
|
3
|
-
{
|
4
|
-
inputs: [
|
5
|
-
{
|
6
|
-
components: [
|
7
|
-
{
|
8
|
-
name: 'target',
|
9
|
-
type: 'address',
|
10
|
-
},
|
11
|
-
{
|
12
|
-
name: 'allowFailure',
|
13
|
-
type: 'bool',
|
14
|
-
},
|
15
|
-
{
|
16
|
-
name: 'callData',
|
17
|
-
type: 'bytes',
|
18
|
-
},
|
19
|
-
],
|
20
|
-
name: 'calls',
|
21
|
-
type: 'tuple[]',
|
22
|
-
},
|
23
|
-
],
|
24
|
-
name: 'aggregate3',
|
25
|
-
outputs: [
|
26
|
-
{
|
27
|
-
components: [
|
28
|
-
{
|
29
|
-
name: 'success',
|
30
|
-
type: 'bool',
|
31
|
-
},
|
32
|
-
{
|
33
|
-
name: 'returnData',
|
34
|
-
type: 'bytes',
|
35
|
-
},
|
36
|
-
],
|
37
|
-
name: 'returnData',
|
38
|
-
type: 'tuple[]',
|
39
|
-
},
|
40
|
-
],
|
41
|
-
stateMutability: 'view',
|
42
|
-
type: 'function',
|
43
|
-
},
|
44
|
-
] as const
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { expect, test } from 'vitest'
|
2
|
-
|
3
|
-
import * as index from './index'
|
4
|
-
|
5
|
-
test('exports index', () => {
|
6
|
-
expect(Object.keys(index)).toMatchInlineSnapshot(`
|
7
|
-
[
|
8
|
-
"multicall3Abi",
|
9
|
-
"panicReasons",
|
10
|
-
"solidityError",
|
11
|
-
"solidityPanic",
|
12
|
-
]
|
13
|
-
`)
|
14
|
-
})
|
package/src/constants/index.ts
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
import { expect, test } from 'vitest'
|
2
|
-
|
3
|
-
import * as solidity from './solidity'
|
4
|
-
|
5
|
-
test('exports solidity constants', () => {
|
6
|
-
expect(solidity).toMatchInlineSnapshot(`
|
7
|
-
{
|
8
|
-
"panicReasons": {
|
9
|
-
"1": "An \`assert\` condition failed.",
|
10
|
-
"17": "Arithmic operation resulted in underflow or overflow.",
|
11
|
-
"18": "Division or modulo by zero (e.g. \`5 / 0\` or \`23 % 0\`).",
|
12
|
-
"33": "Attempted to convert to an invalid type.",
|
13
|
-
"34": "Attempted to access a storage byte array that is incorrectly encoded.",
|
14
|
-
"49": "Performed \`.pop()\` on an empty array",
|
15
|
-
"50": "Array index is out of bounds.",
|
16
|
-
"65": "Allocated too much memory or created an array which is too large.",
|
17
|
-
"81": "Attempted to call a zero-initialized variable of internal function type.",
|
18
|
-
},
|
19
|
-
"solidityError": {
|
20
|
-
"inputs": [
|
21
|
-
{
|
22
|
-
"name": "message",
|
23
|
-
"type": "string",
|
24
|
-
},
|
25
|
-
],
|
26
|
-
"name": "Error",
|
27
|
-
"type": "error",
|
28
|
-
},
|
29
|
-
"solidityPanic": {
|
30
|
-
"inputs": [
|
31
|
-
{
|
32
|
-
"name": "reason",
|
33
|
-
"type": "uint256",
|
34
|
-
},
|
35
|
-
],
|
36
|
-
"name": "Panic",
|
37
|
-
"type": "error",
|
38
|
-
},
|
39
|
-
}
|
40
|
-
`)
|
41
|
-
})
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { AbiError } from 'abitype'
|
2
|
-
|
3
|
-
// https://docs.soliditylang.org/en/v0.8.16/control-structures.html#panic-via-assert-and-error-via-require
|
4
|
-
export const panicReasons = {
|
5
|
-
1: 'An `assert` condition failed.',
|
6
|
-
17: 'Arithmic operation resulted in underflow or overflow.',
|
7
|
-
18: 'Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).',
|
8
|
-
33: 'Attempted to convert to an invalid type.',
|
9
|
-
34: 'Attempted to access a storage byte array that is incorrectly encoded.',
|
10
|
-
49: 'Performed `.pop()` on an empty array',
|
11
|
-
50: 'Array index is out of bounds.',
|
12
|
-
65: 'Allocated too much memory or created an array which is too large.',
|
13
|
-
81: 'Attempted to call a zero-initialized variable of internal function type.',
|
14
|
-
} as const
|
15
|
-
|
16
|
-
export const solidityError: AbiError = {
|
17
|
-
inputs: [
|
18
|
-
{
|
19
|
-
name: 'message',
|
20
|
-
type: 'string',
|
21
|
-
},
|
22
|
-
],
|
23
|
-
name: 'Error',
|
24
|
-
type: 'error',
|
25
|
-
}
|
26
|
-
export const solidityPanic: AbiError = {
|
27
|
-
inputs: [
|
28
|
-
{
|
29
|
-
name: 'reason',
|
30
|
-
type: 'uint256',
|
31
|
-
},
|
32
|
-
],
|
33
|
-
name: 'Panic',
|
34
|
-
type: 'error',
|
35
|
-
}
|
package/src/ens.ts
DELETED
package/src/errors/abi.test.ts
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
import { expect, test } from 'vitest'
|
2
|
-
import {
|
3
|
-
AbiDecodingDataSizeInvalidError,
|
4
|
-
AbiEncodingArrayLengthMismatchError,
|
5
|
-
AbiEncodingLengthMismatchError,
|
6
|
-
InvalidAbiDecodingTypeError,
|
7
|
-
InvalidAbiEncodingTypeError,
|
8
|
-
InvalidArrayError,
|
9
|
-
} from './abi'
|
10
|
-
|
11
|
-
test('AbiDecodingDataSizeInvalidError', () => {
|
12
|
-
expect(new AbiDecodingDataSizeInvalidError(69)).toMatchInlineSnapshot(`
|
13
|
-
[AbiDecodingDataSizeInvalidError: Data size of 69 bytes is invalid.
|
14
|
-
Size must be in increments of 32 bytes (size % 32 === 0).
|
15
|
-
|
16
|
-
Version: viem@1.0.2]
|
17
|
-
`)
|
18
|
-
})
|
19
|
-
|
20
|
-
test('InvalidAbiDecodingTypeError', () => {
|
21
|
-
expect(
|
22
|
-
new InvalidAbiDecodingTypeError('lol', { docsPath: '/lol' }),
|
23
|
-
).toMatchInlineSnapshot(`
|
24
|
-
[InvalidAbiDecodingType: Type "lol" is not a valid decoding type.
|
25
|
-
Please provide a valid ABI type.
|
26
|
-
|
27
|
-
Docs: https://viem.sh/lol
|
28
|
-
Version: viem@1.0.2]
|
29
|
-
`)
|
30
|
-
})
|
31
|
-
|
32
|
-
test('AbiEncodingArrayLengthMismatchError', () => {
|
33
|
-
expect(
|
34
|
-
new AbiEncodingArrayLengthMismatchError({
|
35
|
-
expectedLength: 69,
|
36
|
-
givenLength: 420,
|
37
|
-
type: 'uint256[3]',
|
38
|
-
}),
|
39
|
-
).toMatchInlineSnapshot(`
|
40
|
-
[AbiEncodingArrayLengthMismatchError: ABI encoding array length mismatch for type uint256[3].
|
41
|
-
Expected length: 69
|
42
|
-
Given length: 420
|
43
|
-
|
44
|
-
Version: viem@1.0.2]
|
45
|
-
`)
|
46
|
-
})
|
47
|
-
|
48
|
-
test('AbiEncodingLengthMismatchError', () => {
|
49
|
-
expect(
|
50
|
-
new AbiEncodingLengthMismatchError({
|
51
|
-
expectedLength: 69,
|
52
|
-
givenLength: 420,
|
53
|
-
}),
|
54
|
-
).toMatchInlineSnapshot(`
|
55
|
-
[AbiEncodingLengthMismatchError: ABI encoding params/values length mismatch.
|
56
|
-
Expected length (params): 69
|
57
|
-
Given length (values): 420
|
58
|
-
|
59
|
-
Version: viem@1.0.2]
|
60
|
-
`)
|
61
|
-
})
|
62
|
-
|
63
|
-
test('InvalidAbiEncodingTypeError', () => {
|
64
|
-
expect(
|
65
|
-
new InvalidAbiEncodingTypeError('lol', { docsPath: '/lol' }),
|
66
|
-
).toMatchInlineSnapshot(`
|
67
|
-
[InvalidAbiEncodingType: Type "lol" is not a valid encoding type.
|
68
|
-
Please provide a valid ABI type.
|
69
|
-
|
70
|
-
Docs: https://viem.sh/lol
|
71
|
-
Version: viem@1.0.2]
|
72
|
-
`)
|
73
|
-
})
|
74
|
-
|
75
|
-
test('InvalidArrayError', () => {
|
76
|
-
expect(new InvalidArrayError('lol')).toMatchInlineSnapshot(`
|
77
|
-
[InvalidArrayError: Value "lol" is not a valid array.
|
78
|
-
|
79
|
-
Version: viem@1.0.2]
|
80
|
-
`)
|
81
|
-
})
|
package/src/errors/abi.ts
DELETED
@@ -1,238 +0,0 @@
|
|
1
|
-
import { Hex } from '../types'
|
2
|
-
import { BaseError } from './base'
|
3
|
-
|
4
|
-
export class AbiConstructorNotFoundError extends BaseError {
|
5
|
-
name = 'AbiConstructorNotFoundError'
|
6
|
-
constructor({ docsPath }: { docsPath: string }) {
|
7
|
-
super(
|
8
|
-
[
|
9
|
-
'A constructor was not found on the ABI.',
|
10
|
-
'Make sure you are using the correct ABI and that the constructor exists on it.',
|
11
|
-
].join('\n'),
|
12
|
-
{
|
13
|
-
docsPath,
|
14
|
-
},
|
15
|
-
)
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
export class AbiConstructorParamsNotFoundError extends BaseError {
|
20
|
-
name = 'AbiConstructorParamsNotFoundError'
|
21
|
-
constructor({ docsPath }: { docsPath: string }) {
|
22
|
-
super(
|
23
|
-
[
|
24
|
-
'Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.',
|
25
|
-
'Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.',
|
26
|
-
].join('\n'),
|
27
|
-
{
|
28
|
-
docsPath,
|
29
|
-
},
|
30
|
-
)
|
31
|
-
}
|
32
|
-
}
|
33
|
-
|
34
|
-
export class AbiDecodingDataSizeInvalidError extends BaseError {
|
35
|
-
name = 'AbiDecodingDataSizeInvalidError'
|
36
|
-
constructor(size: number) {
|
37
|
-
super(
|
38
|
-
[
|
39
|
-
`Data size of ${size} bytes is invalid.`,
|
40
|
-
'Size must be in increments of 32 bytes (size % 32 === 0).',
|
41
|
-
].join('\n'),
|
42
|
-
)
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
export class AbiDecodingZeroDataError extends BaseError {
|
47
|
-
name = 'AbiDecodingZeroDataError'
|
48
|
-
constructor() {
|
49
|
-
super('Cannot decode zero data ("0x") with ABI parameters.')
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
export class AbiEncodingArrayLengthMismatchError extends BaseError {
|
54
|
-
name = 'AbiEncodingArrayLengthMismatchError'
|
55
|
-
constructor({
|
56
|
-
expectedLength,
|
57
|
-
givenLength,
|
58
|
-
type,
|
59
|
-
}: { expectedLength: number; givenLength: number; type: string }) {
|
60
|
-
super(
|
61
|
-
[
|
62
|
-
`ABI encoding array length mismatch for type ${type}.`,
|
63
|
-
`Expected length: ${expectedLength}`,
|
64
|
-
`Given length: ${givenLength}`,
|
65
|
-
].join('\n'),
|
66
|
-
)
|
67
|
-
}
|
68
|
-
}
|
69
|
-
|
70
|
-
export class AbiEncodingLengthMismatchError extends BaseError {
|
71
|
-
name = 'AbiEncodingLengthMismatchError'
|
72
|
-
constructor({
|
73
|
-
expectedLength,
|
74
|
-
givenLength,
|
75
|
-
}: { expectedLength: number; givenLength: number }) {
|
76
|
-
super(
|
77
|
-
[
|
78
|
-
'ABI encoding params/values length mismatch.',
|
79
|
-
`Expected length (params): ${expectedLength}`,
|
80
|
-
`Given length (values): ${givenLength}`,
|
81
|
-
].join('\n'),
|
82
|
-
)
|
83
|
-
}
|
84
|
-
}
|
85
|
-
|
86
|
-
export class AbiErrorInputsNotFoundError extends BaseError {
|
87
|
-
name = 'AbiErrorInputsNotFoundError'
|
88
|
-
constructor(errorName: string, { docsPath }: { docsPath: string }) {
|
89
|
-
super(
|
90
|
-
[
|
91
|
-
`Arguments (\`args\`) were provided to "${errorName}", but "${errorName}" on the ABI does not contain any parameters (\`inputs\`).`,
|
92
|
-
'Cannot encode error result without knowing what the parameter types are.',
|
93
|
-
'Make sure you are using the correct ABI and that the inputs exist on it.',
|
94
|
-
].join('\n'),
|
95
|
-
{
|
96
|
-
docsPath,
|
97
|
-
},
|
98
|
-
)
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
export class AbiErrorNotFoundError extends BaseError {
|
103
|
-
name = 'AbiErrorNotFoundError'
|
104
|
-
constructor(errorName: string, { docsPath }: { docsPath: string }) {
|
105
|
-
super(
|
106
|
-
[
|
107
|
-
`Error "${errorName}" not found on ABI.`,
|
108
|
-
'Make sure you are using the correct ABI and that the error exists on it.',
|
109
|
-
].join('\n'),
|
110
|
-
{
|
111
|
-
docsPath,
|
112
|
-
},
|
113
|
-
)
|
114
|
-
}
|
115
|
-
}
|
116
|
-
|
117
|
-
export class AbiErrorSignatureNotFoundError extends BaseError {
|
118
|
-
name = 'AbiErrorSignatureNotFoundError'
|
119
|
-
constructor(signature: Hex, { docsPath }: { docsPath: string }) {
|
120
|
-
super(
|
121
|
-
[
|
122
|
-
`Encoded error signature "${signature}" not found on ABI.`,
|
123
|
-
'Make sure you are using the correct ABI and that the error exists on it.',
|
124
|
-
`You can look up the signature "${signature}" here: https://sig.eth.samczsun.com/.`,
|
125
|
-
].join('\n'),
|
126
|
-
{
|
127
|
-
docsPath,
|
128
|
-
},
|
129
|
-
)
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
export class AbiEventNotFoundError extends BaseError {
|
134
|
-
name = 'AbiEventNotFoundError'
|
135
|
-
constructor(eventName: string, { docsPath }: { docsPath: string }) {
|
136
|
-
super(
|
137
|
-
[
|
138
|
-
`Event "${eventName}" not found on ABI.`,
|
139
|
-
'Make sure you are using the correct ABI and that the event exists on it.',
|
140
|
-
].join('\n'),
|
141
|
-
{
|
142
|
-
docsPath,
|
143
|
-
},
|
144
|
-
)
|
145
|
-
}
|
146
|
-
}
|
147
|
-
|
148
|
-
export class AbiFunctionNotFoundError extends BaseError {
|
149
|
-
name = 'AbiFunctionNotFoundError'
|
150
|
-
constructor(functionName: string, { docsPath }: { docsPath: string }) {
|
151
|
-
super(
|
152
|
-
[
|
153
|
-
`Function "${functionName}" not found on ABI.`,
|
154
|
-
'Make sure you are using the correct ABI and that the function exists on it.',
|
155
|
-
].join('\n'),
|
156
|
-
{
|
157
|
-
docsPath,
|
158
|
-
},
|
159
|
-
)
|
160
|
-
}
|
161
|
-
}
|
162
|
-
|
163
|
-
export class AbiFunctionOutputsNotFoundError extends BaseError {
|
164
|
-
name = 'AbiFunctionOutputsNotFoundError'
|
165
|
-
constructor(functionName: string, { docsPath }: { docsPath: string }) {
|
166
|
-
super(
|
167
|
-
[
|
168
|
-
`Function "${functionName}" does not contain any \`outputs\` on ABI.`,
|
169
|
-
'Cannot decode function result without knowing what the parameter types are.',
|
170
|
-
'Make sure you are using the correct ABI and that the function exists on it.',
|
171
|
-
].join('\n'),
|
172
|
-
{
|
173
|
-
docsPath,
|
174
|
-
},
|
175
|
-
)
|
176
|
-
}
|
177
|
-
}
|
178
|
-
|
179
|
-
export class AbiFunctionSignatureNotFoundError extends BaseError {
|
180
|
-
name = 'AbiFunctionSignatureNotFoundError'
|
181
|
-
constructor(signature: Hex, { docsPath }: { docsPath: string }) {
|
182
|
-
super(
|
183
|
-
[
|
184
|
-
`Encoded function signature "${signature}" not found on ABI.`,
|
185
|
-
'Make sure you are using the correct ABI and that the function exists on it.',
|
186
|
-
`You can look up the signature "${signature}" here: https://sig.eth.samczsun.com/.`,
|
187
|
-
].join('\n'),
|
188
|
-
{
|
189
|
-
docsPath,
|
190
|
-
},
|
191
|
-
)
|
192
|
-
}
|
193
|
-
}
|
194
|
-
|
195
|
-
export class InvalidAbiEncodingTypeError extends BaseError {
|
196
|
-
name = 'InvalidAbiEncodingType'
|
197
|
-
constructor(type: string, { docsPath }: { docsPath: string }) {
|
198
|
-
super(
|
199
|
-
[
|
200
|
-
`Type "${type}" is not a valid encoding type.`,
|
201
|
-
'Please provide a valid ABI type.',
|
202
|
-
].join('\n'),
|
203
|
-
{ docsPath },
|
204
|
-
)
|
205
|
-
}
|
206
|
-
}
|
207
|
-
|
208
|
-
export class InvalidAbiDecodingTypeError extends BaseError {
|
209
|
-
name = 'InvalidAbiDecodingType'
|
210
|
-
constructor(type: string, { docsPath }: { docsPath: string }) {
|
211
|
-
super(
|
212
|
-
[
|
213
|
-
`Type "${type}" is not a valid decoding type.`,
|
214
|
-
'Please provide a valid ABI type.',
|
215
|
-
].join('\n'),
|
216
|
-
{ docsPath },
|
217
|
-
)
|
218
|
-
}
|
219
|
-
}
|
220
|
-
|
221
|
-
export class InvalidArrayError extends BaseError {
|
222
|
-
name = 'InvalidArrayError'
|
223
|
-
constructor(value: unknown) {
|
224
|
-
super([`Value "${value}" is not a valid array.`].join('\n'))
|
225
|
-
}
|
226
|
-
}
|
227
|
-
|
228
|
-
export class InvalidDefinitionTypeError extends BaseError {
|
229
|
-
name = 'InvalidDefinitionTypeError'
|
230
|
-
constructor(type: string) {
|
231
|
-
super(
|
232
|
-
[
|
233
|
-
`"${type}" is not a valid definition type.`,
|
234
|
-
'Valid types: "function", "event", "error"',
|
235
|
-
].join('\n'),
|
236
|
-
)
|
237
|
-
}
|
238
|
-
}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { expect, test } from 'vitest'
|
2
|
-
import { InvalidAddressError } from './address'
|
3
|
-
|
4
|
-
test('InvalidAddressError', () => {
|
5
|
-
expect(
|
6
|
-
new InvalidAddressError({
|
7
|
-
address: '0xa5cc3c03994db5b0d9a5eEdD10Cabab0813678az',
|
8
|
-
}),
|
9
|
-
).toMatchInlineSnapshot(`
|
10
|
-
[InvalidAddressError: Address "0xa5cc3c03994db5b0d9a5eEdD10Cabab0813678az" is invalid.
|
11
|
-
|
12
|
-
Version: viem@1.0.2]
|
13
|
-
`)
|
14
|
-
})
|
package/src/errors/address.ts
DELETED