viem 0.0.1-alpha.2 → 0.0.1-alpha.20
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/chains/package.json +1 -1
- package/clients/package.json +1 -1
- package/dist/{rpc-655c0ba4.d.ts → chain-32f56cfa.d.ts} +78 -17
- package/dist/chain-f12cdc7f.d.ts +5 -0
- package/dist/chains.d.ts +1291 -74
- package/dist/chains.js +125 -129
- package/dist/chains.js.map +1 -0
- package/dist/chains.mjs +129 -0
- package/dist/chains.mjs.map +1 -0
- package/dist/{chunk-3EOU525X.js → chunk-5Q6FSUU2.mjs} +1199 -562
- package/dist/chunk-5Q6FSUU2.mjs.map +1 -0
- package/dist/chunk-FHXXG7I6.js +259 -0
- package/dist/chunk-FHXXG7I6.js.map +1 -0
- package/dist/chunk-IAQPMSGJ.js +176 -0
- package/dist/chunk-IAQPMSGJ.js.map +1 -0
- package/dist/{chunk-4HNVS7AM.js → chunk-MYQNZSWD.mjs} +330 -539
- package/dist/chunk-MYQNZSWD.mjs.map +1 -0
- package/dist/chunk-NHAKUPTF.js +889 -0
- package/dist/chunk-NHAKUPTF.js.map +1 -0
- package/dist/chunk-SF4I2NKC.js +2683 -0
- package/dist/chunk-SF4I2NKC.js.map +1 -0
- package/dist/chunk-T7CBAKLI.mjs +176 -0
- package/dist/chunk-T7CBAKLI.mjs.map +1 -0
- package/dist/chunk-YFKR74XG.js +256 -0
- package/dist/chunk-YFKR74XG.js.map +1 -0
- package/dist/chunk-YODUQCHJ.mjs +256 -0
- package/dist/chunk-YODUQCHJ.mjs.map +1 -0
- package/dist/{chunk-YQRTXQ2G.js → chunk-ZVGTYLKU.mjs} +3 -15
- package/dist/chunk-ZVGTYLKU.mjs.map +1 -0
- package/dist/clients/index.d.ts +8 -7
- package/dist/clients/index.js +24 -25
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/index.mjs +24 -0
- package/dist/clients/index.mjs.map +1 -0
- package/dist/contract-9af4608b.d.ts +142 -0
- package/dist/createClient-5d316c7e.d.ts +62 -0
- package/dist/createPublicClient-9d2b42e1.d.ts +19 -0
- package/dist/createTestClient-79498dab.d.ts +34 -0
- package/dist/createWalletClient-f69a5230.d.ts +30 -0
- package/dist/{eip1193-8f7c22ce.d.ts → eip1193-6c485d63.d.ts} +13 -10
- package/dist/index.d.ts +424 -11
- package/dist/index.js +395 -292
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +395 -0
- package/dist/index.mjs.map +1 -0
- package/dist/{parseGwei-fd7a0f7d.d.ts → parseGwei-4308ad80.d.ts} +82 -139
- package/dist/public.d.ts +11 -0
- package/dist/public.js +59 -0
- package/dist/public.js.map +1 -0
- package/dist/public.mjs +59 -0
- package/dist/public.mjs.map +1 -0
- package/dist/{rpc-3c0e3985.d.ts → rpc-26932bae.d.ts} +1 -38
- package/dist/sendTransaction-1c8290a9.d.ts +12 -0
- package/dist/stopImpersonatingAccount-7781842a.d.ts +156 -0
- package/dist/test.d.ts +6 -0
- package/dist/test.js +60 -0
- package/dist/test.js.map +1 -0
- package/dist/test.mjs +60 -0
- package/dist/test.mjs.map +1 -0
- package/dist/transactionRequest-341b6ed2.d.ts +15 -0
- package/dist/utils/index.d.ts +51 -8
- package/dist/utils/index.js +171 -156
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +171 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/wallet.d.ts +8 -0
- package/dist/wallet.js +24 -0
- package/dist/wallet.js.map +1 -0
- package/dist/wallet.mjs +24 -0
- package/dist/wallet.mjs.map +1 -0
- package/dist/watchAsset-afaad3c7.d.ts +38 -0
- package/dist/{watchAsset-04ab8db5.d.ts → watchPendingTransactions-3b722547.d.ts} +67 -217
- package/dist/{webSocket-c6e0d26f.d.ts → webSocket-b180e679.d.ts} +4 -9
- package/dist/window.d.ts +3 -2
- package/dist/window.js +1 -0
- package/dist/window.js.map +1 -0
- package/dist/window.mjs +1 -0
- package/dist/window.mjs.map +1 -0
- package/package.json +30 -66
- package/src/_test/abis.ts +1413 -0
- package/src/_test/bench.ts +15 -0
- package/src/_test/constants.ts +60 -0
- package/src/_test/globalSetup.ts +11 -0
- package/src/_test/index.ts +23 -0
- package/src/_test/setup.ts +8 -0
- package/src/_test/utils.ts +112 -0
- package/src/actions/index.test.ts +78 -0
- package/src/actions/index.ts +174 -0
- package/src/actions/public/call.bench.ts +48 -0
- package/src/actions/public/call.test.ts +99 -0
- package/src/actions/public/call.ts +97 -0
- package/src/actions/public/createBlockFilter.bench.ts +11 -0
- package/src/actions/public/createBlockFilter.test.ts +9 -0
- package/src/actions/public/createBlockFilter.ts +14 -0
- package/src/actions/public/createContractEventFilter.test.ts +119 -0
- package/src/actions/public/createContractEventFilter.ts +69 -0
- package/src/actions/public/createEventFilter.test.ts +245 -0
- package/src/actions/public/createEventFilter.ts +76 -0
- package/src/actions/public/createPendingTransactionFilter.bench.ts +11 -0
- package/src/actions/public/createPendingTransactionFilter.test.ts +9 -0
- package/src/actions/public/createPendingTransactionFilter.ts +14 -0
- package/src/actions/public/deployContract.test.ts +56 -0
- package/src/actions/public/deployContract.ts +38 -0
- package/src/actions/public/estimateGas.bench.ts +46 -0
- package/src/actions/public/estimateGas.test.ts +92 -0
- package/src/actions/public/estimateGas.ts +61 -0
- package/src/actions/public/getBalance.test.ts +83 -0
- package/src/actions/public/getBalance.ts +37 -0
- package/src/actions/public/getBlock.bench.ts +28 -0
- package/src/actions/public/getBlock.test.ts +575 -0
- package/src/actions/public/getBlock.ts +65 -0
- package/src/actions/public/getBlockNumber.bench.ts +28 -0
- package/src/actions/public/getBlockNumber.test.ts +27 -0
- package/src/actions/public/getBlockNumber.ts +32 -0
- package/src/actions/public/getBlockTransactionCount.bench.ts +15 -0
- package/src/actions/public/getBlockTransactionCount.test.ts +57 -0
- package/src/actions/public/getBlockTransactionCount.ts +52 -0
- package/src/actions/public/getBytecode.test.ts +27 -0
- package/src/actions/public/getBytecode.ts +32 -0
- package/src/actions/public/getChainId.bench.ts +15 -0
- package/src/actions/public/getChainId.test.ts +8 -0
- package/src/actions/public/getChainId.ts +7 -0
- package/src/actions/public/getFeeHistory.bench.ts +18 -0
- package/src/actions/public/getFeeHistory.test.ts +137 -0
- package/src/actions/public/getFeeHistory.ts +44 -0
- package/src/actions/public/getFilterChanges.bench.ts +13 -0
- package/src/actions/public/getFilterChanges.test.ts +189 -0
- package/src/actions/public/getFilterChanges.ts +23 -0
- package/src/actions/public/getFilterLogs.test.ts +104 -0
- package/src/actions/public/getFilterLogs.ts +20 -0
- package/src/actions/public/getGasPrice.bench.ts +28 -0
- package/src/actions/public/getGasPrice.test.ts +8 -0
- package/src/actions/public/getGasPrice.ts +15 -0
- package/src/actions/public/getLogs.test.ts +107 -0
- package/src/actions/public/getLogs.ts +84 -0
- package/src/actions/public/getStorageAt.test.ts +34 -0
- package/src/actions/public/getStorageAt.ts +32 -0
- package/src/actions/public/getTransaction.bench.ts +33 -0
- package/src/actions/public/getTransaction.test.ts +311 -0
- package/src/actions/public/getTransaction.ts +95 -0
- package/src/actions/public/getTransactionConfirmations.test.ts +69 -0
- package/src/actions/public/getTransactionConfirmations.ts +38 -0
- package/src/actions/public/getTransactionCount.test.ts +56 -0
- package/src/actions/public/getTransactionCount.ts +34 -0
- package/src/actions/public/getTransactionReceipt.bench.ts +33 -0
- package/src/actions/public/getTransactionReceipt.test.ts +179 -0
- package/src/actions/public/getTransactionReceipt.ts +34 -0
- package/src/actions/public/index.test.ts +43 -0
- package/src/actions/public/index.ts +149 -0
- package/src/actions/public/readContract.test.ts +128 -0
- package/src/actions/public/readContract.ts +87 -0
- package/src/actions/public/simulateContract.bench.ts +31 -0
- package/src/actions/public/simulateContract.test.ts +238 -0
- package/src/actions/public/simulateContract.ts +98 -0
- package/src/actions/public/uninstallFilter.bench.ts +13 -0
- package/src/actions/public/uninstallFilter.test.ts +65 -0
- package/src/actions/public/uninstallFilter.ts +17 -0
- package/src/actions/public/waitForTransactionReceipt.test.ts +322 -0
- package/src/actions/public/waitForTransactionReceipt.ts +170 -0
- package/src/actions/public/watchBlockNumber.test.ts +166 -0
- package/src/actions/public/watchBlockNumber.ts +79 -0
- package/src/actions/public/watchBlocks.test.ts +210 -0
- package/src/actions/public/watchBlocks.ts +114 -0
- package/src/actions/public/watchContractEvent.test.ts +301 -0
- package/src/actions/public/watchContractEvent.ts +108 -0
- package/src/actions/public/watchEvent.test.ts +190 -0
- package/src/actions/public/watchEvent.ts +95 -0
- package/src/actions/public/watchPendingTransactions.test.ts +116 -0
- package/src/actions/public/watchPendingTransactions.ts +74 -0
- package/src/actions/test/dropTransaction.test.ts +34 -0
- package/src/actions/test/dropTransaction.ts +17 -0
- package/src/actions/test/getAutomine.test.ts +14 -0
- package/src/actions/test/getAutomine.ts +11 -0
- package/src/actions/test/getTxpoolContent.test.ts +45 -0
- package/src/actions/test/getTxpoolContent.ts +7 -0
- package/src/actions/test/getTxpoolStatus.test.ts +41 -0
- package/src/actions/test/getTxpoolStatus.ts +12 -0
- package/src/actions/test/impersonateAccount.test.ts +28 -0
- package/src/actions/test/impersonateAccount.ts +17 -0
- package/src/actions/test/increaseTime.test.ts +18 -0
- package/src/actions/test/increaseTime.ts +17 -0
- package/src/actions/test/index.test.ts +38 -0
- package/src/actions/test/index.ts +77 -0
- package/src/actions/test/inspectTxpool.test.ts +50 -0
- package/src/actions/test/inspectTxpool.ts +7 -0
- package/src/actions/test/mine.test.ts +20 -0
- package/src/actions/test/mine.ts +16 -0
- package/src/actions/test/removeBlockTimestampInterval.test.ts +23 -0
- package/src/actions/test/removeBlockTimestampInterval.ts +7 -0
- package/src/actions/test/reset.test.ts +19 -0
- package/src/actions/test/reset.ts +18 -0
- package/src/actions/test/revert.test.ts +39 -0
- package/src/actions/test/revert.ts +14 -0
- package/src/actions/test/sendUnsignedTransaction.test.ts +52 -0
- package/src/actions/test/sendUnsignedTransaction.ts +19 -0
- package/src/actions/test/setAutomine.test.ts +14 -0
- package/src/actions/test/setAutomine.ts +8 -0
- package/src/actions/test/setBalance.test.ts +29 -0
- package/src/actions/test/setBalance.ts +20 -0
- package/src/actions/test/setBlockGasLimit.test.ts +21 -0
- package/src/actions/test/setBlockGasLimit.ts +17 -0
- package/src/actions/test/setBlockTimestampInterval.test.ts +23 -0
- package/src/actions/test/setBlockTimestampInterval.ts +16 -0
- package/src/actions/test/setCode.test.ts +26 -0
- package/src/actions/test/setCode.ts +19 -0
- package/src/actions/test/setCoinbase.test.ts +11 -0
- package/src/actions/test/setCoinbase.ts +17 -0
- package/src/actions/test/setIntervalMining.test.ts +30 -0
- package/src/actions/test/setIntervalMining.ts +16 -0
- package/src/actions/test/setLoggingEnabled.test.ts +10 -0
- package/src/actions/test/setLoggingEnabled.ts +8 -0
- package/src/actions/test/setMinGasPrice.test.ts +22 -0
- package/src/actions/test/setMinGasPrice.ts +17 -0
- package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +23 -0
- package/src/actions/test/setNextBlockBaseFeePerGas.ts +17 -0
- package/src/actions/test/setNextBlockTimestamp.test.ts +19 -0
- package/src/actions/test/setNextBlockTimestamp.ts +17 -0
- package/src/actions/test/setNonce.test.ts +28 -0
- package/src/actions/test/setNonce.ts +20 -0
- package/src/actions/test/setRpcUrl.test.ts +9 -0
- package/src/actions/test/setRpcUrl.ts +8 -0
- package/src/actions/test/setStorageAt.test.ts +36 -0
- package/src/actions/test/setStorageAt.ts +26 -0
- package/src/actions/test/snapshot.test.ts +18 -0
- package/src/actions/test/snapshot.ts +7 -0
- package/src/actions/test/stopImpersonatingAccount.test.ts +31 -0
- package/src/actions/test/stopImpersonatingAccount.ts +17 -0
- package/src/actions/wallet/addChain.test.ts +14 -0
- package/src/actions/wallet/addChain.ts +21 -0
- package/src/actions/wallet/getAccounts.test.ts +22 -0
- package/src/actions/wallet/getAccounts.ts +7 -0
- package/src/actions/wallet/getPermissions.test.ts +24 -0
- package/src/actions/wallet/getPermissions.ts +9 -0
- package/src/actions/wallet/index.test.ts +20 -0
- package/src/actions/wallet/index.ts +30 -0
- package/src/actions/wallet/requestAccounts.test.ts +13 -0
- package/src/actions/wallet/requestAccounts.ts +7 -0
- package/src/actions/wallet/requestPermissions.test.ts +26 -0
- package/src/actions/wallet/requestPermissions.ts +19 -0
- package/src/actions/wallet/sendTransaction.bench.ts +57 -0
- package/src/actions/wallet/sendTransaction.test.ts +440 -0
- package/src/actions/wallet/sendTransaction.ts +77 -0
- package/src/actions/wallet/signMessage.test.ts +62 -0
- package/src/actions/wallet/signMessage.ts +35 -0
- package/src/actions/wallet/switchChain.test.ts +22 -0
- package/src/actions/wallet/switchChain.ts +19 -0
- package/src/actions/wallet/watchAsset.test.ts +41 -0
- package/src/actions/wallet/watchAsset.ts +16 -0
- package/src/actions/wallet/writeContract.test.ts +54 -0
- package/src/actions/wallet/writeContract.ts +56 -0
- package/src/chains.test.ts +1912 -0
- package/src/chains.ts +99 -0
- package/src/clients/createClient.test.ts +295 -0
- package/src/clients/createClient.ts +81 -0
- package/src/clients/createPublicClient.test.ts +165 -0
- package/src/clients/createPublicClient.ts +49 -0
- package/src/clients/createTestClient.test.ts +145 -0
- package/src/clients/createTestClient.ts +72 -0
- package/src/clients/createWalletClient.test.ts +121 -0
- package/src/clients/createWalletClient.ts +54 -0
- package/src/clients/index.test.ts +19 -0
- package/src/clients/index.ts +31 -0
- package/src/clients/transports/createTransport.test.ts +58 -0
- package/src/clients/transports/createTransport.ts +48 -0
- package/src/clients/transports/custom.test.ts +98 -0
- package/src/clients/transports/custom.ts +34 -0
- package/src/clients/transports/fallback.test.ts +223 -0
- package/src/clients/transports/fallback.ts +48 -0
- package/src/clients/transports/http.test.ts +110 -0
- package/src/clients/transports/http.ts +51 -0
- package/src/clients/transports/index.test.ts +15 -0
- package/src/clients/transports/index.ts +17 -0
- package/src/clients/transports/webSocket.test.ts +164 -0
- package/src/clients/transports/webSocket.ts +117 -0
- package/src/errors/abi.test.ts +83 -0
- package/src/errors/abi.ts +238 -0
- package/src/errors/address.test.ts +14 -0
- package/src/errors/address.ts +9 -0
- package/src/errors/base.test.ts +72 -0
- package/src/errors/base.ts +57 -0
- package/src/errors/block.test.ts +24 -0
- package/src/errors/block.ts +18 -0
- package/src/errors/contract.ts +125 -0
- package/src/errors/data.ts +20 -0
- package/src/errors/encoding.ts +60 -0
- package/src/errors/index.ts +77 -0
- package/src/errors/log.ts +8 -0
- package/src/errors/request.test.ts +331 -0
- package/src/errors/request.ts +163 -0
- package/src/errors/rpc.test.ts +88 -0
- package/src/errors/rpc.ts +113 -0
- package/src/errors/transaction.test.ts +83 -0
- package/src/errors/transaction.ts +54 -0
- package/src/errors/transport.test.ts +12 -0
- package/src/errors/transport.ts +12 -0
- package/src/index.test.ts +214 -0
- package/src/index.ts +373 -0
- package/src/public.ts +80 -0
- package/src/test.ts +51 -0
- package/src/types/block.ts +71 -0
- package/src/types/chain.ts +6 -0
- package/src/types/contract.ts +342 -0
- package/src/types/eip1193.ts +1041 -0
- package/src/types/fee.ts +47 -0
- package/src/types/filter.ts +8 -0
- package/src/types/formatter.ts +23 -0
- package/src/types/index.ts +78 -0
- package/src/types/log.ts +22 -0
- package/src/types/misc.ts +5 -0
- package/src/types/rpc.ts +35 -0
- package/src/types/transaction.ts +145 -0
- package/src/types/utils.ts +67 -0
- package/src/types/window.ts +9 -0
- package/src/utils/abi/decodeAbi.bench.ts +135 -0
- package/src/utils/abi/decodeAbi.test.ts +1615 -0
- package/src/utils/abi/decodeAbi.ts +296 -0
- package/src/utils/abi/decodeDeployData.test.ts +159 -0
- package/src/utils/abi/decodeDeployData.ts +41 -0
- package/src/utils/abi/decodeErrorResult.test.ts +130 -0
- package/src/utils/abi/decodeErrorResult.ts +28 -0
- package/src/utils/abi/decodeFunctionData.test.ts +140 -0
- package/src/utils/abi/decodeFunctionData.ts +29 -0
- package/src/utils/abi/decodeFunctionResult.test.ts +262 -0
- package/src/utils/abi/decodeFunctionResult.ts +53 -0
- package/src/utils/abi/encodeAbi.bench.ts +163 -0
- package/src/utils/abi/encodeAbi.test.ts +1414 -0
- package/src/utils/abi/encodeAbi.ts +258 -0
- package/src/utils/abi/encodeDeployData.test.ts +131 -0
- package/src/utils/abi/encodeDeployData.ts +37 -0
- package/src/utils/abi/encodeErrorResult.test.ts +197 -0
- package/src/utils/abi/encodeErrorResult.ts +40 -0
- package/src/utils/abi/encodeEventTopics.test.ts +348 -0
- package/src/utils/abi/encodeEventTopics.ts +69 -0
- package/src/utils/abi/encodeFunctionData.test.ts +140 -0
- package/src/utils/abi/encodeFunctionData.ts +38 -0
- package/src/utils/abi/encodeFunctionResult.test.ts +284 -0
- package/src/utils/abi/encodeFunctionResult.ts +39 -0
- package/src/utils/abi/formatAbiItem.test.ts +335 -0
- package/src/utils/abi/formatAbiItem.ts +41 -0
- package/src/utils/abi/formatAbiItemWithArgs.test.ts +291 -0
- package/src/utils/abi/formatAbiItemWithArgs.ts +27 -0
- package/src/utils/abi/getAbiItem.ts +5 -0
- package/src/utils/abi/index.test.ts +23 -0
- package/src/utils/abi/index.ts +38 -0
- package/src/utils/address/getAddress.bench.ts +22 -0
- package/src/utils/address/getAddress.test.ts +46 -0
- package/src/utils/address/getAddress.ts +28 -0
- package/src/utils/address/getContractAddress.bench.ts +20 -0
- package/src/utils/address/getContractAddress.test.ts +78 -0
- package/src/utils/address/getContractAddress.ts +59 -0
- package/src/utils/address/index.test.ts +17 -0
- package/src/utils/address/index.ts +16 -0
- package/src/utils/address/isAddress.test.ts +10 -0
- package/src/utils/address/isAddress.ts +10 -0
- package/src/utils/address/isAddressEqual.test.ts +55 -0
- package/src/utils/address/isAddressEqual.ts +6 -0
- package/src/utils/buildRequest.test.ts +365 -0
- package/src/utils/buildRequest.ts +45 -0
- package/src/utils/chain.test.ts +43 -0
- package/src/utils/chain.ts +8 -0
- package/src/utils/contract/extractFunctionParts.test.ts +109 -0
- package/src/utils/contract/extractFunctionParts.ts +27 -0
- package/src/utils/contract/getContractError.test.ts +97 -0
- package/src/utils/contract/getContractError.ts +66 -0
- package/src/utils/contract/index.test.ts +15 -0
- package/src/utils/contract/index.ts +8 -0
- package/src/utils/data/concat.test.ts +35 -0
- package/src/utils/data/concat.ts +34 -0
- package/src/utils/data/index.test.ts +23 -0
- package/src/utils/data/index.ts +13 -0
- package/src/utils/data/isBytes.test.ts +9 -0
- package/src/utils/data/isBytes.ts +7 -0
- package/src/utils/data/isHex.test.ts +13 -0
- package/src/utils/data/isHex.ts +5 -0
- package/src/utils/data/pad.bench.ts +39 -0
- package/src/utils/data/pad.test.ts +367 -0
- package/src/utils/data/pad.ts +53 -0
- package/src/utils/data/size.test.ts +18 -0
- package/src/utils/data/size.ts +13 -0
- package/src/utils/data/slice.test.ts +203 -0
- package/src/utils/data/slice.ts +60 -0
- package/src/utils/data/trim.bench.ts +50 -0
- package/src/utils/data/trim.test.ts +175 -0
- package/src/utils/data/trim.ts +33 -0
- package/src/utils/encoding/decodeBytes.bench.ts +40 -0
- package/src/utils/encoding/decodeBytes.test.ts +144 -0
- package/src/utils/encoding/decodeBytes.ts +63 -0
- package/src/utils/encoding/decodeHex.bench.ts +24 -0
- package/src/utils/encoding/decodeHex.test.ts +167 -0
- package/src/utils/encoding/decodeHex.ts +76 -0
- package/src/utils/encoding/decodeRlp.bench.ts +34 -0
- package/src/utils/encoding/decodeRlp.test.ts +350 -0
- package/src/utils/encoding/decodeRlp.ts +121 -0
- package/src/utils/encoding/encodeBytes.bench.ts +41 -0
- package/src/utils/encoding/encodeBytes.test.ts +676 -0
- package/src/utils/encoding/encodeBytes.ts +59 -0
- package/src/utils/encoding/encodeHex.bench.ts +60 -0
- package/src/utils/encoding/encodeHex.test.ts +232 -0
- package/src/utils/encoding/encodeHex.ts +104 -0
- package/src/utils/encoding/encodeRlp.bench.ts +54 -0
- package/src/utils/encoding/encodeRlp.test.ts +254 -0
- package/src/utils/encoding/encodeRlp.ts +48 -0
- package/src/utils/encoding/index.test.ts +32 -0
- package/src/utils/encoding/index.ts +36 -0
- package/src/utils/formatters/block.bench.ts +51 -0
- package/src/utils/formatters/block.test.ts +115 -0
- package/src/utils/formatters/block.ts +37 -0
- package/src/utils/formatters/extract.test.ts +14 -0
- package/src/utils/formatters/extract.ts +18 -0
- package/src/utils/formatters/feeHistory.test.ts +66 -0
- package/src/utils/formatters/feeHistory.ts +12 -0
- package/src/utils/formatters/format.test.ts +93 -0
- package/src/utils/formatters/format.ts +90 -0
- package/src/utils/formatters/index.test.ts +27 -0
- package/src/utils/formatters/index.ts +34 -0
- package/src/utils/formatters/log.test.ts +79 -0
- package/src/utils/formatters/log.ts +12 -0
- package/src/utils/formatters/transaction.test.ts +271 -0
- package/src/utils/formatters/transaction.ts +63 -0
- package/src/utils/formatters/transactionReceipt.bench.ts +73 -0
- package/src/utils/formatters/transactionReceipt.test.ts +151 -0
- package/src/utils/formatters/transactionReceipt.ts +63 -0
- package/src/utils/formatters/transactionRequest.bench.ts +29 -0
- package/src/utils/formatters/transactionRequest.test.ts +237 -0
- package/src/utils/formatters/transactionRequest.ts +56 -0
- package/src/utils/hash/getEventSignature.test.ts +61 -0
- package/src/utils/hash/getEventSignature.ts +4 -0
- package/src/utils/hash/getFunctionSignature.test.ts +22 -0
- package/src/utils/hash/getFunctionSignature.ts +5 -0
- package/src/utils/hash/hashFunction.test.ts +65 -0
- package/src/utils/hash/hashFunction.ts +12 -0
- package/src/utils/hash/index.test.ts +13 -0
- package/src/utils/hash/index.ts +5 -0
- package/src/utils/hash/keccak256.test.ts +59 -0
- package/src/utils/hash/keccak256.ts +23 -0
- package/src/utils/index.test.ts +110 -0
- package/src/utils/index.ts +137 -0
- package/src/utils/observe.test.ts +176 -0
- package/src/utils/observe.ts +66 -0
- package/src/utils/poll.test.ts +127 -0
- package/src/utils/poll.ts +42 -0
- package/src/utils/promise/index.test.ts +14 -0
- package/src/utils/promise/index.ts +3 -0
- package/src/utils/promise/withCache.test.ts +97 -0
- package/src/utils/promise/withCache.ts +73 -0
- package/src/utils/promise/withRetry.test.ts +231 -0
- package/src/utils/promise/withRetry.ts +61 -0
- package/src/utils/promise/withTimeout.test.ts +37 -0
- package/src/utils/promise/withTimeout.ts +39 -0
- package/src/utils/rpc.test.ts +992 -0
- package/src/utils/rpc.ts +292 -0
- package/src/utils/stringify.test.ts +13 -0
- package/src/utils/stringify.ts +5 -0
- package/src/utils/uid.ts +14 -0
- package/src/utils/unit/constants.test.ts +22 -0
- package/src/utils/unit/constants.ts +12 -0
- package/src/utils/unit/formatEther.test.ts +75 -0
- package/src/utils/unit/formatEther.ts +6 -0
- package/src/utils/unit/formatGwei.test.ts +32 -0
- package/src/utils/unit/formatGwei.ts +6 -0
- package/src/utils/unit/formatUnit.bench.ts +26 -0
- package/src/utils/unit/formatUnit.test.ts +40 -0
- package/src/utils/unit/formatUnit.ts +16 -0
- package/src/utils/unit/index.test.ts +28 -0
- package/src/utils/unit/index.ts +7 -0
- package/src/utils/unit/parseEther.test.ts +126 -0
- package/src/utils/unit/parseEther.ts +6 -0
- package/src/utils/unit/parseGwei.test.ts +50 -0
- package/src/utils/unit/parseGwei.ts +6 -0
- package/src/utils/unit/parseUnit.bench.ts +26 -0
- package/src/utils/unit/parseUnit.test.ts +54 -0
- package/src/utils/unit/parseUnit.ts +27 -0
- package/src/utils/wait.ts +3 -0
- package/src/wallet.ts +23 -0
- package/src/window.ts +1 -0
- package/utils/package.json +1 -1
- package/window/package.json +1 -1
- package/actions/package.json +0 -4
- package/dist/BaseError-7688f84e.d.ts +0 -18
- package/dist/actions/index.d.ts +0 -8
- package/dist/actions/index.js +0 -123
- package/dist/createWalletClient-915223f3.d.ts +0 -130
- package/dist/transactionRequest-ade896ac.d.ts +0 -44
@@ -0,0 +1,71 @@
|
|
1
|
+
import type { Address, Hash, Hex } from './misc'
|
2
|
+
import type { Transaction } from './transaction'
|
3
|
+
|
4
|
+
export type Block<TQuantity = bigint, TTransaction = Transaction> = {
|
5
|
+
/** Base fee per gas */
|
6
|
+
baseFeePerGas: TQuantity | null
|
7
|
+
/** Difficulty for this block */
|
8
|
+
difficulty: TQuantity
|
9
|
+
/** "Extra data" field of this block */
|
10
|
+
extraData: Hex
|
11
|
+
/** Maximum gas allowed in this block */
|
12
|
+
gasLimit: TQuantity
|
13
|
+
/** Total used gas by all transactions in this block */
|
14
|
+
gasUsed: TQuantity
|
15
|
+
/** Block hash or `null` if pending */
|
16
|
+
hash: Hash | null
|
17
|
+
/** Logs bloom filter or `null` if pending */
|
18
|
+
logsBloom: Hex | null
|
19
|
+
/** Address that received this block’s mining rewards */
|
20
|
+
miner: Address
|
21
|
+
/** Unique identifier for the block. */
|
22
|
+
mixHash: Hash
|
23
|
+
/** Proof-of-work hash or `null` if pending */
|
24
|
+
nonce: Hex | null
|
25
|
+
/** Block number or `null` if pending */
|
26
|
+
number: TQuantity | null
|
27
|
+
/** Parent block hash */
|
28
|
+
parentHash: Hash
|
29
|
+
/** Root of the this block’s receipts trie */
|
30
|
+
receiptsRoot: Hex
|
31
|
+
sealFields: Hex[]
|
32
|
+
/** SHA3 of the uncles data in this block */
|
33
|
+
sha3Uncles: Hash
|
34
|
+
/** Size of this block in bytes */
|
35
|
+
size: TQuantity
|
36
|
+
/** Root of this block’s final state trie */
|
37
|
+
stateRoot: Hash
|
38
|
+
/** Unix timestamp of when this block was collated */
|
39
|
+
timestamp: TQuantity
|
40
|
+
/** Total difficulty of the chain until this block */
|
41
|
+
totalDifficulty: TQuantity | null
|
42
|
+
/** List of transaction objects or hashes */
|
43
|
+
transactions: Hash[] | TTransaction[]
|
44
|
+
/** Root of this block’s transaction trie */
|
45
|
+
transactionsRoot: Hash
|
46
|
+
/** List of uncle hashes */
|
47
|
+
uncles: Hash[]
|
48
|
+
}
|
49
|
+
|
50
|
+
export type BlockIdentifier<TQuantity = bigint> = {
|
51
|
+
/** Whether or not to throw an error if the block is not in the canonical chain as described below. Only allowed in conjunction with the blockHash tag. Defaults to false. */
|
52
|
+
requireCanonical?: boolean
|
53
|
+
} & (
|
54
|
+
| {
|
55
|
+
/** The block in the canonical chain with this number */
|
56
|
+
blockNumber: BlockNumber<TQuantity>
|
57
|
+
}
|
58
|
+
| {
|
59
|
+
/** The block uniquely identified by this hash. The `blockNumber` and `blockHash` properties are mutually exclusive; exactly one of them must be set. */
|
60
|
+
blockHash: Hash
|
61
|
+
}
|
62
|
+
)
|
63
|
+
|
64
|
+
export type BlockNumber<TQuantity = bigint> = TQuantity
|
65
|
+
|
66
|
+
export type BlockTag = 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized'
|
67
|
+
|
68
|
+
export type Uncle<TQuantity = bigint, TTransaction = Transaction> = Block<
|
69
|
+
TQuantity,
|
70
|
+
TTransaction
|
71
|
+
>
|
@@ -0,0 +1,342 @@
|
|
1
|
+
import type {
|
2
|
+
Abi,
|
3
|
+
AbiError,
|
4
|
+
AbiEvent,
|
5
|
+
AbiFunction,
|
6
|
+
AbiType,
|
7
|
+
AbiTypeToPrimitiveType,
|
8
|
+
AbiParameter,
|
9
|
+
AbiParameterToPrimitiveType,
|
10
|
+
AbiParametersToPrimitiveTypes,
|
11
|
+
ExtractAbiFunction,
|
12
|
+
ExtractAbiEvent,
|
13
|
+
ExtractAbiEventNames,
|
14
|
+
ExtractAbiError,
|
15
|
+
AbiStateMutability,
|
16
|
+
ExtractAbiFunctionNames,
|
17
|
+
} from 'abitype'
|
18
|
+
import { TransactionRequest } from './transaction'
|
19
|
+
|
20
|
+
import type { Trim } from './utils'
|
21
|
+
|
22
|
+
//////////////////////////////////////////////////////////////////////
|
23
|
+
// ABIs
|
24
|
+
|
25
|
+
export type AbiItem = Abi[number]
|
26
|
+
|
27
|
+
export type AbiEventParametersToPrimitiveTypes<
|
28
|
+
TAbiParameters extends readonly AbiParameter[],
|
29
|
+
TBase = TAbiParameters[0] extends { name: string } ? {} : [],
|
30
|
+
> = TAbiParameters extends readonly [infer Head, ...infer Tail]
|
31
|
+
? Head extends { indexed: true }
|
32
|
+
? Head extends AbiParameter
|
33
|
+
? Head extends { name: infer Name }
|
34
|
+
? Name extends string
|
35
|
+
? {
|
36
|
+
[name in Name]?:
|
37
|
+
| AbiParameterToPrimitiveType<Head>
|
38
|
+
| AbiParameterToPrimitiveType<Head>[]
|
39
|
+
| null
|
40
|
+
} & (Tail extends readonly []
|
41
|
+
? {}
|
42
|
+
: Tail extends readonly AbiParameter[]
|
43
|
+
? AbiEventParametersToPrimitiveTypes<Tail>
|
44
|
+
: {})
|
45
|
+
: never
|
46
|
+
: [
|
47
|
+
(
|
48
|
+
| AbiParameterToPrimitiveType<Head>
|
49
|
+
| AbiParameterToPrimitiveType<Head>[]
|
50
|
+
| null
|
51
|
+
),
|
52
|
+
...(Tail extends readonly []
|
53
|
+
? []
|
54
|
+
: Tail extends readonly AbiParameter[]
|
55
|
+
? AbiEventParametersToPrimitiveTypes<Tail>
|
56
|
+
: []),
|
57
|
+
]
|
58
|
+
: TBase
|
59
|
+
: TBase
|
60
|
+
: TBase
|
61
|
+
|
62
|
+
export type ExtractArgsFromAbi<
|
63
|
+
TAbi extends Abi | readonly unknown[],
|
64
|
+
TFunctionName extends string,
|
65
|
+
TAbiFunction extends AbiFunction & { type: 'function' } = TAbi extends Abi
|
66
|
+
? ExtractAbiFunction<TAbi, TFunctionName>
|
67
|
+
: AbiFunction & { type: 'function' },
|
68
|
+
TArgs = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>,
|
69
|
+
FailedToParseArgs =
|
70
|
+
| ([TArgs] extends [never] ? true : false)
|
71
|
+
| (readonly unknown[] extends TArgs ? true : false),
|
72
|
+
> = true extends FailedToParseArgs
|
73
|
+
? {
|
74
|
+
/**
|
75
|
+
* Arguments to pass contract method
|
76
|
+
*
|
77
|
+
* Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link abi} for type inference.
|
78
|
+
*/
|
79
|
+
args?: readonly unknown[]
|
80
|
+
}
|
81
|
+
: TArgs extends readonly []
|
82
|
+
? { args?: never }
|
83
|
+
: {
|
84
|
+
/** Arguments to pass contract method */ args: TArgs
|
85
|
+
}
|
86
|
+
|
87
|
+
export type ExtractConstructorArgsFromAbi<
|
88
|
+
TAbi extends Abi | readonly unknown[],
|
89
|
+
TAbiFunction extends AbiFunction & { type: 'constructor' } = TAbi extends Abi
|
90
|
+
? Extract<
|
91
|
+
TAbi[number],
|
92
|
+
{
|
93
|
+
type: 'constructor'
|
94
|
+
}
|
95
|
+
>
|
96
|
+
: AbiFunction & { type: 'constructor' },
|
97
|
+
TArgs = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>,
|
98
|
+
FailedToParseArgs =
|
99
|
+
| ([TArgs] extends [never] ? true : false)
|
100
|
+
| (readonly unknown[] extends TArgs ? true : false),
|
101
|
+
> = true extends FailedToParseArgs
|
102
|
+
? {
|
103
|
+
/**
|
104
|
+
* Arguments to pass contract method
|
105
|
+
*
|
106
|
+
* Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link abi} for type inference.
|
107
|
+
*/
|
108
|
+
args?: readonly unknown[]
|
109
|
+
}
|
110
|
+
: TArgs extends readonly []
|
111
|
+
? { args?: never }
|
112
|
+
: {
|
113
|
+
/** Arguments to pass contract method */ args: TArgs
|
114
|
+
}
|
115
|
+
|
116
|
+
export type ExtractErrorArgsFromAbi<
|
117
|
+
TAbi extends Abi | readonly unknown[],
|
118
|
+
TErrorName extends string,
|
119
|
+
TAbiError extends AbiError = TAbi extends Abi
|
120
|
+
? ExtractAbiError<TAbi, TErrorName>
|
121
|
+
: AbiError,
|
122
|
+
TArgs = AbiParametersToPrimitiveTypes<TAbiError['inputs']>,
|
123
|
+
FailedToParseArgs =
|
124
|
+
| ([TArgs] extends [never] ? true : false)
|
125
|
+
| (readonly unknown[] extends TArgs ? true : false),
|
126
|
+
> = true extends FailedToParseArgs
|
127
|
+
? {
|
128
|
+
/**
|
129
|
+
* Arguments to pass contract method
|
130
|
+
*
|
131
|
+
* Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link abi} for type inference.
|
132
|
+
*/
|
133
|
+
args?: readonly unknown[]
|
134
|
+
}
|
135
|
+
: TArgs extends readonly []
|
136
|
+
? { args?: never }
|
137
|
+
: {
|
138
|
+
/** Arguments to pass contract method */ args: TArgs
|
139
|
+
}
|
140
|
+
|
141
|
+
export type ExtractEventArgsFromAbi<
|
142
|
+
TAbi extends Abi | readonly unknown[],
|
143
|
+
TEventName extends string,
|
144
|
+
TAbiEvent extends AbiEvent & { type: 'event' } = TAbi extends Abi
|
145
|
+
? ExtractAbiEvent<TAbi, TEventName>
|
146
|
+
: AbiEvent & { type: 'event' },
|
147
|
+
TArgs = AbiEventParametersToPrimitiveTypes<TAbiEvent['inputs']>,
|
148
|
+
FailedToParseArgs =
|
149
|
+
| ([TArgs] extends [never] ? true : false)
|
150
|
+
| (readonly unknown[] extends TArgs ? true : false),
|
151
|
+
> = true extends FailedToParseArgs
|
152
|
+
? {
|
153
|
+
/**
|
154
|
+
* Arguments to pass contract method
|
155
|
+
*
|
156
|
+
* Use a [const assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) on {@link abi} for type inference.
|
157
|
+
*/
|
158
|
+
args?: readonly unknown[]
|
159
|
+
}
|
160
|
+
: TArgs extends readonly []
|
161
|
+
? { args?: never }
|
162
|
+
: {
|
163
|
+
args?: TArgs
|
164
|
+
}
|
165
|
+
|
166
|
+
export type ExtractEventNameFromAbi<
|
167
|
+
TAbi extends Abi | readonly unknown[] = Abi,
|
168
|
+
TEventName extends string = string,
|
169
|
+
> = TAbi extends Abi
|
170
|
+
? ExtractAbiEventNames<TAbi> extends infer AbiEventNames
|
171
|
+
?
|
172
|
+
| AbiEventNames
|
173
|
+
| (TEventName extends AbiEventNames ? TEventName : never)
|
174
|
+
| (Abi extends TAbi ? string : never)
|
175
|
+
: never
|
176
|
+
: TEventName
|
177
|
+
|
178
|
+
export type ExtractFunctionNameFromAbi<
|
179
|
+
TAbi extends Abi | readonly unknown[] = Abi,
|
180
|
+
TFunctionName extends string = string,
|
181
|
+
TAbiStateMutability extends AbiStateMutability = AbiStateMutability,
|
182
|
+
> = TAbi extends Abi
|
183
|
+
? ExtractAbiFunctionNames<
|
184
|
+
TAbi,
|
185
|
+
TAbiStateMutability
|
186
|
+
> extends infer AbiFunctionNames
|
187
|
+
?
|
188
|
+
| AbiFunctionNames
|
189
|
+
| (TFunctionName extends AbiFunctionNames ? TFunctionName : never)
|
190
|
+
| (Abi extends TAbi ? string : never)
|
191
|
+
: never
|
192
|
+
: TFunctionName
|
193
|
+
|
194
|
+
export type ExtractResultFromAbi<
|
195
|
+
TAbi extends Abi | readonly unknown[] = Abi,
|
196
|
+
TFunctionName extends string = string,
|
197
|
+
TAbiFunction extends AbiFunction & {
|
198
|
+
type: 'function'
|
199
|
+
} = TAbi extends Abi
|
200
|
+
? ExtractAbiFunction<TAbi, TFunctionName>
|
201
|
+
: AbiFunction & { type: 'function' },
|
202
|
+
TArgs = AbiParametersToPrimitiveTypes<TAbiFunction['outputs']>,
|
203
|
+
FailedToParseArgs =
|
204
|
+
| ([TArgs] extends [never] ? true : false)
|
205
|
+
| (readonly unknown[] extends TArgs ? true : false),
|
206
|
+
> = true extends FailedToParseArgs
|
207
|
+
? unknown
|
208
|
+
: TArgs extends readonly []
|
209
|
+
? void
|
210
|
+
: TArgs extends readonly [infer Arg]
|
211
|
+
? Arg
|
212
|
+
: TArgs
|
213
|
+
|
214
|
+
//////////////////////////////////////////////////////////////////////
|
215
|
+
// Event/Function Definitions
|
216
|
+
|
217
|
+
export type EventDefinition = `${string}(${string})`
|
218
|
+
|
219
|
+
type ExtractArgsFromDefinitionConfig = {
|
220
|
+
indexedOnly: unknown
|
221
|
+
}
|
222
|
+
|
223
|
+
type ExtractArgsFromDefinitionDefaultConfig = {
|
224
|
+
indexedOnly: false
|
225
|
+
}
|
226
|
+
|
227
|
+
type NamedArg<
|
228
|
+
TType extends string,
|
229
|
+
TName extends string,
|
230
|
+
TIndexed = false,
|
231
|
+
> = `${TType}${TIndexed extends true ? ' indexed ' : ' '}${TName}`
|
232
|
+
type UnnamedArg<TType extends string> = `${TType}`
|
233
|
+
type IndexedArg<TType extends string> = `${TType} indexed`
|
234
|
+
|
235
|
+
type ExtractTypeFromArg<
|
236
|
+
TArg,
|
237
|
+
TRest = unknown,
|
238
|
+
TConfig extends ExtractArgsFromDefinitionConfig = ExtractArgsFromDefinitionDefaultConfig,
|
239
|
+
> = Trim<TArg> extends NamedArg<infer Type, infer Name, true>
|
240
|
+
? Type extends AbiType
|
241
|
+
? Name extends ''
|
242
|
+
? TRest extends [...args: any]
|
243
|
+
? [AbiTypeToPrimitiveType<Type>, ...TRest]
|
244
|
+
: never
|
245
|
+
: {
|
246
|
+
[name in Trim<Name>]?:
|
247
|
+
| AbiTypeToPrimitiveType<Type>
|
248
|
+
| AbiTypeToPrimitiveType<Type>[]
|
249
|
+
} & TRest
|
250
|
+
: never
|
251
|
+
: TConfig extends { indexedOnly: false }
|
252
|
+
? TArg extends NamedArg<infer Type, infer Name, false>
|
253
|
+
? Type extends AbiType
|
254
|
+
? Name extends 'indexed'
|
255
|
+
? TRest extends [...args: any]
|
256
|
+
? [AbiTypeToPrimitiveType<Type>, ...TRest]
|
257
|
+
: never
|
258
|
+
: { [name in Trim<Name>]: AbiTypeToPrimitiveType<Type> } & TRest
|
259
|
+
: never
|
260
|
+
: TArg extends UnnamedArg<infer Type>
|
261
|
+
? Type extends AbiType
|
262
|
+
? TRest extends [...args: any]
|
263
|
+
? [AbiTypeToPrimitiveType<Type>, ...TRest]
|
264
|
+
: never
|
265
|
+
: never
|
266
|
+
: never
|
267
|
+
: TArg extends NamedArg<infer Type, string, true>
|
268
|
+
? Type extends AbiType
|
269
|
+
? TRest extends [...args: any]
|
270
|
+
? [AbiTypeToPrimitiveType<Type>, ...TRest]
|
271
|
+
: never
|
272
|
+
: TRest
|
273
|
+
: TArg extends IndexedArg<infer Type>
|
274
|
+
? Type extends AbiType
|
275
|
+
? TRest extends [...args: any]
|
276
|
+
?
|
277
|
+
| [
|
278
|
+
| AbiTypeToPrimitiveType<Type>
|
279
|
+
| AbiTypeToPrimitiveType<Type>[]
|
280
|
+
| null,
|
281
|
+
]
|
282
|
+
| [
|
283
|
+
(
|
284
|
+
| AbiTypeToPrimitiveType<Type>
|
285
|
+
| AbiTypeToPrimitiveType<Type>[]
|
286
|
+
| null
|
287
|
+
),
|
288
|
+
...TRest,
|
289
|
+
]
|
290
|
+
: never
|
291
|
+
: TRest
|
292
|
+
: TRest
|
293
|
+
|
294
|
+
type ExtractTypesFromArgs<
|
295
|
+
TArgs,
|
296
|
+
TConfig extends ExtractArgsFromDefinitionConfig = ExtractArgsFromDefinitionDefaultConfig,
|
297
|
+
> = Trim<TArgs> extends `${infer Head},${infer Tail}`
|
298
|
+
? ExtractTypeFromArg<Head, ExtractTypesFromArgs<Tail, TConfig>, TConfig>
|
299
|
+
: ExtractTypeFromArg<
|
300
|
+
Trim<TArgs>,
|
301
|
+
Trim<TArgs> extends NamedArg<string, string>
|
302
|
+
? Trim<TArgs> extends IndexedArg<string>
|
303
|
+
? []
|
304
|
+
: unknown
|
305
|
+
: [],
|
306
|
+
TConfig
|
307
|
+
>
|
308
|
+
|
309
|
+
type ExtractArgsFromDefinition<
|
310
|
+
TDef,
|
311
|
+
TConfig extends ExtractArgsFromDefinitionConfig = ExtractArgsFromDefinitionDefaultConfig,
|
312
|
+
> = TDef extends `${string}(${infer Args})`
|
313
|
+
? ExtractTypesFromArgs<Args, TConfig>
|
314
|
+
: 'Error: Invalid definition was provided.'
|
315
|
+
|
316
|
+
export type ExtractArgsFromEventDefinition<
|
317
|
+
TDef,
|
318
|
+
TConfig extends ExtractArgsFromDefinitionConfig = { indexedOnly: true },
|
319
|
+
> = ExtractArgsFromDefinition<TDef, TConfig> extends [...args: any]
|
320
|
+
? ExtractArgsFromDefinition<TDef, TConfig> | []
|
321
|
+
: ExtractArgsFromDefinition<TDef, TConfig>
|
322
|
+
|
323
|
+
export type ExtractArgsFromFunctionDefinition<TDef> = ExtractArgsFromDefinition<
|
324
|
+
TDef,
|
325
|
+
{ indexedOnly: false }
|
326
|
+
>
|
327
|
+
|
328
|
+
//////////////////////////////////////////////////////////////////////
|
329
|
+
// Call Args
|
330
|
+
|
331
|
+
export type GetValue<
|
332
|
+
TAbi extends Abi | readonly unknown[],
|
333
|
+
TFunctionName extends string,
|
334
|
+
TValueType = TransactionRequest['value'],
|
335
|
+
TAbiFunction extends AbiFunction & { type: 'function' } = TAbi extends Abi
|
336
|
+
? ExtractAbiFunction<TAbi, TFunctionName>
|
337
|
+
: AbiFunction & { type: 'function' },
|
338
|
+
> = TAbiFunction['stateMutability'] extends 'payable'
|
339
|
+
? TValueType
|
340
|
+
: TAbiFunction['payable'] extends true
|
341
|
+
? TValueType
|
342
|
+
: never
|