Skip to content

Commit cbfce41

Browse files
authored
Use namehash and normalize from ethers.js (#877)
* Use namehash and normalize from ethers.js * 0.4.107
1 parent c0ba675 commit cbfce41

File tree

3 files changed

+139
-5
lines changed

3 files changed

+139
-5
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@snapshot-labs/snapshot.js",
3-
"version": "0.4.106",
3+
"version": "0.4.107",
44
"repository": "snapshot-labs/snapshot.js",
55
"license": "MIT",
66
"main": "dist/snapshot.cjs.js",
@@ -13,7 +13,7 @@
1313
"@ethersproject/address": "^5.6.1",
1414
"@ethersproject/bytes": "^5.6.1",
1515
"@ethersproject/contracts": "^5.6.2",
16-
"@ethersproject/hash": "^5.6.1",
16+
"@ethersproject/hash": "^5.7.0",
1717
"@ethersproject/providers": "^5.6.8",
1818
"@ethersproject/units": "^5.7.0",
1919
"@ethersproject/wallet": "^5.6.2",

src/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Interface } from '@ethersproject/abi';
33
import { Contract } from '@ethersproject/contracts';
44
import { isAddress } from '@ethersproject/address';
55
import { parseUnits } from '@ethersproject/units';
6-
import { hash, normalize } from '@ensdomains/eth-ens-namehash';
6+
import { namehash, ensNormalize } from '@ethersproject/hash';
77
import { jsonToGraphQLQuery } from 'json-to-graphql-query';
88
import Ajv from 'ajv';
99
import addFormats from 'ajv-formats';
@@ -324,7 +324,7 @@ export async function getEnsTextRecord(
324324
) {
325325
const ensResolvers =
326326
networks[network].ensResolvers || networks['1'].ensResolvers;
327-
const ensHash = hash(normalize(ens));
327+
const ensHash = namehash(ensNormalize(ens));
328328
const provider = getProvider(network);
329329

330330
const result = await multicall(
@@ -360,7 +360,7 @@ export async function getEnsOwner(
360360
provider
361361
);
362362
const ensNameWrapper = networks[network].ensNameWrapper;
363-
const ensHash = hash(normalize(ens));
363+
const ensHash = namehash(ensNormalize(ens));
364364
let owner = await ensRegistry.owner(ensHash);
365365
// If owner is the ENSNameWrapper contract, resolve the owner of the name
366366
if (owner === ensNameWrapper) {

yarn.lock

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,19 @@
207207
"@ethersproject/transactions" "^5.6.2"
208208
"@ethersproject/web" "^5.6.1"
209209

210+
"@ethersproject/abstract-provider@^5.7.0":
211+
version "5.7.0"
212+
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
213+
integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
214+
dependencies:
215+
"@ethersproject/bignumber" "^5.7.0"
216+
"@ethersproject/bytes" "^5.7.0"
217+
"@ethersproject/logger" "^5.7.0"
218+
"@ethersproject/networks" "^5.7.0"
219+
"@ethersproject/properties" "^5.7.0"
220+
"@ethersproject/transactions" "^5.7.0"
221+
"@ethersproject/web" "^5.7.0"
222+
210223
"@ethersproject/abstract-signer@^5.6.2":
211224
version "5.6.2"
212225
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz#491f07fc2cbd5da258f46ec539664713950b0b33"
@@ -218,6 +231,17 @@
218231
"@ethersproject/logger" "^5.6.0"
219232
"@ethersproject/properties" "^5.6.0"
220233

234+
"@ethersproject/abstract-signer@^5.7.0":
235+
version "5.7.0"
236+
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
237+
integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
238+
dependencies:
239+
"@ethersproject/abstract-provider" "^5.7.0"
240+
"@ethersproject/bignumber" "^5.7.0"
241+
"@ethersproject/bytes" "^5.7.0"
242+
"@ethersproject/logger" "^5.7.0"
243+
"@ethersproject/properties" "^5.7.0"
244+
221245
"@ethersproject/address@^5.6.1":
222246
version "5.6.1"
223247
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d"
@@ -229,13 +253,31 @@
229253
"@ethersproject/logger" "^5.6.0"
230254
"@ethersproject/rlp" "^5.6.1"
231255

256+
"@ethersproject/address@^5.7.0":
257+
version "5.7.0"
258+
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
259+
integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
260+
dependencies:
261+
"@ethersproject/bignumber" "^5.7.0"
262+
"@ethersproject/bytes" "^5.7.0"
263+
"@ethersproject/keccak256" "^5.7.0"
264+
"@ethersproject/logger" "^5.7.0"
265+
"@ethersproject/rlp" "^5.7.0"
266+
232267
"@ethersproject/base64@^5.6.1":
233268
version "5.6.1"
234269
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.1.tgz#2c40d8a0310c9d1606c2c37ae3092634b41d87cb"
235270
integrity sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==
236271
dependencies:
237272
"@ethersproject/bytes" "^5.6.1"
238273

274+
"@ethersproject/base64@^5.7.0":
275+
version "5.7.0"
276+
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
277+
integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
278+
dependencies:
279+
"@ethersproject/bytes" "^5.7.0"
280+
239281
"@ethersproject/basex@^5.6.1":
240282
version "5.6.1"
241283
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.1.tgz#badbb2f1d4a6f52ce41c9064f01eab19cc4c5305"
@@ -320,6 +362,21 @@
320362
"@ethersproject/properties" "^5.6.0"
321363
"@ethersproject/strings" "^5.6.1"
322364

365+
"@ethersproject/hash@^5.7.0":
366+
version "5.7.0"
367+
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
368+
integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
369+
dependencies:
370+
"@ethersproject/abstract-signer" "^5.7.0"
371+
"@ethersproject/address" "^5.7.0"
372+
"@ethersproject/base64" "^5.7.0"
373+
"@ethersproject/bignumber" "^5.7.0"
374+
"@ethersproject/bytes" "^5.7.0"
375+
"@ethersproject/keccak256" "^5.7.0"
376+
"@ethersproject/logger" "^5.7.0"
377+
"@ethersproject/properties" "^5.7.0"
378+
"@ethersproject/strings" "^5.7.0"
379+
323380
"@ethersproject/hdnode@^5.6.2":
324381
version "5.6.2"
325382
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.2.tgz#26f3c83a3e8f1b7985c15d1db50dc2903418b2d2"
@@ -365,6 +422,14 @@
365422
"@ethersproject/bytes" "^5.6.1"
366423
js-sha3 "0.8.0"
367424

425+
"@ethersproject/keccak256@^5.7.0":
426+
version "5.7.0"
427+
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
428+
integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
429+
dependencies:
430+
"@ethersproject/bytes" "^5.7.0"
431+
js-sha3 "0.8.0"
432+
368433
"@ethersproject/logger@^5.6.0":
369434
version "5.6.0"
370435
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a"
@@ -382,6 +447,13 @@
382447
dependencies:
383448
"@ethersproject/logger" "^5.6.0"
384449

450+
"@ethersproject/networks@^5.7.0":
451+
version "5.7.1"
452+
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
453+
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
454+
dependencies:
455+
"@ethersproject/logger" "^5.7.0"
456+
385457
"@ethersproject/pbkdf2@^5.6.1":
386458
version "5.6.1"
387459
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz#f462fe320b22c0d6b1d72a9920a3963b09eb82d1"
@@ -397,6 +469,13 @@
397469
dependencies:
398470
"@ethersproject/logger" "^5.6.0"
399471

472+
"@ethersproject/properties@^5.7.0":
473+
version "5.7.0"
474+
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
475+
integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
476+
dependencies:
477+
"@ethersproject/logger" "^5.7.0"
478+
400479
"@ethersproject/providers@^5.6.8":
401480
version "5.6.8"
402481
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.8.tgz#22e6c57be215ba5545d3a46cf759d265bb4e879d"
@@ -439,6 +518,14 @@
439518
"@ethersproject/bytes" "^5.6.1"
440519
"@ethersproject/logger" "^5.6.0"
441520

521+
"@ethersproject/rlp@^5.7.0":
522+
version "5.7.0"
523+
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
524+
integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
525+
dependencies:
526+
"@ethersproject/bytes" "^5.7.0"
527+
"@ethersproject/logger" "^5.7.0"
528+
442529
"@ethersproject/sha2@^5.6.1":
443530
version "5.6.1"
444531
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.1.tgz#211f14d3f5da5301c8972a8827770b6fd3e51656"
@@ -460,6 +547,18 @@
460547
elliptic "6.5.4"
461548
hash.js "1.1.7"
462549

550+
"@ethersproject/signing-key@^5.7.0":
551+
version "5.7.0"
552+
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
553+
integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
554+
dependencies:
555+
"@ethersproject/bytes" "^5.7.0"
556+
"@ethersproject/logger" "^5.7.0"
557+
"@ethersproject/properties" "^5.7.0"
558+
bn.js "^5.2.1"
559+
elliptic "6.5.4"
560+
hash.js "1.1.7"
561+
463562
"@ethersproject/strings@^5.6.1":
464563
version "5.6.1"
465564
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.1.tgz#dbc1b7f901db822b5cafd4ebf01ca93c373f8952"
@@ -469,6 +568,15 @@
469568
"@ethersproject/constants" "^5.6.1"
470569
"@ethersproject/logger" "^5.6.0"
471570

571+
"@ethersproject/strings@^5.7.0":
572+
version "5.7.0"
573+
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
574+
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
575+
dependencies:
576+
"@ethersproject/bytes" "^5.7.0"
577+
"@ethersproject/constants" "^5.7.0"
578+
"@ethersproject/logger" "^5.7.0"
579+
472580
"@ethersproject/transactions@^5.6.2":
473581
version "5.6.2"
474582
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.2.tgz#793a774c01ced9fe7073985bb95a4b4e57a6370b"
@@ -484,6 +592,21 @@
484592
"@ethersproject/rlp" "^5.6.1"
485593
"@ethersproject/signing-key" "^5.6.2"
486594

595+
"@ethersproject/transactions@^5.7.0":
596+
version "5.7.0"
597+
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
598+
integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
599+
dependencies:
600+
"@ethersproject/address" "^5.7.0"
601+
"@ethersproject/bignumber" "^5.7.0"
602+
"@ethersproject/bytes" "^5.7.0"
603+
"@ethersproject/constants" "^5.7.0"
604+
"@ethersproject/keccak256" "^5.7.0"
605+
"@ethersproject/logger" "^5.7.0"
606+
"@ethersproject/properties" "^5.7.0"
607+
"@ethersproject/rlp" "^5.7.0"
608+
"@ethersproject/signing-key" "^5.7.0"
609+
487610
"@ethersproject/units@^5.7.0":
488611
version "5.7.0"
489612
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
@@ -525,6 +648,17 @@
525648
"@ethersproject/properties" "^5.6.0"
526649
"@ethersproject/strings" "^5.6.1"
527650

651+
"@ethersproject/web@^5.7.0":
652+
version "5.7.1"
653+
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
654+
integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
655+
dependencies:
656+
"@ethersproject/base64" "^5.7.0"
657+
"@ethersproject/bytes" "^5.7.0"
658+
"@ethersproject/logger" "^5.7.0"
659+
"@ethersproject/properties" "^5.7.0"
660+
"@ethersproject/strings" "^5.7.0"
661+
528662
"@ethersproject/wordlists@^5.6.1":
529663
version "5.6.1"
530664
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.1.tgz#1e78e2740a8a21e9e99947e47979d72e130aeda1"

0 commit comments

Comments
 (0)