@ensdomains/ensjs 3.0.0-alpha.4 → 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 (759) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/cjs/GqlManager.js +109 -36
  4. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  5. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  6. package/dist/cjs/contracts/dnsRegistrar.js +25 -0
  7. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  8. package/dist/cjs/contracts/factories.js +16 -0
  9. package/dist/cjs/contracts/getContractAddress.js +82 -43
  10. package/dist/cjs/contracts/index.js +56 -32
  11. package/dist/cjs/contracts/multicall.js +24 -21
  12. package/dist/cjs/contracts/nameWrapper.js +24 -3
  13. package/dist/cjs/contracts/publicResolver.js +24 -3
  14. package/dist/cjs/contracts/registry.js +24 -3
  15. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  16. package/dist/cjs/contracts/types.js +15 -1
  17. package/dist/cjs/contracts/universalResolver.js +24 -3
  18. package/dist/cjs/functions/batch.js +42 -15
  19. package/dist/cjs/functions/batchWrappers.js +130 -67
  20. package/dist/cjs/functions/burnFuses.js +28 -15
  21. package/dist/cjs/functions/commitName.js +49 -0
  22. package/dist/cjs/functions/createSubname.js +80 -38
  23. package/dist/cjs/functions/deleteSubname.js +59 -4
  24. package/dist/cjs/functions/getAvailable.js +55 -0
  25. package/dist/cjs/functions/getDNSOwner.js +78 -72
  26. package/dist/cjs/functions/getExpiry.js +110 -41
  27. package/dist/cjs/functions/getHistory.js +166 -195
  28. package/dist/cjs/functions/getName.js +51 -28
  29. package/dist/cjs/functions/getNames.js +211 -102
  30. package/dist/cjs/functions/getOwner.js +178 -123
  31. package/dist/cjs/functions/getPrice.js +119 -43
  32. package/dist/cjs/functions/getProfile.js +449 -253
  33. package/dist/cjs/functions/getRecords.js +29 -9
  34. package/dist/cjs/functions/getResolver.js +41 -19
  35. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  36. package/dist/cjs/functions/getSubnames.js +75 -118
  37. package/dist/cjs/functions/getWrapperData.js +58 -0
  38. package/dist/cjs/functions/importDNSSECName.js +65 -0
  39. package/dist/cjs/functions/initialGetters.js +48 -37
  40. package/dist/cjs/functions/registerName.js +44 -0
  41. package/dist/cjs/functions/renewNames.js +62 -0
  42. package/dist/cjs/functions/setName.js +41 -15
  43. package/dist/cjs/functions/setRecord.js +56 -0
  44. package/dist/cjs/functions/setRecords.js +50 -20
  45. package/dist/cjs/functions/setResolver.js +43 -23
  46. package/dist/cjs/functions/supportsTLD.js +48 -0
  47. package/dist/cjs/functions/transferController.js +42 -0
  48. package/dist/cjs/functions/transferName.js +61 -30
  49. package/dist/cjs/functions/transferSubname.js +60 -24
  50. package/dist/cjs/functions/types.js +16 -0
  51. package/dist/cjs/functions/unwrapName.js +49 -25
  52. package/dist/cjs/functions/wrapName.js +123 -57
  53. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  54. package/dist/cjs/generated/BulkRenewal.js +16 -0
  55. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  56. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  57. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  58. package/dist/cjs/generated/ENSRegistry.js +15 -1
  59. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  60. package/dist/cjs/generated/Multicall.js +15 -1
  61. package/dist/cjs/generated/NameWrapper.js +15 -1
  62. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  63. package/dist/cjs/generated/PublicResolver.js +15 -1
  64. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  65. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  66. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  67. package/dist/cjs/generated/Root.js +15 -1
  68. package/dist/cjs/generated/SHA1Digest.js +15 -1
  69. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  70. package/dist/cjs/generated/SHA256Digest.js +15 -1
  71. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  72. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  73. package/dist/cjs/generated/UniversalResolver.js +15 -1
  74. package/dist/cjs/generated/common.js +15 -1
  75. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
  76. package/dist/cjs/generated/factories/BulkRenewal__factory.js +121 -0
  77. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +282 -288
  78. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +486 -492
  79. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
  80. package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
  81. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +672 -504
  82. package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
  83. package/dist/cjs/generated/factories/NameWrapper__factory.js +1379 -1194
  84. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +61 -67
  85. package/dist/cjs/generated/factories/PublicResolver__factory.js +957 -885
  86. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +61 -67
  87. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +61 -67
  88. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +363 -333
  89. package/dist/cjs/generated/factories/Root__factory.js +254 -237
  90. package/dist/cjs/generated/factories/SHA1Digest__factory.js +56 -62
  91. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +61 -67
  92. package/dist/cjs/generated/factories/SHA256Digest__factory.js +56 -62
  93. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
  94. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +51 -57
  95. package/dist/cjs/generated/factories/UniversalResolver__factory.js +493 -199
  96. package/dist/cjs/generated/factories/index.js +63 -17
  97. package/dist/cjs/generated/index.js +70 -37
  98. package/dist/cjs/index.js +307 -211
  99. package/dist/cjs/static.js +85 -0
  100. package/dist/cjs/utils/ccip.js +129 -0
  101. package/dist/cjs/utils/consts.js +24 -0
  102. package/dist/cjs/utils/contentHash.js +145 -142
  103. package/dist/cjs/utils/createReverseNode.js +23 -2
  104. package/dist/cjs/utils/format.js +27 -8
  105. package/dist/cjs/utils/fuses.js +123 -13
  106. package/dist/cjs/utils/generateFuseInput.js +37 -16
  107. package/dist/cjs/utils/hexEncodedName.js +29 -7
  108. package/dist/cjs/utils/labels.js +99 -83
  109. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  110. package/dist/cjs/utils/normalise.js +51 -22
  111. package/dist/cjs/utils/recordHelpers.js +89 -39
  112. package/dist/cjs/utils/registerHelpers.js +118 -46
  113. package/dist/cjs/utils/singleCall.js +23 -6
  114. package/dist/cjs/utils/validation.js +76 -63
  115. package/dist/cjs/utils/wrapper.js +51 -0
  116. package/dist/cjs/utils/writeTx.js +25 -0
  117. package/dist/esm/GqlManager.mjs +88 -0
  118. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  119. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  120. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  121. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  122. package/dist/esm/contracts/factories.mjs +0 -0
  123. package/dist/esm/contracts/getContractAddress.mjs +66 -0
  124. package/dist/esm/contracts/index.mjs +44 -0
  125. package/dist/esm/contracts/multicall.mjs +6 -0
  126. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  127. package/dist/esm/contracts/publicResolver.mjs +6 -0
  128. package/dist/esm/contracts/registry.mjs +6 -0
  129. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  130. package/dist/esm/contracts/types.mjs +0 -0
  131. package/dist/esm/contracts/universalResolver.mjs +6 -0
  132. package/dist/esm/functions/batch.mjs +29 -0
  133. package/dist/esm/functions/batchWrappers.mjs +109 -0
  134. package/dist/esm/functions/burnFuses.mjs +12 -0
  135. package/dist/esm/functions/commitName.mjs +30 -0
  136. package/dist/esm/functions/createSubname.mjs +61 -0
  137. package/dist/esm/functions/deleteSubname.mjs +42 -0
  138. package/dist/esm/functions/getAvailable.mjs +36 -0
  139. package/dist/esm/functions/getDNSOwner.mjs +60 -0
  140. package/dist/esm/functions/getExpiry.mjs +95 -0
  141. package/dist/esm/functions/getHistory.mjs +231 -0
  142. package/dist/esm/functions/getName.mjs +38 -0
  143. package/dist/esm/functions/getNames.mjs +312 -0
  144. package/dist/esm/functions/getOwner.mjs +175 -0
  145. package/dist/esm/functions/getPrice.mjs +107 -0
  146. package/dist/esm/functions/getProfile.mjs +479 -0
  147. package/dist/esm/functions/getRecords.mjs +12 -0
  148. package/dist/esm/functions/getResolver.mjs +27 -0
  149. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  150. package/dist/esm/functions/getSubnames.mjs +92 -0
  151. package/dist/esm/functions/getWrapperData.mjs +39 -0
  152. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  153. package/dist/esm/functions/initialGetters.mjs +25 -0
  154. package/dist/esm/functions/registerName.mjs +27 -0
  155. package/dist/esm/functions/renewNames.mjs +43 -0
  156. package/dist/esm/functions/setName.mjs +23 -0
  157. package/dist/esm/functions/setRecord.mjs +36 -0
  158. package/dist/esm/functions/setRecords.mjs +32 -0
  159. package/dist/esm/functions/setResolver.mjs +29 -0
  160. package/dist/esm/functions/supportsTLD.mjs +29 -0
  161. package/dist/esm/functions/transferController.mjs +23 -0
  162. package/dist/esm/functions/transferName.mjs +46 -0
  163. package/dist/esm/functions/transferSubname.mjs +45 -0
  164. package/dist/esm/functions/types.mjs +0 -0
  165. package/dist/esm/functions/unwrapName.mjs +33 -0
  166. package/dist/esm/functions/wrapName.mjs +105 -0
  167. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  168. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  169. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  170. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  171. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  172. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  173. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  174. package/dist/esm/generated/Multicall.mjs +0 -0
  175. package/dist/esm/generated/NameWrapper.mjs +0 -0
  176. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  177. package/dist/esm/generated/PublicResolver.mjs +0 -0
  178. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  179. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  180. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  181. package/dist/esm/generated/Root.mjs +0 -0
  182. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  183. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  184. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  185. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  186. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  187. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  188. package/dist/esm/generated/common.mjs +0 -0
  189. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
  190. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +109 -0
  191. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
  192. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
  193. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
  194. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
  195. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +667 -0
  196. package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
  197. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1373 -0
  198. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
  199. package/dist/esm/generated/factories/PublicResolver__factory.mjs +952 -0
  200. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
  201. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
  202. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +358 -0
  203. package/dist/esm/generated/factories/Root__factory.mjs +248 -0
  204. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
  205. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
  206. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
  207. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
  208. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
  209. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +486 -0
  210. package/dist/esm/generated/factories/index.mjs +45 -0
  211. package/dist/esm/generated/index.mjs +47 -0
  212. package/dist/esm/index.mjs +299 -0
  213. package/dist/esm/static.mjs +62 -0
  214. package/dist/esm/utils/ccip.mjs +114 -0
  215. package/dist/esm/utils/consts.mjs +5 -0
  216. package/dist/esm/utils/contentHash.mjs +142 -0
  217. package/dist/esm/utils/createReverseNode.mjs +5 -0
  218. package/dist/esm/utils/format.mjs +9 -0
  219. package/dist/esm/utils/fuses.mjs +115 -0
  220. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  221. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  222. package/dist/esm/utils/labels.mjs +109 -0
  223. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  224. package/dist/esm/utils/normalise.mjs +32 -0
  225. package/dist/esm/utils/recordHelpers.mjs +75 -0
  226. package/dist/esm/utils/registerHelpers.mjs +98 -0
  227. package/dist/esm/utils/singleCall.mjs +5 -0
  228. package/dist/esm/utils/validation.mjs +67 -0
  229. package/dist/esm/utils/wrapper.mjs +32 -0
  230. package/dist/esm/utils/writeTx.mjs +6 -0
  231. package/dist/types/GqlManager.d.ts +13 -0
  232. package/dist/types/contracts/baseRegistrar.d.ts +3 -0
  233. package/dist/types/contracts/bulkRenewal.d.ts +3 -0
  234. package/dist/types/contracts/dnsRegistrar.d.ts +3 -0
  235. package/dist/types/contracts/ethRegistrarController.d.ts +3 -0
  236. package/dist/types/contracts/factories.d.ts +45 -0
  237. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  238. package/dist/types/contracts/index.d.ts +38 -0
  239. package/dist/types/contracts/multicall.d.ts +3 -0
  240. package/dist/types/contracts/nameWrapper.d.ts +3 -0
  241. package/dist/types/contracts/publicResolver.d.ts +3 -0
  242. package/dist/types/contracts/registry.d.ts +3 -0
  243. package/dist/types/contracts/reverseRegistrar.d.ts +3 -0
  244. package/dist/types/contracts/types.d.ts +2 -0
  245. package/dist/types/contracts/universalResolver.d.ts +3 -0
  246. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  247. package/dist/types/functions/batchWrappers.d.ts +86 -0
  248. package/dist/types/functions/burnFuses.d.ts +3 -0
  249. package/dist/types/functions/commitName.d.ts +26 -0
  250. package/dist/types/functions/createSubname.d.ts +16 -0
  251. package/dist/types/functions/deleteSubname.d.ts +6 -0
  252. package/dist/{esm/functions/getResolver.d.ts → types/functions/getAvailable.d.ts} +1 -1
  253. package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
  254. package/dist/types/functions/getExpiry.d.ts +19 -0
  255. package/dist/types/functions/getHistory.d.ts +28 -0
  256. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  257. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  258. package/dist/{cjs → types}/functions/getOwner.d.ts +1 -1
  259. package/dist/{esm → types}/functions/getPrice.d.ts +3 -3
  260. package/dist/{esm → types}/functions/getProfile.d.ts +11 -1
  261. package/dist/{cjs → types}/functions/getRecords.d.ts +4 -2
  262. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  263. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +6 -6
  264. package/dist/{esm → types}/functions/getSubnames.d.ts +2 -2
  265. package/dist/types/functions/getWrapperData.d.ts +15 -0
  266. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  267. package/dist/{cjs → types}/functions/initialGetters.d.ts +1 -0
  268. package/dist/types/functions/registerName.d.ts +8 -0
  269. package/dist/types/functions/renewNames.d.ts +13 -0
  270. package/dist/types/functions/setName.d.ts +5 -0
  271. package/dist/types/functions/setRecord.d.ts +18 -0
  272. package/dist/types/functions/setRecords.d.ts +6 -0
  273. package/dist/types/functions/setResolver.d.ts +5 -0
  274. package/dist/types/functions/supportsTLD.d.ts +2 -0
  275. package/dist/types/functions/transferController.d.ts +5 -0
  276. package/dist/types/functions/transferName.d.ts +6 -0
  277. package/dist/types/functions/transferSubname.d.ts +14 -0
  278. package/dist/types/functions/types.d.ts +77 -0
  279. package/dist/types/functions/unwrapName.d.ts +5 -0
  280. package/dist/types/functions/wrapName.d.ts +9 -0
  281. package/dist/types/generated/BaseRegistrarImplementation.d.ts +512 -0
  282. package/dist/types/generated/BulkRenewal.d.ts +80 -0
  283. package/dist/types/generated/DNSRegistrar.d.ts +228 -0
  284. package/dist/types/generated/DNSSECImpl.d.ts +406 -0
  285. package/dist/types/generated/DefaultReverseResolver.d.ts +70 -0
  286. package/dist/types/generated/ENSRegistry.d.ts +278 -0
  287. package/dist/types/generated/ETHRegistrarController.d.ts +366 -0
  288. package/dist/{esm → types}/generated/Multicall.d.ts +113 -109
  289. package/dist/types/generated/NameWrapper.d.ts +814 -0
  290. package/dist/{esm → types}/generated/P256SHA256Algorithm.d.ts +22 -14
  291. package/dist/types/generated/PublicResolver.d.ts +598 -0
  292. package/dist/types/generated/RSASHA1Algorithm.d.ts +50 -0
  293. package/dist/types/generated/RSASHA256Algorithm.d.ts +50 -0
  294. package/dist/types/generated/ReverseRegistrar.d.ts +283 -0
  295. package/dist/types/generated/Root.d.ts +177 -0
  296. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +18 -14
  297. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +22 -14
  298. package/dist/{esm → types}/generated/SHA256Digest.d.ts +18 -14
  299. package/dist/types/generated/StaticMetadataService.d.ts +46 -0
  300. package/dist/types/generated/TLDPublicSuffixList.d.ts +46 -0
  301. package/dist/types/generated/UniversalResolver.d.ts +188 -0
  302. package/dist/{esm → types}/generated/common.d.ts +4 -3
  303. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  304. package/dist/{cjs/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +6 -6
  305. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +17 -16
  306. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +11 -11
  307. package/dist/{esm → types}/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  308. package/dist/{esm → types}/generated/factories/ENSRegistry__factory.d.ts +3 -3
  309. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +15 -4
  310. package/dist/{esm → types}/generated/factories/Multicall__factory.d.ts +3 -3
  311. package/dist/{esm → types}/generated/factories/NameWrapper__factory.d.ts +3 -3
  312. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  313. package/dist/{esm → types}/generated/factories/PublicResolver__factory.d.ts +3 -3
  314. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  315. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  316. package/dist/{esm → types}/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  317. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +3 -3
  318. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  319. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  320. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  321. package/dist/{esm → types}/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  322. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  323. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +3 -3
  324. package/dist/types/generated/factories/index.d.ts +21 -0
  325. package/dist/types/generated/index.d.ts +43 -0
  326. package/dist/{esm → types}/index.d.ts +192 -132
  327. package/dist/types/static.d.ts +26 -0
  328. package/dist/types/utils/ccip.d.ts +3 -0
  329. package/dist/types/utils/consts.d.ts +1 -0
  330. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  331. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  332. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  333. package/dist/types/utils/fuses.d.ts +61 -0
  334. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +1 -1
  335. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  336. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  337. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  338. package/dist/types/utils/normalise.d.ts +2 -0
  339. package/dist/{esm → types}/utils/recordHelpers.d.ts +4 -0
  340. package/dist/types/utils/registerHelpers.d.ts +59 -0
  341. package/dist/{esm → types}/utils/singleCall.d.ts +2 -2
  342. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  343. package/dist/types/utils/wrapper.d.ts +6 -0
  344. package/dist/types/utils/writeTx.d.ts +21 -0
  345. package/package.json +103 -39
  346. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  347. package/src/@types/dns-packet/index.d.ts +113 -113
  348. package/src/ABIs/Multicall.json +452 -0
  349. package/src/GqlManager.test.ts +173 -0
  350. package/src/GqlManager.ts +105 -9
  351. package/src/contracts/baseRegistrar.ts +2 -2
  352. package/src/contracts/bulkRenewal.ts +6 -0
  353. package/src/contracts/dnsRegistrar.ts +5 -0
  354. package/src/contracts/ethRegistrarController.ts +2 -2
  355. package/src/contracts/factories.ts +48 -0
  356. package/src/contracts/getContractAddress.ts +28 -5
  357. package/src/contracts/index.ts +72 -48
  358. package/src/contracts/multicall.ts +2 -21
  359. package/src/contracts/nameWrapper.ts +2 -2
  360. package/src/contracts/publicResolver.ts +2 -2
  361. package/src/contracts/registry.ts +2 -2
  362. package/src/contracts/reverseRegistrar.ts +2 -2
  363. package/src/contracts/types.ts +3 -1
  364. package/src/contracts/universalResolver.ts +2 -2
  365. package/src/functions/batch.test.ts +10 -10
  366. package/src/functions/batch.ts +3 -3
  367. package/src/functions/batchWrappers.test.ts +13 -13
  368. package/src/functions/batchWrappers.ts +42 -11
  369. package/src/functions/burnFuses.test.ts +127 -23
  370. package/src/functions/burnFuses.ts +6 -13
  371. package/src/functions/commitName.test.ts +61 -0
  372. package/src/functions/commitName.ts +39 -0
  373. package/src/functions/createSubname.test.ts +11 -19
  374. package/src/functions/createSubname.ts +24 -17
  375. package/src/functions/deleteSubname.test.ts +36 -38
  376. package/src/functions/deleteSubname.ts +47 -13
  377. package/src/functions/getAvailable.test.ts +21 -0
  378. package/src/functions/getAvailable.ts +37 -0
  379. package/src/functions/getDNSOwner.test.ts +9 -19
  380. package/src/functions/getDNSOwner.ts +11 -9
  381. package/src/functions/getExpiry.test.ts +28 -10
  382. package/src/functions/getExpiry.ts +89 -11
  383. package/src/functions/getHistory.test.ts +17 -80
  384. package/src/functions/getHistory.ts +107 -176
  385. package/src/functions/getName.test.ts +10 -10
  386. package/src/functions/getName.ts +4 -4
  387. package/src/functions/getNames.test.ts +153 -89
  388. package/src/functions/getNames.ts +140 -36
  389. package/src/functions/getOwner.test.ts +3 -54
  390. package/src/functions/getOwner.ts +66 -29
  391. package/src/functions/getPrice.test.ts +55 -0
  392. package/src/functions/getPrice.ts +66 -13
  393. package/src/functions/getProfile-ccip.test.ts +29 -0
  394. package/src/functions/getProfile.test.ts +128 -29
  395. package/src/functions/getProfile.ts +296 -158
  396. package/src/functions/getRecords.ts +2 -1
  397. package/src/functions/getResolver.test.ts +5 -9
  398. package/src/functions/getResolver.ts +2 -6
  399. package/src/functions/getSpecificRecord.test.ts +23 -20
  400. package/src/functions/getSpecificRecord.ts +23 -152
  401. package/src/functions/getSubnames.test.ts +651 -7
  402. package/src/functions/getSubnames.ts +45 -103
  403. package/src/functions/getWrapperData.test.ts +98 -0
  404. package/src/functions/getWrapperData.ts +42 -0
  405. package/src/functions/importDNSSECName.ts +54 -0
  406. package/src/functions/initialGetters.ts +1 -0
  407. package/src/functions/makeCommitment.test.ts +6 -6
  408. package/src/functions/registerName.test.ts +59 -0
  409. package/src/functions/registerName.ts +38 -0
  410. package/src/functions/renewNames.test.ts +64 -0
  411. package/src/functions/renewNames.ts +60 -0
  412. package/src/functions/setName.test.ts +22 -18
  413. package/src/functions/setName.ts +15 -17
  414. package/src/functions/setRecord.test.ts +103 -0
  415. package/src/functions/setRecord.ts +59 -0
  416. package/src/functions/setRecords.test.ts +24 -18
  417. package/src/functions/setRecords.ts +19 -13
  418. package/src/functions/setResolver.test.ts +17 -25
  419. package/src/functions/setResolver.ts +15 -20
  420. package/src/functions/supportsTLD.test.ts +45 -0
  421. package/src/functions/supportsTLD.ts +38 -0
  422. package/src/functions/transferController.ts +29 -0
  423. package/src/functions/transferName.test.ts +24 -40
  424. package/src/functions/transferName.ts +27 -26
  425. package/src/functions/transferSubname.test.ts +19 -37
  426. package/src/functions/transferSubname.ts +41 -16
  427. package/src/functions/types.ts +94 -0
  428. package/src/functions/unwrapName.test.ts +19 -34
  429. package/src/functions/unwrapName.ts +26 -22
  430. package/src/functions/wrapName.test.ts +123 -37
  431. package/src/functions/wrapName.ts +80 -62
  432. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  433. package/src/generated/BulkRenewal.ts +196 -0
  434. package/src/generated/DNSRegistrar.ts +276 -262
  435. package/src/generated/DNSSECImpl.ts +436 -412
  436. package/src/generated/DefaultReverseResolver.ts +95 -79
  437. package/src/generated/ENSRegistry.ts +491 -422
  438. package/src/generated/ETHRegistrarController.ts +649 -491
  439. package/src/generated/Multicall.ts +345 -336
  440. package/src/generated/NameWrapper.ts +1594 -1220
  441. package/src/generated/P256SHA256Algorithm.ts +70 -65
  442. package/src/generated/PublicResolver.ts +1105 -941
  443. package/src/generated/RSASHA1Algorithm.ts +70 -65
  444. package/src/generated/RSASHA256Algorithm.ts +70 -65
  445. package/src/generated/ReverseRegistrar.ts +428 -362
  446. package/src/generated/Root.ts +295 -241
  447. package/src/generated/SHA1Digest.ts +61 -60
  448. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  449. package/src/generated/SHA256Digest.ts +61 -60
  450. package/src/generated/StaticMetadataService.ts +61 -46
  451. package/src/generated/TLDPublicSuffixList.ts +59 -55
  452. package/src/generated/UniversalResolver.ts +554 -188
  453. package/src/generated/common.ts +16 -14
  454. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  455. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  456. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  457. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  458. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  459. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  460. package/src/generated/factories/ETHRegistrarController__factory.ts +400 -251
  461. package/src/generated/factories/Multicall__factory.ts +226 -224
  462. package/src/generated/factories/NameWrapper__factory.ts +788 -618
  463. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  464. package/src/generated/factories/PublicResolver__factory.ts +490 -436
  465. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  466. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  467. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  468. package/src/generated/factories/Root__factory.ts +103 -101
  469. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  470. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  471. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  472. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  473. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  474. package/src/generated/factories/UniversalResolver__factory.ts +381 -102
  475. package/src/generated/factories/index.ts +15 -0
  476. package/src/generated/index.ts +31 -1
  477. package/src/index.ts +289 -168
  478. package/src/static.ts +94 -0
  479. package/src/utils/ccip.ts +149 -0
  480. package/src/utils/consts.ts +1 -0
  481. package/src/utils/contentHash.ts +29 -27
  482. package/src/utils/createReverseNode.ts +1 -1
  483. package/src/utils/fuses.ts +141 -4
  484. package/src/utils/generateFuseInput.ts +7 -12
  485. package/src/utils/labels.ts +7 -5
  486. package/src/utils/normalise.ts +14 -6
  487. package/src/utils/recordHelpers.ts +59 -20
  488. package/src/utils/registerHelpers.ts +125 -55
  489. package/src/utils/singleCall.ts +3 -3
  490. package/src/utils/validation.ts +9 -10
  491. package/src/utils/wrapper.ts +36 -0
  492. package/src/utils/writeTx.ts +16 -0
  493. package/dist/cjs/GqlManager.d.ts +0 -6
  494. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  495. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  496. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  497. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  498. package/dist/cjs/contracts/index.d.ts +0 -16
  499. package/dist/cjs/contracts/multicall.d.ts +0 -3
  500. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  501. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  502. package/dist/cjs/contracts/registry.d.ts +0 -3
  503. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  504. package/dist/cjs/contracts/types.d.ts +0 -2
  505. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  506. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  507. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  508. package/dist/cjs/functions/createSubname.d.ts +0 -19
  509. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  510. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  511. package/dist/cjs/functions/getFuses.d.ts +0 -17
  512. package/dist/cjs/functions/getFuses.js +0 -62
  513. package/dist/cjs/functions/getHistory.d.ts +0 -54
  514. package/dist/cjs/functions/getNames.d.ts +0 -40
  515. package/dist/cjs/functions/getPrice.d.ts +0 -13
  516. package/dist/cjs/functions/getProfile.d.ts +0 -30
  517. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  518. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  519. package/dist/cjs/functions/setName.d.ts +0 -4
  520. package/dist/cjs/functions/setRecords.d.ts +0 -3
  521. package/dist/cjs/functions/setResolver.d.ts +0 -4
  522. package/dist/cjs/functions/transferName.d.ts +0 -5
  523. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  524. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  525. package/dist/cjs/functions/wrapName.d.ts +0 -6
  526. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  527. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  528. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  529. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  530. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  531. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  532. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  533. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  534. package/dist/cjs/generated/Multicall.d.ts +0 -292
  535. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  536. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  537. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  538. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  539. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  540. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  541. package/dist/cjs/generated/Root.d.ts +0 -173
  542. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  543. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  544. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  545. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  546. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  547. package/dist/cjs/generated/common.d.ts +0 -21
  548. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  549. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  550. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  551. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  552. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  553. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  554. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  555. package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +0 -57
  556. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  557. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  558. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  559. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  560. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  561. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  562. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  563. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  564. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  565. package/dist/cjs/generated/factories/index.d.ts +0 -6
  566. package/dist/cjs/generated/index.d.ts +0 -13
  567. package/dist/cjs/index.d.ts +0 -471
  568. package/dist/cjs/utils/fuses.d.ts +0 -20
  569. package/dist/cjs/utils/normalise.d.ts +0 -2
  570. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  571. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  572. package/dist/cjs/utils/singleCall.d.ts +0 -9
  573. package/dist/esm/GqlManager.d.ts +0 -6
  574. package/dist/esm/GqlManager.js +0 -18
  575. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  576. package/dist/esm/contracts/baseRegistrar.js +0 -2
  577. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  578. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  579. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  580. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  581. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  582. package/dist/esm/contracts/getContractAddress.js +0 -42
  583. package/dist/esm/contracts/index.d.ts +0 -16
  584. package/dist/esm/contracts/index.js +0 -29
  585. package/dist/esm/contracts/multicall.d.ts +0 -3
  586. package/dist/esm/contracts/multicall.js +0 -20
  587. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  588. package/dist/esm/contracts/nameWrapper.js +0 -2
  589. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  590. package/dist/esm/contracts/publicResolver.js +0 -2
  591. package/dist/esm/contracts/registry.d.ts +0 -3
  592. package/dist/esm/contracts/registry.js +0 -2
  593. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  594. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  595. package/dist/esm/contracts/types.d.ts +0 -2
  596. package/dist/esm/contracts/types.js +0 -1
  597. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  598. package/dist/esm/contracts/universalResolver.js +0 -2
  599. package/dist/esm/functions/batch.d.ts +0 -9
  600. package/dist/esm/functions/batch.js +0 -19
  601. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  602. package/dist/esm/functions/batchWrappers.js +0 -68
  603. package/dist/esm/functions/burnFuses.d.ts +0 -3
  604. package/dist/esm/functions/burnFuses.js +0 -12
  605. package/dist/esm/functions/createSubname.d.ts +0 -19
  606. package/dist/esm/functions/createSubname.js +0 -38
  607. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  608. package/dist/esm/functions/deleteSubname.js +0 -3
  609. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  610. package/dist/esm/functions/getDNSOwner.js +0 -51
  611. package/dist/esm/functions/getExpiry.d.ts +0 -12
  612. package/dist/esm/functions/getExpiry.js +0 -43
  613. package/dist/esm/functions/getFuses.d.ts +0 -17
  614. package/dist/esm/functions/getFuses.js +0 -60
  615. package/dist/esm/functions/getHistory.d.ts +0 -54
  616. package/dist/esm/functions/getHistory.js +0 -273
  617. package/dist/esm/functions/getName.d.ts +0 -19
  618. package/dist/esm/functions/getName.js +0 -32
  619. package/dist/esm/functions/getNames.js +0 -220
  620. package/dist/esm/functions/getOwner.d.ts +0 -14
  621. package/dist/esm/functions/getOwner.js +0 -138
  622. package/dist/esm/functions/getPrice.js +0 -48
  623. package/dist/esm/functions/getProfile.js +0 -299
  624. package/dist/esm/functions/getRecords.d.ts +0 -32
  625. package/dist/esm/functions/getRecords.js +0 -8
  626. package/dist/esm/functions/getResolver.js +0 -22
  627. package/dist/esm/functions/getSpecificRecord.js +0 -265
  628. package/dist/esm/functions/getSubnames.js +0 -152
  629. package/dist/esm/functions/initialGetters.d.ts +0 -11
  630. package/dist/esm/functions/initialGetters.js +0 -11
  631. package/dist/esm/functions/setName.d.ts +0 -4
  632. package/dist/esm/functions/setName.js +0 -14
  633. package/dist/esm/functions/setRecords.d.ts +0 -3
  634. package/dist/esm/functions/setRecords.js +0 -19
  635. package/dist/esm/functions/setResolver.d.ts +0 -4
  636. package/dist/esm/functions/setResolver.js +0 -25
  637. package/dist/esm/functions/transferName.d.ts +0 -5
  638. package/dist/esm/functions/transferName.js +0 -31
  639. package/dist/esm/functions/transferSubname.d.ts +0 -5
  640. package/dist/esm/functions/transferSubname.js +0 -25
  641. package/dist/esm/functions/unwrapName.d.ts +0 -4
  642. package/dist/esm/functions/unwrapName.js +0 -25
  643. package/dist/esm/functions/wrapName.d.ts +0 -6
  644. package/dist/esm/functions/wrapName.js +0 -58
  645. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  646. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  647. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  648. package/dist/esm/generated/DNSRegistrar.js +0 -1
  649. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  650. package/dist/esm/generated/DNSSECImpl.js +0 -1
  651. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  652. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  653. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  654. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  655. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  656. package/dist/esm/generated/ENSRegistry.js +0 -1
  657. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  658. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  659. package/dist/esm/generated/Multicall.js +0 -1
  660. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  661. package/dist/esm/generated/NameWrapper.js +0 -1
  662. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  663. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  664. package/dist/esm/generated/PublicResolver.js +0 -1
  665. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  666. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  667. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  668. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  669. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  670. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  671. package/dist/esm/generated/Root.d.ts +0 -173
  672. package/dist/esm/generated/Root.js +0 -1
  673. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  674. package/dist/esm/generated/SHA1Digest.js +0 -1
  675. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  676. package/dist/esm/generated/SHA256Digest.js +0 -1
  677. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  678. package/dist/esm/generated/StaticMetadataService.js +0 -1
  679. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  680. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  681. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  682. package/dist/esm/generated/UniversalResolver.js +0 -1
  683. package/dist/esm/generated/common.js +0 -1
  684. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  685. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  686. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  687. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  688. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  689. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  690. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  691. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  692. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  693. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  694. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  695. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  696. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  697. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  698. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  699. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  700. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  701. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  702. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  703. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  704. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  705. package/dist/esm/generated/factories/Root__factory.js +0 -239
  706. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  707. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  708. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  709. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  710. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  711. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  712. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  713. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  714. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  715. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  716. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  717. package/dist/esm/generated/factories/index.d.ts +0 -6
  718. package/dist/esm/generated/factories/index.js +0 -9
  719. package/dist/esm/generated/index.d.ts +0 -13
  720. package/dist/esm/generated/index.js +0 -7
  721. package/dist/esm/index.js +0 -190
  722. package/dist/esm/utils/contentHash.d.ts +0 -28
  723. package/dist/esm/utils/contentHash.js +0 -153
  724. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  725. package/dist/esm/utils/createReverseNode.js +0 -1
  726. package/dist/esm/utils/format.d.ts +0 -3
  727. package/dist/esm/utils/format.js +0 -3
  728. package/dist/esm/utils/fuses.d.ts +0 -20
  729. package/dist/esm/utils/fuses.js +0 -21
  730. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  731. package/dist/esm/utils/generateFuseInput.js +0 -14
  732. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  733. package/dist/esm/utils/hexEncodedName.js +0 -2
  734. package/dist/esm/utils/labels.d.ts +0 -14
  735. package/dist/esm/utils/labels.js +0 -95
  736. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  737. package/dist/esm/utils/makeHashIndexes.js +0 -3
  738. package/dist/esm/utils/normalise.d.ts +0 -2
  739. package/dist/esm/utils/normalise.js +0 -20
  740. package/dist/esm/utils/recordHelpers.js +0 -39
  741. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  742. package/dist/esm/utils/registerHelpers.js +0 -43
  743. package/dist/esm/utils/singleCall.js +0 -5
  744. package/dist/esm/utils/validation.d.ts +0 -8
  745. package/dist/esm/utils/validation.js +0 -67
  746. package/src/@types/FuseOptions.d.ts +0 -9
  747. package/src/ABIs/ETHRegistrarController.json +0 -494
  748. package/src/ABIs/NameWrapper.json +0 -1183
  749. package/src/ABIs/PublicResolver.json +0 -875
  750. package/src/ABIs/ReverseRegistrar.json +0 -323
  751. package/src/ABIs/StaticMetadataService.json +0 -32
  752. package/src/ABIs/UniversalResolver.json +0 -187
  753. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  754. package/src/functions/getFuses.test.ts +0 -103
  755. package/src/functions/getFuses.ts +0 -76
  756. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  757. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  758. package/src/tests/setup.ts +0 -53
  759. package/src/tests/withProvider.test.ts +0 -28
package/src/GqlManager.ts CHANGED
@@ -1,18 +1,114 @@
1
+ import type {
2
+ Kind,
3
+ parse as Parse,
4
+ print as Print,
5
+ SelectionSetNode,
6
+ visit as Visit,
7
+ } from 'graphql'
8
+ import type { gql, GraphQLClient } from 'graphql-request'
9
+ import type Traverse from 'traverse'
10
+ import { namehash } from './utils/normalise'
11
+
12
+ const generateSelection = (selection: any) => ({
13
+ kind: 'Field' as Kind.FIELD,
14
+ name: {
15
+ kind: 'Name' as Kind.NAME,
16
+ value: selection,
17
+ },
18
+ arguments: [],
19
+ directives: [],
20
+ alias: undefined,
21
+ selectionSet: undefined,
22
+ })
23
+
24
+ export const enter = (node: SelectionSetNode) => {
25
+ let hasName = false
26
+ let hasId = false
27
+
28
+ for (const selection of node.selections) {
29
+ if ('name' in selection) {
30
+ if (selection.name.value === 'name') hasName = true
31
+ else if (selection.name.value === 'id') hasId = true
32
+ }
33
+ }
34
+
35
+ if (hasName && !hasId) {
36
+ // eslint-disable-next-line no-param-reassign
37
+ node.selections = [...node.selections, generateSelection('id')]
38
+ return node
39
+ }
40
+ }
41
+
42
+ export const requestMiddleware =
43
+ (visit: typeof Visit, parse: typeof Parse, print: typeof Print) =>
44
+ (request: any) => {
45
+ const requestBody = JSON.parse(request.body)
46
+ const rawQuery = requestBody.query
47
+ const parsedQuery = parse(rawQuery)
48
+ const updatedQuery = visit(parsedQuery, {
49
+ // eslint-disable-next-line @typescript-eslint/naming-convention
50
+ SelectionSet: {
51
+ enter,
52
+ },
53
+ })
54
+
55
+ return {
56
+ ...request,
57
+ body: JSON.stringify({ ...requestBody, query: print(updatedQuery) }),
58
+ }
59
+ }
60
+
61
+ export const responseMiddleware =
62
+ (traverse: typeof Traverse) => (response: any) => {
63
+ // eslint-disable-next-line func-names
64
+ traverse(response).forEach(function (responseItem: any) {
65
+ if (responseItem instanceof Object && responseItem.name) {
66
+ // Name already in hashed form
67
+ if (responseItem.name && responseItem.name.includes('[')) {
68
+ return
69
+ }
70
+
71
+ const hashedName = namehash(responseItem.name)
72
+ if (responseItem.id !== hashedName) {
73
+ this.update({ ...responseItem, name: hashedName, invalidName: true })
74
+ }
75
+ }
76
+ })
77
+ return response
78
+ }
79
+
1
80
  export default class GqlManager {
2
- public gql: any = () => null
3
- public client?: any | null = null
81
+ // eslint-disable-next-line class-methods-use-this
82
+ public gql: typeof gql | ((query: TemplateStringsArray) => string) = (
83
+ query: TemplateStringsArray,
84
+ ) => query.join()
85
+
86
+ public client:
87
+ | GraphQLClient
88
+ | {
89
+ request: () => Promise<null>
90
+ } = {
91
+ request: () => Promise.resolve(null),
92
+ }
4
93
 
5
94
  public setUrl = async (url: string | null) => {
6
95
  if (url) {
7
- const imported = await import('graphql-request')
8
- this.client = new imported.GraphQLClient(url)
96
+ const [imported, traverse, { visit, parse, print }] = await Promise.all([
97
+ import('graphql-request'),
98
+ import('traverse'),
99
+ import('graphql/language'),
100
+ ])
101
+
102
+ this.client = new imported.GraphQLClient(url, {
103
+ requestMiddleware: requestMiddleware(visit, parse, print),
104
+ responseMiddleware: responseMiddleware(traverse.default),
105
+ })
9
106
  this.gql = imported.gql
10
107
  } else {
11
- this.client = null
12
- this.gql = () => null
108
+ this.client = {
109
+ request: () => Promise.resolve(null),
110
+ }
111
+ this.gql = (query: TemplateStringsArray) => query.join()
13
112
  }
14
113
  }
15
-
16
- public request = (...arg: any[]) =>
17
- this.client ? this.client.request(...arg) : null
18
114
  }
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { BaseRegistrarImplementation__factory } from '../generated/factories/BaseRegistrarImplementation__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  BaseRegistrarImplementation__factory.connect(address, provider)
@@ -0,0 +1,6 @@
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
+ import { BulkRenewal__factory } from '../generated/factories/BulkRenewal__factory'
3
+
4
+ // Use a higher-order function to overide the address that is passed in from getContractAddress()
5
+ export default (provider: JsonRpcProvider, address: string) =>
6
+ BulkRenewal__factory.connect(address, provider)
@@ -0,0 +1,5 @@
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
+ import { DNSRegistrar__factory } from '../generated/factories/DNSRegistrar__factory'
3
+
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
+ DNSRegistrar__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ETHRegistrarController__factory } from '../generated/factories/ETHRegistrarController__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ETHRegistrarController__factory.connect(address, provider)
@@ -0,0 +1,48 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import type { BaseRegistrarImplementation__factory } from '../generated/factories/BaseRegistrarImplementation__factory'
3
+ import type { BulkRenewal__factory } from '../generated/factories/BulkRenewal__factory'
4
+ import type { DefaultReverseResolver__factory } from '../generated/factories/DefaultReverseResolver__factory'
5
+ import type { DNSRegistrar__factory } from '../generated/factories/DNSRegistrar__factory'
6
+ import type { DNSSECImpl__factory } from '../generated/factories/DNSSECImpl__factory'
7
+ import type { ENSRegistry__factory } from '../generated/factories/ENSRegistry__factory'
8
+ import type { ETHRegistrarController__factory } from '../generated/factories/ETHRegistrarController__factory'
9
+ import type { Multicall__factory } from '../generated/factories/Multicall__factory'
10
+ import type { NameWrapper__factory } from '../generated/factories/NameWrapper__factory'
11
+ import type { P256SHA256Algorithm__factory } from '../generated/factories/P256SHA256Algorithm__factory'
12
+ import type { PublicResolver__factory } from '../generated/factories/PublicResolver__factory'
13
+ import type { ReverseRegistrar__factory } from '../generated/factories/ReverseRegistrar__factory'
14
+ import type { Root__factory } from '../generated/factories/Root__factory'
15
+ import type { RSASHA1Algorithm__factory } from '../generated/factories/RSASHA1Algorithm__factory'
16
+ import type { RSASHA256Algorithm__factory } from '../generated/factories/RSASHA256Algorithm__factory'
17
+ import type { SHA1Digest__factory } from '../generated/factories/SHA1Digest__factory'
18
+ import type { SHA1NSEC3Digest__factory } from '../generated/factories/SHA1NSEC3Digest__factory'
19
+ import type { SHA256Digest__factory } from '../generated/factories/SHA256Digest__factory'
20
+ import type { StaticMetadataService__factory } from '../generated/factories/StaticMetadataService__factory'
21
+ import type { TLDPublicSuffixList__factory } from '../generated/factories/TLDPublicSuffixList__factory'
22
+ import type { UniversalResolver__factory } from '../generated/factories/UniversalResolver__factory'
23
+
24
+ type Factories = {
25
+ BaseRegistrarImplementation: BaseRegistrarImplementation__factory
26
+ DefaultReverseResolver: DefaultReverseResolver__factory
27
+ DNSRegistrar: DNSRegistrar__factory
28
+ DNSSECImpl: DNSSECImpl__factory
29
+ ENSRegistry: ENSRegistry__factory
30
+ ETHRegistrarController: ETHRegistrarController__factory
31
+ P256SHA256Algorithm: P256SHA256Algorithm__factory
32
+ PublicResolver: PublicResolver__factory
33
+ ReverseRegistrar: ReverseRegistrar__factory
34
+ Root: Root__factory
35
+ RSASHA1Algorithm: RSASHA1Algorithm__factory
36
+ RSASHA256Algorithm: RSASHA256Algorithm__factory
37
+ SHA1Digest: SHA1Digest__factory
38
+ SHA1NSEC3Digest: SHA1NSEC3Digest__factory
39
+ SHA256Digest: SHA256Digest__factory
40
+ TLDPublicSuffixList: TLDPublicSuffixList__factory
41
+ Multicall: Multicall__factory
42
+ NameWrapper: NameWrapper__factory
43
+ StaticMetadataService: StaticMetadataService__factory
44
+ UniversalResolver: UniversalResolver__factory
45
+ BulkRenewal: BulkRenewal__factory
46
+ }
47
+
48
+ export default Factories
@@ -4,24 +4,37 @@ const addresses: Record<
4
4
  ContractName,
5
5
  Partial<Record<SupportedNetworkId, string>> | string
6
6
  > = {
7
+ /* eslint-disable @typescript-eslint/naming-convention */
7
8
  BaseRegistrarImplementation: {
8
9
  '1': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
9
10
  '3': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
10
11
  '4': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
11
12
  '5': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
12
13
  },
14
+ DNSRegistrar: {
15
+ '1': '0x58774Bb8acD458A640aF0B88238369A167546ef2',
16
+ '3': '0xdB328BA5FEcb432AF325Ca59E3778441eF5aa14F',
17
+ '5': '0x8edc487D26F6c8Fa76e032066A3D4F87E273515d',
18
+ },
13
19
  ETHRegistrarController: {
14
20
  '1': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
15
- '3': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
21
+ '3': '0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8',
16
22
  '4': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
17
- '5': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
23
+ '5': '0x9C51161bA2FB02Cc0a403332B607117685f34831',
18
24
  },
19
25
  Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
20
- NameWrapper: '0x0000000000000000000000000000000000000000',
26
+ NameWrapper: {
27
+ '1': '0x0000000000000000000000000000000000000000',
28
+ '3': '0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C',
29
+ '4': '0x0000000000000000000000000000000000000000',
30
+ '5': '0x582224b8d4534F4749EFA4f22eF7241E0C56D4B8',
31
+ },
21
32
  PublicResolver: {
22
33
  '1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
34
+ '3': '0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837',
35
+ '5': '0xE264d5bb84bA3b8061ADC38D3D76e6674aB91852',
23
36
  },
24
- ENSRegistryWithFallback: {
37
+ ENSRegistry: {
25
38
  '1': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
26
39
  '3': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
27
40
  '4': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
@@ -29,11 +42,21 @@ const addresses: Record<
29
42
  },
30
43
  ReverseRegistrar: {
31
44
  '1': '0x084b1c3C81545d370f3634392De611CaaBFf8148',
45
+ '3': '0x806246b52f8cB61655d3038c58D2f63Aa55d4edE',
46
+ '5': '0xD5610A08E370051a01fdfe4bB3ddf5270af1aA48',
32
47
  },
33
48
  UniversalResolver: {
34
- '1': '0x580AF46E06DaaD47eb5940526FD64d95b815Cb70',
49
+ '1': '0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376',
50
+ '3': '0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376',
35
51
  '4': '0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376',
52
+ '5': '0x687c30Cc44bFA39A1449e86E172BF002E7b3f0b0',
53
+ },
54
+ BulkRenewal: {
55
+ '1': '0xfF252725f6122A92551A5FA9a6b6bf10eb0Be035',
56
+ '3': '0x051b02245D826757EfaF5C6209D4D79FB39FBC45',
57
+ '5': '0xa9e1df95a79C768aA435805b28E1B54Bb5ead063',
36
58
  },
59
+ /* eslint-enable @typescript-eslint/naming-convention */
37
60
  }
38
61
 
39
62
  export type ContractAddressFetch = (contractName: ContractName) => string
@@ -1,68 +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 getPublicResolver from './publicResolver'
8
- import getRegistry from './registry'
9
- import getReverseRegistrar from './reverseRegistrar'
10
16
  import { ContractName } from './types'
11
- import getUniversalResolver from './universalResolver'
17
+
18
+ type BaseFactory = {
19
+ readonly abi: object
20
+ createInterface(): Interface
21
+ connect(address: string, signerOrProvider: Signer | Provider): BaseContract
22
+ }
12
23
 
13
24
  export default class ContractManager {
14
- private provider: ethers.providers.Provider
25
+ private provider: Provider
26
+
15
27
  private fetchAddress: ContractAddressFetch
16
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
+
17
38
  constructor(
18
- provider: ethers.providers.Provider,
39
+ provider: Provider,
19
40
  fetchAddress: ContractAddressFetch,
41
+ getModule?: (name: string) => Promise<BaseFactory>,
20
42
  ) {
21
43
  this.provider = provider
22
44
  this.fetchAddress = fetchAddress
45
+ if (getModule) {
46
+ this.getModule = getModule
47
+ }
23
48
  }
24
49
 
25
- private generateContractGetter = <C extends (...args: any) => any>(
50
+ private generateContractGetter = <C extends BaseContract>(
26
51
  name: ContractName,
27
- func: C,
28
- ) => {
29
- return async (
30
- passedProvider?: any,
31
- address?: string,
32
- ): Promise<ReturnType<C>> => {
52
+ ): ((passedProvider?: any, address?: string) => Promise<C>) => {
53
+ return async (passedProvider, address) => {
54
+ const mod = await this.getModule(name)
33
55
  const inputAddress = address || this.fetchAddress(name)
34
56
  const provider = passedProvider || this.provider
35
- return func(provider, inputAddress)
57
+ return mod.connect(inputAddress, provider) as C
36
58
  }
37
59
  }
38
60
 
39
- public getPublicResolver = this.generateContractGetter(
40
- 'PublicResolver',
41
- getPublicResolver,
42
- )
43
- public getUniversalResolver = this.generateContractGetter(
44
- 'UniversalResolver',
45
- getUniversalResolver,
46
- )
47
- public getRegistry = this.generateContractGetter(
48
- 'ENSRegistryWithFallback',
49
- getRegistry,
50
- )
51
- public getReverseRegistrar = this.generateContractGetter(
52
- 'ReverseRegistrar',
53
- getReverseRegistrar,
54
- )
55
- public getNameWrapper = this.generateContractGetter(
56
- 'NameWrapper',
57
- getNameWrapper,
58
- )
59
- public getBaseRegistrar = this.generateContractGetter(
60
- 'BaseRegistrarImplementation',
61
- getBaseRegistrar,
62
- )
63
- public getEthRegistrarController = this.generateContractGetter(
64
- 'ETHRegistrarController',
65
- getEthRegistrarController,
66
- )
67
- public getMulticall = this.generateContractGetter('Multicall', getMulticall)
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')
68
92
  }
@@ -1,24 +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
- const ABI = [
5
- 'function aggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes[] returnData)',
6
- 'function aggregate3(tuple(address target, bool allowFailure, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
7
- 'function aggregate3Value(tuple(address target, bool allowFailure, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
8
- 'function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)',
9
- 'function getBasefee() view returns (uint256 basefee)',
10
- 'function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)',
11
- 'function getBlockNumber() view returns (uint256 blockNumber)',
12
- 'function getChainId() view returns (uint256 chainid)',
13
- 'function getCurrentBlockCoinbase() view returns (address coinbase)',
14
- 'function getCurrentBlockDifficulty() view returns (uint256 difficulty)',
15
- 'function getCurrentBlockGasLimit() view returns (uint256 gaslimit)',
16
- 'function getCurrentBlockTimestamp() view returns (uint256 timestamp)',
17
- 'function getEthBalance(address addr) view returns (uint256 balance)',
18
- 'function getLastBlockHash() view returns (bytes32 blockHash)',
19
- 'function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
20
- 'function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)',
21
- ]
22
-
23
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
24
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)
@@ -5,7 +5,9 @@ export type ContractName =
5
5
  | 'ETHRegistrarController'
6
6
  | 'Multicall'
7
7
  | 'NameWrapper'
8
+ | 'DNSRegistrar'
8
9
  | 'PublicResolver'
9
- | 'ENSRegistryWithFallback'
10
+ | 'ENSRegistry'
10
11
  | 'ReverseRegistrar'
11
12
  | 'UniversalResolver'
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,32 +1,32 @@
1
1
  import { ENS } from '..'
2
2
  import setup from '../tests/setup'
3
3
 
4
- let ENSInstance: ENS
4
+ let ensInstance: ENS
5
5
 
6
6
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
7
+ ;({ ensInstance } = await setup())
8
8
  })
9
9
 
10
10
  describe('batch', () => {
11
11
  it('should batch calls together', async () => {
12
- const result = await ENSInstance.batch(
13
- ENSInstance.getText.batch('jefflau.eth', 'description'),
14
- ENSInstance.getAddr.batch('jefflau.eth'),
15
- ENSInstance.getName.batch('0x866B3c4994e1416B7C738B9818b31dC246b95eEE'),
12
+ const result = await ensInstance.batch(
13
+ ensInstance.getText.batch('with-profile.eth', 'description'),
14
+ ensInstance.getAddr.batch('with-profile.eth'),
15
+ ensInstance.getName.batch('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC'),
16
16
  )
17
17
  expect(result).toBeTruthy()
18
18
  if (result) {
19
19
  expect(result[0]).toBe('Hello2')
20
- expect(result[1]).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
20
+ expect(result[1]).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
21
21
  expect(result[2]).toMatchObject({
22
- name: 'jefflau.eth',
22
+ name: 'with-profile.eth',
23
23
  match: true,
24
24
  })
25
25
  }
26
26
  })
27
27
  it('should batch a single call', async () => {
28
- const result = await ENSInstance.batch(
29
- ENSInstance.getText.batch('jefflau.eth', 'description'),
28
+ const result = await ensInstance.batch(
29
+ ensInstance.getText.batch('with-profile.eth', 'description'),
30
30
  )
31
31
  expect(result).toBeTruthy()
32
32
  if (result) {
@@ -5,11 +5,11 @@ const raw = async (
5
5
  ...items: BatchFunctionResult<RawFunction>[]
6
6
  ) => {
7
7
  const rawDataArr: { to: string; data: string }[] = await Promise.all(
8
- items.map(({ args, raw }, i: number) => {
9
- if (!raw) {
8
+ items.map(({ args, raw: rawRef }, i: number) => {
9
+ if (!rawRef) {
10
10
  throw new Error(`Function ${i} is not batchable`)
11
11
  }
12
- return raw(...args)
12
+ return rawRef(...args)
13
13
  }),
14
14
  )
15
15
  return multicallWrapper.raw(rawDataArr)
@@ -1,31 +1,31 @@
1
1
  import { ENS } from '..'
2
2
  import setup from '../tests/setup'
3
3
 
4
- let ENSInstance: ENS
4
+ let ensInstance: ENS
5
5
 
6
6
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
7
+ ;({ ensInstance } = await setup())
8
8
  })
9
9
 
10
10
  describe('batchWrappers', () => {
11
11
  it('should batch calls together', async () => {
12
- const batch = await ENSInstance.resolverMulticallWrapper.raw([
13
- await ENSInstance._getText.raw('jefflau.eth', 'description'),
14
- await ENSInstance._getText.raw('jefflau.eth', 'url'),
15
- await ENSInstance._getAddr.raw('jefflau.eth'),
12
+ const batch = await ensInstance.resolverMulticallWrapper.raw([
13
+ await ensInstance._getText.raw('with-profile.eth', 'description'),
14
+ await ensInstance._getText.raw('with-profile.eth', 'url'),
15
+ await ensInstance._getAddr.raw('with-profile.eth'),
16
16
  ])
17
- const universalResponse = await ENSInstance.universalWrapper(
18
- 'jefflau.eth',
17
+ const universalResponse = await ensInstance.universalWrapper(
18
+ 'with-profile.eth',
19
19
  batch.data,
20
20
  )
21
- const [batchDecoded] = await ENSInstance.resolverMulticallWrapper.decode(
21
+ const [batchDecoded] = await ensInstance.resolverMulticallWrapper.decode(
22
22
  universalResponse?.data,
23
23
  )
24
- const decoded1 = await ENSInstance._getText.decode(batchDecoded[0])
25
- const decoded2 = await ENSInstance._getText.decode(batchDecoded[1])
26
- const decoded3 = await ENSInstance._getAddr.decode(batchDecoded[2])
24
+ const decoded1 = await ensInstance._getText.decode(batchDecoded[0])
25
+ const decoded2 = await ensInstance._getText.decode(batchDecoded[1])
26
+ const decoded3 = await ensInstance._getAddr.decode(batchDecoded[2])
27
27
  expect(decoded1).toBe('Hello2')
28
28
  expect(decoded2).toBe('twitter.com')
29
- expect(decoded3).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
29
+ expect(decoded3).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
30
30
  })
31
31
  })