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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/cjs/GqlManager.js +109 -36
  4. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  5. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  6. package/dist/cjs/contracts/dnsRegistrar.js +25 -0
  7. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  8. package/dist/cjs/contracts/factories.js +16 -0
  9. package/dist/cjs/contracts/getContractAddress.js +82 -43
  10. package/dist/cjs/contracts/index.js +56 -32
  11. package/dist/cjs/contracts/multicall.js +24 -21
  12. package/dist/cjs/contracts/nameWrapper.js +24 -3
  13. package/dist/cjs/contracts/publicResolver.js +24 -3
  14. package/dist/cjs/contracts/registry.js +24 -3
  15. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  16. package/dist/cjs/contracts/types.js +15 -1
  17. package/dist/cjs/contracts/universalResolver.js +24 -3
  18. package/dist/cjs/functions/batch.js +42 -15
  19. package/dist/cjs/functions/batchWrappers.js +130 -67
  20. package/dist/cjs/functions/burnFuses.js +28 -15
  21. package/dist/cjs/functions/commitName.js +49 -0
  22. package/dist/cjs/functions/createSubname.js +80 -38
  23. package/dist/cjs/functions/deleteSubname.js +59 -4
  24. package/dist/cjs/functions/getAvailable.js +55 -0
  25. package/dist/cjs/functions/getDNSOwner.js +78 -72
  26. package/dist/cjs/functions/getExpiry.js +110 -41
  27. package/dist/cjs/functions/getHistory.js +166 -195
  28. package/dist/cjs/functions/getName.js +51 -28
  29. package/dist/cjs/functions/getNames.js +211 -102
  30. package/dist/cjs/functions/getOwner.js +178 -123
  31. package/dist/cjs/functions/getPrice.js +119 -43
  32. package/dist/cjs/functions/getProfile.js +449 -253
  33. package/dist/cjs/functions/getRecords.js +29 -9
  34. package/dist/cjs/functions/getResolver.js +41 -19
  35. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  36. package/dist/cjs/functions/getSubnames.js +75 -118
  37. package/dist/cjs/functions/getWrapperData.js +58 -0
  38. package/dist/cjs/functions/importDNSSECName.js +65 -0
  39. package/dist/cjs/functions/initialGetters.js +48 -37
  40. package/dist/cjs/functions/registerName.js +44 -0
  41. package/dist/cjs/functions/renewNames.js +62 -0
  42. package/dist/cjs/functions/setName.js +41 -15
  43. package/dist/cjs/functions/setRecord.js +56 -0
  44. package/dist/cjs/functions/setRecords.js +50 -20
  45. package/dist/cjs/functions/setResolver.js +43 -23
  46. package/dist/cjs/functions/supportsTLD.js +48 -0
  47. package/dist/cjs/functions/transferController.js +42 -0
  48. package/dist/cjs/functions/transferName.js +61 -30
  49. package/dist/cjs/functions/transferSubname.js +60 -24
  50. package/dist/cjs/functions/types.js +16 -0
  51. package/dist/cjs/functions/unwrapName.js +49 -25
  52. package/dist/cjs/functions/wrapName.js +123 -57
  53. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  54. package/dist/cjs/generated/BulkRenewal.js +16 -0
  55. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  56. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  57. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  58. package/dist/cjs/generated/ENSRegistry.js +15 -1
  59. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  60. package/dist/cjs/generated/Multicall.js +15 -1
  61. package/dist/cjs/generated/NameWrapper.js +15 -1
  62. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  63. package/dist/cjs/generated/PublicResolver.js +15 -1
  64. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  65. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  66. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  67. package/dist/cjs/generated/Root.js +15 -1
  68. package/dist/cjs/generated/SHA1Digest.js +15 -1
  69. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  70. package/dist/cjs/generated/SHA256Digest.js +15 -1
  71. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  72. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  73. package/dist/cjs/generated/UniversalResolver.js +15 -1
  74. package/dist/cjs/generated/common.js +15 -1
  75. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
  76. package/dist/cjs/generated/factories/BulkRenewal__factory.js +121 -0
  77. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +282 -288
  78. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +486 -492
  79. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
  80. package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
  81. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +672 -504
  82. package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
  83. package/dist/cjs/generated/factories/NameWrapper__factory.js +1379 -1194
  84. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +61 -67
  85. package/dist/cjs/generated/factories/PublicResolver__factory.js +957 -885
  86. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +61 -67
  87. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +61 -67
  88. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +363 -333
  89. package/dist/cjs/generated/factories/Root__factory.js +254 -237
  90. package/dist/cjs/generated/factories/SHA1Digest__factory.js +56 -62
  91. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +61 -67
  92. package/dist/cjs/generated/factories/SHA256Digest__factory.js +56 -62
  93. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
  94. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +51 -57
  95. package/dist/cjs/generated/factories/UniversalResolver__factory.js +493 -199
  96. package/dist/cjs/generated/factories/index.js +63 -17
  97. package/dist/cjs/generated/index.js +70 -37
  98. package/dist/cjs/index.js +307 -211
  99. package/dist/cjs/static.js +85 -0
  100. package/dist/cjs/utils/ccip.js +129 -0
  101. package/dist/cjs/utils/consts.js +24 -0
  102. package/dist/cjs/utils/contentHash.js +145 -142
  103. package/dist/cjs/utils/createReverseNode.js +23 -2
  104. package/dist/cjs/utils/format.js +27 -8
  105. package/dist/cjs/utils/fuses.js +123 -13
  106. package/dist/cjs/utils/generateFuseInput.js +37 -16
  107. package/dist/cjs/utils/hexEncodedName.js +29 -7
  108. package/dist/cjs/utils/labels.js +99 -83
  109. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  110. package/dist/cjs/utils/normalise.js +51 -22
  111. package/dist/cjs/utils/recordHelpers.js +89 -39
  112. package/dist/cjs/utils/registerHelpers.js +118 -46
  113. package/dist/cjs/utils/singleCall.js +23 -6
  114. package/dist/cjs/utils/validation.js +76 -63
  115. package/dist/cjs/utils/wrapper.js +51 -0
  116. package/dist/cjs/utils/writeTx.js +25 -0
  117. package/dist/esm/GqlManager.mjs +88 -0
  118. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  119. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  120. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  121. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  122. package/dist/esm/contracts/factories.mjs +0 -0
  123. package/dist/esm/contracts/getContractAddress.mjs +66 -0
  124. package/dist/esm/contracts/index.mjs +44 -0
  125. package/dist/esm/contracts/multicall.mjs +6 -0
  126. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  127. package/dist/esm/contracts/publicResolver.mjs +6 -0
  128. package/dist/esm/contracts/registry.mjs +6 -0
  129. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  130. package/dist/esm/contracts/types.mjs +0 -0
  131. package/dist/esm/contracts/universalResolver.mjs +6 -0
  132. package/dist/esm/functions/batch.mjs +29 -0
  133. package/dist/esm/functions/batchWrappers.mjs +109 -0
  134. package/dist/esm/functions/burnFuses.mjs +12 -0
  135. package/dist/esm/functions/commitName.mjs +30 -0
  136. package/dist/esm/functions/createSubname.mjs +61 -0
  137. package/dist/esm/functions/deleteSubname.mjs +42 -0
  138. package/dist/esm/functions/getAvailable.mjs +36 -0
  139. package/dist/esm/functions/getDNSOwner.mjs +60 -0
  140. package/dist/esm/functions/getExpiry.mjs +95 -0
  141. package/dist/esm/functions/getHistory.mjs +231 -0
  142. package/dist/esm/functions/getName.mjs +38 -0
  143. package/dist/esm/functions/getNames.mjs +312 -0
  144. package/dist/esm/functions/getOwner.mjs +175 -0
  145. package/dist/esm/functions/getPrice.mjs +107 -0
  146. package/dist/esm/functions/getProfile.mjs +479 -0
  147. package/dist/esm/functions/getRecords.mjs +12 -0
  148. package/dist/esm/functions/getResolver.mjs +27 -0
  149. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  150. package/dist/esm/functions/getSubnames.mjs +92 -0
  151. package/dist/esm/functions/getWrapperData.mjs +39 -0
  152. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  153. package/dist/esm/functions/initialGetters.mjs +25 -0
  154. package/dist/esm/functions/registerName.mjs +27 -0
  155. package/dist/esm/functions/renewNames.mjs +43 -0
  156. package/dist/esm/functions/setName.mjs +23 -0
  157. package/dist/esm/functions/setRecord.mjs +36 -0
  158. package/dist/esm/functions/setRecords.mjs +32 -0
  159. package/dist/esm/functions/setResolver.mjs +29 -0
  160. package/dist/esm/functions/supportsTLD.mjs +29 -0
  161. package/dist/esm/functions/transferController.mjs +23 -0
  162. package/dist/esm/functions/transferName.mjs +46 -0
  163. package/dist/esm/functions/transferSubname.mjs +45 -0
  164. package/dist/esm/functions/types.mjs +0 -0
  165. package/dist/esm/functions/unwrapName.mjs +33 -0
  166. package/dist/esm/functions/wrapName.mjs +105 -0
  167. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  168. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  169. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  170. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  171. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  172. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  173. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  174. package/dist/esm/generated/Multicall.mjs +0 -0
  175. package/dist/esm/generated/NameWrapper.mjs +0 -0
  176. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  177. package/dist/esm/generated/PublicResolver.mjs +0 -0
  178. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  179. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  180. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  181. package/dist/esm/generated/Root.mjs +0 -0
  182. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  183. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  184. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  185. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  186. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  187. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  188. package/dist/esm/generated/common.mjs +0 -0
  189. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
  190. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +109 -0
  191. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
  192. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
  193. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
  194. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
  195. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +667 -0
  196. package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
  197. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1373 -0
  198. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
  199. package/dist/esm/generated/factories/PublicResolver__factory.mjs +952 -0
  200. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
  201. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
  202. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +358 -0
  203. package/dist/esm/generated/factories/Root__factory.mjs +248 -0
  204. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
  205. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
  206. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
  207. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
  208. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
  209. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +486 -0
  210. package/dist/esm/generated/factories/index.mjs +45 -0
  211. package/dist/esm/generated/index.mjs +47 -0
  212. package/dist/esm/index.mjs +299 -0
  213. package/dist/esm/static.mjs +62 -0
  214. package/dist/esm/utils/ccip.mjs +114 -0
  215. package/dist/esm/utils/consts.mjs +5 -0
  216. package/dist/esm/utils/contentHash.mjs +142 -0
  217. package/dist/esm/utils/createReverseNode.mjs +5 -0
  218. package/dist/esm/utils/format.mjs +9 -0
  219. package/dist/esm/utils/fuses.mjs +115 -0
  220. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  221. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  222. package/dist/esm/utils/labels.mjs +109 -0
  223. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  224. package/dist/esm/utils/normalise.mjs +32 -0
  225. package/dist/esm/utils/recordHelpers.mjs +75 -0
  226. package/dist/esm/utils/registerHelpers.mjs +98 -0
  227. package/dist/esm/utils/singleCall.mjs +5 -0
  228. package/dist/esm/utils/validation.mjs +67 -0
  229. package/dist/esm/utils/wrapper.mjs +32 -0
  230. package/dist/esm/utils/writeTx.mjs +6 -0
  231. package/dist/types/GqlManager.d.ts +13 -0
  232. package/dist/types/contracts/baseRegistrar.d.ts +3 -0
  233. package/dist/types/contracts/bulkRenewal.d.ts +3 -0
  234. package/dist/types/contracts/dnsRegistrar.d.ts +3 -0
  235. package/dist/types/contracts/ethRegistrarController.d.ts +3 -0
  236. package/dist/types/contracts/factories.d.ts +45 -0
  237. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  238. package/dist/types/contracts/index.d.ts +38 -0
  239. package/dist/types/contracts/multicall.d.ts +3 -0
  240. package/dist/types/contracts/nameWrapper.d.ts +3 -0
  241. package/dist/types/contracts/publicResolver.d.ts +3 -0
  242. package/dist/types/contracts/registry.d.ts +3 -0
  243. package/dist/types/contracts/reverseRegistrar.d.ts +3 -0
  244. package/dist/types/contracts/types.d.ts +2 -0
  245. package/dist/types/contracts/universalResolver.d.ts +3 -0
  246. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  247. package/dist/types/functions/batchWrappers.d.ts +86 -0
  248. package/dist/types/functions/burnFuses.d.ts +3 -0
  249. package/dist/types/functions/commitName.d.ts +26 -0
  250. package/dist/types/functions/createSubname.d.ts +16 -0
  251. package/dist/types/functions/deleteSubname.d.ts +6 -0
  252. package/dist/{esm/functions/getResolver.d.ts → types/functions/getAvailable.d.ts} +1 -1
  253. package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
  254. package/dist/types/functions/getExpiry.d.ts +19 -0
  255. package/dist/types/functions/getHistory.d.ts +28 -0
  256. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  257. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  258. package/dist/{cjs → types}/functions/getOwner.d.ts +1 -1
  259. package/dist/{esm → types}/functions/getPrice.d.ts +3 -3
  260. package/dist/{esm → types}/functions/getProfile.d.ts +11 -1
  261. package/dist/{cjs → types}/functions/getRecords.d.ts +4 -2
  262. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  263. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +6 -6
  264. package/dist/{esm → types}/functions/getSubnames.d.ts +2 -2
  265. package/dist/types/functions/getWrapperData.d.ts +15 -0
  266. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  267. package/dist/{cjs → types}/functions/initialGetters.d.ts +1 -0
  268. package/dist/types/functions/registerName.d.ts +8 -0
  269. package/dist/types/functions/renewNames.d.ts +13 -0
  270. package/dist/types/functions/setName.d.ts +5 -0
  271. package/dist/types/functions/setRecord.d.ts +18 -0
  272. package/dist/types/functions/setRecords.d.ts +6 -0
  273. package/dist/types/functions/setResolver.d.ts +5 -0
  274. package/dist/types/functions/supportsTLD.d.ts +2 -0
  275. package/dist/types/functions/transferController.d.ts +5 -0
  276. package/dist/types/functions/transferName.d.ts +6 -0
  277. package/dist/types/functions/transferSubname.d.ts +14 -0
  278. package/dist/types/functions/types.d.ts +77 -0
  279. package/dist/types/functions/unwrapName.d.ts +5 -0
  280. package/dist/types/functions/wrapName.d.ts +9 -0
  281. package/dist/types/generated/BaseRegistrarImplementation.d.ts +512 -0
  282. package/dist/types/generated/BulkRenewal.d.ts +80 -0
  283. package/dist/types/generated/DNSRegistrar.d.ts +228 -0
  284. package/dist/types/generated/DNSSECImpl.d.ts +406 -0
  285. package/dist/types/generated/DefaultReverseResolver.d.ts +70 -0
  286. package/dist/types/generated/ENSRegistry.d.ts +278 -0
  287. package/dist/types/generated/ETHRegistrarController.d.ts +366 -0
  288. package/dist/{esm → types}/generated/Multicall.d.ts +113 -109
  289. package/dist/types/generated/NameWrapper.d.ts +814 -0
  290. package/dist/{esm → types}/generated/P256SHA256Algorithm.d.ts +22 -14
  291. package/dist/types/generated/PublicResolver.d.ts +598 -0
  292. package/dist/types/generated/RSASHA1Algorithm.d.ts +50 -0
  293. package/dist/types/generated/RSASHA256Algorithm.d.ts +50 -0
  294. package/dist/types/generated/ReverseRegistrar.d.ts +283 -0
  295. package/dist/types/generated/Root.d.ts +177 -0
  296. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +18 -14
  297. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +22 -14
  298. package/dist/{esm → types}/generated/SHA256Digest.d.ts +18 -14
  299. package/dist/types/generated/StaticMetadataService.d.ts +46 -0
  300. package/dist/types/generated/TLDPublicSuffixList.d.ts +46 -0
  301. package/dist/types/generated/UniversalResolver.d.ts +188 -0
  302. package/dist/{esm → types}/generated/common.d.ts +4 -3
  303. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  304. package/dist/{cjs/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +6 -6
  305. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +17 -16
  306. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +11 -11
  307. package/dist/{esm → types}/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  308. package/dist/{esm → types}/generated/factories/ENSRegistry__factory.d.ts +3 -3
  309. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +15 -4
  310. package/dist/{esm → types}/generated/factories/Multicall__factory.d.ts +3 -3
  311. package/dist/{esm → types}/generated/factories/NameWrapper__factory.d.ts +3 -3
  312. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  313. package/dist/{esm → types}/generated/factories/PublicResolver__factory.d.ts +3 -3
  314. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  315. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  316. package/dist/{esm → types}/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  317. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +3 -3
  318. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  319. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  320. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  321. package/dist/{esm → types}/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  322. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  323. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +3 -3
  324. package/dist/types/generated/factories/index.d.ts +21 -0
  325. package/dist/types/generated/index.d.ts +43 -0
  326. package/dist/{esm → types}/index.d.ts +192 -132
  327. package/dist/types/static.d.ts +26 -0
  328. package/dist/types/utils/ccip.d.ts +3 -0
  329. package/dist/types/utils/consts.d.ts +1 -0
  330. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  331. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  332. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  333. package/dist/types/utils/fuses.d.ts +61 -0
  334. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +1 -1
  335. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  336. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  337. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  338. package/dist/types/utils/normalise.d.ts +2 -0
  339. package/dist/{esm → types}/utils/recordHelpers.d.ts +4 -0
  340. package/dist/types/utils/registerHelpers.d.ts +59 -0
  341. package/dist/{esm → types}/utils/singleCall.d.ts +2 -2
  342. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  343. package/dist/types/utils/wrapper.d.ts +6 -0
  344. package/dist/types/utils/writeTx.d.ts +21 -0
  345. package/package.json +103 -39
  346. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  347. package/src/@types/dns-packet/index.d.ts +113 -113
  348. package/src/ABIs/Multicall.json +452 -0
  349. package/src/GqlManager.test.ts +173 -0
  350. package/src/GqlManager.ts +105 -9
  351. package/src/contracts/baseRegistrar.ts +2 -2
  352. package/src/contracts/bulkRenewal.ts +6 -0
  353. package/src/contracts/dnsRegistrar.ts +5 -0
  354. package/src/contracts/ethRegistrarController.ts +2 -2
  355. package/src/contracts/factories.ts +48 -0
  356. package/src/contracts/getContractAddress.ts +28 -5
  357. package/src/contracts/index.ts +72 -48
  358. package/src/contracts/multicall.ts +2 -21
  359. package/src/contracts/nameWrapper.ts +2 -2
  360. package/src/contracts/publicResolver.ts +2 -2
  361. package/src/contracts/registry.ts +2 -2
  362. package/src/contracts/reverseRegistrar.ts +2 -2
  363. package/src/contracts/types.ts +3 -1
  364. package/src/contracts/universalResolver.ts +2 -2
  365. package/src/functions/batch.test.ts +10 -10
  366. package/src/functions/batch.ts +3 -3
  367. package/src/functions/batchWrappers.test.ts +13 -13
  368. package/src/functions/batchWrappers.ts +42 -11
  369. package/src/functions/burnFuses.test.ts +127 -23
  370. package/src/functions/burnFuses.ts +6 -13
  371. package/src/functions/commitName.test.ts +61 -0
  372. package/src/functions/commitName.ts +39 -0
  373. package/src/functions/createSubname.test.ts +11 -19
  374. package/src/functions/createSubname.ts +24 -17
  375. package/src/functions/deleteSubname.test.ts +36 -38
  376. package/src/functions/deleteSubname.ts +47 -13
  377. package/src/functions/getAvailable.test.ts +21 -0
  378. package/src/functions/getAvailable.ts +37 -0
  379. package/src/functions/getDNSOwner.test.ts +9 -19
  380. package/src/functions/getDNSOwner.ts +11 -9
  381. package/src/functions/getExpiry.test.ts +28 -10
  382. package/src/functions/getExpiry.ts +89 -11
  383. package/src/functions/getHistory.test.ts +17 -80
  384. package/src/functions/getHistory.ts +107 -176
  385. package/src/functions/getName.test.ts +10 -10
  386. package/src/functions/getName.ts +4 -4
  387. package/src/functions/getNames.test.ts +153 -89
  388. package/src/functions/getNames.ts +140 -36
  389. package/src/functions/getOwner.test.ts +3 -54
  390. package/src/functions/getOwner.ts +66 -29
  391. package/src/functions/getPrice.test.ts +55 -0
  392. package/src/functions/getPrice.ts +66 -13
  393. package/src/functions/getProfile-ccip.test.ts +29 -0
  394. package/src/functions/getProfile.test.ts +128 -29
  395. package/src/functions/getProfile.ts +296 -158
  396. package/src/functions/getRecords.ts +2 -1
  397. package/src/functions/getResolver.test.ts +5 -9
  398. package/src/functions/getResolver.ts +2 -6
  399. package/src/functions/getSpecificRecord.test.ts +23 -20
  400. package/src/functions/getSpecificRecord.ts +23 -152
  401. package/src/functions/getSubnames.test.ts +651 -7
  402. package/src/functions/getSubnames.ts +45 -103
  403. package/src/functions/getWrapperData.test.ts +98 -0
  404. package/src/functions/getWrapperData.ts +42 -0
  405. package/src/functions/importDNSSECName.ts +54 -0
  406. package/src/functions/initialGetters.ts +1 -0
  407. package/src/functions/makeCommitment.test.ts +6 -6
  408. package/src/functions/registerName.test.ts +59 -0
  409. package/src/functions/registerName.ts +38 -0
  410. package/src/functions/renewNames.test.ts +64 -0
  411. package/src/functions/renewNames.ts +60 -0
  412. package/src/functions/setName.test.ts +22 -18
  413. package/src/functions/setName.ts +15 -17
  414. package/src/functions/setRecord.test.ts +103 -0
  415. package/src/functions/setRecord.ts +59 -0
  416. package/src/functions/setRecords.test.ts +24 -18
  417. package/src/functions/setRecords.ts +19 -13
  418. package/src/functions/setResolver.test.ts +17 -25
  419. package/src/functions/setResolver.ts +15 -20
  420. package/src/functions/supportsTLD.test.ts +45 -0
  421. package/src/functions/supportsTLD.ts +38 -0
  422. package/src/functions/transferController.ts +29 -0
  423. package/src/functions/transferName.test.ts +24 -40
  424. package/src/functions/transferName.ts +27 -26
  425. package/src/functions/transferSubname.test.ts +19 -37
  426. package/src/functions/transferSubname.ts +41 -16
  427. package/src/functions/types.ts +94 -0
  428. package/src/functions/unwrapName.test.ts +19 -34
  429. package/src/functions/unwrapName.ts +26 -22
  430. package/src/functions/wrapName.test.ts +123 -37
  431. package/src/functions/wrapName.ts +80 -62
  432. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  433. package/src/generated/BulkRenewal.ts +196 -0
  434. package/src/generated/DNSRegistrar.ts +276 -262
  435. package/src/generated/DNSSECImpl.ts +436 -412
  436. package/src/generated/DefaultReverseResolver.ts +95 -79
  437. package/src/generated/ENSRegistry.ts +491 -422
  438. package/src/generated/ETHRegistrarController.ts +649 -491
  439. package/src/generated/Multicall.ts +345 -336
  440. package/src/generated/NameWrapper.ts +1594 -1220
  441. package/src/generated/P256SHA256Algorithm.ts +70 -65
  442. package/src/generated/PublicResolver.ts +1105 -941
  443. package/src/generated/RSASHA1Algorithm.ts +70 -65
  444. package/src/generated/RSASHA256Algorithm.ts +70 -65
  445. package/src/generated/ReverseRegistrar.ts +428 -362
  446. package/src/generated/Root.ts +295 -241
  447. package/src/generated/SHA1Digest.ts +61 -60
  448. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  449. package/src/generated/SHA256Digest.ts +61 -60
  450. package/src/generated/StaticMetadataService.ts +61 -46
  451. package/src/generated/TLDPublicSuffixList.ts +59 -55
  452. package/src/generated/UniversalResolver.ts +554 -188
  453. package/src/generated/common.ts +16 -14
  454. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  455. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  456. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  457. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  458. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  459. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  460. package/src/generated/factories/ETHRegistrarController__factory.ts +400 -251
  461. package/src/generated/factories/Multicall__factory.ts +226 -224
  462. package/src/generated/factories/NameWrapper__factory.ts +788 -618
  463. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  464. package/src/generated/factories/PublicResolver__factory.ts +490 -436
  465. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  466. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  467. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  468. package/src/generated/factories/Root__factory.ts +103 -101
  469. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  470. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  471. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  472. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  473. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  474. package/src/generated/factories/UniversalResolver__factory.ts +381 -102
  475. package/src/generated/factories/index.ts +15 -0
  476. package/src/generated/index.ts +31 -1
  477. package/src/index.ts +289 -168
  478. package/src/static.ts +94 -0
  479. package/src/utils/ccip.ts +149 -0
  480. package/src/utils/consts.ts +1 -0
  481. package/src/utils/contentHash.ts +29 -27
  482. package/src/utils/createReverseNode.ts +1 -1
  483. package/src/utils/fuses.ts +141 -4
  484. package/src/utils/generateFuseInput.ts +7 -12
  485. package/src/utils/labels.ts +7 -5
  486. package/src/utils/normalise.ts +14 -6
  487. package/src/utils/recordHelpers.ts +59 -20
  488. package/src/utils/registerHelpers.ts +125 -55
  489. package/src/utils/singleCall.ts +3 -3
  490. package/src/utils/validation.ts +9 -10
  491. package/src/utils/wrapper.ts +36 -0
  492. package/src/utils/writeTx.ts +16 -0
  493. package/dist/cjs/GqlManager.d.ts +0 -6
  494. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  495. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  496. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  497. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  498. package/dist/cjs/contracts/index.d.ts +0 -16
  499. package/dist/cjs/contracts/multicall.d.ts +0 -3
  500. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  501. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  502. package/dist/cjs/contracts/registry.d.ts +0 -3
  503. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  504. package/dist/cjs/contracts/types.d.ts +0 -2
  505. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  506. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  507. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  508. package/dist/cjs/functions/createSubname.d.ts +0 -19
  509. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  510. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  511. package/dist/cjs/functions/getFuses.d.ts +0 -17
  512. package/dist/cjs/functions/getFuses.js +0 -62
  513. package/dist/cjs/functions/getHistory.d.ts +0 -54
  514. package/dist/cjs/functions/getNames.d.ts +0 -40
  515. package/dist/cjs/functions/getPrice.d.ts +0 -13
  516. package/dist/cjs/functions/getProfile.d.ts +0 -30
  517. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  518. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  519. package/dist/cjs/functions/setName.d.ts +0 -4
  520. package/dist/cjs/functions/setRecords.d.ts +0 -3
  521. package/dist/cjs/functions/setResolver.d.ts +0 -4
  522. package/dist/cjs/functions/transferName.d.ts +0 -5
  523. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  524. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  525. package/dist/cjs/functions/wrapName.d.ts +0 -6
  526. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  527. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  528. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  529. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  530. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  531. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  532. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  533. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  534. package/dist/cjs/generated/Multicall.d.ts +0 -292
  535. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  536. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  537. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  538. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  539. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  540. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  541. package/dist/cjs/generated/Root.d.ts +0 -173
  542. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  543. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  544. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  545. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  546. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  547. package/dist/cjs/generated/common.d.ts +0 -21
  548. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  549. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  550. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  551. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  552. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  553. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  554. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  555. package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +0 -57
  556. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  557. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  558. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  559. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  560. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  561. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  562. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  563. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  564. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  565. package/dist/cjs/generated/factories/index.d.ts +0 -6
  566. package/dist/cjs/generated/index.d.ts +0 -13
  567. package/dist/cjs/index.d.ts +0 -471
  568. package/dist/cjs/utils/fuses.d.ts +0 -20
  569. package/dist/cjs/utils/normalise.d.ts +0 -2
  570. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  571. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  572. package/dist/cjs/utils/singleCall.d.ts +0 -9
  573. package/dist/esm/GqlManager.d.ts +0 -6
  574. package/dist/esm/GqlManager.js +0 -18
  575. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  576. package/dist/esm/contracts/baseRegistrar.js +0 -2
  577. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  578. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  579. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  580. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  581. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  582. package/dist/esm/contracts/getContractAddress.js +0 -42
  583. package/dist/esm/contracts/index.d.ts +0 -16
  584. package/dist/esm/contracts/index.js +0 -29
  585. package/dist/esm/contracts/multicall.d.ts +0 -3
  586. package/dist/esm/contracts/multicall.js +0 -20
  587. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  588. package/dist/esm/contracts/nameWrapper.js +0 -2
  589. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  590. package/dist/esm/contracts/publicResolver.js +0 -2
  591. package/dist/esm/contracts/registry.d.ts +0 -3
  592. package/dist/esm/contracts/registry.js +0 -2
  593. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  594. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  595. package/dist/esm/contracts/types.d.ts +0 -2
  596. package/dist/esm/contracts/types.js +0 -1
  597. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  598. package/dist/esm/contracts/universalResolver.js +0 -2
  599. package/dist/esm/functions/batch.d.ts +0 -9
  600. package/dist/esm/functions/batch.js +0 -19
  601. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  602. package/dist/esm/functions/batchWrappers.js +0 -68
  603. package/dist/esm/functions/burnFuses.d.ts +0 -3
  604. package/dist/esm/functions/burnFuses.js +0 -12
  605. package/dist/esm/functions/createSubname.d.ts +0 -19
  606. package/dist/esm/functions/createSubname.js +0 -38
  607. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  608. package/dist/esm/functions/deleteSubname.js +0 -3
  609. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  610. package/dist/esm/functions/getDNSOwner.js +0 -51
  611. package/dist/esm/functions/getExpiry.d.ts +0 -12
  612. package/dist/esm/functions/getExpiry.js +0 -43
  613. package/dist/esm/functions/getFuses.d.ts +0 -17
  614. package/dist/esm/functions/getFuses.js +0 -60
  615. package/dist/esm/functions/getHistory.d.ts +0 -54
  616. package/dist/esm/functions/getHistory.js +0 -273
  617. package/dist/esm/functions/getName.d.ts +0 -19
  618. package/dist/esm/functions/getName.js +0 -32
  619. package/dist/esm/functions/getNames.js +0 -220
  620. package/dist/esm/functions/getOwner.d.ts +0 -14
  621. package/dist/esm/functions/getOwner.js +0 -138
  622. package/dist/esm/functions/getPrice.js +0 -48
  623. package/dist/esm/functions/getProfile.js +0 -299
  624. package/dist/esm/functions/getRecords.d.ts +0 -32
  625. package/dist/esm/functions/getRecords.js +0 -8
  626. package/dist/esm/functions/getResolver.js +0 -22
  627. package/dist/esm/functions/getSpecificRecord.js +0 -265
  628. package/dist/esm/functions/getSubnames.js +0 -152
  629. package/dist/esm/functions/initialGetters.d.ts +0 -11
  630. package/dist/esm/functions/initialGetters.js +0 -11
  631. package/dist/esm/functions/setName.d.ts +0 -4
  632. package/dist/esm/functions/setName.js +0 -14
  633. package/dist/esm/functions/setRecords.d.ts +0 -3
  634. package/dist/esm/functions/setRecords.js +0 -19
  635. package/dist/esm/functions/setResolver.d.ts +0 -4
  636. package/dist/esm/functions/setResolver.js +0 -25
  637. package/dist/esm/functions/transferName.d.ts +0 -5
  638. package/dist/esm/functions/transferName.js +0 -31
  639. package/dist/esm/functions/transferSubname.d.ts +0 -5
  640. package/dist/esm/functions/transferSubname.js +0 -25
  641. package/dist/esm/functions/unwrapName.d.ts +0 -4
  642. package/dist/esm/functions/unwrapName.js +0 -25
  643. package/dist/esm/functions/wrapName.d.ts +0 -6
  644. package/dist/esm/functions/wrapName.js +0 -58
  645. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  646. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  647. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  648. package/dist/esm/generated/DNSRegistrar.js +0 -1
  649. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  650. package/dist/esm/generated/DNSSECImpl.js +0 -1
  651. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  652. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  653. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  654. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  655. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  656. package/dist/esm/generated/ENSRegistry.js +0 -1
  657. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  658. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  659. package/dist/esm/generated/Multicall.js +0 -1
  660. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  661. package/dist/esm/generated/NameWrapper.js +0 -1
  662. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  663. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  664. package/dist/esm/generated/PublicResolver.js +0 -1
  665. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  666. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  667. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  668. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  669. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  670. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  671. package/dist/esm/generated/Root.d.ts +0 -173
  672. package/dist/esm/generated/Root.js +0 -1
  673. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  674. package/dist/esm/generated/SHA1Digest.js +0 -1
  675. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  676. package/dist/esm/generated/SHA256Digest.js +0 -1
  677. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  678. package/dist/esm/generated/StaticMetadataService.js +0 -1
  679. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  680. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  681. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  682. package/dist/esm/generated/UniversalResolver.js +0 -1
  683. package/dist/esm/generated/common.js +0 -1
  684. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  685. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  686. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  687. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  688. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  689. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  690. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  691. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  692. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  693. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  694. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  695. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  696. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  697. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  698. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  699. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  700. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  701. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  702. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  703. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  704. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  705. package/dist/esm/generated/factories/Root__factory.js +0 -239
  706. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  707. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  708. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  709. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  710. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  711. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  712. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  713. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  714. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  715. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  716. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  717. package/dist/esm/generated/factories/index.d.ts +0 -6
  718. package/dist/esm/generated/factories/index.js +0 -9
  719. package/dist/esm/generated/index.d.ts +0 -13
  720. package/dist/esm/generated/index.js +0 -7
  721. package/dist/esm/index.js +0 -190
  722. package/dist/esm/utils/contentHash.d.ts +0 -28
  723. package/dist/esm/utils/contentHash.js +0 -153
  724. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  725. package/dist/esm/utils/createReverseNode.js +0 -1
  726. package/dist/esm/utils/format.d.ts +0 -3
  727. package/dist/esm/utils/format.js +0 -3
  728. package/dist/esm/utils/fuses.d.ts +0 -20
  729. package/dist/esm/utils/fuses.js +0 -21
  730. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  731. package/dist/esm/utils/generateFuseInput.js +0 -14
  732. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  733. package/dist/esm/utils/hexEncodedName.js +0 -2
  734. package/dist/esm/utils/labels.d.ts +0 -14
  735. package/dist/esm/utils/labels.js +0 -95
  736. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  737. package/dist/esm/utils/makeHashIndexes.js +0 -3
  738. package/dist/esm/utils/normalise.d.ts +0 -2
  739. package/dist/esm/utils/normalise.js +0 -20
  740. package/dist/esm/utils/recordHelpers.js +0 -39
  741. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  742. package/dist/esm/utils/registerHelpers.js +0 -43
  743. package/dist/esm/utils/singleCall.js +0 -5
  744. package/dist/esm/utils/validation.d.ts +0 -8
  745. package/dist/esm/utils/validation.js +0 -67
  746. package/src/@types/FuseOptions.d.ts +0 -9
  747. package/src/ABIs/ETHRegistrarController.json +0 -494
  748. package/src/ABIs/NameWrapper.json +0 -1183
  749. package/src/ABIs/PublicResolver.json +0 -875
  750. package/src/ABIs/ReverseRegistrar.json +0 -323
  751. package/src/ABIs/StaticMetadataService.json +0 -32
  752. package/src/ABIs/UniversalResolver.json +0 -187
  753. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  754. package/src/functions/getFuses.test.ts +0 -103
  755. package/src/functions/getFuses.ts +0 -76
  756. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  757. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  758. package/src/tests/setup.ts +0 -53
  759. package/src/tests/withProvider.test.ts +0 -28
@@ -0,0 +1,92 @@
1
+ // src/functions/getSubnames.ts
2
+ import { truncateFormat } from "../utils/format.mjs";
3
+ import { decryptName } from "../utils/labels.mjs";
4
+ import { namehash } from "../utils/normalise.mjs";
5
+ var largeQuery = async ({ gqlInstance }, {
6
+ name,
7
+ pageSize = 10,
8
+ orderDirection,
9
+ orderBy,
10
+ lastSubnames = [],
11
+ search = ""
12
+ }) => {
13
+ const { client } = gqlInstance;
14
+ const lastSubname = lastSubnames?.[lastSubnames.length - 1];
15
+ const lastCreatedAt = lastSubname?.createdAt;
16
+ const lastLabelName = lastSubname?.labelName;
17
+ let whereFilter = "";
18
+ if (orderBy === "createdAt" && lastCreatedAt) {
19
+ whereFilter += orderDirection === "asc" ? "createdAt_gt: $lastCreatedAt" : "createdAt_lt: $lastCreatedAt";
20
+ } else if (orderBy === "labelName" && lastLabelName) {
21
+ whereFilter += orderDirection === "asc" ? "labelName_gt: $lastLabelName" : "labelName_lt: $lastLabelName";
22
+ }
23
+ if (search) {
24
+ whereFilter += " labelName_contains: $search";
25
+ }
26
+ const finalQuery = gqlInstance.gql`
27
+ query getSubnames(
28
+ $id: ID!
29
+ $first: Int
30
+ $lastCreatedAt: BigInt
31
+ $lastLabelName: String
32
+ $orderBy: Domain_orderBy
33
+ $orderDirection: OrderDirection
34
+ $search: String
35
+ ) {
36
+ domain(
37
+ id: $id
38
+ ) {
39
+ subdomainCount
40
+ subdomains(
41
+ first: $first
42
+ orderBy: $orderBy
43
+ orderDirection: $orderDirection
44
+ where: {
45
+ ${whereFilter}
46
+ }
47
+ ) {
48
+ id
49
+ labelName
50
+ labelhash
51
+ isMigrated
52
+ name
53
+ subdomainCount
54
+ createdAt
55
+ owner {
56
+ id
57
+ }
58
+ }
59
+ }
60
+ }
61
+ `;
62
+ const queryVars = {
63
+ id: namehash(name),
64
+ first: pageSize,
65
+ lastCreatedAt,
66
+ lastLabelName,
67
+ orderBy,
68
+ orderDirection,
69
+ search: search?.toLowerCase()
70
+ };
71
+ const response = await client.request(finalQuery, queryVars);
72
+ const domain = response?.domain;
73
+ const subdomains = domain.subdomains.map((subname) => {
74
+ const decrypted = decryptName(subname.name);
75
+ return {
76
+ ...subname,
77
+ name: decrypted,
78
+ truncatedName: truncateFormat(decrypted)
79
+ };
80
+ });
81
+ return {
82
+ subnames: subdomains,
83
+ subnameCount: domain.subdomainCount
84
+ };
85
+ };
86
+ var getSubnames = (injected, functionArgs) => {
87
+ return largeQuery(injected, functionArgs);
88
+ };
89
+ var getSubnames_default = getSubnames;
90
+ export {
91
+ getSubnames_default as default
92
+ };
@@ -0,0 +1,39 @@
1
+ // src/functions/getWrapperData.ts
2
+ import { BigNumber } from "@ethersproject/bignumber/lib.esm/bignumber.js";
3
+ import { decodeFuses } from "../utils/fuses.mjs";
4
+ import { namehash } from "../utils/normalise.mjs";
5
+ var raw = async ({ contracts }, name) => {
6
+ const nameWrapper = await contracts?.getNameWrapper();
7
+ return {
8
+ to: nameWrapper.address,
9
+ data: nameWrapper.interface.encodeFunctionData("getData", [namehash(name)])
10
+ };
11
+ };
12
+ var decode = async ({ contracts }, data) => {
13
+ const nameWrapper = await contracts?.getNameWrapper();
14
+ try {
15
+ const [owner, _fuses, expiry] = nameWrapper.interface.decodeFunctionResult(
16
+ "getData",
17
+ data
18
+ );
19
+ const fuses = BigNumber.from(_fuses);
20
+ const fuseObj = decodeFuses(fuses);
21
+ const expiryDate = new Date(expiry * 1e3);
22
+ return {
23
+ fuseObj,
24
+ expiryDate,
25
+ rawFuses: fuses,
26
+ owner
27
+ };
28
+ } catch (e) {
29
+ console.error("Error decoding wrapper data: ", e);
30
+ return;
31
+ }
32
+ };
33
+ var getWrapperData_default = {
34
+ raw,
35
+ decode
36
+ };
37
+ export {
38
+ getWrapperData_default as default
39
+ };
@@ -0,0 +1,40 @@
1
+ // src/functions/importDNSSECName.ts
2
+ import { Oracle as NewOracle } from "@ensdomains/dnssecoraclejs";
3
+ import packet from "dns-packet";
4
+ import { EMPTY_ADDRESS } from "../utils/consts.mjs";
5
+ var DNS_OVER_HTTP_ENDPOINT = "https://1.1.1.1/dns-query";
6
+ async function importDNSSECName_default({ contracts, provider }, name, { address, proverResult }) {
7
+ const dnsRegistrarContract = await contracts?.getDNSRegistrar();
8
+ const resolverContract = await contracts?.getPublicResolver();
9
+ const registrarOracle = await dnsRegistrarContract?.oracle();
10
+ if (!registrarOracle) {
11
+ throw new Error("No oracle found");
12
+ }
13
+ const oracle = new NewOracle(registrarOracle, provider);
14
+ const proofData = await oracle.getProofData(proverResult);
15
+ const encodedName = `0x${packet.name.encode(name).toString("hex")}`;
16
+ const data = proofData.rrsets.map(
17
+ (x) => Object.values(x)
18
+ );
19
+ const { proof } = proofData;
20
+ if (address === EMPTY_ADDRESS) {
21
+ return dnsRegistrarContract?.populateTransaction.proveAndClaim(
22
+ encodedName,
23
+ data,
24
+ proof
25
+ );
26
+ }
27
+ if (address) {
28
+ return dnsRegistrarContract?.populateTransaction.proveAndClaimWithResolver(
29
+ encodedName,
30
+ data,
31
+ proof,
32
+ resolverContract.address,
33
+ address
34
+ );
35
+ }
36
+ }
37
+ export {
38
+ DNS_OVER_HTTP_ENDPOINT,
39
+ importDNSSECName_default as default
40
+ };
@@ -0,0 +1,25 @@
1
+ // src/functions/initialGetters.ts
2
+ import { default as default2 } from "./batch.mjs";
3
+ export * from "./batchWrappers.mjs";
4
+ import { default as default3 } from "./getExpiry.mjs";
5
+ import { default as default4 } from "./getName.mjs";
6
+ import { default as default5 } from "./getNames.mjs";
7
+ import { default as default6 } from "./getOwner.mjs";
8
+ import { default as default7 } from "./getPrice.mjs";
9
+ import { default as default8 } from "./getProfile.mjs";
10
+ import { default as default9 } from "./getRecords.mjs";
11
+ export * from "./getSpecificRecord.mjs";
12
+ import { default as default10 } from "./getSubnames.mjs";
13
+ import { default as default11 } from "./supportsTLD.mjs";
14
+ export {
15
+ default2 as batch,
16
+ default3 as getExpiry,
17
+ default4 as getName,
18
+ default5 as getNames,
19
+ default6 as getOwner,
20
+ default7 as getPrice,
21
+ default8 as getProfile,
22
+ default9 as getRecords,
23
+ default10 as getSubnames,
24
+ default11 as supportsTLD
25
+ };
@@ -0,0 +1,27 @@
1
+ // src/functions/registerName.ts
2
+ import {
3
+ makeRegistrationData
4
+ } from "../utils/registerHelpers.mjs";
5
+ import { wrappedLabelLengthCheck } from "../utils/wrapper.mjs";
6
+ async function registerName_default({ contracts }, name, { resolverAddress, value, ...params }) {
7
+ const labels = name.split(".");
8
+ if (labels.length !== 2 || labels[1] !== "eth")
9
+ throw new Error("Currently only .eth TLD registrations are supported");
10
+ wrappedLabelLengthCheck(labels[0]);
11
+ const controller = await contracts.getEthRegistrarController();
12
+ const _resolver = await contracts.getPublicResolver(
13
+ void 0,
14
+ resolverAddress
15
+ );
16
+ const generatedParams = makeRegistrationData({
17
+ name,
18
+ resolver: _resolver,
19
+ ...params
20
+ });
21
+ return controller.populateTransaction.register(...generatedParams, {
22
+ value
23
+ });
24
+ }
25
+ export {
26
+ registerName_default as default
27
+ };
@@ -0,0 +1,43 @@
1
+ // src/functions/renewNames.ts
2
+ import { validateFuses } from "../utils/fuses.mjs";
3
+ import { MAX_INT_64 } from "../utils/registerHelpers.mjs";
4
+ async function renewNameWithData({ contracts }, name, {
5
+ duration,
6
+ value,
7
+ fuses,
8
+ wrapperExpiry = MAX_INT_64
9
+ }) {
10
+ const labels = name.split(".");
11
+ if (labels.length !== 2 || labels[1] !== "eth") {
12
+ throw new Error("Currently only .eth TLD renewals are supported");
13
+ }
14
+ const encodedFuses = fuses ? validateFuses(fuses) : 0;
15
+ const controller = await contracts.getEthRegistrarController();
16
+ return controller.populateTransaction.renewWithFuses(
17
+ labels[0],
18
+ duration,
19
+ encodedFuses,
20
+ wrapperExpiry,
21
+ { value }
22
+ );
23
+ }
24
+ async function renewNames_default({ contracts }, nameOrNames, { duration, value }) {
25
+ const names = Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames];
26
+ const labels = names.map((name) => {
27
+ const label = name.split(".");
28
+ if (label.length !== 2 || label[1] !== "eth") {
29
+ throw new Error("Currently only .eth TLD renewals are supported");
30
+ }
31
+ return label[0];
32
+ });
33
+ if (labels.length === 1) {
34
+ const controller = await contracts.getEthRegistrarController();
35
+ return controller.populateTransaction.renew(labels[0], duration, { value });
36
+ }
37
+ const bulkRenewal = await contracts.getBulkRenewal();
38
+ return bulkRenewal.populateTransaction.renewAll(labels, duration, { value });
39
+ }
40
+ export {
41
+ renewNames_default as default,
42
+ renewNameWithData
43
+ };
@@ -0,0 +1,23 @@
1
+ // src/functions/setName.ts
2
+ async function setName_default({ contracts, signer }, name, {
3
+ address,
4
+ resolver
5
+ } = {}) {
6
+ const signerAddress = await signer.getAddress();
7
+ const reverseRegistrar = (await contracts?.getReverseRegistrar())?.connect(
8
+ signer
9
+ );
10
+ if (address) {
11
+ const publicResolver = await contracts?.getPublicResolver();
12
+ return reverseRegistrar.populateTransaction.setNameForAddr(
13
+ address,
14
+ signerAddress,
15
+ resolver || publicResolver.address,
16
+ name
17
+ );
18
+ }
19
+ return reverseRegistrar.populateTransaction.setName(name);
20
+ }
21
+ export {
22
+ setName_default as default
23
+ };
@@ -0,0 +1,36 @@
1
+ // src/functions/setRecord.ts
2
+ import { namehash } from "../utils/normalise.mjs";
3
+ import { generateSingleRecordCall } from "../utils/recordHelpers.mjs";
4
+ async function setRecord_default({
5
+ contracts,
6
+ provider,
7
+ getResolver,
8
+ signer
9
+ }, name, {
10
+ record,
11
+ type,
12
+ resolverAddress
13
+ }) {
14
+ if (!name.includes(".")) {
15
+ throw new Error("Input is not an ENS name");
16
+ }
17
+ let resolverToUse;
18
+ if (resolverAddress) {
19
+ resolverToUse = resolverAddress;
20
+ } else {
21
+ resolverToUse = await getResolver(name);
22
+ }
23
+ if (!resolverToUse) {
24
+ throw new Error("No resolver found for input address");
25
+ }
26
+ const resolver = (await contracts?.getPublicResolver(provider, resolverToUse))?.connect(signer);
27
+ const hash = namehash(name);
28
+ const call = generateSingleRecordCall(hash, resolver, type)(record);
29
+ return {
30
+ to: resolver.address,
31
+ data: call
32
+ };
33
+ }
34
+ export {
35
+ setRecord_default as default
36
+ };
@@ -0,0 +1,32 @@
1
+ // src/functions/setRecords.ts
2
+ import { namehash } from "../utils/normalise.mjs";
3
+ import { generateRecordCallArray } from "../utils/recordHelpers.mjs";
4
+ async function setRecords_default({
5
+ contracts,
6
+ provider,
7
+ getResolver,
8
+ signer
9
+ }, name, {
10
+ records,
11
+ resolverAddress
12
+ }) {
13
+ if (!name.includes(".")) {
14
+ throw new Error("Input is not an ENS name");
15
+ }
16
+ let resolverToUse;
17
+ if (resolverAddress) {
18
+ resolverToUse = resolverAddress;
19
+ } else {
20
+ resolverToUse = await getResolver(name);
21
+ }
22
+ if (!resolverToUse) {
23
+ throw new Error("No resolver found for input address");
24
+ }
25
+ const resolver = (await contracts?.getPublicResolver(provider, resolverToUse))?.connect(signer);
26
+ const hash = namehash(name);
27
+ const calls = generateRecordCallArray(hash, records, resolver);
28
+ return resolver.populateTransaction.multicall(calls);
29
+ }
30
+ export {
31
+ setRecords_default as default
32
+ };
@@ -0,0 +1,29 @@
1
+ // src/functions/setResolver.ts
2
+ import { namehash } from "../utils/normalise.mjs";
3
+ async function setResolver_default({ contracts, signer }, name, {
4
+ contract,
5
+ resolver
6
+ }) {
7
+ if (!resolver) {
8
+ resolver = (await contracts.getPublicResolver()).address;
9
+ }
10
+ switch (contract) {
11
+ case "registry": {
12
+ const registry = (await contracts?.getRegistry()).connect(signer);
13
+ return registry.populateTransaction.setResolver(namehash(name), resolver);
14
+ }
15
+ case "nameWrapper": {
16
+ const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
17
+ return nameWrapper.populateTransaction.setResolver(
18
+ namehash(name),
19
+ resolver
20
+ );
21
+ }
22
+ default: {
23
+ throw new Error(`Unknown contract: ${contract}`);
24
+ }
25
+ }
26
+ }
27
+ export {
28
+ setResolver_default as default
29
+ };
@@ -0,0 +1,29 @@
1
+ // src/functions/supportsTLD.ts
2
+ import { DNSRegistrar__factory } from "../generated/factories/DNSRegistrar__factory.mjs";
3
+ var DNSSEC_CLAIM_INTERFACE_IDS = ["0x2f435428", "0x17d8f49b", "0x1aa2e641"];
4
+ async function supportsTLD_default({ getOwner, provider }, name) {
5
+ try {
6
+ const labels = name.split(".");
7
+ const tld = labels[labels.length - 1];
8
+ if (tld === "eth")
9
+ return true;
10
+ const tldOwner = await getOwner(tld, "registry");
11
+ if (!tldOwner?.owner)
12
+ return false;
13
+ const dnsRegistrar = DNSRegistrar__factory.connect(
14
+ tldOwner.owner,
15
+ provider
16
+ );
17
+ const supports = await Promise.all(
18
+ DNSSEC_CLAIM_INTERFACE_IDS.map(
19
+ (interfaceId) => dnsRegistrar.supportsInterface(interfaceId)
20
+ )
21
+ );
22
+ return supports.some((s) => !!s);
23
+ } catch {
24
+ return false;
25
+ }
26
+ }
27
+ export {
28
+ supportsTLD_default as default
29
+ };
@@ -0,0 +1,23 @@
1
+ // src/functions/transferController.ts
2
+ import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
3
+ async function transferController_default({ contracts, signer }, name, {
4
+ newOwner,
5
+ isOwner
6
+ }) {
7
+ const baseRegistrar = (await contracts?.getBaseRegistrar()).connect(signer);
8
+ const registry = (await contracts?.getRegistry()).connect(signer);
9
+ const labels = name.split(".");
10
+ if (isOwner) {
11
+ return registry.populateTransaction.setOwner(
12
+ solidityKeccak256(["string"], [labels[0]]),
13
+ newOwner
14
+ );
15
+ }
16
+ return baseRegistrar.populateTransaction.reclaim(
17
+ solidityKeccak256(["string"], [labels[0]]),
18
+ newOwner
19
+ );
20
+ }
21
+ export {
22
+ transferController_default as default
23
+ };
@@ -0,0 +1,46 @@
1
+ // src/functions/transferName.ts
2
+ import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
3
+ import { namehash } from "../utils/normalise.mjs";
4
+ async function transferName_default({ contracts, signer }, name, {
5
+ newOwner,
6
+ contract,
7
+ reclaim
8
+ }) {
9
+ const address = await signer.getAddress();
10
+ switch (contract) {
11
+ case "registry": {
12
+ const registry = (await contracts?.getRegistry()).connect(signer);
13
+ return registry.populateTransaction.setOwner(namehash(name), newOwner);
14
+ }
15
+ case "baseRegistrar": {
16
+ const baseRegistrar = (await contracts?.getBaseRegistrar()).connect(
17
+ signer
18
+ );
19
+ const labels = name.split(".");
20
+ if (labels.length > 2 || labels[labels.length - 1] !== "eth") {
21
+ throw new Error("Invalid name for baseRegistrar");
22
+ }
23
+ const tokenId = solidityKeccak256(["string"], [labels[0]]);
24
+ if (reclaim) {
25
+ return baseRegistrar.populateTransaction.reclaim(tokenId, newOwner);
26
+ }
27
+ return baseRegistrar.populateTransaction["safeTransferFrom(address,address,uint256)"](address, newOwner, tokenId);
28
+ }
29
+ case "nameWrapper": {
30
+ const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
31
+ return nameWrapper.populateTransaction.safeTransferFrom(
32
+ address,
33
+ newOwner,
34
+ namehash(name),
35
+ 1,
36
+ "0x"
37
+ );
38
+ }
39
+ default: {
40
+ throw new Error(`Unknown contract: ${contract}`);
41
+ }
42
+ }
43
+ }
44
+ export {
45
+ transferName_default as default
46
+ };
@@ -0,0 +1,45 @@
1
+ // src/functions/transferSubname.ts
2
+ import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
3
+ import { namehash } from "../utils/normalise.mjs";
4
+ import { makeExpiry } from "../utils/wrapper.mjs";
5
+ async function transferSubname_default({
6
+ contracts,
7
+ signer,
8
+ getExpiry
9
+ }, name, { contract, owner, resolverAddress, ...wrapperArgs }) {
10
+ const labels = name.split(".");
11
+ const label = labels.shift();
12
+ const labelhash = solidityKeccak256(["string"], [label]);
13
+ const parentNodehash = namehash(labels.join("."));
14
+ switch (contract) {
15
+ case "registry": {
16
+ const registry = (await contracts.getRegistry()).connect(signer);
17
+ return registry.populateTransaction.setSubnodeOwner(
18
+ parentNodehash,
19
+ labelhash,
20
+ owner
21
+ );
22
+ }
23
+ case "nameWrapper": {
24
+ const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
25
+ const expiry = await makeExpiry(
26
+ { getExpiry },
27
+ labels.join("."),
28
+ "expiry" in wrapperArgs ? wrapperArgs.expiry : void 0
29
+ );
30
+ return nameWrapper.populateTransaction.setSubnodeOwner(
31
+ parentNodehash,
32
+ label,
33
+ owner,
34
+ "0",
35
+ expiry
36
+ );
37
+ }
38
+ default: {
39
+ throw new Error(`Unknown contract: ${contract}`);
40
+ }
41
+ }
42
+ }
43
+ export {
44
+ transferSubname_default as default
45
+ };
File without changes
@@ -0,0 +1,33 @@
1
+ // src/functions/unwrapName.ts
2
+ import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
3
+ import { namehash } from "../utils/normalise.mjs";
4
+ async function unwrapName_default({ contracts, signer }, name, {
5
+ newController,
6
+ newRegistrant
7
+ }) {
8
+ const labels = name.split(".");
9
+ const labelhash = solidityKeccak256(["string"], [labels[0]]);
10
+ const parentNodehash = namehash(labels.slice(1).join("."));
11
+ const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
12
+ if (labels.length === 2 && labels[1] === "eth") {
13
+ if (!newRegistrant) {
14
+ throw new Error("newRegistrant must be specified for .eth names");
15
+ }
16
+ return nameWrapper.populateTransaction.unwrapETH2LD(
17
+ labelhash,
18
+ newRegistrant,
19
+ newController
20
+ );
21
+ }
22
+ if (newRegistrant) {
23
+ throw new Error("newRegistrant can only be specified for .eth names");
24
+ }
25
+ return nameWrapper.populateTransaction.unwrap(
26
+ parentNodehash,
27
+ labelhash,
28
+ newController
29
+ );
30
+ }
31
+ export {
32
+ unwrapName_default as default
33
+ };
@@ -0,0 +1,105 @@
1
+ // src/functions/wrapName.ts
2
+ import { defaultAbiCoder } from "@ethersproject/abi/lib.esm/abi-coder.js";
3
+ import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
4
+ import generateFuseInput from "../utils/generateFuseInput.mjs";
5
+ import { hexEncodeName } from "../utils/hexEncodedName.mjs";
6
+ import { makeExpiry, wrappedLabelLengthCheck } from "../utils/wrapper.mjs";
7
+ async function wrapETH({ contracts }, labels, wrappedOwner, expiry, decodedFuses, resolverAddress, signer, address) {
8
+ const nameWrapper = await contracts?.getNameWrapper();
9
+ const baseRegistrar = (await contracts.getBaseRegistrar()).connect(signer);
10
+ const labelhash = solidityKeccak256(["string"], [labels[0]]);
11
+ const data = defaultAbiCoder.encode(
12
+ ["string", "address", "uint32", "uint64", "address"],
13
+ [labels[0], wrappedOwner, decodedFuses, expiry, resolverAddress]
14
+ );
15
+ return baseRegistrar.populateTransaction["safeTransferFrom(address,address,uint256,bytes)"](address, nameWrapper.address, labelhash, data);
16
+ }
17
+ async function wrapOther({ contracts }, name, wrappedOwner, resolverAddress, address, signer) {
18
+ const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
19
+ const registry = await contracts?.getRegistry();
20
+ const hasApproval = await registry.isApprovedForAll(
21
+ address,
22
+ nameWrapper.address
23
+ );
24
+ if (!hasApproval) {
25
+ throw new Error(
26
+ "NameWrapper must have approval to wrap a name from this address."
27
+ );
28
+ }
29
+ return nameWrapper.populateTransaction.wrap(
30
+ hexEncodeName(name),
31
+ wrappedOwner,
32
+ resolverAddress
33
+ );
34
+ }
35
+ async function wrapName_default({
36
+ contracts,
37
+ signer,
38
+ getExpiry
39
+ }, name, {
40
+ wrappedOwner,
41
+ fuseOptions,
42
+ expiry,
43
+ resolverAddress
44
+ }) {
45
+ const address = await signer.getAddress();
46
+ let decodedFuses;
47
+ const publicResolver = await contracts?.getPublicResolver();
48
+ if (!resolverAddress)
49
+ resolverAddress = publicResolver.address;
50
+ const labels = name.split(".");
51
+ wrappedLabelLengthCheck(labels[0]);
52
+ if (labels.length === 2 && labels[1] === "eth") {
53
+ switch (typeof fuseOptions) {
54
+ case "object": {
55
+ decodedFuses = generateFuseInput(fuseOptions);
56
+ break;
57
+ }
58
+ case "number": {
59
+ decodedFuses = fuseOptions.toString(16);
60
+ break;
61
+ }
62
+ case "string": {
63
+ decodedFuses = fuseOptions;
64
+ break;
65
+ }
66
+ case "undefined": {
67
+ decodedFuses = "0";
68
+ break;
69
+ }
70
+ default: {
71
+ throw new Error(`Invalid fuseOptions type: ${typeof fuseOptions}`);
72
+ }
73
+ }
74
+ const expiryToUse = await makeExpiry({ getExpiry }, name, expiry);
75
+ return wrapETH(
76
+ { contracts },
77
+ labels,
78
+ wrappedOwner,
79
+ expiryToUse,
80
+ decodedFuses,
81
+ resolverAddress,
82
+ signer,
83
+ address
84
+ );
85
+ }
86
+ if (fuseOptions)
87
+ throw new Error(
88
+ "Fuses can not be initially set when wrapping a non .eth name"
89
+ );
90
+ if (expiry)
91
+ throw new Error(
92
+ "Expiry can not be initially set when wrapping a non .eth name"
93
+ );
94
+ return wrapOther(
95
+ { contracts },
96
+ name,
97
+ wrappedOwner,
98
+ resolverAddress,
99
+ address,
100
+ signer
101
+ );
102
+ }
103
+ export {
104
+ wrapName_default as default
105
+ };
File without changes