viem 0.2.0-canary.20230316T020523 → 0.2.0-jxom-async-verify-message.20230321T000803
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/abi.d.ts +3 -3
- package/dist/abi.js +2 -2
- package/dist/abi.mjs +1 -1
- package/dist/account-07d04222.d.ts +74 -0
- package/dist/{chain-1b53ef88.d.ts → chain-b2e88e30.d.ts} +113 -108
- package/dist/{chain-ec8c485d.d.ts → chain-c4f924cf.d.ts} +1 -1
- package/dist/chains.d.ts +3 -3
- package/dist/chains.js +63 -63
- package/dist/chains.mjs +1 -1
- package/dist/{chunk-ZTHR4YS2.js → chunk-22BDIC7J.js} +406 -108
- package/dist/chunk-22BDIC7J.js.map +1 -0
- package/dist/{chunk-FDTKU2PS.js → chunk-2NJCP2DN.js} +19 -19
- package/dist/{chunk-FDTKU2PS.js.map → chunk-2NJCP2DN.js.map} +1 -1
- package/dist/{chunk-MWJLP6MO.mjs → chunk-FEPL5HFW.mjs} +336 -38
- package/dist/chunk-FEPL5HFW.mjs.map +1 -0
- package/dist/{chunk-7OP5XRWB.mjs → chunk-OZCG5IO7.mjs} +2 -2
- package/dist/chunk-OZCG5IO7.mjs.map +1 -0
- package/dist/contract.d.ts +8 -7
- package/dist/contract.js +2 -2
- package/dist/contract.mjs +1 -1
- package/dist/{createClient-a28317a9.d.ts → createClient-d4f1dea1.d.ts} +6 -6
- package/dist/{createPublicClient-0021fc35.d.ts → createPublicClient-3a714a8d.d.ts} +154 -207
- package/dist/{eip1193-4f4e240c.d.ts → eip1193-cd3e872a.d.ts} +1 -1
- package/dist/{encodeFunctionResult-1f324375.d.ts → encodeFunctionResult-750c9055.d.ts} +1 -1
- package/dist/{encodePacked-d5d5264a.d.ts → encodePacked-de74201f.d.ts} +1 -1
- package/dist/ens.d.ts +5 -4
- package/dist/ens.js +3 -3
- package/dist/ens.mjs +2 -2
- package/dist/ethers.d.ts +3 -5
- package/dist/ethers.js +3 -3
- package/dist/ethers.mjs +1 -1
- package/dist/{formatAbiItem-15e8817d.d.ts → formatAbiItem-fdbdda39.d.ts} +1 -1
- package/dist/{getAbiItem-3e809ff9.d.ts → getAbiItem-9d709e3b.d.ts} +1 -1
- package/dist/index.d.ts +14 -13
- package/dist/index.js +101 -91
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -3
- package/dist/index.mjs.map +1 -1
- package/dist/{parseGwei-c2fb9fa2.d.ts → parseGwei-b138c041.d.ts} +49 -12
- package/dist/public.d.ts +5 -4
- package/dist/public.js +2 -2
- package/dist/public.mjs +1 -1
- package/dist/{test-2bd23d7e.d.ts → test-c70126a6.d.ts} +33 -32
- package/dist/test.d.ts +10 -10
- package/dist/test.js +2 -2
- package/dist/test.mjs +1 -1
- package/dist/utils/index.d.ts +28 -18
- package/dist/utils/index.js +10 -2
- package/dist/utils/index.mjs +11 -3
- package/dist/wallet.d.ts +5 -4
- package/dist/wallet.js +2 -2
- package/dist/wallet.mjs +1 -1
- package/dist/window.d.ts +2 -2
- package/package.json +1 -1
- package/dist/chunk-7OP5XRWB.mjs.map +0 -1
- package/dist/chunk-MWJLP6MO.mjs.map +0 -1
- package/dist/chunk-ZTHR4YS2.js.map +0 -1
package/dist/utils/index.js
CHANGED
@@ -105,11 +105,11 @@
|
|
105
105
|
|
106
106
|
|
107
107
|
|
108
|
-
var _chunkZTHR4YS2js = require('../chunk-ZTHR4YS2.js');
|
109
108
|
|
110
109
|
|
111
110
|
|
112
111
|
|
112
|
+
var _chunk22BDIC7Jjs = require('../chunk-22BDIC7J.js');
|
113
113
|
|
114
114
|
|
115
115
|
|
@@ -213,5 +213,13 @@ var _chunkZTHR4YS2js = require('../chunk-ZTHR4YS2.js');
|
|
213
213
|
|
214
214
|
|
215
215
|
|
216
|
-
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
exports.arrayRegex = _chunk22BDIC7Jjs.arrayRegex; exports.assertRequest = _chunk22BDIC7Jjs.assertRequest; exports.boolToBytes = _chunk22BDIC7Jjs.boolToBytes; exports.boolToHex = _chunk22BDIC7Jjs.boolToHex; exports.buildRequest = _chunk22BDIC7Jjs.buildRequest; exports.bytesRegex = _chunk22BDIC7Jjs.bytesRegex; exports.bytesToBigint = _chunk22BDIC7Jjs.bytesToBigint; exports.bytesToBool = _chunk22BDIC7Jjs.bytesToBool; exports.bytesToHex = _chunk22BDIC7Jjs.bytesToHex; exports.bytesToNumber = _chunk22BDIC7Jjs.bytesToNumber; exports.bytesToString = _chunk22BDIC7Jjs.bytesToString; exports.concat = _chunk22BDIC7Jjs.concat; exports.concatBytes = _chunk22BDIC7Jjs.concatBytes; exports.concatHex = _chunk22BDIC7Jjs.concatHex; exports.containsNodeError = _chunk22BDIC7Jjs.containsNodeError; exports.decodeAbiParameters = _chunk22BDIC7Jjs.decodeAbiParameters; exports.decodeErrorResult = _chunk22BDIC7Jjs.decodeErrorResult; exports.decodeEventLog = _chunk22BDIC7Jjs.decodeEventLog; exports.decodeFunctionData = _chunk22BDIC7Jjs.decodeFunctionData; exports.decodeFunctionResult = _chunk22BDIC7Jjs.decodeFunctionResult; exports.defineBlock = _chunk22BDIC7Jjs.defineBlock; exports.defineChain = _chunk22BDIC7Jjs.defineChain; exports.defineFormatter = _chunk22BDIC7Jjs.defineFormatter; exports.defineTransaction = _chunk22BDIC7Jjs.defineTransaction; exports.defineTransactionReceipt = _chunk22BDIC7Jjs.defineTransactionReceipt; exports.defineTransactionRequest = _chunk22BDIC7Jjs.defineTransactionRequest; exports.encodeAbiParameters = _chunk22BDIC7Jjs.encodeAbiParameters; exports.encodeDeployData = _chunk22BDIC7Jjs.encodeDeployData; exports.encodeErrorResult = _chunk22BDIC7Jjs.encodeErrorResult; exports.encodeEventTopics = _chunk22BDIC7Jjs.encodeEventTopics; exports.encodeFunctionData = _chunk22BDIC7Jjs.encodeFunctionData; exports.encodeFunctionResult = _chunk22BDIC7Jjs.encodeFunctionResult; exports.encodePacked = _chunk22BDIC7Jjs.encodePacked; exports.extract = _chunk22BDIC7Jjs.extract; exports.extractFunctionName = _chunk22BDIC7Jjs.extractFunctionName; exports.extractFunctionParams = _chunk22BDIC7Jjs.extractFunctionParams; exports.extractFunctionParts = _chunk22BDIC7Jjs.extractFunctionParts; exports.extractFunctionType = _chunk22BDIC7Jjs.extractFunctionType; exports.format = _chunk22BDIC7Jjs.format; exports.formatAbiItem = _chunk22BDIC7Jjs.formatAbiItem; exports.formatAbiItemWithArgs = _chunk22BDIC7Jjs.formatAbiItemWithArgs; exports.formatBlock = _chunk22BDIC7Jjs.formatBlock; exports.formatEther = _chunk22BDIC7Jjs.formatEther; exports.formatGwei = _chunk22BDIC7Jjs.formatGwei; exports.formatTransaction = _chunk22BDIC7Jjs.formatTransaction; exports.formatTransactionRequest = _chunk22BDIC7Jjs.formatTransactionRequest; exports.formatUnits = _chunk22BDIC7Jjs.formatUnits; exports.fromBytes = _chunk22BDIC7Jjs.fromBytes; exports.fromHex = _chunk22BDIC7Jjs.fromHex; exports.fromRlp = _chunk22BDIC7Jjs.fromRlp; exports.getAbiItem = _chunk22BDIC7Jjs.getAbiItem; exports.getAccount = _chunk22BDIC7Jjs.getAccount; exports.getAddress = _chunk22BDIC7Jjs.getAddress; exports.getCallError = _chunk22BDIC7Jjs.getCallError; exports.getChainContractAddress = _chunk22BDIC7Jjs.getChainContractAddress; exports.getContractAddress = _chunk22BDIC7Jjs.getContractAddress; exports.getContractError = _chunk22BDIC7Jjs.getContractError; exports.getCreate2Address = _chunk22BDIC7Jjs.getCreate2Address; exports.getCreateAddress = _chunk22BDIC7Jjs.getCreateAddress; exports.getEstimateGasError = _chunk22BDIC7Jjs.getEstimateGasError; exports.getEventSelector = _chunk22BDIC7Jjs.getEventSelector; exports.getFunctionSelector = _chunk22BDIC7Jjs.getFunctionSelector; exports.getNodeError = _chunk22BDIC7Jjs.getNodeError; exports.getSocket = _chunk22BDIC7Jjs.getSocket; exports.getTransactionError = _chunk22BDIC7Jjs.getTransactionError; exports.hashMessage = _chunk22BDIC7Jjs.hashMessage; exports.hashTypedData = _chunk22BDIC7Jjs.hashTypedData; exports.hexToBigInt = _chunk22BDIC7Jjs.hexToBigInt; exports.hexToBool = _chunk22BDIC7Jjs.hexToBool; exports.hexToBytes = _chunk22BDIC7Jjs.hexToBytes; exports.hexToNumber = _chunk22BDIC7Jjs.hexToNumber; exports.hexToString = _chunk22BDIC7Jjs.hexToString; exports.integerRegex = _chunk22BDIC7Jjs.integerRegex; exports.isAddress = _chunk22BDIC7Jjs.isAddress; exports.isAddressEqual = _chunk22BDIC7Jjs.isAddressEqual; exports.isBytes = _chunk22BDIC7Jjs.isBytes; exports.isHex = _chunk22BDIC7Jjs.isHex; exports.keccak256 = _chunk22BDIC7Jjs.keccak256; exports.numberToBytes = _chunk22BDIC7Jjs.numberToBytes; exports.numberToHex = _chunk22BDIC7Jjs.numberToHex; exports.pad = _chunk22BDIC7Jjs.pad; exports.padBytes = _chunk22BDIC7Jjs.padBytes; exports.padHex = _chunk22BDIC7Jjs.padHex; exports.parseAbi = _chunk22BDIC7Jjs.parseAbi; exports.parseAbiItem = _chunk22BDIC7Jjs.parseAbiItem; exports.parseAbiParameter = _chunk22BDIC7Jjs.parseAbiParameter; exports.parseAbiParameters = _chunk22BDIC7Jjs.parseAbiParameters; exports.parseAccount = _chunk22BDIC7Jjs.parseAccount; exports.parseEther = _chunk22BDIC7Jjs.parseEther; exports.parseGwei = _chunk22BDIC7Jjs.parseGwei; exports.parseUnits = _chunk22BDIC7Jjs.parseUnits; exports.prepareRequest = _chunk22BDIC7Jjs.prepareRequest; exports.recoverAddress = _chunk22BDIC7Jjs.recoverAddress; exports.recoverMessageAddress = _chunk22BDIC7Jjs.recoverMessageAddress; exports.recoverTypedDataAddress = _chunk22BDIC7Jjs.recoverTypedDataAddress; exports.rpc = _chunk22BDIC7Jjs.rpc; exports.size = _chunk22BDIC7Jjs.size; exports.slice = _chunk22BDIC7Jjs.slice; exports.sliceBytes = _chunk22BDIC7Jjs.sliceBytes; exports.sliceHex = _chunk22BDIC7Jjs.sliceHex; exports.stringToBytes = _chunk22BDIC7Jjs.stringToBytes; exports.stringToHex = _chunk22BDIC7Jjs.stringToHex; exports.stringify = _chunk22BDIC7Jjs.stringify; exports.toBytes = _chunk22BDIC7Jjs.toBytes; exports.toHex = _chunk22BDIC7Jjs.toHex; exports.toRlp = _chunk22BDIC7Jjs.toRlp; exports.transactionType = _chunk22BDIC7Jjs.transactionType; exports.trim = _chunk22BDIC7Jjs.trim; exports.verifyMessage = _chunk22BDIC7Jjs.verifyMessage; exports.verifyTypedData = _chunk22BDIC7Jjs.verifyTypedData;
|
217
225
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.mjs
CHANGED
@@ -65,6 +65,7 @@ import {
|
|
65
65
|
getSocket,
|
66
66
|
getTransactionError,
|
67
67
|
hashMessage,
|
68
|
+
hashTypedData,
|
68
69
|
hexToBigInt,
|
69
70
|
hexToBool,
|
70
71
|
hexToBytes,
|
@@ -85,12 +86,14 @@ import {
|
|
85
86
|
parseAbiItem,
|
86
87
|
parseAbiParameter,
|
87
88
|
parseAbiParameters,
|
89
|
+
parseAccount,
|
88
90
|
parseEther,
|
89
91
|
parseGwei,
|
90
92
|
parseUnits,
|
91
93
|
prepareRequest,
|
92
94
|
recoverAddress,
|
93
95
|
recoverMessageAddress,
|
96
|
+
recoverTypedDataAddress,
|
94
97
|
rpc,
|
95
98
|
size,
|
96
99
|
slice,
|
@@ -104,8 +107,9 @@ import {
|
|
104
107
|
toRlp,
|
105
108
|
transactionType,
|
106
109
|
trim,
|
107
|
-
verifyMessage
|
108
|
-
|
110
|
+
verifyMessage,
|
111
|
+
verifyTypedData
|
112
|
+
} from "../chunk-FEPL5HFW.mjs";
|
109
113
|
export {
|
110
114
|
arrayRegex,
|
111
115
|
assertRequest,
|
@@ -173,6 +177,7 @@ export {
|
|
173
177
|
getSocket,
|
174
178
|
getTransactionError,
|
175
179
|
hashMessage,
|
180
|
+
hashTypedData,
|
176
181
|
hexToBigInt,
|
177
182
|
hexToBool,
|
178
183
|
hexToBytes,
|
@@ -193,12 +198,14 @@ export {
|
|
193
198
|
parseAbiItem,
|
194
199
|
parseAbiParameter,
|
195
200
|
parseAbiParameters,
|
201
|
+
parseAccount,
|
196
202
|
parseEther,
|
197
203
|
parseGwei,
|
198
204
|
parseUnits,
|
199
205
|
prepareRequest,
|
200
206
|
recoverAddress,
|
201
207
|
recoverMessageAddress,
|
208
|
+
recoverTypedDataAddress,
|
202
209
|
rpc,
|
203
210
|
size,
|
204
211
|
slice,
|
@@ -212,6 +219,7 @@ export {
|
|
212
219
|
toRlp,
|
213
220
|
transactionType,
|
214
221
|
trim,
|
215
|
-
verifyMessage
|
222
|
+
verifyMessage,
|
223
|
+
verifyTypedData
|
216
224
|
};
|
217
225
|
//# sourceMappingURL=index.mjs.map
|
package/dist/wallet.d.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
export {
|
2
|
-
import './eip1193-
|
1
|
+
export { bj as AddChainParameters, bk as FormattedTransactionRequest, bm as GetAddressesReturnType, bl as GetPermissionsReturnType, bn as RequestAddressesReturnType, bo as RequestPermissionsReturnType, S as SendTransactionParameters, bp as SendTransactionReturnType, bq as SignMessageParameters, br as SignMessageReturnType, bs as SignTypedDataParameters, bt as SignTypedDataReturnType, bu as SwitchChainParameters, bv as WatchAssetParameters, bw as WatchAssetReturnType, b9 as addChain, ba as getAddresses, bb as getPermissions, bc as requestAddresses, bd as requestPermissions, be as sendTransaction, bf as signMessage, bg as signTypedData, bh as switchChain, bi as watchAsset } from './createPublicClient-3a714a8d.js';
|
2
|
+
import './eip1193-cd3e872a.js';
|
3
3
|
import 'abitype';
|
4
|
-
import './chain-
|
4
|
+
import './chain-b2e88e30.js';
|
5
5
|
import '@wagmi/chains';
|
6
|
-
import './createClient-
|
6
|
+
import './createClient-d4f1dea1.js';
|
7
|
+
import './account-07d04222.js';
|
package/dist/wallet.js
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
|
12
|
-
var
|
12
|
+
var _chunk22BDIC7Jjs = require('./chunk-22BDIC7J.js');
|
13
13
|
|
14
14
|
|
15
15
|
|
@@ -21,5 +21,5 @@ var _chunkZTHR4YS2js = require('./chunk-ZTHR4YS2.js');
|
|
21
21
|
|
22
22
|
|
23
23
|
|
24
|
-
exports.addChain =
|
24
|
+
exports.addChain = _chunk22BDIC7Jjs.addChain; exports.getAddresses = _chunk22BDIC7Jjs.getAddresses; exports.getPermissions = _chunk22BDIC7Jjs.getPermissions; exports.requestAddresses = _chunk22BDIC7Jjs.requestAddresses; exports.requestPermissions = _chunk22BDIC7Jjs.requestPermissions; exports.sendTransaction = _chunk22BDIC7Jjs.sendTransaction; exports.signMessage = _chunk22BDIC7Jjs.signMessage; exports.signTypedData = _chunk22BDIC7Jjs.signTypedData; exports.switchChain = _chunk22BDIC7Jjs.switchChain; exports.watchAsset = _chunk22BDIC7Jjs.watchAsset;
|
25
25
|
//# sourceMappingURL=wallet.js.map
|
package/dist/wallet.mjs
CHANGED
package/dist/window.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { R as Requests, E as Events } from './eip1193-
|
1
|
+
import { R as Requests, E as Events } from './eip1193-cd3e872a.js';
|
2
2
|
import 'abitype';
|
3
|
-
import './chain-
|
3
|
+
import './chain-b2e88e30.js';
|
4
4
|
import '@wagmi/chains';
|
5
5
|
|
6
6
|
type WindowProvider = Requests & Events;
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../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"],"sourcesContent":["import { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS label\n *\n * - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\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(label))\n}\n","import { concat } from '../data'\nimport { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS name\n *\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @link https://eips.ethereum.org/EIPS/eip-137\n */\nexport function namehash(name: string) {\n let result = new Uint8Array(32).fill(0)\n if (!name) return bytesToHex(result)\n\n const labels = 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 type { ByteArray } from '../../types'\nimport { toBytes } 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 toBytes(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 = toBytes(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 type { PublicClient } from '../../clients'\nimport type { Address, Prettify } from '../../types'\nimport {\n decodeFunctionResult,\n encodeFunctionData,\n getChainContractAddress,\n toHex,\n} from '../../utils'\nimport { namehash, packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractParameters } from '../public'\n\nexport type GetEnsAddressParameters = Prettify<\n Pick<ReadContractParameters, 'blockNumber' | 'blockTag'> & {\n /** ENS name to get address. */\n name: string\n /** Address of ENS Universal Resolver Contract */\n universalResolverAddress?: Address\n }\n>\n\nexport type GetEnsAddressReturnType = Address\n\n/**\n * @description Gets address for ENS name.\n *\n * - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * import { normalize } from 'viem/ens'\n *\n * const ensAddress = await getEnsAddress(publicClient, {\n * name: normalize('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 }: GetEnsAddressParameters,\n): Promise<GetEnsAddressReturnType> {\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 universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n })\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 toHex(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 type { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { getChainContractAddress, toHex } from '../../utils'\nimport { packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractParameters } from '../public'\n\nexport type GetEnsNameParameters = Prettify<\n Pick<ReadContractParameters, '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\nexport type GetEnsNameReturnType = string | null\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 }: GetEnsNameParameters,\n): Promise<GetEnsNameReturnType> {\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 universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n })\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: [toHex(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"],"mappings":"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","names":["value"]}
|