viem 0.0.1-cjs.10 → 0.0.1-sushi.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-ac509982.d.ts +23 -0
- package/dist/chain-c4ccb458.d.ts +5 -0
- package/dist/{rpc-b77c5aee.d.ts → chain-f16512e8.d.ts} +97 -17
- package/dist/chains.d.ts +1303 -74
- package/dist/chains.js +81 -85
- package/dist/chains.js.map +1 -0
- package/dist/chains.mjs +121 -125
- package/dist/chains.mjs.map +1 -0
- package/dist/chunk-2PFNLP3F.js +192 -0
- package/dist/chunk-2PFNLP3F.js.map +1 -0
- package/dist/chunk-5ND4P6QL.mjs +192 -0
- package/dist/chunk-5ND4P6QL.mjs.map +1 -0
- package/dist/{chunk-5ZBNF5WM.js → chunk-NXCI5KQC.js} +769 -359
- package/dist/chunk-NXCI5KQC.js.map +1 -0
- package/dist/{chunk-HLVCJ7RV.mjs → chunk-O7T5NQLB.mjs} +484 -477
- package/dist/chunk-O7T5NQLB.mjs.map +1 -0
- package/dist/{chunk-2FDH6XP5.mjs → chunk-SD5X7F4U.mjs} +777 -367
- package/dist/chunk-SD5X7F4U.mjs.map +1 -0
- package/dist/{chunk-46ZFLVHC.js → chunk-UTL6F7UN.js} +519 -512
- package/dist/chunk-UTL6F7UN.js.map +1 -0
- package/dist/contract-9e76e561.d.ts +166 -0
- package/dist/contract.d.ts +123 -0
- package/dist/contract.js +53 -0
- package/dist/contract.js.map +1 -0
- package/dist/contract.mjs +53 -0
- package/dist/contract.mjs.map +1 -0
- package/dist/createClient-68ee4bb4.d.ts +62 -0
- package/dist/createPublicClient-b732194e.d.ts +19 -0
- package/dist/createTestClient-dedf321e.d.ts +34 -0
- package/dist/createWalletClient-75813d83.d.ts +30 -0
- package/dist/decodeErrorResult-0b934d23.d.ts +16 -0
- package/dist/{eip1193-020a6f13.d.ts → eip1193-6f9ba163.d.ts} +12 -9
- package/dist/ens.d.ts +82 -0
- package/dist/ens.js +216 -0
- package/dist/ens.js.map +1 -0
- package/dist/ens.mjs +216 -0
- package/dist/ens.mjs.map +1 -0
- package/dist/getAbiItem-c8e6e7d4.d.ts +97 -0
- package/dist/index.d.ts +128 -33
- package/dist/index.js +240 -244
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +257 -261
- package/dist/index.mjs.map +1 -0
- package/dist/public.d.ts +353 -0
- package/dist/public.js +58 -0
- package/dist/public.js.map +1 -0
- package/dist/public.mjs +58 -0
- package/dist/public.mjs.map +1 -0
- package/dist/readContract-4f6e2692.d.ts +10 -0
- package/dist/rpc-a5a7f376.d.ts +121 -0
- package/dist/sendTransaction-e713f90c.d.ts +12 -0
- package/dist/test.d.ts +161 -0
- package/dist/test.js +264 -0
- package/dist/test.js.map +1 -0
- package/dist/test.mjs +264 -0
- package/dist/test.mjs.map +1 -0
- package/dist/transactionReceipt-2a86c7c7.d.ts +26 -0
- package/dist/transactionRequest-c7794f5e.d.ts +15 -0
- package/dist/utils/index.d.ts +238 -24
- package/dist/utils/index.js +27 -2
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +30 -5
- package/dist/utils/index.mjs.map +1 -0
- package/dist/wallet.d.ts +42 -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/watchEvent-c346c12d.d.ts +41 -0
- package/dist/window.d.ts +3 -2
- package/dist/window.js +1 -1
- package/dist/window.js.map +1 -0
- package/dist/window.mjs +1 -0
- package/dist/window.mjs.map +1 -0
- package/ens/package.json +4 -0
- package/package.json +40 -72
- package/src/_test/abis.ts +1420 -0
- package/src/_test/bench.ts +15 -0
- package/src/_test/constants.ts +63 -0
- package/src/_test/generated.ts +128 -0
- package/src/_test/globalSetup.ts +11 -0
- package/src/_test/index.ts +25 -0
- package/src/_test/setup.ts +8 -0
- package/src/_test/utils.ts +155 -0
- package/src/actions/ens/getEnsAddress.bench.ts +26 -0
- package/src/actions/ens/getEnsAddress.test.ts +97 -0
- package/src/actions/ens/getEnsAddress.ts +122 -0
- package/src/actions/ens/getEnsName.bench.ts +30 -0
- package/src/actions/ens/getEnsName.test.ts +101 -0
- package/src/actions/ens/getEnsName.ts +106 -0
- package/src/actions/ens/index.test.ts +12 -0
- package/src/actions/ens/index.ts +3 -0
- package/src/actions/index.test.ts +81 -0
- package/src/actions/index.ts +182 -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 +277 -0
- package/src/actions/public/createEventFilter.ts +93 -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/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 +383 -0
- package/src/actions/public/getFilterChanges.ts +23 -0
- package/src/actions/public/getFilterLogs.test.ts +297 -0
- package/src/actions/public/getFilterLogs.ts +20 -0
- package/src/actions/public/getGasPrice.bench.ts +19 -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 +306 -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 +146 -0
- package/src/actions/public/multicall.test.ts +452 -0
- package/src/actions/public/multicall.ts +108 -0
- package/src/actions/public/readContract.test.ts +328 -0
- package/src/actions/public/readContract.ts +73 -0
- package/src/actions/public/simulateContract.bench.ts +41 -0
- package/src/actions/public/simulateContract.test.ts +410 -0
- package/src/actions/public/simulateContract.ts +91 -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 +305 -0
- package/src/actions/public/watchContractEvent.ts +108 -0
- package/src/actions/public/watchEvent.test.ts +195 -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 +26 -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 +29 -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/deployContract.test.ts +55 -0
- package/src/actions/wallet/deployContract.ts +38 -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 +21 -0
- package/src/actions/wallet/index.ts +36 -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 +61 -0
- package/src/actions/wallet/signMessage.ts +35 -0
- package/src/actions/wallet/switchChain.test.ts +21 -0
- package/src/actions/wallet/switchChain.ts +19 -0
- package/src/actions/wallet/watchAsset.test.ts +40 -0
- package/src/actions/wallet/watchAsset.ts +16 -0
- package/src/actions/wallet/writeContract.test.ts +84 -0
- package/src/actions/wallet/writeContract.ts +47 -0
- package/src/chains.test.ts +439 -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 +393 -0
- package/src/clients/transports/fallback.ts +58 -0
- package/src/clients/transports/http.test.ts +109 -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 +118 -0
- package/src/constants/abis.test.ts +53 -0
- package/src/constants/abis.ts +44 -0
- package/src/constants/index.test.ts +14 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/solidity.test.ts +41 -0
- package/src/constants/solidity.ts +35 -0
- package/src/contract.test.ts +32 -0
- package/src/contract.ts +68 -0
- package/src/ens.test.ts +15 -0
- package/src/ens.ts +8 -0
- package/src/errors/abi.test.ts +81 -0
- package/src/errors/abi.ts +254 -0
- package/src/errors/address.test.ts +14 -0
- package/src/errors/address.ts +9 -0
- package/src/errors/base.test.ts +114 -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/chain.test.ts +46 -0
- package/src/errors/chain.ts +33 -0
- package/src/errors/contract.test.ts +233 -0
- package/src/errors/contract.ts +178 -0
- package/src/errors/data.ts +20 -0
- package/src/errors/encoding.ts +60 -0
- package/src/errors/index.ts +82 -0
- package/src/errors/log.ts +8 -0
- package/src/errors/request.test.ts +330 -0
- package/src/errors/request.ts +163 -0
- package/src/errors/rpc.test.ts +87 -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 +11 -0
- package/src/errors/transport.ts +12 -0
- package/src/index.test.ts +116 -0
- package/src/index.ts +132 -0
- package/src/public.test.ts +36 -0
- package/src/public.ts +76 -0
- package/src/test.test.ts +38 -0
- package/src/test.ts +52 -0
- package/src/types/block.ts +71 -0
- package/src/types/chain.ts +6 -0
- package/src/types/contract.ts +497 -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 +84 -0
- package/src/types/log.ts +22 -0
- package/src/types/misc.ts +5 -0
- package/src/types/multicall.ts +82 -0
- package/src/types/rpc.ts +35 -0
- package/src/types/transaction.ts +145 -0
- package/src/types/utils.ts +88 -0
- package/src/types/window.ts +9 -0
- package/src/utils/abi/decodeAbi.bench.ts +135 -0
- package/src/utils/abi/decodeAbi.test.ts +1614 -0
- package/src/utils/abi/decodeAbi.ts +300 -0
- package/src/utils/abi/decodeDeployData.test.ts +151 -0
- package/src/utils/abi/decodeDeployData.ts +44 -0
- package/src/utils/abi/decodeErrorResult.test.ts +230 -0
- package/src/utils/abi/decodeErrorResult.ts +45 -0
- package/src/utils/abi/decodeEventLog.test.ts +542 -0
- package/src/utils/abi/decodeEventLog.ts +107 -0
- package/src/utils/abi/decodeFunctionData.test.ts +138 -0
- package/src/utils/abi/decodeFunctionData.ts +32 -0
- package/src/utils/abi/decodeFunctionResult.test.ts +333 -0
- package/src/utils/abi/decodeFunctionResult.ts +57 -0
- package/src/utils/abi/encodeAbi.bench.ts +163 -0
- package/src/utils/abi/encodeAbi.test.ts +1447 -0
- package/src/utils/abi/encodeAbi.ts +273 -0
- package/src/utils/abi/encodeDeployData.test.ts +124 -0
- package/src/utils/abi/encodeDeployData.ts +40 -0
- package/src/utils/abi/encodeErrorResult.test.ts +192 -0
- package/src/utils/abi/encodeErrorResult.ts +47 -0
- package/src/utils/abi/encodeEventTopics.test.ts +345 -0
- package/src/utils/abi/encodeEventTopics.ts +75 -0
- package/src/utils/abi/encodeFunctionData.test.ts +138 -0
- package/src/utils/abi/encodeFunctionData.ts +42 -0
- package/src/utils/abi/encodeFunctionResult.test.ts +279 -0
- package/src/utils/abi/encodeFunctionResult.ts +41 -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.test.ts +547 -0
- package/src/utils/abi/getAbiItem.ts +95 -0
- package/src/utils/abi/index.test.ts +24 -0
- package/src/utils/abi/index.ts +48 -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 +428 -0
- package/src/utils/buildRequest.ts +72 -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 +282 -0
- package/src/utils/contract/getContractError.ts +58 -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 +30 -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 +34 -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 +29 -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 +49 -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/ens/index.test.ts +14 -0
- package/src/utils/ens/index.ts +7 -0
- package/src/utils/ens/labelhash.test.ts +55 -0
- package/src/utils/ens/labelhash.ts +16 -0
- package/src/utils/ens/namehash.test.ts +65 -0
- package/src/utils/ens/namehash.ts +28 -0
- package/src/utils/ens/normalize.bench.ts +14 -0
- package/src/utils/ens/normalize.test.ts +35 -0
- package/src/utils/ens/normalize.ts +14 -0
- package/src/utils/ens/packetToBytes.test.ts +11 -0
- package/src/utils/ens/packetToBytes.ts +29 -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 +21 -0
- package/src/utils/index.test.ts +111 -0
- package/src/utils/index.ts +142 -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 +990 -0
- package/src/utils/rpc.ts +294 -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 +21 -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 +21 -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.test.ts +19 -0
- package/src/wallet.ts +23 -0
- package/src/window.ts +1 -0
- package/wallet/package.json +4 -0
- package/actions/package.json +0 -4
- package/clients/package.json +0 -4
- package/dist/actions/index.d.ts +0 -8
- package/dist/actions/index.js +0 -125
- package/dist/actions/index.mjs +0 -125
- package/dist/chunk-CWCWWGBC.mjs +0 -258
- package/dist/chunk-SGTIBKHG.js +0 -258
- package/dist/clients/index.d.ts +0 -7
- package/dist/clients/index.js +0 -23
- package/dist/clients/index.mjs +0 -23
- package/dist/createWalletClient-d612fe08.d.ts +0 -130
- package/dist/parseGwei-7c87ff41.d.ts +0 -278
- package/dist/rpc-26932bae.d.ts +0 -61
- package/dist/transactionRequest-08d30731.d.ts +0 -132
- package/dist/watchAsset-bc6373f4.d.ts +0 -534
- package/dist/webSocket-7f88e9e0.d.ts +0 -83
@@ -0,0 +1,1041 @@
|
|
1
|
+
import type { BlockTag } from './block'
|
2
|
+
import type { Address, Hash, Hex, LogTopic } from './misc'
|
3
|
+
import type {
|
4
|
+
RpcBlock as Block,
|
5
|
+
RpcBlockIdentifier as BlockIdentifier,
|
6
|
+
RpcBlockNumber as BlockNumber,
|
7
|
+
RpcEstimateGasParameters as EstimateGasParameters,
|
8
|
+
RpcFeeHistory as FeeHistory,
|
9
|
+
RpcLog as Log,
|
10
|
+
Quantity,
|
11
|
+
RpcTransaction as Transaction,
|
12
|
+
RpcTransactionReceipt as TransactionReceipt,
|
13
|
+
RpcTransactionRequest as TransactionRequest,
|
14
|
+
RpcUncle as Uncle,
|
15
|
+
} from './rpc'
|
16
|
+
|
17
|
+
//////////////////////////////////////////////////
|
18
|
+
// Errors
|
19
|
+
|
20
|
+
export class RpcError extends Error {
|
21
|
+
code: number
|
22
|
+
details: string
|
23
|
+
|
24
|
+
constructor(code: number, message: string) {
|
25
|
+
super(message)
|
26
|
+
this.code = code
|
27
|
+
this.details = message
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
//////////////////////////////////////////////////
|
32
|
+
// Provider Events
|
33
|
+
|
34
|
+
export type ProviderConnectInfo = {
|
35
|
+
chainId: string
|
36
|
+
}
|
37
|
+
|
38
|
+
export type ProviderMessage = {
|
39
|
+
type: string
|
40
|
+
data: unknown
|
41
|
+
}
|
42
|
+
|
43
|
+
export type Events = {
|
44
|
+
on(
|
45
|
+
event: 'connect',
|
46
|
+
listener: (connectInfo: ProviderConnectInfo) => void,
|
47
|
+
): void
|
48
|
+
on(event: 'disconnect', listener: (error: RpcError) => void): void
|
49
|
+
on(event: 'chainChanged', listener: (chainId: string) => void): void
|
50
|
+
on(event: 'accountsChanged', listener: (accounts: string[]) => void): void
|
51
|
+
on(event: 'message', listener: (message: ProviderMessage) => void): void
|
52
|
+
|
53
|
+
removeListener(
|
54
|
+
event: 'connect',
|
55
|
+
listener: (connectInfo: ProviderConnectInfo) => void,
|
56
|
+
): void
|
57
|
+
removeListener(event: 'disconnect', listener: (error: RpcError) => void): void
|
58
|
+
removeListener(
|
59
|
+
event: 'chainChanged',
|
60
|
+
listener: (chainId: string) => void,
|
61
|
+
): void
|
62
|
+
removeListener(
|
63
|
+
event: 'accountsChanged',
|
64
|
+
listener: (accounts: Address[]) => void,
|
65
|
+
): void
|
66
|
+
removeListener(
|
67
|
+
event: 'message',
|
68
|
+
listener: (message: ProviderMessage) => void,
|
69
|
+
): void
|
70
|
+
}
|
71
|
+
|
72
|
+
//////////////////////////////////////////////////
|
73
|
+
// Provider Requests
|
74
|
+
|
75
|
+
export type Chain = {
|
76
|
+
/** A 0x-prefixed hexadecimal string */
|
77
|
+
chainId: string
|
78
|
+
/** The chain name. */
|
79
|
+
chainName: string
|
80
|
+
/** Native currency for the chain. */
|
81
|
+
nativeCurrency?: {
|
82
|
+
name: string
|
83
|
+
symbol: string
|
84
|
+
decimals: number
|
85
|
+
}
|
86
|
+
rpcUrls: readonly string[]
|
87
|
+
blockExplorerUrls?: string[]
|
88
|
+
iconUrls?: string[]
|
89
|
+
}
|
90
|
+
|
91
|
+
export type NetworkSync = {
|
92
|
+
/** The current block number */
|
93
|
+
currentBlock: Quantity
|
94
|
+
/** Number of latest block on the network */
|
95
|
+
highestBlock: Quantity
|
96
|
+
/** Block number at which syncing started */
|
97
|
+
startingBlock: Quantity
|
98
|
+
}
|
99
|
+
|
100
|
+
export type WalletPermissionCaveat = {
|
101
|
+
type: string
|
102
|
+
value: any
|
103
|
+
}
|
104
|
+
|
105
|
+
export type WalletPermission = {
|
106
|
+
caveats: WalletPermissionCaveat[]
|
107
|
+
date: number
|
108
|
+
id: string
|
109
|
+
invoker: `http://${string}` | `https://${string}`
|
110
|
+
parentCapability: 'eth_accounts' | string
|
111
|
+
}
|
112
|
+
|
113
|
+
export type WatchAssetParams = {
|
114
|
+
/** Token type. */
|
115
|
+
type: 'ERC20'
|
116
|
+
options: {
|
117
|
+
/** The address of the token contract */
|
118
|
+
address: string
|
119
|
+
/** A ticker symbol or shorthand, up to 11 characters */
|
120
|
+
symbol: string
|
121
|
+
/** The number of token decimals */
|
122
|
+
decimals: number
|
123
|
+
/** A string url of the token logo */
|
124
|
+
image: string
|
125
|
+
}
|
126
|
+
}
|
127
|
+
|
128
|
+
export type PublicRequests = {
|
129
|
+
request(args: {
|
130
|
+
/**
|
131
|
+
* @description Returns the version of the current client
|
132
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
133
|
+
* @example
|
134
|
+
* provider.request({ method: 'web3_clientVersion' })
|
135
|
+
* // => 'MetaMask/v1.0.0'
|
136
|
+
*/
|
137
|
+
method: 'web3_clientVersion'
|
138
|
+
params?: never
|
139
|
+
}): Promise<string>
|
140
|
+
request(args: {
|
141
|
+
/**
|
142
|
+
* @description Hashes data using the Keccak-256 algorithm
|
143
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
144
|
+
* @example
|
145
|
+
* provider.request({ method: 'web3_sha3', params: ['0x68656c6c6f20776f726c64'] })
|
146
|
+
* // => '0xc94770007dda54cF92009BFF0dE90c06F603a09f'
|
147
|
+
*/
|
148
|
+
method: 'web3_sha3'
|
149
|
+
params: [data: Hash]
|
150
|
+
}): Promise<string>
|
151
|
+
request(args: {
|
152
|
+
/**
|
153
|
+
* @description Determines if this client is listening for new network connections
|
154
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
155
|
+
* @example
|
156
|
+
* provider.request({ method: 'net_listening' })
|
157
|
+
* // => true
|
158
|
+
*/
|
159
|
+
method: 'net_listening'
|
160
|
+
params?: never
|
161
|
+
}): Promise<boolean>
|
162
|
+
request(args: {
|
163
|
+
/**
|
164
|
+
* @description Returns the number of peers currently connected to this client
|
165
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
166
|
+
* @example
|
167
|
+
* provider.request({ method: 'net_peerCount' })
|
168
|
+
* // => '0x1'
|
169
|
+
*/
|
170
|
+
method: 'net_peerCount'
|
171
|
+
params?: never
|
172
|
+
}): Promise<Quantity>
|
173
|
+
request(args: {
|
174
|
+
/**
|
175
|
+
* @description Returns the chain ID associated with the current network
|
176
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
177
|
+
* @example
|
178
|
+
* provider.request({ method: 'net_version' })
|
179
|
+
* // => '1'
|
180
|
+
*/
|
181
|
+
method: 'net_version'
|
182
|
+
params?: never
|
183
|
+
}): Promise<Quantity>
|
184
|
+
request(args: {
|
185
|
+
/**
|
186
|
+
* @description Returns the number of the most recent block seen by this client
|
187
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
188
|
+
* @example
|
189
|
+
* provider.request({ method: 'eth_blockNumber' })
|
190
|
+
* // => '0x1b4'
|
191
|
+
* */
|
192
|
+
method: 'eth_blockNumber'
|
193
|
+
params?: never
|
194
|
+
}): Promise<Quantity>
|
195
|
+
request(args: {
|
196
|
+
/**
|
197
|
+
* @description Executes a new message call immediately without submitting a transaction to the network
|
198
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
199
|
+
* @example
|
200
|
+
* provider.request({ method: 'eth_call', params: [{ to: '0x...', data: '0x...' }] })
|
201
|
+
* // => '0x...'
|
202
|
+
*/
|
203
|
+
method: 'eth_call'
|
204
|
+
params: [
|
205
|
+
request: TransactionRequest,
|
206
|
+
block: BlockNumber | BlockTag | BlockIdentifier,
|
207
|
+
]
|
208
|
+
}): Promise<Hex>
|
209
|
+
request(args: {
|
210
|
+
/**
|
211
|
+
* @description Returns the chain ID associated with the current network
|
212
|
+
* @example
|
213
|
+
* provider.request({ method: 'eth_chainId' })
|
214
|
+
* // => '1'
|
215
|
+
*/
|
216
|
+
method: 'eth_chainId'
|
217
|
+
params?: never
|
218
|
+
}): Promise<Quantity>
|
219
|
+
request(args: { method: 'eth_coinbase'; params?: never }): Promise<Address>
|
220
|
+
request(args: {
|
221
|
+
/**
|
222
|
+
* @description Estimates the gas necessary to complete a transaction without submitting it to the network
|
223
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
224
|
+
* @example
|
225
|
+
* provider.request({
|
226
|
+
* method: 'eth_estimateGas',
|
227
|
+
* params: [{ from: '0x...', to: '0x...', value: '0x...' }]
|
228
|
+
* })
|
229
|
+
* // => '0x5208'
|
230
|
+
* */
|
231
|
+
method: 'eth_estimateGas'
|
232
|
+
params: [parameters: EstimateGasParameters, block: BlockNumber | BlockTag]
|
233
|
+
}): Promise<Quantity>
|
234
|
+
request(args: {
|
235
|
+
/**
|
236
|
+
* @description Returns a collection of historical gas information
|
237
|
+
* @link https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
|
238
|
+
* @example
|
239
|
+
* provider.request({
|
240
|
+
* method: 'eth_feeHistory',
|
241
|
+
* params: ['4', 'latest', ['25', '75']]
|
242
|
+
* })
|
243
|
+
* // => {
|
244
|
+
* // oldestBlock: '0x1',
|
245
|
+
* // baseFeePerGas: ['0x1', '0x2', '0x3', '0x4'],
|
246
|
+
* // gasUsedRatio: ['0x1', '0x2', '0x3', '0x4'],
|
247
|
+
* // reward: [['0x1', '0x2'], ['0x3', '0x4'], ['0x5', '0x6'], ['0x7', '0x8']]
|
248
|
+
* // }
|
249
|
+
* */
|
250
|
+
method: 'eth_feeHistory'
|
251
|
+
params: [
|
252
|
+
/** Number of blocks in the requested range. Between 1 and 1024 blocks can be requested in a single query. Less than requested may be returned if not all blocks are available. */
|
253
|
+
blockCount: Quantity,
|
254
|
+
/** Highest number block of the requested range. */
|
255
|
+
newestBlock: BlockNumber | BlockTag,
|
256
|
+
/** A monotonically increasing list of percentile values to sample from each block's effective priority fees per gas in ascending order, weighted by gas used. */
|
257
|
+
rewardPercentiles: number[] | undefined,
|
258
|
+
]
|
259
|
+
}): Promise<FeeHistory>
|
260
|
+
request(args: {
|
261
|
+
/**
|
262
|
+
* @description Returns the current price of gas expressed in wei
|
263
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
264
|
+
* @example
|
265
|
+
* provider.request({ method: 'eth_gasPrice' })
|
266
|
+
* // => '0x09184e72a000'
|
267
|
+
* */
|
268
|
+
method: 'eth_gasPrice'
|
269
|
+
params?: never
|
270
|
+
}): Promise<Quantity>
|
271
|
+
request(args: {
|
272
|
+
/**
|
273
|
+
* @description Returns the balance of an address in wei
|
274
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
275
|
+
* @example
|
276
|
+
* provider.request({ method: 'eth_getBalance', params: ['0x...', 'latest'] })
|
277
|
+
* // => '0x12a05...'
|
278
|
+
* */
|
279
|
+
method: 'eth_getBalance'
|
280
|
+
params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier]
|
281
|
+
}): Promise<Quantity>
|
282
|
+
request(args: {
|
283
|
+
/**
|
284
|
+
* @description Returns information about a block specified by hash
|
285
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
286
|
+
* @example
|
287
|
+
* provider.request({ method: 'eth_getBlockByHash', params: ['0x...', true] })
|
288
|
+
* // => {
|
289
|
+
* // number: '0x1b4',
|
290
|
+
* // hash: '0x...',
|
291
|
+
* // parentHash: '0x...',
|
292
|
+
* // ...
|
293
|
+
* // }
|
294
|
+
* */
|
295
|
+
method: 'eth_getBlockByHash'
|
296
|
+
params: [
|
297
|
+
/** hash of a block */
|
298
|
+
hash: Hash,
|
299
|
+
/** true will pull full transaction objects, false will pull transaction hashes */
|
300
|
+
includeTransactionObjects: boolean,
|
301
|
+
]
|
302
|
+
}): Promise<Block | null>
|
303
|
+
request(args: {
|
304
|
+
/**
|
305
|
+
* @description Returns information about a block specified by number
|
306
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
307
|
+
* @example
|
308
|
+
* provider.request({ method: 'eth_getBlockByNumber', params: ['0x1b4', true] })
|
309
|
+
* // => {
|
310
|
+
* // number: '0x1b4',
|
311
|
+
* // hash: '0x...',
|
312
|
+
* // parentHash: '0x...',
|
313
|
+
* // ...
|
314
|
+
* // }
|
315
|
+
* */
|
316
|
+
method: 'eth_getBlockByNumber'
|
317
|
+
params: [
|
318
|
+
/** block number, or one of "latest", "safe", "finalized", "earliest" or "pending" */
|
319
|
+
block: BlockNumber | BlockTag,
|
320
|
+
/** true will pull full transaction objects, false will pull transaction hashes */
|
321
|
+
includeTransactionObjects: boolean,
|
322
|
+
]
|
323
|
+
}): Promise<Block | null>
|
324
|
+
request(args: {
|
325
|
+
/**
|
326
|
+
* @description Returns the number of transactions in a block specified by block hash
|
327
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
328
|
+
* @example
|
329
|
+
* provider.request({ method: 'eth_getBlockTransactionCountByHash', params: ['0x...'] })
|
330
|
+
* // => '0x1'
|
331
|
+
* */
|
332
|
+
method: 'eth_getBlockTransactionCountByHash'
|
333
|
+
params: [hash: Hash]
|
334
|
+
}): Promise<Quantity>
|
335
|
+
request(args: {
|
336
|
+
/**
|
337
|
+
* @description Returns the number of transactions in a block specified by block number
|
338
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
339
|
+
* @example
|
340
|
+
* provider.request({ method: 'eth_getBlockTransactionCountByNumber', params: ['0x1b4'] })
|
341
|
+
* // => '0x1'
|
342
|
+
* */
|
343
|
+
method: 'eth_getBlockTransactionCountByNumber'
|
344
|
+
params: [block: BlockNumber | BlockTag]
|
345
|
+
}): Promise<Quantity>
|
346
|
+
request(args: {
|
347
|
+
/**
|
348
|
+
* @description Returns the contract code stored at a given address
|
349
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
350
|
+
* @example
|
351
|
+
* provider.request({ method: 'eth_getCode', params: ['0x...', 'latest'] })
|
352
|
+
* // => '0x...'
|
353
|
+
* */
|
354
|
+
method: 'eth_getCode'
|
355
|
+
params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier]
|
356
|
+
}): Promise<Hex>
|
357
|
+
request(args: {
|
358
|
+
/**
|
359
|
+
* @description Returns a list of all logs based on filter ID since the last log retrieval
|
360
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
361
|
+
* @example
|
362
|
+
* provider.request({ method: 'eth_getFilterChanges', params: ['0x...'] })
|
363
|
+
* // => [{ ... }, { ... }]
|
364
|
+
* */
|
365
|
+
method: 'eth_getFilterChanges'
|
366
|
+
params: [filterId: Quantity]
|
367
|
+
}): Promise<Log[] | Hex[]>
|
368
|
+
request(args: {
|
369
|
+
/**
|
370
|
+
* @description Returns a list of all logs based on filter ID
|
371
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
372
|
+
* @example
|
373
|
+
* provider.request({ method: 'eth_getFilterLogs', params: ['0x...'] })
|
374
|
+
* // => [{ ... }, { ... }]
|
375
|
+
* */
|
376
|
+
method: 'eth_getFilterLogs'
|
377
|
+
params: [filterId: Quantity]
|
378
|
+
}): Promise<Log[]>
|
379
|
+
request(args: {
|
380
|
+
/**
|
381
|
+
* @description Returns a list of all logs based on a filter object
|
382
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
383
|
+
* @example
|
384
|
+
* provider.request({ method: 'eth_getLogs', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
|
385
|
+
* // => [{ ... }, { ... }]
|
386
|
+
* */
|
387
|
+
method: 'eth_getLogs'
|
388
|
+
params: [
|
389
|
+
parameters: {
|
390
|
+
address?: Address | Address[]
|
391
|
+
topics?: LogTopic[]
|
392
|
+
} & (
|
393
|
+
| {
|
394
|
+
fromBlock?: BlockNumber | BlockTag
|
395
|
+
toBlock?: BlockNumber | BlockTag
|
396
|
+
blockHash?: never
|
397
|
+
}
|
398
|
+
| {
|
399
|
+
fromBlock?: never
|
400
|
+
toBlock?: never
|
401
|
+
blockHash?: Hash
|
402
|
+
}
|
403
|
+
),
|
404
|
+
]
|
405
|
+
}): Promise<Log[]>
|
406
|
+
request(args: {
|
407
|
+
/**
|
408
|
+
* @description Returns the value from a storage position at an address
|
409
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
410
|
+
* @example
|
411
|
+
* provider.request({ method: 'eth_getStorageAt', params: ['0x...', '0x...', 'latest'] })
|
412
|
+
* // => '0x...'
|
413
|
+
* */
|
414
|
+
method: 'eth_getStorageAt'
|
415
|
+
params: [
|
416
|
+
address: Address,
|
417
|
+
index: Quantity,
|
418
|
+
block: BlockNumber | BlockTag | BlockIdentifier,
|
419
|
+
]
|
420
|
+
}): Promise<Hex>
|
421
|
+
request(args: {
|
422
|
+
/**
|
423
|
+
* @description Returns information about a transaction specified by block hash and transaction index
|
424
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
425
|
+
* @example
|
426
|
+
* provider.request({ method: 'eth_getTransactionByBlockHashAndIndex', params: ['0x...', '0x...'] })
|
427
|
+
* // => { ... }
|
428
|
+
* */
|
429
|
+
method: 'eth_getTransactionByBlockHashAndIndex'
|
430
|
+
params: [hash: Hash, index: Quantity]
|
431
|
+
}): Promise<Transaction | null>
|
432
|
+
request(args: {
|
433
|
+
/**
|
434
|
+
* @description Returns information about a transaction specified by block number and transaction index
|
435
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
436
|
+
* @example
|
437
|
+
* provider.request({ method: 'eth_getTransactionByBlockNumberAndIndex', params: ['0x...', '0x...'] })
|
438
|
+
* // => { ... }
|
439
|
+
* */
|
440
|
+
method: 'eth_getTransactionByBlockNumberAndIndex'
|
441
|
+
params: [block: BlockNumber | BlockTag, index: Quantity]
|
442
|
+
}): Promise<Transaction | null>
|
443
|
+
request(args: {
|
444
|
+
/**
|
445
|
+
* @description Returns information about a transaction specified by hash
|
446
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
447
|
+
* @example
|
448
|
+
* provider.request({ method: 'eth_getTransactionByHash', params: ['0x...'] })
|
449
|
+
* // => { ... }
|
450
|
+
* */
|
451
|
+
method: 'eth_getTransactionByHash'
|
452
|
+
params: [hash: Hash]
|
453
|
+
}): Promise<Transaction | null>
|
454
|
+
request(args: {
|
455
|
+
/**
|
456
|
+
* @description Returns the number of transactions sent from an address
|
457
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
458
|
+
* @example
|
459
|
+
* provider.request({ method: 'eth_getTransactionCount', params: ['0x...', 'latest'] })
|
460
|
+
* // => '0x1'
|
461
|
+
* */
|
462
|
+
method: 'eth_getTransactionCount'
|
463
|
+
params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier]
|
464
|
+
}): Promise<Quantity>
|
465
|
+
request(args: {
|
466
|
+
/**
|
467
|
+
* @description Returns the receipt of a transaction specified by hash
|
468
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
469
|
+
* @example
|
470
|
+
* provider.request({ method: 'eth_getTransactionReceipt', params: ['0x...'] })
|
471
|
+
* // => { ... }
|
472
|
+
* */
|
473
|
+
method: 'eth_getTransactionReceipt'
|
474
|
+
params: [hash: Hash]
|
475
|
+
}): Promise<TransactionReceipt | null>
|
476
|
+
request(args: {
|
477
|
+
/**
|
478
|
+
* @description Returns information about an uncle specified by block hash and uncle index position
|
479
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
480
|
+
* @example
|
481
|
+
* provider.request({ method: 'eth_getUncleByBlockHashAndIndex', params: ['0x...', '0x...'] })
|
482
|
+
* // => { ... }
|
483
|
+
* */
|
484
|
+
method: 'eth_getUncleByBlockHashAndIndex'
|
485
|
+
params: [hash: Hash, index: Quantity]
|
486
|
+
}): Promise<Uncle | null>
|
487
|
+
request(args: {
|
488
|
+
/**
|
489
|
+
* @description Returns information about an uncle specified by block number and uncle index position
|
490
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
491
|
+
* @example
|
492
|
+
* provider.request({ method: 'eth_getUncleByBlockNumberAndIndex', params: ['0x...', '0x...'] })
|
493
|
+
* // => { ... }
|
494
|
+
* */
|
495
|
+
method: 'eth_getUncleByBlockNumberAndIndex'
|
496
|
+
params: [block: BlockNumber | BlockTag, index: Quantity]
|
497
|
+
}): Promise<Uncle | null>
|
498
|
+
request(args: {
|
499
|
+
/**
|
500
|
+
* @description Returns the number of uncles in a block specified by block hash
|
501
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
502
|
+
* @example
|
503
|
+
* provider.request({ method: 'eth_getUncleCountByBlockHash', params: ['0x...'] })
|
504
|
+
* // => '0x1'
|
505
|
+
* */
|
506
|
+
method: 'eth_getUncleCountByBlockHash'
|
507
|
+
params: [hash: Hash]
|
508
|
+
}): Promise<Quantity>
|
509
|
+
request(args: {
|
510
|
+
/**
|
511
|
+
* @description Returns the number of uncles in a block specified by block number
|
512
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
513
|
+
* @example
|
514
|
+
* provider.request({ method: 'eth_getUncleCountByBlockNumber', params: ['0x...'] })
|
515
|
+
* // => '0x1'
|
516
|
+
* */
|
517
|
+
method: 'eth_getUncleCountByBlockNumber'
|
518
|
+
params: [block: BlockNumber | BlockTag]
|
519
|
+
}): Promise<Quantity>
|
520
|
+
request(args: {
|
521
|
+
/**
|
522
|
+
* @description Creates a filter to listen for new blocks that can be used with `eth_getFilterChanges`
|
523
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
524
|
+
* @example
|
525
|
+
* provider.request({ method: 'eth_newBlockFilter' })
|
526
|
+
* // => '0x1'
|
527
|
+
* */
|
528
|
+
method: 'eth_newBlockFilter'
|
529
|
+
params?: never
|
530
|
+
}): Promise<Quantity>
|
531
|
+
request(args: {
|
532
|
+
/**
|
533
|
+
* @description Creates a filter to listen for specific state changes that can then be used with `eth_getFilterChanges`
|
534
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
535
|
+
* @example
|
536
|
+
* provider.request({ method: 'eth_newFilter', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
|
537
|
+
* // => '0x1'
|
538
|
+
* */
|
539
|
+
method: 'eth_newFilter'
|
540
|
+
params: [
|
541
|
+
filter: {
|
542
|
+
fromBlock?: BlockNumber | BlockTag
|
543
|
+
toBlock?: BlockNumber | BlockTag
|
544
|
+
address?: Address | Address[]
|
545
|
+
topics?: LogTopic[]
|
546
|
+
},
|
547
|
+
]
|
548
|
+
}): Promise<Quantity>
|
549
|
+
request(args: {
|
550
|
+
/**
|
551
|
+
* @description Creates a filter to listen for new pending transactions that can be used with `eth_getFilterChanges`
|
552
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
553
|
+
* @example
|
554
|
+
* provider.request({ method: 'eth_newPendingTransactionFilter' })
|
555
|
+
* // => '0x1'
|
556
|
+
* */
|
557
|
+
method: 'eth_newPendingTransactionFilter'
|
558
|
+
params?: never
|
559
|
+
}): Promise<Quantity>
|
560
|
+
request(args: {
|
561
|
+
/**
|
562
|
+
* @description Returns the current Ethereum protocol version
|
563
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
564
|
+
* @example
|
565
|
+
* provider.request({ method: 'eth_protocolVersion' })
|
566
|
+
* // => '54'
|
567
|
+
* */
|
568
|
+
method: 'eth_protocolVersion'
|
569
|
+
params?: never
|
570
|
+
}): Promise<string>
|
571
|
+
request(args: {
|
572
|
+
/**
|
573
|
+
* @description Sends and already-signed transaction to the network
|
574
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
575
|
+
* @example
|
576
|
+
* provider.request({ method: 'eth_sendRawTransaction', params: ['0x...'] })
|
577
|
+
* // => '0x...'
|
578
|
+
* */
|
579
|
+
method: 'eth_sendRawTransaction'
|
580
|
+
params: [signedTransaction: Hex]
|
581
|
+
}): Promise<Hex>
|
582
|
+
request(args: {
|
583
|
+
/**
|
584
|
+
* @description Destroys a filter based on filter ID
|
585
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
586
|
+
* @example
|
587
|
+
* provider.request({ method: 'eth_uninstallFilter', params: ['0x1'] })
|
588
|
+
* // => true
|
589
|
+
* */
|
590
|
+
method: 'eth_uninstallFilter'
|
591
|
+
params: [
|
592
|
+
/** ID of the filter to destroy */
|
593
|
+
filterId: Quantity,
|
594
|
+
]
|
595
|
+
}): Promise<boolean>
|
596
|
+
}
|
597
|
+
|
598
|
+
export type TestRequests<Name extends string> = {
|
599
|
+
request(args: {
|
600
|
+
/**
|
601
|
+
* @description Add information about compiled contracts
|
602
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
|
603
|
+
*/
|
604
|
+
method: `${Name}_addCompilationResult`
|
605
|
+
params: any[]
|
606
|
+
}): Promise<any>
|
607
|
+
request(args: {
|
608
|
+
/**
|
609
|
+
* @description Remove a transaction from the mempool
|
610
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_droptransaction
|
611
|
+
*/
|
612
|
+
method: `${Name}_dropTransaction`
|
613
|
+
params: [hash: Hash]
|
614
|
+
}): Promise<void>
|
615
|
+
request(args: {
|
616
|
+
/**
|
617
|
+
* @description Turn on call traces for transactions that are returned to the user when they execute a transaction (instead of just txhash/receipt).
|
618
|
+
*/
|
619
|
+
method: `${Name}_enableTraces`
|
620
|
+
params?: never
|
621
|
+
}): Promise<void>
|
622
|
+
request(args: {
|
623
|
+
/**
|
624
|
+
* @description Impersonate an account or contract address.
|
625
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_impersonateaccount
|
626
|
+
*/
|
627
|
+
method: `${Name}_impersonateAccount`
|
628
|
+
params: [address: Address]
|
629
|
+
}): Promise<void>
|
630
|
+
request(args: {
|
631
|
+
/**
|
632
|
+
* @description Returns true if automatic mining is enabled, and false otherwise. See [Mining Modes](https://hardhat.org/hardhat-network/explanation/mining-modes) to learn more.
|
633
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_getautomine
|
634
|
+
*/
|
635
|
+
method: `${Name}_getAutomine`
|
636
|
+
}): Promise<boolean>
|
637
|
+
request(args: {
|
638
|
+
/**
|
639
|
+
* @description Advance the block number of the network by a certain number of blocks
|
640
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_mine
|
641
|
+
*/
|
642
|
+
method: `${Name}_mine`
|
643
|
+
params: [
|
644
|
+
/** Number of blocks to mine. */
|
645
|
+
count: Hex,
|
646
|
+
/** Interval between each block in seconds. */
|
647
|
+
interval: Hex | undefined,
|
648
|
+
]
|
649
|
+
}): Promise<void>
|
650
|
+
request(args: {
|
651
|
+
/**
|
652
|
+
* @description Resets the fork.
|
653
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_reset
|
654
|
+
*/
|
655
|
+
method: `${Name}_reset`
|
656
|
+
params: any[]
|
657
|
+
}): Promise<void>
|
658
|
+
request(args: {
|
659
|
+
/**
|
660
|
+
* @description Modifies the balance of an account.
|
661
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setbalance
|
662
|
+
*/
|
663
|
+
method: `${Name}_setBalance`
|
664
|
+
params: [
|
665
|
+
/** The address of the target account. */
|
666
|
+
address: Address,
|
667
|
+
/** Amount to send in wei. */
|
668
|
+
value: Quantity,
|
669
|
+
]
|
670
|
+
}): Promise<void>
|
671
|
+
request(args: {
|
672
|
+
/**
|
673
|
+
* @description Modifies the bytecode stored at an account's address.
|
674
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcode
|
675
|
+
*/
|
676
|
+
method: `${Name}_setCode`
|
677
|
+
params: [
|
678
|
+
/** The address of the contract. */
|
679
|
+
address: Address,
|
680
|
+
/** Data bytecode. */
|
681
|
+
data: string,
|
682
|
+
]
|
683
|
+
}): Promise<void>
|
684
|
+
request(args: {
|
685
|
+
/**
|
686
|
+
* @description Sets the coinbase address to be used in new blocks.
|
687
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
|
688
|
+
*/
|
689
|
+
method: `${Name}_setCoinbase`
|
690
|
+
params: [
|
691
|
+
/** The address to set as the coinbase address. */
|
692
|
+
address: Address,
|
693
|
+
]
|
694
|
+
}): Promise<void>
|
695
|
+
request(args: {
|
696
|
+
/**
|
697
|
+
* @description Enable or disable logging on the test node network.
|
698
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
|
699
|
+
*/
|
700
|
+
method: `${Name}_setLoggingEnabled`
|
701
|
+
params: [enabled: boolean]
|
702
|
+
}): Promise<void>
|
703
|
+
request(args: {
|
704
|
+
/**
|
705
|
+
* @description Change the minimum gas price accepted by the network (in wei).
|
706
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setmingasprice
|
707
|
+
*/
|
708
|
+
method: `${Name}_setMinGasPrice`
|
709
|
+
params: [gasPrice: Quantity]
|
710
|
+
}): Promise<void>
|
711
|
+
request(args: {
|
712
|
+
/**
|
713
|
+
* @description Sets the base fee of the next block.
|
714
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnextblockbasefeepergas
|
715
|
+
*/
|
716
|
+
method: `${Name}_setNextBlockBaseFeePerGas`
|
717
|
+
params: [baseFeePerGas: Quantity]
|
718
|
+
}): Promise<void>
|
719
|
+
request(args: {
|
720
|
+
/**
|
721
|
+
* @description Modifies an account's nonce by overwriting it.
|
722
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnonce
|
723
|
+
*/
|
724
|
+
method: `${Name}_setNonce`
|
725
|
+
params: [
|
726
|
+
/** The account address. */
|
727
|
+
address: Address,
|
728
|
+
/** The new nonce. */
|
729
|
+
nonce: Quantity,
|
730
|
+
]
|
731
|
+
}): Promise<void>
|
732
|
+
request(args: {
|
733
|
+
/**
|
734
|
+
* @description Sets the backend RPC URL.
|
735
|
+
*/
|
736
|
+
method: `${Name}_setRpcUrl`
|
737
|
+
params: [url: string]
|
738
|
+
}): Promise<void>
|
739
|
+
request(args: {
|
740
|
+
/**
|
741
|
+
* @description Writes a single position of an account's storage.
|
742
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setstorageat
|
743
|
+
*/
|
744
|
+
method: `${Name}_setStorageAt`
|
745
|
+
params: [
|
746
|
+
/** The account address. */
|
747
|
+
address: Address,
|
748
|
+
/** The storage position index. */
|
749
|
+
index: Quantity,
|
750
|
+
/** The storage value. */
|
751
|
+
value: Quantity,
|
752
|
+
]
|
753
|
+
}): Promise<void>
|
754
|
+
request(args: {
|
755
|
+
/**
|
756
|
+
* @description Use this method to stop impersonating an account after having previously used impersonateAccount.
|
757
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_stopimpersonatingaccount
|
758
|
+
*/
|
759
|
+
method: `${Name}_stopImpersonatingAccount`
|
760
|
+
params: [
|
761
|
+
/** The address to stop impersonating. */
|
762
|
+
address: Address,
|
763
|
+
]
|
764
|
+
}): Promise<void>
|
765
|
+
request(args: {
|
766
|
+
/**
|
767
|
+
* @description Jump forward in time by the given amount of time, in seconds.
|
768
|
+
* @link https://github.com/trufflesuite/ganache/blob/ef1858d5d6f27e4baeb75cccd57fb3dc77a45ae8/src/chains/ethereum/ethereum/RPC-METHODS.md#evm_increasetime
|
769
|
+
*/
|
770
|
+
method: 'evm_increaseTime'
|
771
|
+
params: [seconds: Quantity]
|
772
|
+
}): Promise<Quantity>
|
773
|
+
request(args: {
|
774
|
+
/**
|
775
|
+
* @description Enables or disables, based on the single boolean argument, the automatic mining of new blocks with each new transaction submitted to the network.
|
776
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#evm_setautomine
|
777
|
+
*/
|
778
|
+
method: 'evm_setAutomine'
|
779
|
+
params: [boolean]
|
780
|
+
}): Promise<void>
|
781
|
+
request(args: {
|
782
|
+
/**
|
783
|
+
* @description Sets the block's gas limit.
|
784
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#evm_setblockgaslimit
|
785
|
+
*/
|
786
|
+
method: 'evm_setBlockGasLimit'
|
787
|
+
params: [gasLimit: Quantity]
|
788
|
+
}): Promise<void>
|
789
|
+
request(args: {
|
790
|
+
/**
|
791
|
+
* @description Similar to `evm_increaseTime` but sets a block timestamp `interval`.
|
792
|
+
* The timestamp of the next block will be computed as `lastBlock_timestamp` + `interval`
|
793
|
+
*/
|
794
|
+
method: `${Name}_setBlockTimestampInterval`
|
795
|
+
params: [seconds: number]
|
796
|
+
}): Promise<void>
|
797
|
+
request(args: {
|
798
|
+
/**
|
799
|
+
* @description Removes `setBlockTimestampInterval` if it exists
|
800
|
+
*/
|
801
|
+
method: `${Name}_removeBlockTimestampInterval`
|
802
|
+
}): Promise<void>
|
803
|
+
request(args: {
|
804
|
+
/**
|
805
|
+
* @description Enables (with a numeric argument greater than 0) or disables (with a numeric argument equal to 0), the automatic mining of blocks at a regular interval of milliseconds, each of which will include all pending transactions.
|
806
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#evm_setintervalmining
|
807
|
+
*/
|
808
|
+
method: 'evm_setIntervalMining'
|
809
|
+
params: [number]
|
810
|
+
}): Promise<void>
|
811
|
+
request(args: {
|
812
|
+
/**
|
813
|
+
* @description Set the timestamp of the next block.
|
814
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#evm_setnextblocktimestamp
|
815
|
+
*/
|
816
|
+
method: 'evm_setNextBlockTimestamp'
|
817
|
+
params: [Quantity]
|
818
|
+
}): Promise<void>
|
819
|
+
request(args: {
|
820
|
+
/**
|
821
|
+
* @description Snapshot the state of the blockchain at the current block. Takes no parameters. Returns the id of the snapshot that was created.
|
822
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#evm_snapshot
|
823
|
+
*/
|
824
|
+
method: 'evm_snapshot'
|
825
|
+
params?: never
|
826
|
+
}): Promise<Quantity>
|
827
|
+
request(args: {
|
828
|
+
/**
|
829
|
+
* @description Revert the state of the blockchain to a previous snapshot. Takes a single parameter, which is the snapshot id to revert to.
|
830
|
+
*/
|
831
|
+
method: 'evm_revert'
|
832
|
+
params?: [id: Quantity]
|
833
|
+
}): Promise<void>
|
834
|
+
request(args: {
|
835
|
+
/**
|
836
|
+
* @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-content
|
837
|
+
*/
|
838
|
+
method: 'txpool_content'
|
839
|
+
params?: never
|
840
|
+
}): Promise<{
|
841
|
+
pending: Record<Address, Record<string, Transaction>>
|
842
|
+
queued: Record<Address, Record<string, Transaction>>
|
843
|
+
}>
|
844
|
+
request(args: {
|
845
|
+
/**
|
846
|
+
* @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
|
847
|
+
*/
|
848
|
+
method: 'txpool_inspect'
|
849
|
+
params?: never
|
850
|
+
}): Promise<{
|
851
|
+
pending: Record<Address, Record<string, string>>
|
852
|
+
queued: Record<Address, Record<string, string>>
|
853
|
+
}>
|
854
|
+
request(args: {
|
855
|
+
/**
|
856
|
+
* @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
|
857
|
+
*/
|
858
|
+
method: 'txpool_status'
|
859
|
+
params?: never
|
860
|
+
}): Promise<{
|
861
|
+
pending: Quantity
|
862
|
+
queued: Quantity
|
863
|
+
}>
|
864
|
+
request(args: {
|
865
|
+
/**
|
866
|
+
* @description Creates, signs, and sends a new transaction to the network regardless of the signature.
|
867
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
868
|
+
* @example
|
869
|
+
* provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
|
870
|
+
* // => '0x...'
|
871
|
+
* */
|
872
|
+
method: 'eth_sendUnsignedTransaction'
|
873
|
+
params: [request: TransactionRequest]
|
874
|
+
}): Promise<Hash>
|
875
|
+
}
|
876
|
+
|
877
|
+
export type SignableRequests = {
|
878
|
+
request(args: {
|
879
|
+
/**
|
880
|
+
* @description Creates, signs, and sends a new transaction to the network
|
881
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
882
|
+
* @example
|
883
|
+
* provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
|
884
|
+
* // => '0x...'
|
885
|
+
* */
|
886
|
+
method: 'eth_sendTransaction'
|
887
|
+
params: [request: TransactionRequest]
|
888
|
+
}): Promise<Hash>
|
889
|
+
request(args: {
|
890
|
+
/**
|
891
|
+
* @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
|
892
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
893
|
+
* @example
|
894
|
+
* provider.request({ method: 'eth_sign', params: ['0x...', '0x...'] })
|
895
|
+
* // => '0x...'
|
896
|
+
* */
|
897
|
+
method: 'eth_sign'
|
898
|
+
params: [
|
899
|
+
/** Address to use for signing */
|
900
|
+
address: Address,
|
901
|
+
/** Data to sign */
|
902
|
+
data: Hex,
|
903
|
+
]
|
904
|
+
}): Promise<Hex>
|
905
|
+
request(args: {
|
906
|
+
/**
|
907
|
+
* @description Signs a transaction that can be submitted to the network at a later time using with `eth_sendRawTransaction`
|
908
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
909
|
+
* @example
|
910
|
+
* provider.request({ method: 'eth_signTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
|
911
|
+
* // => '0x...'
|
912
|
+
* */
|
913
|
+
method: 'eth_signTransaction'
|
914
|
+
params: [request: TransactionRequest]
|
915
|
+
}): Promise<Hex>
|
916
|
+
request(args: {
|
917
|
+
/**
|
918
|
+
* @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
|
919
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
920
|
+
* @example
|
921
|
+
* provider.request({ method: 'eth_signTypedData', params: [{ from: '0x...', data: [{ type: 'string', name: 'message', value: 'hello world' }] }] })
|
922
|
+
* // => '0x...'
|
923
|
+
* */
|
924
|
+
method: 'eth_signTypedData'
|
925
|
+
params: [
|
926
|
+
/** Address to use for signing */
|
927
|
+
address: Address,
|
928
|
+
/** Message to sign containing type information, a domain separator, and data */
|
929
|
+
message: Hex,
|
930
|
+
]
|
931
|
+
}): Promise<Hex>
|
932
|
+
request(args: {
|
933
|
+
/**
|
934
|
+
* @description Returns information about the status of this client’s network synchronization
|
935
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
936
|
+
* @example
|
937
|
+
* provider.request({ method: 'eth_syncing' })
|
938
|
+
* // => { startingBlock: '0x...', currentBlock: '0x...', highestBlock: '0x...' }
|
939
|
+
* */
|
940
|
+
method: 'eth_syncing'
|
941
|
+
params?: never
|
942
|
+
}): Promise<NetworkSync | false>
|
943
|
+
request(args: {
|
944
|
+
/**
|
945
|
+
* @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
|
946
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
947
|
+
* @example
|
948
|
+
* provider.request({ method: 'personal_sign', params: ['0x...', '0x...'] })
|
949
|
+
* // => '0x...'
|
950
|
+
* */
|
951
|
+
method: 'personal_sign'
|
952
|
+
params: [
|
953
|
+
/** Data to sign */
|
954
|
+
data: Hex,
|
955
|
+
/** Address to use for signing */
|
956
|
+
address: Address,
|
957
|
+
]
|
958
|
+
}): Promise<Hex>
|
959
|
+
}
|
960
|
+
|
961
|
+
export type WalletRequests = {
|
962
|
+
request(args: {
|
963
|
+
/**
|
964
|
+
* @description Returns a list of addresses owned by this client
|
965
|
+
* @link https://eips.ethereum.org/EIPS/eip-1474
|
966
|
+
* @example
|
967
|
+
* provider.request({ method: 'eth_accounts' })
|
968
|
+
* // => ['0x0fB69...']
|
969
|
+
* */
|
970
|
+
method: 'eth_accounts'
|
971
|
+
params?: never
|
972
|
+
}): Promise<Address[]>
|
973
|
+
request(args: {
|
974
|
+
/**
|
975
|
+
* @description Requests that the user provides an Ethereum address to be identified by. Typically causes a browser extension popup to appear.
|
976
|
+
* @link https://eips.ethereum.org/EIPS/eip-1102
|
977
|
+
* @example
|
978
|
+
* provider.request({ method: 'eth_requestAccounts' }] })
|
979
|
+
* // => ['0x...', '0x...']
|
980
|
+
* */
|
981
|
+
method: 'eth_requestAccounts'
|
982
|
+
params?: never
|
983
|
+
}): Promise<Address[]>
|
984
|
+
request(args: {
|
985
|
+
/**
|
986
|
+
* @description Requests the given permissions from the user.
|
987
|
+
* @link https://eips.ethereum.org/EIPS/eip-2255
|
988
|
+
* @example
|
989
|
+
* provider.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] })
|
990
|
+
* // => { ... }
|
991
|
+
* */
|
992
|
+
method: 'wallet_requestPermissions'
|
993
|
+
params: [permissions: { eth_accounts: Record<string, any> }]
|
994
|
+
}): Promise<WalletPermission[]>
|
995
|
+
request(args: {
|
996
|
+
/**
|
997
|
+
* @description Gets the wallets current permissions.
|
998
|
+
* @link https://eips.ethereum.org/EIPS/eip-2255
|
999
|
+
* @example
|
1000
|
+
* provider.request({ method: 'wallet_getPermissions' })
|
1001
|
+
* // => { ... }
|
1002
|
+
* */
|
1003
|
+
method: 'wallet_getPermissions'
|
1004
|
+
params?: never
|
1005
|
+
}): Promise<WalletPermission[]>
|
1006
|
+
request(args: {
|
1007
|
+
/**
|
1008
|
+
* @description Add an Ethereum chain to the wallet.
|
1009
|
+
* @link https://eips.ethereum.org/EIPS/eip-3085
|
1010
|
+
* @example
|
1011
|
+
* provider.request({ method: 'wallet_addEthereumChain', params: [{ chainId: 1, rpcUrl: 'https://mainnet.infura.io/v3/...' }] })
|
1012
|
+
* // => { ... }
|
1013
|
+
*/
|
1014
|
+
method: 'wallet_addEthereumChain'
|
1015
|
+
params: [chain: Chain]
|
1016
|
+
}): Promise<null>
|
1017
|
+
request(args: {
|
1018
|
+
/**
|
1019
|
+
* @description Switch the wallet to the given Ethereum chain.
|
1020
|
+
* @link https://eips.ethereum.org/EIPS/eip-3326
|
1021
|
+
* @example
|
1022
|
+
* provider.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: '0xf00' }] })
|
1023
|
+
* // => { ... }
|
1024
|
+
* */
|
1025
|
+
method: 'wallet_switchEthereumChain'
|
1026
|
+
params: [chain: { chainId: string }]
|
1027
|
+
}): Promise<null>
|
1028
|
+
/**
|
1029
|
+
* @description Requests that the user tracks the token in their wallet. Returns a boolean indicating if the token was successfully added.
|
1030
|
+
* @link https://eips.ethereum.org/EIPS/eip-747
|
1031
|
+
* @example
|
1032
|
+
* provider.request({ method: 'wallet_watchAsset' }] })
|
1033
|
+
* // => true
|
1034
|
+
* */
|
1035
|
+
request(args: {
|
1036
|
+
method: 'wallet_watchAsset'
|
1037
|
+
params: [WatchAssetParams]
|
1038
|
+
}): Promise<boolean>
|
1039
|
+
}
|
1040
|
+
|
1041
|
+
export type Requests = PublicRequests & SignableRequests & WalletRequests
|