@ensnode/datasources 1.13.0 → 1.14.0

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.
@@ -0,0 +1,181 @@
1
+ import * as viem_accounts from 'viem/accounts';
2
+ import * as viem from 'viem';
3
+ import { Hex } from 'viem';
4
+
5
+ /**
6
+ * Deterministic contract addresses for the ENS contracts-v2 devnet used by ens-test-env.
7
+ * Keys use the same PascalCase names as the contracts-v2 contract table output.
8
+ * Use `pnpm devnet` to see actual data in devnet
9
+ *
10
+ * @see docker/services/devnet.yml
11
+ */
12
+ declare const contracts: {
13
+ readonly DNSSECGatewayProvider: "0x5fbdb2315678afecb367f032d93f642f64180aa3";
14
+ readonly DNSTXTResolver: "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512";
15
+ readonly DNSAliasResolver: "0x322813fd9a801c5507c9de605d63cea4f2ce6c44";
16
+ readonly DNSTLDResolver: "0x998abeb3e57409262ae5b751f60747921b33613e";
17
+ readonly OffchainDNSResolver: "0x851356ae760d987e095750cceb3bc6014560891c";
18
+ readonly SimplePublicSuffixList: "0xf5059a5d33d5853360d16c683c16e67980206f36";
19
+ readonly DNSRegistrar: "0xf4b146fba71f41e0592668ffbf264f1d186b2ca8";
20
+ readonly ExtendedDNSResolver: "0x86a2ee8faf9a840f7a2c64ca3d51209f9a02081d";
21
+ readonly LegacyENSRegistry: "0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0";
22
+ readonly ENSRegistry: "0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9";
23
+ readonly RootRegistry: "0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6";
24
+ readonly ETHRegistry: "0x8f86403a4de0bb5791fa46b8e795c547942fe4cf";
25
+ readonly ReverseRegistry: "0xcd8a1c3ba11cf5ecfa6267617243239504a98d90";
26
+ readonly BaseRegistrarImplementation: "0x8a791620dd6260079bf849dc5567adc3f2fdc318";
27
+ readonly ETHRegistrar: "0x21df544947ba3e8b3c32561399e88b52dc8b2823";
28
+ readonly LegacyETHRegistrarController: "0x46b142dd1e924fab83ecc3c08e4d46e82f005e0e";
29
+ readonly WrappedETHRegistrarController: "0x253553366da8546fc250f225fe3d25d0c782303b";
30
+ readonly ETHRegistrarController: "0x367761085bf3c12e5da2df99ac6e1a824612b8fb";
31
+ readonly BatchRegistrar: "0xdc11f7e700a4c898ae5caddb1082cffa76512add";
32
+ readonly ETHReverseRegistrar: "0x59b670e9fa9d0a427751af201d676719a970857b";
33
+ readonly DefaultReverseRegistrar: "0x4c5859f0f772848b2d91f1d83e2fe57935348029";
34
+ readonly DefaultReverseResolver: "0x5f3f1dbd7b74c6b46e8c44f98792a1daf8d69154";
35
+ readonly ETHReverseResolver: "0x7bc06c482dead17c0e297afbc32f6e63d3846650";
36
+ readonly ReverseRegistrar: "0x162a433068f51e18b7d13932f27e66a3f99e6890";
37
+ readonly L2ReverseRegistrar: "0x4631bcabd6df18d94796344963cb60d44a4136b6";
38
+ readonly ENSV1Resolver: "0x5fc8d32690cc91d4c39d9d3abcbd16989f875707";
39
+ readonly ENSV2Resolver: "0xc6e7df5e7b4f2a278906862b61205850344d4e7d";
40
+ readonly OwnedResolver: "0x68b1d87f95878fe05b998f19b66f4baba5de1aed";
41
+ readonly PermissionedResolver: "0x5ea90acf6555276660760fe629d72932c91f4b8e";
42
+ readonly LegacyPublicResolver: "0xa4899d35897033b927acfcf422bc745916139776";
43
+ readonly PublicResolver: "0xf953b3a269d80e3eb0f2947630da976b896a8c5b";
44
+ readonly PermissionedResolverImpl: "0x809d550fca64d94bd9f66e60752a544199cfac3d";
45
+ readonly UniversalResolver: "0xaa292e8611adf267e563f334ee42320ac96d0463";
46
+ readonly UniversalResolverV2: "0x0355b7b8cb128fa5692729ab3aaa199c1753f726";
47
+ readonly UpgradableUniversalResolverProxy: "0x202cce504e04bed6fc0521238ddf04bc9e8e15ab";
48
+ readonly BatchGatewayProvider: "0xdc64a140aa3e981100a9beca4e685f962f0cf6c9";
49
+ readonly HCAFactory: "0x0165878a594ca255338adfa4d48449f69242eb8f";
50
+ readonly SimpleRegistryMetadata: "0xa513e6e4b8f2a923d98304ec87f64353c4d5c853";
51
+ readonly Root: "0x610178da211fef7d417bc0e6fed39f05609ad788";
52
+ readonly RootSecurityController: "0xb7f8bc63bbcad18155201308c8f3540b07f84f5e";
53
+ readonly RegistrarSecurityController: "0x0b306bf915c4d645ff596e518faf3f9669b97016";
54
+ readonly VerifiableFactory: "0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1";
55
+ readonly NameWrapper: "0x5081a39b8a5f0e35a8d959395a630b68b74dd30f";
56
+ readonly UnlockedMigrationController: "0xdbc43ba45381e02825b14322cddd15ec4b3164e6";
57
+ readonly WrapperRegistry: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43";
58
+ readonly LockedMigrationController: "0x36b58f5c1969b7b6591d752ea6f5486d069010ab";
59
+ readonly UserRegistryImpl: "0x7969c5ed335650692bc04293b07f5bf2e7a673c0";
60
+ readonly StaticMetadataService: "0xb0d4afd8879ed9f52b28595d31b441d079b2ca07";
61
+ readonly Multicall3: "0xca11bde05977b3631167028862be2a173976ca11";
62
+ readonly MigrationHelper: "0x5c74c94173f05da1720953407cbb920f3df9f887";
63
+ readonly RSASHA1Algorithm: "0xa85233c63b9ee964add6f2cffe00fd84eb32338f";
64
+ readonly RSASHA256Algorithm: "0x4a679253410272dd5232b3ff7cf5dbb88f295319";
65
+ readonly P256SHA256Algorithm: "0x7a2088a1bfc9d81c55368ae168c2c02570cb814f";
66
+ readonly SHA1Digest: "0x09635f643e140090a9a8dcd712ed6285858cebef";
67
+ readonly SHA256Digest: "0xc5a5c42992decbae36851359345fe25997f5c42d";
68
+ readonly DNSSECImpl: "0x67d269191c92caf3cd7723f116c85e6e9bf55933";
69
+ readonly StandardRentPriceOracle: "0x1429859428c0abc9c2c47c8ee9fbaf82cfa0f20f";
70
+ readonly StaticBulkRenewal: "0x7a9ec1d04904907de0ed7b6839ccdd59c3716ac9";
71
+ readonly DummyOracle: "0x2b0d36facd61b71cc05ab8f3d2355ec3631c0dd5";
72
+ readonly ExponentialPremiumPriceOracle: "0xfbc22278a96299d91d41c453234d97b4f5eb9b2d";
73
+ readonly MockUSDC: "0xfd471836031dc5108809d173a067e8486b9047a3";
74
+ readonly MockDAI: "0xcbeaf3bde82155f56486fb5a1072cb8baaf547cc";
75
+ };
76
+ /**
77
+ * Named accounts from the ens-test-env devnet.
78
+ * They are NOT real Ethereum Mainnet or testnet addresses.
79
+ * You can use `pnpm devnet` to see actual data in devnet
80
+ *
81
+ * @see https://github.com/ensdomains/ens-test-env
82
+ */
83
+ declare const accounts: {
84
+ readonly deployer: {
85
+ address: `0x${string}`;
86
+ resolver: `0x${string}`;
87
+ nonceManager?: viem.NonceManager | undefined;
88
+ sign: (parameters: {
89
+ hash: viem.Hash;
90
+ }) => Promise<Hex>;
91
+ signAuthorization?: ((parameters: viem.AuthorizationRequest) => Promise<viem_accounts.SignAuthorizationReturnType>) | undefined | undefined;
92
+ signMessage: ({ message }: {
93
+ message: viem.SignableMessage;
94
+ }) => Promise<Hex>;
95
+ signTransaction: <serializer extends viem.SerializeTransactionFn<viem.TransactionSerializable> = viem.SerializeTransactionFn<viem.TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
96
+ serializer?: serializer | undefined;
97
+ } | undefined) => Promise<Hex>;
98
+ signTypedData: <const typedData extends viem.TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: viem.TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
99
+ publicKey: Hex;
100
+ source: "hd";
101
+ type: "local";
102
+ getHdKey: () => viem.HDKey;
103
+ };
104
+ readonly owner: {
105
+ address: `0x${string}`;
106
+ resolver: `0x${string}`;
107
+ nonceManager?: viem.NonceManager | undefined;
108
+ sign: (parameters: {
109
+ hash: viem.Hash;
110
+ }) => Promise<Hex>;
111
+ signAuthorization?: ((parameters: viem.AuthorizationRequest) => Promise<viem_accounts.SignAuthorizationReturnType>) | undefined | undefined;
112
+ signMessage: ({ message }: {
113
+ message: viem.SignableMessage;
114
+ }) => Promise<Hex>;
115
+ signTransaction: <serializer extends viem.SerializeTransactionFn<viem.TransactionSerializable> = viem.SerializeTransactionFn<viem.TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
116
+ serializer?: serializer | undefined;
117
+ } | undefined) => Promise<Hex>;
118
+ signTypedData: <const typedData extends viem.TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: viem.TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
119
+ publicKey: Hex;
120
+ source: "hd";
121
+ type: "local";
122
+ getHdKey: () => viem.HDKey;
123
+ };
124
+ readonly user: {
125
+ address: `0x${string}`;
126
+ resolver: `0x${string}`;
127
+ nonceManager?: viem.NonceManager | undefined;
128
+ sign: (parameters: {
129
+ hash: viem.Hash;
130
+ }) => Promise<Hex>;
131
+ signAuthorization?: ((parameters: viem.AuthorizationRequest) => Promise<viem_accounts.SignAuthorizationReturnType>) | undefined | undefined;
132
+ signMessage: ({ message }: {
133
+ message: viem.SignableMessage;
134
+ }) => Promise<Hex>;
135
+ signTransaction: <serializer extends viem.SerializeTransactionFn<viem.TransactionSerializable> = viem.SerializeTransactionFn<viem.TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
136
+ serializer?: serializer | undefined;
137
+ } | undefined) => Promise<Hex>;
138
+ signTypedData: <const typedData extends viem.TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: viem.TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
139
+ publicKey: Hex;
140
+ source: "hd";
141
+ type: "local";
142
+ getHdKey: () => viem.HDKey;
143
+ };
144
+ readonly user2: {
145
+ address: `0x${string}`;
146
+ resolver: `0x${string}`;
147
+ nonceManager?: viem.NonceManager | undefined;
148
+ sign: (parameters: {
149
+ hash: viem.Hash;
150
+ }) => Promise<Hex>;
151
+ signAuthorization?: ((parameters: viem.AuthorizationRequest) => Promise<viem_accounts.SignAuthorizationReturnType>) | undefined | undefined;
152
+ signMessage: ({ message }: {
153
+ message: viem.SignableMessage;
154
+ }) => Promise<Hex>;
155
+ signTransaction: <serializer extends viem.SerializeTransactionFn<viem.TransactionSerializable> = viem.SerializeTransactionFn<viem.TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
156
+ serializer?: serializer | undefined;
157
+ } | undefined) => Promise<Hex>;
158
+ signTypedData: <const typedData extends viem.TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: viem.TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
159
+ publicKey: Hex;
160
+ source: "hd";
161
+ type: "local";
162
+ getHdKey: () => viem.HDKey;
163
+ };
164
+ };
165
+ /**
166
+ * Fixtures for seeding the devnet with test data.
167
+ */
168
+ declare const addresses: {
169
+ readonly one: `0x${string}`;
170
+ };
171
+ declare const fixtures: {
172
+ readonly abiBytes: `0x${string}`;
173
+ readonly fourBytesInterface: "0x11100111";
174
+ readonly publicKeyX: `0x${string}`;
175
+ readonly publicKeyY: `0x${string}`;
176
+ readonly contenthash: `0x${string}`;
177
+ readonly bitcoinAddress: `0x${string}`;
178
+ readonly litecoinAddress: `0x${string}`;
179
+ };
180
+
181
+ export { accounts, addresses, contracts, fixtures };
@@ -0,0 +1,110 @@
1
+ // src/devnet/constants.ts
2
+ import { asNormalizedAddress, toNormalizedAddress } from "enssdk";
3
+ import { mnemonicToAccount } from "viem/accounts";
4
+ var contracts = {
5
+ // -- DNS --
6
+ DNSSECGatewayProvider: "0x5fbdb2315678afecb367f032d93f642f64180aa3",
7
+ DNSTXTResolver: "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
8
+ DNSAliasResolver: "0x322813fd9a801c5507c9de605d63cea4f2ce6c44",
9
+ DNSTLDResolver: "0x998abeb3e57409262ae5b751f60747921b33613e",
10
+ OffchainDNSResolver: "0x851356ae760d987e095750cceb3bc6014560891c",
11
+ SimplePublicSuffixList: "0xf5059a5d33d5853360d16c683c16e67980206f36",
12
+ DNSRegistrar: "0xf4b146fba71f41e0592668ffbf264f1d186b2ca8",
13
+ ExtendedDNSResolver: "0x86a2ee8faf9a840f7a2c64ca3d51209f9a02081d",
14
+ // -- Registries --
15
+ LegacyENSRegistry: "0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0",
16
+ ENSRegistry: "0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9",
17
+ RootRegistry: "0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6",
18
+ ETHRegistry: "0x8f86403a4de0bb5791fa46b8e795c547942fe4cf",
19
+ ReverseRegistry: "0xcd8a1c3ba11cf5ecfa6267617243239504a98d90",
20
+ // -- Registrars & Controllers --
21
+ BaseRegistrarImplementation: "0x8a791620dd6260079bf849dc5567adc3f2fdc318",
22
+ ETHRegistrar: "0x21df544947ba3e8b3c32561399e88b52dc8b2823",
23
+ LegacyETHRegistrarController: "0x46b142dd1e924fab83ecc3c08e4d46e82f005e0e",
24
+ WrappedETHRegistrarController: "0x253553366da8546fc250f225fe3d25d0c782303b",
25
+ ETHRegistrarController: "0x367761085bf3c12e5da2df99ac6e1a824612b8fb",
26
+ BatchRegistrar: "0xdc11f7e700a4c898ae5caddb1082cffa76512add",
27
+ // -- Reverse Resolution --
28
+ ETHReverseRegistrar: "0x59b670e9fa9d0a427751af201d676719a970857b",
29
+ DefaultReverseRegistrar: "0x4c5859f0f772848b2d91f1d83e2fe57935348029",
30
+ DefaultReverseResolver: "0x5f3f1dbd7b74c6b46e8c44f98792a1daf8d69154",
31
+ ETHReverseResolver: "0x7bc06c482dead17c0e297afbc32f6e63d3846650",
32
+ ReverseRegistrar: "0x162a433068f51e18b7d13932f27e66a3f99e6890",
33
+ L2ReverseRegistrar: "0x4631bcabd6df18d94796344963cb60d44a4136b6",
34
+ // -- Resolvers --
35
+ ENSV1Resolver: "0x5fc8d32690cc91d4c39d9d3abcbd16989f875707",
36
+ ENSV2Resolver: "0xc6e7df5e7b4f2a278906862b61205850344d4e7d",
37
+ OwnedResolver: "0x68b1d87f95878fe05b998f19b66f4baba5de1aed",
38
+ PermissionedResolver: "0x5ea90acf6555276660760fe629d72932c91f4b8e",
39
+ LegacyPublicResolver: "0xa4899d35897033b927acfcf422bc745916139776",
40
+ PublicResolver: "0xf953b3a269d80e3eb0f2947630da976b896a8c5b",
41
+ PermissionedResolverImpl: "0x809d550fca64d94bd9f66e60752a544199cfac3d",
42
+ UniversalResolver: "0xaa292e8611adf267e563f334ee42320ac96d0463",
43
+ UniversalResolverV2: "0x0355b7b8cb128fa5692729ab3aaa199c1753f726",
44
+ UpgradableUniversalResolverProxy: "0x202cce504e04bed6fc0521238ddf04bc9e8e15ab",
45
+ // -- Infrastructure --
46
+ BatchGatewayProvider: "0xdc64a140aa3e981100a9beca4e685f962f0cf6c9",
47
+ HCAFactory: "0x0165878a594ca255338adfa4d48449f69242eb8f",
48
+ SimpleRegistryMetadata: "0xa513e6e4b8f2a923d98304ec87f64353c4d5c853",
49
+ Root: "0x610178da211fef7d417bc0e6fed39f05609ad788",
50
+ RootSecurityController: "0xb7f8bc63bbcad18155201308c8f3540b07f84f5e",
51
+ RegistrarSecurityController: "0x0b306bf915c4d645ff596e518faf3f9669b97016",
52
+ VerifiableFactory: "0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1",
53
+ NameWrapper: "0x5081a39b8a5f0e35a8d959395a630b68b74dd30f",
54
+ UnlockedMigrationController: "0xdbc43ba45381e02825b14322cddd15ec4b3164e6",
55
+ WrapperRegistry: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43",
56
+ LockedMigrationController: "0x36b58f5c1969b7b6591d752ea6f5486d069010ab",
57
+ UserRegistryImpl: "0x7969c5ed335650692bc04293b07f5bf2e7a673c0",
58
+ StaticMetadataService: "0xb0d4afd8879ed9f52b28595d31b441d079b2ca07",
59
+ Multicall3: "0xca11bde05977b3631167028862be2a173976ca11",
60
+ MigrationHelper: "0x5c74c94173f05da1720953407cbb920f3df9f887",
61
+ // -- DNSSEC Algorithms & Digests --
62
+ RSASHA1Algorithm: "0xa85233c63b9ee964add6f2cffe00fd84eb32338f",
63
+ RSASHA256Algorithm: "0x4a679253410272dd5232b3ff7cf5dbb88f295319",
64
+ P256SHA256Algorithm: "0x7a2088a1bfc9d81c55368ae168c2c02570cb814f",
65
+ SHA1Digest: "0x09635f643e140090a9a8dcd712ed6285858cebef",
66
+ SHA256Digest: "0xc5a5c42992decbae36851359345fe25997f5c42d",
67
+ DNSSECImpl: "0x67d269191c92caf3cd7723f116c85e6e9bf55933",
68
+ // -- Pricing --
69
+ StandardRentPriceOracle: "0x1429859428c0abc9c2c47c8ee9fbaf82cfa0f20f",
70
+ StaticBulkRenewal: "0x7a9ec1d04904907de0ed7b6839ccdd59c3716ac9",
71
+ DummyOracle: "0x2b0d36facd61b71cc05ab8f3d2355ec3631c0dd5",
72
+ ExponentialPremiumPriceOracle: "0xfbc22278a96299d91d41c453234d97b4f5eb9b2d",
73
+ // -- Mock Tokens --
74
+ MockUSDC: "0xfd471836031dc5108809d173a067e8486b9047a3",
75
+ MockDAI: "0xcbeaf3bde82155f56486fb5a1072cb8baaf547cc"
76
+ };
77
+ var mnemonic = "test test test test test test test test test test test junk";
78
+ function createAccount(addressIndex, resolver) {
79
+ const account = mnemonicToAccount(mnemonic, { addressIndex });
80
+ return {
81
+ ...account,
82
+ address: toNormalizedAddress(account.address),
83
+ resolver
84
+ };
85
+ }
86
+ var accounts = {
87
+ deployer: createAccount(0, asNormalizedAddress("0x1f2ce8886692b90f5754a7d428a2336800a5911b")),
88
+ owner: createAccount(1, asNormalizedAddress("0x5ea90acf6555276660760fe629d72932c91f4b8e")),
89
+ user: createAccount(2, asNormalizedAddress("0xb63ae54076c1c281ec9395b290add470e69140c6")),
90
+ user2: createAccount(3, asNormalizedAddress("0x5380066832977eb36353fd2b01fb92e751636b84"))
91
+ };
92
+ var addresses = {
93
+ one: asNormalizedAddress(`0x${"1".repeat(40)}`)
94
+ };
95
+ var fixtures = {
96
+ abiBytes: `0x${"01".repeat(32)}`,
97
+ fourBytesInterface: "0x11100111",
98
+ publicKeyX: `0x${"02".repeat(32)}`,
99
+ publicKeyY: `0x${"03".repeat(32)}`,
100
+ contenthash: `0x${"04".repeat(32)}`,
101
+ bitcoinAddress: `0x${"05".repeat(25)}`,
102
+ litecoinAddress: `0x${"06".repeat(25)}`
103
+ };
104
+ export {
105
+ accounts,
106
+ addresses,
107
+ contracts,
108
+ fixtures
109
+ };
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devnet/constants.ts"],"sourcesContent":["import type { NormalizedAddress } from \"enssdk\";\nimport { asNormalizedAddress, toNormalizedAddress } from \"enssdk\";\nimport type { Hex } from \"viem\";\nimport { mnemonicToAccount } from \"viem/accounts\";\n\n/**\n * Deterministic contract addresses for the ENS contracts-v2 devnet used by ens-test-env.\n * Keys use the same PascalCase names as the contracts-v2 contract table output.\n * Use `pnpm devnet` to see actual data in devnet\n *\n * @see docker/services/devnet.yml\n */\nexport const contracts = {\n // -- DNS --\n DNSSECGatewayProvider: \"0x5fbdb2315678afecb367f032d93f642f64180aa3\",\n DNSTXTResolver: \"0xe7f1725e7734ce288f8367e1bb143e90bb3f0512\",\n DNSAliasResolver: \"0x322813fd9a801c5507c9de605d63cea4f2ce6c44\",\n DNSTLDResolver: \"0x998abeb3e57409262ae5b751f60747921b33613e\",\n OffchainDNSResolver: \"0x851356ae760d987e095750cceb3bc6014560891c\",\n SimplePublicSuffixList: \"0xf5059a5d33d5853360d16c683c16e67980206f36\",\n DNSRegistrar: \"0xf4b146fba71f41e0592668ffbf264f1d186b2ca8\",\n ExtendedDNSResolver: \"0x86a2ee8faf9a840f7a2c64ca3d51209f9a02081d\",\n\n // -- Registries --\n LegacyENSRegistry: \"0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0\",\n ENSRegistry: \"0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9\",\n RootRegistry: \"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6\",\n ETHRegistry: \"0x8f86403a4de0bb5791fa46b8e795c547942fe4cf\",\n ReverseRegistry: \"0xcd8a1c3ba11cf5ecfa6267617243239504a98d90\",\n\n // -- Registrars & Controllers --\n BaseRegistrarImplementation: \"0x8a791620dd6260079bf849dc5567adc3f2fdc318\",\n ETHRegistrar: \"0x21df544947ba3e8b3c32561399e88b52dc8b2823\",\n LegacyETHRegistrarController: \"0x46b142dd1e924fab83ecc3c08e4d46e82f005e0e\",\n WrappedETHRegistrarController: \"0x253553366da8546fc250f225fe3d25d0c782303b\",\n ETHRegistrarController: \"0x367761085bf3c12e5da2df99ac6e1a824612b8fb\",\n BatchRegistrar: \"0xdc11f7e700a4c898ae5caddb1082cffa76512add\",\n\n // -- Reverse Resolution --\n ETHReverseRegistrar: \"0x59b670e9fa9d0a427751af201d676719a970857b\",\n DefaultReverseRegistrar: \"0x4c5859f0f772848b2d91f1d83e2fe57935348029\",\n DefaultReverseResolver: \"0x5f3f1dbd7b74c6b46e8c44f98792a1daf8d69154\",\n ETHReverseResolver: \"0x7bc06c482dead17c0e297afbc32f6e63d3846650\",\n ReverseRegistrar: \"0x162a433068f51e18b7d13932f27e66a3f99e6890\",\n L2ReverseRegistrar: \"0x4631bcabd6df18d94796344963cb60d44a4136b6\",\n\n // -- Resolvers --\n ENSV1Resolver: \"0x5fc8d32690cc91d4c39d9d3abcbd16989f875707\",\n ENSV2Resolver: \"0xc6e7df5e7b4f2a278906862b61205850344d4e7d\",\n OwnedResolver: \"0x68b1d87f95878fe05b998f19b66f4baba5de1aed\",\n PermissionedResolver: \"0x5ea90acf6555276660760fe629d72932c91f4b8e\",\n LegacyPublicResolver: \"0xa4899d35897033b927acfcf422bc745916139776\",\n PublicResolver: \"0xf953b3a269d80e3eb0f2947630da976b896a8c5b\",\n PermissionedResolverImpl: \"0x809d550fca64d94bd9f66e60752a544199cfac3d\",\n UniversalResolver: \"0xaa292e8611adf267e563f334ee42320ac96d0463\",\n UniversalResolverV2: \"0x0355b7b8cb128fa5692729ab3aaa199c1753f726\",\n UpgradableUniversalResolverProxy: \"0x202cce504e04bed6fc0521238ddf04bc9e8e15ab\",\n\n // -- Infrastructure --\n BatchGatewayProvider: \"0xdc64a140aa3e981100a9beca4e685f962f0cf6c9\",\n HCAFactory: \"0x0165878a594ca255338adfa4d48449f69242eb8f\",\n SimpleRegistryMetadata: \"0xa513e6e4b8f2a923d98304ec87f64353c4d5c853\",\n Root: \"0x610178da211fef7d417bc0e6fed39f05609ad788\",\n RootSecurityController: \"0xb7f8bc63bbcad18155201308c8f3540b07f84f5e\",\n RegistrarSecurityController: \"0x0b306bf915c4d645ff596e518faf3f9669b97016\",\n VerifiableFactory: \"0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1\",\n NameWrapper: \"0x5081a39b8a5f0e35a8d959395a630b68b74dd30f\",\n UnlockedMigrationController: \"0xdbc43ba45381e02825b14322cddd15ec4b3164e6\",\n WrapperRegistry: \"0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43\",\n LockedMigrationController: \"0x36b58f5c1969b7b6591d752ea6f5486d069010ab\",\n UserRegistryImpl: \"0x7969c5ed335650692bc04293b07f5bf2e7a673c0\",\n StaticMetadataService: \"0xb0d4afd8879ed9f52b28595d31b441d079b2ca07\",\n Multicall3: \"0xca11bde05977b3631167028862be2a173976ca11\",\n MigrationHelper: \"0x5c74c94173f05da1720953407cbb920f3df9f887\",\n\n // -- DNSSEC Algorithms & Digests --\n RSASHA1Algorithm: \"0xa85233c63b9ee964add6f2cffe00fd84eb32338f\",\n RSASHA256Algorithm: \"0x4a679253410272dd5232b3ff7cf5dbb88f295319\",\n P256SHA256Algorithm: \"0x7a2088a1bfc9d81c55368ae168c2c02570cb814f\",\n SHA1Digest: \"0x09635f643e140090a9a8dcd712ed6285858cebef\",\n SHA256Digest: \"0xc5a5c42992decbae36851359345fe25997f5c42d\",\n DNSSECImpl: \"0x67d269191c92caf3cd7723f116c85e6e9bf55933\",\n\n // -- Pricing --\n StandardRentPriceOracle: \"0x1429859428c0abc9c2c47c8ee9fbaf82cfa0f20f\",\n StaticBulkRenewal: \"0x7a9ec1d04904907de0ed7b6839ccdd59c3716ac9\",\n DummyOracle: \"0x2b0d36facd61b71cc05ab8f3d2355ec3631c0dd5\",\n ExponentialPremiumPriceOracle: \"0xfbc22278a96299d91d41c453234d97b4f5eb9b2d\",\n\n // -- Mock Tokens --\n MockUSDC: \"0xfd471836031dc5108809d173a067e8486b9047a3\",\n MockDAI: \"0xcbeaf3bde82155f56486fb5a1072cb8baaf547cc\",\n} as const satisfies Record<string, NormalizedAddress>;\n\n/**\n * Must match the devnet mnemonic in contracts-v2 (Anvil named accounts).\n * @see https://github.com/ensdomains/contracts-v2/blob/69bde1b345c47caf3d55a105b9f922280ba55f00/contracts/script/setup.ts#L56\n */\nconst mnemonic = \"test test test test test test test test test test test junk\";\n\nfunction createAccount(addressIndex: number, resolver: NormalizedAddress) {\n const account = mnemonicToAccount(mnemonic, { addressIndex });\n return {\n ...account,\n address: toNormalizedAddress(account.address),\n resolver,\n };\n}\n\n/**\n * Named accounts from the ens-test-env devnet.\n * They are NOT real Ethereum Mainnet or testnet addresses.\n * You can use `pnpm devnet` to see actual data in devnet\n *\n * @see https://github.com/ensdomains/ens-test-env\n */\nexport const accounts = {\n deployer: createAccount(0, asNormalizedAddress(\"0x1f2ce8886692b90f5754a7d428a2336800a5911b\")),\n owner: createAccount(1, asNormalizedAddress(\"0x5ea90acf6555276660760fe629d72932c91f4b8e\")),\n user: createAccount(2, asNormalizedAddress(\"0xb63ae54076c1c281ec9395b290add470e69140c6\")),\n user2: createAccount(3, asNormalizedAddress(\"0x5380066832977eb36353fd2b01fb92e751636b84\")),\n} as const;\n\n/**\n * Fixtures for seeding the devnet with test data.\n */\nexport const addresses = {\n one: asNormalizedAddress(`0x${\"1\".repeat(40)}`),\n} as const satisfies Record<string, NormalizedAddress>;\n\nexport const fixtures = {\n abiBytes: `0x${\"01\".repeat(32)}`,\n fourBytesInterface: \"0x11100111\",\n publicKeyX: `0x${\"02\".repeat(32)}`,\n publicKeyY: `0x${\"03\".repeat(32)}`,\n contenthash: `0x${\"04\".repeat(32)}`,\n bitcoinAddress: `0x${\"05\".repeat(25)}`,\n litecoinAddress: `0x${\"06\".repeat(25)}`,\n} as const satisfies Record<string, Hex>;\n"],"mappings":";AACA,SAAS,qBAAqB,2BAA2B;AAEzD,SAAS,yBAAyB;AAS3B,IAAM,YAAY;AAAA;AAAA,EAEvB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,qBAAqB;AAAA;AAAA,EAGrB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA;AAAA,EAGjB,6BAA6B;AAAA,EAC7B,cAAc;AAAA,EACd,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,wBAAwB;AAAA,EACxB,gBAAgB;AAAA;AAAA,EAGhB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA;AAAA,EAGpB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,kCAAkC;AAAA;AAAA,EAGlC,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ,wBAAwB;AAAA,EACxB,MAAM;AAAA,EACN,wBAAwB;AAAA,EACxB,6BAA6B;AAAA,EAC7B,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,6BAA6B;AAAA,EAC7B,iBAAiB;AAAA,EACjB,2BAA2B;AAAA,EAC3B,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,YAAY;AAAA,EACZ,iBAAiB;AAAA;AAAA,EAGjB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA;AAAA,EAGZ,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,+BAA+B;AAAA;AAAA,EAG/B,UAAU;AAAA,EACV,SAAS;AACX;AAMA,IAAM,WAAW;AAEjB,SAAS,cAAc,cAAsB,UAA6B;AACxE,QAAM,UAAU,kBAAkB,UAAU,EAAE,aAAa,CAAC;AAC5D,SAAO;AAAA,IACL,GAAG;AAAA,IACH,SAAS,oBAAoB,QAAQ,OAAO;AAAA,IAC5C;AAAA,EACF;AACF;AASO,IAAM,WAAW;AAAA,EACtB,UAAU,cAAc,GAAG,oBAAoB,4CAA4C,CAAC;AAAA,EAC5F,OAAO,cAAc,GAAG,oBAAoB,4CAA4C,CAAC;AAAA,EACzF,MAAM,cAAc,GAAG,oBAAoB,4CAA4C,CAAC;AAAA,EACxF,OAAO,cAAc,GAAG,oBAAoB,4CAA4C,CAAC;AAC3F;AAKO,IAAM,YAAY;AAAA,EACvB,KAAK,oBAAoB,KAAK,IAAI,OAAO,EAAE,CAAC,EAAE;AAChD;AAEO,IAAM,WAAW;AAAA,EACtB,UAAU,KAAK,KAAK,OAAO,EAAE,CAAC;AAAA,EAC9B,oBAAoB;AAAA,EACpB,YAAY,KAAK,KAAK,OAAO,EAAE,CAAC;AAAA,EAChC,YAAY,KAAK,KAAK,OAAO,EAAE,CAAC;AAAA,EAChC,aAAa,KAAK,KAAK,OAAO,EAAE,CAAC;AAAA,EACjC,gBAAgB,KAAK,KAAK,OAAO,EAAE,CAAC;AAAA,EACpC,iBAAiB,KAAK,KAAK,OAAO,EAAE,CAAC;AACvC;","names":[]}