viem 0.0.0-main.20230611T031808 → 0.0.0-main.20230611T032431
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/dist/cjs/chains.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/encoding/toBytes.js.map +1 -1
- package/dist/cjs/utils/encoding/toHex.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js +3 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/transaction.js +3 -1
- package/dist/cjs/utils/formatters/transaction.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/cjs/utils/observe.js.map +1 -1
- package/dist/cjs/utils/promise/createBatchScheduler.js.map +1 -1
- package/dist/cjs/utils/promise/withCache.js.map +1 -1
- package/dist/cjs/utils/rpc.js.map +1 -1
- package/dist/esm/accounts/generateMnemonic.js +7 -0
- package/dist/esm/accounts/generateMnemonic.js.map +1 -1
- package/dist/esm/accounts/generatePrivateKey.js +5 -0
- package/dist/esm/accounts/generatePrivateKey.js.map +1 -1
- package/dist/esm/accounts/hdKeyToAccount.js +5 -0
- package/dist/esm/accounts/hdKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/mnemonicToAccount.js +5 -0
- package/dist/esm/accounts/mnemonicToAccount.js.map +1 -1
- package/dist/esm/accounts/privateKeyToAccount.js +5 -0
- package/dist/esm/accounts/privateKeyToAccount.js.map +1 -1
- package/dist/esm/accounts/toAccount.js +5 -0
- package/dist/esm/accounts/toAccount.js.map +1 -1
- package/dist/esm/accounts/utils/publicKeyToAddress.js +7 -0
- package/dist/esm/accounts/utils/publicKeyToAddress.js.map +1 -1
- package/dist/esm/accounts/utils/sign.js +8 -0
- package/dist/esm/accounts/utils/sign.js.map +1 -1
- package/dist/esm/accounts/utils/signMessage.js +6 -0
- package/dist/esm/accounts/utils/signMessage.js.map +1 -1
- package/dist/esm/accounts/utils/signTypedData.js +6 -0
- package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAddress.js +28 -0
- package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
- package/dist/esm/actions/ens/getEnsAvatar.js +28 -0
- package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
- package/dist/esm/actions/ens/getEnsName.js +27 -0
- package/dist/esm/actions/ens/getEnsName.js.map +1 -1
- package/dist/esm/actions/ens/getEnsResolver.js +28 -0
- package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
- package/dist/esm/actions/ens/getEnsText.js +29 -0
- package/dist/esm/actions/ens/getEnsText.js.map +1 -1
- package/dist/esm/actions/getContract.js +36 -0
- package/dist/esm/actions/getContract.js.map +1 -1
- package/dist/esm/actions/public/call.js +31 -0
- package/dist/esm/actions/public/call.js.map +1 -1
- package/dist/esm/actions/public/createBlockFilter.js +21 -0
- package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
- package/dist/esm/actions/public/createContractEventFilter.js +22 -0
- package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createEventFilter.js +23 -0
- package/dist/esm/actions/public/createEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createPendingTransactionFilter.js +21 -0
- package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
- package/dist/esm/actions/public/estimateContractGas.js +27 -0
- package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
- package/dist/esm/actions/public/estimateGas.js +26 -0
- package/dist/esm/actions/public/estimateGas.js.map +1 -1
- package/dist/esm/actions/public/getBalance.js +35 -0
- package/dist/esm/actions/public/getBalance.js.map +1 -1
- package/dist/esm/actions/public/getBlock.js +24 -0
- package/dist/esm/actions/public/getBlock.js.map +1 -1
- package/dist/esm/actions/public/getBlockNumber.js +23 -0
- package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/getBlockTransactionCount.js +23 -0
- package/dist/esm/actions/public/getBlockTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getBytecode.js +23 -0
- package/dist/esm/actions/public/getBytecode.js.map +1 -1
- package/dist/esm/actions/public/getChainId.js +21 -0
- package/dist/esm/actions/public/getChainId.js.map +1 -1
- package/dist/esm/actions/public/getFeeHistory.js +24 -0
- package/dist/esm/actions/public/getFeeHistory.js.map +1 -1
- package/dist/esm/actions/public/getFilterChanges.js +84 -0
- package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
- package/dist/esm/actions/public/getFilterLogs.js +29 -0
- package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
- package/dist/esm/actions/public/getGasPrice.js +20 -0
- package/dist/esm/actions/public/getGasPrice.js.map +1 -1
- package/dist/esm/actions/public/getLogs.js +24 -0
- package/dist/esm/actions/public/getLogs.js.map +1 -1
- package/dist/esm/actions/public/getStorageAt.js +24 -0
- package/dist/esm/actions/public/getStorageAt.js.map +1 -1
- package/dist/esm/actions/public/getTransaction.js +24 -0
- package/dist/esm/actions/public/getTransaction.js.map +1 -1
- package/dist/esm/actions/public/getTransactionConfirmations.js +24 -0
- package/dist/esm/actions/public/getTransactionConfirmations.js.map +1 -1
- package/dist/esm/actions/public/getTransactionCount.js +23 -0
- package/dist/esm/actions/public/getTransactionCount.js.map +1 -1
- package/dist/esm/actions/public/getTransactionReceipt.js +24 -0
- package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/multicall.js +40 -0
- package/dist/esm/actions/public/multicall.js.map +1 -1
- package/dist/esm/actions/public/readContract.js +31 -0
- package/dist/esm/actions/public/readContract.js.map +1 -1
- package/dist/esm/actions/public/simulateContract.js +31 -0
- package/dist/esm/actions/public/simulateContract.js.map +1 -1
- package/dist/esm/actions/public/uninstallFilter.js +24 -0
- package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
- package/dist/esm/actions/public/verifyHash.js +10 -0
- package/dist/esm/actions/public/verifyHash.js.map +1 -1
- package/dist/esm/actions/public/verifyMessage.js +11 -0
- package/dist/esm/actions/public/verifyMessage.js.map +1 -1
- package/dist/esm/actions/public/verifyTypedData.js +9 -0
- package/dist/esm/actions/public/verifyTypedData.js.map +1 -1
- package/dist/esm/actions/public/waitForTransactionReceipt.js +52 -0
- package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js +31 -0
- package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/watchBlocks.js +35 -1
- package/dist/esm/actions/public/watchBlocks.js.map +1 -1
- package/dist/esm/actions/public/watchContractEvent.js +36 -0
- package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/public/watchEvent.js +38 -0
- package/dist/esm/actions/public/watchEvent.js.map +1 -1
- package/dist/esm/actions/public/watchPendingTransactions.js +29 -0
- package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
- package/dist/esm/actions/test/dropTransaction.js +22 -0
- package/dist/esm/actions/test/dropTransaction.js.map +1 -1
- package/dist/esm/actions/test/getAutomine.js +20 -0
- package/dist/esm/actions/test/getAutomine.js.map +1 -1
- package/dist/esm/actions/test/getTxpoolContent.js +20 -0
- package/dist/esm/actions/test/getTxpoolContent.js.map +1 -1
- package/dist/esm/actions/test/getTxpoolStatus.js +20 -0
- package/dist/esm/actions/test/getTxpoolStatus.js.map +1 -1
- package/dist/esm/actions/test/impersonateAccount.js +22 -0
- package/dist/esm/actions/test/impersonateAccount.js.map +1 -1
- package/dist/esm/actions/test/increaseTime.js +22 -0
- package/dist/esm/actions/test/increaseTime.js.map +1 -1
- package/dist/esm/actions/test/inspectTxpool.js +20 -0
- package/dist/esm/actions/test/inspectTxpool.js.map +1 -1
- package/dist/esm/actions/test/mine.js +20 -0
- package/dist/esm/actions/test/mine.js.map +1 -1
- package/dist/esm/actions/test/removeBlockTimestampInterval.js +19 -0
- package/dist/esm/actions/test/removeBlockTimestampInterval.js.map +1 -1
- package/dist/esm/actions/test/reset.js +20 -0
- package/dist/esm/actions/test/reset.js.map +1 -1
- package/dist/esm/actions/test/revert.js +20 -0
- package/dist/esm/actions/test/revert.js.map +1 -1
- package/dist/esm/actions/test/sendUnsignedTransaction.js +25 -0
- package/dist/esm/actions/test/sendUnsignedTransaction.js.map +1 -1
- package/dist/esm/actions/test/setAutomine.js +19 -0
- package/dist/esm/actions/test/setAutomine.js.map +1 -1
- package/dist/esm/actions/test/setBalance.js +23 -0
- package/dist/esm/actions/test/setBalance.js.map +1 -1
- package/dist/esm/actions/test/setBlockGasLimit.js +20 -0
- package/dist/esm/actions/test/setBlockGasLimit.js.map +1 -1
- package/dist/esm/actions/test/setBlockTimestampInterval.js +20 -0
- package/dist/esm/actions/test/setBlockTimestampInterval.js.map +1 -1
- package/dist/esm/actions/test/setCode.js +23 -0
- package/dist/esm/actions/test/setCode.js.map +1 -1
- package/dist/esm/actions/test/setCoinbase.js +22 -0
- package/dist/esm/actions/test/setCoinbase.js.map +1 -1
- package/dist/esm/actions/test/setIntervalMining.js +20 -0
- package/dist/esm/actions/test/setIntervalMining.js.map +1 -1
- package/dist/esm/actions/test/setLoggingEnabled.js +19 -0
- package/dist/esm/actions/test/setLoggingEnabled.js.map +1 -1
- package/dist/esm/actions/test/setMinGasPrice.js +24 -0
- package/dist/esm/actions/test/setMinGasPrice.js.map +1 -1
- package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js +22 -0
- package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
- package/dist/esm/actions/test/setNextBlockTimestamp.js +20 -0
- package/dist/esm/actions/test/setNextBlockTimestamp.js.map +1 -1
- package/dist/esm/actions/test/setNonce.js +23 -0
- package/dist/esm/actions/test/setNonce.js.map +1 -1
- package/dist/esm/actions/test/setRpcUrl.js +20 -0
- package/dist/esm/actions/test/setRpcUrl.js.map +1 -1
- package/dist/esm/actions/test/setStorageAt.js +24 -0
- package/dist/esm/actions/test/setStorageAt.js.map +1 -1
- package/dist/esm/actions/test/snapshot.js +19 -0
- package/dist/esm/actions/test/snapshot.js.map +1 -1
- package/dist/esm/actions/test/stopImpersonatingAccount.js +22 -0
- package/dist/esm/actions/test/stopImpersonatingAccount.js.map +1 -1
- package/dist/esm/actions/wallet/addChain.js +19 -0
- package/dist/esm/actions/wallet/addChain.js.map +1 -1
- package/dist/esm/actions/wallet/deployContract.js +27 -0
- package/dist/esm/actions/wallet/deployContract.js.map +1 -1
- package/dist/esm/actions/wallet/getAddresses.js +20 -0
- package/dist/esm/actions/wallet/getAddresses.js.map +1 -1
- package/dist/esm/actions/wallet/getPermissions.js +20 -0
- package/dist/esm/actions/wallet/getPermissions.js.map +1 -1
- package/dist/esm/actions/wallet/requestAddresses.js +24 -0
- package/dist/esm/actions/wallet/requestAddresses.js.map +1 -1
- package/dist/esm/actions/wallet/requestPermissions.js +23 -0
- package/dist/esm/actions/wallet/requestPermissions.js.map +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js +47 -0
- package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/esm/actions/wallet/signMessage.js +46 -0
- package/dist/esm/actions/wallet/signMessage.js.map +1 -1
- package/dist/esm/actions/wallet/signTypedData.js +100 -0
- package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
- package/dist/esm/actions/wallet/switchChain.js +20 -0
- package/dist/esm/actions/wallet/switchChain.js.map +1 -1
- package/dist/esm/actions/wallet/watchAsset.js +28 -0
- package/dist/esm/actions/wallet/watchAsset.js.map +1 -1
- package/dist/esm/actions/wallet/writeContract.js +50 -0
- package/dist/esm/actions/wallet/writeContract.js.map +1 -1
- package/dist/esm/chains.js +96 -96
- package/dist/esm/chains.js.map +1 -1
- package/dist/esm/clients/createClient.js +3 -0
- package/dist/esm/clients/createClient.js.map +1 -1
- package/dist/esm/clients/createPublicClient.js +19 -0
- package/dist/esm/clients/createPublicClient.js.map +1 -1
- package/dist/esm/clients/createTestClient.js +23 -0
- package/dist/esm/clients/createTestClient.js.map +1 -1
- package/dist/esm/clients/createWalletClient.js +36 -0
- package/dist/esm/clients/createWalletClient.js.map +1 -1
- package/dist/esm/clients/transports/createTransport.js +3 -0
- package/dist/esm/clients/transports/createTransport.js.map +1 -1
- package/dist/esm/clients/transports/custom.js +3 -0
- package/dist/esm/clients/transports/custom.js.map +1 -1
- package/dist/esm/clients/transports/fallback.js +11 -0
- package/dist/esm/clients/transports/fallback.js.map +1 -1
- package/dist/esm/clients/transports/http.js +6 -1
- package/dist/esm/clients/transports/http.js.map +1 -1
- package/dist/esm/clients/transports/webSocket.js +6 -1
- package/dist/esm/clients/transports/webSocket.js.map +1 -1
- package/dist/esm/constants/abis.js +6 -0
- package/dist/esm/constants/abis.js.map +1 -1
- package/dist/esm/constants/solidity.js +1 -0
- package/dist/esm/constants/solidity.js.map +1 -1
- package/dist/esm/errors/node.js +9 -0
- package/dist/esm/errors/node.js.map +1 -1
- package/dist/esm/errors/rpc.js +103 -0
- package/dist/esm/errors/rpc.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/types/eip1193.js +2 -0
- package/dist/esm/types/eip1193.js.map +1 -1
- package/dist/esm/utils/abi/decodeAbiParameters.js +29 -0
- package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/decodeEventLog.js +2 -0
- package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js +10 -1
- package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
- package/dist/esm/utils/abi/getAbiItem.js +7 -0
- package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
- package/dist/esm/utils/accounts.js +3 -0
- package/dist/esm/utils/accounts.js.map +1 -1
- package/dist/esm/utils/buildRequest.js +2 -0
- package/dist/esm/utils/buildRequest.js.map +1 -1
- package/dist/esm/utils/data/size.js +6 -0
- package/dist/esm/utils/data/size.js.map +1 -1
- package/dist/esm/utils/data/slice.js +21 -0
- package/dist/esm/utils/data/slice.js.map +1 -1
- package/dist/esm/utils/encoding/fromBytes.js +79 -0
- package/dist/esm/utils/encoding/fromBytes.js.map +1 -1
- package/dist/esm/utils/encoding/fromHex.js +106 -0
- package/dist/esm/utils/encoding/fromHex.js.map +1 -1
- package/dist/esm/utils/encoding/toBytes.js +102 -1
- package/dist/esm/utils/encoding/toBytes.js.map +1 -1
- package/dist/esm/utils/encoding/toHex.js +108 -2
- package/dist/esm/utils/encoding/toHex.js.map +1 -1
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js +6 -2
- package/dist/esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
- package/dist/esm/utils/ens/avatar/utils.js +10 -0
- package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
- package/dist/esm/utils/ens/labelhash.js +9 -0
- package/dist/esm/utils/ens/labelhash.js.map +1 -1
- package/dist/esm/utils/ens/namehash.js +12 -0
- package/dist/esm/utils/ens/namehash.js.map +1 -1
- package/dist/esm/utils/ens/normalize.js +10 -0
- package/dist/esm/utils/ens/normalize.js.map +1 -1
- package/dist/esm/utils/ens/packetToBytes.js +6 -0
- package/dist/esm/utils/ens/packetToBytes.js.map +1 -1
- package/dist/esm/utils/filters/createFilterRequestScope.js +5 -0
- package/dist/esm/utils/filters/createFilterRequestScope.js.map +1 -1
- package/dist/esm/utils/formatters/block.js +4 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/extract.js +3 -0
- package/dist/esm/utils/formatters/extract.js.map +1 -1
- package/dist/esm/utils/formatters/format.js +3 -0
- package/dist/esm/utils/formatters/format.js.map +1 -1
- package/dist/esm/utils/formatters/transaction.js +3 -1
- package/dist/esm/utils/formatters/transaction.js.map +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/esm/utils/observe.js +7 -2
- package/dist/esm/utils/observe.js.map +1 -1
- package/dist/esm/utils/poll.js +3 -0
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/esm/utils/promise/createBatchScheduler.js +1 -1
- package/dist/esm/utils/promise/createBatchScheduler.js.map +1 -1
- package/dist/esm/utils/promise/withCache.js +15 -2
- package/dist/esm/utils/promise/withCache.js.map +1 -1
- package/dist/esm/utils/regex.js +4 -0
- package/dist/esm/utils/regex.js.map +1 -1
- package/dist/esm/utils/rpc.js +14 -1
- package/dist/esm/utils/rpc.js.map +1 -1
- package/dist/esm/utils/signature/hashTypedData.js +3 -0
- package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
- package/dist/esm/utils/signature/recoverPublicKey.js +2 -0
- package/dist/esm/utils/signature/recoverPublicKey.js.map +1 -1
- package/dist/esm/utils/signature/verifyMessage.js +12 -0
- package/dist/esm/utils/signature/verifyMessage.js.map +1 -1
- package/dist/esm/utils/signature/verifyTypedData.js +12 -0
- package/dist/esm/utils/signature/verifyTypedData.js.map +1 -1
- package/dist/esm/utils/transaction/prepareRequest.js +5 -1
- package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/esm/utils/transaction/serializeTransaction.js +4 -2
- package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
- package/dist/esm/utils/typedData.js +4 -0
- package/dist/esm/utils/typedData.js.map +1 -1
- package/dist/esm/utils/unit/parseUnits.js +2 -0
- package/dist/esm/utils/unit/parseUnits.js.map +1 -1
- package/dist/types/actions/public/getBlockNumber.d.ts +2 -2
- package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
- package/dist/types/chains.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/formatters/block.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
- package/dist/types/utils/observe.d.ts.map +1 -1
- package/dist/types/utils/promise/withCache.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/chains.ts +120 -97
- package/src/errors/version.ts +1 -1
- package/src/utils/encoding/toBytes.ts +1 -1
- package/src/utils/encoding/toHex.ts +2 -2
- package/src/utils/formatters/block.ts +3 -1
- package/src/utils/formatters/transaction.ts +3 -1
- package/src/utils/formatters/transactionReceipt.ts +1 -1
- package/src/utils/formatters/transactionRequest.ts +1 -1
- package/src/utils/observe.ts +2 -2
- package/src/utils/promise/createBatchScheduler.ts +1 -1
- package/src/utils/promise/withCache.ts +2 -2
- package/src/utils/rpc.ts +1 -1
@@ -4,6 +4,35 @@ import { stringify } from '../../utils/stringify.js';
|
|
4
4
|
import { createPendingTransactionFilter } from './createPendingTransactionFilter.js';
|
5
5
|
import { getFilterChanges } from './getFilterChanges.js';
|
6
6
|
import { uninstallFilter } from './uninstallFilter.js';
|
7
|
+
/**
|
8
|
+
* Watches and returns pending transaction hashes.
|
9
|
+
*
|
10
|
+
* - Docs: https://viem.sh/docs/actions/public/watchPendingTransactions.html
|
11
|
+
* - JSON-RPC Methods:
|
12
|
+
* - When `poll: true`
|
13
|
+
* - Calls [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) to initialize the filter.
|
14
|
+
* - Calls [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getFilterChanges) on a polling interval.
|
15
|
+
* - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `"newPendingTransactions"` event.
|
16
|
+
*
|
17
|
+
* This Action will batch up all the pending transactions found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#pollinginterval-optional), and invoke them via [`onTransactions`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#ontransactions).
|
18
|
+
*
|
19
|
+
* @param client - Client to use
|
20
|
+
* @param parameters - {@link WatchPendingTransactionsParameters}
|
21
|
+
* @returns A function that can be invoked to stop watching for new pending transaction hashes. {@link WatchPendingTransactionsReturnType}
|
22
|
+
*
|
23
|
+
* @example
|
24
|
+
* import { createPublicClient, http } from 'viem'
|
25
|
+
* import { mainnet } from 'viem/chains'
|
26
|
+
* import { watchPendingTransactions } from 'viem/public'
|
27
|
+
*
|
28
|
+
* const client = createPublicClient({
|
29
|
+
* chain: mainnet,
|
30
|
+
* transport: http(),
|
31
|
+
* })
|
32
|
+
* const unwatch = await watchPendingTransactions(client, {
|
33
|
+
* onTransactions: (hashes) => console.log(hashes),
|
34
|
+
* })
|
35
|
+
*/
|
7
36
|
export function watchPendingTransactions(client, { batch = true, onError, onTransactions, poll: poll_, pollingInterval = client.pollingInterval, }) {
|
8
37
|
const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';
|
9
38
|
const pollPendingTransactions = () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"watchPendingTransactions.js","sourceRoot":"","sources":["../../../../src/actions/public/watchPendingTransactions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"watchPendingTransactions.js","sourceRoot":"","sources":["../../../../src/actions/public/watchPendingTransactions.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Removes a transaction from the mempool.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/dropTransaction.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters - {@link DropTransactionParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { dropTransaction } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await dropTransaction(client, {
|
20
|
+
* hash: '0xe58dceb6b20b03965bb678e27d141e151d7d4efc2334c2d6a49b9fac523f7364'
|
21
|
+
* })
|
22
|
+
*/
|
1
23
|
export async function dropTransaction(client, { hash }) {
|
2
24
|
await client.request({
|
3
25
|
method: `${client.mode}_dropTransaction`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dropTransaction.js","sourceRoot":"","sources":["../../../../src/actions/test/dropTransaction.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dropTransaction.js","sourceRoot":"","sources":["../../../../src/actions/test/dropTransaction.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAqD,EACrD,EAAE,IAAI,EAA6B;IAEnC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,kBAAkB;QACxC,MAAM,EAAE,CAAC,IAAI,CAAC;KACf,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Returns the automatic mining status of the node.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/getAutomine.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @returns Whether or not the node is auto mining. {@link GetAutomineReturnType}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { getAutomine } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* const isAutomining = await getAutomine(client)
|
20
|
+
*/
|
1
21
|
export async function getAutomine(client) {
|
2
22
|
if (client.mode === 'ganache')
|
3
23
|
return await client.request({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAutomine.js","sourceRoot":"","sources":["../../../../src/actions/test/getAutomine.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getAutomine.js","sourceRoot":"","sources":["../../../../src/actions/test/getAutomine.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAqD;IAErD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAC3B,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE,YAAY;SACrB,CAAC,CAAA;IACJ,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,cAAc;KACrC,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/getTxpoolContent.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @returns Transaction pool content. {@link GetTxpoolContentReturnType}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { getTxpoolContent } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* const content = await getTxpoolContent(client)
|
20
|
+
*/
|
1
21
|
export async function getTxpoolContent(client) {
|
2
22
|
return await client.request({
|
3
23
|
method: 'txpool_content',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getTxpoolContent.js","sourceRoot":"","sources":["../../../../src/actions/test/getTxpoolContent.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getTxpoolContent.js","sourceRoot":"","sources":["../../../../src/actions/test/getTxpoolContent.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqD;IAErD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,4 +1,24 @@
|
|
1
1
|
import { hexToNumber } from '../../utils/encoding/fromHex.js';
|
2
|
+
/**
|
3
|
+
* Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/getTxpoolStatus.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @returns Transaction pool status. {@link GetTxpoolStatusReturnType}
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* import { createTestClient, http } from 'viem'
|
12
|
+
* import { foundry } from 'viem/chains'
|
13
|
+
* import { getTxpoolStatus } from 'viem/test'
|
14
|
+
*
|
15
|
+
* const client = createTestClient({
|
16
|
+
* mode: 'anvil',
|
17
|
+
* chain: 'foundry',
|
18
|
+
* transport: http(),
|
19
|
+
* })
|
20
|
+
* const status = await getTxpoolStatus(client)
|
21
|
+
*/
|
2
22
|
export async function getTxpoolStatus(client) {
|
3
23
|
const { pending, queued } = await client.request({
|
4
24
|
method: 'txpool_status',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getTxpoolStatus.js","sourceRoot":"","sources":["../../../../src/actions/test/getTxpoolStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;
|
1
|
+
{"version":3,"file":"getTxpoolStatus.js","sourceRoot":"","sources":["../../../../src/actions/test/getTxpoolStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAO7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAqD;IAErD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC/C,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IACF,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;KAC5B,CAAA;AACH,CAAC"}
|
@@ -1,3 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Impersonate an account or contract address. This lets you send transactions from that account even if you don't have access to its private key.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/impersonateAccount.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters - {@link ImpersonateAccountParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { impersonateAccount } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* const content = await impersonateAccount(client, {
|
20
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
21
|
+
* })
|
22
|
+
*/
|
1
23
|
export async function impersonateAccount(client, { address }) {
|
2
24
|
await client.request({
|
3
25
|
method: `${client.mode}_impersonateAccount`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"impersonateAccount.js","sourceRoot":"","sources":["../../../../src/actions/test/impersonateAccount.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"impersonateAccount.js","sourceRoot":"","sources":["../../../../src/actions/test/impersonateAccount.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAqD,EACrD,EAAE,OAAO,EAAgC;IAEzC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,qBAAqB;QAC3C,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,4 +1,26 @@
|
|
1
1
|
import { numberToHex } from '../../utils/encoding/toHex.js';
|
2
|
+
/**
|
3
|
+
* Jump forward in time by the given amount of time, in seconds.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/increaseTime.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @param parameters – {@link IncreaseTimeParameters}
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* import { createTestClient, http } from 'viem'
|
12
|
+
* import { foundry } from 'viem/chains'
|
13
|
+
* import { increaseTime } from 'viem/test'
|
14
|
+
*
|
15
|
+
* const client = createTestClient({
|
16
|
+
* mode: 'anvil',
|
17
|
+
* chain: 'foundry',
|
18
|
+
* transport: http(),
|
19
|
+
* })
|
20
|
+
* await increaseTime(client, {
|
21
|
+
* seconds: 420,
|
22
|
+
* })
|
23
|
+
*/
|
2
24
|
export async function increaseTime(client, { seconds }) {
|
3
25
|
return await client.request({
|
4
26
|
method: 'evm_increaseTime',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"increaseTime.js","sourceRoot":"","sources":["../../../../src/actions/test/increaseTime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;
|
1
|
+
{"version":3,"file":"increaseTime.js","sourceRoot":"","sources":["../../../../src/actions/test/increaseTime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAO3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqD,EACrD,EAAE,OAAO,EAA0B;IAEnC,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/B,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/inspectTxpool.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @returns Transaction pool inspection data. {@link InspectTxpoolReturnType}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { inspectTxpool } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* const data = await inspectTxpool(client)
|
20
|
+
*/
|
1
21
|
export async function inspectTxpool(client) {
|
2
22
|
return await client.request({
|
3
23
|
method: 'txpool_inspect',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"inspectTxpool.js","sourceRoot":"","sources":["../../../../src/actions/test/inspectTxpool.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"inspectTxpool.js","sourceRoot":"","sources":["../../../../src/actions/test/inspectTxpool.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAqD;IAErD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,4 +1,24 @@
|
|
1
1
|
import { numberToHex } from '../../utils/encoding/toHex.js';
|
2
|
+
/**
|
3
|
+
* Mine a specified number of blocks.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/mine.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @param parameters – {@link MineParameters}
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* import { createTestClient, http } from 'viem'
|
12
|
+
* import { foundry } from 'viem/chains'
|
13
|
+
* import { mine } from 'viem/test'
|
14
|
+
*
|
15
|
+
* const client = createTestClient({
|
16
|
+
* mode: 'anvil',
|
17
|
+
* chain: 'foundry',
|
18
|
+
* transport: http(),
|
19
|
+
* })
|
20
|
+
* await mine(client, { blocks: 1 })
|
21
|
+
*/
|
2
22
|
export async function mine(client, { blocks, interval }) {
|
3
23
|
if (client.mode === 'ganache')
|
4
24
|
await client.request({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mine.js","sourceRoot":"","sources":["../../../../src/actions/test/mine.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;
|
1
|
+
{"version":3,"file":"mine.js","sourceRoot":"","sources":["../../../../src/actions/test/mine.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAS3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,MAAqD,EACrD,EAAE,MAAM,EAAE,QAAQ,EAAkB;IAEpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAC3B,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAA;;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,OAAO;YAC7B,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;SAC1D,CAAC,CAAA;AACN,CAAC"}
|
@@ -1,3 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* Removes [`setBlockTimestampInterval`](https://viem.sh/docs/actions/test/setBlockTimestampInterval.html) if it exists.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/removeBlockTimestampInterval.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
*
|
8
|
+
* @example
|
9
|
+
* import { createTestClient, http } from 'viem'
|
10
|
+
* import { foundry } from 'viem/chains'
|
11
|
+
* import { removeBlockTimestampInterval } from 'viem/test'
|
12
|
+
*
|
13
|
+
* const client = createTestClient({
|
14
|
+
* mode: 'anvil',
|
15
|
+
* chain: 'foundry',
|
16
|
+
* transport: http(),
|
17
|
+
* })
|
18
|
+
* await removeBlockTimestampInterval(client)
|
19
|
+
*/
|
1
20
|
export async function removeBlockTimestampInterval(client) {
|
2
21
|
await client.request({
|
3
22
|
method: `${client.mode}_removeBlockTimestampInterval`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"removeBlockTimestampInterval.js","sourceRoot":"","sources":["../../../../src/actions/test/removeBlockTimestampInterval.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"removeBlockTimestampInterval.js","sourceRoot":"","sources":["../../../../src/actions/test/removeBlockTimestampInterval.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAEhD,MAAqD;IACrD,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,+BAA+B;KACtD,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Resets fork back to its original state.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/reset.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters – {@link ResetParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { reset } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await reset(client, { blockNumber: 69420n })
|
20
|
+
*/
|
1
21
|
export async function reset(client, { blockNumber, jsonRpcUrl } = {}) {
|
2
22
|
await client.request({
|
3
23
|
method: `${client.mode}_reset`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/actions/test/reset.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/actions/test/reset.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,MAAqD,EACrD,EAAE,WAAW,EAAE,UAAU,KAAsB,EAAE;IAEjD,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,QAAQ;QAC9B,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;KACxE,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Revert the state of the blockchain at the current block.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/revert.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters – {@link RevertParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { revert } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await revert(client, { id: '0x…' })
|
20
|
+
*/
|
1
21
|
export async function revert(client, { id }) {
|
2
22
|
await client.request({
|
3
23
|
method: 'evm_revert',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"revert.js","sourceRoot":"","sources":["../../../../src/actions/test/revert.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"revert.js","sourceRoot":"","sources":["../../../../src/actions/test/revert.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAqD,EACrD,EAAE,EAAE,EAAoB;IAExB,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC;KACb,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,4 +1,29 @@
|
|
1
1
|
import { formatTransactionRequest } from '../../utils/formatters/transactionRequest.js';
|
2
|
+
/**
|
3
|
+
* Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/getTxpoolContent.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @param parameters – {@link SendUnsignedTransactionParameters}
|
9
|
+
* @returns The transaction hash. {@link SendUnsignedTransactionReturnType}
|
10
|
+
*
|
11
|
+
* @example
|
12
|
+
* import { createTestClient, http } from 'viem'
|
13
|
+
* import { foundry } from 'viem/chains'
|
14
|
+
* import { sendUnsignedTransaction } from 'viem/test'
|
15
|
+
*
|
16
|
+
* const client = createTestClient({
|
17
|
+
* mode: 'anvil',
|
18
|
+
* chain: 'foundry',
|
19
|
+
* transport: http(),
|
20
|
+
* })
|
21
|
+
* const hash = await sendUnsignedTransaction(client, {
|
22
|
+
* from: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
|
23
|
+
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
|
24
|
+
* value: 1000000000000000000n,
|
25
|
+
* })
|
26
|
+
*/
|
2
27
|
export async function sendUnsignedTransaction(client, request) {
|
3
28
|
const request_ = formatTransactionRequest(request);
|
4
29
|
const hash = await client.request({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sendUnsignedTransaction.js","sourceRoot":"","sources":["../../../../src/actions/test/sendUnsignedTransaction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;
|
1
|
+
{"version":3,"file":"sendUnsignedTransaction.js","sourceRoot":"","sources":["../../../../src/actions/test/sendUnsignedTransaction.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAMvF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG3C,MAAqD,EACrD,OAA0C;IAE1C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
@@ -1,3 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* Enables or disables the automatic mining of new blocks with each new transaction submitted to the network.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/setAutomine.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
*
|
8
|
+
* @example
|
9
|
+
* import { createTestClient, http } from 'viem'
|
10
|
+
* import { foundry } from 'viem/chains'
|
11
|
+
* import { setAutomine } from 'viem/test'
|
12
|
+
*
|
13
|
+
* const client = createTestClient({
|
14
|
+
* mode: 'anvil',
|
15
|
+
* chain: 'foundry',
|
16
|
+
* transport: http(),
|
17
|
+
* })
|
18
|
+
* await setAutomine(client)
|
19
|
+
*/
|
1
20
|
export async function setAutomine(client, enabled) {
|
2
21
|
if (client.mode === 'ganache') {
|
3
22
|
if (enabled)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setAutomine.js","sourceRoot":"","sources":["../../../../src/actions/test/setAutomine.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"setAutomine.js","sourceRoot":"","sources":["../../../../src/actions/test/setAutomine.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAqD,EACrD,OAAgB;IAEhB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;QAC7B,IAAI,OAAO;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;KACpD;;QACC,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,CAAC,OAAO,CAAC;SAClB,CAAC,CAAA;AACN,CAAC"}
|
@@ -1,4 +1,27 @@
|
|
1
1
|
import { numberToHex } from '../../utils/encoding/toHex.js';
|
2
|
+
/**
|
3
|
+
* Modifies the balance of an account.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/setBalance.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @param parameters – {@link SetBalanceParameters}
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* import { createTestClient, http, parseEther } from 'viem'
|
12
|
+
* import { foundry } from 'viem/chains'
|
13
|
+
* import { setBalance } from 'viem/test'
|
14
|
+
*
|
15
|
+
* const client = createTestClient({
|
16
|
+
* mode: 'anvil',
|
17
|
+
* chain: 'foundry',
|
18
|
+
* transport: http(),
|
19
|
+
* })
|
20
|
+
* await setBalance(client, {
|
21
|
+
* address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
|
22
|
+
* value: parseEther('1'),
|
23
|
+
* })
|
24
|
+
*/
|
2
25
|
export async function setBalance(client, { address, value }) {
|
3
26
|
if (client.mode === 'ganache')
|
4
27
|
await client.request({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setBalance.js","sourceRoot":"","sources":["../../../../src/actions/test/setBalance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;
|
1
|
+
{"version":3,"file":"setBalance.js","sourceRoot":"","sources":["../../../../src/actions/test/setBalance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAS3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAqD,EACrD,EAAE,OAAO,EAAE,KAAK,EAAwB;IAExC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAC3B,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;SACtC,CAAC,CAAA;;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,aAAa;YACnC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;SACtC,CAAC,CAAA;AACN,CAAC"}
|
@@ -1,4 +1,24 @@
|
|
1
1
|
import { numberToHex } from '../../utils/encoding/toHex.js';
|
2
|
+
/**
|
3
|
+
* Sets the block's gas limit.
|
4
|
+
*
|
5
|
+
* - Docs: https://viem.sh/docs/actions/test/setBlockGasLimit.html
|
6
|
+
*
|
7
|
+
* @param client - Client to use
|
8
|
+
* @param parameters – {@link SetBlockGasLimitParameters}
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* import { createTestClient, http } from 'viem'
|
12
|
+
* import { foundry } from 'viem/chains'
|
13
|
+
* import { setBlockGasLimit } from 'viem/test'
|
14
|
+
*
|
15
|
+
* const client = createTestClient({
|
16
|
+
* mode: 'anvil',
|
17
|
+
* chain: 'foundry',
|
18
|
+
* transport: http(),
|
19
|
+
* })
|
20
|
+
* await setBlockGasLimit(client, { gasLimit: 420_000n })
|
21
|
+
*/
|
2
22
|
export async function setBlockGasLimit(client, { gasLimit }) {
|
3
23
|
await client.request({
|
4
24
|
method: 'evm_setBlockGasLimit',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setBlockGasLimit.js","sourceRoot":"","sources":["../../../../src/actions/test/setBlockGasLimit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;
|
1
|
+
{"version":3,"file":"setBlockGasLimit.js","sourceRoot":"","sources":["../../../../src/actions/test/setBlockGasLimit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAO3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqD,EACrD,EAAE,QAAQ,EAA8B;IAExC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAChC,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Similar to [`increaseTime`](https://viem.sh/docs/actions/test/increaseTime.html), but sets a block timestamp `interval`. The timestamp of future blocks will be computed as `lastBlock_timestamp` + `interval`.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/setBlockTimestampInterval.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters – {@link SetBlockTimestampIntervalParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { setBlockTimestampInterval } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await setBlockTimestampInterval(client, { interval: 5 })
|
20
|
+
*/
|
1
21
|
export async function setBlockTimestampInterval(client, { interval }) {
|
2
22
|
await client.request({
|
3
23
|
method: `${client.mode}_setBlockTimestampInterval`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setBlockTimestampInterval.js","sourceRoot":"","sources":["../../../../src/actions/test/setBlockTimestampInterval.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"setBlockTimestampInterval.js","sourceRoot":"","sources":["../../../../src/actions/test/setBlockTimestampInterval.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAG7C,MAAqD,EACrD,EAAE,QAAQ,EAAuC;IAEjD,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,4BAA4B;QAClD,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* Modifies the bytecode stored at an account's address.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/setCode.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters – {@link SetCodeParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { setCode } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await setCode(client, {
|
20
|
+
* address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',
|
21
|
+
* bytecode: '0x60806040526000600355600019600955600c80546001600160a01b031916737a250d5630b4cf539739df…',
|
22
|
+
* })
|
23
|
+
*/
|
1
24
|
export async function setCode(client, { address, bytecode }) {
|
2
25
|
await client.request({
|
3
26
|
method: `${client.mode}_setCode`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setCode.js","sourceRoot":"","sources":["../../../../src/actions/test/setCode.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"setCode.js","sourceRoot":"","sources":["../../../../src/actions/test/setCode.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAqD,EACrD,EAAE,OAAO,EAAE,QAAQ,EAAqB;IAExC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,UAAU;QAChC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC5B,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,3 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Sets the coinbase address to be used in new blocks.
|
3
|
+
*
|
4
|
+
* - Docs: https://viem.sh/docs/actions/test/setCoinbase.html
|
5
|
+
*
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters – {@link SetCoinbaseParameters}
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* import { createTestClient, http } from 'viem'
|
11
|
+
* import { foundry } from 'viem/chains'
|
12
|
+
* import { setCoinbase } from 'viem/test'
|
13
|
+
*
|
14
|
+
* const client = createTestClient({
|
15
|
+
* mode: 'anvil',
|
16
|
+
* chain: 'foundry',
|
17
|
+
* transport: http(),
|
18
|
+
* })
|
19
|
+
* await setCoinbase(client, {
|
20
|
+
* address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',
|
21
|
+
* })
|
22
|
+
*/
|
1
23
|
export async function setCoinbase(client, { address }) {
|
2
24
|
await client.request({
|
3
25
|
method: `${client.mode}_setCoinbase`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setCoinbase.js","sourceRoot":"","sources":["../../../../src/actions/test/setCoinbase.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"setCoinbase.js","sourceRoot":"","sources":["../../../../src/actions/test/setCoinbase.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAqD,EACrD,EAAE,OAAO,EAAyB;IAElC,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,cAAc;QACpC,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB,CAAC,CAAA;AACJ,CAAC"}
|