viem 0.0.1-sushi.26 → 0.1.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/LICENSE +1 -1
- package/README.md +132 -2
- package/abi/package.json +4 -0
- package/dist/abi.d.ts +6 -0
- package/dist/abi.js +21 -0
- package/dist/abi.js.map +1 -0
- package/dist/abi.mjs +21 -0
- package/dist/abi.mjs.map +1 -0
- package/dist/chain-819c7ff7.d.ts +553 -0
- package/dist/{chain-c4ccb458.d.ts → chain-a4f98ba3.d.ts} +1 -1
- package/dist/chains.d.ts +5 -3
- package/dist/chains.js +46 -46
- package/dist/chains.mjs +1 -1
- package/dist/chunk-APZXOA44.mjs +208 -0
- package/dist/chunk-APZXOA44.mjs.map +1 -0
- package/dist/chunk-HCZO3OIX.js +208 -0
- package/dist/chunk-HCZO3OIX.js.map +1 -0
- package/dist/{chunk-SD5X7F4U.mjs → chunk-I7AINPMM.mjs} +2756 -456
- package/dist/chunk-I7AINPMM.mjs.map +1 -0
- package/dist/chunk-QJNPIGP5.js +5326 -0
- package/dist/chunk-QJNPIGP5.js.map +1 -0
- package/dist/contract.d.ts +9 -122
- package/dist/contract.js +4 -4
- package/dist/contract.mjs +18 -18
- package/dist/{createClient-68ee4bb4.d.ts → createClient-a47ae6f5.d.ts} +13 -13
- package/dist/createPublicClient-e2eae0fc.d.ts +771 -0
- package/dist/{eip1193-6f9ba163.d.ts → eip1193-a882d1b8.d.ts} +14 -3
- package/dist/encodeFunctionResult-9eb553ce.d.ts +75 -0
- package/dist/encodePacked-4c019ed8.d.ts +12 -0
- package/dist/ens.d.ts +8 -69
- package/dist/ens.js +4 -199
- package/dist/ens.js.map +1 -1
- package/dist/ens.mjs +6 -201
- package/dist/ens.mjs.map +1 -1
- package/dist/formatAbiItem-622d2303.d.ts +14 -0
- package/dist/getAbiItem-159f3263.d.ts +22 -0
- package/dist/index.d.ts +106 -55
- package/dist/index.js +451 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +445 -35
- package/dist/index.mjs.map +1 -1
- package/dist/namehash-afff0feb.d.ts +25 -0
- package/dist/parseGwei-a2d0d77a.d.ts +497 -0
- package/dist/public.d.ts +11 -336
- package/dist/public.js +4 -3
- package/dist/public.mjs +3 -2
- package/dist/test-13f4413b.d.ts +205 -0
- package/dist/test.d.ts +8 -149
- package/dist/test.js +19 -222
- package/dist/test.js.map +1 -1
- package/dist/test.mjs +29 -232
- package/dist/test.mjs.map +1 -1
- package/dist/utils/index.d.ts +44 -231
- package/dist/utils/index.js +30 -2
- package/dist/utils/index.mjs +61 -33
- package/dist/wallet.d.ts +6 -41
- package/dist/wallet.js +2 -3
- package/dist/wallet.mjs +5 -6
- package/dist/window.d.ts +4 -2
- package/package.json +11 -6
- package/public/package.json +4 -0
- package/test/package.json +4 -0
- package/dist/call-ac509982.d.ts +0 -23
- package/dist/chain-f16512e8.d.ts +0 -372
- package/dist/chunk-2PFNLP3F.js +0 -192
- package/dist/chunk-2PFNLP3F.js.map +0 -1
- package/dist/chunk-5ND4P6QL.mjs +0 -192
- package/dist/chunk-5ND4P6QL.mjs.map +0 -1
- package/dist/chunk-NXCI5KQC.js +0 -3026
- package/dist/chunk-NXCI5KQC.js.map +0 -1
- package/dist/chunk-O7T5NQLB.mjs +0 -1091
- package/dist/chunk-O7T5NQLB.mjs.map +0 -1
- package/dist/chunk-SD5X7F4U.mjs.map +0 -1
- package/dist/chunk-UTL6F7UN.js +0 -1091
- package/dist/chunk-UTL6F7UN.js.map +0 -1
- package/dist/contract-9e76e561.d.ts +0 -166
- package/dist/createPublicClient-b732194e.d.ts +0 -19
- package/dist/createTestClient-dedf321e.d.ts +0 -34
- package/dist/createWalletClient-75813d83.d.ts +0 -30
- package/dist/decodeErrorResult-0b934d23.d.ts +0 -16
- package/dist/getAbiItem-c8e6e7d4.d.ts +0 -97
- package/dist/readContract-4f6e2692.d.ts +0 -10
- package/dist/rpc-a5a7f376.d.ts +0 -121
- package/dist/sendTransaction-e713f90c.d.ts +0 -12
- package/dist/transactionReceipt-2a86c7c7.d.ts +0 -26
- package/dist/transactionRequest-c7794f5e.d.ts +0 -15
- package/dist/watchEvent-c346c12d.d.ts +0 -41
- package/src/_test/abis.ts +0 -1420
- package/src/_test/bench.ts +0 -15
- package/src/_test/constants.ts +0 -63
- package/src/_test/generated.ts +0 -128
- package/src/_test/globalSetup.ts +0 -11
- package/src/_test/index.ts +0 -25
- package/src/_test/setup.ts +0 -8
- package/src/_test/utils.ts +0 -155
- package/src/actions/ens/getEnsAddress.bench.ts +0 -26
- package/src/actions/ens/getEnsAddress.test.ts +0 -97
- package/src/actions/ens/getEnsAddress.ts +0 -122
- package/src/actions/ens/getEnsName.bench.ts +0 -30
- package/src/actions/ens/getEnsName.test.ts +0 -101
- package/src/actions/ens/getEnsName.ts +0 -106
- package/src/actions/ens/index.test.ts +0 -12
- package/src/actions/ens/index.ts +0 -3
- package/src/actions/index.test.ts +0 -81
- package/src/actions/index.ts +0 -182
- package/src/actions/public/call.bench.ts +0 -48
- package/src/actions/public/call.test.ts +0 -99
- package/src/actions/public/call.ts +0 -97
- package/src/actions/public/createBlockFilter.bench.ts +0 -11
- package/src/actions/public/createBlockFilter.test.ts +0 -9
- package/src/actions/public/createBlockFilter.ts +0 -14
- package/src/actions/public/createContractEventFilter.test.ts +0 -119
- package/src/actions/public/createContractEventFilter.ts +0 -69
- package/src/actions/public/createEventFilter.test.ts +0 -277
- package/src/actions/public/createEventFilter.ts +0 -93
- package/src/actions/public/createPendingTransactionFilter.bench.ts +0 -11
- package/src/actions/public/createPendingTransactionFilter.test.ts +0 -9
- package/src/actions/public/createPendingTransactionFilter.ts +0 -14
- package/src/actions/public/estimateGas.bench.ts +0 -46
- package/src/actions/public/estimateGas.test.ts +0 -92
- package/src/actions/public/estimateGas.ts +0 -61
- package/src/actions/public/getBalance.test.ts +0 -83
- package/src/actions/public/getBalance.ts +0 -37
- package/src/actions/public/getBlock.bench.ts +0 -28
- package/src/actions/public/getBlock.test.ts +0 -575
- package/src/actions/public/getBlock.ts +0 -65
- package/src/actions/public/getBlockNumber.bench.ts +0 -28
- package/src/actions/public/getBlockNumber.test.ts +0 -27
- package/src/actions/public/getBlockNumber.ts +0 -32
- package/src/actions/public/getBlockTransactionCount.bench.ts +0 -15
- package/src/actions/public/getBlockTransactionCount.test.ts +0 -57
- package/src/actions/public/getBlockTransactionCount.ts +0 -52
- package/src/actions/public/getBytecode.test.ts +0 -27
- package/src/actions/public/getBytecode.ts +0 -32
- package/src/actions/public/getChainId.bench.ts +0 -15
- package/src/actions/public/getChainId.test.ts +0 -8
- package/src/actions/public/getChainId.ts +0 -7
- package/src/actions/public/getFeeHistory.bench.ts +0 -18
- package/src/actions/public/getFeeHistory.test.ts +0 -137
- package/src/actions/public/getFeeHistory.ts +0 -44
- package/src/actions/public/getFilterChanges.bench.ts +0 -13
- package/src/actions/public/getFilterChanges.test.ts +0 -383
- package/src/actions/public/getFilterChanges.ts +0 -23
- package/src/actions/public/getFilterLogs.test.ts +0 -297
- package/src/actions/public/getFilterLogs.ts +0 -20
- package/src/actions/public/getGasPrice.bench.ts +0 -19
- package/src/actions/public/getGasPrice.test.ts +0 -8
- package/src/actions/public/getGasPrice.ts +0 -15
- package/src/actions/public/getLogs.test.ts +0 -306
- package/src/actions/public/getLogs.ts +0 -84
- package/src/actions/public/getStorageAt.test.ts +0 -34
- package/src/actions/public/getStorageAt.ts +0 -32
- package/src/actions/public/getTransaction.bench.ts +0 -33
- package/src/actions/public/getTransaction.test.ts +0 -311
- package/src/actions/public/getTransaction.ts +0 -95
- package/src/actions/public/getTransactionConfirmations.test.ts +0 -69
- package/src/actions/public/getTransactionConfirmations.ts +0 -38
- package/src/actions/public/getTransactionCount.test.ts +0 -56
- package/src/actions/public/getTransactionCount.ts +0 -34
- package/src/actions/public/getTransactionReceipt.bench.ts +0 -33
- package/src/actions/public/getTransactionReceipt.test.ts +0 -179
- package/src/actions/public/getTransactionReceipt.ts +0 -34
- package/src/actions/public/index.test.ts +0 -43
- package/src/actions/public/index.ts +0 -146
- package/src/actions/public/multicall.test.ts +0 -452
- package/src/actions/public/multicall.ts +0 -108
- package/src/actions/public/readContract.test.ts +0 -328
- package/src/actions/public/readContract.ts +0 -73
- package/src/actions/public/simulateContract.bench.ts +0 -41
- package/src/actions/public/simulateContract.test.ts +0 -410
- package/src/actions/public/simulateContract.ts +0 -91
- package/src/actions/public/uninstallFilter.bench.ts +0 -13
- package/src/actions/public/uninstallFilter.test.ts +0 -65
- package/src/actions/public/uninstallFilter.ts +0 -17
- package/src/actions/public/waitForTransactionReceipt.test.ts +0 -322
- package/src/actions/public/waitForTransactionReceipt.ts +0 -170
- package/src/actions/public/watchBlockNumber.test.ts +0 -166
- package/src/actions/public/watchBlockNumber.ts +0 -79
- package/src/actions/public/watchBlocks.test.ts +0 -210
- package/src/actions/public/watchBlocks.ts +0 -114
- package/src/actions/public/watchContractEvent.test.ts +0 -305
- package/src/actions/public/watchContractEvent.ts +0 -108
- package/src/actions/public/watchEvent.test.ts +0 -195
- package/src/actions/public/watchEvent.ts +0 -95
- package/src/actions/public/watchPendingTransactions.test.ts +0 -116
- package/src/actions/public/watchPendingTransactions.ts +0 -74
- package/src/actions/test/dropTransaction.test.ts +0 -34
- package/src/actions/test/dropTransaction.ts +0 -17
- package/src/actions/test/getAutomine.test.ts +0 -14
- package/src/actions/test/getAutomine.ts +0 -11
- package/src/actions/test/getTxpoolContent.test.ts +0 -45
- package/src/actions/test/getTxpoolContent.ts +0 -7
- package/src/actions/test/getTxpoolStatus.test.ts +0 -41
- package/src/actions/test/getTxpoolStatus.ts +0 -12
- package/src/actions/test/impersonateAccount.test.ts +0 -26
- package/src/actions/test/impersonateAccount.ts +0 -17
- package/src/actions/test/increaseTime.test.ts +0 -18
- package/src/actions/test/increaseTime.ts +0 -17
- package/src/actions/test/index.test.ts +0 -38
- package/src/actions/test/index.ts +0 -77
- package/src/actions/test/inspectTxpool.test.ts +0 -50
- package/src/actions/test/inspectTxpool.ts +0 -7
- package/src/actions/test/mine.test.ts +0 -20
- package/src/actions/test/mine.ts +0 -16
- package/src/actions/test/removeBlockTimestampInterval.test.ts +0 -23
- package/src/actions/test/removeBlockTimestampInterval.ts +0 -7
- package/src/actions/test/reset.test.ts +0 -19
- package/src/actions/test/reset.ts +0 -18
- package/src/actions/test/revert.test.ts +0 -39
- package/src/actions/test/revert.ts +0 -14
- package/src/actions/test/sendUnsignedTransaction.test.ts +0 -52
- package/src/actions/test/sendUnsignedTransaction.ts +0 -19
- package/src/actions/test/setAutomine.test.ts +0 -14
- package/src/actions/test/setAutomine.ts +0 -8
- package/src/actions/test/setBalance.test.ts +0 -29
- package/src/actions/test/setBalance.ts +0 -20
- package/src/actions/test/setBlockGasLimit.test.ts +0 -21
- package/src/actions/test/setBlockGasLimit.ts +0 -17
- package/src/actions/test/setBlockTimestampInterval.test.ts +0 -23
- package/src/actions/test/setBlockTimestampInterval.ts +0 -16
- package/src/actions/test/setCode.test.ts +0 -26
- package/src/actions/test/setCode.ts +0 -19
- package/src/actions/test/setCoinbase.test.ts +0 -11
- package/src/actions/test/setCoinbase.ts +0 -17
- package/src/actions/test/setIntervalMining.test.ts +0 -30
- package/src/actions/test/setIntervalMining.ts +0 -16
- package/src/actions/test/setLoggingEnabled.test.ts +0 -10
- package/src/actions/test/setLoggingEnabled.ts +0 -8
- package/src/actions/test/setMinGasPrice.test.ts +0 -22
- package/src/actions/test/setMinGasPrice.ts +0 -17
- package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +0 -23
- package/src/actions/test/setNextBlockBaseFeePerGas.ts +0 -17
- package/src/actions/test/setNextBlockTimestamp.test.ts +0 -19
- package/src/actions/test/setNextBlockTimestamp.ts +0 -17
- package/src/actions/test/setNonce.test.ts +0 -28
- package/src/actions/test/setNonce.ts +0 -20
- package/src/actions/test/setRpcUrl.test.ts +0 -9
- package/src/actions/test/setRpcUrl.ts +0 -8
- package/src/actions/test/setStorageAt.test.ts +0 -36
- package/src/actions/test/setStorageAt.ts +0 -26
- package/src/actions/test/snapshot.test.ts +0 -18
- package/src/actions/test/snapshot.ts +0 -7
- package/src/actions/test/stopImpersonatingAccount.test.ts +0 -29
- package/src/actions/test/stopImpersonatingAccount.ts +0 -17
- package/src/actions/wallet/addChain.test.ts +0 -14
- package/src/actions/wallet/addChain.ts +0 -21
- package/src/actions/wallet/deployContract.test.ts +0 -55
- package/src/actions/wallet/deployContract.ts +0 -38
- package/src/actions/wallet/getAccounts.test.ts +0 -22
- package/src/actions/wallet/getAccounts.ts +0 -7
- package/src/actions/wallet/getPermissions.test.ts +0 -24
- package/src/actions/wallet/getPermissions.ts +0 -9
- package/src/actions/wallet/index.test.ts +0 -21
- package/src/actions/wallet/index.ts +0 -36
- package/src/actions/wallet/requestAccounts.test.ts +0 -13
- package/src/actions/wallet/requestAccounts.ts +0 -7
- package/src/actions/wallet/requestPermissions.test.ts +0 -26
- package/src/actions/wallet/requestPermissions.ts +0 -19
- package/src/actions/wallet/sendTransaction.bench.ts +0 -57
- package/src/actions/wallet/sendTransaction.test.ts +0 -440
- package/src/actions/wallet/sendTransaction.ts +0 -77
- package/src/actions/wallet/signMessage.test.ts +0 -61
- package/src/actions/wallet/signMessage.ts +0 -35
- package/src/actions/wallet/switchChain.test.ts +0 -21
- package/src/actions/wallet/switchChain.ts +0 -19
- package/src/actions/wallet/watchAsset.test.ts +0 -40
- package/src/actions/wallet/watchAsset.ts +0 -16
- package/src/actions/wallet/writeContract.test.ts +0 -84
- package/src/actions/wallet/writeContract.ts +0 -47
- package/src/chains.test.ts +0 -439
- package/src/chains.ts +0 -99
- package/src/clients/createClient.test.ts +0 -295
- package/src/clients/createClient.ts +0 -81
- package/src/clients/createPublicClient.test.ts +0 -165
- package/src/clients/createPublicClient.ts +0 -49
- package/src/clients/createTestClient.test.ts +0 -145
- package/src/clients/createTestClient.ts +0 -72
- package/src/clients/createWalletClient.test.ts +0 -121
- package/src/clients/createWalletClient.ts +0 -54
- package/src/clients/index.test.ts +0 -19
- package/src/clients/index.ts +0 -31
- package/src/clients/transports/createTransport.test.ts +0 -58
- package/src/clients/transports/createTransport.ts +0 -48
- package/src/clients/transports/custom.test.ts +0 -98
- package/src/clients/transports/custom.ts +0 -34
- package/src/clients/transports/fallback.test.ts +0 -393
- package/src/clients/transports/fallback.ts +0 -58
- package/src/clients/transports/http.test.ts +0 -109
- package/src/clients/transports/http.ts +0 -51
- package/src/clients/transports/index.test.ts +0 -15
- package/src/clients/transports/index.ts +0 -17
- package/src/clients/transports/webSocket.test.ts +0 -164
- package/src/clients/transports/webSocket.ts +0 -118
- package/src/constants/abis.test.ts +0 -53
- package/src/constants/abis.ts +0 -44
- package/src/constants/index.test.ts +0 -14
- package/src/constants/index.ts +0 -3
- package/src/constants/solidity.test.ts +0 -41
- package/src/constants/solidity.ts +0 -35
- package/src/contract.test.ts +0 -32
- package/src/contract.ts +0 -68
- package/src/ens.test.ts +0 -15
- package/src/ens.ts +0 -8
- package/src/errors/abi.test.ts +0 -81
- package/src/errors/abi.ts +0 -254
- package/src/errors/address.test.ts +0 -14
- package/src/errors/address.ts +0 -9
- package/src/errors/base.test.ts +0 -114
- package/src/errors/base.ts +0 -57
- package/src/errors/block.test.ts +0 -24
- package/src/errors/block.ts +0 -18
- package/src/errors/chain.test.ts +0 -46
- package/src/errors/chain.ts +0 -33
- package/src/errors/contract.test.ts +0 -233
- package/src/errors/contract.ts +0 -178
- package/src/errors/data.ts +0 -20
- package/src/errors/encoding.ts +0 -60
- package/src/errors/index.ts +0 -82
- package/src/errors/log.ts +0 -8
- package/src/errors/request.test.ts +0 -330
- package/src/errors/request.ts +0 -163
- package/src/errors/rpc.test.ts +0 -87
- package/src/errors/rpc.ts +0 -113
- package/src/errors/transaction.test.ts +0 -83
- package/src/errors/transaction.ts +0 -54
- package/src/errors/transport.test.ts +0 -11
- package/src/errors/transport.ts +0 -12
- package/src/index.test.ts +0 -116
- package/src/index.ts +0 -132
- package/src/public.test.ts +0 -36
- package/src/public.ts +0 -76
- package/src/test.test.ts +0 -38
- package/src/test.ts +0 -52
- package/src/types/block.ts +0 -71
- package/src/types/chain.ts +0 -6
- package/src/types/contract.ts +0 -497
- package/src/types/eip1193.ts +0 -1041
- package/src/types/fee.ts +0 -47
- package/src/types/filter.ts +0 -8
- package/src/types/formatter.ts +0 -23
- package/src/types/index.ts +0 -84
- package/src/types/log.ts +0 -22
- package/src/types/misc.ts +0 -5
- package/src/types/multicall.ts +0 -82
- package/src/types/rpc.ts +0 -35
- package/src/types/transaction.ts +0 -145
- package/src/types/utils.ts +0 -88
- package/src/types/window.ts +0 -9
- package/src/utils/abi/decodeAbi.bench.ts +0 -135
- package/src/utils/abi/decodeAbi.test.ts +0 -1614
- package/src/utils/abi/decodeAbi.ts +0 -300
- package/src/utils/abi/decodeDeployData.test.ts +0 -151
- package/src/utils/abi/decodeDeployData.ts +0 -44
- package/src/utils/abi/decodeErrorResult.test.ts +0 -230
- package/src/utils/abi/decodeErrorResult.ts +0 -45
- package/src/utils/abi/decodeEventLog.test.ts +0 -542
- package/src/utils/abi/decodeEventLog.ts +0 -107
- package/src/utils/abi/decodeFunctionData.test.ts +0 -138
- package/src/utils/abi/decodeFunctionData.ts +0 -32
- package/src/utils/abi/decodeFunctionResult.test.ts +0 -333
- package/src/utils/abi/decodeFunctionResult.ts +0 -57
- package/src/utils/abi/encodeAbi.bench.ts +0 -163
- package/src/utils/abi/encodeAbi.test.ts +0 -1447
- package/src/utils/abi/encodeAbi.ts +0 -273
- package/src/utils/abi/encodeDeployData.test.ts +0 -124
- package/src/utils/abi/encodeDeployData.ts +0 -40
- package/src/utils/abi/encodeErrorResult.test.ts +0 -192
- package/src/utils/abi/encodeErrorResult.ts +0 -47
- package/src/utils/abi/encodeEventTopics.test.ts +0 -345
- package/src/utils/abi/encodeEventTopics.ts +0 -75
- package/src/utils/abi/encodeFunctionData.test.ts +0 -138
- package/src/utils/abi/encodeFunctionData.ts +0 -42
- package/src/utils/abi/encodeFunctionResult.test.ts +0 -279
- package/src/utils/abi/encodeFunctionResult.ts +0 -41
- package/src/utils/abi/formatAbiItem.test.ts +0 -335
- package/src/utils/abi/formatAbiItem.ts +0 -41
- package/src/utils/abi/formatAbiItemWithArgs.test.ts +0 -291
- package/src/utils/abi/formatAbiItemWithArgs.ts +0 -27
- package/src/utils/abi/getAbiItem.test.ts +0 -547
- package/src/utils/abi/getAbiItem.ts +0 -95
- package/src/utils/abi/index.test.ts +0 -24
- package/src/utils/abi/index.ts +0 -48
- package/src/utils/address/getAddress.bench.ts +0 -22
- package/src/utils/address/getAddress.test.ts +0 -46
- package/src/utils/address/getAddress.ts +0 -28
- package/src/utils/address/getContractAddress.bench.ts +0 -20
- package/src/utils/address/getContractAddress.test.ts +0 -78
- package/src/utils/address/getContractAddress.ts +0 -59
- package/src/utils/address/index.test.ts +0 -17
- package/src/utils/address/index.ts +0 -16
- package/src/utils/address/isAddress.test.ts +0 -10
- package/src/utils/address/isAddress.ts +0 -10
- package/src/utils/address/isAddressEqual.test.ts +0 -55
- package/src/utils/address/isAddressEqual.ts +0 -6
- package/src/utils/buildRequest.test.ts +0 -428
- package/src/utils/buildRequest.ts +0 -72
- package/src/utils/chain.test.ts +0 -43
- package/src/utils/chain.ts +0 -8
- package/src/utils/contract/extractFunctionParts.test.ts +0 -109
- package/src/utils/contract/extractFunctionParts.ts +0 -27
- package/src/utils/contract/getContractError.test.ts +0 -282
- package/src/utils/contract/getContractError.ts +0 -58
- package/src/utils/contract/index.test.ts +0 -15
- package/src/utils/contract/index.ts +0 -8
- package/src/utils/data/concat.test.ts +0 -35
- package/src/utils/data/concat.ts +0 -34
- package/src/utils/data/index.test.ts +0 -23
- package/src/utils/data/index.ts +0 -13
- package/src/utils/data/isBytes.test.ts +0 -9
- package/src/utils/data/isBytes.ts +0 -7
- package/src/utils/data/isHex.test.ts +0 -13
- package/src/utils/data/isHex.ts +0 -5
- package/src/utils/data/pad.bench.ts +0 -30
- package/src/utils/data/pad.test.ts +0 -367
- package/src/utils/data/pad.ts +0 -53
- package/src/utils/data/size.test.ts +0 -18
- package/src/utils/data/size.ts +0 -13
- package/src/utils/data/slice.test.ts +0 -203
- package/src/utils/data/slice.ts +0 -60
- package/src/utils/data/trim.bench.ts +0 -34
- package/src/utils/data/trim.test.ts +0 -175
- package/src/utils/data/trim.ts +0 -33
- package/src/utils/encoding/decodeBytes.bench.ts +0 -40
- package/src/utils/encoding/decodeBytes.test.ts +0 -144
- package/src/utils/encoding/decodeBytes.ts +0 -63
- package/src/utils/encoding/decodeHex.bench.ts +0 -24
- package/src/utils/encoding/decodeHex.test.ts +0 -167
- package/src/utils/encoding/decodeHex.ts +0 -76
- package/src/utils/encoding/decodeRlp.bench.ts +0 -34
- package/src/utils/encoding/decodeRlp.test.ts +0 -350
- package/src/utils/encoding/decodeRlp.ts +0 -121
- package/src/utils/encoding/encodeBytes.bench.ts +0 -29
- package/src/utils/encoding/encodeBytes.test.ts +0 -676
- package/src/utils/encoding/encodeBytes.ts +0 -59
- package/src/utils/encoding/encodeHex.bench.ts +0 -49
- package/src/utils/encoding/encodeHex.test.ts +0 -232
- package/src/utils/encoding/encodeHex.ts +0 -104
- package/src/utils/encoding/encodeRlp.bench.ts +0 -54
- package/src/utils/encoding/encodeRlp.test.ts +0 -254
- package/src/utils/encoding/encodeRlp.ts +0 -48
- package/src/utils/encoding/index.test.ts +0 -32
- package/src/utils/encoding/index.ts +0 -36
- package/src/utils/ens/index.test.ts +0 -14
- package/src/utils/ens/index.ts +0 -7
- package/src/utils/ens/labelhash.test.ts +0 -55
- package/src/utils/ens/labelhash.ts +0 -16
- package/src/utils/ens/namehash.test.ts +0 -65
- package/src/utils/ens/namehash.ts +0 -28
- package/src/utils/ens/normalize.bench.ts +0 -14
- package/src/utils/ens/normalize.test.ts +0 -35
- package/src/utils/ens/normalize.ts +0 -14
- package/src/utils/ens/packetToBytes.test.ts +0 -11
- package/src/utils/ens/packetToBytes.ts +0 -29
- package/src/utils/formatters/block.bench.ts +0 -51
- package/src/utils/formatters/block.test.ts +0 -115
- package/src/utils/formatters/block.ts +0 -37
- package/src/utils/formatters/extract.test.ts +0 -14
- package/src/utils/formatters/extract.ts +0 -18
- package/src/utils/formatters/feeHistory.test.ts +0 -66
- package/src/utils/formatters/feeHistory.ts +0 -12
- package/src/utils/formatters/format.test.ts +0 -93
- package/src/utils/formatters/format.ts +0 -90
- package/src/utils/formatters/index.test.ts +0 -27
- package/src/utils/formatters/index.ts +0 -34
- package/src/utils/formatters/log.test.ts +0 -79
- package/src/utils/formatters/log.ts +0 -12
- package/src/utils/formatters/transaction.test.ts +0 -271
- package/src/utils/formatters/transaction.ts +0 -63
- package/src/utils/formatters/transactionReceipt.bench.ts +0 -73
- package/src/utils/formatters/transactionReceipt.test.ts +0 -151
- package/src/utils/formatters/transactionReceipt.ts +0 -63
- package/src/utils/formatters/transactionRequest.bench.ts +0 -29
- package/src/utils/formatters/transactionRequest.test.ts +0 -237
- package/src/utils/formatters/transactionRequest.ts +0 -56
- package/src/utils/hash/getEventSignature.test.ts +0 -61
- package/src/utils/hash/getEventSignature.ts +0 -4
- package/src/utils/hash/getFunctionSignature.test.ts +0 -22
- package/src/utils/hash/getFunctionSignature.ts +0 -5
- package/src/utils/hash/hashFunction.test.ts +0 -65
- package/src/utils/hash/hashFunction.ts +0 -12
- package/src/utils/hash/index.test.ts +0 -13
- package/src/utils/hash/index.ts +0 -5
- package/src/utils/hash/keccak256.test.ts +0 -59
- package/src/utils/hash/keccak256.ts +0 -21
- package/src/utils/index.test.ts +0 -111
- package/src/utils/index.ts +0 -142
- package/src/utils/observe.test.ts +0 -176
- package/src/utils/observe.ts +0 -66
- package/src/utils/poll.test.ts +0 -127
- package/src/utils/poll.ts +0 -42
- package/src/utils/promise/index.test.ts +0 -14
- package/src/utils/promise/index.ts +0 -3
- package/src/utils/promise/withCache.test.ts +0 -97
- package/src/utils/promise/withCache.ts +0 -73
- package/src/utils/promise/withRetry.test.ts +0 -231
- package/src/utils/promise/withRetry.ts +0 -61
- package/src/utils/promise/withTimeout.test.ts +0 -37
- package/src/utils/promise/withTimeout.ts +0 -39
- package/src/utils/rpc.test.ts +0 -990
- package/src/utils/rpc.ts +0 -294
- package/src/utils/stringify.test.ts +0 -13
- package/src/utils/stringify.ts +0 -5
- package/src/utils/uid.ts +0 -14
- package/src/utils/unit/constants.test.ts +0 -22
- package/src/utils/unit/constants.ts +0 -12
- package/src/utils/unit/formatEther.test.ts +0 -75
- package/src/utils/unit/formatEther.ts +0 -6
- package/src/utils/unit/formatGwei.test.ts +0 -32
- package/src/utils/unit/formatGwei.ts +0 -6
- package/src/utils/unit/formatUnit.bench.ts +0 -21
- package/src/utils/unit/formatUnit.test.ts +0 -40
- package/src/utils/unit/formatUnit.ts +0 -16
- package/src/utils/unit/index.test.ts +0 -28
- package/src/utils/unit/index.ts +0 -7
- package/src/utils/unit/parseEther.test.ts +0 -126
- package/src/utils/unit/parseEther.ts +0 -6
- package/src/utils/unit/parseGwei.test.ts +0 -50
- package/src/utils/unit/parseGwei.ts +0 -6
- package/src/utils/unit/parseUnit.bench.ts +0 -21
- package/src/utils/unit/parseUnit.test.ts +0 -54
- package/src/utils/unit/parseUnit.ts +0 -27
- package/src/utils/wait.ts +0 -3
- package/src/wallet.test.ts +0 -19
- package/src/wallet.ts +0 -23
- package/src/window.ts +0 -1
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { Address } from 'abitype';
|
2
|
+
import { a as Hash, a3 as Quantity, r as RpcTransactionRequest, l as RpcBlockNumber, f as BlockTag, k as RpcBlockIdentifier, H as Hex, m as RpcFeeHistory, R as RpcBlock, o as RpcLog, a7 as LogTopic, p as RpcTransaction, q as RpcTransactionReceipt, s as RpcUncle } from './chain-819c7ff7.js';
|
2
3
|
|
3
4
|
declare class RpcError extends Error {
|
4
5
|
code: number;
|
@@ -179,7 +180,7 @@ type PublicRequests = {
|
|
179
180
|
* // => '0x5208'
|
180
181
|
* */
|
181
182
|
method: 'eth_estimateGas';
|
182
|
-
params: [parameters:
|
183
|
+
params: [parameters: RpcTransactionRequest, block: RpcBlockNumber | BlockTag];
|
183
184
|
}): Promise<Quantity>;
|
184
185
|
request(args: {
|
185
186
|
/**
|
@@ -914,6 +915,16 @@ type WalletRequests = {
|
|
914
915
|
method: 'eth_accounts';
|
915
916
|
params?: never;
|
916
917
|
}): Promise<Address[]>;
|
918
|
+
request(args: {
|
919
|
+
/**
|
920
|
+
* @description Returns the current chain ID associated with the wallet.
|
921
|
+
* @example
|
922
|
+
* provider.request({ method: 'eth_chainId' })
|
923
|
+
* // => '1'
|
924
|
+
*/
|
925
|
+
method: 'eth_chainId';
|
926
|
+
params?: never;
|
927
|
+
}): Promise<Quantity>;
|
917
928
|
request(args: {
|
918
929
|
/**
|
919
930
|
* @description Requests that the user provides an Ethereum address to be identified by. Typically causes a browser extension popup to appear.
|
@@ -987,4 +998,4 @@ type WalletRequests = {
|
|
987
998
|
};
|
988
999
|
type Requests = PublicRequests & SignableRequests & WalletRequests;
|
989
1000
|
|
990
|
-
export { Events as E, PublicRequests as P, Requests as R,
|
1001
|
+
export { Events as E, PublicRequests as P, Requests as R, TestRequests as T, WalletPermission as W, WatchAssetParams as a };
|
@@ -0,0 +1,75 @@
|
|
1
|
+
import { Abi, Narrow } from 'abitype';
|
2
|
+
import { H as Hex, A as AbiItem, a7 as LogTopic, a0 as ExtractEventNameFromAbi, a8 as ExtractEventArgsFromTopics, a9 as ExtractFunctionNameFromAbi, a6 as ExtractArgsFromAbi, Z as ExtractResultFromAbi, X as ExtractConstructorArgsFromAbi, aa as ExtractErrorNameFromAbi, ab as ExtractErrorArgsFromAbi, a1 as ExtractEventArgsFromAbi } from './chain-819c7ff7.js';
|
3
|
+
|
4
|
+
type DecodeErrorResultParameters = {
|
5
|
+
abi?: Abi;
|
6
|
+
data: Hex;
|
7
|
+
};
|
8
|
+
type DecodeErrorResultReturnType = {
|
9
|
+
abiItem: AbiItem;
|
10
|
+
errorName: string;
|
11
|
+
args?: readonly unknown[];
|
12
|
+
};
|
13
|
+
declare function decodeErrorResult({ abi, data, }: DecodeErrorResultParameters): DecodeErrorResultReturnType;
|
14
|
+
|
15
|
+
type DecodeEventLogParameters<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = string, TTopics extends LogTopic[] = LogTopic[], TData extends Hex | undefined = undefined> = {
|
16
|
+
abi: Narrow<TAbi>;
|
17
|
+
data?: TData;
|
18
|
+
eventName?: ExtractEventNameFromAbi<TAbi, TEventName>;
|
19
|
+
topics: [signature: Hex, ...args: TTopics];
|
20
|
+
};
|
21
|
+
type DecodeEventLogReturnType<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = string, TTopics extends LogTopic[] = LogTopic[], TData extends Hex | undefined = undefined> = {
|
22
|
+
eventName: TEventName;
|
23
|
+
} & ExtractEventArgsFromTopics<TAbi, TEventName, TTopics, TData>;
|
24
|
+
declare function decodeEventLog<TAbi extends Abi | readonly unknown[], TEventName extends string, TTopics extends LogTopic[], TData extends Hex | undefined = undefined>({ abi, data, topics, }: DecodeEventLogParameters<TAbi, TEventName, TTopics, TData>): DecodeEventLogReturnType<TAbi, TEventName, TTopics, TData>;
|
25
|
+
|
26
|
+
type DecodeFunctionDataParameters = {
|
27
|
+
abi: Abi | readonly unknown[];
|
28
|
+
data: Hex;
|
29
|
+
};
|
30
|
+
declare function decodeFunctionData({ abi, data, }: DecodeFunctionDataParameters): {
|
31
|
+
functionName: string;
|
32
|
+
args: readonly unknown[] | undefined;
|
33
|
+
};
|
34
|
+
|
35
|
+
type DecodeFunctionResultParameters<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = {
|
36
|
+
abi: Narrow<TAbi>;
|
37
|
+
functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName>;
|
38
|
+
data: Hex;
|
39
|
+
} & Partial<ExtractArgsFromAbi<TAbi, TFunctionName>>;
|
40
|
+
type DecodeFunctionResultReturnType<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = ExtractResultFromAbi<TAbi, TFunctionName>;
|
41
|
+
declare function decodeFunctionResult<TAbi extends Abi | readonly unknown[], TFunctionName extends string>({ abi, args, functionName, data, }: DecodeFunctionResultParameters<TAbi, TFunctionName>): DecodeFunctionResultReturnType<TAbi, TFunctionName>;
|
42
|
+
|
43
|
+
type EncodeDeployDataParameters<TAbi extends Abi | readonly unknown[] = Abi> = {
|
44
|
+
abi: Narrow<TAbi>;
|
45
|
+
bytecode: Hex;
|
46
|
+
} & ExtractConstructorArgsFromAbi<TAbi>;
|
47
|
+
declare function encodeDeployData<TAbi extends Abi | readonly unknown[]>({ abi, args, bytecode, }: EncodeDeployDataParameters<TAbi>): `0x${string}`;
|
48
|
+
|
49
|
+
type EncodeErrorResultParameters<TAbi extends Abi | readonly unknown[] = Abi, TErrorName extends string = string> = {
|
50
|
+
abi: Narrow<TAbi>;
|
51
|
+
errorName: ExtractErrorNameFromAbi<TAbi, TErrorName>;
|
52
|
+
} & ExtractErrorArgsFromAbi<TAbi, TErrorName>;
|
53
|
+
declare function encodeErrorResult<TAbi extends Abi | readonly unknown[], TErrorName extends string>({ abi, errorName, args }: EncodeErrorResultParameters<TAbi, TErrorName>): `0x${string}`;
|
54
|
+
|
55
|
+
type EncodeEventTopicsParameters<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = string> = {
|
56
|
+
abi: Narrow<TAbi>;
|
57
|
+
args?: ExtractEventArgsFromAbi<TAbi, TEventName>;
|
58
|
+
eventName: ExtractEventNameFromAbi<TAbi, TEventName>;
|
59
|
+
};
|
60
|
+
declare function encodeEventTopics<TAbi extends Abi | readonly unknown[], TEventName extends string>({ abi, eventName, args }: EncodeEventTopicsParameters<TAbi, TEventName>): `0x${string}`[];
|
61
|
+
|
62
|
+
type EncodeFunctionDataParameters<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = {
|
63
|
+
abi: Narrow<TAbi>;
|
64
|
+
functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName>;
|
65
|
+
} & ExtractArgsFromAbi<TAbi, TFunctionName>;
|
66
|
+
declare function encodeFunctionData<TAbi extends Abi | readonly unknown[], TFunctionName extends string>({ abi, args, functionName, }: EncodeFunctionDataParameters<TAbi, TFunctionName>): `0x${string}`;
|
67
|
+
|
68
|
+
type EncodeFunctionResultParameters<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = {
|
69
|
+
abi: Narrow<TAbi>;
|
70
|
+
functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName>;
|
71
|
+
result?: ExtractResultFromAbi<TAbi, TFunctionName>;
|
72
|
+
};
|
73
|
+
declare function encodeFunctionResult<TAbi extends Abi | readonly unknown[], TFunctionName extends string>({ abi, functionName, result, }: EncodeFunctionResultParameters<TAbi, TFunctionName>): `0x${string}`;
|
74
|
+
|
75
|
+
export { DecodeErrorResultParameters as D, EncodeDeployDataParameters as E, DecodeErrorResultReturnType as a, DecodeEventLogParameters as b, DecodeEventLogReturnType as c, DecodeFunctionDataParameters as d, DecodeFunctionResultParameters as e, DecodeFunctionResultReturnType as f, EncodeErrorResultParameters as g, EncodeEventTopicsParameters as h, EncodeFunctionDataParameters as i, EncodeFunctionResultParameters as j, decodeErrorResult as k, decodeEventLog as l, decodeFunctionData as m, decodeFunctionResult as n, encodeDeployData as o, encodeErrorResult as p, encodeEventTopics as q, encodeFunctionData as r, encodeFunctionResult as s };
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Narrow, SolidityAddress, SolidityBool, SolidityBytes, SolidityInt, SolidityString, SolidityArrayWithoutTuple, AbiType, AbiParameterToPrimitiveType } from 'abitype';
|
2
|
+
import { H as Hex } from './chain-819c7ff7.js';
|
3
|
+
|
4
|
+
type PackedAbiType = SolidityAddress | SolidityBool | SolidityBytes | SolidityInt | SolidityString | SolidityArrayWithoutTuple;
|
5
|
+
type EncodePackedValues<TPackedAbiTypes extends PackedAbiType[] | unknown[]> = {
|
6
|
+
[K in keyof TPackedAbiTypes]: TPackedAbiTypes[K] extends AbiType ? AbiParameterToPrimitiveType<{
|
7
|
+
type: TPackedAbiTypes[K];
|
8
|
+
}> : unknown;
|
9
|
+
};
|
10
|
+
declare function encodePacked<TPackedAbiTypes extends PackedAbiType[] | unknown[]>(types: Narrow<TPackedAbiTypes>, values: EncodePackedValues<TPackedAbiTypes>): Hex;
|
11
|
+
|
12
|
+
export { encodePacked as e };
|
package/dist/ens.d.ts
CHANGED
@@ -1,72 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
import
|
4
|
-
import '
|
5
|
-
import './eip1193-6f9ba163.js';
|
6
|
-
import './createClient-68ee4bb4.js';
|
1
|
+
export { a0 as GetEnsAddressParameters, a1 as GetEnsNameParameters, a2 as getEnsAddress, a3 as getEnsName } from './createPublicClient-e2eae0fc.js';
|
2
|
+
export { l as labelhash, n as namehash } from './namehash-afff0feb.js';
|
3
|
+
import './chain-819c7ff7.js';
|
4
|
+
import './eip1193-a882d1b8.js';
|
7
5
|
import 'abitype';
|
8
|
-
import './
|
9
|
-
import '
|
10
|
-
import '
|
11
|
-
|
12
|
-
type GetEnsAddressArgs = Prettify<Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {
|
13
|
-
/** ENS name to get address. */
|
14
|
-
name: string;
|
15
|
-
/** Address of ENS Universal Resolver Contract */
|
16
|
-
universalResolverAddress?: Address;
|
17
|
-
}>;
|
18
|
-
/**
|
19
|
-
* @description Gets address for ENS name.
|
20
|
-
*
|
21
|
-
* - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.
|
22
|
-
*
|
23
|
-
* @example
|
24
|
-
* const ensAddress = await getEnsAddress(publicClient, {
|
25
|
-
* name: 'wagmi-dev.eth',
|
26
|
-
* })
|
27
|
-
* // '0xd2135CfB216b74109775236E36d4b433F1DF507B'
|
28
|
-
*/
|
29
|
-
declare function getEnsAddress(client: PublicClient, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }: GetEnsAddressArgs): Promise<`0x${string}`>;
|
30
|
-
|
31
|
-
type GetEnsNameArgs = Prettify<Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {
|
32
|
-
/** Address to get ENS name for. */
|
33
|
-
address: Address;
|
34
|
-
/** Address of ENS Universal Resolver Contract. */
|
35
|
-
universalResolverAddress?: Address;
|
36
|
-
}>;
|
37
|
-
/**
|
38
|
-
* @description Gets primary name for specified address.
|
39
|
-
*
|
40
|
-
* - Calls `reverse(bytes)` on ENS Universal Resolver Contract.
|
41
|
-
*
|
42
|
-
* @example
|
43
|
-
* const ensName = await getEnsName(publicClient, {
|
44
|
-
* address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',
|
45
|
-
* })
|
46
|
-
* // 'wagmi-dev.eth'
|
47
|
-
*/
|
48
|
-
declare function getEnsName(client: PublicClient, { address, blockNumber, blockTag, universalResolverAddress: universalResolverAddress_, }: GetEnsNameArgs): Promise<string | null>;
|
49
|
-
|
50
|
-
/**
|
51
|
-
* @description Hashes ENS label
|
52
|
-
*
|
53
|
-
* @example
|
54
|
-
* labelhash('eth')
|
55
|
-
* '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'
|
56
|
-
*/
|
57
|
-
declare function labelhash(label: string): `0x${string}`;
|
58
|
-
|
59
|
-
/**
|
60
|
-
* @description Hashes ENS name
|
61
|
-
*
|
62
|
-
* @example
|
63
|
-
* namehash('wagmi-dev.eth')
|
64
|
-
* '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'
|
65
|
-
*
|
66
|
-
* @see https://eips.ethereum.org/EIPS/eip-137
|
67
|
-
* @see https://docs.ens.domains/contract-api-reference/name-processing#hashing-names
|
68
|
-
*/
|
69
|
-
declare function namehash(name: string): `0x${string}`;
|
6
|
+
import './createClient-a47ae6f5.js';
|
7
|
+
import '@wagmi/chains';
|
8
|
+
import 'ethers@6/types/providers';
|
70
9
|
|
71
10
|
/**
|
72
11
|
* @description Normalizes ENS name
|
@@ -79,4 +18,4 @@ declare function namehash(name: string): `0x${string}`;
|
|
79
18
|
*/
|
80
19
|
declare function normalize(name: string): string;
|
81
20
|
|
82
|
-
export {
|
21
|
+
export { normalize };
|
package/dist/ens.js
CHANGED
@@ -1,19 +1,10 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
2
2
|
|
3
|
-
var _chunkUTL6F7UNjs = require('./chunk-UTL6F7UN.js');
|
4
3
|
|
5
4
|
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
var _chunkNXCI5KQCjs = require('./chunk-NXCI5KQC.js');
|
6
|
+
var _chunkHCZO3OIXjs = require('./chunk-HCZO3OIX.js');
|
7
|
+
require('./chunk-QJNPIGP5.js');
|
17
8
|
|
18
9
|
// src/utils/ens/normalize.ts
|
19
10
|
var _idnauts46hx = require('idna-uts46-hx');
|
@@ -21,196 +12,10 @@ function normalize(name) {
|
|
21
12
|
return _idnauts46hx.toUnicode.call(void 0, name, { useStd3ASCII: true });
|
22
13
|
}
|
23
14
|
|
24
|
-
// src/utils/ens/labelhash.ts
|
25
|
-
function labelhash(label) {
|
26
|
-
let result = new Uint8Array(32).fill(0);
|
27
|
-
if (!label)
|
28
|
-
return _chunkNXCI5KQCjs.bytesToHex.call(void 0, result);
|
29
|
-
return _chunkNXCI5KQCjs.keccak256.call(void 0, _chunkNXCI5KQCjs.stringToBytes.call(void 0, normalize(label)));
|
30
|
-
}
|
31
|
-
|
32
|
-
// src/utils/ens/namehash.ts
|
33
|
-
function namehash(name) {
|
34
|
-
let result = new Uint8Array(32).fill(0);
|
35
|
-
if (!name)
|
36
|
-
return _chunkNXCI5KQCjs.bytesToHex.call(void 0, result);
|
37
|
-
const labels = normalize(name).split(".");
|
38
|
-
for (let i = labels.length - 1; i >= 0; i -= 1) {
|
39
|
-
const hashed = _chunkNXCI5KQCjs.keccak256.call(void 0, _chunkNXCI5KQCjs.stringToBytes.call(void 0, labels[i]), "bytes");
|
40
|
-
result = _chunkNXCI5KQCjs.keccak256.call(void 0, _chunkNXCI5KQCjs.concat.call(void 0, [result, hashed]), "bytes");
|
41
|
-
}
|
42
|
-
return _chunkNXCI5KQCjs.bytesToHex.call(void 0, result);
|
43
|
-
}
|
44
|
-
|
45
|
-
// src/utils/ens/packetToBytes.ts
|
46
|
-
function packetToBytes(packet) {
|
47
|
-
function length(value2) {
|
48
|
-
if (value2 === "." || value2 === "..")
|
49
|
-
return 1;
|
50
|
-
return _chunkNXCI5KQCjs.encodeBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
|
51
|
-
}
|
52
|
-
const bytes = new Uint8Array(length(packet));
|
53
|
-
const value = packet.replace(/^\.|\.$/gm, "");
|
54
|
-
if (!value.length)
|
55
|
-
return bytes;
|
56
|
-
let offset = 0;
|
57
|
-
const list = value.split(".");
|
58
|
-
for (let i = 0; i < list.length; i++) {
|
59
|
-
const encoded = _chunkNXCI5KQCjs.encodeBytes.call(void 0, list[i]);
|
60
|
-
bytes[offset] = encoded.length;
|
61
|
-
bytes.set(encoded, offset + 1);
|
62
|
-
offset += encoded.length + 1;
|
63
|
-
}
|
64
|
-
return bytes;
|
65
|
-
}
|
66
|
-
|
67
|
-
// src/actions/ens/getEnsAddress.ts
|
68
|
-
async function getEnsAddress(client, {
|
69
|
-
blockNumber,
|
70
|
-
blockTag,
|
71
|
-
name,
|
72
|
-
universalResolverAddress: universalResolverAddress_
|
73
|
-
}) {
|
74
|
-
let universalResolverAddress = universalResolverAddress_;
|
75
|
-
if (!universalResolverAddress) {
|
76
|
-
if (!client.chain)
|
77
|
-
throw new Error(
|
78
|
-
"client chain not configured. universalResolverAddress is required."
|
79
|
-
);
|
80
|
-
const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
|
81
|
-
if (!contract)
|
82
|
-
throw new (0, _chunkNXCI5KQCjs.ChainDoesNotSupportContract)({
|
83
|
-
chain: client.chain,
|
84
|
-
contract: { name: "ensUniversalResolver" }
|
85
|
-
});
|
86
|
-
if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
|
87
|
-
throw new (0, _chunkNXCI5KQCjs.ChainDoesNotSupportContract)({
|
88
|
-
blockNumber,
|
89
|
-
chain: client.chain,
|
90
|
-
contract: {
|
91
|
-
name: "ensUniversalResolver",
|
92
|
-
blockCreated: contract.blockCreated
|
93
|
-
}
|
94
|
-
});
|
95
|
-
universalResolverAddress = contract.address;
|
96
|
-
}
|
97
|
-
const res = await _chunkUTL6F7UNjs.readContract.call(void 0, client, {
|
98
|
-
address: universalResolverAddress,
|
99
|
-
abi: [
|
100
|
-
{
|
101
|
-
name: "resolve",
|
102
|
-
type: "function",
|
103
|
-
stateMutability: "view",
|
104
|
-
inputs: [
|
105
|
-
{ name: "name", type: "bytes" },
|
106
|
-
{ name: "data", type: "bytes" }
|
107
|
-
],
|
108
|
-
outputs: [
|
109
|
-
{ name: "", type: "bytes" },
|
110
|
-
{ name: "address", type: "address" }
|
111
|
-
]
|
112
|
-
}
|
113
|
-
],
|
114
|
-
functionName: "resolve",
|
115
|
-
args: [
|
116
|
-
_chunkNXCI5KQCjs.encodeHex.call(void 0, packetToBytes(name)),
|
117
|
-
_chunkNXCI5KQCjs.encodeFunctionData.call(void 0, {
|
118
|
-
abi: [
|
119
|
-
{
|
120
|
-
name: "addr",
|
121
|
-
type: "function",
|
122
|
-
stateMutability: "view",
|
123
|
-
inputs: [{ name: "name", type: "bytes32" }],
|
124
|
-
outputs: []
|
125
|
-
}
|
126
|
-
],
|
127
|
-
functionName: "addr",
|
128
|
-
args: [namehash(name)]
|
129
|
-
})
|
130
|
-
],
|
131
|
-
blockNumber,
|
132
|
-
blockTag
|
133
|
-
});
|
134
|
-
return _chunkNXCI5KQCjs.decodeFunctionResult.call(void 0, {
|
135
|
-
abi: [
|
136
|
-
{
|
137
|
-
name: "addr",
|
138
|
-
type: "function",
|
139
|
-
stateMutability: "view",
|
140
|
-
inputs: [],
|
141
|
-
outputs: [{ name: "name", type: "address" }]
|
142
|
-
}
|
143
|
-
],
|
144
|
-
functionName: "addr",
|
145
|
-
data: res[0]
|
146
|
-
});
|
147
|
-
}
|
148
|
-
|
149
|
-
// src/actions/ens/getEnsName.ts
|
150
|
-
async function getEnsName(client, {
|
151
|
-
address,
|
152
|
-
blockNumber,
|
153
|
-
blockTag,
|
154
|
-
universalResolverAddress: universalResolverAddress_
|
155
|
-
}) {
|
156
|
-
let universalResolverAddress = universalResolverAddress_;
|
157
|
-
if (!universalResolverAddress) {
|
158
|
-
if (!client.chain)
|
159
|
-
throw new Error(
|
160
|
-
"client chain not configured. universalResolverAddress is required."
|
161
|
-
);
|
162
|
-
const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
|
163
|
-
if (!contract)
|
164
|
-
throw new (0, _chunkNXCI5KQCjs.ChainDoesNotSupportContract)({
|
165
|
-
chain: client.chain,
|
166
|
-
contract: { name: "ensUniversalResolver" }
|
167
|
-
});
|
168
|
-
if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
|
169
|
-
throw new (0, _chunkNXCI5KQCjs.ChainDoesNotSupportContract)({
|
170
|
-
blockNumber,
|
171
|
-
chain: client.chain,
|
172
|
-
contract: {
|
173
|
-
name: "ensUniversalResolver",
|
174
|
-
blockCreated: contract.blockCreated
|
175
|
-
}
|
176
|
-
});
|
177
|
-
universalResolverAddress = contract.address;
|
178
|
-
}
|
179
|
-
const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
|
180
|
-
try {
|
181
|
-
const res = await _chunkUTL6F7UNjs.readContract.call(void 0, client, {
|
182
|
-
address: universalResolverAddress,
|
183
|
-
abi: [
|
184
|
-
{
|
185
|
-
name: "reverse",
|
186
|
-
type: "function",
|
187
|
-
stateMutability: "view",
|
188
|
-
inputs: [{ type: "bytes", name: "reverseName" }],
|
189
|
-
outputs: [
|
190
|
-
{ type: "string", name: "resolvedName" },
|
191
|
-
{ type: "address", name: "resolvedAddress" },
|
192
|
-
{ type: "address", name: "reverseResolver" },
|
193
|
-
{ type: "address", name: "resolver" }
|
194
|
-
]
|
195
|
-
}
|
196
|
-
],
|
197
|
-
functionName: "reverse",
|
198
|
-
args: [_chunkNXCI5KQCjs.encodeHex.call(void 0, packetToBytes(reverseNode))],
|
199
|
-
blockNumber,
|
200
|
-
blockTag
|
201
|
-
});
|
202
|
-
return res[0];
|
203
|
-
} catch (error) {
|
204
|
-
if (error instanceof _chunkNXCI5KQCjs.ContractFunctionExecutionError && error.cause.reason === _chunkNXCI5KQCjs.panicReasons[50])
|
205
|
-
return null;
|
206
|
-
throw error;
|
207
|
-
}
|
208
|
-
}
|
209
|
-
|
210
15
|
|
211
16
|
|
212
17
|
|
213
18
|
|
214
19
|
|
215
|
-
exports.getEnsAddress = getEnsAddress; exports.getEnsName = getEnsName; exports.labelhash = labelhash; exports.namehash = namehash; exports.normalize = normalize;
|
20
|
+
exports.getEnsAddress = _chunkHCZO3OIXjs.getEnsAddress; exports.getEnsName = _chunkHCZO3OIXjs.getEnsName; exports.labelhash = _chunkHCZO3OIXjs.labelhash; exports.namehash = _chunkHCZO3OIXjs.namehash; exports.normalize = normalize;
|
216
21
|
//# sourceMappingURL=ens.js.map
|
package/dist/ens.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/utils/ens/normalize.ts","../src/utils/ens/labelhash.ts","../src/utils/ens/namehash.ts","../src/utils/ens/packetToBytes.ts","../src/actions/ens/getEnsAddress.ts","../src/actions/ens/getEnsName.ts"],"names":["value"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS,iBAAiB;AAWnB,SAAS,UAAU,MAAc;AACtC,SAAO,UAAU,MAAM,EAAE,cAAc,KAAK,CAAC;AAC/C;;;ACFO,SAAS,UAAU,OAAe;AACvC,MAAI,SAAS,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC;AACtC,MAAI,CAAC;AAAO,WAAO,WAAW,MAAM;AACpC,SAAO,UAAU,cAAc,UAAU,KAAK,CAAC,CAAC;AAClD;;;ACAO,SAAS,SAAS,MAAc;AACrC,MAAI,SAAS,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC;AACtC,MAAI,CAAC;AAAM,WAAO,WAAW,MAAM;AAEnC,QAAM,SAAS,UAAU,IAAI,EAAE,MAAM,GAAG;AAExC,WAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG;AAC9C,UAAM,SAAS,UAAU,cAAc,OAAO,CAAC,CAAC,GAAG,OAAO;AAC1D,aAAS,UAAU,OAAO,CAAC,QAAQ,MAAM,CAAC,GAAG,OAAO;AAAA,EACtD;AAEA,SAAO,WAAW,MAAM;AAC1B;;;ACpBO,SAAS,cAAc,QAA2B;AACvD,WAAS,OAAOA,QAAe;AAC7B,QAAIA,WAAU,OAAOA,WAAU;AAAM,aAAO;AAC5C,WAAO,YAAYA,OAAM,QAAQ,aAAa,EAAE,CAAC,EAAE,SAAS;AAAA,EAC9D;AAEA,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM,CAAC;AAE3C,QAAM,QAAQ,OAAO,QAAQ,aAAa,EAAE;AAC5C,MAAI,CAAC,MAAM;AAAQ,WAAO;AAE1B,MAAI,SAAS;AACb,QAAM,OAAO,MAAM,MAAM,GAAG;AAC5B,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,UAAU,YAAY,KAAK,CAAC,CAAC;AACnC,UAAM,MAAM,IAAI,QAAQ;AACxB,UAAM,IAAI,SAAS,SAAS,CAAC;AAC7B,cAAU,QAAQ,SAAS;AAAA,EAC7B;AAEA,SAAO;AACT;;;ACGA,eAAsB,cACpB,QACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,0BAA0B;AAC5B,GACA;AACA,MAAI,2BAA2B;AAC/B,MAAI,CAAC,0BAA0B;AAC7B,QAAI,CAAC,OAAO;AACV,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAEF,UAAM,WAAW,OAAO,OAAO,WAAW;AAC1C,QAAI,CAAC;AACH,YAAM,IAAI,4BAA4B;AAAA,QACpC,OAAO,OAAO;AAAA,QACd,UAAU,EAAE,MAAM,uBAAuB;AAAA,MAC3C,CAAC;AAEH,QACE,eACA,SAAS,gBACT,SAAS,eAAe;AAExB,YAAM,IAAI,4BAA4B;AAAA,QACpC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,UAAU;AAAA,UACR,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,QACzB;AAAA,MACF,CAAC;AAEH,+BAA2B,SAAS;AAAA,EACtC;AAEA,QAAM,MAAM,MAAM,aAAa,QAAQ;AAAA,IACrC,SAAS;AAAA,IACT,KAAK;AAAA,MACH;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,QAAQ;AAAA,UACN,EAAE,MAAM,QAAQ,MAAM,QAAQ;AAAA,UAC9B,EAAE,MAAM,QAAQ,MAAM,QAAQ;AAAA,QAChC;AAAA,QACA,SAAS;AAAA,UACP,EAAE,MAAM,IAAI,MAAM,QAAQ;AAAA,UAC1B,EAAE,MAAM,WAAW,MAAM,UAAU;AAAA,QACrC;AAAA,MACF;AAAA,IACF;AAAA,IACA,cAAc;AAAA,IACd,MAAM;AAAA,MACJ,UAAU,cAAc,IAAI,CAAC;AAAA,MAC7B,mBAAmB;AAAA,QACjB,KAAK;AAAA,UACH;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,iBAAiB;AAAA,YACjB,QAAQ,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,CAAC;AAAA,YAC1C,SAAS,CAAC;AAAA,UACZ;AAAA,QACF;AAAA,QACA,cAAc;AAAA,QACd,MAAM,CAAC,SAAS,IAAI,CAAC;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,SAAO,qBAAqB;AAAA,IAC1B,KAAK;AAAA,MACH;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,QAAQ,CAAC;AAAA,QACT,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,UAAU,CAAC;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,cAAc;AAAA,IACd,MAAM,IAAI,CAAC;AAAA,EACb,CAAC;AACH;;;ACzFA,eAAsB,WACpB,QACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,0BAA0B;AAC5B,GACA;AACA,MAAI,2BAA2B;AAC/B,MAAI,CAAC,0BAA0B;AAC7B,QAAI,CAAC,OAAO;AACV,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAEF,UAAM,WAAW,OAAO,OAAO,WAAW;AAC1C,QAAI,CAAC;AACH,YAAM,IAAI,4BAA4B;AAAA,QACpC,OAAO,OAAO;AAAA,QACd,UAAU,EAAE,MAAM,uBAAuB;AAAA,MAC3C,CAAC;AAEH,QACE,eACA,SAAS,gBACT,SAAS,eAAe;AAExB,YAAM,IAAI,4BAA4B;AAAA,QACpC;AAAA,QACA,OAAO,OAAO;AAAA,QACd,UAAU;AAAA,UACR,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,QACzB;AAAA,MACF,CAAC;AAEH,+BAA2B,SAAS;AAAA,EACtC;AAEA,QAAM,cAAc,GAAG,QAAQ,YAAY,EAAE,UAAU,CAAC;AACxD,MAAI;AACF,UAAM,MAAM,MAAM,aAAa,QAAQ;AAAA,MACrC,SAAS;AAAA,MACT,KAAK;AAAA,QACH;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,iBAAiB;AAAA,UACjB,QAAQ,CAAC,EAAE,MAAM,SAAS,MAAM,cAAc,CAAC;AAAA,UAC/C,SAAS;AAAA,YACP,EAAE,MAAM,UAAU,MAAM,eAAe;AAAA,YACvC,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,YAC3C,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,YAC3C,EAAE,MAAM,WAAW,MAAM,WAAW;AAAA,UACtC;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AAAA,MACd,MAAM,CAAC,UAAU,cAAc,WAAW,CAAC,CAAC;AAAA,MAC5C;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,IAAI,CAAC;AAAA,EACd,SAAS,OAAP;AACA,QACE,iBAAiB,kCAChB,MAAM,MAAwC,WAAW,aAAa,EAAE;AAGzE,aAAO;AACT,UAAM;AAAA,EACR;AACF","sourcesContent":["import { toUnicode } from 'idna-uts46-hx'\n\n/**\n * @description Normalizes ENS name\n *\n * @example\n * normalize('wagmi-dev.eth')\n * 'wagmi-dev.eth'\n *\n * @see https://docs.ens.domains/contract-api-reference/name-processing#normalising-names\n */\nexport function normalize(name: string) {\n return toUnicode(name, { useStd3ASCII: true })\n}\n","import { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\nimport { normalize } from './normalize'\n\n/**\n * @description Hashes ENS label\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nexport function labelhash(label: string) {\n let result = new Uint8Array(32).fill(0)\n if (!label) return bytesToHex(result)\n return keccak256(stringToBytes(normalize(label)))\n}\n","import { concat } from '../data'\nimport { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\nimport { normalize } from './normalize'\n\n/**\n * @description Hashes ENS name\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @see https://eips.ethereum.org/EIPS/eip-137\n * @see https://docs.ens.domains/contract-api-reference/name-processing#hashing-names\n */\nexport function namehash(name: string) {\n let result = new Uint8Array(32).fill(0)\n if (!name) return bytesToHex(result)\n\n const labels = normalize(name).split('.')\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashed = keccak256(stringToBytes(labels[i]), 'bytes')\n result = keccak256(concat([result, hashed]), 'bytes')\n }\n\n return bytesToHex(result)\n}\n","// Adapted from https://github.com/mafintosh/dns-packet\nimport { ByteArray } from '../../types'\nimport { encodeBytes } from '../encoding'\n\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n */\nexport function packetToBytes(packet: string): ByteArray {\n function length(value: string) {\n if (value === '.' || value === '..') return 1\n return encodeBytes(value.replace(/^\\.|\\.$/gm, '')).length + 2\n }\n\n const bytes = new Uint8Array(length(packet))\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '')\n if (!value.length) return bytes\n\n let offset = 0\n const list = value.split('.')\n for (let i = 0; i < list.length; i++) {\n const encoded = encodeBytes(list[i])\n bytes[offset] = encoded.length\n bytes.set(encoded, offset + 1)\n offset += encoded.length + 1\n }\n\n return bytes\n}\n","import { PublicClient } from '../../clients'\nimport { ChainDoesNotSupportContract } from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport {\n decodeFunctionResult,\n encodeFunctionData,\n encodeHex,\n} from '../../utils'\nimport { namehash, packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractArgs } from '../public'\n\nexport type GetEnsAddressArgs = Prettify<\n Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {\n /** ENS name to get address. */\n name: string\n /** Address of ENS Universal Resolver Contract */\n universalResolverAddress?: Address\n }\n>\n\n/**\n * @description Gets address for ENS name.\n *\n * - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * @example\n * const ensAddress = await getEnsAddress(publicClient, {\n * name: 'wagmi-dev.eth',\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nexport async function getEnsAddress(\n client: PublicClient,\n {\n blockNumber,\n blockTag,\n name,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsAddressArgs,\n) {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n const contract = client.chain?.contracts?.ensUniversalResolver\n if (!contract)\n throw new ChainDoesNotSupportContract({\n chain: client.chain,\n contract: { name: 'ensUniversalResolver' },\n })\n\n if (\n blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n )\n throw new ChainDoesNotSupportContract({\n blockNumber,\n chain: client.chain,\n contract: {\n name: 'ensUniversalResolver',\n blockCreated: contract.blockCreated,\n },\n })\n\n universalResolverAddress = contract.address\n }\n\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n ],\n functionName: 'resolve',\n args: [\n encodeHex(packetToBytes(name)),\n encodeFunctionData({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [],\n },\n ],\n functionName: 'addr',\n args: [namehash(name)],\n }),\n ],\n blockNumber,\n blockTag,\n })\n return decodeFunctionResult({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'name', type: 'address' }],\n },\n ],\n functionName: 'addr',\n data: res[0],\n })\n}\n","import { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ChainDoesNotSupportContract,\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { encodeHex } from '../../utils'\nimport { packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractArgs } from '../public'\n\nexport type GetEnsNameArgs = Prettify<\n Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {\n /** Address to get ENS name for. */\n address: Address\n /** Address of ENS Universal Resolver Contract. */\n universalResolverAddress?: Address\n }\n>\n\n/**\n * @description Gets primary name for specified address.\n *\n * - Calls `reverse(bytes)` on ENS Universal Resolver Contract.\n *\n * @example\n * const ensName = await getEnsName(publicClient, {\n * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',\n * })\n * // 'wagmi-dev.eth'\n */\nexport async function getEnsName(\n client: PublicClient,\n {\n address,\n blockNumber,\n blockTag,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsNameArgs,\n) {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n const contract = client.chain?.contracts?.ensUniversalResolver\n if (!contract)\n throw new ChainDoesNotSupportContract({\n chain: client.chain,\n contract: { name: 'ensUniversalResolver' },\n })\n\n if (\n blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n )\n throw new ChainDoesNotSupportContract({\n blockNumber,\n chain: client.chain,\n contract: {\n name: 'ensUniversalResolver',\n blockCreated: contract.blockCreated,\n },\n })\n\n universalResolverAddress = contract.address\n }\n\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`\n try {\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n ],\n functionName: 'reverse',\n args: [encodeHex(packetToBytes(reverseNode))],\n blockNumber,\n blockTag,\n })\n return res[0]\n } catch (error) {\n if (\n error instanceof ContractFunctionExecutionError &&\n (error.cause as ContractFunctionRevertedError).reason === panicReasons[50]\n )\n // No primary name set for address.\n return null\n throw error\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["../src/utils/ens/normalize.ts"],"names":[],"mappings":";;;;;;;;;AAAA,SAAS,iBAAiB;AAWnB,SAAS,UAAU,MAAc;AACtC,SAAO,UAAU,MAAM,EAAE,cAAc,KAAK,CAAC;AAC/C","sourcesContent":["import { toUnicode } from 'idna-uts46-hx'\n\n/**\n * @description Normalizes ENS name\n *\n * @example\n * normalize('wagmi-dev.eth')\n * 'wagmi-dev.eth'\n *\n * @see https://docs.ens.domains/contract-api-reference/name-processing#normalising-names\n */\nexport function normalize(name: string) {\n return toUnicode(name, { useStd3ASCII: true })\n}\n"]}
|