@ensnode/datasources 1.15.1 → 1.15.2

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 NameHash
3
+ Copyright (c) 2026 NameHash Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -23,7 +23,7 @@ import { getDatasource } from "@ensnode/datasources";
23
23
  import { namehashInterpretedName, asInterpretedName } from "enssdk";
24
24
 
25
25
  // access the address and abi for the ens root Registry in the canonical mainnet ENS namespace
26
- const registryConfig = getDatasource('mainnet', 'ensroot').contracts.Registry;
26
+ const registryConfig = getDatasource("mainnet", "ensroot").contracts.Registry;
27
27
 
28
28
  // for example, querying the Registry with viem...
29
29
  const vitaliksResolverAddress = await publicClient.readContract({
@@ -43,19 +43,20 @@ const vitaliksResolverAddress = await publicClient.readContract({
43
43
  The primary export of `@ensnode/datasources` is `getDatasource` which returns a selected `Datasource` within the selected ENS namespace.
44
44
 
45
45
  ```ts
46
- import { getDatasource } from '@ensnode/datasources';
46
+ import { getDatasource } from "@ensnode/datasources";
47
47
 
48
48
  // get ensroot datasource relative to mainnet ENS namespace
49
- const { chain, contracts } = getDatasource('mainnet', 'ensroot');
49
+ const { chain, contracts } = getDatasource("mainnet", "ensroot");
50
50
 
51
51
  // get ensroot datasource relative to sepolia ENS namespace
52
- const { chain, contracts } = getDatasource('sepolia', 'ensroot');
52
+ const { chain, contracts } = getDatasource("sepolia", "ensroot");
53
53
 
54
54
  // get threedns-base datasource relative to mainnet ENS namespace
55
- const { chain, contracts } = getDatasource('mainnet', 'threedns-base');
55
+ const { chain, contracts } = getDatasource("mainnet", "threedns-base");
56
56
  ```
57
57
 
58
58
  The available `ENSNamespaceId`s are:
59
+
59
60
  - `mainnet`
60
61
  - `sepolia`
61
62
  - `ens-test-env` — Represents a local testing namespace running on an Anvil chain (chain id 1337) with deterministic configurations that deliberately start at block zero for rapid testing and development. See [ens-test-env](https://github.com/ensdomains/ens-test-env) for additional context.
@@ -65,6 +66,7 @@ The available `ENSNamespaceId`s are:
65
66
  Each ENS namespace my provide **Datasource** entries for any of the possible **DatasourceName**s:
66
67
 
67
68
  The available `DatasourceName`s are:
69
+
68
70
  - `ensroot` — ENS Root Contracts, guaranteed to exist
69
71
  - `basenames` — Basenames, optional
70
72
  - `lineanames` — Linea Names, optional
@@ -1,7 +1,3 @@
1
- import * as viem_accounts from 'viem/accounts';
2
- import * as viem from 'viem';
3
- import { Hex } from 'viem';
4
-
5
1
  /**
6
2
  * Deterministic contract addresses for the ENS contracts-v2 devnet used by ens-test-env.
7
3
  * Keys use the same PascalCase names as the contracts-v2 contract table output.
@@ -38,7 +34,7 @@ declare const contracts: {
38
34
  readonly ENSV1Resolver: "0x5fc8d32690cc91d4c39d9d3abcbd16989f875707";
39
35
  readonly ENSV2Resolver: "0xc6e7df5e7b4f2a278906862b61205850344d4e7d";
40
36
  readonly OwnedResolver: "0x68b1d87f95878fe05b998f19b66f4baba5de1aed";
41
- readonly PermissionedResolver: "0x5ea90acf6555276660760fe629d72932c91f4b8e";
37
+ readonly PermissionedResolver: "0x8550d35164e7f86bb6adf4cedb3f012913c9d563";
42
38
  readonly LegacyPublicResolver: "0xa4899d35897033b927acfcf422bc745916139776";
43
39
  readonly PublicResolver: "0xf953b3a269d80e3eb0f2947630da976b896a8c5b";
44
40
  readonly PermissionedResolverImpl: "0x809d550fca64d94bd9f66e60752a544199cfac3d";
@@ -54,7 +50,8 @@ declare const contracts: {
54
50
  readonly VerifiableFactory: "0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1";
55
51
  readonly NameWrapper: "0x5081a39b8a5f0e35a8d959395a630b68b74dd30f";
56
52
  readonly UnlockedMigrationController: "0xdbc43ba45381e02825b14322cddd15ec4b3164e6";
57
- readonly WrapperRegistry: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43";
53
+ readonly ApprovedUpgradeGate: "0x4c4a2f8c81640e47606d3fd77b353e87ba015584";
54
+ readonly WrapperRegistryImpl: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43";
58
55
  readonly LockedMigrationController: "0x36b58f5c1969b7b6591d752ea6f5486d069010ab";
59
56
  readonly UserRegistryImpl: "0x7969c5ed335650692bc04293b07f5bf2e7a673c0";
60
57
  readonly StaticMetadataService: "0xb0d4afd8879ed9f52b28595d31b441d079b2ca07";
@@ -73,109 +70,5 @@ declare const contracts: {
73
70
  readonly MockUSDC: "0xfd471836031dc5108809d173a067e8486b9047a3";
74
71
  readonly MockDAI: "0xcbeaf3bde82155f56486fb5a1072cb8baaf547cc";
75
72
  };
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
73
 
181
- export { accounts, addresses, contracts, fixtures };
74
+ export { contracts };
@@ -1,6 +1,4 @@
1
1
  // src/devnet/constants.ts
2
- import { asNormalizedAddress, toNormalizedAddress } from "enssdk";
3
- import { mnemonicToAccount } from "viem/accounts";
4
2
  var contracts = {
5
3
  // -- DNS --
6
4
  DNSSECGatewayProvider: "0x5fbdb2315678afecb367f032d93f642f64180aa3",
@@ -35,7 +33,7 @@ var contracts = {
35
33
  ENSV1Resolver: "0x5fc8d32690cc91d4c39d9d3abcbd16989f875707",
36
34
  ENSV2Resolver: "0xc6e7df5e7b4f2a278906862b61205850344d4e7d",
37
35
  OwnedResolver: "0x68b1d87f95878fe05b998f19b66f4baba5de1aed",
38
- PermissionedResolver: "0x5ea90acf6555276660760fe629d72932c91f4b8e",
36
+ PermissionedResolver: "0x8550d35164e7f86bb6adf4cedb3f012913c9d563",
39
37
  LegacyPublicResolver: "0xa4899d35897033b927acfcf422bc745916139776",
40
38
  PublicResolver: "0xf953b3a269d80e3eb0f2947630da976b896a8c5b",
41
39
  PermissionedResolverImpl: "0x809d550fca64d94bd9f66e60752a544199cfac3d",
@@ -52,7 +50,8 @@ var contracts = {
52
50
  VerifiableFactory: "0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1",
53
51
  NameWrapper: "0x5081a39b8a5f0e35a8d959395a630b68b74dd30f",
54
52
  UnlockedMigrationController: "0xdbc43ba45381e02825b14322cddd15ec4b3164e6",
55
- WrapperRegistry: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43",
53
+ ApprovedUpgradeGate: "0x4c4a2f8c81640e47606d3fd77b353e87ba015584",
54
+ WrapperRegistryImpl: "0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43",
56
55
  LockedMigrationController: "0x36b58f5c1969b7b6591d752ea6f5486d069010ab",
57
56
  UserRegistryImpl: "0x7969c5ed335650692bc04293b07f5bf2e7a673c0",
58
57
  StaticMetadataService: "0xb0d4afd8879ed9f52b28595d31b441d079b2ca07",
@@ -74,37 +73,7 @@ var contracts = {
74
73
  MockUSDC: "0xfd471836031dc5108809d173a067e8486b9047a3",
75
74
  MockDAI: "0xcbeaf3bde82155f56486fb5a1072cb8baaf547cc"
76
75
  };
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
76
  export {
105
- accounts,
106
- addresses,
107
- contracts,
108
- fixtures
77
+ contracts
109
78
  };
110
79
  //# sourceMappingURL=index.js.map
@@ -1 +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":[]}
1
+ {"version":3,"sources":["../../src/devnet/constants.ts"],"sourcesContent":["import type { NormalizedAddress } from \"enssdk\";\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: \"0x8550d35164e7f86bb6adf4cedb3f012913c9d563\",\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 ApprovedUpgradeGate: \"0x4c4a2f8c81640e47606d3fd77b353e87ba015584\",\n WrapperRegistryImpl: \"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"],"mappings":";AASO,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,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,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;","names":[]}