@ensdomains/ensjs 3.0.0-alpha.4 → 3.0.0-alpha.41

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 (762) 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 +270 -260
  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 +317 -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 +141 -37
  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 +253 -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 +309 -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 +123 -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 +28 -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 +22 -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 +79 -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/types/index.d.ts +553 -0
  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/types/utils/recordHelpers.d.ts +29 -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 +106 -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/@types/pako.d.ts +188 -0
  349. package/src/ABIs/Multicall.json +452 -0
  350. package/src/GqlManager.test.ts +173 -0
  351. package/src/GqlManager.ts +105 -9
  352. package/src/contracts/baseRegistrar.ts +2 -2
  353. package/src/contracts/bulkRenewal.ts +6 -0
  354. package/src/contracts/dnsRegistrar.ts +5 -0
  355. package/src/contracts/ethRegistrarController.ts +2 -2
  356. package/src/contracts/factories.ts +48 -0
  357. package/src/contracts/getContractAddress.ts +28 -5
  358. package/src/contracts/index.ts +72 -48
  359. package/src/contracts/multicall.ts +2 -21
  360. package/src/contracts/nameWrapper.ts +2 -2
  361. package/src/contracts/publicResolver.ts +2 -2
  362. package/src/contracts/registry.ts +2 -2
  363. package/src/contracts/reverseRegistrar.ts +2 -2
  364. package/src/contracts/types.ts +3 -1
  365. package/src/contracts/universalResolver.ts +2 -2
  366. package/src/functions/batch.test.ts +10 -10
  367. package/src/functions/batch.ts +3 -3
  368. package/src/functions/batchWrappers.test.ts +13 -13
  369. package/src/functions/batchWrappers.ts +42 -11
  370. package/src/functions/burnFuses.test.ts +127 -23
  371. package/src/functions/burnFuses.ts +6 -13
  372. package/src/functions/commitName.test.ts +61 -0
  373. package/src/functions/commitName.ts +39 -0
  374. package/src/functions/createSubname.test.ts +11 -19
  375. package/src/functions/createSubname.ts +24 -17
  376. package/src/functions/deleteSubname.test.ts +36 -38
  377. package/src/functions/deleteSubname.ts +47 -13
  378. package/src/functions/getAvailable.test.ts +21 -0
  379. package/src/functions/getAvailable.ts +37 -0
  380. package/src/functions/getDNSOwner.test.ts +9 -19
  381. package/src/functions/getDNSOwner.ts +11 -9
  382. package/src/functions/getExpiry.test.ts +28 -10
  383. package/src/functions/getExpiry.ts +89 -11
  384. package/src/functions/getHistory.test.ts +17 -80
  385. package/src/functions/getHistory.ts +107 -176
  386. package/src/functions/getName.test.ts +10 -10
  387. package/src/functions/getName.ts +4 -4
  388. package/src/functions/getNames.test.ts +153 -89
  389. package/src/functions/getNames.ts +140 -36
  390. package/src/functions/getOwner.test.ts +3 -54
  391. package/src/functions/getOwner.ts +66 -29
  392. package/src/functions/getPrice.test.ts +55 -0
  393. package/src/functions/getPrice.ts +66 -13
  394. package/src/functions/getProfile-ccip.test.ts +29 -0
  395. package/src/functions/getProfile.test.ts +128 -29
  396. package/src/functions/getProfile.ts +296 -158
  397. package/src/functions/getRecords.ts +2 -1
  398. package/src/functions/getResolver.test.ts +5 -9
  399. package/src/functions/getResolver.ts +2 -6
  400. package/src/functions/getSpecificRecord.test.ts +185 -20
  401. package/src/functions/getSpecificRecord.ts +114 -149
  402. package/src/functions/getSubnames.test.ts +651 -7
  403. package/src/functions/getSubnames.ts +45 -103
  404. package/src/functions/getWrapperData.test.ts +98 -0
  405. package/src/functions/getWrapperData.ts +42 -0
  406. package/src/functions/importDNSSECName.ts +54 -0
  407. package/src/functions/initialGetters.ts +1 -0
  408. package/src/functions/makeCommitment.test.ts +6 -6
  409. package/src/functions/registerName.test.ts +59 -0
  410. package/src/functions/registerName.ts +38 -0
  411. package/src/functions/renewNames.test.ts +64 -0
  412. package/src/functions/renewNames.ts +60 -0
  413. package/src/functions/setName.test.ts +22 -18
  414. package/src/functions/setName.ts +15 -17
  415. package/src/functions/setRecord.test.ts +249 -0
  416. package/src/functions/setRecord.ts +64 -0
  417. package/src/functions/setRecords.test.ts +24 -18
  418. package/src/functions/setRecords.ts +19 -13
  419. package/src/functions/setResolver.test.ts +17 -25
  420. package/src/functions/setResolver.ts +15 -20
  421. package/src/functions/supportsTLD.test.ts +45 -0
  422. package/src/functions/supportsTLD.ts +38 -0
  423. package/src/functions/transferController.ts +29 -0
  424. package/src/functions/transferName.test.ts +24 -40
  425. package/src/functions/transferName.ts +27 -26
  426. package/src/functions/transferSubname.test.ts +19 -37
  427. package/src/functions/transferSubname.ts +41 -16
  428. package/src/functions/types.ts +98 -0
  429. package/src/functions/unwrapName.test.ts +19 -34
  430. package/src/functions/unwrapName.ts +26 -22
  431. package/src/functions/wrapName.test.ts +123 -37
  432. package/src/functions/wrapName.ts +80 -62
  433. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  434. package/src/generated/BulkRenewal.ts +196 -0
  435. package/src/generated/DNSRegistrar.ts +276 -262
  436. package/src/generated/DNSSECImpl.ts +436 -412
  437. package/src/generated/DefaultReverseResolver.ts +95 -79
  438. package/src/generated/ENSRegistry.ts +491 -422
  439. package/src/generated/ETHRegistrarController.ts +649 -491
  440. package/src/generated/Multicall.ts +345 -336
  441. package/src/generated/NameWrapper.ts +1594 -1220
  442. package/src/generated/P256SHA256Algorithm.ts +70 -65
  443. package/src/generated/PublicResolver.ts +1105 -941
  444. package/src/generated/RSASHA1Algorithm.ts +70 -65
  445. package/src/generated/RSASHA256Algorithm.ts +70 -65
  446. package/src/generated/ReverseRegistrar.ts +428 -362
  447. package/src/generated/Root.ts +295 -241
  448. package/src/generated/SHA1Digest.ts +61 -60
  449. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  450. package/src/generated/SHA256Digest.ts +61 -60
  451. package/src/generated/StaticMetadataService.ts +61 -46
  452. package/src/generated/TLDPublicSuffixList.ts +59 -55
  453. package/src/generated/UniversalResolver.ts +554 -188
  454. package/src/generated/common.ts +16 -14
  455. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  456. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  457. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  458. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  459. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  460. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  461. package/src/generated/factories/ETHRegistrarController__factory.ts +400 -251
  462. package/src/generated/factories/Multicall__factory.ts +226 -224
  463. package/src/generated/factories/NameWrapper__factory.ts +788 -618
  464. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  465. package/src/generated/factories/PublicResolver__factory.ts +490 -436
  466. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  467. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  468. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  469. package/src/generated/factories/Root__factory.ts +103 -101
  470. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  471. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  472. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  473. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  474. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  475. package/src/generated/factories/UniversalResolver__factory.ts +381 -102
  476. package/src/generated/factories/index.ts +15 -0
  477. package/src/generated/index.ts +31 -1
  478. package/src/index.ts +297 -164
  479. package/src/static.ts +94 -0
  480. package/src/utils/ccip.ts +149 -0
  481. package/src/utils/consts.ts +1 -0
  482. package/src/utils/contentHash.ts +29 -27
  483. package/src/utils/createReverseNode.ts +1 -1
  484. package/src/utils/fuses.ts +141 -4
  485. package/src/utils/generateFuseInput.ts +7 -12
  486. package/src/utils/labels.ts +7 -5
  487. package/src/utils/normalise.ts +14 -6
  488. package/src/utils/recordHelpers.ts +121 -20
  489. package/src/utils/registerHelpers.ts +125 -55
  490. package/src/utils/singleCall.ts +3 -3
  491. package/src/utils/validation.ts +9 -10
  492. package/src/utils/wrapper.ts +36 -0
  493. package/src/utils/writeTx.ts +16 -0
  494. package/dist/cjs/GqlManager.d.ts +0 -6
  495. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  496. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  497. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  498. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  499. package/dist/cjs/contracts/index.d.ts +0 -16
  500. package/dist/cjs/contracts/multicall.d.ts +0 -3
  501. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  502. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  503. package/dist/cjs/contracts/registry.d.ts +0 -3
  504. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  505. package/dist/cjs/contracts/types.d.ts +0 -2
  506. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  507. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  508. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  509. package/dist/cjs/functions/createSubname.d.ts +0 -19
  510. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  511. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  512. package/dist/cjs/functions/getFuses.d.ts +0 -17
  513. package/dist/cjs/functions/getFuses.js +0 -62
  514. package/dist/cjs/functions/getHistory.d.ts +0 -54
  515. package/dist/cjs/functions/getNames.d.ts +0 -40
  516. package/dist/cjs/functions/getPrice.d.ts +0 -13
  517. package/dist/cjs/functions/getProfile.d.ts +0 -30
  518. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  519. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  520. package/dist/cjs/functions/setName.d.ts +0 -4
  521. package/dist/cjs/functions/setRecords.d.ts +0 -3
  522. package/dist/cjs/functions/setResolver.d.ts +0 -4
  523. package/dist/cjs/functions/transferName.d.ts +0 -5
  524. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  525. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  526. package/dist/cjs/functions/wrapName.d.ts +0 -6
  527. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  528. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  529. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  530. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  531. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  532. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  533. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  534. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  535. package/dist/cjs/generated/Multicall.d.ts +0 -292
  536. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  537. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  538. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  539. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  540. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  541. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  542. package/dist/cjs/generated/Root.d.ts +0 -173
  543. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  544. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  545. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  546. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  547. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  548. package/dist/cjs/generated/common.d.ts +0 -21
  549. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  550. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  551. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  552. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  553. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  554. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  555. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  556. package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +0 -57
  557. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  558. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  559. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  560. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  561. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  562. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  563. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  564. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  565. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  566. package/dist/cjs/generated/factories/index.d.ts +0 -6
  567. package/dist/cjs/generated/index.d.ts +0 -13
  568. package/dist/cjs/index.d.ts +0 -471
  569. package/dist/cjs/utils/fuses.d.ts +0 -20
  570. package/dist/cjs/utils/normalise.d.ts +0 -2
  571. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  572. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  573. package/dist/cjs/utils/singleCall.d.ts +0 -9
  574. package/dist/esm/GqlManager.d.ts +0 -6
  575. package/dist/esm/GqlManager.js +0 -18
  576. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  577. package/dist/esm/contracts/baseRegistrar.js +0 -2
  578. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  579. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  580. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  581. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  582. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  583. package/dist/esm/contracts/getContractAddress.js +0 -42
  584. package/dist/esm/contracts/index.d.ts +0 -16
  585. package/dist/esm/contracts/index.js +0 -29
  586. package/dist/esm/contracts/multicall.d.ts +0 -3
  587. package/dist/esm/contracts/multicall.js +0 -20
  588. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  589. package/dist/esm/contracts/nameWrapper.js +0 -2
  590. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  591. package/dist/esm/contracts/publicResolver.js +0 -2
  592. package/dist/esm/contracts/registry.d.ts +0 -3
  593. package/dist/esm/contracts/registry.js +0 -2
  594. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  595. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  596. package/dist/esm/contracts/types.d.ts +0 -2
  597. package/dist/esm/contracts/types.js +0 -1
  598. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  599. package/dist/esm/contracts/universalResolver.js +0 -2
  600. package/dist/esm/functions/batch.d.ts +0 -9
  601. package/dist/esm/functions/batch.js +0 -19
  602. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  603. package/dist/esm/functions/batchWrappers.js +0 -68
  604. package/dist/esm/functions/burnFuses.d.ts +0 -3
  605. package/dist/esm/functions/burnFuses.js +0 -12
  606. package/dist/esm/functions/createSubname.d.ts +0 -19
  607. package/dist/esm/functions/createSubname.js +0 -38
  608. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  609. package/dist/esm/functions/deleteSubname.js +0 -3
  610. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  611. package/dist/esm/functions/getDNSOwner.js +0 -51
  612. package/dist/esm/functions/getExpiry.d.ts +0 -12
  613. package/dist/esm/functions/getExpiry.js +0 -43
  614. package/dist/esm/functions/getFuses.d.ts +0 -17
  615. package/dist/esm/functions/getFuses.js +0 -60
  616. package/dist/esm/functions/getHistory.d.ts +0 -54
  617. package/dist/esm/functions/getHistory.js +0 -273
  618. package/dist/esm/functions/getName.d.ts +0 -19
  619. package/dist/esm/functions/getName.js +0 -32
  620. package/dist/esm/functions/getNames.js +0 -220
  621. package/dist/esm/functions/getOwner.d.ts +0 -14
  622. package/dist/esm/functions/getOwner.js +0 -138
  623. package/dist/esm/functions/getPrice.js +0 -48
  624. package/dist/esm/functions/getProfile.js +0 -299
  625. package/dist/esm/functions/getRecords.d.ts +0 -32
  626. package/dist/esm/functions/getRecords.js +0 -8
  627. package/dist/esm/functions/getResolver.js +0 -22
  628. package/dist/esm/functions/getSpecificRecord.js +0 -265
  629. package/dist/esm/functions/getSubnames.js +0 -152
  630. package/dist/esm/functions/initialGetters.d.ts +0 -11
  631. package/dist/esm/functions/initialGetters.js +0 -11
  632. package/dist/esm/functions/setName.d.ts +0 -4
  633. package/dist/esm/functions/setName.js +0 -14
  634. package/dist/esm/functions/setRecords.d.ts +0 -3
  635. package/dist/esm/functions/setRecords.js +0 -19
  636. package/dist/esm/functions/setResolver.d.ts +0 -4
  637. package/dist/esm/functions/setResolver.js +0 -25
  638. package/dist/esm/functions/transferName.d.ts +0 -5
  639. package/dist/esm/functions/transferName.js +0 -31
  640. package/dist/esm/functions/transferSubname.d.ts +0 -5
  641. package/dist/esm/functions/transferSubname.js +0 -25
  642. package/dist/esm/functions/unwrapName.d.ts +0 -4
  643. package/dist/esm/functions/unwrapName.js +0 -25
  644. package/dist/esm/functions/wrapName.d.ts +0 -6
  645. package/dist/esm/functions/wrapName.js +0 -58
  646. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  647. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  648. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  649. package/dist/esm/generated/DNSRegistrar.js +0 -1
  650. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  651. package/dist/esm/generated/DNSSECImpl.js +0 -1
  652. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  653. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  654. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  655. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  656. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  657. package/dist/esm/generated/ENSRegistry.js +0 -1
  658. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  659. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  660. package/dist/esm/generated/Multicall.js +0 -1
  661. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  662. package/dist/esm/generated/NameWrapper.js +0 -1
  663. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  664. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  665. package/dist/esm/generated/PublicResolver.js +0 -1
  666. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  667. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  668. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  669. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  670. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  671. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  672. package/dist/esm/generated/Root.d.ts +0 -173
  673. package/dist/esm/generated/Root.js +0 -1
  674. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  675. package/dist/esm/generated/SHA1Digest.js +0 -1
  676. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  677. package/dist/esm/generated/SHA256Digest.js +0 -1
  678. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  679. package/dist/esm/generated/StaticMetadataService.js +0 -1
  680. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  681. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  682. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  683. package/dist/esm/generated/UniversalResolver.js +0 -1
  684. package/dist/esm/generated/common.js +0 -1
  685. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  686. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  687. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  688. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  689. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  690. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  691. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  692. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  693. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  694. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  695. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  696. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  697. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  698. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  699. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  700. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  701. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  702. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  703. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  704. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  705. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  706. package/dist/esm/generated/factories/Root__factory.js +0 -239
  707. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  708. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  709. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  710. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  711. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  712. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  713. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  714. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  715. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  716. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  717. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  718. package/dist/esm/generated/factories/index.d.ts +0 -6
  719. package/dist/esm/generated/factories/index.js +0 -9
  720. package/dist/esm/generated/index.d.ts +0 -13
  721. package/dist/esm/generated/index.js +0 -7
  722. package/dist/esm/index.d.ts +0 -471
  723. package/dist/esm/index.js +0 -190
  724. package/dist/esm/utils/contentHash.d.ts +0 -28
  725. package/dist/esm/utils/contentHash.js +0 -153
  726. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  727. package/dist/esm/utils/createReverseNode.js +0 -1
  728. package/dist/esm/utils/format.d.ts +0 -3
  729. package/dist/esm/utils/format.js +0 -3
  730. package/dist/esm/utils/fuses.d.ts +0 -20
  731. package/dist/esm/utils/fuses.js +0 -21
  732. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  733. package/dist/esm/utils/generateFuseInput.js +0 -14
  734. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  735. package/dist/esm/utils/hexEncodedName.js +0 -2
  736. package/dist/esm/utils/labels.d.ts +0 -14
  737. package/dist/esm/utils/labels.js +0 -95
  738. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  739. package/dist/esm/utils/makeHashIndexes.js +0 -3
  740. package/dist/esm/utils/normalise.d.ts +0 -2
  741. package/dist/esm/utils/normalise.js +0 -20
  742. package/dist/esm/utils/recordHelpers.d.ts +0 -13
  743. package/dist/esm/utils/recordHelpers.js +0 -39
  744. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  745. package/dist/esm/utils/registerHelpers.js +0 -43
  746. package/dist/esm/utils/singleCall.js +0 -5
  747. package/dist/esm/utils/validation.d.ts +0 -8
  748. package/dist/esm/utils/validation.js +0 -67
  749. package/src/@types/FuseOptions.d.ts +0 -9
  750. package/src/ABIs/ETHRegistrarController.json +0 -494
  751. package/src/ABIs/NameWrapper.json +0 -1183
  752. package/src/ABIs/PublicResolver.json +0 -875
  753. package/src/ABIs/ReverseRegistrar.json +0 -323
  754. package/src/ABIs/StaticMetadataService.json +0 -32
  755. package/src/ABIs/UniversalResolver.json +0 -187
  756. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  757. package/src/functions/getFuses.test.ts +0 -103
  758. package/src/functions/getFuses.ts +0 -76
  759. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  760. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  761. package/src/tests/setup.ts +0 -53
  762. package/src/tests/withProvider.test.ts +0 -28
@@ -2,36 +2,31 @@ import { ENSArgs } from '..'
2
2
  import { namehash } from '../utils/normalise'
3
3
 
4
4
  export default async function (
5
- { contracts, provider }: ENSArgs<'contracts' | 'provider'>,
5
+ { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
6
6
  name: string,
7
- contract: 'registry' | 'nameWrapper',
8
- resolver?: string,
9
- options?: { addressOrIndex?: string | number },
7
+ {
8
+ contract,
9
+ resolver,
10
+ }: {
11
+ contract: 'registry' | 'nameWrapper'
12
+ resolver?: string
13
+ },
10
14
  ) {
11
- const address = await provider
12
- ?.getSigner(options?.addressOrIndex)
13
- .getAddress()
14
-
15
- if (!address) {
16
- throw new Error('No signer found')
17
- }
18
-
19
15
  if (!resolver) {
20
- resolver = (await contracts?.getPublicResolver()!).address
16
+ resolver = (await contracts!.getPublicResolver()!).address
21
17
  }
22
18
 
23
19
  switch (contract) {
24
20
  case 'registry': {
25
- const registry = (await contracts?.getRegistry())!.connect(
26
- provider?.getSigner(options?.addressOrIndex)!,
27
- )
28
- return registry.setResolver(namehash(name), resolver)
21
+ const registry = (await contracts?.getRegistry())!.connect(signer)
22
+ return registry.populateTransaction.setResolver(namehash(name), resolver)
29
23
  }
30
24
  case 'nameWrapper': {
31
- const nameWrapper = (await contracts?.getNameWrapper())!.connect(
32
- provider?.getSigner(options?.addressOrIndex)!,
25
+ const nameWrapper = (await contracts?.getNameWrapper())!.connect(signer)
26
+ return nameWrapper.populateTransaction.setResolver(
27
+ namehash(name),
28
+ resolver,
33
29
  )
34
- return nameWrapper.setResolver(namehash(name), resolver)
35
30
  }
36
31
  default: {
37
32
  throw new Error(`Unknown contract: ${contract}`)
@@ -0,0 +1,45 @@
1
+ import { ENS } from '..'
2
+ import setup from '../tests/setup'
3
+
4
+ let ensInstance: ENS
5
+ let revert: Awaited<ReturnType<typeof setup>>['revert']
6
+
7
+ beforeAll(async () => {
8
+ ;({ ensInstance, revert } = await setup())
9
+ })
10
+
11
+ afterAll(async () => {
12
+ await revert()
13
+ })
14
+
15
+ describe('supportsTLD', () => {
16
+ it('should return true for .eth tld', async () => {
17
+ const result = await ensInstance.supportsTLD('eth')
18
+ expect(result).toBeTruthy()
19
+ })
20
+
21
+ it('should return true for .xyz tld', async () => {
22
+ const result = await ensInstance.supportsTLD('xyz')
23
+ expect(result).toBeTruthy()
24
+ })
25
+
26
+ it('should return false for .com tld', async () => {
27
+ const result = await ensInstance.supportsTLD('com')
28
+ expect(result).toBeFalsy()
29
+ })
30
+
31
+ it('should return true for .eth name', async () => {
32
+ const result = await ensInstance.supportsTLD('test123.eth')
33
+ expect(result).toBeTruthy()
34
+ })
35
+
36
+ it('should return true for .xyz name', async () => {
37
+ const result = await ensInstance.supportsTLD('test123.xyz')
38
+ expect(result).toBeTruthy()
39
+ })
40
+
41
+ it('should return false for .com name', async () => {
42
+ const result = await ensInstance.supportsTLD('test123.com')
43
+ expect(result).toBeFalsy()
44
+ })
45
+ })
@@ -0,0 +1,38 @@
1
+ import { DNSRegistrar__factory } from '../generated/factories/DNSRegistrar__factory'
2
+ import { ENSArgs } from '..'
3
+
4
+ /*
5
+ * 0x2f435428 -> interfaceId for latest IDNSRegistrar
6
+ * 0x17d8f49b, 0x1aa2e641 -> interfaceId for claims method of older DNSRegistrar
7
+ * */
8
+ const DNSSEC_CLAIM_INTERFACE_IDS = ['0x2f435428', '0x17d8f49b', '0x1aa2e641']
9
+
10
+ export default async function (
11
+ { getOwner, provider }: ENSArgs<'getOwner' | 'provider'>,
12
+ name: string,
13
+ ): Promise<boolean> {
14
+ try {
15
+ const labels = name.split('.')
16
+ const tld = labels[labels.length - 1]
17
+
18
+ if (tld === 'eth') return true
19
+
20
+ const tldOwner = await getOwner(tld, 'registry')
21
+ if (!tldOwner?.owner) return false
22
+
23
+ const dnsRegistrar = DNSRegistrar__factory.connect(
24
+ tldOwner.owner,
25
+ provider!,
26
+ )
27
+
28
+ const supports = await Promise.all(
29
+ DNSSEC_CLAIM_INTERFACE_IDS.map((interfaceId) =>
30
+ dnsRegistrar.supportsInterface(interfaceId),
31
+ ),
32
+ )
33
+
34
+ return supports.some((s) => !!s)
35
+ } catch {
36
+ return false
37
+ }
38
+ }
@@ -0,0 +1,29 @@
1
+ import { keccak256 as solidityKeccak256 } from '@ethersproject/solidity'
2
+
3
+ import { ENSArgs } from '..'
4
+
5
+ export default async function (
6
+ { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
7
+ name: string,
8
+ {
9
+ newOwner,
10
+ isOwner,
11
+ }: {
12
+ newOwner: string
13
+ isOwner: boolean
14
+ },
15
+ ) {
16
+ const baseRegistrar = (await contracts?.getBaseRegistrar())!.connect(signer)
17
+ const registry = (await contracts?.getRegistry())!.connect(signer)
18
+ const labels = name.split('.')
19
+ if (isOwner) {
20
+ return registry.populateTransaction.setOwner(
21
+ solidityKeccak256(['string'], [labels[0]]),
22
+ newOwner,
23
+ )
24
+ }
25
+ return baseRegistrar.populateTransaction.reclaim(
26
+ solidityKeccak256(['string'], [labels[0]]),
27
+ newOwner,
28
+ )
29
+ }
@@ -1,15 +1,15 @@
1
1
  import { ethers, utils } from 'ethers'
2
2
  import { ENS } from '..'
3
- import { namehash } from '../utils/normalise'
4
3
  import setup from '../tests/setup'
4
+ import { namehash } from '../utils/normalise'
5
5
 
6
- let ENSInstance: ENS
6
+ let ensInstance: ENS
7
7
  let revert: Awaited<ReturnType<typeof setup>>['revert']
8
8
  let provider: ethers.providers.JsonRpcProvider
9
9
  let accounts: string[]
10
10
 
11
11
  beforeAll(async () => {
12
- ;({ ENSInstance, revert, provider } = await setup())
12
+ ;({ ensInstance, revert, provider } = await setup())
13
13
  accounts = await provider.listAccounts()
14
14
  })
15
15
 
@@ -22,60 +22,44 @@ describe('transferName', () => {
22
22
  await revert()
23
23
  })
24
24
  it('should allow a transfer on the registrar', async () => {
25
- const tx = await ENSInstance.transferName(
26
- 'parthtejpal.eth',
27
- accounts[1],
28
- 'baseRegistrar',
29
- { addressOrIndex: 0 },
30
- )
25
+ const tx = await ensInstance.transferName('test123.eth', {
26
+ contract: 'baseRegistrar',
27
+ newOwner: accounts[2],
28
+ addressOrIndex: 1,
29
+ })
31
30
  expect(tx).toBeTruthy()
32
31
  await tx.wait()
33
32
 
34
- const baseRegistrar = await ENSInstance.contracts!.getBaseRegistrar()!
33
+ const baseRegistrar = await ensInstance.contracts!.getBaseRegistrar()!
35
34
  const result = await baseRegistrar.ownerOf(
36
- utils.solidityKeccak256(['string'], ['parthtejpal']),
35
+ utils.solidityKeccak256(['string'], ['test123']),
37
36
  )
38
- expect(result).toBe(accounts[1])
37
+ expect(result).toBe(accounts[2])
39
38
  })
40
39
  it('should allow a transfer on the namewrapper', async () => {
41
- const wrapNameTx = await ENSInstance.wrapName(
42
- 'parthtejpal.eth',
43
- accounts[0],
44
- )
45
- await wrapNameTx.wait()
46
- const tx = await ENSInstance.transferName(
47
- 'parthtejpal.eth',
48
- accounts[1],
49
- 'nameWrapper',
50
- { addressOrIndex: 0 },
51
- )
40
+ const tx = await ensInstance.transferName('wrapped.eth', {
41
+ newOwner: accounts[2],
42
+ contract: 'nameWrapper',
43
+ addressOrIndex: 1,
44
+ })
52
45
  expect(tx).toBeTruthy()
53
46
  await tx.wait()
54
47
 
55
- const nameWrapper = await ENSInstance.contracts!.getNameWrapper()!
56
- const result = await nameWrapper.ownerOf(namehash('parthtejpal.eth'))
57
- expect(result).toBe(accounts[1])
48
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
49
+ const result = await nameWrapper.ownerOf(namehash('wrapped.eth'))
50
+ expect(result).toBe(accounts[2])
58
51
  })
59
52
  it('should allow a transfer on the registry', async () => {
60
- const createSubnameTx = await ENSInstance.createSubname({
61
- name: 'test.parthtejpal.eth',
53
+ const tx = await ensInstance.transferName('test.with-subnames.eth', {
54
+ newOwner: accounts[1],
62
55
  contract: 'registry',
63
- owner: accounts[0],
64
- options: { addressOrIndex: accounts[0] },
56
+ addressOrIndex: accounts[2],
65
57
  })
66
- await createSubnameTx.wait()
67
-
68
- const tx = await ENSInstance.transferName(
69
- 'test.parthtejpal.eth',
70
- accounts[1],
71
- 'registry',
72
- { addressOrIndex: accounts[0] },
73
- )
74
58
  expect(tx).toBeTruthy()
75
59
  await tx.wait()
76
60
 
77
- const registry = await ENSInstance.contracts!.getRegistry()!
78
- const result = await registry.owner(namehash('test.parthtejpal.eth'))
61
+ const registry = await ensInstance.contracts!.getRegistry()!
62
+ const result = await registry.owner(namehash('test.with-subnames.eth'))
79
63
  expect(result).toBe(accounts[1])
80
64
  })
81
65
  })
@@ -1,48 +1,49 @@
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
 
5
5
  export default async function (
6
- { contracts, provider }: ENSArgs<'contracts' | 'provider'>,
6
+ { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
7
7
  name: string,
8
- newOwner: string,
9
- contract: 'registry' | 'nameWrapper' | 'baseRegistrar',
10
- options?: { addressOrIndex?: string | number },
8
+ {
9
+ newOwner,
10
+ contract,
11
+ reclaim,
12
+ }: {
13
+ newOwner: string
14
+ contract: 'registry' | 'nameWrapper' | 'baseRegistrar'
15
+ reclaim?: boolean
16
+ },
11
17
  ) {
12
- const address = await provider
13
- ?.getSigner(options?.addressOrIndex)
14
- .getAddress()
15
-
16
- if (!address) {
17
- throw new Error('No signer found')
18
- }
18
+ const address = await signer.getAddress()
19
19
 
20
20
  switch (contract) {
21
21
  case 'registry': {
22
- const registry = (await contracts?.getRegistry())!.connect(
23
- provider?.getSigner(options?.addressOrIndex)!,
24
- )
25
- return registry.setOwner(namehash(name), newOwner)
22
+ const registry = (await contracts?.getRegistry())!.connect(signer)
23
+ return registry.populateTransaction.setOwner(namehash(name), newOwner)
26
24
  }
27
25
  case 'baseRegistrar': {
28
26
  const baseRegistrar = (await contracts?.getBaseRegistrar())!.connect(
29
- provider?.getSigner(options?.addressOrIndex)!,
27
+ signer,
30
28
  )
31
29
  const labels = name.split('.')
32
30
  if (labels.length > 2 || labels[labels.length - 1] !== 'eth') {
33
31
  throw new Error('Invalid name for baseRegistrar')
34
32
  }
35
- return baseRegistrar['safeTransferFrom(address,address,uint256)'](
36
- address,
37
- newOwner,
38
- ethers.utils.solidityKeccak256(['string'], [labels[0]]),
39
- )
33
+ const tokenId = solidityKeccak256(['string'], [labels[0]])
34
+
35
+ // reclaim if sending manager on unwrapped name
36
+ if (reclaim) {
37
+ return baseRegistrar.populateTransaction.reclaim(tokenId, newOwner)
38
+ }
39
+
40
+ return baseRegistrar.populateTransaction[
41
+ 'safeTransferFrom(address,address,uint256)'
42
+ ](address, newOwner, tokenId)
40
43
  }
41
44
  case 'nameWrapper': {
42
- const nameWrapper = (await contracts?.getNameWrapper())!.connect(
43
- provider?.getSigner(options?.addressOrIndex)!,
44
- )
45
- return nameWrapper.safeTransferFrom(
45
+ const nameWrapper = (await contracts?.getNameWrapper())!.connect(signer)
46
+ return nameWrapper.populateTransaction.safeTransferFrom(
46
47
  address,
47
48
  newOwner,
48
49
  namehash(name),
@@ -1,15 +1,15 @@
1
1
  import { ethers } from 'ethers'
2
2
  import { ENS } from '..'
3
- import { namehash } from '../utils/normalise'
4
3
  import setup from '../tests/setup'
4
+ import { namehash } from '../utils/normalise'
5
5
 
6
- let ENSInstance: ENS
6
+ let ensInstance: ENS
7
7
  let revert: Awaited<ReturnType<typeof setup>>['revert']
8
8
  let provider: ethers.providers.JsonRpcProvider
9
9
  let accounts: string[]
10
10
 
11
11
  beforeAll(async () => {
12
- ;({ ENSInstance, revert, provider } = await setup())
12
+ ;({ ensInstance, revert, provider } = await setup())
13
13
  accounts = await provider.listAccounts()
14
14
  })
15
15
 
@@ -22,52 +22,34 @@ describe('transferSubname', () => {
22
22
  await revert()
23
23
  })
24
24
  it('should allow transferring a subname on the registry', async () => {
25
- const createSubnameTx = await ENSInstance.createSubname({
25
+ const tx = await ensInstance.transferSubname('test.with-subnames.eth', {
26
26
  contract: 'registry',
27
- name: 'test.parthtejpal.eth',
28
- owner: accounts[0],
29
- options: { addressOrIndex: 0 },
27
+ owner: accounts[1],
28
+ addressOrIndex: 1,
30
29
  })
31
- await createSubnameTx.wait()
32
-
33
- const tx = await ENSInstance.transferSubname(
34
- 'test.parthtejpal.eth',
35
- 'registry',
36
- accounts[1],
37
- { addressOrIndex: 0 },
38
- )
39
30
  expect(tx).toBeTruthy()
40
31
  await tx.wait()
41
32
 
42
- const registry = await ENSInstance.contracts!.getRegistry()!
43
- const result = await registry.owner(namehash('test.parthtejpal.eth'))
33
+ const registry = await ensInstance.contracts!.getRegistry()!
34
+ const result = await registry.owner(namehash('test.with-subnames.eth'))
44
35
  expect(result).toBe(accounts[1])
45
36
  })
46
37
  it('should allow transferring a subname on the nameWrapper', async () => {
47
- const wrapNameTx = await ENSInstance.wrapName(
48
- 'parthtejpal.eth',
49
- accounts[0],
50
- )
51
- await wrapNameTx.wait()
52
- const createSubnameTx = await ENSInstance.createSubname({
53
- contract: 'nameWrapper',
54
- name: 'test.parthtejpal.eth',
55
- owner: accounts[0],
56
- options: { addressOrIndex: 0 },
57
- })
58
- await createSubnameTx.wait()
59
-
60
- const tx = await ENSInstance.transferSubname(
61
- 'test.parthtejpal.eth',
62
- 'nameWrapper',
63
- accounts[1],
64
- { addressOrIndex: 0 },
38
+ const tx = await ensInstance.transferSubname(
39
+ 'test.wrapped-with-subnames.eth',
40
+ {
41
+ contract: 'nameWrapper',
42
+ owner: accounts[1],
43
+ addressOrIndex: 1,
44
+ },
65
45
  )
66
46
  expect(tx).toBeTruthy()
67
47
  await tx.wait()
68
48
 
69
- const nameWrapper = await ENSInstance.contracts!.getNameWrapper()!
70
- const result = await nameWrapper.ownerOf(namehash('test.parthtejpal.eth'))
49
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
50
+ const result = await nameWrapper.ownerOf(
51
+ namehash('test.wrapped-with-subnames.eth'),
52
+ )
71
53
  expect(result).toBe(accounts[1])
72
54
  })
73
55
  })
@@ -1,35 +1,60 @@
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
+ import { Expiry, makeExpiry } from '../utils/wrapper'
5
+
6
+ type BaseArgs = {
7
+ owner: string
8
+ resolverAddress?: string
9
+ contract: 'registry' | 'nameWrapper'
10
+ }
11
+
12
+ type NameWrapperArgs = {
13
+ contract: 'nameWrapper'
14
+ expiry?: Expiry
15
+ } & BaseArgs
16
+
17
+ type Args = BaseArgs | NameWrapperArgs
4
18
 
5
19
  export default async function (
6
- { contracts, provider }: ENSArgs<'contracts' | 'provider'>,
20
+ {
21
+ contracts,
22
+ signer,
23
+ getExpiry,
24
+ }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>,
7
25
  name: string,
8
- contract: 'registry' | 'nameWrapper',
9
- address: string,
10
- options?: { addressOrIndex?: string | number },
26
+ { contract, owner, resolverAddress, ...wrapperArgs }: Args,
11
27
  ) {
12
- const signer = provider?.getSigner(options?.addressOrIndex)
13
-
14
- if (!signer) {
15
- throw new Error('No signer found')
16
- }
17
-
18
28
  const labels = name.split('.')
19
29
  const label = labels.shift() as string
20
- const labelhash = ethers.utils.solidityKeccak256(['string'], [label])
30
+ const labelhash = solidityKeccak256(['string'], [label])
21
31
  const parentNodehash = namehash(labels.join('.'))
22
32
 
23
33
  switch (contract) {
24
34
  case 'registry': {
25
- const registry = (await contracts?.getRegistry()!).connect(signer)
35
+ const registry = (await contracts!.getRegistry()!).connect(signer)
26
36
 
27
- return registry.setSubnodeOwner(parentNodehash, labelhash, address)
37
+ return registry.populateTransaction.setSubnodeOwner(
38
+ parentNodehash,
39
+ labelhash,
40
+ owner,
41
+ )
28
42
  }
29
43
  case 'nameWrapper': {
30
- const nameWrapper = (await contracts?.getNameWrapper()!).connect(signer)
44
+ const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)
45
+ const expiry = await makeExpiry(
46
+ { getExpiry },
47
+ labels.join('.'),
48
+ 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined,
49
+ )
31
50
 
32
- return nameWrapper.setSubnodeOwner(parentNodehash, label, address, '0')
51
+ return nameWrapper.populateTransaction.setSubnodeOwner(
52
+ parentNodehash,
53
+ label,
54
+ owner,
55
+ '0',
56
+ expiry,
57
+ )
33
58
  }
34
59
  default: {
35
60
  throw new Error(`Unknown contract: ${contract}`)
@@ -0,0 +1,98 @@
1
+ import type batch from './batch'
2
+ import type {
3
+ multicallWrapper,
4
+ resolverMulticallWrapper,
5
+ universalWrapper,
6
+ } from './batchWrappers'
7
+ import type burnFuses from './burnFuses'
8
+ import type commitName from './commitName'
9
+ import type createSubname from './createSubname'
10
+ import type deleteSubname from './deleteSubname'
11
+ import type getAvailable from './getAvailable'
12
+ import type getDNSOwner from './getDNSOwner'
13
+ import type getExpiry from './getExpiry'
14
+ import type { getHistory } from './getHistory'
15
+ import type getName from './getName'
16
+ import type getNames from './getNames'
17
+ import type getOwner from './getOwner'
18
+ import type getPrice from './getPrice'
19
+ import type getProfile from './getProfile'
20
+ import type getRecords from './getRecords'
21
+ import type getResolver from './getResolver'
22
+ import type {
23
+ getABI,
24
+ getAddr,
25
+ getContentHash,
26
+ getText,
27
+ _getABI,
28
+ _getAddr,
29
+ _getContentHash,
30
+ _getText,
31
+ } from './getSpecificRecord'
32
+ import type getSubnames from './getSubnames'
33
+ import type getWrapperData from './getWrapperData'
34
+ import type importDNSSECName from './importDNSSECName'
35
+ import type registerName from './registerName'
36
+ import type {
37
+ // eslint-disable-next-line import/no-named-default
38
+ default as renewNames,
39
+ renewNameWithData,
40
+ } from './renewNames'
41
+ import type setName from './setName'
42
+ import type setRecord from './setRecord'
43
+ import type setRecords from './setRecords'
44
+ import type setResolver from './setResolver'
45
+ import type supportsTLD from './supportsTLD'
46
+ import type transferController from './transferController'
47
+ import type transferName from './transferName'
48
+ import type transferSubname from './transferSubname'
49
+ import type unwrapName from './unwrapName'
50
+ import type wrapName from './wrapName'
51
+
52
+ type Function = {
53
+ batch: typeof batch
54
+ multicallWrapper: typeof multicallWrapper
55
+ resolverMulticallWrapper: typeof resolverMulticallWrapper
56
+ universalWrapper: typeof universalWrapper
57
+ burnFuses: typeof burnFuses
58
+ commitName: typeof commitName
59
+ createSubname: typeof createSubname
60
+ deleteSubname: typeof deleteSubname
61
+ getAvailable: typeof getAvailable
62
+ getDNSOwner: typeof getDNSOwner
63
+ getExpiry: typeof getExpiry
64
+ getHistory: typeof getHistory
65
+ getName: typeof getName
66
+ getNames: typeof getNames
67
+ getOwner: typeof getOwner
68
+ getPrice: typeof getPrice
69
+ getProfile: typeof getProfile
70
+ getRecords: typeof getRecords
71
+ getResolver: typeof getResolver
72
+ getAddr: typeof getAddr
73
+ getContentHash: typeof getContentHash
74
+ getText: typeof getText
75
+ getABI: typeof getABI
76
+ _getAddr: typeof _getAddr
77
+ _getContentHash: typeof _getContentHash
78
+ _getText: typeof _getText
79
+ _getABI: typeof _getABI
80
+ getSubnames: typeof getSubnames
81
+ getWrapperData: typeof getWrapperData
82
+ importDNSSECName: typeof importDNSSECName
83
+ registerName: typeof registerName
84
+ renewNames: typeof renewNames
85
+ renewNameWithData: typeof renewNameWithData
86
+ setName: typeof setName
87
+ setRecord: typeof setRecord
88
+ setRecords: typeof setRecords
89
+ setResolver: typeof setResolver
90
+ supportsTLD: typeof supportsTLD
91
+ transferController: typeof transferController
92
+ transferName: typeof transferName
93
+ transferSubname: typeof transferSubname
94
+ unwrapName: typeof unwrapName
95
+ wrapName: typeof wrapName
96
+ }
97
+
98
+ export default Function