Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.

Commit 46525c3

Browse files
committed
Add contract addresses
1 parent 51e0e4c commit 46525c3

4 files changed

Lines changed: 28 additions & 10 deletions

File tree

apps/web/src/addresses/usernames.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ export const USERNAME_REGISTRAR_CONTROLLER_ADDRESSES: AddressMap = {
1313
[base.id]: '0x4cCb0BB02FCABA27e82a56646E81d8c5bC4119a5',
1414
};
1515

16+
export const USERNAME_L2_REVERSE_REGISTRAR_ADDRESSES: AddressMap = {
17+
[baseSepolia.id]: '0x00000BeEF055f7934784D6d81b6BC86665630dbA',
18+
[base.id]: '0x0000000000D8e504002cC26E3Ec46D81971C1664',
19+
};
20+
21+
export const UPGRADEABLE_REGISTRAR_CONTROLLER_ADDRESSES: AddressMap = {
22+
[baseSepolia.id]: '0x82c858CDF64b3D893Fe54962680edFDDC37e94C8',
23+
[base.id]: '0xa7d2607c6BD39Ae9521e514026CBB078405Ab322',
24+
};
25+
26+
export const UPGRADEABLE_L2_RESOLVER_ADDRESSES: AddressMap = {
27+
[baseSepolia.id]: '0x85C87e548091f204C2d0350b39ce1874f02197c6',
28+
[base.id]: '0x426fA03fB86E510d0Dd9F70335Cf102a98b10875',
29+
};
30+
1631
export const USERNAME_EA_REGISTRAR_CONTROLLER_ADDRESSES: AddressMap = {
1732
[baseSepolia.id]: '0x3a0e8c2a0a28f396a5e5b69edb2e630311f1517a',
1833
[base.id]: '0xd3e6775Ed9B7dC12B205C8E608Dc3767B9e5eFdA',

apps/web/src/hooks/useRegisterNameCallback.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { useErrors } from 'apps/web/contexts/Errors';
22
import L2ResolverAbi from 'apps/web/src/abis/L2Resolver';
3-
import { USERNAME_L2_RESOLVER_ADDRESSES } from 'apps/web/src/addresses/usernames';
3+
import {
4+
UPGRADEABLE_L2_RESOLVER_ADDRESSES,
5+
USERNAME_L2_REVERSE_REGISTRAR_ADDRESSES,
6+
} from 'apps/web/src/addresses/usernames';
47
import useBaseEnsName from 'apps/web/src/hooks/useBaseEnsName';
58
import useBasenameChain from 'apps/web/src/hooks/useBasenameChain';
69
import useCapabilitiesSafe from 'apps/web/src/hooks/useCapabilitiesSafe';
@@ -21,7 +24,6 @@ import { Dispatch, SetStateAction, useCallback, useMemo, useState } from 'react'
2124
import { encodeFunctionData, namehash } from 'viem';
2225
import { useAccount } from 'wagmi';
2326
import { secondsInYears } from 'apps/web/src/utils/secondsInYears';
24-
import UpgradeableRegistrarControllerAbi from 'apps/web/src/abis/UpgradeableRegistrarControllerAbi';
2527
import L2ReverseRegistrarAbi from 'apps/web/src/abis/L2ReverseRegistrarAbi';
2628

2729
type UseRegisterNameCallbackReturnType = {
@@ -116,7 +118,7 @@ export function useRegisterNameCallback(
116118
name: normalizedName, // The name being registered.
117119
owner: address, // The address of the owner for the name.
118120
duration: secondsInYears(years), // The duration of the registration in seconds.
119-
resolver: USERNAME_L2_RESOLVER_ADDRESSES[basenameChain.id], // The address of the resolver to set for this name.
121+
resolver: UPGRADEABLE_L2_RESOLVER_ADDRESSES[basenameChain.id], // The address of the resolver to set for this name.
120122
data: [addressData, baseCointypeData, nameData], // Multicallable data bytes for setting records in the associated resolver upon registration.
121123
reverseRecord, // Bool to decide whether to set this name as the "primary" name for the `owner`.
122124
coinTypes: [],
@@ -137,7 +139,7 @@ export function useRegisterNameCallback(
137139
await initiateBatchCalls({
138140
contracts: [
139141
{
140-
abi: UpgradeableRegistrarControllerAbi,
142+
abi: REGISTER_CONTRACT_ABI,
141143
address: REGISTER_CONTRACT_ADDRESSES[basenameChain.id],
142144
functionName: isDiscounted ? 'discountedRegister' : 'register',
143145
args: isDiscounted
@@ -149,7 +151,7 @@ export function useRegisterNameCallback(
149151
? [
150152
{
151153
abi: L2ReverseRegistrarAbi,
152-
address: USERNAME_L2_RESOLVER_ADDRESSES[basenameChain.id],
154+
address: USERNAME_L2_REVERSE_REGISTRAR_ADDRESSES[basenameChain.id],
153155
functionName: 'setName',
154156
args: [normalizedName],
155157
},

apps/web/src/utils/proofs/sybil_resistance.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import {
3535
} from 'viem';
3636
import { sign } from 'viem/accounts';
3737
import { base, baseSepolia } from 'viem/chains';
38+
import UpgradeableRegistrarControllerAbi from 'apps/web/src/abis/UpgradeableRegistrarControllerAbi';
3839

3940
const EXPIRY = process.env.USERNAMES_SIGNATURE_EXPIRATION_SECONDS ?? '30';
4041
const previousClaimsKVPrefix = 'username:claims:';
@@ -77,7 +78,7 @@ export async function hasRegisteredWithDiscount(
7778

7879
return publicClient.readContract({
7980
address: REGISTER_CONTRACT_ADDRESSES[chainId],
80-
abi: RegistrarControllerABI,
81+
abi: UpgradeableRegistrarControllerAbi,
8182
functionName: 'hasRegisteredWithDiscount',
8283
args: [addresses],
8384
});

apps/web/src/utils/usernames.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,15 @@ import {
1111
sha256,
1212
} from 'viem';
1313
import { normalize } from 'viem/ens';
14-
import RegistrarControllerABI from 'apps/web/src/abis/RegistrarControllerABI';
1514
import L2ResolverAbi from 'apps/web/src/abis/L2Resolver';
1615
import RegistryAbi from 'apps/web/src/abis/RegistryAbi';
1716
import BaseRegistrarAbi from 'apps/web/src/abis/BaseRegistrarAbi';
1817
import { base, baseSepolia, mainnet } from 'viem/chains';
1918
import { Basename } from '@coinbase/onchainkit/identity';
2019
import {
20+
UPGRADEABLE_REGISTRAR_CONTROLLER_ADDRESSES,
2121
USERNAME_BASE_REGISTRAR_ADDRESSES,
2222
USERNAME_BASE_REGISTRY_ADDRESSES,
23-
USERNAME_REGISTRAR_CONTROLLER_ADDRESSES,
2423
} from 'apps/web/src/addresses/usernames';
2524

2625
import {
@@ -56,6 +55,7 @@ import {
5655
ALLOWED_IMAGE_TYPE,
5756
MAX_IMAGE_SIZE_IN_MB,
5857
} from 'apps/web/app/(basenames)/api/basenames/avatar/ipfsUpload/route';
58+
import UpgradeableRegistrarControllerAbi from 'apps/web/src/abis/UpgradeableRegistrarControllerAbi';
5959

6060
export const USERNAME_MIN_CHARACTER_LENGTH = 3;
6161
export const USERNAME_MAX_CHARACTER_LENGTH = 20;
@@ -762,9 +762,9 @@ export const getBasenameImage = (username: string) => {
762762

763763
export const USERNAMES_PINNED_CASTS_ENABLED =
764764
process.env.NEXT_PUBLIC_USERNAMES_PINNED_CASTS_ENABLED === 'true';
765-
export const REGISTER_CONTRACT_ABI = RegistrarControllerABI;
765+
export const REGISTER_CONTRACT_ABI = UpgradeableRegistrarControllerAbi;
766766

767-
export const REGISTER_CONTRACT_ADDRESSES = USERNAME_REGISTRAR_CONTROLLER_ADDRESSES;
767+
export const REGISTER_CONTRACT_ADDRESSES = UPGRADEABLE_REGISTRAR_CONTROLLER_ADDRESSES;
768768

769769
export const isBasenameRenewalsKilled = process.env.NEXT_PUBLIC_KILL_BASENAMES_RENEWALS === 'true';
770770

0 commit comments

Comments
 (0)