@ensdomains/ensjs 3.0.0-alpha.5 → 3.0.0-alpha.50

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 (773) 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 +51 -16
  19. package/dist/cjs/functions/batchWrappers.js +130 -67
  20. package/dist/cjs/functions/commitName.js +48 -0
  21. package/dist/cjs/functions/createSubname.js +74 -34
  22. package/dist/cjs/functions/deleteSubname.js +69 -7
  23. package/dist/cjs/functions/getAvailable.js +55 -0
  24. package/dist/cjs/functions/getDNSOwner.js +78 -72
  25. package/dist/cjs/functions/getDecryptedName.js +111 -0
  26. package/dist/cjs/functions/getExpiry.js +111 -41
  27. package/dist/cjs/functions/getHistory.js +178 -193
  28. package/dist/cjs/functions/getName.js +51 -28
  29. package/dist/cjs/functions/getNames.js +228 -107
  30. package/dist/cjs/functions/getOwner.js +192 -123
  31. package/dist/cjs/functions/getPrice.js +119 -43
  32. package/dist/cjs/functions/getProfile.js +455 -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 +99 -118
  37. package/dist/cjs/functions/getWrapperData.js +57 -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 +55 -0
  42. package/dist/cjs/functions/setFuses.js +49 -0
  43. package/dist/cjs/functions/setName.js +41 -10
  44. package/dist/cjs/functions/setRecord.js +56 -0
  45. package/dist/cjs/functions/setRecords.js +50 -22
  46. package/dist/cjs/functions/setResolver.js +44 -18
  47. package/dist/cjs/functions/supportsTLD.js +48 -0
  48. package/dist/cjs/functions/transferController.js +42 -0
  49. package/dist/cjs/functions/transferName.js +62 -26
  50. package/dist/cjs/functions/transferSubname.js +56 -21
  51. package/dist/cjs/functions/types.js +16 -0
  52. package/dist/cjs/functions/unwrapName.js +50 -20
  53. package/dist/cjs/functions/wrapName.js +107 -52
  54. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  55. package/dist/cjs/generated/BulkRenewal.js +16 -0
  56. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  57. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  58. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  59. package/dist/cjs/generated/ENSRegistry.js +15 -1
  60. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  61. package/dist/cjs/generated/Multicall.js +15 -1
  62. package/dist/cjs/generated/NameWrapper.js +15 -1
  63. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  64. package/dist/cjs/generated/PublicResolver.js +15 -1
  65. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  66. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  67. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  68. package/dist/cjs/generated/Root.js +15 -1
  69. package/dist/cjs/generated/SHA1Digest.js +15 -1
  70. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  71. package/dist/cjs/generated/SHA256Digest.js +15 -1
  72. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  73. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  74. package/dist/cjs/generated/UniversalResolver.js +15 -1
  75. package/dist/cjs/generated/common.js +15 -1
  76. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
  77. package/dist/cjs/generated/factories/BulkRenewal__factory.js +121 -0
  78. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +282 -288
  79. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +486 -492
  80. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
  81. package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
  82. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +623 -504
  83. package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
  84. package/dist/cjs/generated/factories/NameWrapper__factory.js +1400 -1194
  85. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +61 -67
  86. package/dist/cjs/generated/factories/PublicResolver__factory.js +1040 -885
  87. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +61 -67
  88. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +61 -67
  89. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +363 -333
  90. package/dist/cjs/generated/factories/Root__factory.js +254 -237
  91. package/dist/cjs/generated/factories/SHA1Digest__factory.js +56 -62
  92. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +61 -67
  93. package/dist/cjs/generated/factories/SHA256Digest__factory.js +56 -62
  94. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
  95. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +51 -57
  96. package/dist/cjs/generated/factories/UniversalResolver__factory.js +558 -199
  97. package/dist/cjs/generated/factories/index.js +63 -17
  98. package/dist/cjs/generated/index.js +70 -37
  99. package/dist/cjs/index.js +319 -224
  100. package/dist/cjs/static.js +85 -0
  101. package/dist/cjs/utils/ccip.js +129 -0
  102. package/dist/cjs/utils/consts.js +26 -0
  103. package/dist/cjs/utils/contentHash.js +145 -142
  104. package/dist/cjs/utils/createReverseNode.js +23 -2
  105. package/dist/cjs/utils/format.js +27 -8
  106. package/dist/cjs/utils/fuses.js +293 -15
  107. package/dist/cjs/utils/hexEncodedName.js +31 -7
  108. package/dist/cjs/utils/labels.js +105 -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 +151 -37
  112. package/dist/cjs/utils/registerHelpers.js +104 -46
  113. package/dist/cjs/utils/registry.js +32 -0
  114. package/dist/cjs/utils/singleCall.js +31 -6
  115. package/dist/cjs/utils/subgraph-types.js +16 -0
  116. package/dist/cjs/utils/validation.js +78 -63
  117. package/dist/cjs/utils/wrapper.js +56 -0
  118. package/dist/cjs/utils/writeTx.js +25 -0
  119. package/dist/esm/GqlManager.mjs +88 -0
  120. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  121. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  122. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  123. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  124. package/dist/esm/contracts/factories.mjs +0 -0
  125. package/dist/esm/contracts/getContractAddress.mjs +66 -0
  126. package/dist/esm/contracts/index.mjs +44 -0
  127. package/dist/esm/contracts/multicall.mjs +6 -0
  128. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  129. package/dist/esm/contracts/publicResolver.mjs +6 -0
  130. package/dist/esm/contracts/registry.mjs +6 -0
  131. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  132. package/dist/esm/contracts/types.mjs +0 -0
  133. package/dist/esm/contracts/universalResolver.mjs +6 -0
  134. package/dist/esm/functions/batch.mjs +37 -0
  135. package/dist/esm/functions/batchWrappers.mjs +109 -0
  136. package/dist/esm/functions/commitName.mjs +29 -0
  137. package/dist/esm/functions/createSubname.mjs +61 -0
  138. package/dist/esm/functions/deleteSubname.mjs +52 -0
  139. package/dist/esm/functions/getAvailable.mjs +36 -0
  140. package/dist/esm/functions/getDNSOwner.mjs +60 -0
  141. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  142. package/dist/esm/functions/getExpiry.mjs +96 -0
  143. package/dist/esm/functions/getHistory.mjs +245 -0
  144. package/dist/esm/functions/getName.mjs +38 -0
  145. package/dist/esm/functions/getNames.mjs +324 -0
  146. package/dist/esm/functions/getOwner.mjs +189 -0
  147. package/dist/esm/functions/getPrice.mjs +107 -0
  148. package/dist/esm/functions/getProfile.mjs +485 -0
  149. package/dist/esm/functions/getRecords.mjs +12 -0
  150. package/dist/esm/functions/getResolver.mjs +27 -0
  151. package/dist/esm/functions/getSpecificRecord.mjs +253 -0
  152. package/dist/esm/functions/getSubnames.mjs +116 -0
  153. package/dist/esm/functions/getWrapperData.mjs +38 -0
  154. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  155. package/dist/esm/functions/initialGetters.mjs +25 -0
  156. package/dist/esm/functions/registerName.mjs +27 -0
  157. package/dist/esm/functions/renewNames.mjs +36 -0
  158. package/dist/esm/functions/setFuses.mjs +30 -0
  159. package/dist/esm/functions/setName.mjs +23 -0
  160. package/dist/esm/functions/setRecord.mjs +36 -0
  161. package/dist/esm/functions/setRecords.mjs +32 -0
  162. package/dist/esm/functions/setResolver.mjs +29 -0
  163. package/dist/esm/functions/supportsTLD.mjs +29 -0
  164. package/dist/esm/functions/transferController.mjs +23 -0
  165. package/dist/esm/functions/transferName.mjs +46 -0
  166. package/dist/esm/functions/transferSubname.mjs +40 -0
  167. package/dist/esm/functions/types.mjs +0 -0
  168. package/dist/esm/functions/unwrapName.mjs +34 -0
  169. package/dist/esm/functions/wrapName.mjs +96 -0
  170. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  171. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  172. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  173. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  174. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  175. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  176. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  177. package/dist/esm/generated/Multicall.mjs +0 -0
  178. package/dist/esm/generated/NameWrapper.mjs +0 -0
  179. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  180. package/dist/esm/generated/PublicResolver.mjs +0 -0
  181. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  182. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  183. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  184. package/dist/esm/generated/Root.mjs +0 -0
  185. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  186. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  187. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  188. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  189. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  190. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  191. package/dist/esm/generated/common.mjs +0 -0
  192. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
  193. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +109 -0
  194. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
  195. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
  196. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
  197. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
  198. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +618 -0
  199. package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
  200. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1394 -0
  201. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
  202. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1035 -0
  203. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
  204. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
  205. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +358 -0
  206. package/dist/esm/generated/factories/Root__factory.mjs +248 -0
  207. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
  208. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
  209. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
  210. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
  211. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
  212. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +551 -0
  213. package/dist/esm/generated/factories/index.mjs +45 -0
  214. package/dist/esm/generated/index.mjs +47 -0
  215. package/dist/esm/index.mjs +311 -0
  216. package/dist/esm/static.mjs +62 -0
  217. package/dist/esm/utils/ccip.mjs +114 -0
  218. package/dist/esm/utils/consts.mjs +7 -0
  219. package/dist/esm/utils/contentHash.mjs +142 -0
  220. package/dist/esm/utils/createReverseNode.mjs +5 -0
  221. package/dist/esm/utils/format.mjs +9 -0
  222. package/dist/esm/utils/fuses.mjs +283 -0
  223. package/dist/esm/utils/hexEncodedName.mjs +8 -0
  224. package/dist/esm/utils/labels.mjs +112 -0
  225. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  226. package/dist/esm/utils/normalise.mjs +32 -0
  227. package/dist/esm/utils/recordHelpers.mjs +133 -0
  228. package/dist/esm/utils/registerHelpers.mjs +90 -0
  229. package/dist/esm/utils/registry.mjs +13 -0
  230. package/dist/esm/utils/singleCall.mjs +13 -0
  231. package/dist/esm/utils/subgraph-types.mjs +0 -0
  232. package/dist/esm/utils/validation.mjs +69 -0
  233. package/dist/esm/utils/wrapper.mjs +37 -0
  234. package/dist/esm/utils/writeTx.mjs +6 -0
  235. package/dist/types/GqlManager.d.ts +13 -0
  236. package/dist/types/contracts/baseRegistrar.d.ts +3 -0
  237. package/dist/types/contracts/bulkRenewal.d.ts +3 -0
  238. package/dist/types/contracts/dnsRegistrar.d.ts +3 -0
  239. package/dist/types/contracts/ethRegistrarController.d.ts +3 -0
  240. package/dist/types/contracts/factories.d.ts +45 -0
  241. package/dist/types/contracts/index.d.ts +38 -0
  242. package/dist/types/contracts/multicall.d.ts +3 -0
  243. package/dist/types/contracts/nameWrapper.d.ts +3 -0
  244. package/dist/types/contracts/publicResolver.d.ts +3 -0
  245. package/dist/types/contracts/registry.d.ts +3 -0
  246. package/dist/types/contracts/reverseRegistrar.d.ts +3 -0
  247. package/dist/types/contracts/types.d.ts +2 -0
  248. package/dist/types/contracts/universalResolver.d.ts +3 -0
  249. package/dist/{cjs → types}/functions/batch.d.ts +8 -1
  250. package/dist/types/functions/batchWrappers.d.ts +86 -0
  251. package/dist/types/functions/commitName.d.ts +25 -0
  252. package/dist/types/functions/createSubname.d.ts +16 -0
  253. package/dist/types/functions/deleteSubname.d.ts +12 -0
  254. package/dist/{esm/functions/getResolver.d.ts → types/functions/getAvailable.d.ts} +1 -1
  255. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  256. package/dist/types/functions/getExpiry.d.ts +19 -0
  257. package/dist/types/functions/getHistory.d.ts +44 -0
  258. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  259. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  260. package/dist/{cjs → types}/functions/getOwner.d.ts +2 -1
  261. package/dist/{esm → types}/functions/getPrice.d.ts +3 -3
  262. package/dist/{esm → types}/functions/getProfile.d.ts +12 -1
  263. package/dist/{cjs → types}/functions/getRecords.d.ts +5 -2
  264. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +28 -6
  265. package/dist/{esm → types}/functions/getSubnames.d.ts +18 -6
  266. package/dist/types/functions/getWrapperData.d.ts +54 -0
  267. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  268. package/dist/{cjs → types}/functions/initialGetters.d.ts +1 -0
  269. package/dist/types/functions/registerName.d.ts +8 -0
  270. package/dist/types/functions/renewNames.d.ts +12 -0
  271. package/dist/types/functions/setFuses.d.ts +7 -0
  272. package/dist/{esm → types}/functions/setName.d.ts +1 -1
  273. package/dist/types/functions/setRecord.d.ts +22 -0
  274. package/dist/{cjs → types}/functions/setRecords.d.ts +1 -1
  275. package/dist/{esm → types}/functions/setResolver.d.ts +1 -1
  276. package/dist/types/functions/supportsTLD.d.ts +2 -0
  277. package/dist/types/functions/transferController.d.ts +5 -0
  278. package/dist/{esm → types}/functions/transferName.d.ts +3 -3
  279. package/dist/{esm/functions/createSubname.d.ts → types/functions/transferSubname.d.ts} +3 -4
  280. package/dist/types/functions/types.d.ts +83 -0
  281. package/dist/{esm → types}/functions/unwrapName.d.ts +1 -1
  282. package/dist/types/functions/wrapName.d.ts +9 -0
  283. package/dist/types/generated/BaseRegistrarImplementation.d.ts +512 -0
  284. package/dist/types/generated/BulkRenewal.d.ts +80 -0
  285. package/dist/types/generated/DNSRegistrar.d.ts +228 -0
  286. package/dist/types/generated/DNSSECImpl.d.ts +406 -0
  287. package/dist/types/generated/DefaultReverseResolver.d.ts +70 -0
  288. package/dist/types/generated/ENSRegistry.d.ts +278 -0
  289. package/dist/types/generated/ETHRegistrarController.d.ts +343 -0
  290. package/dist/{esm → types}/generated/Multicall.d.ts +113 -109
  291. package/dist/types/generated/NameWrapper.d.ts +859 -0
  292. package/dist/{esm → types}/generated/P256SHA256Algorithm.d.ts +22 -14
  293. package/dist/types/generated/PublicResolver.d.ts +647 -0
  294. package/dist/types/generated/RSASHA1Algorithm.d.ts +50 -0
  295. package/dist/types/generated/RSASHA256Algorithm.d.ts +50 -0
  296. package/dist/types/generated/ReverseRegistrar.d.ts +283 -0
  297. package/dist/types/generated/Root.d.ts +177 -0
  298. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +18 -14
  299. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +22 -14
  300. package/dist/{esm → types}/generated/SHA256Digest.d.ts +18 -14
  301. package/dist/types/generated/StaticMetadataService.d.ts +46 -0
  302. package/dist/types/generated/TLDPublicSuffixList.d.ts +46 -0
  303. package/dist/types/generated/UniversalResolver.d.ts +235 -0
  304. package/dist/{esm → types}/generated/common.d.ts +4 -3
  305. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  306. package/dist/{cjs/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +6 -6
  307. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +17 -16
  308. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +11 -11
  309. package/dist/{esm → types}/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  310. package/dist/{esm → types}/generated/factories/ENSRegistry__factory.d.ts +3 -3
  311. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +15 -4
  312. package/dist/{esm → types}/generated/factories/Multicall__factory.d.ts +3 -3
  313. package/dist/{esm → types}/generated/factories/NameWrapper__factory.d.ts +3 -3
  314. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  315. package/dist/{esm → types}/generated/factories/PublicResolver__factory.d.ts +3 -3
  316. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  317. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  318. package/dist/{esm → types}/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  319. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +3 -3
  320. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  321. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  322. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  323. package/dist/{esm → types}/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  324. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  325. package/dist/{cjs/generated/factories/NameWrapper__factory.d.ts → types/generated/factories/UniversalResolver__factory.d.ts} +6 -6
  326. package/dist/types/generated/factories/index.d.ts +21 -0
  327. package/dist/types/generated/index.d.ts +43 -0
  328. package/dist/types/index.d.ts +684 -0
  329. package/dist/types/static.d.ts +26 -0
  330. package/dist/types/utils/ccip.d.ts +3 -0
  331. package/dist/types/utils/consts.d.ts +2 -0
  332. package/dist/types/utils/fuses.d.ts +133 -0
  333. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +1 -0
  334. package/dist/{cjs → types}/utils/labels.d.ts +2 -1
  335. package/dist/types/utils/normalise.d.ts +2 -0
  336. package/dist/types/utils/recordHelpers.d.ts +29 -0
  337. package/dist/types/utils/registerHelpers.d.ts +41 -0
  338. package/dist/types/utils/registry.d.ts +2 -0
  339. package/dist/{esm → types}/utils/singleCall.d.ts +3 -2
  340. package/dist/types/utils/subgraph-types.d.ts +284 -0
  341. package/dist/{esm → types}/utils/validation.d.ts +1 -0
  342. package/dist/types/utils/wrapper.d.ts +7 -0
  343. package/dist/types/utils/writeTx.d.ts +21 -0
  344. package/package.json +110 -39
  345. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  346. package/src/@types/dns-packet/index.d.ts +113 -113
  347. package/src/@types/pako.d.ts +188 -0
  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 +18 -8
  367. package/src/functions/batchWrappers.test.ts +13 -13
  368. package/src/functions/batchWrappers.ts +42 -11
  369. package/src/functions/ccip.test.ts +62 -0
  370. package/src/functions/commitName.test.ts +58 -0
  371. package/src/functions/commitName.ts +38 -0
  372. package/src/functions/createSubname.test.ts +10 -15
  373. package/src/functions/createSubname.ts +25 -12
  374. package/src/functions/deleteSubname.test.ts +160 -30
  375. package/src/functions/deleteSubname.ts +64 -10
  376. package/src/functions/getAvailable.test.ts +21 -0
  377. package/src/functions/getAvailable.ts +37 -0
  378. package/src/functions/getDNSOwner.test.ts +9 -19
  379. package/src/functions/getDNSOwner.ts +11 -9
  380. package/src/functions/getDecryptedName.test.ts +49 -0
  381. package/src/functions/getDecryptedName.ts +119 -0
  382. package/src/functions/getExpiry.test.ts +28 -10
  383. package/src/functions/getExpiry.ts +90 -11
  384. package/src/functions/getHistory.test.ts +27 -79
  385. package/src/functions/getHistory.ts +166 -194
  386. package/src/functions/getName.test.ts +10 -10
  387. package/src/functions/getName.ts +4 -4
  388. package/src/functions/getNames.test.ts +166 -89
  389. package/src/functions/getNames.ts +181 -44
  390. package/src/functions/getOwner.test.ts +57 -51
  391. package/src/functions/getOwner.ts +87 -29
  392. package/src/functions/getPrice.test.ts +55 -0
  393. package/src/functions/getPrice.ts +66 -13
  394. package/src/functions/getProfile.test.ts +135 -29
  395. package/src/functions/getProfile.ts +306 -159
  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 +185 -20
  400. package/src/functions/getSpecificRecord.ts +114 -149
  401. package/src/functions/getSubnames.test.ts +1556 -7
  402. package/src/functions/getSubnames.ts +105 -114
  403. package/src/functions/getWrapperData.test.ts +66 -0
  404. package/src/functions/getWrapperData.ts +44 -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 +54 -0
  412. package/src/functions/setFuses.test.ts +240 -0
  413. package/src/functions/setFuses.ts +44 -0
  414. package/src/functions/setName.test.ts +21 -18
  415. package/src/functions/setName.ts +5 -5
  416. package/src/functions/setRecord.test.ts +249 -0
  417. package/src/functions/setRecord.ts +64 -0
  418. package/src/functions/setRecords.test.ts +54 -14
  419. package/src/functions/setRecords.ts +2 -2
  420. package/src/functions/setResolver.test.ts +10 -15
  421. package/src/functions/setResolver.ts +6 -3
  422. package/src/functions/supportsTLD.test.ts +45 -0
  423. package/src/functions/supportsTLD.ts +38 -0
  424. package/src/functions/transferController.ts +29 -0
  425. package/src/functions/transferName.test.ts +18 -32
  426. package/src/functions/transferName.ts +15 -8
  427. package/src/functions/transferSubname.test.ts +126 -43
  428. package/src/functions/transferSubname.ts +35 -13
  429. package/src/functions/types.ts +102 -0
  430. package/src/functions/unwrapName.test.ts +17 -32
  431. package/src/functions/unwrapName.ts +20 -11
  432. package/src/functions/wrapName.test.ts +121 -37
  433. package/src/functions/wrapName.ts +60 -56
  434. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  435. package/src/generated/BulkRenewal.ts +196 -0
  436. package/src/generated/DNSRegistrar.ts +276 -262
  437. package/src/generated/DNSSECImpl.ts +436 -412
  438. package/src/generated/DefaultReverseResolver.ts +95 -79
  439. package/src/generated/ENSRegistry.ts +491 -422
  440. package/src/generated/ETHRegistrarController.ts +583 -492
  441. package/src/generated/Multicall.ts +345 -336
  442. package/src/generated/NameWrapper.ts +1645 -1215
  443. package/src/generated/P256SHA256Algorithm.ts +70 -65
  444. package/src/generated/PublicResolver.ts +1228 -941
  445. package/src/generated/RSASHA1Algorithm.ts +70 -65
  446. package/src/generated/RSASHA256Algorithm.ts +70 -65
  447. package/src/generated/ReverseRegistrar.ts +428 -362
  448. package/src/generated/Root.ts +295 -241
  449. package/src/generated/SHA1Digest.ts +61 -60
  450. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  451. package/src/generated/SHA256Digest.ts +61 -60
  452. package/src/generated/StaticMetadataService.ts +61 -46
  453. package/src/generated/TLDPublicSuffixList.ts +59 -55
  454. package/src/generated/UniversalResolver.ts +696 -189
  455. package/src/generated/common.ts +16 -14
  456. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  457. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  458. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  459. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  460. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  461. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  462. package/src/generated/factories/ETHRegistrarController__factory.ts +351 -251
  463. package/src/generated/factories/Multicall__factory.ts +226 -224
  464. package/src/generated/factories/NameWrapper__factory.ts +792 -601
  465. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  466. package/src/generated/factories/PublicResolver__factory.ts +573 -436
  467. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  468. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  469. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  470. package/src/generated/factories/Root__factory.ts +103 -101
  471. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  472. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  473. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  474. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  475. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  476. package/src/generated/factories/UniversalResolver__factory.ts +446 -102
  477. package/src/generated/factories/index.ts +15 -0
  478. package/src/generated/index.ts +31 -1
  479. package/src/index.ts +244 -160
  480. package/src/static.ts +94 -0
  481. package/src/utils/ccip.ts +149 -0
  482. package/src/utils/consts.ts +2 -0
  483. package/src/utils/contentHash.ts +29 -27
  484. package/src/utils/createReverseNode.ts +1 -1
  485. package/src/utils/fuses.ts +341 -4
  486. package/src/utils/hexEncodedName.ts +3 -0
  487. package/src/utils/labels.ts +20 -16
  488. package/src/utils/normalise.ts +14 -6
  489. package/src/utils/recordHelpers.ts +131 -20
  490. package/src/utils/registerHelpers.ts +98 -56
  491. package/src/utils/registry.ts +14 -0
  492. package/src/utils/singleCall.ts +13 -8
  493. package/src/utils/subgraph-types.ts +312 -0
  494. package/src/utils/validation.ts +12 -10
  495. package/src/utils/wrapper.ts +39 -0
  496. package/src/utils/writeTx.ts +16 -0
  497. package/dist/cjs/GqlManager.d.ts +0 -6
  498. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  499. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  500. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  501. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  502. package/dist/cjs/contracts/index.d.ts +0 -16
  503. package/dist/cjs/contracts/multicall.d.ts +0 -3
  504. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  505. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  506. package/dist/cjs/contracts/registry.d.ts +0 -3
  507. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  508. package/dist/cjs/contracts/types.d.ts +0 -2
  509. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  510. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  511. package/dist/cjs/functions/burnFuses.d.ts +0 -5
  512. package/dist/cjs/functions/burnFuses.js +0 -14
  513. package/dist/cjs/functions/createSubname.d.ts +0 -15
  514. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  515. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  516. package/dist/cjs/functions/getFuses.d.ts +0 -17
  517. package/dist/cjs/functions/getFuses.js +0 -62
  518. package/dist/cjs/functions/getHistory.d.ts +0 -54
  519. package/dist/cjs/functions/getNames.d.ts +0 -40
  520. package/dist/cjs/functions/getPrice.d.ts +0 -13
  521. package/dist/cjs/functions/getProfile.d.ts +0 -30
  522. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  523. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  524. package/dist/cjs/functions/setName.d.ts +0 -5
  525. package/dist/cjs/functions/setResolver.d.ts +0 -5
  526. package/dist/cjs/functions/transferName.d.ts +0 -6
  527. package/dist/cjs/functions/transferSubname.d.ts +0 -6
  528. package/dist/cjs/functions/unwrapName.d.ts +0 -5
  529. package/dist/cjs/functions/wrapName.d.ts +0 -8
  530. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  531. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  532. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  533. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  534. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  535. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  536. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  537. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  538. package/dist/cjs/generated/Multicall.d.ts +0 -292
  539. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  540. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  541. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  542. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  543. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  544. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  545. package/dist/cjs/generated/Root.d.ts +0 -173
  546. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  547. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  548. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  549. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  550. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  551. package/dist/cjs/generated/common.d.ts +0 -21
  552. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  553. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  554. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  555. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  556. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  557. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  558. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  559. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  560. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  561. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  562. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  563. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  564. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  565. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  566. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  567. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  568. package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +0 -42
  569. package/dist/cjs/generated/factories/index.d.ts +0 -6
  570. package/dist/cjs/generated/index.d.ts +0 -13
  571. package/dist/cjs/index.d.ts +0 -488
  572. package/dist/cjs/utils/fuses.d.ts +0 -20
  573. package/dist/cjs/utils/generateFuseInput.d.ts +0 -3
  574. package/dist/cjs/utils/generateFuseInput.js +0 -19
  575. package/dist/cjs/utils/normalise.d.ts +0 -2
  576. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  577. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  578. package/dist/cjs/utils/singleCall.d.ts +0 -9
  579. package/dist/cjs/utils/validation.d.ts +0 -8
  580. package/dist/esm/GqlManager.d.ts +0 -6
  581. package/dist/esm/GqlManager.js +0 -18
  582. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  583. package/dist/esm/contracts/baseRegistrar.js +0 -2
  584. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  585. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  586. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  587. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  588. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  589. package/dist/esm/contracts/getContractAddress.js +0 -42
  590. package/dist/esm/contracts/index.d.ts +0 -16
  591. package/dist/esm/contracts/index.js +0 -29
  592. package/dist/esm/contracts/multicall.d.ts +0 -3
  593. package/dist/esm/contracts/multicall.js +0 -20
  594. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  595. package/dist/esm/contracts/nameWrapper.js +0 -2
  596. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  597. package/dist/esm/contracts/publicResolver.js +0 -2
  598. package/dist/esm/contracts/registry.d.ts +0 -3
  599. package/dist/esm/contracts/registry.js +0 -2
  600. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  601. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  602. package/dist/esm/contracts/types.d.ts +0 -2
  603. package/dist/esm/contracts/types.js +0 -1
  604. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  605. package/dist/esm/contracts/universalResolver.js +0 -2
  606. package/dist/esm/functions/batch.d.ts +0 -9
  607. package/dist/esm/functions/batch.js +0 -19
  608. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  609. package/dist/esm/functions/batchWrappers.js +0 -68
  610. package/dist/esm/functions/burnFuses.d.ts +0 -5
  611. package/dist/esm/functions/burnFuses.js +0 -8
  612. package/dist/esm/functions/createSubname.js +0 -34
  613. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  614. package/dist/esm/functions/deleteSubname.js +0 -6
  615. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  616. package/dist/esm/functions/getDNSOwner.js +0 -51
  617. package/dist/esm/functions/getExpiry.d.ts +0 -12
  618. package/dist/esm/functions/getExpiry.js +0 -43
  619. package/dist/esm/functions/getFuses.d.ts +0 -17
  620. package/dist/esm/functions/getFuses.js +0 -60
  621. package/dist/esm/functions/getHistory.d.ts +0 -54
  622. package/dist/esm/functions/getHistory.js +0 -273
  623. package/dist/esm/functions/getName.d.ts +0 -19
  624. package/dist/esm/functions/getName.js +0 -32
  625. package/dist/esm/functions/getNames.js +0 -220
  626. package/dist/esm/functions/getOwner.d.ts +0 -14
  627. package/dist/esm/functions/getOwner.js +0 -138
  628. package/dist/esm/functions/getPrice.js +0 -48
  629. package/dist/esm/functions/getProfile.js +0 -299
  630. package/dist/esm/functions/getRecords.d.ts +0 -32
  631. package/dist/esm/functions/getRecords.js +0 -8
  632. package/dist/esm/functions/getResolver.js +0 -22
  633. package/dist/esm/functions/getSpecificRecord.js +0 -265
  634. package/dist/esm/functions/getSubnames.js +0 -152
  635. package/dist/esm/functions/initialGetters.d.ts +0 -11
  636. package/dist/esm/functions/initialGetters.js +0 -11
  637. package/dist/esm/functions/setName.js +0 -9
  638. package/dist/esm/functions/setRecords.d.ts +0 -6
  639. package/dist/esm/functions/setRecords.js +0 -21
  640. package/dist/esm/functions/setResolver.js +0 -19
  641. package/dist/esm/functions/transferName.js +0 -26
  642. package/dist/esm/functions/transferSubname.d.ts +0 -6
  643. package/dist/esm/functions/transferSubname.js +0 -21
  644. package/dist/esm/functions/unwrapName.js +0 -20
  645. package/dist/esm/functions/wrapName.d.ts +0 -8
  646. package/dist/esm/functions/wrapName.js +0 -54
  647. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  648. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  649. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  650. package/dist/esm/generated/DNSRegistrar.js +0 -1
  651. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  652. package/dist/esm/generated/DNSSECImpl.js +0 -1
  653. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  654. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  655. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  656. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  657. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  658. package/dist/esm/generated/ENSRegistry.js +0 -1
  659. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  660. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  661. package/dist/esm/generated/Multicall.js +0 -1
  662. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  663. package/dist/esm/generated/NameWrapper.js +0 -1
  664. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  665. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  666. package/dist/esm/generated/PublicResolver.js +0 -1
  667. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  668. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  669. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  670. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  671. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  672. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  673. package/dist/esm/generated/Root.d.ts +0 -173
  674. package/dist/esm/generated/Root.js +0 -1
  675. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  676. package/dist/esm/generated/SHA1Digest.js +0 -1
  677. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  678. package/dist/esm/generated/SHA256Digest.js +0 -1
  679. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  680. package/dist/esm/generated/StaticMetadataService.js +0 -1
  681. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  682. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  683. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  684. package/dist/esm/generated/UniversalResolver.js +0 -1
  685. package/dist/esm/generated/common.js +0 -1
  686. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  687. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  688. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  689. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  690. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  691. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  692. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  693. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  694. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  695. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  696. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  697. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  698. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  699. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  700. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  701. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  702. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  703. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  704. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  705. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  706. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  707. package/dist/esm/generated/factories/Root__factory.js +0 -239
  708. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  709. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  710. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  711. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  712. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  713. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  714. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  715. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  716. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  717. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  718. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  719. package/dist/esm/generated/factories/index.d.ts +0 -6
  720. package/dist/esm/generated/factories/index.js +0 -9
  721. package/dist/esm/generated/index.d.ts +0 -13
  722. package/dist/esm/generated/index.js +0 -7
  723. package/dist/esm/index.d.ts +0 -488
  724. package/dist/esm/index.js +0 -203
  725. package/dist/esm/utils/contentHash.d.ts +0 -28
  726. package/dist/esm/utils/contentHash.js +0 -153
  727. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  728. package/dist/esm/utils/createReverseNode.js +0 -1
  729. package/dist/esm/utils/format.d.ts +0 -3
  730. package/dist/esm/utils/format.js +0 -3
  731. package/dist/esm/utils/fuses.d.ts +0 -20
  732. package/dist/esm/utils/fuses.js +0 -21
  733. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  734. package/dist/esm/utils/generateFuseInput.js +0 -14
  735. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  736. package/dist/esm/utils/hexEncodedName.js +0 -2
  737. package/dist/esm/utils/labels.d.ts +0 -14
  738. package/dist/esm/utils/labels.js +0 -95
  739. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  740. package/dist/esm/utils/makeHashIndexes.js +0 -3
  741. package/dist/esm/utils/normalise.d.ts +0 -2
  742. package/dist/esm/utils/normalise.js +0 -20
  743. package/dist/esm/utils/recordHelpers.d.ts +0 -13
  744. package/dist/esm/utils/recordHelpers.js +0 -39
  745. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  746. package/dist/esm/utils/registerHelpers.js +0 -43
  747. package/dist/esm/utils/singleCall.js +0 -5
  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/burnFuses.test.ts +0 -45
  758. package/src/functions/burnFuses.ts +0 -21
  759. package/src/functions/getFuses.test.ts +0 -105
  760. package/src/functions/getFuses.ts +0 -76
  761. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  762. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  763. package/src/tests/setup.ts +0 -53
  764. package/src/tests/signerInjection.test.ts +0 -42
  765. package/src/tests/withProvider.test.ts +0 -28
  766. package/src/utils/generateFuseInput.ts +0 -18
  767. /package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  768. /package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
  769. /package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  770. /package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  771. /package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  772. /package/dist/{cjs → types}/utils/format.d.ts +0 -0
  773. /package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
@@ -3,13 +3,13 @@ import { ENS } from '..'
3
3
  import setup from '../tests/setup'
4
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
 
@@ -17,58 +17,141 @@ afterAll(async () => {
17
17
  await revert()
18
18
  })
19
19
 
20
+ beforeEach(async () => {
21
+ await revert()
22
+ })
23
+
20
24
  describe('transferSubname', () => {
21
- beforeEach(async () => {
22
- await revert()
23
- })
24
25
  it('should allow transferring a subname on the registry', async () => {
25
- const createSubnameTx = await ENSInstance.createSubname(
26
- 'test.parthtejpal.eth',
27
- {
28
- contract: 'registry',
29
- owner: accounts[0],
30
- addressOrIndex: 0,
31
- },
32
- )
33
- await createSubnameTx.wait()
34
-
35
- const tx = await ENSInstance.transferSubname('test.parthtejpal.eth', {
26
+ const tx = await ensInstance.transferSubname('test.with-subnames.eth', {
36
27
  contract: 'registry',
37
- address: accounts[1],
38
- addressOrIndex: 0,
28
+ owner: accounts[1],
29
+ addressOrIndex: 1,
39
30
  })
40
31
  expect(tx).toBeTruthy()
41
32
  await tx.wait()
42
33
 
43
- const registry = await ENSInstance.contracts!.getRegistry()!
44
- const result = await registry.owner(namehash('test.parthtejpal.eth'))
34
+ const registry = await ensInstance.contracts!.getRegistry()!
35
+ const result = await registry.owner(namehash('test.with-subnames.eth'))
45
36
  expect(result).toBe(accounts[1])
46
37
  })
47
- it('should allow transferring a subname on the nameWrapper', async () => {
48
- const wrapNameTx = await ENSInstance.wrapName('parthtejpal.eth', {
49
- wrappedOwner: accounts[0],
38
+
39
+ describe('wrapped name with PCC NOT burned', () => {
40
+ it('should NOT allow transferring a subname by name owner', async () => {
41
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
42
+ await expect(
43
+ ensInstance.transferSubname('test.wrapped-with-subnames.eth', {
44
+ contract: 'nameWrapper',
45
+ owner: accounts[1],
46
+ addressOrIndex: 2,
47
+ }),
48
+ ).rejects.toThrow()
49
+
50
+ const result = await nameWrapper.ownerOf(
51
+ namehash('test.wrapped-with-subnames.eth'),
52
+ )
53
+ expect(result).toBe(accounts[2])
50
54
  })
51
- await wrapNameTx.wait()
52
- const createSubnameTx = await ENSInstance.createSubname(
53
- 'test.parthtejpal.eth',
54
- {
55
- contract: 'nameWrapper',
56
- owner: accounts[0],
57
- addressOrIndex: 0,
58
- },
59
- )
60
- await createSubnameTx.wait()
61
-
62
- const tx = await ENSInstance.transferSubname('test.parthtejpal.eth', {
63
- contract: 'nameWrapper',
64
- address: accounts[1],
65
- addressOrIndex: 0,
55
+
56
+ it('should allow transferring a subname by parent owner', async () => {
57
+ const tx = await ensInstance.transferSubname(
58
+ 'test.wrapped-with-subnames.eth',
59
+ {
60
+ contract: 'nameWrapper',
61
+ owner: accounts[1],
62
+ addressOrIndex: 1,
63
+ },
64
+ )
65
+ expect(tx).toBeTruthy()
66
+ await tx.wait()
67
+
68
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
69
+ const result = await nameWrapper.ownerOf(
70
+ namehash('test.wrapped-with-subnames.eth'),
71
+ )
72
+ expect(result).toBe(accounts[1])
66
73
  })
67
- expect(tx).toBeTruthy()
68
- await tx.wait()
74
+ })
69
75
 
70
- const nameWrapper = await ENSInstance.contracts!.getNameWrapper()!
71
- const result = await nameWrapper.ownerOf(namehash('test.parthtejpal.eth'))
72
- expect(result).toBe(accounts[1])
76
+ describe('wrapped name with PCC burned', () => {
77
+ beforeEach(async () => {
78
+ const tx0 = await ensInstance.setFuses('wrapped-with-subnames.eth', {
79
+ named: ['CANNOT_UNWRAP'],
80
+ addressOrIndex: 1,
81
+ })
82
+ expect(tx0).toBeTruthy()
83
+ await tx0.wait()
84
+ })
85
+
86
+ it('should NOT allow transferring a subname by name owner', async () => {
87
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
88
+
89
+ const tx1 = await ensInstance.setChildFuses(
90
+ 'test.wrapped-with-subnames.eth',
91
+ {
92
+ fuses: {
93
+ parent: {
94
+ named: ['PARENT_CANNOT_CONTROL'],
95
+ },
96
+ },
97
+ addressOrIndex: 1,
98
+ },
99
+ )
100
+ expect(tx1).toBeTruthy()
101
+ await tx1.wait()
102
+
103
+ const checkOwner = await nameWrapper.ownerOf(
104
+ namehash('test.wrapped-with-subnames.eth'),
105
+ )
106
+ expect(checkOwner).toBe(accounts[2])
107
+
108
+ await expect(
109
+ ensInstance.transferSubname('test.wrapped-with-subnames.eth', {
110
+ contract: 'nameWrapper',
111
+ owner: accounts[1],
112
+ addressOrIndex: 2,
113
+ }),
114
+ ).rejects.toThrow()
115
+ const result = await nameWrapper.ownerOf(
116
+ namehash('test.wrapped-with-subnames.eth'),
117
+ )
118
+ expect(result).toBe(accounts[2])
119
+ })
120
+
121
+ it('should NOT allow transferring a subname by parent owner', async () => {
122
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
123
+
124
+ const tx1 = await ensInstance.setChildFuses(
125
+ 'test.wrapped-with-subnames.eth',
126
+ {
127
+ fuses: {
128
+ parent: {
129
+ named: ['PARENT_CANNOT_CONTROL'],
130
+ },
131
+ },
132
+ addressOrIndex: 1,
133
+ },
134
+ )
135
+ expect(tx1).toBeTruthy()
136
+ await tx1.wait()
137
+
138
+ const checkOwner = await nameWrapper.ownerOf(
139
+ namehash('test.wrapped-with-subnames.eth'),
140
+ )
141
+ expect(checkOwner).toBe(accounts[2])
142
+
143
+ await expect(
144
+ ensInstance.transferSubname('test.wrapped-with-subnames.eth', {
145
+ contract: 'nameWrapper',
146
+ owner: accounts[1],
147
+ addressOrIndex: 1,
148
+ }),
149
+ ).rejects.toThrow()
150
+
151
+ const result = await nameWrapper.ownerOf(
152
+ namehash('test.wrapped-with-subnames.eth'),
153
+ )
154
+ expect(result).toBe(accounts[2])
155
+ })
73
156
  })
74
157
  })
@@ -1,33 +1,55 @@
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 { expiryToBigNumber, Expiry } 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
20
  { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
7
21
  name: string,
8
- {
9
- contract,
10
- address,
11
- }: {
12
- contract: 'registry' | 'nameWrapper'
13
- address: string
14
- },
22
+ { contract, owner, resolverAddress, ...wrapperArgs }: Args,
15
23
  ) {
16
24
  const labels = name.split('.')
17
25
  const label = labels.shift() as string
18
- const labelhash = ethers.utils.solidityKeccak256(['string'], [label])
26
+ const labelhash = solidityKeccak256(['string'], [label])
19
27
  const parentNodehash = namehash(labels.join('.'))
20
28
 
21
29
  switch (contract) {
22
30
  case 'registry': {
23
- const registry = (await contracts?.getRegistry()!).connect(signer)
31
+ const registry = (await contracts!.getRegistry()!).connect(signer)
24
32
 
25
- return registry.setSubnodeOwner(parentNodehash, labelhash, address)
33
+ return registry.populateTransaction.setSubnodeOwner(
34
+ parentNodehash,
35
+ labelhash,
36
+ owner,
37
+ )
26
38
  }
27
39
  case 'nameWrapper': {
28
- const nameWrapper = (await contracts?.getNameWrapper()!).connect(signer)
40
+ const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)
41
+ const expiry = expiryToBigNumber(
42
+ (wrapperArgs as NameWrapperArgs).expiry,
43
+ 0,
44
+ )
29
45
 
30
- return nameWrapper.setSubnodeOwner(parentNodehash, label, address, '0')
46
+ return nameWrapper.populateTransaction.setSubnodeOwner(
47
+ parentNodehash,
48
+ label,
49
+ owner,
50
+ '0',
51
+ expiry,
52
+ )
31
53
  }
32
54
  default: {
33
55
  throw new Error(`Unknown contract: ${contract}`)
@@ -0,0 +1,102 @@
1
+ import type batch from './batch'
2
+ import type {
3
+ multicallWrapper,
4
+ resolverMulticallWrapper,
5
+ universalWrapper,
6
+ } from './batchWrappers'
7
+ import type commitName from './commitName'
8
+ import type createSubname from './createSubname'
9
+ import type deleteSubname from './deleteSubname'
10
+ import type getAvailable from './getAvailable'
11
+ import type getDecryptedName from './getDecryptedName'
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
+ extendWrappedName,
40
+ } from './renewNames'
41
+ import type setFuses from './setFuses'
42
+ import type { setChildFuses } from './setFuses'
43
+ import type setName from './setName'
44
+ import type setRecord from './setRecord'
45
+ import type setRecords from './setRecords'
46
+ import type setResolver from './setResolver'
47
+ import type supportsTLD from './supportsTLD'
48
+ import type transferController from './transferController'
49
+ import type transferName from './transferName'
50
+ import type transferSubname from './transferSubname'
51
+ import type unwrapName from './unwrapName'
52
+ import type wrapName from './wrapName'
53
+
54
+ type Function = {
55
+ batch: typeof batch
56
+ multicallWrapper: typeof multicallWrapper
57
+ resolverMulticallWrapper: typeof resolverMulticallWrapper
58
+ universalWrapper: typeof universalWrapper
59
+ setFuses: typeof setFuses
60
+ setChildFuses: typeof setChildFuses
61
+ commitName: typeof commitName
62
+ createSubname: typeof createSubname
63
+ deleteSubname: typeof deleteSubname
64
+ getAvailable: typeof getAvailable
65
+ getDecryptedName: typeof getDecryptedName
66
+ getDNSOwner: typeof getDNSOwner
67
+ getExpiry: typeof getExpiry
68
+ getHistory: typeof getHistory
69
+ getName: typeof getName
70
+ getNames: typeof getNames
71
+ getOwner: typeof getOwner
72
+ getPrice: typeof getPrice
73
+ getProfile: typeof getProfile
74
+ getRecords: typeof getRecords
75
+ getResolver: typeof getResolver
76
+ getAddr: typeof getAddr
77
+ getContentHash: typeof getContentHash
78
+ getText: typeof getText
79
+ getABI: typeof getABI
80
+ _getAddr: typeof _getAddr
81
+ _getContentHash: typeof _getContentHash
82
+ _getText: typeof _getText
83
+ _getABI: typeof _getABI
84
+ getSubnames: typeof getSubnames
85
+ getWrapperData: typeof getWrapperData
86
+ importDNSSECName: typeof importDNSSECName
87
+ registerName: typeof registerName
88
+ renewNames: typeof renewNames
89
+ extendWrappedName: typeof extendWrappedName
90
+ setName: typeof setName
91
+ setRecord: typeof setRecord
92
+ setRecords: typeof setRecords
93
+ setResolver: typeof setResolver
94
+ supportsTLD: typeof supportsTLD
95
+ transferController: typeof transferController
96
+ transferName: typeof transferName
97
+ transferSubname: typeof transferSubname
98
+ unwrapName: typeof unwrapName
99
+ wrapName: typeof wrapName
100
+ }
101
+
102
+ export default Function
@@ -3,13 +3,13 @@ import { ENS } from '..'
3
3
  import setup from '../tests/setup'
4
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,47 +22,32 @@ describe('unwrapName', () => {
22
22
  await revert()
23
23
  })
24
24
  it('should return a .eth unwrap name transaction and succeed', async () => {
25
- const wrapNameTx = await ENSInstance.wrapName('parthtejpal.eth', {
26
- wrappedOwner: accounts[0],
27
- })
28
- await wrapNameTx.wait()
29
-
30
- const tx = await ENSInstance.unwrapName('parthtejpal.eth', {
31
- newController: accounts[0],
32
- newRegistrant: accounts[0],
25
+ const tx = await ensInstance.unwrapName('wrapped.eth', {
26
+ newController: accounts[1],
27
+ newRegistrant: accounts[1],
28
+ addressOrIndex: 1,
33
29
  })
34
30
  expect(tx).toBeTruthy()
35
31
  await tx.wait()
36
32
 
37
- const baseRegistrar = await ENSInstance.contracts!.getBaseRegistrar()!
33
+ const baseRegistrar = await ensInstance.contracts!.getBaseRegistrar()!
38
34
  const result = await baseRegistrar.ownerOf(
39
- utils.solidityKeccak256(['string'], ['parthtejpal']),
35
+ utils.solidityKeccak256(['string'], ['wrapped']),
40
36
  )
41
- expect(result).toBe(accounts[0])
37
+ expect(result).toBe(accounts[1])
42
38
  })
43
39
  it('should return a regular unwrap name transaction and succeed', async () => {
44
- const wrapNameTx = await ENSInstance.wrapName('parthtejpal.eth', {
45
- wrappedOwner: accounts[0],
46
- })
47
- await wrapNameTx.wait()
48
- const createSubnameTx = await ENSInstance.createSubname(
49
- 'test.parthtejpal.eth',
50
- {
51
- contract: 'nameWrapper',
52
- owner: accounts[0],
53
- addressOrIndex: 0,
54
- },
55
- )
56
- await createSubnameTx.wait()
57
-
58
- const tx = await ENSInstance.unwrapName('test.parthtejpal.eth', {
59
- newController: accounts[0],
40
+ const tx = await ensInstance.unwrapName('test.wrapped-with-subnames.eth', {
41
+ newController: accounts[1],
42
+ addressOrIndex: 2,
60
43
  })
61
44
  expect(tx).toBeTruthy()
62
45
  await tx.wait()
63
46
 
64
- const registry = await ENSInstance.contracts!.getRegistry()!
65
- const result = await registry.owner(namehash('test.parthtejpal.eth'))
66
- expect(result).toBe(accounts[0])
47
+ const registry = await ensInstance.contracts!.getRegistry()!
48
+ const result = await registry.owner(
49
+ namehash('test.wrapped-with-subnames.eth'),
50
+ )
51
+ expect(result).toBe(accounts[1])
67
52
  })
68
53
  })
@@ -1,6 +1,8 @@
1
- import { utils } from 'ethers'
1
+ import { keccak256 as solidityKeccak256 } from '@ethersproject/solidity'
2
+
2
3
  import { ENSArgs } from '..'
3
4
  import { namehash } from '../utils/normalise'
5
+ import { checkIsDotEth } from '../utils/validation'
4
6
 
5
7
  export default async function (
6
8
  { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
@@ -14,22 +16,29 @@ export default async function (
14
16
  },
15
17
  ) {
16
18
  const labels = name.split('.')
17
- const labelhash = utils.solidityKeccak256(['string'], [labels[0]])
19
+ const labelhash = solidityKeccak256(['string'], [labels[0]])
18
20
  const parentNodehash = namehash(labels.slice(1).join('.'))
19
21
 
20
- const nameWrapper = (await contracts?.getNameWrapper()!).connect(signer)
22
+ const nameWrapper = (await contracts!.getNameWrapper()!).connect(signer)
21
23
 
22
- if (labels.length === 2 && labels[1] === 'eth') {
24
+ if (checkIsDotEth(labels)) {
23
25
  if (!newRegistrant) {
24
26
  throw new Error('newRegistrant must be specified for .eth names')
25
27
  }
26
28
 
27
- return nameWrapper.unwrapETH2LD(labelhash, newRegistrant, newController)
28
- } else {
29
- if (newRegistrant) {
30
- throw new Error('newRegistrant can only be specified for .eth names')
31
- }
32
-
33
- return nameWrapper.unwrap(parentNodehash, labelhash, newController)
29
+ return nameWrapper.populateTransaction.unwrapETH2LD(
30
+ labelhash,
31
+ newRegistrant,
32
+ newController,
33
+ )
34
34
  }
35
+ if (newRegistrant) {
36
+ throw new Error('newRegistrant can only be specified for .eth names')
37
+ }
38
+
39
+ return nameWrapper.populateTransaction.unwrap(
40
+ parentNodehash,
41
+ labelhash,
42
+ newController,
43
+ )
35
44
  }