@ensdomains/ensjs 3.0.0-alpha.39 → 3.0.0-alpha.40

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.
Files changed (289) hide show
  1. package/dist/cjs/GqlManager.js +8 -5
  2. package/dist/cjs/contracts/factories.js +16 -0
  3. package/dist/cjs/contracts/getContractAddress.js +1 -1
  4. package/dist/cjs/contracts/index.js +24 -52
  5. package/dist/cjs/functions/createSubname.js +2 -2
  6. package/dist/cjs/functions/deleteSubname.js +2 -2
  7. package/dist/cjs/functions/getDNSOwner.js +2 -2
  8. package/dist/cjs/functions/getExpiry.js +2 -2
  9. package/dist/cjs/functions/getHistory.js +4 -3
  10. package/dist/cjs/functions/getNames.js +2 -1
  11. package/dist/cjs/functions/getOwner.js +10 -9
  12. package/dist/cjs/functions/getPrice.js +7 -6
  13. package/dist/cjs/functions/getProfile.js +15 -16
  14. package/dist/cjs/functions/getResolver.js +2 -2
  15. package/dist/cjs/functions/getSpecificRecord.js +3 -3
  16. package/dist/cjs/functions/getSubnames.js +2 -1
  17. package/dist/cjs/functions/getWrapperData.js +2 -2
  18. package/dist/cjs/functions/transferController.js +3 -3
  19. package/dist/cjs/functions/transferName.js +2 -2
  20. package/dist/cjs/functions/transferSubname.js +2 -2
  21. package/dist/cjs/functions/types.js +16 -0
  22. package/dist/cjs/functions/unwrapName.js +2 -2
  23. package/dist/cjs/functions/wrapName.js +4 -3
  24. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +4 -3
  25. package/dist/cjs/generated/factories/BulkRenewal__factory.js +4 -3
  26. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +4 -3
  27. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +4 -3
  28. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +4 -3
  29. package/dist/cjs/generated/factories/ENSRegistry__factory.js +4 -3
  30. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +4 -3
  31. package/dist/cjs/generated/factories/Multicall__factory.js +4 -3
  32. package/dist/cjs/generated/factories/NameWrapper__factory.js +4 -3
  33. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +4 -3
  34. package/dist/cjs/generated/factories/PublicResolver__factory.js +4 -3
  35. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +4 -3
  36. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +4 -3
  37. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +4 -3
  38. package/dist/cjs/generated/factories/Root__factory.js +4 -3
  39. package/dist/cjs/generated/factories/SHA1Digest__factory.js +4 -3
  40. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +4 -3
  41. package/dist/cjs/generated/factories/SHA256Digest__factory.js +4 -3
  42. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +4 -3
  43. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +4 -3
  44. package/dist/cjs/generated/factories/UniversalResolver__factory.js +4 -3
  45. package/dist/cjs/index.js +52 -75
  46. package/dist/cjs/static.js +85 -0
  47. package/dist/cjs/utils/ccip.js +22 -21
  48. package/dist/cjs/utils/contentHash.js +2 -2
  49. package/dist/cjs/utils/fuses.js +2 -2
  50. package/dist/cjs/utils/generateFuseInput.js +2 -2
  51. package/dist/cjs/utils/labels.js +2 -2
  52. package/dist/cjs/utils/normalise.js +6 -4
  53. package/dist/cjs/utils/registerHelpers.js +4 -3
  54. package/dist/cjs/utils/validation.js +2 -2
  55. package/dist/cjs/utils/wrapper.js +8 -8
  56. package/dist/esm/GqlManager.mjs +8 -5
  57. package/dist/esm/contracts/factories.mjs +0 -0
  58. package/dist/esm/contracts/getContractAddress.mjs +1 -1
  59. package/dist/esm/contracts/index.mjs +24 -46
  60. package/dist/esm/functions/createSubname.mjs +2 -2
  61. package/dist/esm/functions/deleteSubname.mjs +2 -2
  62. package/dist/esm/functions/getDNSOwner.mjs +1 -1
  63. package/dist/esm/functions/getExpiry.mjs +1 -1
  64. package/dist/esm/functions/getHistory.mjs +4 -3
  65. package/dist/esm/functions/getNames.mjs +2 -1
  66. package/dist/esm/functions/getOwner.mjs +9 -8
  67. package/dist/esm/functions/getPrice.mjs +6 -5
  68. package/dist/esm/functions/getProfile.mjs +14 -15
  69. package/dist/esm/functions/getResolver.mjs +2 -2
  70. package/dist/esm/functions/getSpecificRecord.mjs +3 -3
  71. package/dist/esm/functions/getSubnames.mjs +2 -1
  72. package/dist/esm/functions/getWrapperData.mjs +1 -1
  73. package/dist/esm/functions/transferController.mjs +3 -3
  74. package/dist/esm/functions/transferName.mjs +2 -2
  75. package/dist/esm/functions/transferSubname.mjs +2 -2
  76. package/dist/esm/functions/types.mjs +0 -0
  77. package/dist/esm/functions/unwrapName.mjs +2 -2
  78. package/dist/esm/functions/wrapName.mjs +4 -3
  79. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +3 -2
  80. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +3 -2
  81. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +3 -2
  82. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +3 -2
  83. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +3 -2
  84. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +3 -2
  85. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +3 -2
  86. package/dist/esm/generated/factories/Multicall__factory.mjs +3 -2
  87. package/dist/esm/generated/factories/NameWrapper__factory.mjs +3 -2
  88. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +3 -2
  89. package/dist/esm/generated/factories/PublicResolver__factory.mjs +3 -2
  90. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +3 -2
  91. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +3 -2
  92. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +3 -2
  93. package/dist/esm/generated/factories/Root__factory.mjs +3 -2
  94. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +3 -2
  95. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +3 -2
  96. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +3 -2
  97. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +3 -2
  98. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +3 -2
  99. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +3 -2
  100. package/dist/esm/index.mjs +47 -71
  101. package/dist/esm/static.mjs +62 -0
  102. package/dist/esm/utils/ccip.mjs +4 -4
  103. package/dist/esm/utils/contentHash.mjs +2 -2
  104. package/dist/esm/utils/fuses.mjs +1 -1
  105. package/dist/esm/utils/generateFuseInput.mjs +2 -2
  106. package/dist/esm/utils/labels.mjs +1 -1
  107. package/dist/esm/utils/normalise.mjs +3 -1
  108. package/dist/esm/utils/registerHelpers.mjs +4 -3
  109. package/dist/esm/utils/validation.mjs +1 -1
  110. package/dist/esm/utils/wrapper.mjs +2 -2
  111. package/dist/types/GqlManager.d.ts +5 -3
  112. package/dist/types/contracts/baseRegistrar.d.ts +2 -2
  113. package/dist/types/contracts/bulkRenewal.d.ts +2 -2
  114. package/dist/types/contracts/dnsRegistrar.d.ts +2 -2
  115. package/dist/types/contracts/ethRegistrarController.d.ts +2 -2
  116. package/dist/types/contracts/factories.d.ts +45 -0
  117. package/dist/types/contracts/index.d.ts +32 -12
  118. package/dist/types/contracts/multicall.d.ts +2 -2
  119. package/dist/types/contracts/nameWrapper.d.ts +2 -2
  120. package/dist/types/contracts/publicResolver.d.ts +2 -2
  121. package/dist/types/contracts/registry.d.ts +2 -2
  122. package/dist/types/contracts/reverseRegistrar.d.ts +2 -2
  123. package/dist/types/contracts/types.d.ts +1 -1
  124. package/dist/types/contracts/universalResolver.d.ts +2 -2
  125. package/dist/types/functions/batchWrappers.d.ts +4 -4
  126. package/dist/types/functions/burnFuses.d.ts +1 -1
  127. package/dist/types/functions/commitName.d.ts +7 -7
  128. package/dist/types/functions/createSubname.d.ts +1 -2
  129. package/dist/types/functions/deleteSubname.d.ts +1 -2
  130. package/dist/types/functions/getPrice.d.ts +1 -1
  131. package/dist/types/functions/getRecords.d.ts +2 -2
  132. package/dist/types/functions/getWrapperData.d.ts +1 -1
  133. package/dist/types/functions/importDNSSECName.d.ts +1 -1
  134. package/dist/types/functions/registerName.d.ts +2 -2
  135. package/dist/types/functions/renewNames.d.ts +3 -3
  136. package/dist/types/functions/setName.d.ts +1 -1
  137. package/dist/types/functions/setRecords.d.ts +1 -1
  138. package/dist/types/functions/setResolver.d.ts +1 -1
  139. package/dist/types/functions/transferController.d.ts +1 -2
  140. package/dist/types/functions/transferName.d.ts +1 -2
  141. package/dist/types/functions/transferSubname.d.ts +1 -2
  142. package/dist/types/functions/types.d.ts +77 -0
  143. package/dist/types/functions/unwrapName.d.ts +1 -1
  144. package/dist/types/functions/wrapName.d.ts +1 -2
  145. package/dist/types/generated/BaseRegistrarImplementation.d.ts +128 -124
  146. package/dist/types/generated/BulkRenewal.d.ts +22 -18
  147. package/dist/types/generated/DNSRegistrar.d.ts +46 -42
  148. package/dist/types/generated/DNSSECImpl.d.ts +70 -66
  149. package/dist/types/generated/DefaultReverseResolver.d.ts +19 -15
  150. package/dist/types/generated/ENSRegistry.d.ts +64 -60
  151. package/dist/types/generated/ETHRegistrarController.d.ts +82 -78
  152. package/dist/types/generated/Multicall.d.ts +58 -54
  153. package/dist/types/generated/NameWrapper.d.ts +169 -165
  154. package/dist/types/generated/P256SHA256Algorithm.d.ts +13 -9
  155. package/dist/types/generated/PublicResolver.d.ts +153 -149
  156. package/dist/types/generated/RSASHA1Algorithm.d.ts +13 -9
  157. package/dist/types/generated/RSASHA256Algorithm.d.ts +13 -9
  158. package/dist/types/generated/ReverseRegistrar.d.ts +64 -60
  159. package/dist/types/generated/Root.d.ts +46 -42
  160. package/dist/types/generated/SHA1Digest.d.ts +13 -9
  161. package/dist/types/generated/SHA1NSEC3Digest.d.ts +13 -9
  162. package/dist/types/generated/SHA256Digest.d.ts +13 -9
  163. package/dist/types/generated/StaticMetadataService.d.ts +13 -9
  164. package/dist/types/generated/TLDPublicSuffixList.d.ts +13 -9
  165. package/dist/types/generated/UniversalResolver.d.ts +82 -78
  166. package/dist/types/generated/common.d.ts +3 -3
  167. package/dist/types/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  168. package/dist/types/generated/factories/BulkRenewal__factory.d.ts +3 -3
  169. package/dist/types/generated/factories/DNSRegistrar__factory.d.ts +3 -3
  170. package/dist/types/generated/factories/DNSSECImpl__factory.d.ts +3 -3
  171. package/dist/types/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  172. package/dist/types/generated/factories/ENSRegistry__factory.d.ts +3 -3
  173. package/dist/types/generated/factories/ETHRegistrarController__factory.d.ts +3 -3
  174. package/dist/types/generated/factories/Multicall__factory.d.ts +3 -3
  175. package/dist/types/generated/factories/NameWrapper__factory.d.ts +3 -3
  176. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -3
  177. package/dist/types/generated/factories/PublicResolver__factory.d.ts +3 -3
  178. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -3
  179. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -3
  180. package/dist/types/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  181. package/dist/types/generated/factories/Root__factory.d.ts +3 -3
  182. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +3 -3
  183. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -3
  184. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +3 -3
  185. package/dist/types/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  186. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -3
  187. package/dist/types/generated/factories/UniversalResolver__factory.d.ts +3 -3
  188. package/dist/types/index.d.ts +45 -59
  189. package/dist/types/static.d.ts +26 -0
  190. package/dist/types/utils/fuses.d.ts +1 -1
  191. package/dist/types/utils/registerHelpers.d.ts +1 -1
  192. package/dist/types/utils/singleCall.d.ts +2 -2
  193. package/dist/types/utils/wrapper.d.ts +1 -1
  194. package/dist/types/utils/writeTx.d.ts +8 -8
  195. package/package.json +33 -6
  196. package/src/GqlManager.ts +15 -7
  197. package/src/contracts/baseRegistrar.ts +2 -2
  198. package/src/contracts/bulkRenewal.ts +2 -2
  199. package/src/contracts/dnsRegistrar.ts +2 -2
  200. package/src/contracts/ethRegistrarController.ts +2 -2
  201. package/src/contracts/factories.ts +48 -0
  202. package/src/contracts/getContractAddress.ts +1 -1
  203. package/src/contracts/index.ts +71 -67
  204. package/src/contracts/multicall.ts +2 -2
  205. package/src/contracts/nameWrapper.ts +2 -2
  206. package/src/contracts/publicResolver.ts +2 -2
  207. package/src/contracts/registry.ts +2 -2
  208. package/src/contracts/reverseRegistrar.ts +2 -2
  209. package/src/contracts/types.ts +1 -1
  210. package/src/contracts/universalResolver.ts +2 -2
  211. package/src/functions/batchWrappers.ts +3 -3
  212. package/src/functions/createSubname.ts +3 -2
  213. package/src/functions/deleteSubname.ts +2 -2
  214. package/src/functions/getDNSOwner.ts +1 -1
  215. package/src/functions/getExpiry.ts +2 -2
  216. package/src/functions/getHistory.ts +4 -3
  217. package/src/functions/getNames.ts +2 -1
  218. package/src/functions/getOwner.test.ts +0 -47
  219. package/src/functions/getOwner.ts +13 -14
  220. package/src/functions/getPrice.ts +6 -5
  221. package/src/functions/getProfile.ts +15 -15
  222. package/src/functions/getResolver.ts +2 -6
  223. package/src/functions/getSpecificRecord.ts +4 -4
  224. package/src/functions/getSubnames.ts +2 -1
  225. package/src/functions/getWrapperData.ts +1 -1
  226. package/src/functions/registerName.ts +1 -1
  227. package/src/functions/renewNames.ts +1 -1
  228. package/src/functions/transferController.ts +4 -3
  229. package/src/functions/transferName.ts +2 -2
  230. package/src/functions/transferSubname.ts +2 -2
  231. package/src/functions/types.ts +94 -0
  232. package/src/functions/unwrapName.ts +3 -2
  233. package/src/functions/wrapName.ts +8 -5
  234. package/src/generated/BaseRegistrarImplementation.ts +580 -593
  235. package/src/generated/BulkRenewal.ts +95 -96
  236. package/src/generated/DNSRegistrar.ts +208 -208
  237. package/src/generated/DNSSECImpl.ts +322 -329
  238. package/src/generated/DefaultReverseResolver.ts +75 -75
  239. package/src/generated/ENSRegistry.ts +312 -316
  240. package/src/generated/ETHRegistrarController.ts +405 -412
  241. package/src/generated/Multicall.ts +320 -327
  242. package/src/generated/NameWrapper.ts +877 -884
  243. package/src/generated/P256SHA256Algorithm.ts +52 -52
  244. package/src/generated/PublicResolver.ts +698 -705
  245. package/src/generated/RSASHA1Algorithm.ts +52 -52
  246. package/src/generated/RSASHA256Algorithm.ts +52 -52
  247. package/src/generated/ReverseRegistrar.ts +305 -311
  248. package/src/generated/Root.ts +220 -226
  249. package/src/generated/SHA1Digest.ts +51 -51
  250. package/src/generated/SHA1NSEC3Digest.ts +52 -53
  251. package/src/generated/SHA256Digest.ts +51 -51
  252. package/src/generated/StaticMetadataService.ts +51 -52
  253. package/src/generated/TLDPublicSuffixList.ts +53 -53
  254. package/src/generated/UniversalResolver.ts +312 -313
  255. package/src/generated/common.ts +15 -15
  256. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  257. package/src/generated/factories/BulkRenewal__factory.ts +51 -49
  258. package/src/generated/factories/DNSRegistrar__factory.ts +132 -130
  259. package/src/generated/factories/DNSSECImpl__factory.ts +231 -229
  260. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  261. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  262. package/src/generated/factories/ETHRegistrarController__factory.ts +324 -322
  263. package/src/generated/factories/Multicall__factory.ts +226 -224
  264. package/src/generated/factories/NameWrapper__factory.ts +678 -676
  265. package/src/generated/factories/P256SHA256Algorithm__factory.ts +25 -23
  266. package/src/generated/factories/PublicResolver__factory.ts +455 -456
  267. package/src/generated/factories/RSASHA1Algorithm__factory.ts +25 -23
  268. package/src/generated/factories/RSASHA256Algorithm__factory.ts +25 -23
  269. package/src/generated/factories/ReverseRegistrar__factory.ts +167 -165
  270. package/src/generated/factories/Root__factory.ts +103 -101
  271. package/src/generated/factories/SHA1Digest__factory.ts +22 -20
  272. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +25 -23
  273. package/src/generated/factories/SHA256Digest__factory.ts +22 -20
  274. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  275. package/src/generated/factories/TLDPublicSuffixList__factory.ts +19 -17
  276. package/src/generated/factories/UniversalResolver__factory.ts +251 -249
  277. package/src/index.ts +139 -169
  278. package/src/static.ts +94 -0
  279. package/src/utils/ccip.ts +5 -4
  280. package/src/utils/contentHash.ts +2 -2
  281. package/src/utils/fuses.ts +1 -1
  282. package/src/utils/generateFuseInput.ts +2 -2
  283. package/src/utils/labels.ts +1 -1
  284. package/src/utils/normalise.ts +3 -1
  285. package/src/utils/registerHelpers.ts +5 -3
  286. package/src/utils/singleCall.ts +2 -2
  287. package/src/utils/validation.ts +1 -1
  288. package/src/utils/wrapper.ts +2 -2
  289. package/src/utils/writeTx.ts +1 -1
@@ -1,88 +1,92 @@
1
- import { ethers } from 'ethers'
2
- import getBaseRegistrar from './baseRegistrar'
3
- import getEthRegistrarController from './ethRegistrarController'
1
+ import type { Interface } from '@ethersproject/abi'
2
+ import type { Signer } from '@ethersproject/abstract-signer'
3
+ import type { BaseContract } from '@ethersproject/contracts'
4
+ import type { Provider } from '@ethersproject/providers'
5
+ import type { BaseRegistrarImplementation } from '../generated/BaseRegistrarImplementation'
6
+ import type { BulkRenewal } from '../generated/BulkRenewal'
7
+ import type { DNSRegistrar } from '../generated/DNSRegistrar'
8
+ import type { ENSRegistry } from '../generated/ENSRegistry'
9
+ import type { ETHRegistrarController } from '../generated/ETHRegistrarController'
10
+ import type { Multicall } from '../generated/Multicall'
11
+ import type { NameWrapper } from '../generated/NameWrapper'
12
+ import type { PublicResolver } from '../generated/PublicResolver'
13
+ import type { ReverseRegistrar } from '../generated/ReverseRegistrar'
14
+ import type { UniversalResolver } from '../generated/UniversalResolver'
4
15
  import { ContractAddressFetch } from './getContractAddress'
5
- import getMulticall from './multicall'
6
- import getNameWrapper from './nameWrapper'
7
- import getDNSRegistrar from './dnsRegistrar'
8
- import getPublicResolver from './publicResolver'
9
- import getRegistry from './registry'
10
- import getReverseRegistrar from './reverseRegistrar'
11
16
  import { ContractName } from './types'
12
- import getUniversalResolver from './universalResolver'
13
- import getBulkRenewal from './bulkRenewal'
17
+
18
+ type BaseFactory = {
19
+ readonly abi: object
20
+ createInterface(): Interface
21
+ connect(address: string, signerOrProvider: Signer | Provider): BaseContract
22
+ }
14
23
 
15
24
  export default class ContractManager {
16
- private provider: ethers.providers.Provider
25
+ private provider: Provider
17
26
 
18
27
  private fetchAddress: ContractAddressFetch
19
28
 
29
+ // eslint-disable-next-line class-methods-use-this
30
+ protected getModule = async (name: string) => {
31
+ const mod = await import(
32
+ /* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true, webpackExclude: /.*\.ts$/ */
33
+ `../generated/factories/${name}__factory`
34
+ )
35
+ return mod[`${name}__factory`] as BaseFactory
36
+ }
37
+
20
38
  constructor(
21
- provider: ethers.providers.Provider,
39
+ provider: Provider,
22
40
  fetchAddress: ContractAddressFetch,
41
+ getModule?: (name: string) => Promise<BaseFactory>,
23
42
  ) {
24
43
  this.provider = provider
25
44
  this.fetchAddress = fetchAddress
45
+ if (getModule) {
46
+ this.getModule = getModule
47
+ }
26
48
  }
27
49
 
28
- private generateContractGetter = <C extends (...args: any) => any>(
50
+ private generateContractGetter = <C extends BaseContract>(
29
51
  name: ContractName,
30
- func: C,
31
- ): ((passedProvider?: any, address?: string) => Promise<ReturnType<C>>) => {
32
- return async (
33
- passedProvider?: any,
34
- address?: string,
35
- ): Promise<ReturnType<C>> => {
52
+ ): ((passedProvider?: any, address?: string) => Promise<C>) => {
53
+ return async (passedProvider, address) => {
54
+ const mod = await this.getModule(name)
36
55
  const inputAddress = address || this.fetchAddress(name)
37
56
  const provider = passedProvider || this.provider
38
- return func(provider, inputAddress)
57
+ return mod.connect(inputAddress, provider) as C
39
58
  }
40
59
  }
41
60
 
42
- public getPublicResolver = this.generateContractGetter(
43
- 'PublicResolver',
44
- getPublicResolver,
45
- )
46
-
47
- public getUniversalResolver = this.generateContractGetter(
48
- 'UniversalResolver',
49
- getUniversalResolver,
50
- )
51
-
52
- public getRegistry = this.generateContractGetter(
53
- 'ENSRegistryWithFallback',
54
- getRegistry,
55
- )
56
-
57
- public getReverseRegistrar = this.generateContractGetter(
58
- 'ReverseRegistrar',
59
- getReverseRegistrar,
60
- )
61
-
62
- public getNameWrapper = this.generateContractGetter(
63
- 'NameWrapper',
64
- getNameWrapper,
65
- )
66
-
67
- public getDNSRegistrar = this.generateContractGetter(
68
- 'DNSRegistrar',
69
- getDNSRegistrar,
70
- )
71
-
72
- public getBaseRegistrar = this.generateContractGetter(
73
- 'BaseRegistrarImplementation',
74
- getBaseRegistrar,
75
- )
76
-
77
- public getEthRegistrarController = this.generateContractGetter(
78
- 'ETHRegistrarController',
79
- getEthRegistrarController,
80
- )
81
-
82
- public getMulticall = this.generateContractGetter('Multicall', getMulticall)
83
-
84
- public getBulkRenewal = this.generateContractGetter(
85
- 'BulkRenewal',
86
- getBulkRenewal,
87
- )
61
+ public getPublicResolver =
62
+ this.generateContractGetter<PublicResolver>('PublicResolver')
63
+
64
+ public getUniversalResolver =
65
+ this.generateContractGetter<UniversalResolver>('UniversalResolver')
66
+
67
+ public getRegistry = this.generateContractGetter<ENSRegistry>('ENSRegistry')
68
+
69
+ public getReverseRegistrar =
70
+ this.generateContractGetter<ReverseRegistrar>('ReverseRegistrar')
71
+
72
+ public getNameWrapper =
73
+ this.generateContractGetter<NameWrapper>('NameWrapper')
74
+
75
+ public getDNSRegistrar =
76
+ this.generateContractGetter<DNSRegistrar>('DNSRegistrar')
77
+
78
+ public getBaseRegistrar =
79
+ this.generateContractGetter<BaseRegistrarImplementation>(
80
+ 'BaseRegistrarImplementation',
81
+ )
82
+
83
+ public getEthRegistrarController =
84
+ this.generateContractGetter<ETHRegistrarController>(
85
+ 'ETHRegistrarController',
86
+ )
87
+
88
+ public getMulticall = this.generateContractGetter<Multicall>('Multicall')
89
+
90
+ public getBulkRenewal =
91
+ this.generateContractGetter<BulkRenewal>('BulkRenewal')
88
92
  }
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { Multicall__factory } from '../generated/factories/Multicall__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  Multicall__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { NameWrapper__factory } from '../generated/factories/NameWrapper__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  NameWrapper__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { PublicResolver__factory } from '../generated/factories/PublicResolver__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  PublicResolver__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ENSRegistry__factory } from '../generated/factories/ENSRegistry__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ENSRegistry__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ReverseRegistrar__factory } from '../generated/factories/ReverseRegistrar__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ReverseRegistrar__factory.connect(address, provider)
@@ -7,7 +7,7 @@ export type ContractName =
7
7
  | 'NameWrapper'
8
8
  | 'DNSRegistrar'
9
9
  | 'PublicResolver'
10
- | 'ENSRegistryWithFallback'
10
+ | 'ENSRegistry'
11
11
  | 'ReverseRegistrar'
12
12
  | 'UniversalResolver'
13
13
  | 'BulkRenewal'
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { UniversalResolver__factory } from '../generated/factories/UniversalResolver__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  UniversalResolver__factory.connect(address, provider)
@@ -1,4 +1,4 @@
1
- import { ethers } from 'ethers'
1
+ import type { TransactionRequest } from '@ethersproject/providers'
2
2
  import { ENSArgs } from '..'
3
3
  import ccipLookup from '../utils/ccip'
4
4
  import { hexEncodeName } from '../utils/hexEncodedName'
@@ -61,7 +61,7 @@ export const resolverMulticallWrapper = {
61
61
  export const multicallWrapper = {
62
62
  async raw(
63
63
  { contracts }: ENSArgs<'contracts'>,
64
- transactions: ethers.providers.TransactionRequest[],
64
+ transactions: TransactionRequest[],
65
65
  requireSuccess: boolean = false,
66
66
  ) {
67
67
  const multicall = await contracts?.getMulticall()!
@@ -79,7 +79,7 @@ export const multicallWrapper = {
79
79
  async decode(
80
80
  { contracts, provider }: ENSArgs<'contracts' | 'provider'>,
81
81
  data: string,
82
- transactions: ethers.providers.TransactionRequest[],
82
+ transactions: TransactionRequest[],
83
83
  ) {
84
84
  if (!data) return
85
85
  const multicall = await contracts?.getMulticall()!
@@ -1,4 +1,5 @@
1
- import { BigNumber, ethers } from 'ethers'
1
+ import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
+ import { keccak256 as solidityKeccak256 } from '@ethersproject/solidity'
2
3
  import { ENSArgs } from '..'
3
4
  import { FuseOptions } from '../utils/fuses'
4
5
  import generateFuseInput from '../utils/generateFuseInput'
@@ -43,7 +44,7 @@ export default async function (
43
44
  }
44
45
 
45
46
  const label = labels.shift() as string
46
- const labelhash = ethers.utils.solidityKeccak256(['string'], [label])
47
+ const labelhash = solidityKeccak256(['string'], [label])
47
48
  const parentNodehash = namehash(labels.join('.'))
48
49
 
49
50
  switch (contract) {
@@ -1,4 +1,4 @@
1
- import { ethers } from 'ethers'
1
+ import { keccak256 as solidityKeccak256 } from '@ethersproject/solidity'
2
2
  import { ENSArgs } from '..'
3
3
  import { namehash } from '../utils/normalise'
4
4
 
@@ -18,7 +18,7 @@ export default async function (
18
18
  }
19
19
 
20
20
  const label = labels.shift() as string
21
- const labelhash = ethers.utils.solidityKeccak256(['string'], [label])
21
+ const labelhash = solidityKeccak256(['string'], [label])
22
22
  const parentNodehash = namehash(labels.join('.'))
23
23
 
24
24
  switch (contract) {
@@ -1,5 +1,5 @@
1
+ import { _fetchData } from '@ethersproject/web'
1
2
  import * as packet from 'dns-packet'
2
- import { _fetchData } from 'ethers/lib/utils'
3
3
 
4
4
  export function encodeURLParams(p: { [key: string]: string }): string {
5
5
  return Object.entries(p)
@@ -1,5 +1,5 @@
1
- import { BigNumber } from 'ethers'
2
- import { solidityKeccak256 } from 'ethers/lib/utils'
1
+ import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
+ import { keccak256 as solidityKeccak256 } from '@ethersproject/solidity'
3
3
  import { ENSArgs } from '..'
4
4
  import { namehash } from '../utils/normalise'
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { formatsByCoinType } from '@ensdomains/address-encoder'
2
- import { ethers } from 'ethers'
2
+ import { hexStripZeros } from '@ethersproject/bytes'
3
3
  import { ENSArgs } from '..'
4
4
  import { decodeContenthash } from '../utils/contentHash'
5
5
  import { labelhash } from '../utils/labels'
@@ -69,7 +69,7 @@ const eventFormat: {
69
69
  rawAddr: args.multiaddr,
70
70
  }
71
71
  }
72
- if (ethers.utils.hexStripZeros(args.multiaddr) === '0x') {
72
+ if (hexStripZeros(args.multiaddr) === '0x') {
73
73
  return {
74
74
  coinType: args.coinType,
75
75
  coinName: format.name,
@@ -246,10 +246,11 @@ export async function getHistory(
246
246
  const nameHash = namehash(name)
247
247
  const labelHash = labelhash(label)
248
248
 
249
- const { domain } = await client.request(query, {
249
+ const response = await client.request(query, {
250
250
  namehash: nameHash,
251
251
  labelhash: labelHash,
252
252
  })
253
+ const domain = response?.domain
253
254
 
254
255
  if (!domain) return
255
256
 
@@ -347,7 +347,8 @@ const getNames = async (
347
347
  }
348
348
  }
349
349
 
350
- const { account } = await client.request(finalQuery, queryVars)
350
+ const response = await client.request(finalQuery, queryVars)
351
+ const account = response?.account
351
352
  if (type === 'all') {
352
353
  return [
353
354
  ...(account?.domains.map(mapDomain) || []),
@@ -13,55 +13,8 @@ afterAll(async () => {
13
13
  })
14
14
 
15
15
  describe('getOwner', () => {
16
- it('should return null for an unregistered name', async () => {
17
- const result = await ensInstance.getOwner('test123123cool.eth')
18
- expect(result).toBeUndefined()
19
- })
20
- it('should return the owner, registrant, and ownership level for a registered name', async () => {
21
- const result = await ensInstance.getOwner('with-profile.eth')
22
- expect(result).toMatchObject({
23
- owner: '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
24
- registrant: '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
25
- ownershipLevel: 'registrar',
26
- })
27
- })
28
16
  it('should return nameWrapper as the ownership level for a wrapped name', async () => {
29
17
  const result = await ensInstance.getOwner('wrapped.eth')
30
18
  expect(result?.ownershipLevel).toBe('nameWrapper')
31
19
  })
32
- it('should return the owner at a specific level if specified', async () => {
33
- const result = await ensInstance.getOwner('wrapped.eth', 'registrar')
34
- const nameWrapperAddress = (await ensInstance.contracts!.getNameWrapper())
35
- .address
36
- expect(result?.ownershipLevel).toBe('registrar')
37
- expect(result?.registrant).toBe(nameWrapperAddress)
38
- })
39
- it('should return the owner of a TLD on the registry', async () => {
40
- const result = await ensInstance.getOwner('eth')
41
- const baseRegistrarAddress = (
42
- await ensInstance.contracts!.getBaseRegistrar()
43
- ).address
44
- expect(result?.ownershipLevel).toBe('registry')
45
- expect(result?.owner?.toLowerCase()).toBe(
46
- baseRegistrarAddress.toLowerCase(),
47
- )
48
- })
49
- it('should return registry as the ownership level for an unwrapped subname', async () => {
50
- const result = await ensInstance.getOwner('test.with-subnames.eth')
51
- expect(result?.ownershipLevel).toBe('registry')
52
- expect(result?.owner).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
53
- })
54
- it('should return registry ownership for a pseudo-wrapped name', async () => {
55
- const nameWrapper = await ensInstance.contracts!.getNameWrapper()
56
- const tx = await ensInstance.transferSubname('test.with-subnames.eth', {
57
- contract: 'registry',
58
- owner: nameWrapper.address,
59
- addressOrIndex: 1,
60
- })
61
- await tx.wait()
62
-
63
- const result = await ensInstance.getOwner('test.with-subnames.eth')
64
- expect(result?.ownershipLevel).toBe('registry')
65
- expect(result?.owner).toBe(nameWrapper.address)
66
- })
67
20
  })
@@ -1,4 +1,6 @@
1
- import { ethers } from 'ethers'
1
+ import { defaultAbiCoder } from '@ethersproject/abi/lib/abi-coder'
2
+ import type { Result } from '@ethersproject/abi/lib/coders/abstract-coder'
3
+ import { hexStripZeros } from '@ethersproject/bytes'
2
4
  import { ENSArgs } from '..'
3
5
  import { labelhash } from '../utils/labels'
4
6
  import { namehash as makeNamehash } from '../utils/normalise'
@@ -104,7 +106,7 @@ const registrantQuery = `
104
106
  `
105
107
 
106
108
  const singleContractOwnerDecode = (data: string) =>
107
- ethers.utils.defaultAbiCoder.decode(['address'], data)[0]
109
+ defaultAbiCoder.decode(['address'], data)[0]
108
110
 
109
111
  const decode = async (
110
112
  {
@@ -139,20 +141,17 @@ const decode = async (
139
141
  const nameWrapper = await contracts?.getNameWrapper()!
140
142
 
141
143
  const decodedData = [result[0][1], result[1][1], result[2]?.[1]].map(
142
- (ret) =>
143
- ret &&
144
- ret !== '0x' &&
145
- ethers.utils.defaultAbiCoder.decode(['address'], ret),
144
+ (ret) => ret && ret !== '0x' && defaultAbiCoder.decode(['address'], ret),
146
145
  )
147
146
 
148
- const registryOwner = (decodedData[0] as ethers.utils.Result)[0]
149
- const nameWrapperOwner = (decodedData[1] as ethers.utils.Result)[0]
150
- let registrarOwner = (decodedData[2] as ethers.utils.Result | undefined)?.[0]
147
+ const registryOwner = (decodedData[0] as Result)[0]
148
+ const nameWrapperOwner = (decodedData[1] as Result)[0]
149
+ let registrarOwner = (decodedData[2] as Result | undefined)?.[0]
151
150
 
152
151
  // check for only .eth names
153
152
  if (labels[labels.length - 1] === 'eth') {
154
153
  if (!registrarOwner && labels.length === 2) {
155
- const graphRegistrantResult = await gqlInstance?.request(
154
+ const graphRegistrantResult = await gqlInstance.client.request(
156
155
  registrantQuery,
157
156
  {
158
157
  namehash: makeNamehash(name),
@@ -180,7 +179,7 @@ const decode = async (
180
179
  ownershipLevel: 'registrar',
181
180
  }
182
181
  }
183
- if (ethers.utils.hexStripZeros(registryOwner) !== '0x') {
182
+ if (hexStripZeros(registryOwner) !== '0x') {
184
183
  // if there is no registrar owner, but the label length is two, then the domain is an expired 2LD .eth
185
184
  // so we still want to return the ownership values
186
185
  if (labels.length === 2) {
@@ -194,7 +193,7 @@ const decode = async (
194
193
  if (
195
194
  registryOwner === nameWrapper.address &&
196
195
  nameWrapperOwner &&
197
- ethers.utils.hexStripZeros(nameWrapperOwner) !== '0x'
196
+ hexStripZeros(nameWrapperOwner) !== '0x'
198
197
  ) {
199
198
  return {
200
199
  owner: nameWrapperOwner,
@@ -218,7 +217,7 @@ const decode = async (
218
217
  if (
219
218
  registryOwner === nameWrapper.address &&
220
219
  nameWrapperOwner &&
221
- ethers.utils.hexStripZeros(nameWrapperOwner) !== '0x'
220
+ hexStripZeros(nameWrapperOwner) !== '0x'
222
221
  ) {
223
222
  return {
224
223
  owner: nameWrapperOwner,
@@ -227,7 +226,7 @@ const decode = async (
227
226
  }
228
227
 
229
228
  // for unwrapped non .eth names, the owner is the registry owner
230
- if (ethers.utils.hexStripZeros(registryOwner) !== '0x') {
229
+ if (hexStripZeros(registryOwner) !== '0x') {
231
230
  return {
232
231
  owner: registryOwner,
233
232
  ownershipLevel: 'registry',
@@ -1,4 +1,5 @@
1
- import { BigNumber, utils } from 'ethers'
1
+ import { defaultAbiCoder } from '@ethersproject/abi/lib/abi-coder'
2
+ import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
3
  import { ENSArgs } from '..'
3
4
 
4
5
  const raw = async (
@@ -75,11 +76,11 @@ const decode = async (
75
76
  const isBulkRenewal = Array.isArray(_nameOrNames) && _nameOrNames.length > 1
76
77
  if (isBulkRenewal && legacy) {
77
78
  const result = await multicallWrapper.decode(data)
78
- const [price] = utils.defaultAbiCoder.decode(
79
+ const [price] = defaultAbiCoder.decode(
79
80
  ['uint256'],
80
81
  result[0].returnData,
81
82
  ) as [BigNumber]
82
- ;[premium] = utils.defaultAbiCoder.decode(
83
+ ;[premium] = defaultAbiCoder.decode(
83
84
  ['uint256'],
84
85
  result[1].returnData,
85
86
  ) as [BigNumber]
@@ -94,11 +95,11 @@ const decode = async (
94
95
  premium = BigNumber.from(0)
95
96
  } else if (!isBulkRenewal && legacy) {
96
97
  const result = await multicallWrapper.decode(data)
97
- const [price] = utils.defaultAbiCoder.decode(
98
+ const [price] = defaultAbiCoder.decode(
98
99
  ['uint256'],
99
100
  result[0].returnData,
100
101
  ) as [BigNumber]
101
- ;[premium] = utils.defaultAbiCoder.decode(
102
+ ;[premium] = defaultAbiCoder.decode(
102
103
  ['uint256'],
103
104
  result[1].returnData,
104
105
  ) as [BigNumber]
@@ -1,6 +1,6 @@
1
1
  import { formatsByName } from '@ensdomains/address-encoder'
2
- import { ethers } from 'ethers'
3
- import { hexStripZeros } from 'ethers/lib/utils'
2
+ import { defaultAbiCoder } from '@ethersproject/abi/lib/abi-coder'
3
+ import { hexStripZeros, isBytesLike } from '@ethersproject/bytes'
4
4
  import { ENSArgs } from '..'
5
5
  import { decodeContenthash, DecodedContentHash } from '../utils/contentHash'
6
6
  import { hexEncodeName } from '../utils/hexEncodedName'
@@ -154,11 +154,8 @@ const formatRecords = async (
154
154
  type: calls[i].type,
155
155
  }
156
156
  if (itemRet.type === 'contentHash') {
157
- ;[decodedFromAbi] = ethers.utils.defaultAbiCoder.decode(
158
- ['bytes'],
159
- item,
160
- )
161
- if (ethers.utils.hexStripZeros(decodedFromAbi) === '0x') {
157
+ ;[decodedFromAbi] = defaultAbiCoder.decode(['bytes'], item)
158
+ if (hexStripZeros(decodedFromAbi) === '0x') {
162
159
  return
163
160
  }
164
161
  }
@@ -218,12 +215,12 @@ const formatRecords = async (
218
215
  ) {
219
216
  if (
220
217
  typeof options.contentHash === 'string' &&
221
- ethers.utils.hexStripZeros(options.contentHash) === '0x'
218
+ hexStripZeros(options.contentHash) === '0x'
222
219
  ) {
223
220
  returnedResponse.contentHash = null
224
221
  } else if (
225
- ethers.utils.isBytesLike((options.contentHash as any).decoded) &&
226
- ethers.utils.hexStripZeros((options.contentHash as any).decoded) === '0x'
222
+ isBytesLike((options.contentHash as any).decoded) &&
223
+ hexStripZeros((options.contentHash as any).decoded) === '0x'
227
224
  ) {
228
225
  returnedResponse.contentHash = null
229
226
  } else {
@@ -402,14 +399,17 @@ const graphFetch = async (
402
399
  let resolverResponse: any
403
400
 
404
401
  if (!resolverAddress) {
405
- ;({ domain } = await client.request(query, { id }))
402
+ const response = await client.request(query, { id })
403
+ domain = response?.domain
406
404
  resolverResponse = domain?.resolver
407
405
  } else {
408
406
  const resolverId = `${resolverAddress.toLowerCase()}-${id}`
409
- ;({ resolver: resolverResponse, domain } = await client.request(
410
- customResolverQuery,
411
- { id, resolverId },
412
- ))
407
+ const response = await client.request(customResolverQuery, {
408
+ id,
409
+ resolverId,
410
+ })
411
+ resolverResponse = response?.resolver
412
+ domain = response?.domain
413
413
  }
414
414
 
415
415
  if (!domain) return
@@ -1,4 +1,4 @@
1
- import { ethers } from 'ethers'
1
+ import { hexStripZeros } from '@ethersproject/bytes'
2
2
  import { ENSArgs } from '..'
3
3
  import { hexEncodeName } from '../utils/hexEncodedName'
4
4
 
@@ -19,11 +19,7 @@ const decode = async ({ contracts }: ENSArgs<'contracts'>, data: string) => {
19
19
  data,
20
20
  )
21
21
 
22
- if (
23
- !response ||
24
- !response[0] ||
25
- ethers.utils.hexStripZeros(response[0]) === '0x'
26
- ) {
22
+ if (!response || !response[0] || hexStripZeros(response[0]) === '0x') {
27
23
  return
28
24
  }
29
25
  return response[0]
@@ -1,5 +1,5 @@
1
1
  import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'
2
- import { ethers } from 'ethers'
2
+ import { hexStripZeros, isBytesLike } from '@ethersproject/bytes'
3
3
  import { ENSArgs } from '..'
4
4
  import { decodeContenthash } from '../utils/contentHash'
5
5
  import { namehash } from '../utils/normalise'
@@ -34,8 +34,8 @@ export const _getContentHash = {
34
34
 
35
35
  if (
36
36
  !decodedContent ||
37
- (ethers.utils.isBytesLike(decodedContent.decoded) &&
38
- ethers.utils.hexStripZeros(decodedContent.decoded) === '0x') ||
37
+ (isBytesLike(decodedContent.decoded) &&
38
+ hexStripZeros(decodedContent.decoded) === '0x') ||
39
39
  Object.keys(decodedContent).length === 0
40
40
  ) {
41
41
  return
@@ -196,7 +196,7 @@ export const _getAddr = {
196
196
 
197
197
  if (!response) return
198
198
 
199
- if (ethers.utils.hexStripZeros(response) === '0x') {
199
+ if (hexStripZeros(response) === '0x') {
200
200
  return
201
201
  }
202
202
 
@@ -104,7 +104,8 @@ const largeQuery = async (
104
104
  orderDirection,
105
105
  search: search?.toLowerCase(),
106
106
  }
107
- const { domain } = await client.request(finalQuery, queryVars)
107
+ const response = await client.request(finalQuery, queryVars)
108
+ const domain = response?.domain
108
109
  const subdomains = domain.subdomains.map((subname: any) => {
109
110
  const decrypted = decryptName(subname.name)
110
111
 
@@ -1,4 +1,4 @@
1
- import { BigNumber } from 'ethers'
1
+ import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
2
  import { ENSArgs } from '../index'
3
3
  import { decodeFuses } from '../utils/fuses'
4
4
  import { namehash } from '../utils/normalise'
@@ -1,4 +1,4 @@
1
- import { BigNumber } from 'ethers'
1
+ import { BigNumber } from '@ethersproject/bignumber/lib/bignumber'
2
2
  import { ENSArgs } from '..'
3
3
  import {
4
4
  BaseRegistrationParams,
@@ -1,4 +1,4 @@
1
- import { BigNumber, BigNumberish } from 'ethers'
1
+ import { BigNumber, BigNumberish } from '@ethersproject/bignumber/lib/bignumber'
2
2
  import { ENSArgs } from '..'
3
3
  import { FuseProps, validateFuses } from '../utils/fuses'
4
4
  import { MAX_INT_64 } from '../utils/registerHelpers'