@ensdomains/ensjs 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (683) hide show
  1. package/dist/cjs/GqlManager.js +105 -37
  2. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  3. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  4. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  5. package/dist/cjs/contracts/getContractAddress.js +62 -43
  6. package/dist/cjs/contracts/index.js +81 -32
  7. package/dist/cjs/contracts/multicall.js +24 -21
  8. package/dist/cjs/contracts/nameWrapper.js +24 -3
  9. package/dist/cjs/contracts/publicResolver.js +24 -3
  10. package/dist/cjs/contracts/registry.js +24 -3
  11. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  12. package/dist/cjs/contracts/types.js +15 -1
  13. package/dist/cjs/contracts/universalResolver.js +24 -3
  14. package/dist/cjs/functions/batch.js +42 -15
  15. package/dist/cjs/functions/batchWrappers.js +97 -67
  16. package/dist/cjs/functions/burnFuses.js +64 -14
  17. package/dist/cjs/functions/commitName.js +47 -0
  18. package/dist/cjs/functions/createSubname.js +79 -38
  19. package/dist/cjs/functions/deleteSubname.js +62 -4
  20. package/dist/cjs/functions/getDNSOwner.js +82 -0
  21. package/dist/cjs/functions/getExpiry.js +110 -41
  22. package/dist/cjs/functions/getFuses.js +63 -56
  23. package/dist/cjs/functions/getHistory.js +109 -173
  24. package/dist/cjs/functions/getName.js +51 -28
  25. package/dist/cjs/functions/getNames.js +118 -104
  26. package/dist/cjs/functions/getOwner.js +147 -125
  27. package/dist/cjs/functions/getPrice.js +118 -43
  28. package/dist/cjs/functions/getProfile.js +421 -265
  29. package/dist/cjs/functions/getRecords.js +29 -9
  30. package/dist/cjs/functions/getResolver.js +41 -19
  31. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  32. package/dist/cjs/functions/getSubnames.js +74 -118
  33. package/dist/cjs/functions/initialGetters.js +46 -37
  34. package/dist/cjs/functions/registerName.js +42 -0
  35. package/dist/cjs/functions/renewNames.js +42 -0
  36. package/dist/cjs/functions/setName.js +40 -15
  37. package/dist/cjs/functions/setRecord.js +55 -0
  38. package/dist/cjs/functions/setRecords.js +49 -20
  39. package/dist/cjs/functions/setResolver.js +43 -23
  40. package/dist/cjs/functions/transferName.js +60 -30
  41. package/dist/cjs/functions/transferSubname.js +60 -24
  42. package/dist/cjs/functions/unwrapName.js +49 -25
  43. package/dist/cjs/functions/wrapName.js +121 -57
  44. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  45. package/dist/cjs/generated/BulkRenewal.js +16 -0
  46. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  47. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  48. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  49. package/dist/cjs/generated/ENSRegistry.js +15 -1
  50. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  51. package/dist/cjs/generated/Multicall.js +15 -1
  52. package/dist/cjs/generated/NameWrapper.js +15 -1
  53. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  54. package/dist/cjs/generated/PublicResolver.js +15 -1
  55. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  56. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  57. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  58. package/dist/cjs/generated/Root.js +15 -1
  59. package/dist/cjs/generated/SHA1Digest.js +15 -1
  60. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  61. package/dist/cjs/generated/SHA256Digest.js +15 -1
  62. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  63. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  64. package/dist/cjs/generated/UniversalResolver.js +15 -1
  65. package/dist/cjs/generated/common.js +15 -1
  66. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +784 -764
  67. package/dist/cjs/generated/factories/BulkRenewal__factory.js +120 -0
  68. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +281 -288
  69. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +485 -492
  70. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +102 -82
  71. package/dist/cjs/generated/factories/ENSRegistry__factory.js +447 -431
  72. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +534 -504
  73. package/dist/cjs/generated/factories/Multicall__factory.js +457 -441
  74. package/dist/cjs/generated/factories/NameWrapper__factory.js +1341 -1194
  75. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +60 -67
  76. package/dist/cjs/generated/factories/PublicResolver__factory.js +901 -885
  77. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +60 -67
  78. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +60 -67
  79. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +349 -333
  80. package/dist/cjs/generated/factories/Root__factory.js +253 -237
  81. package/dist/cjs/generated/factories/SHA1Digest__factory.js +55 -62
  82. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +60 -67
  83. package/dist/cjs/generated/factories/SHA256Digest__factory.js +55 -62
  84. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +64 -44
  85. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +50 -57
  86. package/dist/cjs/generated/factories/UniversalResolver__factory.js +215 -199
  87. package/dist/cjs/generated/factories/index.js +63 -17
  88. package/dist/cjs/generated/index.js +70 -37
  89. package/dist/cjs/index.js +319 -214
  90. package/dist/cjs/utils/contentHash.js +145 -142
  91. package/dist/cjs/utils/createReverseNode.js +23 -2
  92. package/dist/cjs/utils/format.js +27 -8
  93. package/dist/cjs/utils/fuses.js +64 -13
  94. package/dist/cjs/utils/generateFuseInput.js +37 -16
  95. package/dist/cjs/utils/hexEncodedName.js +29 -7
  96. package/dist/cjs/utils/labels.js +99 -83
  97. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  98. package/dist/cjs/utils/normalise.js +49 -22
  99. package/dist/cjs/utils/recordHelpers.js +84 -39
  100. package/dist/cjs/utils/registerHelpers.js +114 -46
  101. package/dist/cjs/utils/singleCall.js +23 -6
  102. package/dist/cjs/utils/validation.js +76 -63
  103. package/dist/cjs/utils/wrapperExpiry.js +44 -0
  104. package/dist/cjs/utils/writeTx.js +25 -0
  105. package/dist/esm/GqlManager.mjs +85 -0
  106. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  107. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  108. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  109. package/dist/esm/contracts/getContractAddress.mjs +46 -0
  110. package/dist/esm/contracts/index.mjs +61 -0
  111. package/dist/esm/contracts/multicall.mjs +6 -0
  112. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  113. package/dist/esm/contracts/publicResolver.mjs +6 -0
  114. package/dist/esm/contracts/registry.mjs +6 -0
  115. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  116. package/dist/esm/contracts/types.mjs +0 -0
  117. package/dist/esm/contracts/universalResolver.mjs +6 -0
  118. package/dist/esm/functions/batch.mjs +29 -0
  119. package/dist/esm/functions/batchWrappers.mjs +82 -0
  120. package/dist/esm/functions/burnFuses.mjs +52 -0
  121. package/dist/esm/functions/commitName.mjs +28 -0
  122. package/dist/esm/functions/createSubname.mjs +60 -0
  123. package/dist/esm/functions/deleteSubname.mjs +45 -0
  124. package/dist/esm/functions/getDNSOwner.mjs +57 -0
  125. package/dist/esm/functions/getExpiry.mjs +95 -0
  126. package/dist/esm/functions/getFuses.mjs +50 -0
  127. package/dist/esm/functions/getHistory.mjs +196 -0
  128. package/dist/esm/functions/getName.mjs +38 -0
  129. package/dist/esm/functions/getNames.mjs +217 -0
  130. package/dist/esm/functions/getOwner.mjs +143 -0
  131. package/dist/esm/functions/getPrice.mjs +106 -0
  132. package/dist/esm/functions/getProfile.mjs +439 -0
  133. package/dist/esm/functions/getRecords.mjs +12 -0
  134. package/dist/esm/functions/getResolver.mjs +27 -0
  135. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  136. package/dist/esm/functions/getSubnames.mjs +91 -0
  137. package/dist/esm/functions/initialGetters.mjs +23 -0
  138. package/dist/esm/functions/registerName.mjs +25 -0
  139. package/dist/esm/functions/renewNames.mjs +23 -0
  140. package/dist/esm/functions/setName.mjs +23 -0
  141. package/dist/esm/functions/setRecord.mjs +36 -0
  142. package/dist/esm/functions/setRecords.mjs +32 -0
  143. package/dist/esm/functions/setResolver.mjs +29 -0
  144. package/dist/esm/functions/transferName.mjs +45 -0
  145. package/dist/esm/functions/transferSubname.mjs +45 -0
  146. package/dist/esm/functions/unwrapName.mjs +33 -0
  147. package/dist/esm/functions/wrapName.mjs +103 -0
  148. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  149. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  150. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  151. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  152. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  153. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  154. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  155. package/dist/esm/generated/Multicall.mjs +0 -0
  156. package/dist/esm/generated/NameWrapper.mjs +0 -0
  157. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  158. package/dist/esm/generated/PublicResolver.mjs +0 -0
  159. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  160. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  161. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  162. package/dist/esm/generated/Root.mjs +0 -0
  163. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  164. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  165. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  166. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  167. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  168. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  169. package/dist/esm/generated/common.mjs +0 -0
  170. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +778 -0
  171. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +108 -0
  172. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +277 -0
  173. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +482 -0
  174. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +95 -0
  175. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +443 -0
  176. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +529 -0
  177. package/dist/esm/generated/factories/Multicall__factory.mjs +461 -0
  178. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1335 -0
  179. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +52 -0
  180. package/dist/esm/generated/factories/PublicResolver__factory.mjs +896 -0
  181. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +52 -0
  182. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +52 -0
  183. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +344 -0
  184. package/dist/esm/generated/factories/Root__factory.mjs +247 -0
  185. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +47 -0
  186. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +52 -0
  187. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +47 -0
  188. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +57 -0
  189. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +42 -0
  190. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +208 -0
  191. package/dist/esm/generated/factories/index.mjs +45 -0
  192. package/dist/esm/generated/index.mjs +47 -0
  193. package/dist/esm/index.mjs +304 -0
  194. package/dist/esm/utils/contentHash.mjs +142 -0
  195. package/dist/esm/utils/createReverseNode.mjs +5 -0
  196. package/dist/esm/utils/format.mjs +9 -0
  197. package/dist/esm/utils/fuses.mjs +56 -0
  198. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  199. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  200. package/dist/esm/utils/labels.mjs +109 -0
  201. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  202. package/dist/esm/utils/normalise.mjs +30 -0
  203. package/dist/esm/utils/recordHelpers.mjs +70 -0
  204. package/dist/esm/utils/registerHelpers.mjs +95 -0
  205. package/dist/esm/utils/singleCall.mjs +5 -0
  206. package/dist/esm/utils/validation.mjs +67 -0
  207. package/dist/esm/utils/wrapperExpiry.mjs +25 -0
  208. package/dist/esm/utils/writeTx.mjs +6 -0
  209. package/dist/types/GqlManager.d.ts +11 -0
  210. package/dist/{cjs → types}/contracts/baseRegistrar.d.ts +0 -0
  211. package/dist/{cjs/contracts/ethRegistrarController.d.ts → types/contracts/bulkRenewal.d.ts} +1 -1
  212. package/dist/{esm → types}/contracts/ethRegistrarController.d.ts +1 -1
  213. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  214. package/dist/types/contracts/index.d.ts +17 -0
  215. package/dist/{cjs → types}/contracts/multicall.d.ts +0 -0
  216. package/dist/{esm → types}/contracts/nameWrapper.d.ts +1 -1
  217. package/dist/{esm → types}/contracts/publicResolver.d.ts +1 -1
  218. package/dist/{cjs → types}/contracts/registry.d.ts +0 -0
  219. package/dist/{cjs → types}/contracts/reverseRegistrar.d.ts +1 -1
  220. package/dist/{cjs → types}/contracts/types.d.ts +1 -1
  221. package/dist/{cjs → types}/contracts/universalResolver.d.ts +1 -1
  222. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  223. package/dist/{esm → types}/functions/batchWrappers.d.ts +2 -2
  224. package/dist/types/functions/burnFuses.d.ts +13 -0
  225. package/dist/types/functions/commitName.d.ts +26 -0
  226. package/dist/{esm → types}/functions/createSubname.d.ts +3 -5
  227. package/dist/types/functions/deleteSubname.d.ts +7 -0
  228. package/dist/types/functions/getDNSOwner.d.ts +7 -0
  229. package/dist/types/functions/getExpiry.d.ts +19 -0
  230. package/dist/{cjs → types}/functions/getFuses.d.ts +5 -6
  231. package/dist/types/functions/getHistory.d.ts +28 -0
  232. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  233. package/dist/{cjs → types}/functions/getNames.d.ts +0 -0
  234. package/dist/{cjs → types}/functions/getOwner.d.ts +0 -0
  235. package/dist/{esm → types}/functions/getPrice.d.ts +2 -2
  236. package/dist/{esm → types}/functions/getProfile.d.ts +4 -1
  237. package/dist/{esm → types}/functions/getRecords.d.ts +1 -0
  238. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  239. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +4 -4
  240. package/dist/{esm → types}/functions/getSubnames.d.ts +2 -2
  241. package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
  242. package/dist/types/functions/registerName.d.ts +11 -0
  243. package/dist/types/functions/renewNames.d.ts +6 -0
  244. package/dist/types/functions/setName.d.ts +5 -0
  245. package/dist/types/functions/setRecord.d.ts +18 -0
  246. package/dist/types/functions/setRecords.d.ts +6 -0
  247. package/dist/types/functions/setResolver.d.ts +5 -0
  248. package/dist/types/functions/transferName.d.ts +6 -0
  249. package/dist/types/functions/transferSubname.d.ts +15 -0
  250. package/dist/types/functions/unwrapName.d.ts +5 -0
  251. package/dist/types/functions/wrapName.d.ts +10 -0
  252. package/dist/types/generated/BaseRegistrarImplementation.d.ts +508 -0
  253. package/dist/types/generated/BulkRenewal.d.ts +76 -0
  254. package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +68 -64
  255. package/dist/{esm → types}/generated/DNSSECImpl.d.ts +111 -111
  256. package/dist/{cjs → types}/generated/DefaultReverseResolver.d.ts +17 -17
  257. package/dist/types/generated/ENSRegistry.d.ts +274 -0
  258. package/dist/{esm → types}/generated/ETHRegistrarController.d.ts +111 -109
  259. package/dist/{esm → types}/generated/Multicall.d.ts +60 -60
  260. package/dist/types/generated/NameWrapper.d.ts +814 -0
  261. package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +11 -7
  262. package/dist/types/generated/PublicResolver.d.ts +566 -0
  263. package/dist/{esm → types}/generated/RSASHA1Algorithm.d.ts +11 -7
  264. package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +11 -7
  265. package/dist/{esm → types}/generated/ReverseRegistrar.d.ts +112 -103
  266. package/dist/types/generated/Root.d.ts +173 -0
  267. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +7 -7
  268. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +11 -7
  269. package/dist/{cjs → types}/generated/SHA256Digest.d.ts +7 -7
  270. package/dist/{cjs → types}/generated/StaticMetadataService.d.ts +7 -7
  271. package/dist/{esm → types}/generated/TLDPublicSuffixList.d.ts +7 -7
  272. package/dist/types/generated/UniversalResolver.d.ts +82 -0
  273. package/dist/{esm → types}/generated/common.d.ts +1 -0
  274. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
  275. package/dist/{esm/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +4 -4
  276. package/dist/{esm/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +15 -14
  277. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +9 -9
  278. package/dist/{cjs → types}/generated/factories/DefaultReverseResolver__factory.d.ts +0 -0
  279. package/dist/{cjs → types}/generated/factories/ENSRegistry__factory.d.ts +0 -0
  280. package/dist/{cjs → types}/generated/factories/ETHRegistrarController__factory.d.ts +0 -0
  281. package/dist/{cjs → types}/generated/factories/Multicall__factory.d.ts +0 -0
  282. package/dist/{cjs → types}/generated/factories/NameWrapper__factory.d.ts +0 -0
  283. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  284. package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
  285. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  286. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  287. package/dist/{cjs → types}/generated/factories/ReverseRegistrar__factory.d.ts +0 -0
  288. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +0 -0
  289. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  290. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  291. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  292. package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
  293. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  294. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
  295. package/dist/types/generated/factories/index.d.ts +21 -0
  296. package/dist/types/generated/index.d.ts +43 -0
  297. package/dist/{esm → types}/index.d.ts +94 -109
  298. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  299. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  300. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  301. package/dist/types/utils/fuses.d.ts +43 -0
  302. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +0 -0
  303. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  304. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  305. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  306. package/dist/types/utils/normalise.d.ts +2 -0
  307. package/dist/{esm → types}/utils/recordHelpers.d.ts +3 -0
  308. package/dist/types/utils/registerHelpers.d.ts +54 -0
  309. package/dist/{cjs → types}/utils/singleCall.d.ts +0 -0
  310. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  311. package/dist/types/utils/wrapperExpiry.d.ts +5 -0
  312. package/dist/types/utils/writeTx.d.ts +21 -0
  313. package/package.json +71 -32
  314. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  315. package/src/@types/dns-packet/index.d.ts +114 -0
  316. package/src/ABIs/Multicall.json +452 -0
  317. package/src/GqlManager.test.ts +173 -0
  318. package/src/GqlManager.ts +90 -2
  319. package/src/contracts/bulkRenewal.ts +6 -0
  320. package/src/contracts/getContractAddress.ts +3 -0
  321. package/src/contracts/index.ts +15 -1
  322. package/src/contracts/multicall.ts +0 -19
  323. package/src/contracts/types.ts +1 -0
  324. package/src/functions/batch.test.ts +36 -0
  325. package/src/functions/batch.ts +3 -3
  326. package/src/functions/batchWrappers.test.ts +31 -0
  327. package/src/functions/batchWrappers.ts +2 -2
  328. package/src/functions/burnFuses.test.ts +148 -0
  329. package/src/functions/burnFuses.ts +67 -11
  330. package/src/functions/commitName.test.ts +61 -0
  331. package/src/functions/commitName.ts +36 -0
  332. package/src/{tests → functions}/createSubname.test.ts +11 -19
  333. package/src/functions/createSubname.ts +20 -15
  334. package/src/functions/deleteSubname.test.ts +49 -0
  335. package/src/functions/deleteSubname.ts +51 -13
  336. package/src/functions/getDNSOwner.test.ts +119 -0
  337. package/src/functions/getDNSOwner.ts +61 -0
  338. package/src/functions/getExpiry.test.ts +55 -0
  339. package/src/functions/getExpiry.ts +87 -9
  340. package/src/functions/getFuses.test.ts +96 -0
  341. package/src/functions/getFuses.ts +23 -44
  342. package/src/functions/getHistory.test.ts +29 -0
  343. package/src/functions/getHistory.ts +27 -141
  344. package/src/{tests → functions}/getName.test.ts +11 -11
  345. package/src/functions/getName.ts +2 -2
  346. package/src/functions/getNames.test.ts +285 -0
  347. package/src/functions/getNames.ts +25 -30
  348. package/src/functions/getOwner.test.ts +67 -0
  349. package/src/functions/getOwner.ts +16 -10
  350. package/src/functions/getPrice.test.ts +52 -0
  351. package/src/functions/getPrice.ts +62 -10
  352. package/src/{tests → functions}/getProfile.test.ts +54 -27
  353. package/src/functions/getProfile.ts +161 -96
  354. package/src/functions/getRecords.ts +2 -1
  355. package/src/functions/getResolver.test.ts +15 -0
  356. package/src/{tests → functions}/getSpecificRecord.test.ts +21 -18
  357. package/src/functions/getSpecificRecord.ts +18 -147
  358. package/src/functions/getSubnames.test.ts +675 -0
  359. package/src/functions/getSubnames.ts +43 -102
  360. package/src/{tests → functions}/makeCommitment.test.ts +6 -6
  361. package/src/{tests → functions}/normalise.test.ts +0 -0
  362. package/src/functions/registerName.test.ts +59 -0
  363. package/src/functions/registerName.ts +38 -0
  364. package/src/functions/renewNames.test.ts +64 -0
  365. package/src/functions/renewNames.ts +30 -0
  366. package/src/{tests → functions}/setName.test.ts +16 -16
  367. package/src/functions/setName.ts +15 -17
  368. package/src/functions/setRecord.test.ts +103 -0
  369. package/src/functions/setRecord.ts +59 -0
  370. package/src/{tests → functions}/setRecords.test.ts +19 -16
  371. package/src/functions/setRecords.ts +19 -13
  372. package/src/{tests → functions}/setResolver.test.ts +17 -25
  373. package/src/functions/setResolver.ts +15 -20
  374. package/src/functions/transferName.test.ts +65 -0
  375. package/src/functions/transferName.ts +17 -21
  376. package/src/functions/transferSubname.test.ts +55 -0
  377. package/src/functions/transferSubname.ts +39 -14
  378. package/src/functions/unwrapName.test.ts +53 -0
  379. package/src/functions/unwrapName.ts +23 -20
  380. package/src/functions/wrapName.test.ts +141 -0
  381. package/src/functions/wrapName.ts +71 -58
  382. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  383. package/src/generated/BulkRenewal.ts +197 -0
  384. package/src/generated/DNSRegistrar.ts +103 -89
  385. package/src/generated/DNSSECImpl.ts +180 -149
  386. package/src/generated/DefaultReverseResolver.ts +37 -21
  387. package/src/generated/ENSRegistry.ts +257 -184
  388. package/src/generated/ETHRegistrarController.ts +252 -191
  389. package/src/generated/Multicall.ts +73 -57
  390. package/src/generated/NameWrapper.ts +979 -649
  391. package/src/generated/P256SHA256Algorithm.ts +21 -16
  392. package/src/generated/PublicResolver.ts +452 -362
  393. package/src/generated/RSASHA1Algorithm.ts +21 -16
  394. package/src/generated/RSASHA256Algorithm.ts +21 -16
  395. package/src/generated/ReverseRegistrar.ts +193 -141
  396. package/src/generated/Root.ts +146 -86
  397. package/src/generated/SHA1Digest.ts +12 -11
  398. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  399. package/src/generated/SHA256Digest.ts +12 -11
  400. package/src/generated/StaticMetadataService.ts +22 -6
  401. package/src/generated/TLDPublicSuffixList.ts +10 -6
  402. package/src/generated/UniversalResolver.ts +44 -40
  403. package/src/generated/common.ts +2 -0
  404. package/src/generated/factories/BulkRenewal__factory.ts +108 -0
  405. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  406. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  407. package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
  408. package/src/generated/factories/NameWrapper__factory.ts +210 -79
  409. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  410. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  411. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  412. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  413. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  414. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  415. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  416. package/src/generated/factories/index.ts +15 -0
  417. package/src/generated/index.ts +31 -1
  418. package/src/index.ts +169 -63
  419. package/src/utils/contentHash.ts +24 -22
  420. package/src/utils/createReverseNode.ts +1 -1
  421. package/src/utils/fuses.ts +52 -4
  422. package/src/utils/labels.ts +6 -4
  423. package/src/utils/normalise.ts +11 -5
  424. package/src/utils/recordHelpers.ts +52 -20
  425. package/src/utils/registerHelpers.ts +112 -53
  426. package/src/utils/validation.ts +8 -9
  427. package/src/utils/wrapperExpiry.ts +29 -0
  428. package/src/utils/writeTx.ts +16 -0
  429. package/dist/cjs/GqlManager.d.ts +0 -6
  430. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  431. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  432. package/dist/cjs/contracts/index.d.ts +0 -16
  433. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  434. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  435. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  436. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  437. package/dist/cjs/functions/createSubname.d.ts +0 -19
  438. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  439. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  440. package/dist/cjs/functions/getHistory.d.ts +0 -54
  441. package/dist/cjs/functions/getPrice.d.ts +0 -13
  442. package/dist/cjs/functions/getProfile.d.ts +0 -30
  443. package/dist/cjs/functions/getRecords.d.ts +0 -32
  444. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  445. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  446. package/dist/cjs/functions/setName.d.ts +0 -4
  447. package/dist/cjs/functions/setRecords.d.ts +0 -3
  448. package/dist/cjs/functions/setResolver.d.ts +0 -4
  449. package/dist/cjs/functions/transferName.d.ts +0 -5
  450. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  451. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  452. package/dist/cjs/functions/wrapName.d.ts +0 -6
  453. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  454. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  455. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  456. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  457. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  458. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  459. package/dist/cjs/generated/Multicall.d.ts +0 -292
  460. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  461. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  462. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  463. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  464. package/dist/cjs/generated/Root.d.ts +0 -173
  465. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  466. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  467. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  468. package/dist/cjs/generated/common.d.ts +0 -21
  469. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  470. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  471. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  472. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  473. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  474. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  475. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  476. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  477. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  478. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  479. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  480. package/dist/cjs/generated/factories/index.d.ts +0 -6
  481. package/dist/cjs/generated/index.d.ts +0 -13
  482. package/dist/cjs/index.d.ts +0 -470
  483. package/dist/cjs/utils/fuses.d.ts +0 -20
  484. package/dist/cjs/utils/normalise.d.ts +0 -2
  485. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  486. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  487. package/dist/esm/GqlManager.d.ts +0 -6
  488. package/dist/esm/GqlManager.js +0 -18
  489. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  490. package/dist/esm/contracts/baseRegistrar.js +0 -2
  491. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  492. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  493. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  494. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  495. package/dist/esm/contracts/getContractAddress.js +0 -42
  496. package/dist/esm/contracts/index.d.ts +0 -16
  497. package/dist/esm/contracts/index.js +0 -29
  498. package/dist/esm/contracts/multicall.d.ts +0 -3
  499. package/dist/esm/contracts/multicall.js +0 -20
  500. package/dist/esm/contracts/nameWrapper.js +0 -2
  501. package/dist/esm/contracts/publicResolver.js +0 -2
  502. package/dist/esm/contracts/registry.d.ts +0 -3
  503. package/dist/esm/contracts/registry.js +0 -2
  504. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  505. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  506. package/dist/esm/contracts/types.d.ts +0 -2
  507. package/dist/esm/contracts/types.js +0 -1
  508. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  509. package/dist/esm/contracts/universalResolver.js +0 -2
  510. package/dist/esm/functions/batch.d.ts +0 -9
  511. package/dist/esm/functions/batch.js +0 -19
  512. package/dist/esm/functions/batchWrappers.js +0 -68
  513. package/dist/esm/functions/burnFuses.d.ts +0 -3
  514. package/dist/esm/functions/burnFuses.js +0 -12
  515. package/dist/esm/functions/createSubname.js +0 -38
  516. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  517. package/dist/esm/functions/deleteSubname.js +0 -3
  518. package/dist/esm/functions/getExpiry.d.ts +0 -12
  519. package/dist/esm/functions/getExpiry.js +0 -43
  520. package/dist/esm/functions/getFuses.d.ts +0 -17
  521. package/dist/esm/functions/getFuses.js +0 -60
  522. package/dist/esm/functions/getHistory.d.ts +0 -54
  523. package/dist/esm/functions/getHistory.js +0 -273
  524. package/dist/esm/functions/getName.d.ts +0 -19
  525. package/dist/esm/functions/getName.js +0 -32
  526. package/dist/esm/functions/getNames.d.ts +0 -40
  527. package/dist/esm/functions/getNames.js +0 -220
  528. package/dist/esm/functions/getOwner.d.ts +0 -14
  529. package/dist/esm/functions/getOwner.js +0 -138
  530. package/dist/esm/functions/getPrice.js +0 -48
  531. package/dist/esm/functions/getProfile.js +0 -299
  532. package/dist/esm/functions/getRecords.js +0 -8
  533. package/dist/esm/functions/getResolver.d.ts +0 -9
  534. package/dist/esm/functions/getResolver.js +0 -22
  535. package/dist/esm/functions/getSpecificRecord.js +0 -265
  536. package/dist/esm/functions/getSubnames.js +0 -152
  537. package/dist/esm/functions/initialGetters.d.ts +0 -11
  538. package/dist/esm/functions/initialGetters.js +0 -11
  539. package/dist/esm/functions/setName.d.ts +0 -4
  540. package/dist/esm/functions/setName.js +0 -14
  541. package/dist/esm/functions/setRecords.d.ts +0 -3
  542. package/dist/esm/functions/setRecords.js +0 -19
  543. package/dist/esm/functions/setResolver.d.ts +0 -4
  544. package/dist/esm/functions/setResolver.js +0 -25
  545. package/dist/esm/functions/transferName.d.ts +0 -5
  546. package/dist/esm/functions/transferName.js +0 -31
  547. package/dist/esm/functions/transferSubname.d.ts +0 -5
  548. package/dist/esm/functions/transferSubname.js +0 -25
  549. package/dist/esm/functions/unwrapName.d.ts +0 -4
  550. package/dist/esm/functions/unwrapName.js +0 -25
  551. package/dist/esm/functions/wrapName.d.ts +0 -6
  552. package/dist/esm/functions/wrapName.js +0 -58
  553. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  554. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  555. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  556. package/dist/esm/generated/DNSRegistrar.js +0 -1
  557. package/dist/esm/generated/DNSSECImpl.js +0 -1
  558. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  559. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  560. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  561. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  562. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  563. package/dist/esm/generated/ENSRegistry.js +0 -1
  564. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  565. package/dist/esm/generated/Multicall.js +0 -1
  566. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  567. package/dist/esm/generated/NameWrapper.js +0 -1
  568. package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -72
  569. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  570. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  571. package/dist/esm/generated/PublicResolver.js +0 -1
  572. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  573. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  574. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  575. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  576. package/dist/esm/generated/Root.d.ts +0 -173
  577. package/dist/esm/generated/Root.js +0 -1
  578. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  579. package/dist/esm/generated/SHA1Digest.js +0 -1
  580. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  581. package/dist/esm/generated/SHA256Digest.d.ts +0 -67
  582. package/dist/esm/generated/SHA256Digest.js +0 -1
  583. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  584. package/dist/esm/generated/StaticMetadataService.js +0 -1
  585. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  586. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  587. package/dist/esm/generated/UniversalResolver.js +0 -1
  588. package/dist/esm/generated/common.js +0 -1
  589. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  590. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  591. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  592. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  593. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  594. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  595. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  596. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  597. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  598. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
  599. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  600. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  601. package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
  602. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  603. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
  604. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  605. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  606. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  607. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
  608. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  609. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  610. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  611. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  612. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  613. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  614. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  615. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  616. package/dist/esm/generated/factories/Root__factory.js +0 -239
  617. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  618. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  619. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  620. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  621. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  622. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  623. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  624. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  625. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  626. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  627. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  628. package/dist/esm/generated/factories/index.d.ts +0 -6
  629. package/dist/esm/generated/factories/index.js +0 -9
  630. package/dist/esm/generated/index.d.ts +0 -13
  631. package/dist/esm/generated/index.js +0 -7
  632. package/dist/esm/index.js +0 -189
  633. package/dist/esm/utils/contentHash.d.ts +0 -28
  634. package/dist/esm/utils/contentHash.js +0 -153
  635. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  636. package/dist/esm/utils/createReverseNode.js +0 -1
  637. package/dist/esm/utils/format.d.ts +0 -3
  638. package/dist/esm/utils/format.js +0 -3
  639. package/dist/esm/utils/fuses.d.ts +0 -20
  640. package/dist/esm/utils/fuses.js +0 -21
  641. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  642. package/dist/esm/utils/generateFuseInput.js +0 -14
  643. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  644. package/dist/esm/utils/hexEncodedName.js +0 -2
  645. package/dist/esm/utils/labels.d.ts +0 -14
  646. package/dist/esm/utils/labels.js +0 -95
  647. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  648. package/dist/esm/utils/makeHashIndexes.js +0 -3
  649. package/dist/esm/utils/normalise.d.ts +0 -2
  650. package/dist/esm/utils/normalise.js +0 -20
  651. package/dist/esm/utils/recordHelpers.js +0 -39
  652. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  653. package/dist/esm/utils/registerHelpers.js +0 -43
  654. package/dist/esm/utils/singleCall.d.ts +0 -9
  655. package/dist/esm/utils/singleCall.js +0 -5
  656. package/dist/esm/utils/validation.d.ts +0 -8
  657. package/dist/esm/utils/validation.js +0 -67
  658. package/src/ABIs/ETHRegistrarController.json +0 -494
  659. package/src/ABIs/NameWrapper.json +0 -1183
  660. package/src/ABIs/PublicResolver.json +0 -875
  661. package/src/ABIs/ReverseRegistrar.json +0 -323
  662. package/src/ABIs/StaticMetadataService.json +0 -32
  663. package/src/ABIs/UniversalResolver.json +0 -187
  664. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  665. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  666. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  667. package/src/tests/batch.test.ts +0 -36
  668. package/src/tests/batchWrappers.test.ts +0 -31
  669. package/src/tests/burnFuses.test.ts +0 -44
  670. package/src/tests/deleteSubname.test.ts +0 -71
  671. package/src/tests/getExpiry.test.ts +0 -37
  672. package/src/tests/getFuses.test.ts +0 -103
  673. package/src/tests/getHistory.test.ts +0 -101
  674. package/src/tests/getNames.test.ts +0 -247
  675. package/src/tests/getOwner.test.ts +0 -71
  676. package/src/tests/getResolver.test.ts +0 -19
  677. package/src/tests/getSubnames.test.ts +0 -31
  678. package/src/tests/setup.ts +0 -53
  679. package/src/tests/transferName.test.ts +0 -81
  680. package/src/tests/transferSubname.test.ts +0 -73
  681. package/src/tests/unwrapName.test.ts +0 -68
  682. package/src/tests/withProvider.test.ts +0 -28
  683. package/src/tests/wrapName.test.ts +0 -64
@@ -21,23 +21,52 @@ type Params = {
21
21
  pageSize?: number
22
22
  orderDirection?: 'asc' | 'desc'
23
23
  orderBy?: 'createdAt' | 'labelName'
24
- lastSubnames: Array<any>
25
- isLargeQuery?: boolean
24
+ lastSubnames?: Array<any>
25
+ search?: string
26
26
  }
27
27
 
28
28
  const largeQuery = async (
29
29
  { gqlInstance }: ENSArgs<'gqlInstance'>,
30
- { name, page, pageSize = 10, orderDirection, orderBy, lastSubnames }: Params,
30
+ {
31
+ name,
32
+ pageSize = 10,
33
+ orderDirection,
34
+ orderBy,
35
+ lastSubnames = [],
36
+ search = '',
37
+ }: Params,
31
38
  ) => {
32
- const client = gqlInstance.client
39
+ const { client } = gqlInstance
40
+
41
+ const lastSubname = lastSubnames?.[lastSubnames.length - 1]
42
+ const lastCreatedAt = lastSubname?.createdAt
43
+ const lastLabelName = lastSubname?.labelName
33
44
 
34
- let finalQuery = gqlInstance.gql`
45
+ let whereFilter = ''
46
+ if (orderBy === 'createdAt' && lastCreatedAt) {
47
+ whereFilter +=
48
+ orderDirection === 'asc'
49
+ ? 'createdAt_gt: $lastCreatedAt'
50
+ : 'createdAt_lt: $lastCreatedAt'
51
+ } else if (orderBy === 'labelName' && lastLabelName) {
52
+ whereFilter +=
53
+ orderDirection === 'asc'
54
+ ? 'labelName_gt: $lastLabelName'
55
+ : 'labelName_lt: $lastLabelName'
56
+ }
57
+ if (search) {
58
+ whereFilter += ' labelName_contains: $search'
59
+ }
60
+
61
+ const finalQuery = gqlInstance.gql`
35
62
  query getSubnames(
36
63
  $id: ID!
37
64
  $first: Int
38
65
  $lastCreatedAt: BigInt
66
+ $lastLabelName: String
39
67
  $orderBy: Domain_orderBy
40
68
  $orderDirection: OrderDirection
69
+ $search: String
41
70
  ) {
42
71
  domain(
43
72
  id: $id
@@ -47,7 +76,9 @@ const largeQuery = async (
47
76
  first: $first
48
77
  orderBy: $orderBy
49
78
  orderDirection: $orderDirection
50
- where: { createdAt_lt: $lastCreatedAt }
79
+ where: {
80
+ ${whereFilter}
81
+ }
51
82
  ) {
52
83
  id
53
84
  labelName
@@ -63,107 +94,20 @@ const largeQuery = async (
63
94
  }
64
95
  }
65
96
  `
66
- let queryVars = {
97
+
98
+ const queryVars = {
67
99
  id: namehash(name),
68
100
  first: pageSize,
69
- lastCreatedAt: lastSubnames[lastSubnames.length - 1]?.createdAt,
101
+ lastCreatedAt,
102
+ lastLabelName,
70
103
  orderBy,
71
104
  orderDirection,
105
+ search: search?.toLowerCase(),
72
106
  }
73
107
  const { domain } = await client.request(finalQuery, queryVars)
74
108
  const subdomains = domain.subdomains.map((subname: any) => {
75
109
  const decrypted = decryptName(subname.name)
76
- return {
77
- ...subname,
78
- name: decrypted,
79
- truncatedName: truncateFormat(decrypted),
80
- }
81
- })
82
110
 
83
- return {
84
- subnames: subdomains,
85
- subnameCount: domain.subdomainCount,
86
- }
87
- }
88
-
89
- const smallQuery = async (
90
- { gqlInstance }: ENSArgs<'gqlInstance'>,
91
- { name, page, pageSize = 10, orderDirection, orderBy }: Params,
92
- ) => {
93
- const client = gqlInstance.client
94
- const subdomainsGql = `
95
- id
96
- labelName
97
- labelhash
98
- isMigrated
99
- name
100
- subdomainCount
101
- createdAt
102
- owner {
103
- id
104
- }
105
- `
106
- let queryVars = {}
107
- let finalQuery = ''
108
- if (typeof page !== 'number') {
109
- finalQuery = gqlInstance.gql`
110
- query getSubnames(
111
- $id: ID!
112
- $orderBy: Domain_orderBy
113
- $orderDirection: OrderDirection
114
- ) {
115
- domain(
116
- id: $id
117
- ) {
118
- subdomains(
119
- orderBy: $orderBy
120
- orderDirection: $orderDirection
121
- ) {
122
- ${subdomainsGql}
123
- }
124
- }
125
- }
126
- `
127
- queryVars = {
128
- id: namehash(name),
129
- orderBy,
130
- orderDirection,
131
- }
132
- } else {
133
- finalQuery = gqlInstance.gql`
134
- query getSubnames(
135
- $id: ID!
136
- $first: Int
137
- $skip: Int
138
- $orderBy: Domain_orderBy
139
- $orderDirection: OrderDirection
140
- ) {
141
- domain(
142
- id: $id
143
- ) {
144
- subdomainCount
145
- subdomains(
146
- first: $first
147
- skip: $skip
148
- orderBy: $orderBy
149
- orderDirection: $orderDirection
150
- ) {
151
- ${subdomainsGql}
152
- }
153
- }
154
- }
155
- `
156
- queryVars = {
157
- id: namehash(name),
158
- first: pageSize,
159
- skip: (page || 0) * pageSize,
160
- orderBy,
161
- orderDirection,
162
- }
163
- }
164
- const { domain } = await client.request(finalQuery, queryVars)
165
- const subdomains = domain.subdomains.map((subname: any) => {
166
- const decrypted = decryptName(subname.name)
167
111
  return {
168
112
  ...subname,
169
113
  name: decrypted,
@@ -181,10 +125,7 @@ const getSubnames = (
181
125
  injected: ENSArgs<'gqlInstance'>,
182
126
  functionArgs: Params,
183
127
  ): Promise<{ subnames: Subname[]; subnameCount: number }> => {
184
- if (functionArgs.isLargeQuery) {
185
- return largeQuery(injected, functionArgs)
186
- }
187
- return smallQuery(injected, functionArgs)
128
+ return largeQuery(injected, functionArgs)
188
129
  }
189
130
 
190
131
  export default getSubnames
@@ -1,21 +1,21 @@
1
1
  import { ENS } from '..'
2
+ import setup from '../tests/setup'
2
3
  import { makeCommitment } from '../utils/registerHelpers'
3
- import setup from './setup'
4
4
 
5
- let ENSInstance: ENS
5
+ let ensInstance: ENS
6
6
 
7
7
  beforeAll(async () => {
8
- ;({ ENSInstance } = await setup())
8
+ ;({ ensInstance } = await setup())
9
9
  })
10
10
 
11
11
  describe('makeCommitment', () => {
12
12
  it('should create a valid commitment', async () => {
13
- const resolver = await ENSInstance.contracts!.getPublicResolver()!
13
+ const resolver = await ensInstance.contracts!.getPublicResolver()!
14
14
  const commitment = makeCommitment({
15
15
  name: 'test.eth',
16
- owner: '0x866B3c4994e1416B7C738B9818b31dC246b95eEE',
16
+ owner: '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
17
17
  duration: 1 * 365 * 24 * 60 * 60,
18
- resolver: resolver,
18
+ resolver,
19
19
  })
20
20
  expect(commitment).toHaveProperty('secret')
21
21
  expect(commitment).toHaveProperty('commitment')
File without changes
@@ -0,0 +1,59 @@
1
+ import { ethers } from 'ethers'
2
+ import { ENS } from '..'
3
+ import setup from '../tests/setup'
4
+ import { namehash } from '../utils/normalise'
5
+
6
+ let ensInstance: ENS
7
+ let revert: Awaited<ReturnType<typeof setup>>['revert']
8
+ let provider: ethers.providers.JsonRpcProvider
9
+ let accounts: string[]
10
+
11
+ beforeAll(async () => {
12
+ ;({ ensInstance, revert, provider } = await setup())
13
+ accounts = await provider.listAccounts()
14
+ })
15
+
16
+ afterAll(async () => {
17
+ await revert()
18
+ await provider.send('anvil_removeBlockTimestampInterval', [])
19
+ })
20
+
21
+ describe('registerName', () => {
22
+ beforeEach(async () => {
23
+ await revert()
24
+ })
25
+ it('should return a registration transaction and succeed', async () => {
26
+ const name = 'cool-swag.eth'
27
+ const duration = 31536000
28
+ const { customData, ...commitPopTx } =
29
+ await ensInstance.commitName.populateTransaction(name, {
30
+ duration,
31
+ owner: accounts[1],
32
+ addressOrIndex: accounts[1],
33
+ })
34
+ const commitTx = await provider.getSigner().sendTransaction(commitPopTx)
35
+ await commitTx.wait()
36
+
37
+ await provider.send('evm_increaseTime', [60])
38
+ await provider.send('evm_mine', [])
39
+
40
+ const { secret, wrapperExpiry } = customData!
41
+
42
+ const controller = await ensInstance.contracts!.getEthRegistrarController()!
43
+ const [price] = await controller.rentPrice(name, duration)
44
+
45
+ const tx = await ensInstance.registerName(name, {
46
+ secret,
47
+ wrapperExpiry,
48
+ duration,
49
+ owner: accounts[1],
50
+ addressOrIndex: accounts[1],
51
+ value: price,
52
+ })
53
+ await tx.wait()
54
+
55
+ const nameWrapper = await ensInstance.contracts!.getNameWrapper()!
56
+ const owner = await nameWrapper.ownerOf(namehash(name))
57
+ expect(owner).toBe(accounts[1])
58
+ })
59
+ })
@@ -0,0 +1,38 @@
1
+ import { BigNumber } from 'ethers'
2
+ import { ENSArgs } from '..'
3
+ import {
4
+ CommitmentParams,
5
+ makeRegistrationData,
6
+ } from '../utils/registerHelpers'
7
+
8
+ type Params = Omit<CommitmentParams, 'name' | 'resolver'> & {
9
+ resolverAddress?: string
10
+ secret: string
11
+ wrapperExpiry: number
12
+ value: BigNumber
13
+ }
14
+
15
+ export default async function (
16
+ { contracts }: ENSArgs<'contracts'>,
17
+ name: string,
18
+ { resolverAddress, value, ...params }: Params,
19
+ ) {
20
+ const labels = name.split('.')
21
+ if (labels.length !== 2 || labels[1] !== 'eth')
22
+ throw new Error('Currently only .eth TLD registrations are supported')
23
+
24
+ const controller = await contracts!.getEthRegistrarController()
25
+ const _resolver = await contracts!.getPublicResolver(
26
+ undefined,
27
+ resolverAddress,
28
+ )
29
+ const generatedParams = makeRegistrationData({
30
+ name,
31
+ resolver: _resolver,
32
+ ...params,
33
+ })
34
+
35
+ return controller.populateTransaction.register(...generatedParams, {
36
+ value,
37
+ })
38
+ }
@@ -0,0 +1,64 @@
1
+ import { ethers } from 'ethers'
2
+ import { ENS } from '..'
3
+ import setup from '../tests/setup'
4
+ import { labelhash } from '../utils/labels'
5
+
6
+ let ensInstance: ENS
7
+ let revert: Awaited<ReturnType<typeof setup>>['revert']
8
+ let provider: ethers.providers.JsonRpcProvider
9
+ let accounts: string[]
10
+
11
+ beforeAll(async () => {
12
+ ;({ ensInstance, revert, provider } = await setup())
13
+ accounts = await provider.listAccounts()
14
+ })
15
+
16
+ afterAll(async () => {
17
+ await revert()
18
+ })
19
+
20
+ describe('renewNames', () => {
21
+ beforeEach(async () => {
22
+ await revert()
23
+ })
24
+ it('should return a renew transaction and succeed', async () => {
25
+ const name = 'to-be-renewed.eth'
26
+ const label = name.split('.')[0]
27
+ const duration = 31536000
28
+ const baseRegistrar = await ensInstance.contracts!.getBaseRegistrar()!
29
+ const oldExpiry = await baseRegistrar.nameExpires(labelhash(label))
30
+
31
+ const controller = await ensInstance.contracts!.getEthRegistrarController()!
32
+ const [price] = await controller.rentPrice(label, duration)
33
+
34
+ const tx = await ensInstance.renewNames(name, {
35
+ value: price.mul(2),
36
+ duration,
37
+ addressOrIndex: accounts[1],
38
+ })
39
+ await tx.wait()
40
+
41
+ const newExpiry = await baseRegistrar.nameExpires(labelhash(label))
42
+ expect(newExpiry.toNumber()).toBe(oldExpiry.add(31536000).toNumber())
43
+ })
44
+
45
+ it('should return a renew transaction and succeed', async () => {
46
+ const names = ['to-be-renewed.eth', 'test123.eth']
47
+ const label = names[0].split('.')[0]
48
+ const duration = 31536000
49
+ const baseRegistrar = await ensInstance.contracts!.getBaseRegistrar()!
50
+ const oldExpiry = await baseRegistrar.nameExpires(labelhash(label))
51
+ const controller = await ensInstance.contracts!.getEthRegistrarController()!
52
+ const [price] = await controller.rentPrice(label, duration)
53
+
54
+ const tx = await ensInstance.renewNames(names, {
55
+ value: price.mul(4),
56
+ duration,
57
+ addressOrIndex: accounts[1],
58
+ })
59
+ await tx.wait()
60
+
61
+ const newExpiry = await baseRegistrar.nameExpires(labelhash(label))
62
+ expect(newExpiry.toNumber()).toBe(oldExpiry.add(31536000).toNumber())
63
+ })
64
+ })
@@ -0,0 +1,30 @@
1
+ import { BigNumber } from 'ethers'
2
+ import { ENSArgs } from '..'
3
+
4
+ export default async function (
5
+ { contracts }: ENSArgs<'contracts'>,
6
+ nameOrNames: string | string[],
7
+ {
8
+ duration,
9
+ value,
10
+ }: {
11
+ duration: number
12
+ value: BigNumber
13
+ },
14
+ ) {
15
+ const names = Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames]
16
+ const labels = names.map((name) => {
17
+ const label = name.split('.')
18
+ if (label.length !== 2 || label[1] !== 'eth') {
19
+ throw new Error('Currently only .eth TLD renewals are supported')
20
+ }
21
+ return label[0]
22
+ })
23
+
24
+ if (labels.length === 1) {
25
+ const controller = await contracts!.getEthRegistrarController()
26
+ return controller.populateTransaction.renew(labels[0], duration, { value })
27
+ }
28
+ const bulkRenewal = await contracts!.getBulkRenewal()
29
+ return bulkRenewal.populateTransaction.renewAll(labels, duration, { value })
30
+ }
@@ -1,15 +1,15 @@
1
1
  import { ethers } from 'ethers'
2
2
  import { ENS } from '..'
3
+ import setup from '../tests/setup'
3
4
  import { hexEncodeName } from '../utils/hexEncodedName'
4
- import setup from './setup'
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,37 +22,37 @@ describe('setName', () => {
22
22
  await revert()
23
23
  })
24
24
  it('should return a transaction for a name and set successfully', async () => {
25
- const tx = await ENSInstance.setName('fleek.eth')
25
+ const tx = await ensInstance.setName('test123.eth', { addressOrIndex: 1 })
26
26
  expect(tx).toBeTruthy()
27
27
  await tx?.wait()
28
28
 
29
29
  const universalResolver =
30
- await ENSInstance.contracts!.getUniversalResolver()!
31
- const reverseNode = accounts[0].toLowerCase().substring(2) + '.addr.reverse'
30
+ await ensInstance.contracts!.getUniversalResolver()!
31
+ const reverseNode = `${accounts[1].toLowerCase().substring(2)}.addr.reverse`
32
32
  const result = await universalResolver.reverse(hexEncodeName(reverseNode))
33
- expect(result[0]).toBe('fleek.eth')
33
+ expect(result[0]).toBe('test123.eth')
34
34
  })
35
35
  it("should return a transaction for setting another address' name", async () => {
36
- jest.setTimeout(20000)
37
- const registry = (await ENSInstance.contracts!.getRegistry()!).connect(
38
- provider.getSigner(),
36
+ const registry = (await ensInstance.contracts!.getRegistry()!).connect(
37
+ provider.getSigner(1),
39
38
  )
40
39
  const setApprovedForAllTx = await registry.setApprovalForAll(
41
- accounts[1],
40
+ accounts[2],
42
41
  true,
43
42
  )
44
43
  await setApprovedForAllTx?.wait()
45
44
 
46
- const tx = await ENSInstance.setName('fleek.eth', accounts[0], undefined, {
47
- addressOrIndex: 1,
45
+ const tx = await ensInstance.setName('test123.eth', {
46
+ address: accounts[1],
47
+ addressOrIndex: 2,
48
48
  })
49
49
  expect(tx).toBeTruthy()
50
50
  await tx?.wait()
51
51
 
52
52
  const universalResolver =
53
- await ENSInstance.contracts!.getUniversalResolver()!
54
- const reverseNode = accounts[0].toLowerCase().substring(2) + '.addr.reverse'
53
+ await ensInstance.contracts!.getUniversalResolver()!
54
+ const reverseNode = `${accounts[1].toLowerCase().substring(2)}.addr.reverse`
55
55
  const result = await universalResolver.reverse(hexEncodeName(reverseNode))
56
- expect(result[0]).toBe('fleek.eth')
56
+ expect(result[0]).toBe('test123.eth')
57
57
  })
58
58
  })
@@ -1,34 +1,32 @@
1
1
  import { ENSArgs } from '..'
2
2
 
3
3
  export default async function (
4
- { contracts, provider }: ENSArgs<'contracts' | 'provider'>,
4
+ { contracts, signer }: ENSArgs<'contracts' | 'signer'>,
5
5
  name: string,
6
- address?: string,
7
- resolver?: string,
8
- options?: { addressOrIndex?: string | number },
6
+ {
7
+ address,
8
+ resolver,
9
+ }: {
10
+ address?: string
11
+ resolver?: string
12
+ } = {},
9
13
  ) {
10
- const signerAddress = await provider
11
- ?.getSigner(options?.addressOrIndex)
12
- .getAddress()
13
-
14
- if (!signerAddress) {
15
- throw new Error('No signer found')
16
- }
14
+ const signerAddress = await signer.getAddress()
17
15
 
18
16
  const reverseRegistrar = (await contracts?.getReverseRegistrar())?.connect(
19
- provider?.getSigner()!,
20
- )
17
+ signer,
18
+ )!
21
19
 
22
20
  if (address) {
23
- const publicResolver = await contracts?.getPublicResolver()
21
+ const publicResolver = await contracts?.getPublicResolver()!
24
22
 
25
- return reverseRegistrar?.setNameForAddr(
23
+ return reverseRegistrar.populateTransaction.setNameForAddr(
26
24
  address,
27
25
  signerAddress,
28
- resolver || publicResolver!.address,
26
+ resolver || publicResolver.address,
29
27
  name,
30
28
  )
31
29
  }
32
30
 
33
- return reverseRegistrar?.setName(name)
31
+ return reverseRegistrar.populateTransaction.setName(name)
34
32
  }
@@ -0,0 +1,103 @@
1
+ import { ENS } from '..'
2
+ import setup from '../tests/setup'
3
+ import { decodeContenthash } from '../utils/contentHash'
4
+ import { hexEncodeName } from '../utils/hexEncodedName'
5
+ import { namehash } from '../utils/normalise'
6
+
7
+ let ensInstance: ENS
8
+ let revert: Awaited<ReturnType<typeof setup>>['revert']
9
+
10
+ beforeAll(async () => {
11
+ ;({ ensInstance, revert } = await setup())
12
+ })
13
+
14
+ afterAll(async () => {
15
+ await revert()
16
+ })
17
+
18
+ describe('setRecord', () => {
19
+ it('should allow a text record set', async () => {
20
+ const tx = await ensInstance.setRecord('test123.eth', {
21
+ type: 'text',
22
+ record: { key: 'foo', value: 'bar' },
23
+ addressOrIndex: 1,
24
+ })
25
+ expect(tx).toBeTruthy()
26
+ await tx.wait()
27
+
28
+ const universalResolver =
29
+ await ensInstance.contracts!.getUniversalResolver()!
30
+ const publicResolver = await ensInstance.contracts!.getPublicResolver()!
31
+ const encodedText = await universalResolver.resolve(
32
+ hexEncodeName('test123.eth'),
33
+ publicResolver.interface.encodeFunctionData('text', [
34
+ namehash('test123.eth'),
35
+ 'foo',
36
+ ]),
37
+ )
38
+ const [resultText] = publicResolver.interface.decodeFunctionResult(
39
+ 'text',
40
+ encodedText[0],
41
+ )
42
+ expect(resultText).toBe('bar')
43
+ })
44
+ it('should allow an address record set', async () => {
45
+ const tx = await ensInstance.setRecord('test123.eth', {
46
+ type: 'addr',
47
+ record: {
48
+ key: 'ETC',
49
+ value: '0x42D63ae25990889E35F215bC95884039Ba354115',
50
+ },
51
+ addressOrIndex: 1,
52
+ })
53
+ expect(tx).toBeTruthy()
54
+ await tx.wait()
55
+
56
+ const universalResolver =
57
+ await ensInstance.contracts!.getUniversalResolver()!
58
+ const publicResolver = await ensInstance.contracts!.getPublicResolver()!
59
+ const encodedAddr = await universalResolver.resolve(
60
+ hexEncodeName('test123.eth'),
61
+ publicResolver.interface.encodeFunctionData('addr(bytes32,uint256)', [
62
+ namehash('test123.eth'),
63
+ '61',
64
+ ]),
65
+ )
66
+ const [resultAddr] = publicResolver.interface.decodeFunctionResult(
67
+ 'addr(bytes32,uint256)',
68
+ encodedAddr[0],
69
+ )
70
+ expect(resultAddr).toBe(
71
+ '0x42D63ae25990889E35F215bC95884039Ba354115'.toLowerCase(),
72
+ )
73
+ })
74
+ it('should allow a contenthash record set', async () => {
75
+ const tx = await ensInstance.setRecord('test123.eth', {
76
+ type: 'contentHash',
77
+ record:
78
+ 'ipns://k51qzi5uqu5dgox2z23r6e99oqency055a6xt92xzmyvpz8mwz5ycjavm0u150',
79
+ addressOrIndex: 1,
80
+ })
81
+ expect(tx).toBeTruthy()
82
+ await tx.wait()
83
+
84
+ const universalResolver =
85
+ await ensInstance.contracts!.getUniversalResolver()!
86
+ const publicResolver = await ensInstance.contracts!.getPublicResolver()!
87
+ const encodedContent = await universalResolver.resolve(
88
+ hexEncodeName('test123.eth'),
89
+ publicResolver.interface.encodeFunctionData('contenthash', [
90
+ namehash('test123.eth'),
91
+ ]),
92
+ )
93
+ const [resultContent] = publicResolver.interface.decodeFunctionResult(
94
+ 'contenthash',
95
+ encodedContent[0],
96
+ )
97
+ const content = decodeContenthash(resultContent)
98
+ expect(content.decoded).toBe(
99
+ 'k51qzi5uqu5dgox2z23r6e99oqency055a6xt92xzmyvpz8mwz5ycjavm0u150',
100
+ )
101
+ expect(content.protocolType).toBe('ipns')
102
+ })
103
+ })