@wagmi/core 1.4.1 → 2.0.0
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/esm/actions/connect.js +53 -0
- package/dist/esm/actions/connect.js.map +1 -0
- package/dist/esm/actions/disconnect.js +49 -0
- package/dist/esm/actions/disconnect.js.map +1 -0
- package/dist/esm/actions/estimateFeesPerGas.js +24 -0
- package/dist/esm/actions/estimateFeesPerGas.js.map +1 -0
- package/dist/esm/actions/estimateGas.js +25 -0
- package/dist/esm/actions/estimateGas.js.map +1 -0
- package/dist/esm/actions/getAccount.js +61 -0
- package/dist/esm/actions/getAccount.js.map +1 -0
- package/dist/esm/actions/getBalance.js +83 -0
- package/dist/esm/actions/getBalance.js.map +1 -0
- package/dist/esm/actions/getBlockNumber.js +9 -0
- package/dist/esm/actions/getBlockNumber.js.map +1 -0
- package/dist/esm/actions/getChainId.js +5 -0
- package/dist/esm/actions/getChainId.js.map +1 -0
- package/dist/esm/actions/getClient.js +5 -0
- package/dist/esm/actions/getClient.js.map +1 -0
- package/dist/esm/actions/getConnections.js +13 -0
- package/dist/esm/actions/getConnections.js.map +1 -0
- package/dist/esm/actions/getConnectorClient.js +42 -0
- package/dist/esm/actions/getConnectorClient.js.map +1 -0
- package/dist/esm/actions/getEnsAddress.js +9 -0
- package/dist/esm/actions/getEnsAddress.js.map +1 -0
- package/dist/esm/actions/getEnsAvatar.js +9 -0
- package/dist/esm/actions/getEnsAvatar.js.map +1 -0
- package/dist/esm/actions/getEnsName.js +9 -0
- package/dist/esm/actions/getEnsName.js.map +1 -0
- package/dist/esm/actions/getEnsResolver.js +9 -0
- package/dist/esm/actions/getEnsResolver.js.map +1 -0
- package/dist/esm/actions/getPublicClient.js +6 -0
- package/dist/esm/actions/getPublicClient.js.map +1 -0
- package/dist/esm/actions/getToken.js +101 -0
- package/dist/esm/actions/getToken.js.map +1 -0
- package/dist/esm/actions/getTransaction.js +10 -0
- package/dist/esm/actions/getTransaction.js.map +1 -0
- package/dist/esm/actions/getWalletClient.js +7 -0
- package/dist/esm/actions/getWalletClient.js.map +1 -0
- package/dist/esm/actions/multicall.js +11 -0
- package/dist/esm/actions/multicall.js.map +1 -0
- package/dist/esm/actions/readContract.js +10 -0
- package/dist/esm/actions/readContract.js.map +1 -0
- package/dist/esm/actions/readContracts.js +46 -0
- package/dist/esm/actions/readContracts.js.map +1 -0
- package/dist/esm/actions/reconnect.js +78 -0
- package/dist/esm/actions/reconnect.js.map +1 -0
- package/dist/esm/actions/sendTransaction.js +22 -0
- package/dist/esm/actions/sendTransaction.js.map +1 -0
- package/dist/esm/actions/signMessage.js +10 -0
- package/dist/esm/actions/signMessage.js.map +1 -0
- package/dist/esm/actions/signTypedData.js +10 -0
- package/dist/esm/actions/signTypedData.js.map +1 -0
- package/dist/esm/actions/simulateContract.js +33 -0
- package/dist/esm/actions/simulateContract.js.map +1 -0
- package/dist/esm/actions/switchAccount.js +19 -0
- package/dist/esm/actions/switchAccount.js.map +1 -0
- package/dist/esm/actions/switchChain.js +23 -0
- package/dist/esm/actions/switchChain.js.map +1 -0
- package/dist/esm/actions/waitForTransactionReceipt.js +23 -0
- package/dist/esm/actions/waitForTransactionReceipt.js.map +1 -0
- package/dist/esm/actions/watchAccount.js +18 -0
- package/dist/esm/actions/watchAccount.js.map +1 -0
- package/dist/esm/actions/watchBlockNumber.js +28 -0
- package/dist/esm/actions/watchBlockNumber.js.map +1 -0
- package/dist/esm/actions/watchChainId.js +6 -0
- package/dist/esm/actions/watchChainId.js.map +1 -0
- package/dist/esm/actions/watchClient.js +11 -0
- package/dist/esm/actions/watchClient.js.map +1 -0
- package/dist/esm/actions/watchConnections.js +10 -0
- package/dist/esm/actions/watchConnections.js.map +1 -0
- package/dist/esm/actions/watchContractEvent.js +27 -0
- package/dist/esm/actions/watchContractEvent.js.map +1 -0
- package/dist/esm/actions/watchPendingTransactions.js +27 -0
- package/dist/esm/actions/watchPendingTransactions.js.map +1 -0
- package/dist/esm/actions/watchPublicClient.js +11 -0
- package/dist/esm/actions/watchPublicClient.js.map +1 -0
- package/dist/esm/actions/writeContract.js +31 -0
- package/dist/esm/actions/writeContract.js.map +1 -0
- package/dist/esm/createConfig.js +218 -0
- package/dist/esm/createConfig.js.map +1 -0
- package/dist/esm/createConnector.js +8 -0
- package/dist/esm/createConnector.js.map +1 -0
- package/dist/esm/createEmitter.js +39 -0
- package/dist/esm/createEmitter.js.map +1 -0
- package/dist/esm/createStorage.js +37 -0
- package/dist/esm/createStorage.js.map +1 -0
- package/dist/esm/errors/base.js +86 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/config.js +70 -0
- package/dist/esm/errors/config.js.map +1 -0
- package/dist/esm/errors/connector.js +24 -0
- package/dist/esm/errors/connector.js.map +1 -0
- package/dist/esm/exports/actions.js +42 -0
- package/dist/esm/exports/actions.js.map +1 -0
- package/dist/esm/exports/chains.js +4 -0
- package/dist/esm/exports/chains.js.map +1 -0
- package/dist/esm/exports/index.js +71 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/internal.js +11 -0
- package/dist/esm/exports/internal.js.map +1 -0
- package/dist/esm/exports/query.js +29 -0
- package/dist/esm/exports/query.js.map +1 -0
- package/dist/esm/query/connect.js +11 -0
- package/dist/esm/query/connect.js.map +1 -0
- package/dist/esm/query/disconnect.js +10 -0
- package/dist/esm/query/disconnect.js.map +1 -0
- package/dist/esm/query/estimateFeesPerGas.js +16 -0
- package/dist/esm/query/estimateFeesPerGas.js.map +1 -0
- package/dist/esm/query/estimateGas.js +20 -0
- package/dist/esm/query/estimateGas.js.map +1 -0
- package/dist/esm/query/getBalance.js +21 -0
- package/dist/esm/query/getBalance.js.map +1 -0
- package/dist/esm/query/getBlockNumber.js +18 -0
- package/dist/esm/query/getBlockNumber.js.map +1 -0
- package/dist/esm/query/getConnectorClient.js +24 -0
- package/dist/esm/query/getConnectorClient.js.map +1 -0
- package/dist/esm/query/getEnsAddress.js +18 -0
- package/dist/esm/query/getEnsAddress.js.map +1 -0
- package/dist/esm/query/getEnsAvatar.js +18 -0
- package/dist/esm/query/getEnsAvatar.js.map +1 -0
- package/dist/esm/query/getEnsName.js +18 -0
- package/dist/esm/query/getEnsName.js.map +1 -0
- package/dist/esm/query/getEnsResolver.js +18 -0
- package/dist/esm/query/getEnsResolver.js.map +1 -0
- package/dist/esm/query/getToken.js +18 -0
- package/dist/esm/query/getToken.js.map +1 -0
- package/dist/esm/query/getTransaction.js +20 -0
- package/dist/esm/query/getTransaction.js.map +1 -0
- package/dist/esm/query/getWalletClient.js +21 -0
- package/dist/esm/query/getWalletClient.js.map +1 -0
- package/dist/esm/query/readContract.js +32 -0
- package/dist/esm/query/readContract.js.map +1 -0
- package/dist/esm/query/readContracts.js +36 -0
- package/dist/esm/query/readContracts.js.map +1 -0
- package/dist/esm/query/reconnect.js +10 -0
- package/dist/esm/query/reconnect.js.map +1 -0
- package/dist/esm/query/sendTransaction.js +11 -0
- package/dist/esm/query/sendTransaction.js.map +1 -0
- package/dist/esm/query/signMessage.js +13 -0
- package/dist/esm/query/signMessage.js.map +1 -0
- package/dist/esm/query/signTypedData.js +11 -0
- package/dist/esm/query/signTypedData.js.map +1 -0
- package/dist/esm/query/simulateContract.js +25 -0
- package/dist/esm/query/simulateContract.js.map +1 -0
- package/dist/esm/query/switchAccount.js +11 -0
- package/dist/esm/query/switchAccount.js.map +1 -0
- package/dist/esm/query/switchChain.js +11 -0
- package/dist/esm/query/switchChain.js.map +1 -0
- package/dist/esm/query/types.js +2 -0
- package/dist/esm/query/types.js.map +1 -0
- package/dist/esm/query/utils.js +45 -0
- package/dist/esm/query/utils.js.map +1 -0
- package/dist/esm/query/waitForTransactionReceipt.js +23 -0
- package/dist/esm/query/waitForTransactionReceipt.js.map +1 -0
- package/dist/esm/query/writeContract.js +11 -0
- package/dist/esm/query/writeContract.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
- package/dist/esm/types/chain.js +2 -0
- package/dist/esm/types/chain.js.map +1 -0
- package/dist/esm/types/properties.js +2 -0
- package/dist/esm/types/properties.js.map +1 -0
- package/dist/esm/types/register.js +2 -0
- package/dist/esm/types/register.js.map +1 -0
- package/dist/esm/types/unit.js +2 -0
- package/dist/esm/types/unit.js.map +1 -0
- package/dist/esm/types/utils.js +2 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/utils/assertActiveChain.js +14 -0
- package/dist/esm/utils/assertActiveChain.js.map +1 -0
- package/dist/esm/utils/deepEqual.js +41 -0
- package/dist/esm/utils/deepEqual.js.map +1 -0
- package/dist/esm/utils/deserialize.js +11 -0
- package/dist/esm/utils/deserialize.js.map +1 -0
- package/dist/esm/utils/getUnit.js +10 -0
- package/dist/esm/utils/getUnit.js.map +1 -0
- package/dist/esm/utils/getVersion.js +3 -0
- package/dist/esm/utils/getVersion.js.map +1 -0
- package/dist/esm/utils/normalizeChainId.js +10 -0
- package/dist/esm/utils/normalizeChainId.js.map +1 -0
- package/dist/esm/utils/serialize.js +87 -0
- package/dist/esm/utils/serialize.js.map +1 -0
- package/dist/esm/utils/uid.js +14 -0
- package/dist/esm/utils/uid.js.map +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/actions/connect.d.ts +19 -0
- package/dist/types/actions/connect.d.ts.map +1 -0
- package/dist/types/actions/disconnect.d.ts +9 -0
- package/dist/types/actions/disconnect.d.ts.map +1 -0
- package/dist/types/actions/estimateFeesPerGas.d.ts +16 -0
- package/dist/types/actions/estimateFeesPerGas.d.ts.map +1 -0
- package/dist/types/actions/estimateGas.d.ts +14 -0
- package/dist/types/actions/estimateGas.d.ts.map +1 -0
- package/dist/types/actions/getAccount.d.ts +46 -0
- package/dist/types/actions/getAccount.d.ts.map +1 -0
- package/dist/types/actions/getBalance.d.ts +21 -0
- package/dist/types/actions/getBalance.d.ts.map +1 -0
- package/dist/types/actions/getBlockNumber.d.ts +10 -0
- package/dist/types/actions/getBlockNumber.d.ts.map +1 -0
- package/dist/types/actions/getChainId.d.ts +5 -0
- package/dist/types/actions/getChainId.d.ts.map +1 -0
- package/dist/types/actions/getClient.d.ts +10 -0
- package/dist/types/actions/getClient.d.ts.map +1 -0
- package/dist/types/actions/getConnections.d.ts +6 -0
- package/dist/types/actions/getConnections.d.ts.map +1 -0
- package/dist/types/actions/getConnectorClient.d.ts +15 -0
- package/dist/types/actions/getConnectorClient.d.ts.map +1 -0
- package/dist/types/actions/getEnsAddress.d.ts +10 -0
- package/dist/types/actions/getEnsAddress.d.ts.map +1 -0
- package/dist/types/actions/getEnsAvatar.d.ts +10 -0
- package/dist/types/actions/getEnsAvatar.d.ts.map +1 -0
- package/dist/types/actions/getEnsName.d.ts +10 -0
- package/dist/types/actions/getEnsName.d.ts.map +1 -0
- package/dist/types/actions/getEnsResolver.d.ts +10 -0
- package/dist/types/actions/getEnsResolver.d.ts.map +1 -0
- package/dist/types/actions/getPublicClient.d.ts +10 -0
- package/dist/types/actions/getPublicClient.d.ts.map +1 -0
- package/dist/types/actions/getToken.d.ts +22 -0
- package/dist/types/actions/getToken.d.ts.map +1 -0
- package/dist/types/actions/getTransaction.d.ts +14 -0
- package/dist/types/actions/getTransaction.d.ts.map +1 -0
- package/dist/types/actions/getWalletClient.d.ts +11 -0
- package/dist/types/actions/getWalletClient.d.ts.map +1 -0
- package/dist/types/actions/multicall.d.ts +7 -0
- package/dist/types/actions/multicall.d.ts.map +1 -0
- package/dist/types/actions/readContract.d.ts +11 -0
- package/dist/types/actions/readContract.d.ts.map +1 -0
- package/dist/types/actions/readContracts.d.ts +10 -0
- package/dist/types/actions/readContracts.d.ts.map +1 -0
- package/dist/types/actions/reconnect.d.ts +12 -0
- package/dist/types/actions/reconnect.d.ts.map +1 -0
- package/dist/types/actions/sendTransaction.d.ts +15 -0
- package/dist/types/actions/sendTransaction.d.ts.map +1 -0
- package/dist/types/actions/signMessage.d.ts +11 -0
- package/dist/types/actions/signMessage.d.ts.map +1 -0
- package/dist/types/actions/signTypedData.d.ts +10 -0
- package/dist/types/actions/signTypedData.d.ts.map +1 -0
- package/dist/types/actions/simulateContract.d.ts +21 -0
- package/dist/types/actions/simulateContract.d.ts.map +1 -0
- package/dist/types/actions/switchAccount.d.ts +14 -0
- package/dist/types/actions/switchAccount.d.ts.map +1 -0
- package/dist/types/actions/switchChain.d.ts +16 -0
- package/dist/types/actions/switchChain.d.ts.map +1 -0
- package/dist/types/actions/waitForTransactionReceipt.d.ts +12 -0
- package/dist/types/actions/waitForTransactionReceipt.d.ts.map +1 -0
- package/dist/types/actions/watchAccount.d.ts +9 -0
- package/dist/types/actions/watchAccount.d.ts.map +1 -0
- package/dist/types/actions/watchBlockNumber.d.ts +13 -0
- package/dist/types/actions/watchBlockNumber.d.ts.map +1 -0
- package/dist/types/actions/watchChainId.d.ts +9 -0
- package/dist/types/actions/watchChainId.d.ts.map +1 -0
- package/dist/types/actions/watchClient.d.ts +9 -0
- package/dist/types/actions/watchClient.d.ts.map +1 -0
- package/dist/types/actions/watchConnections.d.ts +9 -0
- package/dist/types/actions/watchConnections.d.ts.map +1 -0
- package/dist/types/actions/watchContractEvent.d.ts +13 -0
- package/dist/types/actions/watchContractEvent.d.ts.map +1 -0
- package/dist/types/actions/watchPendingTransactions.d.ts +13 -0
- package/dist/types/actions/watchPendingTransactions.d.ts.map +1 -0
- package/dist/types/actions/watchPublicClient.d.ts +9 -0
- package/dist/types/actions/watchPublicClient.d.ts.map +1 -0
- package/dist/types/actions/writeContract.d.ts +15 -0
- package/dist/types/actions/writeContract.d.ts.map +1 -0
- package/dist/types/createConfig.d.ts +72 -0
- package/dist/types/createConfig.d.ts.map +1 -0
- package/dist/types/createConnector.d.ts +57 -0
- package/dist/types/createConnector.d.ts.map +1 -0
- package/dist/types/createEmitter.d.ts +31 -0
- package/dist/types/createEmitter.d.ts.map +1 -0
- package/dist/types/createStorage.d.ts +30 -0
- package/dist/types/createStorage.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +24 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/config.d.ts +34 -0
- package/dist/types/errors/config.d.ts.map +1 -0
- package/dist/types/errors/connector.d.ts +13 -0
- package/dist/types/errors/connector.d.ts.map +1 -0
- package/dist/types/exports/actions.d.ts +40 -0
- package/dist/types/exports/actions.d.ts.map +1 -0
- package/dist/types/exports/chains.d.ts +2 -0
- package/dist/types/exports/chains.d.ts.map +1 -0
- package/dist/types/exports/index.d.ts +52 -0
- package/dist/types/exports/index.d.ts.map +1 -0
- package/dist/types/exports/internal.d.ts +5 -0
- package/dist/types/exports/internal.d.ts.map +1 -0
- package/dist/types/exports/query.d.ts +27 -0
- package/dist/types/exports/query.d.ts.map +1 -0
- package/dist/types/query/connect.d.ts +15 -0
- package/dist/types/query/connect.d.ts.map +1 -0
- package/dist/types/query/disconnect.d.ts +12 -0
- package/dist/types/query/disconnect.d.ts.map +1 -0
- package/dist/types/query/estimateFeesPerGas.d.ts +34 -0
- package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -0
- package/dist/types/query/estimateGas.d.ts +18 -0
- package/dist/types/query/estimateGas.d.ts.map +1 -0
- package/dist/types/query/getBalance.d.ts +42 -0
- package/dist/types/query/getBalance.d.ts.map +1 -0
- package/dist/types/query/getBlockNumber.d.ts +34 -0
- package/dist/types/query/getBlockNumber.d.ts.map +1 -0
- package/dist/types/query/getConnectorClient.d.ts +319 -0
- package/dist/types/query/getConnectorClient.d.ts.map +1 -0
- package/dist/types/query/getEnsAddress.d.ts +42 -0
- package/dist/types/query/getEnsAddress.d.ts.map +1 -0
- package/dist/types/query/getEnsAvatar.d.ts +42 -0
- package/dist/types/query/getEnsAvatar.d.ts.map +1 -0
- package/dist/types/query/getEnsName.d.ts +39 -0
- package/dist/types/query/getEnsName.d.ts.map +1 -0
- package/dist/types/query/getEnsResolver.d.ts +39 -0
- package/dist/types/query/getEnsResolver.d.ts.map +1 -0
- package/dist/types/query/getToken.d.ts +33 -0
- package/dist/types/query/getToken.d.ts.map +1 -0
- package/dist/types/query/getTransaction.d.ts +110 -0
- package/dist/types/query/getTransaction.d.ts.map +1 -0
- package/dist/types/query/getWalletClient.d.ts +540 -0
- package/dist/types/query/getWalletClient.d.ts.map +1 -0
- package/dist/types/query/readContract.d.ts +19 -0
- package/dist/types/query/readContract.d.ts.map +1 -0
- package/dist/types/query/readContracts.d.ts +65 -0
- package/dist/types/query/readContracts.d.ts.map +1 -0
- package/dist/types/query/reconnect.d.ts +13 -0
- package/dist/types/query/reconnect.d.ts.map +1 -0
- package/dist/types/query/sendTransaction.d.ts +13 -0
- package/dist/types/query/sendTransaction.d.ts.map +1 -0
- package/dist/types/query/signMessage.d.ts +17 -0
- package/dist/types/query/signMessage.d.ts.map +1 -0
- package/dist/types/query/signTypedData.d.ts +219 -0
- package/dist/types/query/signTypedData.d.ts.map +1 -0
- package/dist/types/query/simulateContract.d.ts +19 -0
- package/dist/types/query/simulateContract.d.ts.map +1 -0
- package/dist/types/query/switchAccount.d.ts +15 -0
- package/dist/types/query/switchAccount.d.ts.map +1 -0
- package/dist/types/query/switchChain.d.ts +18 -0
- package/dist/types/query/switchChain.d.ts.map +1 -0
- package/dist/types/query/types.d.ts +9 -0
- package/dist/types/query/types.d.ts.map +1 -0
- package/dist/types/query/utils.d.ts +4 -0
- package/dist/types/query/utils.d.ts.map +1 -0
- package/dist/types/query/waitForTransactionReceipt.d.ts +131 -0
- package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -0
- package/dist/types/query/writeContract.d.ts +14 -0
- package/dist/types/query/writeContract.d.ts.map +1 -0
- package/dist/types/types/chain.d.ts +15 -0
- package/dist/types/types/chain.d.ts.map +1 -0
- package/dist/types/types/properties.d.ts +11 -0
- package/dist/types/types/properties.d.ts.map +1 -0
- package/dist/types/types/register.d.ts +8 -0
- package/dist/types/types/register.d.ts.map +1 -0
- package/dist/types/types/unit.d.ts +2 -0
- package/dist/types/types/unit.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +41 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/utils/assertActiveChain.d.ts +8 -0
- package/dist/types/utils/assertActiveChain.d.ts.map +1 -0
- package/dist/types/utils/deepEqual.d.ts +3 -0
- package/dist/types/utils/deepEqual.d.ts.map +1 -0
- package/dist/types/utils/deserialize.d.ts +4 -0
- package/dist/types/utils/deserialize.d.ts.map +1 -0
- package/dist/types/utils/getUnit.d.ts +3 -0
- package/dist/types/utils/getUnit.d.ts.map +1 -0
- package/dist/types/utils/getVersion.d.ts +2 -0
- package/dist/types/utils/getVersion.d.ts.map +1 -0
- package/dist/types/utils/normalizeChainId.d.ts +2 -0
- package/dist/types/utils/normalizeChainId.d.ts.map +1 -0
- package/dist/types/utils/serialize.d.ts +16 -0
- package/dist/types/utils/serialize.d.ts.map +1 -0
- package/dist/types/utils/uid.d.ts +2 -0
- package/dist/types/utils/uid.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +65 -101
- package/src/actions/connect.ts +86 -0
- package/src/actions/disconnect.ts +68 -0
- package/src/actions/estimateFeesPerGas.ts +76 -0
- package/src/actions/estimateGas.ts +62 -0
- package/src/actions/getAccount.ts +109 -0
- package/src/actions/getBalance.ts +141 -0
- package/src/actions/getBlockNumber.ts +27 -0
- package/src/actions/getChainId.ts +11 -0
- package/src/actions/getClient.ts +30 -0
- package/src/actions/getConnections.ts +16 -0
- package/src/actions/getConnectorClient.ts +96 -0
- package/src/actions/getEnsAddress.ts +27 -0
- package/src/actions/getEnsAvatar.ts +27 -0
- package/src/actions/getEnsName.ts +27 -0
- package/src/actions/getEnsResolver.ts +27 -0
- package/src/actions/getPublicClient.ts +34 -0
- package/src/actions/getToken.ts +140 -0
- package/src/actions/getTransaction.ts +44 -0
- package/src/actions/getWalletClient.ts +41 -0
- package/src/actions/multicall.ts +37 -0
- package/src/actions/readContract.ts +55 -0
- package/src/actions/readContracts.ts +98 -0
- package/src/actions/reconnect.ts +102 -0
- package/src/actions/sendTransaction.ts +68 -0
- package/src/actions/signMessage.ts +29 -0
- package/src/actions/signTypedData.ts +36 -0
- package/src/actions/simulateContract.ts +161 -0
- package/src/actions/switchAccount.ts +37 -0
- package/src/actions/switchChain.ts +63 -0
- package/src/actions/waitForTransactionReceipt.ts +69 -0
- package/src/actions/watchAccount.ts +32 -0
- package/src/actions/watchBlockNumber.ts +78 -0
- package/src/actions/watchChainId.ts +20 -0
- package/src/actions/watchClient.ts +34 -0
- package/src/actions/watchConnections.ts +26 -0
- package/src/actions/watchContractEvent.ts +98 -0
- package/src/actions/watchPendingTransactions.ts +79 -0
- package/src/actions/watchPublicClient.ts +37 -0
- package/src/actions/writeContract.ts +111 -0
- package/src/createConfig.ts +382 -0
- package/src/createConnector.ts +78 -0
- package/src/createEmitter.ts +68 -0
- package/src/createStorage.ts +89 -0
- package/src/errors/base.ts +71 -0
- package/src/errors/config.ts +60 -0
- package/src/errors/connector.ts +17 -0
- package/src/exports/actions.ts +258 -0
- package/src/exports/chains.ts +4 -0
- package/src/exports/index.ts +339 -0
- package/src/exports/internal.ts +28 -0
- package/src/exports/query.ts +220 -0
- package/src/query/connect.ts +45 -0
- package/src/query/disconnect.ts +43 -0
- package/src/query/estimateFeesPerGas.ts +56 -0
- package/src/query/estimateGas.ts +55 -0
- package/src/query/getBalance.ts +61 -0
- package/src/query/getBlockNumber.ts +50 -0
- package/src/query/getConnectorClient.ts +68 -0
- package/src/query/getEnsAddress.ts +49 -0
- package/src/query/getEnsAvatar.ts +49 -0
- package/src/query/getEnsName.ts +49 -0
- package/src/query/getEnsResolver.ts +49 -0
- package/src/query/getToken.ts +49 -0
- package/src/query/getTransaction.ts +75 -0
- package/src/query/getWalletClient.ts +64 -0
- package/src/query/readContract.ts +88 -0
- package/src/query/readContracts.ts +98 -0
- package/src/query/reconnect.ts +42 -0
- package/src/query/sendTransaction.ts +65 -0
- package/src/query/signMessage.ts +42 -0
- package/src/query/signTypedData.ts +63 -0
- package/src/query/simulateContract.ts +128 -0
- package/src/query/switchAccount.ts +52 -0
- package/src/query/switchChain.ts +67 -0
- package/src/query/types.ts +52 -0
- package/src/query/utils.ts +54 -0
- package/src/query/waitForTransactionReceipt.ts +71 -0
- package/src/query/writeContract.ts +91 -0
- package/src/types/chain.ts +25 -0
- package/src/types/properties.ts +21 -0
- package/src/types/register.ts +8 -0
- package/src/types/unit.ts +1 -0
- package/src/types/utils.ts +85 -0
- package/src/utils/assertActiveChain.ts +26 -0
- package/src/utils/deepEqual.ts +43 -0
- package/src/utils/deserialize.ts +10 -0
- package/src/utils/getUnit.ts +9 -0
- package/src/utils/getVersion.ts +3 -0
- package/src/utils/normalizeChainId.ts +12 -0
- package/src/utils/serialize.ts +116 -0
- package/src/utils/uid.ts +14 -0
- package/src/version.ts +1 -0
- package/README.md +0 -30
- package/chains/package.json +0 -4
- package/connectors/coinbaseWallet/package.json +0 -4
- package/connectors/injected/package.json +0 -4
- package/connectors/ledger/package.json +0 -4
- package/connectors/metaMask/package.json +0 -4
- package/connectors/mock/package.json +0 -4
- package/connectors/package.json +0 -4
- package/connectors/safe/package.json +0 -4
- package/connectors/walletConnect/package.json +0 -4
- package/connectors/walletConnectLegacy/package.json +0 -4
- package/dist/chains.d.ts +0 -2
- package/dist/chains.js +0 -2
- package/dist/chunk-4E64EZ7V.js +0 -7
- package/dist/chunk-BVC4KGLQ.js +0 -8
- package/dist/chunk-EQOEZP46.js +0 -6
- package/dist/chunk-KFW652VN.js +0 -7
- package/dist/chunk-LAFZBYO7.js +0 -2934
- package/dist/chunk-MQXBDTVK.js +0 -29
- package/dist/connectors/coinbaseWallet.d.ts +0 -1
- package/dist/connectors/coinbaseWallet.js +0 -7
- package/dist/connectors/index.d.ts +0 -2
- package/dist/connectors/index.js +0 -9
- package/dist/connectors/injected.d.ts +0 -1
- package/dist/connectors/injected.js +0 -7
- package/dist/connectors/ledger.d.ts +0 -1
- package/dist/connectors/ledger.js +0 -7
- package/dist/connectors/metaMask.d.ts +0 -1
- package/dist/connectors/metaMask.js +0 -7
- package/dist/connectors/mock.d.ts +0 -1
- package/dist/connectors/mock.js +0 -9
- package/dist/connectors/safe.d.ts +0 -1
- package/dist/connectors/safe.js +0 -7
- package/dist/connectors/walletConnect.d.ts +0 -1
- package/dist/connectors/walletConnect.js +0 -7
- package/dist/connectors/walletConnectLegacy.d.ts +0 -1
- package/dist/connectors/walletConnectLegacy.js +0 -7
- package/dist/index-e744bbc2.d.ts +0 -22
- package/dist/index.d.ts +0 -1397
- package/dist/index.js +0 -135
- package/dist/internal/index.d.ts +0 -24
- package/dist/internal/index.js +0 -10
- package/dist/internal/test.d.ts +0 -438
- package/dist/internal/test.js +0 -160
- package/dist/providers/alchemy.d.ts +0 -11
- package/dist/providers/alchemy.js +0 -29
- package/dist/providers/infura.d.ts +0 -11
- package/dist/providers/infura.js +0 -29
- package/dist/providers/jsonRpc.d.ts +0 -13
- package/dist/providers/jsonRpc.js +0 -28
- package/dist/providers/public.d.ts +0 -7
- package/dist/providers/public.js +0 -16
- package/dist/window.d.ts +0 -7
- package/dist/window.js +0 -0
- package/internal/package.json +0 -4
- package/internal/test/package.json +0 -4
- package/providers/alchemy/package.json +0 -4
- package/providers/infura/package.json +0 -4
- package/providers/jsonRpc/package.json +0 -4
- package/providers/public/package.json +0 -4
- package/window/package.json +0 -4
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Account,
|
|
3
|
+
type Address,
|
|
4
|
+
type Client,
|
|
5
|
+
createClient,
|
|
6
|
+
custom,
|
|
7
|
+
} from 'viem'
|
|
8
|
+
|
|
9
|
+
import { parseAccount } from 'viem/utils'
|
|
10
|
+
import type { Config, Connection } from '../createConfig.js'
|
|
11
|
+
import {
|
|
12
|
+
ConnectorAccountNotFound,
|
|
13
|
+
ConnectorNotConnectedError,
|
|
14
|
+
} from '../errors/config.js'
|
|
15
|
+
import type {
|
|
16
|
+
ChainIdParameter,
|
|
17
|
+
ConnectorParameter,
|
|
18
|
+
} from '../types/properties.js'
|
|
19
|
+
import type { Evaluate } from '../types/utils.js'
|
|
20
|
+
|
|
21
|
+
export type GetConnectorClientParameters<
|
|
22
|
+
config extends Config = Config,
|
|
23
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
24
|
+
> = Evaluate<
|
|
25
|
+
ChainIdParameter<config, chainId> &
|
|
26
|
+
ConnectorParameter & {
|
|
27
|
+
account?: Address | Account | undefined
|
|
28
|
+
}
|
|
29
|
+
>
|
|
30
|
+
|
|
31
|
+
export type GetConnectorClientReturnType<
|
|
32
|
+
config extends Config = Config,
|
|
33
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
34
|
+
> = Evaluate<
|
|
35
|
+
Client<
|
|
36
|
+
config['_internal']['transports'][chainId],
|
|
37
|
+
Extract<config['chains'][number], { id: chainId }>,
|
|
38
|
+
Account
|
|
39
|
+
>
|
|
40
|
+
>
|
|
41
|
+
|
|
42
|
+
export type GetConnectorClientError =
|
|
43
|
+
| ConnectorAccountNotFound
|
|
44
|
+
| ConnectorNotConnectedError
|
|
45
|
+
| Error
|
|
46
|
+
|
|
47
|
+
/** https://alpha.wagmi.sh/core/api/actions/getConnectorClient */
|
|
48
|
+
export async function getConnectorClient<
|
|
49
|
+
config extends Config,
|
|
50
|
+
chainId extends config['chains'][number]['id'],
|
|
51
|
+
>(
|
|
52
|
+
config: config,
|
|
53
|
+
parameters: GetConnectorClientParameters<config, chainId> = {},
|
|
54
|
+
): Promise<GetConnectorClientReturnType<config, chainId>> {
|
|
55
|
+
// Get connection
|
|
56
|
+
let connection: Connection | undefined
|
|
57
|
+
if (parameters.connector) {
|
|
58
|
+
const { connector } = parameters
|
|
59
|
+
const [accounts, chainId] = await Promise.all([
|
|
60
|
+
connector.getAccounts(),
|
|
61
|
+
connector.getChainId(),
|
|
62
|
+
])
|
|
63
|
+
connection = {
|
|
64
|
+
accounts: accounts as readonly [Address, ...Address[]],
|
|
65
|
+
chainId,
|
|
66
|
+
connector,
|
|
67
|
+
}
|
|
68
|
+
} else connection = config.state.connections.get(config.state.current!)
|
|
69
|
+
if (!connection) throw new ConnectorNotConnectedError()
|
|
70
|
+
|
|
71
|
+
const chainId = parameters.chainId ?? connection.chainId
|
|
72
|
+
|
|
73
|
+
// If connector has custom `getClient` implementation
|
|
74
|
+
type Return = GetConnectorClientReturnType<config, chainId>
|
|
75
|
+
const connector = connection.connector
|
|
76
|
+
if (connector.getClient)
|
|
77
|
+
return connector.getClient({ chainId: chainId }) as unknown as Return
|
|
78
|
+
|
|
79
|
+
// Default using `custom` transport
|
|
80
|
+
const account = parseAccount(parameters.account ?? connection.accounts[0]!)
|
|
81
|
+
const chain = config.chains.find((chain) => chain.id === chainId)
|
|
82
|
+
const provider = (await connection.connector.getProvider({ chainId })) as {
|
|
83
|
+
request(...args: any): Promise<any>
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// if account was provided, check that it exists on the connector
|
|
87
|
+
if (parameters.account && !connection.accounts.includes(account.address))
|
|
88
|
+
throw new ConnectorAccountNotFound({ address: account.address, connector })
|
|
89
|
+
|
|
90
|
+
return createClient({
|
|
91
|
+
account,
|
|
92
|
+
chain,
|
|
93
|
+
name: 'Connector Client',
|
|
94
|
+
transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),
|
|
95
|
+
}) as unknown as Return
|
|
96
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GetEnsAddressParameters as viem_GetEnsAddressParameters,
|
|
3
|
+
type GetEnsAddressReturnType as viem_GetEnsAddressReturnType,
|
|
4
|
+
getEnsAddress as viem_getEnsAddress,
|
|
5
|
+
} from 'viem/actions'
|
|
6
|
+
|
|
7
|
+
import { type Config } from '../createConfig.js'
|
|
8
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
9
|
+
import type { Evaluate } from '../types/utils.js'
|
|
10
|
+
|
|
11
|
+
export type GetEnsAddressParameters<config extends Config = Config> = Evaluate<
|
|
12
|
+
viem_GetEnsAddressParameters & ChainIdParameter<config>
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
export type GetEnsAddressReturnType = viem_GetEnsAddressReturnType
|
|
16
|
+
|
|
17
|
+
export type GetEnsAddressError = Error
|
|
18
|
+
|
|
19
|
+
/** https://alpha.wagmi.sh/core/api/actions/getEnsAddress */
|
|
20
|
+
export function getEnsAddress<config extends Config>(
|
|
21
|
+
config: config,
|
|
22
|
+
parameters: GetEnsAddressParameters<config>,
|
|
23
|
+
): Promise<GetEnsAddressReturnType> {
|
|
24
|
+
const { chainId } = parameters
|
|
25
|
+
const client = config.getClient({ chainId })
|
|
26
|
+
return viem_getEnsAddress(client, parameters)
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GetEnsAvatarParameters as viem_GetEnsAvatarParameters,
|
|
3
|
+
type GetEnsAvatarReturnType as viem_GetEnsAvatarReturnType,
|
|
4
|
+
getEnsAvatar as viem_getEnsAvatar,
|
|
5
|
+
} from 'viem/actions'
|
|
6
|
+
|
|
7
|
+
import { type Config } from '../createConfig.js'
|
|
8
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
9
|
+
import type { Evaluate } from '../types/utils.js'
|
|
10
|
+
|
|
11
|
+
export type GetEnsAvatarParameters<config extends Config = Config> = Evaluate<
|
|
12
|
+
viem_GetEnsAvatarParameters & ChainIdParameter<config>
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
export type GetEnsAvatarReturnType = viem_GetEnsAvatarReturnType
|
|
16
|
+
|
|
17
|
+
export type GetEnsAvatarError = Error
|
|
18
|
+
|
|
19
|
+
/** https://alpha.wagmi.sh/core/api/actions/getEnsAvatar */
|
|
20
|
+
export function getEnsAvatar<config extends Config>(
|
|
21
|
+
config: config,
|
|
22
|
+
parameters: GetEnsAvatarParameters<config>,
|
|
23
|
+
): Promise<GetEnsAvatarReturnType> {
|
|
24
|
+
const { chainId } = parameters
|
|
25
|
+
const client = config.getClient({ chainId })
|
|
26
|
+
return viem_getEnsAvatar(client, parameters)
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GetEnsNameParameters as viem_GetEnsNameParameters,
|
|
3
|
+
type GetEnsNameReturnType as viem_GetEnsNameReturnType,
|
|
4
|
+
getEnsName as viem_getEnsName,
|
|
5
|
+
} from 'viem/actions'
|
|
6
|
+
|
|
7
|
+
import { type Config } from '../createConfig.js'
|
|
8
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
9
|
+
import type { Evaluate } from '../types/utils.js'
|
|
10
|
+
|
|
11
|
+
export type GetEnsNameParameters<config extends Config = Config> = Evaluate<
|
|
12
|
+
viem_GetEnsNameParameters & ChainIdParameter<config>
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
export type GetEnsNameReturnType = viem_GetEnsNameReturnType
|
|
16
|
+
|
|
17
|
+
export type GetEnsNameError = Error
|
|
18
|
+
|
|
19
|
+
/** https://alpha.wagmi.sh/core/api/actions/getEnsName */
|
|
20
|
+
export function getEnsName<config extends Config>(
|
|
21
|
+
config: config,
|
|
22
|
+
parameters: GetEnsNameParameters<config>,
|
|
23
|
+
): Promise<GetEnsNameReturnType> {
|
|
24
|
+
const { chainId } = parameters
|
|
25
|
+
const client = config.getClient({ chainId })
|
|
26
|
+
return viem_getEnsName(client, parameters)
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type GetEnsResolverParameters as viem_GetEnsResolverParameters,
|
|
3
|
+
type GetEnsResolverReturnType as viem_GetEnsResolverReturnType,
|
|
4
|
+
getEnsResolver as viem_getEnsResolver,
|
|
5
|
+
} from 'viem/actions'
|
|
6
|
+
|
|
7
|
+
import { type Config } from '../createConfig.js'
|
|
8
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
9
|
+
import type { Evaluate } from '../types/utils.js'
|
|
10
|
+
|
|
11
|
+
export type GetEnsResolverParameters<config extends Config = Config> = Evaluate<
|
|
12
|
+
viem_GetEnsResolverParameters & ChainIdParameter<config>
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
export type GetEnsResolverReturnType = viem_GetEnsResolverReturnType
|
|
16
|
+
|
|
17
|
+
export type GetEnsResolverError = Error
|
|
18
|
+
|
|
19
|
+
/** https://alpha.wagmi.sh/core/api/actions/getEnsResolver */
|
|
20
|
+
export function getEnsResolver<config extends Config>(
|
|
21
|
+
config: config,
|
|
22
|
+
parameters: GetEnsResolverParameters<config>,
|
|
23
|
+
): Promise<GetEnsResolverReturnType> {
|
|
24
|
+
const { chainId } = parameters
|
|
25
|
+
const client = config.getClient({ chainId })
|
|
26
|
+
return viem_getEnsResolver(client, parameters)
|
|
27
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type PublicClient, publicActions } from 'viem'
|
|
2
|
+
|
|
3
|
+
import type { Config } from '../createConfig.js'
|
|
4
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
5
|
+
import type { Evaluate } from '../types/utils.js'
|
|
6
|
+
|
|
7
|
+
export type GetPublicClientParameters<
|
|
8
|
+
config extends Config = Config,
|
|
9
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
10
|
+
> = ChainIdParameter<config, chainId>
|
|
11
|
+
|
|
12
|
+
export type GetPublicClientReturnType<
|
|
13
|
+
config extends Config = Config,
|
|
14
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
15
|
+
> = Evaluate<
|
|
16
|
+
PublicClient<
|
|
17
|
+
config['_internal']['transports'][chainId],
|
|
18
|
+
Extract<config['chains'][number], { id: chainId }>
|
|
19
|
+
>
|
|
20
|
+
>
|
|
21
|
+
|
|
22
|
+
export function getPublicClient<
|
|
23
|
+
config extends Config,
|
|
24
|
+
chainId extends config['chains'][number]['id'],
|
|
25
|
+
>(
|
|
26
|
+
config: config,
|
|
27
|
+
parameters: GetPublicClientParameters<config, chainId> = {},
|
|
28
|
+
): GetPublicClientReturnType<config, chainId> {
|
|
29
|
+
const client = config.getClient(parameters)
|
|
30
|
+
return client.extend(publicActions) as GetPublicClientReturnType<
|
|
31
|
+
config,
|
|
32
|
+
chainId
|
|
33
|
+
>
|
|
34
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem'
|
|
2
|
+
import {
|
|
3
|
+
ContractFunctionExecutionError,
|
|
4
|
+
formatUnits,
|
|
5
|
+
hexToString,
|
|
6
|
+
trim,
|
|
7
|
+
} from 'viem'
|
|
8
|
+
|
|
9
|
+
import type { Config } from '../createConfig.js'
|
|
10
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
11
|
+
import type { Unit } from '../types/unit.js'
|
|
12
|
+
import type { Evaluate } from '../types/utils.js'
|
|
13
|
+
import { getUnit } from '../utils/getUnit.js'
|
|
14
|
+
import { readContracts } from './readContracts.js'
|
|
15
|
+
|
|
16
|
+
export type GetTokenParameters<config extends Config = Config> = Evaluate<
|
|
17
|
+
{
|
|
18
|
+
address: Address
|
|
19
|
+
formatUnits?: Unit
|
|
20
|
+
} & ChainIdParameter<config>
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type GetTokenReturnType = {
|
|
24
|
+
address: Address
|
|
25
|
+
decimals: number
|
|
26
|
+
name: string | undefined
|
|
27
|
+
symbol: string | undefined
|
|
28
|
+
totalSupply: {
|
|
29
|
+
formatted: string
|
|
30
|
+
value: bigint
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type GetTokenError = Error
|
|
35
|
+
|
|
36
|
+
export async function getToken<config extends Config>(
|
|
37
|
+
config: config,
|
|
38
|
+
parameters: GetTokenParameters<config>,
|
|
39
|
+
): Promise<GetTokenReturnType> {
|
|
40
|
+
const { address, chainId, formatUnits: unit = 18 } = parameters
|
|
41
|
+
|
|
42
|
+
function getAbi<type extends 'bytes32' | 'string'>(type: type) {
|
|
43
|
+
return [
|
|
44
|
+
{
|
|
45
|
+
type: 'function',
|
|
46
|
+
name: 'decimals',
|
|
47
|
+
stateMutability: 'view',
|
|
48
|
+
inputs: [],
|
|
49
|
+
outputs: [{ type: 'uint8' }],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: 'function',
|
|
53
|
+
name: 'name',
|
|
54
|
+
stateMutability: 'view',
|
|
55
|
+
inputs: [],
|
|
56
|
+
outputs: [{ type }],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'function',
|
|
60
|
+
name: 'symbol',
|
|
61
|
+
stateMutability: 'view',
|
|
62
|
+
inputs: [],
|
|
63
|
+
outputs: [{ type }],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'function',
|
|
67
|
+
name: 'totalSupply',
|
|
68
|
+
stateMutability: 'view',
|
|
69
|
+
inputs: [],
|
|
70
|
+
outputs: [{ type: 'uint256' }],
|
|
71
|
+
},
|
|
72
|
+
] as const
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
const abi = getAbi('string')
|
|
77
|
+
const contractConfig = { address, abi, chainId } as const
|
|
78
|
+
const [decimals, name, symbol, totalSupply] = await readContracts(config, {
|
|
79
|
+
allowFailure: true,
|
|
80
|
+
contracts: [
|
|
81
|
+
{ ...contractConfig, functionName: 'decimals' },
|
|
82
|
+
{ ...contractConfig, functionName: 'name' },
|
|
83
|
+
{ ...contractConfig, functionName: 'symbol' },
|
|
84
|
+
{ ...contractConfig, functionName: 'totalSupply' },
|
|
85
|
+
] as const,
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
// throw if `name` or `symbol` failed
|
|
89
|
+
if (name.error instanceof ContractFunctionExecutionError) throw name.error
|
|
90
|
+
if (symbol.error instanceof ContractFunctionExecutionError)
|
|
91
|
+
throw symbol.error
|
|
92
|
+
|
|
93
|
+
// `decimals` and `totalSupply` are required
|
|
94
|
+
if (decimals.error) throw decimals.error
|
|
95
|
+
if (totalSupply.error) throw totalSupply.error
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
address,
|
|
99
|
+
decimals: decimals.result,
|
|
100
|
+
name: name.result,
|
|
101
|
+
symbol: symbol.result,
|
|
102
|
+
totalSupply: {
|
|
103
|
+
formatted: formatUnits(totalSupply.result!, getUnit(unit)),
|
|
104
|
+
value: totalSupply.result,
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
} catch (error) {
|
|
108
|
+
// In the chance that there is an error upon decoding the contract result,
|
|
109
|
+
// it could be likely that the contract data is represented as bytes32 instead
|
|
110
|
+
// of a string.
|
|
111
|
+
if (error instanceof ContractFunctionExecutionError) {
|
|
112
|
+
const abi = getAbi('bytes32')
|
|
113
|
+
const contractConfig = { address, abi, chainId } as const
|
|
114
|
+
const [decimals, name, symbol, totalSupply] = await readContracts(
|
|
115
|
+
config,
|
|
116
|
+
{
|
|
117
|
+
allowFailure: false,
|
|
118
|
+
contracts: [
|
|
119
|
+
{ ...contractConfig, functionName: 'decimals' },
|
|
120
|
+
{ ...contractConfig, functionName: 'name' },
|
|
121
|
+
{ ...contractConfig, functionName: 'symbol' },
|
|
122
|
+
{ ...contractConfig, functionName: 'totalSupply' },
|
|
123
|
+
] as const,
|
|
124
|
+
},
|
|
125
|
+
)
|
|
126
|
+
return {
|
|
127
|
+
address,
|
|
128
|
+
decimals,
|
|
129
|
+
name: hexToString(trim(name as Hex, { dir: 'right' })),
|
|
130
|
+
symbol: hexToString(trim(symbol as Hex, { dir: 'right' })),
|
|
131
|
+
totalSupply: {
|
|
132
|
+
formatted: formatUnits(totalSupply, getUnit(unit)),
|
|
133
|
+
value: totalSupply,
|
|
134
|
+
},
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
throw error
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Chain } from 'viem'
|
|
2
|
+
import {
|
|
3
|
+
type GetTransactionParameters as viem_GetTransactionParameters,
|
|
4
|
+
type GetTransactionReturnType as viem_GetTransactionReturnType,
|
|
5
|
+
getTransaction as viem_getTransaction,
|
|
6
|
+
} from 'viem/actions'
|
|
7
|
+
|
|
8
|
+
import { type Config } from '../createConfig.js'
|
|
9
|
+
import type { SelectChains } from '../types/chain.js'
|
|
10
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
11
|
+
import { type Evaluate } from '../types/utils.js'
|
|
12
|
+
|
|
13
|
+
export type GetTransactionParameters<
|
|
14
|
+
config extends Config = Config,
|
|
15
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
16
|
+
> = Evaluate<viem_GetTransactionParameters & ChainIdParameter<config, chainId>>
|
|
17
|
+
|
|
18
|
+
export type GetTransactionReturnType<
|
|
19
|
+
config extends Config = Config,
|
|
20
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
21
|
+
///
|
|
22
|
+
chains extends readonly Chain[] = SelectChains<config, chainId>,
|
|
23
|
+
> = Evaluate<
|
|
24
|
+
{
|
|
25
|
+
[key in keyof chains]: viem_GetTransactionReturnType<chains[key]>
|
|
26
|
+
}[number]
|
|
27
|
+
>
|
|
28
|
+
|
|
29
|
+
export type GetTransactionError = Error
|
|
30
|
+
|
|
31
|
+
/** https://alpha.wagmi.sh/core/api/actions/getTransaction */
|
|
32
|
+
export function getTransaction<
|
|
33
|
+
config extends Config,
|
|
34
|
+
chainId extends config['chains'][number]['id'],
|
|
35
|
+
>(
|
|
36
|
+
config: config,
|
|
37
|
+
parameters: GetTransactionParameters<config, chainId>,
|
|
38
|
+
): Promise<GetTransactionReturnType<config, chainId>> {
|
|
39
|
+
const { chainId } = parameters
|
|
40
|
+
const client = config.getClient({ chainId })
|
|
41
|
+
return viem_getTransaction(client, parameters) as unknown as Promise<
|
|
42
|
+
GetTransactionReturnType<config, chainId>
|
|
43
|
+
>
|
|
44
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Account, type WalletClient, walletActions } from 'viem'
|
|
2
|
+
|
|
3
|
+
import type { Config } from '../createConfig.js'
|
|
4
|
+
import type { Evaluate } from '../types/utils.js'
|
|
5
|
+
import {
|
|
6
|
+
type GetConnectorClientError,
|
|
7
|
+
type GetConnectorClientParameters,
|
|
8
|
+
getConnectorClient,
|
|
9
|
+
} from './getConnectorClient.js'
|
|
10
|
+
|
|
11
|
+
export type GetWalletClientParameters<
|
|
12
|
+
config extends Config = Config,
|
|
13
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
14
|
+
> = GetConnectorClientParameters<Config, chainId>
|
|
15
|
+
|
|
16
|
+
export type GetWalletClientReturnType<
|
|
17
|
+
config extends Config = Config,
|
|
18
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
19
|
+
> = Evaluate<
|
|
20
|
+
WalletClient<
|
|
21
|
+
config['_internal']['transports'][chainId],
|
|
22
|
+
Extract<config['chains'][number], { id: chainId }>,
|
|
23
|
+
Account
|
|
24
|
+
>
|
|
25
|
+
>
|
|
26
|
+
|
|
27
|
+
export type GetWalletClientError = GetConnectorClientError
|
|
28
|
+
|
|
29
|
+
export async function getWalletClient<
|
|
30
|
+
config extends Config,
|
|
31
|
+
chainId extends config['chains'][number]['id'],
|
|
32
|
+
>(
|
|
33
|
+
config: config,
|
|
34
|
+
parameters: GetWalletClientParameters<config, chainId> = {},
|
|
35
|
+
): Promise<GetWalletClientReturnType<config, chainId>> {
|
|
36
|
+
const client = await getConnectorClient(config, parameters)
|
|
37
|
+
return client.extend(walletActions) as unknown as GetWalletClientReturnType<
|
|
38
|
+
config,
|
|
39
|
+
chainId
|
|
40
|
+
>
|
|
41
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContractFunctionParameters,
|
|
3
|
+
MulticallParameters as viem_MulticallParameters,
|
|
4
|
+
MulticallReturnType as viem_MulticallReturnType,
|
|
5
|
+
} from 'viem'
|
|
6
|
+
import { multicall as viem_multicall } from 'viem/actions'
|
|
7
|
+
|
|
8
|
+
import type { Config } from '../createConfig.js'
|
|
9
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
10
|
+
|
|
11
|
+
export type MulticallParameters<
|
|
12
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
13
|
+
allowFailure extends boolean = true,
|
|
14
|
+
config extends Config = Config,
|
|
15
|
+
> = viem_MulticallParameters<contracts, allowFailure> & ChainIdParameter<config>
|
|
16
|
+
|
|
17
|
+
export type MulticallReturnType<
|
|
18
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
19
|
+
allowFailure extends boolean = true,
|
|
20
|
+
> = viem_MulticallReturnType<contracts, allowFailure>
|
|
21
|
+
|
|
22
|
+
export async function multicall<
|
|
23
|
+
config extends Config,
|
|
24
|
+
const contracts extends readonly unknown[],
|
|
25
|
+
allowFailure extends boolean = true,
|
|
26
|
+
>(
|
|
27
|
+
config: config,
|
|
28
|
+
parameters: MulticallParameters<contracts, allowFailure, config>,
|
|
29
|
+
): Promise<MulticallReturnType<contracts, allowFailure>> {
|
|
30
|
+
const { allowFailure = true, chainId, contracts, ...rest } = parameters
|
|
31
|
+
const client = config.getClient({ chainId })
|
|
32
|
+
return viem_multicall(client, {
|
|
33
|
+
allowFailure,
|
|
34
|
+
contracts,
|
|
35
|
+
...rest,
|
|
36
|
+
}) as Promise<MulticallReturnType<contracts, allowFailure>>
|
|
37
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type Abi } from 'viem'
|
|
2
|
+
import type { ContractFunctionArgs, ContractFunctionName } from 'viem'
|
|
3
|
+
import {
|
|
4
|
+
type ReadContractParameters as viem_ReadContractParameters,
|
|
5
|
+
type ReadContractReturnType as viem_ReadContractReturnType,
|
|
6
|
+
readContract as viem_readContract,
|
|
7
|
+
} from 'viem/actions'
|
|
8
|
+
|
|
9
|
+
import { type Config } from '../createConfig.js'
|
|
10
|
+
import type { ChainIdParameter } from '../types/properties.js'
|
|
11
|
+
|
|
12
|
+
export type ReadContractParameters<
|
|
13
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
14
|
+
functionName extends ContractFunctionName<
|
|
15
|
+
abi,
|
|
16
|
+
'pure' | 'view'
|
|
17
|
+
> = ContractFunctionName<abi, 'pure' | 'view'>,
|
|
18
|
+
args extends ContractFunctionArgs<
|
|
19
|
+
abi,
|
|
20
|
+
'pure' | 'view',
|
|
21
|
+
functionName
|
|
22
|
+
> = ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
|
|
23
|
+
config extends Config = Config,
|
|
24
|
+
> = viem_ReadContractParameters<abi, functionName, args> &
|
|
25
|
+
ChainIdParameter<config>
|
|
26
|
+
|
|
27
|
+
export type ReadContractReturnType<
|
|
28
|
+
abi extends Abi | readonly unknown[] = Abi,
|
|
29
|
+
functionName extends ContractFunctionName<
|
|
30
|
+
abi,
|
|
31
|
+
'pure' | 'view'
|
|
32
|
+
> = ContractFunctionName<abi, 'pure' | 'view'>,
|
|
33
|
+
args extends ContractFunctionArgs<
|
|
34
|
+
abi,
|
|
35
|
+
'pure' | 'view',
|
|
36
|
+
functionName
|
|
37
|
+
> = ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
|
|
38
|
+
> = viem_ReadContractReturnType<abi, functionName, args>
|
|
39
|
+
|
|
40
|
+
export type ReadContractError = Error
|
|
41
|
+
|
|
42
|
+
/** https://alpha.wagmi.sh/core/api/actions/readContract */
|
|
43
|
+
export function readContract<
|
|
44
|
+
config extends Config,
|
|
45
|
+
const abi extends Abi | readonly unknown[],
|
|
46
|
+
functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
|
|
47
|
+
args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
|
|
48
|
+
>(
|
|
49
|
+
config: config,
|
|
50
|
+
parameters: ReadContractParameters<abi, functionName, args, config>,
|
|
51
|
+
): Promise<ReadContractReturnType<abi, functionName, args>> {
|
|
52
|
+
const { chainId } = parameters
|
|
53
|
+
const client = config.getClient({ chainId })
|
|
54
|
+
return viem_readContract(client, parameters as any)
|
|
55
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContractFunctionParameters,
|
|
3
|
+
MulticallParameters as viem_MulticallParameters,
|
|
4
|
+
MulticallReturnType as viem_MulticallReturnType,
|
|
5
|
+
} from 'viem'
|
|
6
|
+
import { ContractFunctionExecutionError } from 'viem'
|
|
7
|
+
|
|
8
|
+
import { type Config } from '../createConfig.js'
|
|
9
|
+
import { type ChainIdParameter } from '../types/properties.js'
|
|
10
|
+
import { multicall } from './multicall.js'
|
|
11
|
+
import { readContract } from './readContract.js'
|
|
12
|
+
|
|
13
|
+
export type ReadContractsParameters<
|
|
14
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
15
|
+
allowFailure extends boolean = true,
|
|
16
|
+
config extends Config = Config,
|
|
17
|
+
> = viem_MulticallParameters<
|
|
18
|
+
contracts,
|
|
19
|
+
allowFailure,
|
|
20
|
+
{ properties: ChainIdParameter<config> }
|
|
21
|
+
>
|
|
22
|
+
|
|
23
|
+
export type ReadContractsReturnType<
|
|
24
|
+
contracts extends readonly unknown[] = readonly ContractFunctionParameters[],
|
|
25
|
+
allowFailure extends boolean = true,
|
|
26
|
+
> = viem_MulticallReturnType<contracts, allowFailure>
|
|
27
|
+
|
|
28
|
+
export type ReadContractsError = Error
|
|
29
|
+
|
|
30
|
+
export async function readContracts<
|
|
31
|
+
config extends Config,
|
|
32
|
+
const contracts extends readonly ContractFunctionParameters[],
|
|
33
|
+
allowFailure extends boolean = true,
|
|
34
|
+
>(
|
|
35
|
+
config: config,
|
|
36
|
+
parameters: ReadContractsParameters<contracts, allowFailure, config>,
|
|
37
|
+
): Promise<ReadContractsReturnType<contracts, allowFailure>> {
|
|
38
|
+
const { allowFailure = true, blockNumber, blockTag, ...rest } = parameters
|
|
39
|
+
const contracts = parameters.contracts as (ContractFunctionParameters & {
|
|
40
|
+
chainId?: number | undefined
|
|
41
|
+
})[]
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
const contractsByChainId = contracts.reduce(
|
|
45
|
+
(contracts, contract, index) => {
|
|
46
|
+
const chainId = contract.chainId ?? config.state.chainId
|
|
47
|
+
return {
|
|
48
|
+
...contracts,
|
|
49
|
+
[chainId]: [...(contracts[chainId] || []), { contract, index }],
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{} as {
|
|
53
|
+
[chainId: number]: {
|
|
54
|
+
contract: ContractFunctionParameters
|
|
55
|
+
index: number
|
|
56
|
+
}[]
|
|
57
|
+
},
|
|
58
|
+
)
|
|
59
|
+
const promises = () =>
|
|
60
|
+
Object.entries(contractsByChainId).map(([chainId, contracts]) =>
|
|
61
|
+
multicall(config, {
|
|
62
|
+
...rest,
|
|
63
|
+
allowFailure,
|
|
64
|
+
chainId: parseInt(chainId),
|
|
65
|
+
contracts: contracts.map(({ contract }) => contract),
|
|
66
|
+
}),
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
const multicallResults = (await Promise.all(promises())).flat()
|
|
70
|
+
// Reorder the contract results back to the order they were
|
|
71
|
+
// provided in.
|
|
72
|
+
const resultIndexes = Object.values(contractsByChainId).flatMap(
|
|
73
|
+
(contracts) => contracts.map(({ index }) => index),
|
|
74
|
+
)
|
|
75
|
+
return multicallResults.reduce((results, result, index) => {
|
|
76
|
+
if (results) results[resultIndexes[index]!] = result
|
|
77
|
+
return results
|
|
78
|
+
}, [] as unknown[]) as ReadContractsReturnType<contracts, allowFailure>
|
|
79
|
+
} catch (error) {
|
|
80
|
+
if (error instanceof ContractFunctionExecutionError) throw error
|
|
81
|
+
|
|
82
|
+
const promises = () =>
|
|
83
|
+
contracts.map((contract) =>
|
|
84
|
+
readContract(config, { ...contract, blockNumber, blockTag }),
|
|
85
|
+
)
|
|
86
|
+
if (allowFailure)
|
|
87
|
+
return (await Promise.allSettled(promises())).map((result) => {
|
|
88
|
+
if (result.status === 'fulfilled')
|
|
89
|
+
return { result: result.value, status: 'success' }
|
|
90
|
+
return { error: result.reason, result: undefined, status: 'failure' }
|
|
91
|
+
}) as ReadContractsReturnType<contracts, allowFailure>
|
|
92
|
+
|
|
93
|
+
return (await Promise.all(promises())) as ReadContractsReturnType<
|
|
94
|
+
contracts,
|
|
95
|
+
allowFailure
|
|
96
|
+
>
|
|
97
|
+
}
|
|
98
|
+
}
|