Skip to content

Commit 1d21a9c

Browse files
committed
ENS: add coinType param to reverse resolver
Update generated UniversalResolver reverse read to include a coinType (uint256) parameter and new function selector; adjust FN_INPUTS/FN_OUTPUTS and encode/read params accordingly. Update resolve-name to call the new reverse signature (pass the raw address as reverseName and coinType: 60n), remove packetToBytes/toHex usage and unused imports, simplify error handling, and return the resolved name or null.
1 parent 83198b2 commit 1d21a9c

3 files changed

Lines changed: 25 additions & 24 deletions

File tree

.changeset/every-donuts-stop.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
ENS: add coinType param to reverse resolver

packages/thirdweb/src/extensions/ens/__generated__/UniversalResolver/read/reverse.ts

Lines changed: 14 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/thirdweb/src/extensions/ens/resolve-name.ts

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import { ethereum } from "../../chains/chain-definitions/ethereum.js";
33
import type { Chain } from "../../chains/types.js";
44
import type { ThirdwebClient } from "../../client/client.js";
55
import { getContract } from "../../contract/contract.js";
6-
import { toHex } from "../../utils/encoding/hex.js";
7-
import { packetToBytes } from "../../utils/ens/packetToBytes.js";
86
import { withCache } from "../../utils/promise/withCache.js";
97
import { reverse } from "./__generated__/UniversalResolver/read/reverse.js";
108
import { UNIVERSAL_RESOLVER_ADDRESS } from "./constants.js";
@@ -44,25 +42,15 @@ export async function resolveName(options: ResolveNameOptions) {
4442
client,
4543
});
4644

47-
const reverseName = toHex(
48-
packetToBytes(`${address.toLowerCase().substring(2)}.addr.reverse`),
49-
);
50-
51-
const [name, resolvedAddress] = await reverse({
45+
const [name] = await reverse({
5246
contract,
53-
reverseName,
54-
}).catch((e) => {
55-
if ("data" in e && e.data === "0x7199966d") {
56-
return [null, address] as const;
57-
}
58-
throw e;
47+
reverseName: address as `0x${string}`,
48+
coinType: 60n,
49+
}).catch(() => {
50+
return [null] as const;
5951
});
6052

61-
if (address.toLowerCase() !== resolvedAddress.toLowerCase()) {
62-
return null;
63-
}
64-
65-
return name;
53+
return name || null;
6654
},
6755
{
6856
cacheKey: `ens:name:${resolverChain?.id || 1}:${address}`,

0 commit comments

Comments
 (0)