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

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 (671) hide show
  1. package/dist/cjs/GqlManager.js +105 -37
  2. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  3. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  4. package/dist/cjs/contracts/getContractAddress.js +61 -43
  5. package/dist/cjs/contracts/index.js +76 -32
  6. package/dist/cjs/contracts/multicall.js +24 -21
  7. package/dist/cjs/contracts/nameWrapper.js +24 -3
  8. package/dist/cjs/contracts/publicResolver.js +24 -3
  9. package/dist/cjs/contracts/registry.js +24 -3
  10. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  11. package/dist/cjs/contracts/types.js +15 -1
  12. package/dist/cjs/contracts/universalResolver.js +24 -3
  13. package/dist/cjs/functions/batch.js +42 -15
  14. package/dist/cjs/functions/batchWrappers.js +97 -67
  15. package/dist/cjs/functions/burnFuses.js +64 -14
  16. package/dist/cjs/functions/commitName.js +47 -0
  17. package/dist/cjs/functions/createSubname.js +79 -38
  18. package/dist/cjs/functions/deleteSubname.js +30 -4
  19. package/dist/cjs/functions/getDNSOwner.js +82 -0
  20. package/dist/cjs/functions/getExpiry.js +110 -41
  21. package/dist/cjs/functions/getFuses.js +63 -56
  22. package/dist/cjs/functions/getHistory.js +109 -173
  23. package/dist/cjs/functions/getName.js +51 -28
  24. package/dist/cjs/functions/getNames.js +118 -104
  25. package/dist/cjs/functions/getOwner.js +147 -125
  26. package/dist/cjs/functions/getPrice.js +71 -43
  27. package/dist/cjs/functions/getProfile.js +421 -265
  28. package/dist/cjs/functions/getRecords.js +29 -9
  29. package/dist/cjs/functions/getResolver.js +41 -19
  30. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  31. package/dist/cjs/functions/getSubnames.js +83 -63
  32. package/dist/cjs/functions/initialGetters.js +46 -37
  33. package/dist/cjs/functions/registerName.js +42 -0
  34. package/dist/cjs/functions/renewName.js +33 -0
  35. package/dist/cjs/functions/setName.js +40 -15
  36. package/dist/cjs/functions/setRecord.js +55 -0
  37. package/dist/cjs/functions/setRecords.js +49 -20
  38. package/dist/cjs/functions/setResolver.js +43 -23
  39. package/dist/cjs/functions/transferName.js +60 -30
  40. package/dist/cjs/functions/transferSubname.js +60 -24
  41. package/dist/cjs/functions/unwrapName.js +49 -25
  42. package/dist/cjs/functions/wrapName.js +121 -57
  43. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  44. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  45. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  46. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  47. package/dist/cjs/generated/ENSRegistry.js +15 -1
  48. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  49. package/dist/cjs/generated/Multicall.js +15 -1
  50. package/dist/cjs/generated/NameWrapper.js +15 -1
  51. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  52. package/dist/cjs/generated/PublicResolver.js +15 -1
  53. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  54. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  55. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  56. package/dist/cjs/generated/Root.js +15 -1
  57. package/dist/cjs/generated/SHA1Digest.js +15 -1
  58. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  59. package/dist/cjs/generated/SHA256Digest.js +15 -1
  60. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  61. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  62. package/dist/cjs/generated/UniversalResolver.js +15 -1
  63. package/dist/cjs/generated/common.js +15 -1
  64. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +784 -764
  65. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +281 -288
  66. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +485 -492
  67. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +102 -82
  68. package/dist/cjs/generated/factories/ENSRegistry__factory.js +447 -431
  69. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +534 -504
  70. package/dist/cjs/generated/factories/Multicall__factory.js +457 -441
  71. package/dist/cjs/generated/factories/NameWrapper__factory.js +1341 -1194
  72. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +60 -67
  73. package/dist/cjs/generated/factories/PublicResolver__factory.js +901 -885
  74. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +60 -67
  75. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +60 -67
  76. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +349 -333
  77. package/dist/cjs/generated/factories/Root__factory.js +253 -237
  78. package/dist/cjs/generated/factories/SHA1Digest__factory.js +55 -62
  79. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +60 -67
  80. package/dist/cjs/generated/factories/SHA256Digest__factory.js +55 -62
  81. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +64 -44
  82. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +50 -57
  83. package/dist/cjs/generated/factories/UniversalResolver__factory.js +215 -199
  84. package/dist/cjs/generated/factories/index.js +61 -17
  85. package/dist/cjs/generated/index.js +68 -37
  86. package/dist/cjs/index.js +318 -214
  87. package/dist/cjs/utils/contentHash.js +145 -142
  88. package/dist/cjs/utils/createReverseNode.js +23 -2
  89. package/dist/cjs/utils/format.js +27 -8
  90. package/dist/cjs/utils/fuses.js +64 -13
  91. package/dist/cjs/utils/generateFuseInput.js +37 -16
  92. package/dist/cjs/utils/hexEncodedName.js +29 -7
  93. package/dist/cjs/utils/labels.js +99 -83
  94. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  95. package/dist/cjs/utils/normalise.js +49 -22
  96. package/dist/cjs/utils/recordHelpers.js +84 -39
  97. package/dist/cjs/utils/registerHelpers.js +114 -46
  98. package/dist/cjs/utils/singleCall.js +23 -6
  99. package/dist/cjs/utils/validation.js +76 -63
  100. package/dist/cjs/utils/wrapperExpiry.js +44 -0
  101. package/dist/cjs/utils/writeTx.js +25 -0
  102. package/dist/esm/GqlManager.mjs +85 -0
  103. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  104. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  105. package/dist/esm/contracts/getContractAddress.mjs +45 -0
  106. package/dist/esm/contracts/index.mjs +56 -0
  107. package/dist/esm/contracts/multicall.mjs +6 -0
  108. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  109. package/dist/esm/contracts/publicResolver.mjs +6 -0
  110. package/dist/esm/contracts/registry.mjs +6 -0
  111. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  112. package/dist/esm/contracts/types.mjs +0 -0
  113. package/dist/esm/contracts/universalResolver.mjs +6 -0
  114. package/dist/esm/functions/batch.mjs +29 -0
  115. package/dist/esm/functions/batchWrappers.mjs +82 -0
  116. package/dist/esm/functions/burnFuses.mjs +52 -0
  117. package/dist/esm/functions/commitName.mjs +28 -0
  118. package/dist/esm/functions/createSubname.mjs +60 -0
  119. package/dist/esm/functions/deleteSubname.mjs +13 -0
  120. package/dist/esm/functions/getDNSOwner.mjs +57 -0
  121. package/dist/esm/functions/getExpiry.mjs +95 -0
  122. package/dist/esm/functions/getFuses.mjs +50 -0
  123. package/dist/esm/functions/getHistory.mjs +196 -0
  124. package/dist/esm/functions/getName.mjs +38 -0
  125. package/dist/esm/functions/getNames.mjs +217 -0
  126. package/dist/esm/functions/getOwner.mjs +143 -0
  127. package/dist/esm/functions/getPrice.mjs +59 -0
  128. package/dist/esm/functions/getProfile.mjs +439 -0
  129. package/dist/esm/functions/getRecords.mjs +12 -0
  130. package/dist/esm/functions/getResolver.mjs +27 -0
  131. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  132. package/dist/esm/functions/getSubnames.mjs +155 -0
  133. package/dist/esm/functions/initialGetters.mjs +23 -0
  134. package/dist/esm/functions/registerName.mjs +25 -0
  135. package/dist/esm/functions/renewName.mjs +14 -0
  136. package/dist/esm/functions/setName.mjs +23 -0
  137. package/dist/esm/functions/setRecord.mjs +36 -0
  138. package/dist/esm/functions/setRecords.mjs +32 -0
  139. package/dist/esm/functions/setResolver.mjs +29 -0
  140. package/dist/esm/functions/transferName.mjs +45 -0
  141. package/dist/esm/functions/transferSubname.mjs +45 -0
  142. package/dist/esm/functions/unwrapName.mjs +33 -0
  143. package/dist/esm/functions/wrapName.mjs +103 -0
  144. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  145. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  146. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  147. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  148. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  149. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  150. package/dist/esm/generated/Multicall.mjs +0 -0
  151. package/dist/esm/generated/NameWrapper.mjs +0 -0
  152. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  153. package/dist/esm/generated/PublicResolver.mjs +0 -0
  154. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  155. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  156. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  157. package/dist/esm/generated/Root.mjs +0 -0
  158. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  159. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  160. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  161. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  162. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  163. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  164. package/dist/esm/generated/common.mjs +0 -0
  165. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +778 -0
  166. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +277 -0
  167. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +482 -0
  168. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +95 -0
  169. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +443 -0
  170. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +529 -0
  171. package/dist/esm/generated/factories/Multicall__factory.mjs +461 -0
  172. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1335 -0
  173. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +52 -0
  174. package/dist/esm/generated/factories/PublicResolver__factory.mjs +896 -0
  175. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +52 -0
  176. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +52 -0
  177. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +344 -0
  178. package/dist/esm/generated/factories/Root__factory.mjs +247 -0
  179. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +47 -0
  180. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +52 -0
  181. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +47 -0
  182. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +57 -0
  183. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +42 -0
  184. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +208 -0
  185. package/dist/esm/generated/factories/index.mjs +43 -0
  186. package/dist/esm/generated/index.mjs +45 -0
  187. package/dist/esm/index.mjs +303 -0
  188. package/dist/esm/utils/contentHash.mjs +142 -0
  189. package/dist/esm/utils/createReverseNode.mjs +5 -0
  190. package/dist/esm/utils/format.mjs +9 -0
  191. package/dist/esm/utils/fuses.mjs +56 -0
  192. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  193. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  194. package/dist/esm/utils/labels.mjs +109 -0
  195. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  196. package/dist/esm/utils/normalise.mjs +30 -0
  197. package/dist/esm/utils/recordHelpers.mjs +70 -0
  198. package/dist/esm/utils/registerHelpers.mjs +95 -0
  199. package/dist/esm/utils/singleCall.mjs +5 -0
  200. package/dist/esm/utils/validation.mjs +67 -0
  201. package/dist/esm/utils/wrapperExpiry.mjs +25 -0
  202. package/dist/esm/utils/writeTx.mjs +6 -0
  203. package/dist/types/GqlManager.d.ts +11 -0
  204. package/dist/{cjs → types}/contracts/baseRegistrar.d.ts +0 -0
  205. package/dist/{cjs → types}/contracts/ethRegistrarController.d.ts +1 -1
  206. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  207. package/dist/types/contracts/index.d.ts +16 -0
  208. package/dist/{cjs → types}/contracts/multicall.d.ts +0 -0
  209. package/dist/{esm → types}/contracts/nameWrapper.d.ts +1 -1
  210. package/dist/{esm → types}/contracts/publicResolver.d.ts +1 -1
  211. package/dist/{cjs → types}/contracts/registry.d.ts +0 -0
  212. package/dist/{cjs → types}/contracts/reverseRegistrar.d.ts +1 -1
  213. package/dist/{cjs → types}/contracts/types.d.ts +0 -0
  214. package/dist/{cjs → types}/contracts/universalResolver.d.ts +1 -1
  215. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  216. package/dist/{esm → types}/functions/batchWrappers.d.ts +2 -2
  217. package/dist/types/functions/burnFuses.d.ts +13 -0
  218. package/dist/types/functions/commitName.d.ts +26 -0
  219. package/dist/{esm → types}/functions/createSubname.d.ts +3 -5
  220. package/dist/types/functions/deleteSubname.d.ts +4 -0
  221. package/dist/types/functions/getDNSOwner.d.ts +7 -0
  222. package/dist/types/functions/getExpiry.d.ts +19 -0
  223. package/dist/{cjs → types}/functions/getFuses.d.ts +5 -6
  224. package/dist/types/functions/getHistory.d.ts +28 -0
  225. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  226. package/dist/{cjs → types}/functions/getNames.d.ts +0 -0
  227. package/dist/{cjs → types}/functions/getOwner.d.ts +0 -0
  228. package/dist/{cjs → types}/functions/getPrice.d.ts +0 -0
  229. package/dist/{esm → types}/functions/getProfile.d.ts +4 -1
  230. package/dist/{esm → types}/functions/getRecords.d.ts +1 -0
  231. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  232. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +4 -4
  233. package/dist/{esm → types}/functions/getSubnames.d.ts +1 -1
  234. package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
  235. package/dist/types/functions/registerName.d.ts +11 -0
  236. package/dist/types/functions/renewName.d.ts +6 -0
  237. package/dist/types/functions/setName.d.ts +5 -0
  238. package/dist/types/functions/setRecord.d.ts +18 -0
  239. package/dist/types/functions/setRecords.d.ts +6 -0
  240. package/dist/types/functions/setResolver.d.ts +5 -0
  241. package/dist/types/functions/transferName.d.ts +6 -0
  242. package/dist/types/functions/transferSubname.d.ts +15 -0
  243. package/dist/types/functions/unwrapName.d.ts +5 -0
  244. package/dist/types/functions/wrapName.d.ts +10 -0
  245. package/dist/types/generated/BaseRegistrarImplementation.d.ts +508 -0
  246. package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +68 -64
  247. package/dist/{esm → types}/generated/DNSSECImpl.d.ts +111 -111
  248. package/dist/{cjs → types}/generated/DefaultReverseResolver.d.ts +17 -17
  249. package/dist/types/generated/ENSRegistry.d.ts +274 -0
  250. package/dist/{esm → types}/generated/ETHRegistrarController.d.ts +111 -109
  251. package/dist/{esm → types}/generated/Multicall.d.ts +60 -60
  252. package/dist/types/generated/NameWrapper.d.ts +814 -0
  253. package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +11 -7
  254. package/dist/types/generated/PublicResolver.d.ts +566 -0
  255. package/dist/{esm → types}/generated/RSASHA1Algorithm.d.ts +11 -7
  256. package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +11 -7
  257. package/dist/{esm → types}/generated/ReverseRegistrar.d.ts +112 -103
  258. package/dist/types/generated/Root.d.ts +173 -0
  259. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +7 -7
  260. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +11 -7
  261. package/dist/{cjs → types}/generated/SHA256Digest.d.ts +7 -7
  262. package/dist/{cjs → types}/generated/StaticMetadataService.d.ts +7 -7
  263. package/dist/{esm → types}/generated/TLDPublicSuffixList.d.ts +7 -7
  264. package/dist/types/generated/UniversalResolver.d.ts +82 -0
  265. package/dist/{esm → types}/generated/common.d.ts +1 -0
  266. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
  267. package/dist/{esm/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +15 -14
  268. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +9 -9
  269. package/dist/{cjs → types}/generated/factories/DefaultReverseResolver__factory.d.ts +0 -0
  270. package/dist/{cjs → types}/generated/factories/ENSRegistry__factory.d.ts +0 -0
  271. package/dist/{cjs → types}/generated/factories/ETHRegistrarController__factory.d.ts +0 -0
  272. package/dist/{cjs → types}/generated/factories/Multicall__factory.d.ts +0 -0
  273. package/dist/{cjs → types}/generated/factories/NameWrapper__factory.d.ts +0 -0
  274. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  275. package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
  276. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  277. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  278. package/dist/{cjs → types}/generated/factories/ReverseRegistrar__factory.d.ts +0 -0
  279. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +0 -0
  280. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  281. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  282. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  283. package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
  284. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  285. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
  286. package/dist/types/generated/factories/index.d.ts +20 -0
  287. package/dist/types/generated/index.d.ts +41 -0
  288. package/dist/{esm → types}/index.d.ts +91 -106
  289. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  290. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  291. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  292. package/dist/types/utils/fuses.d.ts +43 -0
  293. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +0 -0
  294. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  295. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  296. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  297. package/dist/types/utils/normalise.d.ts +2 -0
  298. package/dist/{esm → types}/utils/recordHelpers.d.ts +3 -0
  299. package/dist/types/utils/registerHelpers.d.ts +54 -0
  300. package/dist/{cjs → types}/utils/singleCall.d.ts +0 -0
  301. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  302. package/dist/types/utils/wrapperExpiry.d.ts +5 -0
  303. package/dist/types/utils/writeTx.d.ts +21 -0
  304. package/package.json +71 -32
  305. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  306. package/src/@types/dns-packet/index.d.ts +114 -0
  307. package/src/ABIs/Multicall.json +452 -0
  308. package/src/GqlManager.test.ts +173 -0
  309. package/src/GqlManager.ts +90 -2
  310. package/src/contracts/getContractAddress.ts +2 -0
  311. package/src/contracts/index.ts +9 -1
  312. package/src/contracts/multicall.ts +0 -19
  313. package/src/functions/batch.test.ts +36 -0
  314. package/src/functions/batch.ts +3 -3
  315. package/src/functions/batchWrappers.test.ts +31 -0
  316. package/src/functions/batchWrappers.ts +2 -2
  317. package/src/functions/burnFuses.test.ts +148 -0
  318. package/src/functions/burnFuses.ts +67 -11
  319. package/src/functions/commitName.test.ts +61 -0
  320. package/src/functions/commitName.ts +36 -0
  321. package/src/{tests → functions}/createSubname.test.ts +11 -19
  322. package/src/functions/createSubname.ts +20 -15
  323. package/src/functions/deleteSubname.test.ts +49 -0
  324. package/src/functions/deleteSubname.ts +10 -12
  325. package/src/functions/getDNSOwner.test.ts +119 -0
  326. package/src/functions/getDNSOwner.ts +61 -0
  327. package/src/functions/getExpiry.test.ts +55 -0
  328. package/src/functions/getExpiry.ts +87 -9
  329. package/src/functions/getFuses.test.ts +96 -0
  330. package/src/functions/getFuses.ts +23 -44
  331. package/src/functions/getHistory.test.ts +29 -0
  332. package/src/functions/getHistory.ts +27 -141
  333. package/src/{tests → functions}/getName.test.ts +11 -11
  334. package/src/functions/getName.ts +2 -2
  335. package/src/functions/getNames.test.ts +276 -0
  336. package/src/functions/getNames.ts +25 -30
  337. package/src/functions/getOwner.test.ts +67 -0
  338. package/src/functions/getOwner.ts +16 -10
  339. package/src/functions/getPrice.ts +2 -2
  340. package/src/{tests → functions}/getProfile.test.ts +50 -27
  341. package/src/functions/getProfile.ts +161 -96
  342. package/src/functions/getRecords.ts +2 -1
  343. package/src/functions/getResolver.test.ts +15 -0
  344. package/src/{tests → functions}/getSpecificRecord.test.ts +21 -18
  345. package/src/functions/getSpecificRecord.ts +18 -147
  346. package/src/functions/getSubnames.test.ts +35 -0
  347. package/src/functions/getSubnames.ts +6 -6
  348. package/src/{tests → functions}/makeCommitment.test.ts +6 -6
  349. package/src/{tests → functions}/normalise.test.ts +0 -0
  350. package/src/functions/registerName.test.ts +59 -0
  351. package/src/functions/registerName.ts +38 -0
  352. package/src/functions/renewName.test.ts +44 -0
  353. package/src/functions/renewName.ts +22 -0
  354. package/src/{tests → functions}/setName.test.ts +16 -16
  355. package/src/functions/setName.ts +15 -17
  356. package/src/functions/setRecord.test.ts +103 -0
  357. package/src/functions/setRecord.ts +59 -0
  358. package/src/{tests → functions}/setRecords.test.ts +19 -16
  359. package/src/functions/setRecords.ts +19 -13
  360. package/src/{tests → functions}/setResolver.test.ts +17 -25
  361. package/src/functions/setResolver.ts +15 -20
  362. package/src/functions/transferName.test.ts +65 -0
  363. package/src/functions/transferName.ts +17 -21
  364. package/src/functions/transferSubname.test.ts +55 -0
  365. package/src/functions/transferSubname.ts +39 -14
  366. package/src/functions/unwrapName.test.ts +53 -0
  367. package/src/functions/unwrapName.ts +23 -20
  368. package/src/functions/wrapName.test.ts +141 -0
  369. package/src/functions/wrapName.ts +71 -58
  370. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  371. package/src/generated/DNSRegistrar.ts +103 -89
  372. package/src/generated/DNSSECImpl.ts +180 -149
  373. package/src/generated/DefaultReverseResolver.ts +37 -21
  374. package/src/generated/ENSRegistry.ts +257 -184
  375. package/src/generated/ETHRegistrarController.ts +252 -191
  376. package/src/generated/Multicall.ts +73 -57
  377. package/src/generated/NameWrapper.ts +979 -649
  378. package/src/generated/P256SHA256Algorithm.ts +21 -16
  379. package/src/generated/PublicResolver.ts +452 -362
  380. package/src/generated/RSASHA1Algorithm.ts +21 -16
  381. package/src/generated/RSASHA256Algorithm.ts +21 -16
  382. package/src/generated/ReverseRegistrar.ts +193 -141
  383. package/src/generated/Root.ts +146 -86
  384. package/src/generated/SHA1Digest.ts +12 -11
  385. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  386. package/src/generated/SHA256Digest.ts +12 -11
  387. package/src/generated/StaticMetadataService.ts +22 -6
  388. package/src/generated/TLDPublicSuffixList.ts +10 -6
  389. package/src/generated/UniversalResolver.ts +44 -40
  390. package/src/generated/common.ts +2 -0
  391. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  392. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  393. package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
  394. package/src/generated/factories/NameWrapper__factory.ts +210 -79
  395. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  396. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  397. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  398. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  399. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  400. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  401. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  402. package/src/generated/factories/index.ts +14 -0
  403. package/src/generated/index.ts +29 -1
  404. package/src/index.ts +168 -63
  405. package/src/utils/contentHash.ts +24 -22
  406. package/src/utils/createReverseNode.ts +1 -1
  407. package/src/utils/fuses.ts +52 -4
  408. package/src/utils/labels.ts +6 -4
  409. package/src/utils/normalise.ts +11 -5
  410. package/src/utils/recordHelpers.ts +52 -20
  411. package/src/utils/registerHelpers.ts +112 -53
  412. package/src/utils/validation.ts +8 -9
  413. package/src/utils/wrapperExpiry.ts +29 -0
  414. package/src/utils/writeTx.ts +16 -0
  415. package/dist/cjs/GqlManager.d.ts +0 -6
  416. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  417. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  418. package/dist/cjs/contracts/index.d.ts +0 -16
  419. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  420. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  421. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  422. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  423. package/dist/cjs/functions/createSubname.d.ts +0 -19
  424. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  425. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  426. package/dist/cjs/functions/getHistory.d.ts +0 -54
  427. package/dist/cjs/functions/getProfile.d.ts +0 -30
  428. package/dist/cjs/functions/getRecords.d.ts +0 -32
  429. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  430. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  431. package/dist/cjs/functions/setName.d.ts +0 -4
  432. package/dist/cjs/functions/setRecords.d.ts +0 -3
  433. package/dist/cjs/functions/setResolver.d.ts +0 -4
  434. package/dist/cjs/functions/transferName.d.ts +0 -5
  435. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  436. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  437. package/dist/cjs/functions/wrapName.d.ts +0 -6
  438. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  439. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  440. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  441. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  442. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  443. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  444. package/dist/cjs/generated/Multicall.d.ts +0 -292
  445. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  446. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  447. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  448. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  449. package/dist/cjs/generated/Root.d.ts +0 -173
  450. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  451. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  452. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  453. package/dist/cjs/generated/common.d.ts +0 -21
  454. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  455. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  456. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  457. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  458. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  459. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  460. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  461. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  462. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  463. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  464. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  465. package/dist/cjs/generated/factories/index.d.ts +0 -6
  466. package/dist/cjs/generated/index.d.ts +0 -13
  467. package/dist/cjs/index.d.ts +0 -470
  468. package/dist/cjs/utils/fuses.d.ts +0 -20
  469. package/dist/cjs/utils/normalise.d.ts +0 -2
  470. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  471. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  472. package/dist/esm/GqlManager.d.ts +0 -6
  473. package/dist/esm/GqlManager.js +0 -18
  474. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  475. package/dist/esm/contracts/baseRegistrar.js +0 -2
  476. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  477. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  478. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  479. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  480. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  481. package/dist/esm/contracts/getContractAddress.js +0 -42
  482. package/dist/esm/contracts/index.d.ts +0 -16
  483. package/dist/esm/contracts/index.js +0 -29
  484. package/dist/esm/contracts/multicall.d.ts +0 -3
  485. package/dist/esm/contracts/multicall.js +0 -20
  486. package/dist/esm/contracts/nameWrapper.js +0 -2
  487. package/dist/esm/contracts/publicResolver.js +0 -2
  488. package/dist/esm/contracts/registry.d.ts +0 -3
  489. package/dist/esm/contracts/registry.js +0 -2
  490. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  491. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  492. package/dist/esm/contracts/types.d.ts +0 -2
  493. package/dist/esm/contracts/types.js +0 -1
  494. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  495. package/dist/esm/contracts/universalResolver.js +0 -2
  496. package/dist/esm/functions/batch.d.ts +0 -9
  497. package/dist/esm/functions/batch.js +0 -19
  498. package/dist/esm/functions/batchWrappers.js +0 -68
  499. package/dist/esm/functions/burnFuses.d.ts +0 -3
  500. package/dist/esm/functions/burnFuses.js +0 -12
  501. package/dist/esm/functions/createSubname.js +0 -38
  502. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  503. package/dist/esm/functions/deleteSubname.js +0 -3
  504. package/dist/esm/functions/getExpiry.d.ts +0 -12
  505. package/dist/esm/functions/getExpiry.js +0 -43
  506. package/dist/esm/functions/getFuses.d.ts +0 -17
  507. package/dist/esm/functions/getFuses.js +0 -60
  508. package/dist/esm/functions/getHistory.d.ts +0 -54
  509. package/dist/esm/functions/getHistory.js +0 -273
  510. package/dist/esm/functions/getName.d.ts +0 -19
  511. package/dist/esm/functions/getName.js +0 -32
  512. package/dist/esm/functions/getNames.d.ts +0 -40
  513. package/dist/esm/functions/getNames.js +0 -220
  514. package/dist/esm/functions/getOwner.d.ts +0 -14
  515. package/dist/esm/functions/getOwner.js +0 -138
  516. package/dist/esm/functions/getPrice.d.ts +0 -13
  517. package/dist/esm/functions/getPrice.js +0 -48
  518. package/dist/esm/functions/getProfile.js +0 -299
  519. package/dist/esm/functions/getRecords.js +0 -8
  520. package/dist/esm/functions/getResolver.d.ts +0 -9
  521. package/dist/esm/functions/getResolver.js +0 -22
  522. package/dist/esm/functions/getSpecificRecord.js +0 -265
  523. package/dist/esm/functions/getSubnames.js +0 -152
  524. package/dist/esm/functions/initialGetters.d.ts +0 -11
  525. package/dist/esm/functions/initialGetters.js +0 -11
  526. package/dist/esm/functions/setName.d.ts +0 -4
  527. package/dist/esm/functions/setName.js +0 -14
  528. package/dist/esm/functions/setRecords.d.ts +0 -3
  529. package/dist/esm/functions/setRecords.js +0 -19
  530. package/dist/esm/functions/setResolver.d.ts +0 -4
  531. package/dist/esm/functions/setResolver.js +0 -25
  532. package/dist/esm/functions/transferName.d.ts +0 -5
  533. package/dist/esm/functions/transferName.js +0 -31
  534. package/dist/esm/functions/transferSubname.d.ts +0 -5
  535. package/dist/esm/functions/transferSubname.js +0 -25
  536. package/dist/esm/functions/unwrapName.d.ts +0 -4
  537. package/dist/esm/functions/unwrapName.js +0 -25
  538. package/dist/esm/functions/wrapName.d.ts +0 -6
  539. package/dist/esm/functions/wrapName.js +0 -58
  540. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  541. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  542. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  543. package/dist/esm/generated/DNSRegistrar.js +0 -1
  544. package/dist/esm/generated/DNSSECImpl.js +0 -1
  545. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  546. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  547. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  548. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  549. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  550. package/dist/esm/generated/ENSRegistry.js +0 -1
  551. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  552. package/dist/esm/generated/Multicall.js +0 -1
  553. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  554. package/dist/esm/generated/NameWrapper.js +0 -1
  555. package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -72
  556. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  557. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  558. package/dist/esm/generated/PublicResolver.js +0 -1
  559. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  560. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  561. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  562. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  563. package/dist/esm/generated/Root.d.ts +0 -173
  564. package/dist/esm/generated/Root.js +0 -1
  565. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  566. package/dist/esm/generated/SHA1Digest.js +0 -1
  567. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  568. package/dist/esm/generated/SHA256Digest.d.ts +0 -67
  569. package/dist/esm/generated/SHA256Digest.js +0 -1
  570. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  571. package/dist/esm/generated/StaticMetadataService.js +0 -1
  572. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  573. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  574. package/dist/esm/generated/UniversalResolver.js +0 -1
  575. package/dist/esm/generated/common.js +0 -1
  576. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  577. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  578. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  579. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  580. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  581. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  582. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  583. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  584. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  585. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
  586. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  587. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  588. package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
  589. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  590. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
  591. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  592. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  593. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  594. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
  595. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  596. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  597. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  598. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  599. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  600. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  601. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  602. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  603. package/dist/esm/generated/factories/Root__factory.js +0 -239
  604. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  605. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  606. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  607. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  608. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  609. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  610. package/dist/esm/generated/factories/StaticMetadataService__factory.d.ts +0 -32
  611. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  612. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  613. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  614. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  615. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  616. package/dist/esm/generated/factories/index.d.ts +0 -6
  617. package/dist/esm/generated/factories/index.js +0 -9
  618. package/dist/esm/generated/index.d.ts +0 -13
  619. package/dist/esm/generated/index.js +0 -7
  620. package/dist/esm/index.js +0 -189
  621. package/dist/esm/utils/contentHash.d.ts +0 -28
  622. package/dist/esm/utils/contentHash.js +0 -153
  623. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  624. package/dist/esm/utils/createReverseNode.js +0 -1
  625. package/dist/esm/utils/format.d.ts +0 -3
  626. package/dist/esm/utils/format.js +0 -3
  627. package/dist/esm/utils/fuses.d.ts +0 -20
  628. package/dist/esm/utils/fuses.js +0 -21
  629. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  630. package/dist/esm/utils/generateFuseInput.js +0 -14
  631. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  632. package/dist/esm/utils/hexEncodedName.js +0 -2
  633. package/dist/esm/utils/labels.d.ts +0 -14
  634. package/dist/esm/utils/labels.js +0 -95
  635. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  636. package/dist/esm/utils/makeHashIndexes.js +0 -3
  637. package/dist/esm/utils/normalise.d.ts +0 -2
  638. package/dist/esm/utils/normalise.js +0 -20
  639. package/dist/esm/utils/recordHelpers.js +0 -39
  640. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  641. package/dist/esm/utils/registerHelpers.js +0 -43
  642. package/dist/esm/utils/singleCall.d.ts +0 -9
  643. package/dist/esm/utils/singleCall.js +0 -5
  644. package/dist/esm/utils/validation.d.ts +0 -8
  645. package/dist/esm/utils/validation.js +0 -67
  646. package/src/ABIs/ETHRegistrarController.json +0 -494
  647. package/src/ABIs/NameWrapper.json +0 -1183
  648. package/src/ABIs/PublicResolver.json +0 -875
  649. package/src/ABIs/ReverseRegistrar.json +0 -323
  650. package/src/ABIs/StaticMetadataService.json +0 -32
  651. package/src/ABIs/UniversalResolver.json +0 -187
  652. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  653. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  654. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  655. package/src/tests/batch.test.ts +0 -36
  656. package/src/tests/batchWrappers.test.ts +0 -31
  657. package/src/tests/burnFuses.test.ts +0 -44
  658. package/src/tests/deleteSubname.test.ts +0 -71
  659. package/src/tests/getExpiry.test.ts +0 -37
  660. package/src/tests/getFuses.test.ts +0 -103
  661. package/src/tests/getHistory.test.ts +0 -101
  662. package/src/tests/getNames.test.ts +0 -247
  663. package/src/tests/getOwner.test.ts +0 -71
  664. package/src/tests/getResolver.test.ts +0 -19
  665. package/src/tests/getSubnames.test.ts +0 -31
  666. package/src/tests/setup.ts +0 -53
  667. package/src/tests/transferName.test.ts +0 -81
  668. package/src/tests/transferSubname.test.ts +0 -73
  669. package/src/tests/unwrapName.test.ts +0 -68
  670. package/src/tests/withProvider.test.ts +0 -28
  671. package/src/tests/wrapName.test.ts +0 -64
@@ -3,6 +3,7 @@ import { ethers } from 'ethers'
3
3
  import { ENSArgs } from '..'
4
4
  import { decodeContenthash, DecodedContentHash } from '../utils/contentHash'
5
5
  import { hexEncodeName } from '../utils/hexEncodedName'
6
+ import { namehash } from '../utils/normalise'
6
7
  import { parseInputType } from '../utils/validation'
7
8
 
8
9
  type InternalProfileOptions = {
@@ -53,8 +54,8 @@ const makeMulticallData = async (
53
54
  options: InternalProfileOptions,
54
55
  ) => {
55
56
  let calls: any[] = []
56
- options.texts &&
57
- (calls = [
57
+ if (options.texts)
58
+ calls = [
58
59
  ...calls,
59
60
  ...(await Promise.all(
60
61
  options.texts.map(async (x) => ({
@@ -63,9 +64,10 @@ const makeMulticallData = async (
63
64
  type: 'text',
64
65
  })),
65
66
  )),
66
- ])
67
- options.coinTypes &&
68
- (calls = [
67
+ ]
68
+
69
+ if (options.coinTypes)
70
+ calls = [
69
71
  ...calls,
70
72
  ...(await Promise.all(
71
73
  options.coinTypes.map(async (x) => ({
@@ -74,7 +76,8 @@ const makeMulticallData = async (
74
76
  type: 'addr',
75
77
  })),
76
78
  )),
77
- ])
79
+ ]
80
+
78
81
  if (typeof options.contentHash === 'boolean' && options.contentHash) {
79
82
  calls.push({
80
83
  key: 'contentHash',
@@ -118,71 +121,6 @@ const fetchWithoutResolverMulticall = async (
118
121
  )
119
122
  }
120
123
 
121
- const getDataForName = async (
122
- {
123
- contracts,
124
- _getAddr,
125
- _getContentHash,
126
- _getText,
127
- resolverMulticallWrapper,
128
- multicallWrapper,
129
- }: ENSArgs<
130
- | 'contracts'
131
- | '_getText'
132
- | '_getAddr'
133
- | '_getContentHash'
134
- | 'resolverMulticallWrapper'
135
- | 'multicallWrapper'
136
- >,
137
- name: string,
138
- options: InternalProfileOptions,
139
- fallbackResolver: string,
140
- ) => {
141
- const universalResolver = await contracts?.getUniversalResolver()
142
-
143
- const { data, calls } = await makeMulticallData(
144
- { _getAddr, _getContentHash, _getText, resolverMulticallWrapper },
145
- name,
146
- options,
147
- )
148
-
149
- let resolvedData: any
150
- let useFallbackResolver = false
151
- try {
152
- resolvedData = await universalResolver?.resolve(hexEncodeName(name), data)
153
- } catch {
154
- useFallbackResolver = true
155
- }
156
-
157
- let resolverAddress: string
158
- let recordData: any
159
-
160
- if (useFallbackResolver) {
161
- resolverAddress = fallbackResolver
162
- recordData = await fetchWithoutResolverMulticall(
163
- { multicallWrapper },
164
- calls,
165
- resolverAddress,
166
- )
167
- } else {
168
- resolverAddress = resolvedData['1']
169
- ;[recordData] = await resolverMulticallWrapper.decode(resolvedData['0'])
170
- }
171
-
172
- const matchAddress = recordData[calls.findIndex((x) => x.key === '60')]
173
-
174
- return {
175
- address: matchAddress && (await _getAddr.decode(matchAddress)),
176
- records: await formatRecords(
177
- { _getAddr, _getContentHash, _getText },
178
- recordData,
179
- calls,
180
- options,
181
- ),
182
- resolverAddress,
183
- }
184
- }
185
-
186
124
  const formatRecords = async (
187
125
  {
188
126
  _getText,
@@ -193,7 +131,7 @@ const formatRecords = async (
193
131
  calls: any[],
194
132
  options: InternalProfileOptions,
195
133
  ) => {
196
- let returnedRecords: DataItem[] = (
134
+ const returnedRecords: DataItem[] = (
197
135
  await Promise.all(
198
136
  data.map(async (item: string, i: number) => {
199
137
  let decodedFromAbi: any
@@ -202,10 +140,10 @@ const formatRecords = async (
202
140
  type: calls[i].type,
203
141
  }
204
142
  if (itemRet.type === 'contenthash') {
205
- decodedFromAbi = ethers.utils.defaultAbiCoder.decode(
143
+ ;[decodedFromAbi] = ethers.utils.defaultAbiCoder.decode(
206
144
  ['bytes'],
207
145
  item,
208
- )[0]
146
+ )
209
147
  if (ethers.utils.hexStripZeros(decodedFromAbi) === '0x') {
210
148
  return
211
149
  }
@@ -239,9 +177,11 @@ const formatRecords = async (
239
177
  ...itemRet,
240
178
  value: await _getContentHash.decode(item),
241
179
  }
180
+ break
242
181
  } catch {
243
182
  return
244
183
  }
184
+ // no default
245
185
  }
246
186
  return itemRet
247
187
  }),
@@ -252,7 +192,7 @@ const formatRecords = async (
252
192
  })
253
193
  .filter((x) => x)
254
194
 
255
- let returnedResponse: {
195
+ const returnedResponse: {
256
196
  contentHash?: string | null | DecodedContentHash
257
197
  coinTypes?: DataItem[]
258
198
  texts?: DataItem[]
@@ -294,14 +234,95 @@ const formatRecords = async (
294
234
  return returnedResponse
295
235
  }
296
236
 
237
+ const getDataForName = async (
238
+ {
239
+ contracts,
240
+ _getAddr,
241
+ _getContentHash,
242
+ _getText,
243
+ resolverMulticallWrapper,
244
+ multicallWrapper,
245
+ }: ENSArgs<
246
+ | 'contracts'
247
+ | '_getText'
248
+ | '_getAddr'
249
+ | '_getContentHash'
250
+ | 'resolverMulticallWrapper'
251
+ | 'multicallWrapper'
252
+ >,
253
+ name: string,
254
+ options: InternalProfileOptions,
255
+ fallbackResolver?: string,
256
+ specificResolver?: string,
257
+ ) => {
258
+ const universalResolver = await contracts?.getUniversalResolver()
259
+
260
+ const { data, calls } = await makeMulticallData(
261
+ { _getAddr, _getContentHash, _getText, resolverMulticallWrapper },
262
+ name,
263
+ options,
264
+ )
265
+
266
+ let resolvedData: any
267
+ let useFallbackResolver = false
268
+ try {
269
+ if (specificResolver) {
270
+ const publicResolver = await contracts?.getPublicResolver(
271
+ undefined,
272
+ specificResolver,
273
+ )
274
+ resolvedData = await publicResolver?.callStatic.multicall(
275
+ calls.map((x) => x.data),
276
+ )
277
+ } else {
278
+ resolvedData = await universalResolver?.resolve(hexEncodeName(name), data)
279
+ }
280
+ } catch {
281
+ useFallbackResolver = true
282
+ }
283
+
284
+ let resolverAddress: string
285
+ let recordData: any
286
+
287
+ if (useFallbackResolver) {
288
+ resolverAddress = specificResolver || fallbackResolver!
289
+ recordData = await fetchWithoutResolverMulticall(
290
+ { multicallWrapper },
291
+ calls,
292
+ resolverAddress,
293
+ )
294
+ } else {
295
+ resolverAddress = specificResolver || resolvedData['1']
296
+ if (specificResolver) {
297
+ recordData = resolvedData
298
+ } else {
299
+ ;[recordData] = await resolverMulticallWrapper.decode(resolvedData['0'])
300
+ }
301
+ }
302
+
303
+ const matchAddress = recordData[calls.findIndex((x) => x.key === '60')]
304
+
305
+ return {
306
+ address: matchAddress && (await _getAddr.decode(matchAddress)),
307
+ records: await formatRecords(
308
+ { _getAddr, _getContentHash, _getText },
309
+ recordData,
310
+ calls,
311
+ options,
312
+ ),
313
+ resolverAddress,
314
+ }
315
+ }
316
+
297
317
  const graphFetch = async (
298
318
  { gqlInstance }: ENSArgs<'gqlInstance'>,
299
319
  name: string,
300
320
  wantedRecords?: ProfileOptions,
321
+ resolverAddress?: string,
301
322
  ) => {
302
323
  const query = gqlInstance.gql`
303
- query getRecords($name: String!) {
304
- domains(where: { name: $name }) {
324
+ query getRecords($id: String!) {
325
+ domain(id: $id) {
305
326
  isMigrated
306
327
  createdAt
307
328
  resolver {
@@ -317,15 +338,46 @@ const graphFetch = async (
317
338
  }
318
339
  `
319
340
 
320
- const client = gqlInstance.client
341
+ const customResolverQuery = gqlInstance.gql`
342
+ query getRecordsWithCustomResolver($id: String!, $resolverId: String!) {
343
+ domain(id: $id) {
344
+ isMigrated
345
+ createdAt
346
+ }
347
+ resolver(id: $resolverId) {
348
+ texts
349
+ coinTypes
350
+ contentHash
351
+ addr {
352
+ id
353
+ }
354
+ }
355
+ }
356
+ `
357
+
358
+ const { client } = gqlInstance
321
359
 
322
- const { domains } = await client.request(query, { name })
360
+ const id = namehash(name)
361
+
362
+ let domain: any
363
+ let resolverResponse: any
364
+
365
+ if (!resolverAddress) {
366
+ ;({ domain } = await client.request(query, { id }))
367
+ resolverResponse = domain?.resolver
368
+ } else {
369
+ const resolverId = `${resolverAddress.toLowerCase()}-${id}`
370
+ ;({ resolver: resolverResponse, domain } = await client.request(
371
+ customResolverQuery,
372
+ { id, resolverId },
373
+ ))
374
+ }
323
375
 
324
- if (!domains || domains.length === 0) return
376
+ if (!domain) return
325
377
 
326
- const [{ resolver: resolverResponse, isMigrated, createdAt }] = domains
378
+ const { isMigrated, createdAt } = domain
327
379
 
328
- let returnedRecords: ProfileResponse = {}
380
+ const returnedRecords: ProfileResponse = {}
329
381
 
330
382
  if (!resolverResponse) return { isMigrated, createdAt }
331
383
 
@@ -333,7 +385,7 @@ const graphFetch = async (
333
385
  return {
334
386
  isMigrated,
335
387
  createdAt,
336
- graphResolverAddress: resolverResponse.address,
388
+ graphResolverAddress: resolverResponse.address || resolverAddress,
337
389
  }
338
390
 
339
391
  Object.keys(wantedRecords).forEach((key: string) => {
@@ -351,7 +403,7 @@ const graphFetch = async (
351
403
  ...returnedRecords,
352
404
  isMigrated,
353
405
  createdAt,
354
- graphResolverAddress: resolverResponse.address,
406
+ graphResolverAddress: resolverResponse.address || resolverAddress,
355
407
  }
356
408
  }
357
409
 
@@ -361,6 +413,10 @@ type ProfileOptions = {
361
413
  coinTypes?: boolean | string[]
362
414
  }
363
415
 
416
+ type InputProfileOptions = ProfileOptions & {
417
+ resolverAddress?: string
418
+ }
419
+
364
420
  const getProfileFromName = async (
365
421
  {
366
422
  contracts,
@@ -380,13 +436,22 @@ const getProfileFromName = async (
380
436
  | 'multicallWrapper'
381
437
  >,
382
438
  name: string,
383
- options?: ProfileOptions,
439
+ options?: InputProfileOptions,
384
440
  ) => {
385
- const usingOptions =
386
- !options || options?.texts === true || options?.coinTypes === true
387
- ? options || { contentHash: true, texts: true, coinTypes: true }
388
- : undefined
389
- const graphResult = await graphFetch({ gqlInstance }, name, usingOptions)
441
+ const { resolverAddress, ..._options } = options || {}
442
+ const optsLength = Object.keys(_options).length
443
+ let usingOptions: InputProfileOptions | undefined
444
+ if (!optsLength || _options?.texts === true || _options?.coinTypes === true) {
445
+ if (optsLength) usingOptions = _options
446
+ else usingOptions = { contentHash: true, texts: true, coinTypes: true }
447
+ }
448
+
449
+ const graphResult = await graphFetch(
450
+ { gqlInstance },
451
+ name,
452
+ usingOptions,
453
+ resolverAddress,
454
+ )
390
455
  if (!graphResult) return
391
456
  const {
392
457
  isMigrated,
@@ -398,7 +463,7 @@ const getProfileFromName = async (
398
463
  createdAt: string
399
464
  graphResolverAddress?: string
400
465
  } & InternalProfileOptions = graphResult
401
- if (!graphResolverAddress)
466
+ if (!graphResolverAddress && !options?.resolverAddress)
402
467
  return { isMigrated, createdAt, message: "Name doesn't have a resolver" }
403
468
  const result = await getDataForName(
404
469
  {
@@ -412,6 +477,7 @@ const getProfileFromName = async (
412
477
  name,
413
478
  usingOptions ? wantedRecords : (options as InternalProfileOptions),
414
479
  graphResolverAddress,
480
+ options?.resolverAddress!,
415
481
  )
416
482
  if (!result)
417
483
  return { isMigrated, createdAt, message: "Records fetch didn't complete" }
@@ -439,7 +505,7 @@ const getProfileFromAddress = async (
439
505
  | 'multicallWrapper'
440
506
  >,
441
507
  address: string,
442
- options?: ProfileOptions,
508
+ options?: InputProfileOptions,
443
509
  ) => {
444
510
  let name
445
511
  try {
@@ -492,15 +558,14 @@ export default async function (
492
558
  | 'multicallWrapper'
493
559
  >,
494
560
  nameOrAddress: string,
495
- options?: ProfileOptions,
561
+ options?: InputProfileOptions,
496
562
  ): Promise<ResolvedProfile | undefined> {
497
563
  if (options && options.coinTypes && typeof options.coinTypes !== 'boolean') {
498
564
  options.coinTypes = options.coinTypes.map((coin: string) => {
499
- if (!isNaN(parseInt(coin))) {
565
+ if (!Number.isNaN(parseInt(coin))) {
500
566
  return coin
501
- } else {
502
- return `${formatsByName[coin.toUpperCase()].coinType}`
503
567
  }
568
+ return `${formatsByName[coin.toUpperCase()].coinType}`
504
569
  })
505
570
  }
506
571
 
@@ -5,6 +5,7 @@ type ProfileOptions = {
5
5
  contentHash?: boolean
6
6
  texts?: boolean | string[]
7
7
  coinTypes?: boolean | string[]
8
+ resolverAddress?: string
8
9
  }
9
10
 
10
11
  export default async function (
@@ -18,5 +19,5 @@ export default async function (
18
19
  throw new Error('Input must be an ENS name')
19
20
  }
20
21
 
21
- return await getProfile(name, options)
22
+ return getProfile(name, options)
22
23
  }
@@ -0,0 +1,15 @@
1
+ import { ENS } from '..'
2
+ import setup from '../tests/setup'
3
+
4
+ let ensInstance: ENS
5
+
6
+ beforeAll(async () => {
7
+ ;({ ensInstance } = await setup())
8
+ })
9
+
10
+ describe('getResolver', () => {
11
+ it('should find the resolver for a name with a resolver', async () => {
12
+ const result = await ensInstance.getResolver('with-profile.eth')
13
+ expect(result).toBe('0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8')
14
+ })
15
+ })
@@ -1,24 +1,24 @@
1
1
  import { ENS } from '..'
2
- import setup from './setup'
2
+ import setup from '../tests/setup'
3
3
 
4
- let ENSInstance: ENS
4
+ let ensInstance: ENS
5
5
 
6
6
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
7
+ ;({ ensInstance } = await setup())
8
8
  })
9
9
 
10
10
  describe('getSpecificRecord', () => {
11
11
  describe('getContentHash', () => {
12
12
  it('should return null for a non-existent name', async () => {
13
- const result = await ENSInstance.getContentHash('test123123cool.eth')
13
+ const result = await ensInstance.getContentHash('test123123cool.eth')
14
14
  expect(result).toBeUndefined()
15
15
  })
16
16
  it('should return null for a name with no contenthash record', async () => {
17
- const result = await ENSInstance.getContentHash('jefflau.eth')
17
+ const result = await ensInstance.getContentHash('with-profile.eth')
18
18
  expect(result).toBeUndefined()
19
19
  })
20
20
  it('should return the contenthash for a name with the record set', async () => {
21
- const result = await ENSInstance.getContentHash('matoken.eth')
21
+ const result = await ensInstance.getContentHash('with-contenthash.eth')
22
22
  expect(result).toMatchObject({
23
23
  protocolType: 'ipfs',
24
24
  decoded: 'bafybeico3uuyj3vphxpvbowchdwjlrlrh62awxscrnii7w7flu5z6fk77y',
@@ -29,13 +29,16 @@ describe('getSpecificRecord', () => {
29
29
 
30
30
  describe('getText', () => {
31
31
  it('should return a record from a key', async () => {
32
- const result = await ENSInstance.getText('jefflau.eth', 'description')
32
+ const result = await ensInstance.getText(
33
+ 'with-profile.eth',
34
+ 'description',
35
+ )
33
36
  expect(result).toBe('Hello2')
34
37
  })
35
38
 
36
39
  it('should return null for a non-existent key', async () => {
37
- const result = await ENSInstance.getText(
38
- 'jefflau.eth',
40
+ const result = await ensInstance.getText(
41
+ 'with-profile.eth',
39
42
  'thiskeydoesntexist',
40
43
  )
41
44
  expect(result).toBeUndefined()
@@ -44,32 +47,32 @@ describe('getSpecificRecord', () => {
44
47
 
45
48
  describe('getAddr', () => {
46
49
  it('should return the ETH addr record if no coinType is provided', async () => {
47
- const result = await ENSInstance.getAddr('jefflau.eth')
48
- expect(result).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
50
+ const result = await ensInstance.getAddr('with-profile.eth')
51
+ expect(result).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
49
52
  })
50
53
  it('should return the correct address based on a coin ID input as a number', async () => {
51
- const result = await ENSInstance.getAddr('jefflau.eth', 61)
54
+ const result = await ensInstance.getAddr('with-profile.eth', 61)
52
55
  expect((result as any).addr).toBe(
53
- '0x866B3c4994e1416B7C738B9818b31dC246b95eEE',
56
+ '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
54
57
  )
55
58
  expect((result as any).coin).toBe('ETC')
56
59
  })
57
60
  it('should return the correct address based on a coin ID input as a string', async () => {
58
- const result = await ENSInstance.getAddr('jefflau.eth', '61')
61
+ const result = await ensInstance.getAddr('with-profile.eth', '61')
59
62
  expect((result as any).addr).toBe(
60
- '0x866B3c4994e1416B7C738B9818b31dC246b95eEE',
63
+ '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
61
64
  )
62
65
  expect((result as any).coin).toBe('ETC')
63
66
  })
64
67
  it('should return the correct address based on a coin name', async () => {
65
- const result = await ENSInstance.getAddr('jefflau.eth', 'ETC')
68
+ const result = await ensInstance.getAddr('with-profile.eth', 'ETC')
66
69
  expect((result as any).addr).toBe(
67
- '0x866B3c4994e1416B7C738B9818b31dC246b95eEE',
70
+ '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC',
68
71
  )
69
72
  expect((result as any).coin).toBe('ETC')
70
73
  })
71
74
  it('should return null for a non-existent coin', async () => {
72
- const result = await ENSInstance.getAddr('jefflau.eth', 'BNB')
75
+ const result = await ensInstance.getAddr('with-profile.eth', 'BNB')
73
76
  expect(result).toBeUndefined()
74
77
  })
75
78
  })