viem 0.0.1-alpha.26 → 0.0.1-alpha.27

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/ens.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkLINNE4N4js = require('./chunk-LINNE4N4.js');
3
+ var _chunkJY7JGKSAjs = require('./chunk-JY7JGKSA.js');
4
4
 
5
5
 
6
6
 
@@ -13,7 +13,7 @@ var _chunkLINNE4N4js = require('./chunk-LINNE4N4.js');
13
13
 
14
14
 
15
15
 
16
- var _chunkDSQO3E4Fjs = require('./chunk-DSQO3E4F.js');
16
+ var _chunkW7KWIGWOjs = require('./chunk-W7KWIGWO.js');
17
17
 
18
18
  // src/utils/ens/normalize.ts
19
19
  var _idnauts46hx = require('idna-uts46-hx');
@@ -25,21 +25,21 @@ function normalize(name) {
25
25
  function labelhash(label) {
26
26
  let result = new Uint8Array(32).fill(0);
27
27
  if (!label)
28
- return _chunkDSQO3E4Fjs.bytesToHex.call(void 0, result);
29
- return _chunkDSQO3E4Fjs.keccak256.call(void 0, _chunkDSQO3E4Fjs.stringToBytes.call(void 0, normalize(label)));
28
+ return _chunkW7KWIGWOjs.bytesToHex.call(void 0, result);
29
+ return _chunkW7KWIGWOjs.keccak256.call(void 0, _chunkW7KWIGWOjs.stringToBytes.call(void 0, normalize(label)));
30
30
  }
31
31
 
32
32
  // src/utils/ens/namehash.ts
33
33
  function namehash(name) {
34
34
  let result = new Uint8Array(32).fill(0);
35
35
  if (!name)
36
- return _chunkDSQO3E4Fjs.bytesToHex.call(void 0, result);
36
+ return _chunkW7KWIGWOjs.bytesToHex.call(void 0, result);
37
37
  const labels = normalize(name).split(".");
38
38
  for (let i = labels.length - 1; i >= 0; i -= 1) {
39
- const hashed = _chunkDSQO3E4Fjs.keccak256.call(void 0, _chunkDSQO3E4Fjs.stringToBytes.call(void 0, labels[i]), "bytes");
40
- result = _chunkDSQO3E4Fjs.keccak256.call(void 0, _chunkDSQO3E4Fjs.concat.call(void 0, [result, hashed]), "bytes");
39
+ const hashed = _chunkW7KWIGWOjs.keccak256.call(void 0, _chunkW7KWIGWOjs.stringToBytes.call(void 0, labels[i]), "bytes");
40
+ result = _chunkW7KWIGWOjs.keccak256.call(void 0, _chunkW7KWIGWOjs.concat.call(void 0, [result, hashed]), "bytes");
41
41
  }
42
- return _chunkDSQO3E4Fjs.bytesToHex.call(void 0, result);
42
+ return _chunkW7KWIGWOjs.bytesToHex.call(void 0, result);
43
43
  }
44
44
 
45
45
  // src/utils/ens/packetToBytes.ts
@@ -47,7 +47,7 @@ function packetToBytes(packet) {
47
47
  function length(value2) {
48
48
  if (value2 === "." || value2 === "..")
49
49
  return 1;
50
- return _chunkDSQO3E4Fjs.encodeBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
50
+ return _chunkW7KWIGWOjs.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
51
51
  }
52
52
  const bytes = new Uint8Array(length(packet));
53
53
  const value = packet.replace(/^\.|\.$/gm, "");
@@ -56,7 +56,7 @@ function packetToBytes(packet) {
56
56
  let offset = 0;
57
57
  const list = value.split(".");
58
58
  for (let i = 0; i < list.length; i++) {
59
- const encoded = _chunkDSQO3E4Fjs.encodeBytes.call(void 0, list[i]);
59
+ const encoded = _chunkW7KWIGWOjs.toBytes.call(void 0, list[i]);
60
60
  bytes[offset] = encoded.length;
61
61
  bytes.set(encoded, offset + 1);
62
62
  offset += encoded.length + 1;
@@ -79,12 +79,12 @@ async function getEnsAddress(client, {
79
79
  );
80
80
  const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
81
81
  if (!contract)
82
- throw new (0, _chunkDSQO3E4Fjs.ChainDoesNotSupportContract)({
82
+ throw new (0, _chunkW7KWIGWOjs.ChainDoesNotSupportContract)({
83
83
  chain: client.chain,
84
84
  contract: { name: "ensUniversalResolver" }
85
85
  });
86
86
  if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
87
- throw new (0, _chunkDSQO3E4Fjs.ChainDoesNotSupportContract)({
87
+ throw new (0, _chunkW7KWIGWOjs.ChainDoesNotSupportContract)({
88
88
  blockNumber,
89
89
  chain: client.chain,
90
90
  contract: {
@@ -94,7 +94,7 @@ async function getEnsAddress(client, {
94
94
  });
95
95
  universalResolverAddress = contract.address;
96
96
  }
97
- const res = await _chunkLINNE4N4js.readContract.call(void 0, client, {
97
+ const res = await _chunkJY7JGKSAjs.readContract.call(void 0, client, {
98
98
  address: universalResolverAddress,
99
99
  abi: [
100
100
  {
@@ -113,8 +113,8 @@ async function getEnsAddress(client, {
113
113
  ],
114
114
  functionName: "resolve",
115
115
  args: [
116
- _chunkDSQO3E4Fjs.encodeHex.call(void 0, packetToBytes(name)),
117
- _chunkDSQO3E4Fjs.encodeFunctionData.call(void 0, {
116
+ _chunkW7KWIGWOjs.toHex.call(void 0, packetToBytes(name)),
117
+ _chunkW7KWIGWOjs.encodeFunctionData.call(void 0, {
118
118
  abi: [
119
119
  {
120
120
  name: "addr",
@@ -131,7 +131,7 @@ async function getEnsAddress(client, {
131
131
  blockNumber,
132
132
  blockTag
133
133
  });
134
- return _chunkDSQO3E4Fjs.decodeFunctionResult.call(void 0, {
134
+ return _chunkW7KWIGWOjs.decodeFunctionResult.call(void 0, {
135
135
  abi: [
136
136
  {
137
137
  name: "addr",
@@ -161,12 +161,12 @@ async function getEnsName(client, {
161
161
  );
162
162
  const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
163
163
  if (!contract)
164
- throw new (0, _chunkDSQO3E4Fjs.ChainDoesNotSupportContract)({
164
+ throw new (0, _chunkW7KWIGWOjs.ChainDoesNotSupportContract)({
165
165
  chain: client.chain,
166
166
  contract: { name: "ensUniversalResolver" }
167
167
  });
168
168
  if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
169
- throw new (0, _chunkDSQO3E4Fjs.ChainDoesNotSupportContract)({
169
+ throw new (0, _chunkW7KWIGWOjs.ChainDoesNotSupportContract)({
170
170
  blockNumber,
171
171
  chain: client.chain,
172
172
  contract: {
@@ -178,7 +178,7 @@ async function getEnsName(client, {
178
178
  }
179
179
  const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
180
180
  try {
181
- const res = await _chunkLINNE4N4js.readContract.call(void 0, client, {
181
+ const res = await _chunkJY7JGKSAjs.readContract.call(void 0, client, {
182
182
  address: universalResolverAddress,
183
183
  abi: [
184
184
  {
@@ -195,13 +195,13 @@ async function getEnsName(client, {
195
195
  }
196
196
  ],
197
197
  functionName: "reverse",
198
- args: [_chunkDSQO3E4Fjs.encodeHex.call(void 0, packetToBytes(reverseNode))],
198
+ args: [_chunkW7KWIGWOjs.toHex.call(void 0, packetToBytes(reverseNode))],
199
199
  blockNumber,
200
200
  blockTag
201
201
  });
202
202
  return res[0];
203
203
  } catch (error) {
204
- if (error instanceof _chunkDSQO3E4Fjs.ContractFunctionExecutionError && error.cause.reason === _chunkDSQO3E4Fjs.panicReasons[50])
204
+ if (error instanceof _chunkW7KWIGWOjs.ContractFunctionExecutionError && error.cause.reason === _chunkW7KWIGWOjs.panicReasons[50])
205
205
  return null;
206
206
  throw error;
207
207
  }
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","../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":"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","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 { 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 { PublicClient } from '../../clients'\nimport { ChainDoesNotSupportContract } from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { decodeFunctionResult, encodeFunctionData, toHex } 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 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 { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ChainDoesNotSupportContract,\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { toHex } 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: [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"]}
package/dist/ens.mjs CHANGED
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  readContract
3
- } from "./chunk-QSIX64VZ.mjs";
3
+ } from "./chunk-BJJH7RYH.mjs";
4
4
  import {
5
5
  ChainDoesNotSupportContract,
6
6
  ContractFunctionExecutionError,
7
7
  bytesToHex,
8
8
  concat,
9
9
  decodeFunctionResult,
10
- encodeBytes,
11
10
  encodeFunctionData,
12
- encodeHex,
13
11
  keccak256,
14
12
  panicReasons,
15
- stringToBytes
16
- } from "./chunk-PRG3BBPZ.mjs";
13
+ stringToBytes,
14
+ toBytes,
15
+ toHex
16
+ } from "./chunk-AKGXRZDN.mjs";
17
17
 
18
18
  // src/utils/ens/normalize.ts
19
19
  import { toUnicode } from "idna-uts46-hx";
@@ -47,7 +47,7 @@ function packetToBytes(packet) {
47
47
  function length(value2) {
48
48
  if (value2 === "." || value2 === "..")
49
49
  return 1;
50
- return encodeBytes(value2.replace(/^\.|\.$/gm, "")).length + 2;
50
+ return toBytes(value2.replace(/^\.|\.$/gm, "")).length + 2;
51
51
  }
52
52
  const bytes = new Uint8Array(length(packet));
53
53
  const value = packet.replace(/^\.|\.$/gm, "");
@@ -56,7 +56,7 @@ function packetToBytes(packet) {
56
56
  let offset = 0;
57
57
  const list = value.split(".");
58
58
  for (let i = 0; i < list.length; i++) {
59
- const encoded = encodeBytes(list[i]);
59
+ const encoded = toBytes(list[i]);
60
60
  bytes[offset] = encoded.length;
61
61
  bytes.set(encoded, offset + 1);
62
62
  offset += encoded.length + 1;
@@ -113,7 +113,7 @@ async function getEnsAddress(client, {
113
113
  ],
114
114
  functionName: "resolve",
115
115
  args: [
116
- encodeHex(packetToBytes(name)),
116
+ toHex(packetToBytes(name)),
117
117
  encodeFunctionData({
118
118
  abi: [
119
119
  {
@@ -195,7 +195,7 @@ async function getEnsName(client, {
195
195
  }
196
196
  ],
197
197
  functionName: "reverse",
198
- args: [encodeHex(packetToBytes(reverseNode))],
198
+ args: [toHex(packetToBytes(reverseNode))],
199
199
  blockNumber,
200
200
  blockTag
201
201
  });
package/dist/ens.mjs.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"],"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"],"mappings":"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","names":["value"]}
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"],"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 { 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 { PublicClient } from '../../clients'\nimport { ChainDoesNotSupportContract } from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { decodeFunctionResult, encodeFunctionData, toHex } 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 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 { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ChainDoesNotSupportContract,\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { toHex } 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: [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"]}
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- var _chunkDSQO3E4Fjs = require('./chunk-DSQO3E4F.js');
61
+ var _chunkW7KWIGWOjs = require('./chunk-W7KWIGWO.js');
62
62
 
63
63
  // src/clients/transports/createTransport.ts
64
64
  function createTransport({
@@ -71,7 +71,7 @@ function createTransport({
71
71
  }, value) {
72
72
  return {
73
73
  config: { key, name, request, retryCount, retryDelay, type },
74
- request: _chunkDSQO3E4Fjs.buildRequest.call(void 0, request, { retryCount, retryDelay }),
74
+ request: _chunkW7KWIGWOjs.buildRequest.call(void 0, request, { retryCount, retryDelay }),
75
75
  value
76
76
  };
77
77
  }
@@ -105,7 +105,7 @@ function fallback(transports, config = {}) {
105
105
  params
106
106
  });
107
107
  } catch (err) {
108
- if (_chunkDSQO3E4Fjs.isDeterministicError.call(void 0, err))
108
+ if (_chunkW7KWIGWOjs.isDeterministicError.call(void 0, err))
109
109
  throw err;
110
110
  if (i === transports.length - 1)
111
111
  throw err;
@@ -133,13 +133,13 @@ function http(url, config = {}) {
133
133
  const retryCount = _nullishCoalesce(config.retryCount, () => ( defaultRetryCount));
134
134
  const url_ = url || _optionalChain([chain, 'optionalAccess', _ => _.rpcUrls, 'access', _2 => _2.default, 'access', _3 => _3.http, 'access', _4 => _4[0]]);
135
135
  if (!url_)
136
- throw new (0, _chunkDSQO3E4Fjs.UrlRequiredError)();
136
+ throw new (0, _chunkW7KWIGWOjs.UrlRequiredError)();
137
137
  return createTransport(
138
138
  {
139
139
  key,
140
140
  name,
141
141
  async request({ method, params }) {
142
- const { result } = await _chunkDSQO3E4Fjs.rpc.http(url_, {
142
+ const { result } = await _chunkW7KWIGWOjs.rpc.http(url_, {
143
143
  body: {
144
144
  method,
145
145
  params
@@ -165,14 +165,14 @@ function webSocket(url, config = {}) {
165
165
  const retryCount = _nullishCoalesce(config.retryCount, () => ( defaultRetryCount));
166
166
  const url_ = url || _optionalChain([chain, 'optionalAccess', _5 => _5.rpcUrls, 'access', _6 => _6.default, 'access', _7 => _7.webSocket, 'optionalAccess', _8 => _8[0]]);
167
167
  if (!url_)
168
- throw new (0, _chunkDSQO3E4Fjs.UrlRequiredError)();
168
+ throw new (0, _chunkW7KWIGWOjs.UrlRequiredError)();
169
169
  return createTransport(
170
170
  {
171
171
  key,
172
172
  name,
173
173
  async request({ method, params }) {
174
- const socket = await _chunkDSQO3E4Fjs.getSocket.call(void 0, url_);
175
- const { result } = await _chunkDSQO3E4Fjs.rpc.webSocketAsync(socket, {
174
+ const socket = await _chunkW7KWIGWOjs.getSocket.call(void 0, url_);
175
+ const { result } = await _chunkW7KWIGWOjs.rpc.webSocketAsync(socket, {
176
176
  body: { method, params }
177
177
  });
178
178
  return result;
@@ -183,12 +183,12 @@ function webSocket(url, config = {}) {
183
183
  },
184
184
  {
185
185
  getSocket() {
186
- return _chunkDSQO3E4Fjs.getSocket.call(void 0, url_);
186
+ return _chunkW7KWIGWOjs.getSocket.call(void 0, url_);
187
187
  },
188
188
  async subscribe({ params, onData, onError }) {
189
- const socket = await _chunkDSQO3E4Fjs.getSocket.call(void 0, url_);
189
+ const socket = await _chunkW7KWIGWOjs.getSocket.call(void 0, url_);
190
190
  const { result: subscriptionId } = await new Promise(
191
- (resolve, reject) => _chunkDSQO3E4Fjs.rpc.webSocket(socket, {
191
+ (resolve, reject) => _chunkW7KWIGWOjs.rpc.webSocket(socket, {
192
192
  body: {
193
193
  method: "eth_subscribe",
194
194
  params
@@ -210,7 +210,7 @@ function webSocket(url, config = {}) {
210
210
  subscriptionId,
211
211
  async unsubscribe() {
212
212
  return new Promise(
213
- (resolve, reject) => _chunkDSQO3E4Fjs.rpc.webSocket(socket, {
213
+ (resolve, reject) => _chunkW7KWIGWOjs.rpc.webSocket(socket, {
214
214
  body: {
215
215
  method: "eth_unsubscribe",
216
216
  params: [subscriptionId]
@@ -385,5 +385,5 @@ function createWalletClient({
385
385
 
386
386
 
387
387
 
388
- exports.AbiConstructorNotFoundError = _chunkDSQO3E4Fjs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunkDSQO3E4Fjs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunkDSQO3E4Fjs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunkDSQO3E4Fjs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunkDSQO3E4Fjs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunkDSQO3E4Fjs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunkDSQO3E4Fjs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunkDSQO3E4Fjs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunkDSQO3E4Fjs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunkDSQO3E4Fjs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunkDSQO3E4Fjs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunkDSQO3E4Fjs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunkDSQO3E4Fjs.BaseError; exports.BlockNotFoundError = _chunkDSQO3E4Fjs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunkDSQO3E4Fjs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunkDSQO3E4Fjs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunkDSQO3E4Fjs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunkDSQO3E4Fjs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunkDSQO3E4Fjs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunkDSQO3E4Fjs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunkDSQO3E4Fjs.HttpRequestError; exports.InternalRpcError = _chunkDSQO3E4Fjs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunkDSQO3E4Fjs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunkDSQO3E4Fjs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunkDSQO3E4Fjs.InvalidAddressError; exports.InvalidArrayError = _chunkDSQO3E4Fjs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunkDSQO3E4Fjs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunkDSQO3E4Fjs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunkDSQO3E4Fjs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunkDSQO3E4Fjs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunkDSQO3E4Fjs.InvalidHexValueError; exports.InvalidInputRpcError = _chunkDSQO3E4Fjs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunkDSQO3E4Fjs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunkDSQO3E4Fjs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunkDSQO3E4Fjs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunkDSQO3E4Fjs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunkDSQO3E4Fjs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunkDSQO3E4Fjs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunkDSQO3E4Fjs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunkDSQO3E4Fjs.ParseRpcError; exports.RequestError = _chunkDSQO3E4Fjs.RequestError; exports.ResourceNotFoundRpcError = _chunkDSQO3E4Fjs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunkDSQO3E4Fjs.ResourceUnavailableRpcError; exports.RpcError = _chunkDSQO3E4Fjs.RpcError; exports.RpcRequestError = _chunkDSQO3E4Fjs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunkDSQO3E4Fjs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunkDSQO3E4Fjs.TimeoutError; exports.TransactionNotFoundError = _chunkDSQO3E4Fjs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunkDSQO3E4Fjs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunkDSQO3E4Fjs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunkDSQO3E4Fjs.UnknownRpcError; exports.UrlRequiredError = _chunkDSQO3E4Fjs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunkDSQO3E4Fjs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunkDSQO3E4Fjs.WebSocketRequestError; exports.createClient = createClient; exports.createPublicClient = createPublicClient; exports.createTestClient = createTestClient; exports.createTransport = createTransport; exports.createWalletClient = createWalletClient; exports.custom = custom; exports.fallback = fallback; exports.http = http; exports.multicall3Abi = _chunkDSQO3E4Fjs.multicall3Abi; exports.webSocket = webSocket;
388
+ exports.AbiConstructorNotFoundError = _chunkW7KWIGWOjs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunkW7KWIGWOjs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunkW7KWIGWOjs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunkW7KWIGWOjs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunkW7KWIGWOjs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunkW7KWIGWOjs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunkW7KWIGWOjs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunkW7KWIGWOjs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunkW7KWIGWOjs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunkW7KWIGWOjs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunkW7KWIGWOjs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunkW7KWIGWOjs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunkW7KWIGWOjs.BaseError; exports.BlockNotFoundError = _chunkW7KWIGWOjs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunkW7KWIGWOjs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunkW7KWIGWOjs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunkW7KWIGWOjs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunkW7KWIGWOjs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunkW7KWIGWOjs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunkW7KWIGWOjs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunkW7KWIGWOjs.HttpRequestError; exports.InternalRpcError = _chunkW7KWIGWOjs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunkW7KWIGWOjs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunkW7KWIGWOjs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunkW7KWIGWOjs.InvalidAddressError; exports.InvalidArrayError = _chunkW7KWIGWOjs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunkW7KWIGWOjs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunkW7KWIGWOjs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunkW7KWIGWOjs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunkW7KWIGWOjs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunkW7KWIGWOjs.InvalidHexValueError; exports.InvalidInputRpcError = _chunkW7KWIGWOjs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunkW7KWIGWOjs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunkW7KWIGWOjs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunkW7KWIGWOjs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunkW7KWIGWOjs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunkW7KWIGWOjs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunkW7KWIGWOjs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunkW7KWIGWOjs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunkW7KWIGWOjs.ParseRpcError; exports.RequestError = _chunkW7KWIGWOjs.RequestError; exports.ResourceNotFoundRpcError = _chunkW7KWIGWOjs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunkW7KWIGWOjs.ResourceUnavailableRpcError; exports.RpcError = _chunkW7KWIGWOjs.RpcError; exports.RpcRequestError = _chunkW7KWIGWOjs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunkW7KWIGWOjs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunkW7KWIGWOjs.TimeoutError; exports.TransactionNotFoundError = _chunkW7KWIGWOjs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunkW7KWIGWOjs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunkW7KWIGWOjs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunkW7KWIGWOjs.UnknownRpcError; exports.UrlRequiredError = _chunkW7KWIGWOjs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunkW7KWIGWOjs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunkW7KWIGWOjs.WebSocketRequestError; exports.createClient = createClient; exports.createPublicClient = createPublicClient; exports.createTestClient = createTestClient; exports.createTransport = createTransport; exports.createWalletClient = createWalletClient; exports.custom = custom; exports.fallback = fallback; exports.http = http; exports.multicall3Abi = _chunkW7KWIGWOjs.multicall3Abi; exports.webSocket = webSocket;
389
389
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -58,7 +58,7 @@ import {
58
58
  isDeterministicError,
59
59
  multicall3Abi,
60
60
  rpc
61
- } from "./chunk-PRG3BBPZ.mjs";
61
+ } from "./chunk-AKGXRZDN.mjs";
62
62
 
63
63
  // src/clients/transports/createTransport.ts
64
64
  function createTransport({
package/dist/public.js CHANGED
@@ -25,8 +25,8 @@
25
25
 
26
26
 
27
27
 
28
- var _chunkLINNE4N4js = require('./chunk-LINNE4N4.js');
29
- require('./chunk-DSQO3E4F.js');
28
+ var _chunkJY7JGKSAjs = require('./chunk-JY7JGKSA.js');
29
+ require('./chunk-W7KWIGWO.js');
30
30
 
31
31
 
32
32
 
@@ -54,5 +54,5 @@ require('./chunk-DSQO3E4F.js');
54
54
 
55
55
 
56
56
 
57
- exports.call = _chunkLINNE4N4js.call; exports.createBlockFilter = _chunkLINNE4N4js.createBlockFilter; exports.createPendingTransactionFilter = _chunkLINNE4N4js.createPendingTransactionFilter; exports.estimateGas = _chunkLINNE4N4js.estimateGas; exports.getBalance = _chunkLINNE4N4js.getBalance; exports.getBlock = _chunkLINNE4N4js.getBlock; exports.getBlockNumber = _chunkLINNE4N4js.getBlockNumber; exports.getBlockNumberCache = _chunkLINNE4N4js.getBlockNumberCache; exports.getBlockTransactionCount = _chunkLINNE4N4js.getBlockTransactionCount; exports.getBytecode = _chunkLINNE4N4js.getBytecode; exports.getChainId = _chunkLINNE4N4js.getChainId; exports.getFeeHistory = _chunkLINNE4N4js.getFeeHistory; exports.getFilterChanges = _chunkLINNE4N4js.getFilterChanges; exports.getFilterLogs = _chunkLINNE4N4js.getFilterLogs; exports.getGasPrice = _chunkLINNE4N4js.getGasPrice; exports.getLogs = _chunkLINNE4N4js.getLogs; exports.getTransaction = _chunkLINNE4N4js.getTransaction; exports.getTransactionConfirmations = _chunkLINNE4N4js.getTransactionConfirmations; exports.getTransactionCount = _chunkLINNE4N4js.getTransactionCount; exports.getTransactionReceipt = _chunkLINNE4N4js.getTransactionReceipt; exports.uninstallFilter = _chunkLINNE4N4js.uninstallFilter; exports.waitForTransactionReceipt = _chunkLINNE4N4js.waitForTransactionReceipt; exports.watchBlockNumber = _chunkLINNE4N4js.watchBlockNumber; exports.watchBlocks = _chunkLINNE4N4js.watchBlocks; exports.watchEvent = _chunkLINNE4N4js.watchEvent; exports.watchPendingTransactions = _chunkLINNE4N4js.watchPendingTransactions;
57
+ exports.call = _chunkJY7JGKSAjs.call; exports.createBlockFilter = _chunkJY7JGKSAjs.createBlockFilter; exports.createPendingTransactionFilter = _chunkJY7JGKSAjs.createPendingTransactionFilter; exports.estimateGas = _chunkJY7JGKSAjs.estimateGas; exports.getBalance = _chunkJY7JGKSAjs.getBalance; exports.getBlock = _chunkJY7JGKSAjs.getBlock; exports.getBlockNumber = _chunkJY7JGKSAjs.getBlockNumber; exports.getBlockNumberCache = _chunkJY7JGKSAjs.getBlockNumberCache; exports.getBlockTransactionCount = _chunkJY7JGKSAjs.getBlockTransactionCount; exports.getBytecode = _chunkJY7JGKSAjs.getBytecode; exports.getChainId = _chunkJY7JGKSAjs.getChainId; exports.getFeeHistory = _chunkJY7JGKSAjs.getFeeHistory; exports.getFilterChanges = _chunkJY7JGKSAjs.getFilterChanges; exports.getFilterLogs = _chunkJY7JGKSAjs.getFilterLogs; exports.getGasPrice = _chunkJY7JGKSAjs.getGasPrice; exports.getLogs = _chunkJY7JGKSAjs.getLogs; exports.getTransaction = _chunkJY7JGKSAjs.getTransaction; exports.getTransactionConfirmations = _chunkJY7JGKSAjs.getTransactionConfirmations; exports.getTransactionCount = _chunkJY7JGKSAjs.getTransactionCount; exports.getTransactionReceipt = _chunkJY7JGKSAjs.getTransactionReceipt; exports.uninstallFilter = _chunkJY7JGKSAjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkJY7JGKSAjs.waitForTransactionReceipt; exports.watchBlockNumber = _chunkJY7JGKSAjs.watchBlockNumber; exports.watchBlocks = _chunkJY7JGKSAjs.watchBlocks; exports.watchEvent = _chunkJY7JGKSAjs.watchEvent; exports.watchPendingTransactions = _chunkJY7JGKSAjs.watchPendingTransactions;
58
58
  //# sourceMappingURL=public.js.map
package/dist/public.mjs CHANGED
@@ -25,8 +25,8 @@ import {
25
25
  watchBlocks,
26
26
  watchEvent,
27
27
  watchPendingTransactions
28
- } from "./chunk-QSIX64VZ.mjs";
29
- import "./chunk-PRG3BBPZ.mjs";
28
+ } from "./chunk-BJJH7RYH.mjs";
29
+ import "./chunk-AKGXRZDN.mjs";
30
30
  export {
31
31
  call,
32
32
  createBlockFilter,
package/dist/test.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkDSQO3E4Fjs = require('./chunk-DSQO3E4F.js');
5
+ var _chunkW7KWIGWOjs = require('./chunk-W7KWIGWO.js');
6
6
 
7
7
  // src/actions/test/dropTransaction.ts
8
8
  async function dropTransaction(client, { hash }) {
@@ -32,8 +32,8 @@ async function getTxpoolStatus(client) {
32
32
  method: "txpool_status"
33
33
  });
34
34
  return {
35
- pending: _chunkDSQO3E4Fjs.hexToNumber.call(void 0, pending),
36
- queued: _chunkDSQO3E4Fjs.hexToNumber.call(void 0, queued)
35
+ pending: _chunkW7KWIGWOjs.hexToNumber.call(void 0, pending),
36
+ queued: _chunkW7KWIGWOjs.hexToNumber.call(void 0, queued)
37
37
  };
38
38
  }
39
39
 
@@ -49,7 +49,7 @@ async function impersonateAccount(client, { address }) {
49
49
  async function increaseTime(client, { seconds }) {
50
50
  return await client.request({
51
51
  method: "evm_increaseTime",
52
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, seconds)]
52
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, seconds)]
53
53
  });
54
54
  }
55
55
 
@@ -64,7 +64,7 @@ async function inspectTxpool(client) {
64
64
  async function mine(client, { blocks, interval }) {
65
65
  return await client.request({
66
66
  method: `${client.mode}_mine`,
67
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, blocks), _chunkDSQO3E4Fjs.numberToHex.call(void 0, interval || 0)]
67
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, blocks), _chunkW7KWIGWOjs.numberToHex.call(void 0, interval || 0)]
68
68
  });
69
69
  }
70
70
 
@@ -93,7 +93,7 @@ async function revert(client, { id }) {
93
93
 
94
94
  // src/actions/test/sendUnsignedTransaction.ts
95
95
  async function sendUnsignedTransaction(client, request) {
96
- const request_ = _chunkDSQO3E4Fjs.formatTransactionRequest.call(void 0, request);
96
+ const request_ = _chunkW7KWIGWOjs.formatTransactionRequest.call(void 0, request);
97
97
  const hash = await client.request({
98
98
  method: "eth_sendUnsignedTransaction",
99
99
  params: [request_]
@@ -113,7 +113,7 @@ async function setAutomine(client, enabled) {
113
113
  async function setBalance(client, { address, value }) {
114
114
  return await client.request({
115
115
  method: `${client.mode}_setBalance`,
116
- params: [address, _chunkDSQO3E4Fjs.numberToHex.call(void 0, value)]
116
+ params: [address, _chunkW7KWIGWOjs.numberToHex.call(void 0, value)]
117
117
  });
118
118
  }
119
119
 
@@ -121,7 +121,7 @@ async function setBalance(client, { address, value }) {
121
121
  async function setBlockGasLimit(client, { gasLimit }) {
122
122
  return await client.request({
123
123
  method: "evm_setBlockGasLimit",
124
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, gasLimit)]
124
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, gasLimit)]
125
125
  });
126
126
  }
127
127
 
@@ -169,7 +169,7 @@ async function setLoggingEnabled(client, enabled) {
169
169
  async function setMinGasPrice(client, { gasPrice }) {
170
170
  return await client.request({
171
171
  method: `${client.mode}_setMinGasPrice`,
172
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, gasPrice)]
172
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, gasPrice)]
173
173
  });
174
174
  }
175
175
 
@@ -177,7 +177,7 @@ async function setMinGasPrice(client, { gasPrice }) {
177
177
  async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
178
178
  return await client.request({
179
179
  method: `${client.mode}_setNextBlockBaseFeePerGas`,
180
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, baseFeePerGas)]
180
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, baseFeePerGas)]
181
181
  });
182
182
  }
183
183
 
@@ -185,7 +185,7 @@ async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
185
185
  async function setNextBlockTimestamp(client, { timestamp }) {
186
186
  return await client.request({
187
187
  method: "evm_setNextBlockTimestamp",
188
- params: [_chunkDSQO3E4Fjs.numberToHex.call(void 0, timestamp)]
188
+ params: [_chunkW7KWIGWOjs.numberToHex.call(void 0, timestamp)]
189
189
  });
190
190
  }
191
191
 
@@ -193,7 +193,7 @@ async function setNextBlockTimestamp(client, { timestamp }) {
193
193
  async function setNonce(client, { address, nonce }) {
194
194
  return await client.request({
195
195
  method: `${client.mode}_setNonce`,
196
- params: [address, _chunkDSQO3E4Fjs.numberToHex.call(void 0, nonce)]
196
+ params: [address, _chunkW7KWIGWOjs.numberToHex.call(void 0, nonce)]
197
197
  });
198
198
  }
199
199
 
@@ -211,7 +211,7 @@ async function setStorageAt(client, { address, index, value }) {
211
211
  method: `${client.mode}_setStorageAt`,
212
212
  params: [
213
213
  address,
214
- typeof index === "number" ? _chunkDSQO3E4Fjs.numberToHex.call(void 0, index) : index,
214
+ typeof index === "number" ? _chunkW7KWIGWOjs.numberToHex.call(void 0, index) : index,
215
215
  value
216
216
  ]
217
217
  });
package/dist/test.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  formatTransactionRequest,
3
3
  hexToNumber,
4
4
  numberToHex
5
- } from "./chunk-PRG3BBPZ.mjs";
5
+ } from "./chunk-AKGXRZDN.mjs";
6
6
 
7
7
  // src/actions/test/dropTransaction.ts
8
8
  async function dropTransaction(client, { hash }) {