@ensdomains/ensjs 2.1.0 → 3.0.0-alpha.1

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 (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +649 -99
  3. package/dist/cjs/GqlManager.d.ts +6 -0
  4. package/dist/cjs/GqlManager.js +42 -0
  5. package/dist/cjs/contracts/baseRegistrar.d.ts +3 -0
  6. package/dist/cjs/contracts/baseRegistrar.js +4 -0
  7. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +3 -0
  8. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +4 -0
  9. package/dist/cjs/contracts/ethRegistrarController.d.ts +3 -0
  10. package/dist/cjs/contracts/ethRegistrarController.js +4 -0
  11. package/dist/cjs/contracts/getContractAddress.d.ts +3 -0
  12. package/dist/cjs/contracts/getContractAddress.js +46 -0
  13. package/dist/cjs/contracts/index.d.ts +16 -0
  14. package/dist/cjs/contracts/index.js +37 -0
  15. package/dist/cjs/contracts/multicall.d.ts +3 -0
  16. package/dist/cjs/contracts/multicall.js +22 -0
  17. package/dist/cjs/contracts/nameWrapper.d.ts +3 -0
  18. package/dist/cjs/contracts/nameWrapper.js +4 -0
  19. package/dist/cjs/contracts/publicResolver.d.ts +3 -0
  20. package/dist/cjs/contracts/publicResolver.js +4 -0
  21. package/dist/cjs/contracts/registry.d.ts +3 -0
  22. package/dist/cjs/contracts/registry.js +4 -0
  23. package/dist/cjs/contracts/reverseRegistrar.d.ts +3 -0
  24. package/dist/cjs/contracts/reverseRegistrar.js +4 -0
  25. package/dist/cjs/contracts/types.d.ts +2 -0
  26. package/dist/cjs/contracts/types.js +2 -0
  27. package/dist/cjs/contracts/universalResolver.d.ts +3 -0
  28. package/dist/cjs/contracts/universalResolver.js +4 -0
  29. package/dist/cjs/functions/batch.d.ts +9 -0
  30. package/dist/cjs/functions/batch.js +21 -0
  31. package/dist/cjs/functions/batchWrappers.d.ts +29 -0
  32. package/dist/cjs/functions/batchWrappers.js +71 -0
  33. package/dist/cjs/functions/burnFuses.d.ts +4 -0
  34. package/dist/cjs/functions/burnFuses.js +18 -0
  35. package/dist/cjs/functions/createSubname.d.ts +19 -0
  36. package/dist/cjs/functions/createSubname.js +43 -0
  37. package/dist/cjs/functions/deleteSubname.d.ts +4 -0
  38. package/dist/cjs/functions/deleteSubname.js +6 -0
  39. package/dist/cjs/functions/getExpiry.d.ts +12 -0
  40. package/dist/cjs/functions/getExpiry.js +45 -0
  41. package/dist/cjs/functions/getFuses.d.ts +17 -0
  42. package/dist/cjs/functions/getFuses.js +61 -0
  43. package/dist/cjs/functions/getHistory.d.ts +54 -0
  44. package/dist/cjs/functions/getHistory.js +279 -0
  45. package/dist/cjs/functions/getName.d.ts +19 -0
  46. package/dist/cjs/functions/getName.js +34 -0
  47. package/dist/cjs/functions/getNames.d.ts +40 -0
  48. package/dist/cjs/functions/getNames.js +222 -0
  49. package/dist/cjs/functions/getOwner.d.ts +14 -0
  50. package/dist/cjs/functions/getOwner.js +139 -0
  51. package/dist/cjs/functions/getPrice.d.ts +13 -0
  52. package/dist/cjs/functions/getPrice.js +50 -0
  53. package/dist/cjs/functions/getProfile.d.ts +30 -0
  54. package/dist/cjs/functions/getProfile.js +268 -0
  55. package/dist/cjs/functions/getRecords.d.ts +32 -0
  56. package/dist/cjs/functions/getRecords.js +11 -0
  57. package/dist/cjs/functions/getResolver.d.ts +9 -0
  58. package/dist/cjs/functions/getResolver.js +24 -0
  59. package/dist/cjs/functions/getSpecificRecord.d.ts +73 -0
  60. package/dist/cjs/functions/getSpecificRecord.js +251 -0
  61. package/dist/cjs/functions/getSubnames.d.ts +26 -0
  62. package/dist/cjs/functions/getSubnames.js +154 -0
  63. package/dist/cjs/functions/initialGetters.d.ts +11 -0
  64. package/dist/cjs/functions/initialGetters.js +40 -0
  65. package/dist/cjs/functions/setName.d.ts +4 -0
  66. package/dist/cjs/functions/setName.js +17 -0
  67. package/dist/cjs/functions/setRecords.d.ts +4 -0
  68. package/dist/cjs/functions/setRecords.js +22 -0
  69. package/dist/cjs/functions/setResolver.d.ts +5 -0
  70. package/dist/cjs/functions/setResolver.js +28 -0
  71. package/dist/cjs/functions/transferName.d.ts +5 -0
  72. package/dist/cjs/functions/transferName.js +33 -0
  73. package/dist/cjs/functions/transferSubname.d.ts +5 -0
  74. package/dist/cjs/functions/transferSubname.js +27 -0
  75. package/dist/cjs/functions/unwrapName.d.ts +4 -0
  76. package/dist/cjs/functions/unwrapName.js +27 -0
  77. package/dist/cjs/functions/wrapName.d.ts +6 -0
  78. package/dist/cjs/functions/wrapName.js +64 -0
  79. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +487 -0
  80. package/dist/cjs/generated/BaseRegistrarImplementation.js +2 -0
  81. package/dist/cjs/generated/DNSRegistrar.d.ts +220 -0
  82. package/dist/cjs/generated/DNSRegistrar.js +2 -0
  83. package/dist/cjs/generated/DNSSECImpl.d.ts +402 -0
  84. package/dist/cjs/generated/DNSSECImpl.js +2 -0
  85. package/dist/cjs/generated/DefaultReverseResolver.d.ts +66 -0
  86. package/dist/cjs/generated/DefaultReverseResolver.js +2 -0
  87. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +144 -0
  88. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +2 -0
  89. package/dist/cjs/generated/ENSRegistry.d.ts +259 -0
  90. package/dist/cjs/generated/ENSRegistry.js +2 -0
  91. package/dist/cjs/generated/ETHRegistrarController.d.ts +319 -0
  92. package/dist/cjs/generated/ETHRegistrarController.js +2 -0
  93. package/dist/cjs/generated/Multicall.d.ts +292 -0
  94. package/dist/cjs/generated/Multicall.js +2 -0
  95. package/dist/cjs/generated/NameWrapper.d.ts +675 -0
  96. package/dist/cjs/generated/NameWrapper.js +2 -0
  97. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +72 -0
  98. package/dist/cjs/generated/P256SHA256Algorithm.js +2 -0
  99. package/dist/cjs/generated/PublicResolver.d.ts +542 -0
  100. package/dist/cjs/generated/PublicResolver.js +2 -0
  101. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +42 -0
  102. package/dist/cjs/generated/RSASHA1Algorithm.js +2 -0
  103. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +42 -0
  104. package/dist/cjs/generated/RSASHA256Algorithm.js +2 -0
  105. package/dist/cjs/generated/ReverseRegistrar.d.ts +259 -0
  106. package/dist/cjs/generated/ReverseRegistrar.js +2 -0
  107. package/dist/cjs/generated/Root.d.ts +173 -0
  108. package/dist/cjs/generated/Root.js +2 -0
  109. package/dist/cjs/generated/SHA1Digest.d.ts +67 -0
  110. package/dist/cjs/generated/SHA1Digest.js +2 -0
  111. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +72 -0
  112. package/dist/cjs/generated/SHA1NSEC3Digest.js +2 -0
  113. package/dist/cjs/generated/SHA256Digest.d.ts +67 -0
  114. package/dist/cjs/generated/SHA256Digest.js +2 -0
  115. package/dist/cjs/generated/StaticMetadataService.d.ts +42 -0
  116. package/dist/cjs/generated/StaticMetadataService.js +2 -0
  117. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +42 -0
  118. package/dist/cjs/generated/TLDPublicSuffixList.js +2 -0
  119. package/dist/cjs/generated/UniversalResolver.d.ts +82 -0
  120. package/dist/cjs/generated/UniversalResolver.js +2 -0
  121. package/dist/cjs/generated/common.d.ts +21 -0
  122. package/dist/cjs/generated/common.js +2 -0
  123. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.d.ts +52 -0
  124. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +770 -0
  125. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +79 -0
  126. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +296 -0
  127. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +68 -0
  128. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +501 -0
  129. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +36 -0
  130. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +87 -0
  131. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +56 -0
  132. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +171 -0
  133. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +52 -0
  134. package/dist/cjs/generated/factories/ENSRegistry__factory.js +439 -0
  135. package/dist/cjs/generated/factories/ETHRegistrarController__factory.d.ts +66 -0
  136. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +511 -0
  137. package/dist/cjs/generated/factories/Multicall__factory.d.ts +42 -0
  138. package/dist/cjs/generated/factories/Multicall__factory.js +457 -0
  139. package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +57 -0
  140. package/dist/cjs/generated/factories/NameWrapper__factory.js +1200 -0
  141. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +34 -0
  142. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +71 -0
  143. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +46 -0
  144. package/dist/cjs/generated/factories/PublicResolver__factory.js +892 -0
  145. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +34 -0
  146. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +71 -0
  147. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +34 -0
  148. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +71 -0
  149. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +46 -0
  150. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +340 -0
  151. package/dist/cjs/generated/factories/Root__factory.d.ts +52 -0
  152. package/dist/cjs/generated/factories/Root__factory.js +243 -0
  153. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +34 -0
  154. package/dist/cjs/generated/factories/SHA1Digest__factory.js +66 -0
  155. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +34 -0
  156. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +71 -0
  157. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +34 -0
  158. package/dist/cjs/generated/factories/SHA256Digest__factory.js +66 -0
  159. package/dist/cjs/generated/factories/StaticMetadataService__factory.d.ts +32 -0
  160. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +49 -0
  161. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +34 -0
  162. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +61 -0
  163. package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +42 -0
  164. package/dist/cjs/generated/factories/UniversalResolver__factory.js +204 -0
  165. package/dist/cjs/generated/factories/index.d.ts +6 -0
  166. package/dist/cjs/generated/factories/index.js +18 -0
  167. package/dist/cjs/generated/index.d.ts +13 -0
  168. package/dist/cjs/generated/index.js +39 -0
  169. package/dist/cjs/index.d.ts +470 -0
  170. package/dist/cjs/index.js +223 -0
  171. package/dist/cjs/utils/contentHash.d.ts +28 -0
  172. package/dist/cjs/utils/contentHash.js +164 -0
  173. package/dist/cjs/utils/createReverseNode.d.ts +2 -0
  174. package/dist/cjs/utils/createReverseNode.js +3 -0
  175. package/dist/cjs/utils/format.d.ts +3 -0
  176. package/dist/cjs/utils/format.js +9 -0
  177. package/dist/cjs/utils/fuses.d.ts +20 -0
  178. package/dist/cjs/utils/fuses.js +24 -0
  179. package/dist/cjs/utils/generateFuseInput.d.ts +3 -0
  180. package/dist/cjs/utils/generateFuseInput.js +19 -0
  181. package/dist/cjs/utils/hexEncodedName.d.ts +1 -0
  182. package/dist/cjs/utils/hexEncodedName.js +9 -0
  183. package/dist/cjs/utils/labels.d.ts +14 -0
  184. package/dist/cjs/utils/labels.js +112 -0
  185. package/dist/cjs/utils/makeHashIndexes.d.ts +2 -0
  186. package/dist/cjs/utils/makeHashIndexes.js +8 -0
  187. package/dist/cjs/utils/normalise.d.ts +1 -0
  188. package/dist/cjs/utils/normalise.js +9 -0
  189. package/dist/cjs/utils/recordHelpers.d.ts +13 -0
  190. package/dist/cjs/utils/recordHelpers.js +44 -0
  191. package/dist/cjs/utils/registerHelpers.d.ts +26 -0
  192. package/dist/cjs/utils/registerHelpers.js +53 -0
  193. package/dist/cjs/utils/singleCall.d.ts +9 -0
  194. package/dist/cjs/utils/singleCall.js +7 -0
  195. package/dist/cjs/utils/validation.d.ts +8 -0
  196. package/dist/cjs/utils/validation.js +73 -0
  197. package/dist/esm/GqlManager.d.ts +6 -0
  198. package/dist/esm/GqlManager.js +18 -0
  199. package/dist/esm/contracts/baseRegistrar.d.ts +3 -0
  200. package/dist/esm/contracts/baseRegistrar.js +2 -0
  201. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +3 -0
  202. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +2 -0
  203. package/dist/esm/contracts/ethRegistrarController.d.ts +3 -0
  204. package/dist/esm/contracts/ethRegistrarController.js +2 -0
  205. package/dist/esm/contracts/getContractAddress.d.ts +3 -0
  206. package/dist/esm/contracts/getContractAddress.js +42 -0
  207. package/dist/esm/contracts/index.d.ts +16 -0
  208. package/dist/esm/contracts/index.js +29 -0
  209. package/dist/esm/contracts/multicall.d.ts +3 -0
  210. package/dist/esm/contracts/multicall.js +20 -0
  211. package/dist/esm/contracts/nameWrapper.d.ts +3 -0
  212. package/dist/esm/contracts/nameWrapper.js +2 -0
  213. package/dist/esm/contracts/publicResolver.d.ts +3 -0
  214. package/dist/esm/contracts/publicResolver.js +2 -0
  215. package/dist/esm/contracts/registry.d.ts +3 -0
  216. package/dist/esm/contracts/registry.js +2 -0
  217. package/dist/esm/contracts/reverseRegistrar.d.ts +3 -0
  218. package/dist/esm/contracts/reverseRegistrar.js +2 -0
  219. package/dist/esm/contracts/types.d.ts +2 -0
  220. package/dist/esm/contracts/types.js +1 -0
  221. package/dist/esm/contracts/universalResolver.d.ts +3 -0
  222. package/dist/esm/contracts/universalResolver.js +2 -0
  223. package/dist/esm/functions/batch.d.ts +9 -0
  224. package/dist/esm/functions/batch.js +19 -0
  225. package/dist/esm/functions/batchWrappers.d.ts +29 -0
  226. package/dist/esm/functions/batchWrappers.js +68 -0
  227. package/dist/esm/functions/burnFuses.d.ts +4 -0
  228. package/dist/esm/functions/burnFuses.js +12 -0
  229. package/dist/esm/functions/createSubname.d.ts +19 -0
  230. package/dist/esm/functions/createSubname.js +37 -0
  231. package/dist/esm/functions/deleteSubname.d.ts +4 -0
  232. package/dist/esm/functions/deleteSubname.js +3 -0
  233. package/dist/esm/functions/getExpiry.d.ts +12 -0
  234. package/dist/esm/functions/getExpiry.js +43 -0
  235. package/dist/esm/functions/getFuses.d.ts +17 -0
  236. package/dist/esm/functions/getFuses.js +59 -0
  237. package/dist/esm/functions/getHistory.d.ts +54 -0
  238. package/dist/esm/functions/getHistory.js +273 -0
  239. package/dist/esm/functions/getName.d.ts +19 -0
  240. package/dist/esm/functions/getName.js +32 -0
  241. package/dist/esm/functions/getNames.d.ts +40 -0
  242. package/dist/esm/functions/getNames.js +220 -0
  243. package/dist/esm/functions/getOwner.d.ts +14 -0
  244. package/dist/esm/functions/getOwner.js +137 -0
  245. package/dist/esm/functions/getPrice.d.ts +13 -0
  246. package/dist/esm/functions/getPrice.js +48 -0
  247. package/dist/esm/functions/getProfile.d.ts +30 -0
  248. package/dist/esm/functions/getProfile.js +265 -0
  249. package/dist/esm/functions/getRecords.d.ts +32 -0
  250. package/dist/esm/functions/getRecords.js +8 -0
  251. package/dist/esm/functions/getResolver.d.ts +9 -0
  252. package/dist/esm/functions/getResolver.js +22 -0
  253. package/dist/esm/functions/getSpecificRecord.d.ts +73 -0
  254. package/dist/esm/functions/getSpecificRecord.js +248 -0
  255. package/dist/esm/functions/getSubnames.d.ts +26 -0
  256. package/dist/esm/functions/getSubnames.js +152 -0
  257. package/dist/esm/functions/initialGetters.d.ts +11 -0
  258. package/dist/esm/functions/initialGetters.js +11 -0
  259. package/dist/esm/functions/setName.d.ts +4 -0
  260. package/dist/esm/functions/setName.js +14 -0
  261. package/dist/esm/functions/setRecords.d.ts +4 -0
  262. package/dist/esm/functions/setRecords.js +19 -0
  263. package/dist/esm/functions/setResolver.d.ts +5 -0
  264. package/dist/esm/functions/setResolver.js +25 -0
  265. package/dist/esm/functions/transferName.d.ts +5 -0
  266. package/dist/esm/functions/transferName.js +30 -0
  267. package/dist/esm/functions/transferSubname.d.ts +5 -0
  268. package/dist/esm/functions/transferSubname.js +24 -0
  269. package/dist/esm/functions/unwrapName.d.ts +4 -0
  270. package/dist/esm/functions/unwrapName.js +24 -0
  271. package/dist/esm/functions/wrapName.d.ts +6 -0
  272. package/dist/esm/functions/wrapName.js +58 -0
  273. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +487 -0
  274. package/dist/esm/generated/BaseRegistrarImplementation.js +1 -0
  275. package/dist/esm/generated/DNSRegistrar.d.ts +220 -0
  276. package/dist/esm/generated/DNSRegistrar.js +1 -0
  277. package/dist/esm/generated/DNSSECImpl.d.ts +402 -0
  278. package/dist/esm/generated/DNSSECImpl.js +1 -0
  279. package/dist/esm/generated/DefaultReverseResolver.d.ts +66 -0
  280. package/dist/esm/generated/DefaultReverseResolver.js +1 -0
  281. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +144 -0
  282. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +1 -0
  283. package/dist/esm/generated/ENSRegistry.d.ts +259 -0
  284. package/dist/esm/generated/ENSRegistry.js +1 -0
  285. package/dist/esm/generated/ETHRegistrarController.d.ts +319 -0
  286. package/dist/esm/generated/ETHRegistrarController.js +1 -0
  287. package/dist/esm/generated/Multicall.d.ts +292 -0
  288. package/dist/esm/generated/Multicall.js +1 -0
  289. package/dist/esm/generated/NameWrapper.d.ts +675 -0
  290. package/dist/esm/generated/NameWrapper.js +1 -0
  291. package/dist/esm/generated/P256SHA256Algorithm.d.ts +72 -0
  292. package/dist/esm/generated/P256SHA256Algorithm.js +1 -0
  293. package/dist/esm/generated/PublicResolver.d.ts +542 -0
  294. package/dist/esm/generated/PublicResolver.js +1 -0
  295. package/dist/esm/generated/RSASHA1Algorithm.d.ts +42 -0
  296. package/dist/esm/generated/RSASHA1Algorithm.js +1 -0
  297. package/dist/esm/generated/RSASHA256Algorithm.d.ts +42 -0
  298. package/dist/esm/generated/RSASHA256Algorithm.js +1 -0
  299. package/dist/esm/generated/ReverseRegistrar.d.ts +259 -0
  300. package/dist/esm/generated/ReverseRegistrar.js +1 -0
  301. package/dist/esm/generated/Root.d.ts +173 -0
  302. package/dist/esm/generated/Root.js +1 -0
  303. package/dist/esm/generated/SHA1Digest.d.ts +67 -0
  304. package/dist/esm/generated/SHA1Digest.js +1 -0
  305. package/dist/esm/generated/SHA1NSEC3Digest.d.ts +72 -0
  306. package/dist/esm/generated/SHA1NSEC3Digest.js +1 -0
  307. package/dist/esm/generated/SHA256Digest.d.ts +67 -0
  308. package/dist/esm/generated/SHA256Digest.js +1 -0
  309. package/dist/esm/generated/StaticMetadataService.d.ts +42 -0
  310. package/dist/esm/generated/StaticMetadataService.js +1 -0
  311. package/dist/esm/generated/TLDPublicSuffixList.d.ts +42 -0
  312. package/dist/esm/generated/TLDPublicSuffixList.js +1 -0
  313. package/dist/esm/generated/UniversalResolver.d.ts +82 -0
  314. package/dist/esm/generated/UniversalResolver.js +1 -0
  315. package/dist/esm/generated/common.d.ts +21 -0
  316. package/dist/esm/generated/common.js +1 -0
  317. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +52 -0
  318. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +766 -0
  319. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +79 -0
  320. package/dist/esm/generated/factories/DNSRegistrar__factory.js +292 -0
  321. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +68 -0
  322. package/dist/esm/generated/factories/DNSSECImpl__factory.js +497 -0
  323. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +36 -0
  324. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +83 -0
  325. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +56 -0
  326. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +167 -0
  327. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +52 -0
  328. package/dist/esm/generated/factories/ENSRegistry__factory.js +435 -0
  329. package/dist/esm/generated/factories/ETHRegistrarController__factory.d.ts +66 -0
  330. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +507 -0
  331. package/dist/esm/generated/factories/Multicall__factory.d.ts +42 -0
  332. package/dist/esm/generated/factories/Multicall__factory.js +453 -0
  333. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +57 -0
  334. package/dist/esm/generated/factories/NameWrapper__factory.js +1196 -0
  335. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +34 -0
  336. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +67 -0
  337. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +46 -0
  338. package/dist/esm/generated/factories/PublicResolver__factory.js +888 -0
  339. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +34 -0
  340. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +67 -0
  341. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +34 -0
  342. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +67 -0
  343. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +46 -0
  344. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +336 -0
  345. package/dist/esm/generated/factories/Root__factory.d.ts +52 -0
  346. package/dist/esm/generated/factories/Root__factory.js +239 -0
  347. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +34 -0
  348. package/dist/esm/generated/factories/SHA1Digest__factory.js +62 -0
  349. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +34 -0
  350. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +67 -0
  351. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +34 -0
  352. package/dist/esm/generated/factories/SHA256Digest__factory.js +62 -0
  353. package/dist/esm/generated/factories/StaticMetadataService__factory.d.ts +32 -0
  354. package/dist/esm/generated/factories/StaticMetadataService__factory.js +45 -0
  355. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +34 -0
  356. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +57 -0
  357. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +42 -0
  358. package/dist/esm/generated/factories/UniversalResolver__factory.js +200 -0
  359. package/dist/esm/generated/factories/index.d.ts +6 -0
  360. package/dist/esm/generated/factories/index.js +9 -0
  361. package/dist/esm/generated/index.d.ts +13 -0
  362. package/dist/esm/generated/index.js +7 -0
  363. package/dist/esm/index.d.ts +470 -0
  364. package/dist/esm/index.js +188 -0
  365. package/dist/esm/utils/contentHash.d.ts +28 -0
  366. package/dist/esm/utils/contentHash.js +153 -0
  367. package/dist/esm/utils/createReverseNode.d.ts +2 -0
  368. package/dist/esm/utils/createReverseNode.js +1 -0
  369. package/dist/esm/utils/format.d.ts +3 -0
  370. package/dist/esm/utils/format.js +3 -0
  371. package/dist/esm/utils/fuses.d.ts +20 -0
  372. package/dist/esm/utils/fuses.js +21 -0
  373. package/dist/esm/utils/generateFuseInput.d.ts +3 -0
  374. package/dist/esm/utils/generateFuseInput.js +14 -0
  375. package/dist/esm/utils/hexEncodedName.d.ts +1 -0
  376. package/dist/esm/utils/hexEncodedName.js +2 -0
  377. package/dist/esm/utils/labels.d.ts +14 -0
  378. package/dist/esm/utils/labels.js +95 -0
  379. package/dist/esm/utils/makeHashIndexes.d.ts +2 -0
  380. package/dist/esm/utils/makeHashIndexes.js +3 -0
  381. package/dist/esm/utils/normalise.d.ts +1 -0
  382. package/dist/esm/utils/normalise.js +2 -0
  383. package/dist/esm/utils/recordHelpers.d.ts +13 -0
  384. package/dist/esm/utils/recordHelpers.js +39 -0
  385. package/dist/esm/utils/registerHelpers.d.ts +26 -0
  386. package/dist/esm/utils/registerHelpers.js +44 -0
  387. package/dist/esm/utils/singleCall.d.ts +9 -0
  388. package/dist/esm/utils/singleCall.js +5 -0
  389. package/dist/esm/utils/validation.d.ts +8 -0
  390. package/dist/esm/utils/validation.js +67 -0
  391. package/package.json +70 -48
  392. package/src/@types/@ensdomains/content-hash.d.ts +1 -0
  393. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -0
  394. package/src/@types/FuseOptions.d.ts +9 -0
  395. package/src/@types/dns-packet.d.ts +1 -0
  396. package/src/@types/idna-uts46-hx.d.ts +1 -0
  397. package/src/ABIs/ETHRegistrarController.json +494 -0
  398. package/src/ABIs/NameWrapper.json +1183 -0
  399. package/src/ABIs/PublicResolver.json +875 -0
  400. package/src/ABIs/ReverseRegistrar.json +323 -0
  401. package/src/ABIs/StaticMetadataService.json +32 -0
  402. package/src/ABIs/UniversalResolver.json +187 -0
  403. package/src/GqlManager.ts +18 -0
  404. package/src/contracts/baseRegistrar.ts +5 -0
  405. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +5 -0
  406. package/src/contracts/ethRegistrarController.ts +5 -0
  407. package/src/contracts/getContractAddress.ts +52 -0
  408. package/src/contracts/index.ts +68 -0
  409. package/src/contracts/multicall.ts +24 -0
  410. package/src/contracts/nameWrapper.ts +5 -0
  411. package/src/contracts/publicResolver.ts +5 -0
  412. package/src/contracts/registry.ts +5 -0
  413. package/src/contracts/reverseRegistrar.ts +5 -0
  414. package/src/contracts/types.ts +11 -0
  415. package/src/contracts/universalResolver.ts +5 -0
  416. package/src/functions/batch.ts +36 -0
  417. package/src/functions/batchWrappers.ts +91 -0
  418. package/src/functions/burnFuses.ts +23 -0
  419. package/src/functions/createSubname.ts +82 -0
  420. package/src/functions/deleteSubname.ts +19 -0
  421. package/src/functions/getExpiry.ts +63 -0
  422. package/src/functions/getFuses.ts +75 -0
  423. package/src/functions/getHistory.ts +347 -0
  424. package/src/functions/getName.ts +41 -0
  425. package/src/functions/getNames.ts +275 -0
  426. package/src/functions/getOwner.ts +202 -0
  427. package/src/functions/getPrice.ts +71 -0
  428. package/src/functions/getProfile.ts +479 -0
  429. package/src/functions/getRecords.ts +22 -0
  430. package/src/functions/getResolver.ts +32 -0
  431. package/src/functions/getSpecificRecord.ts +345 -0
  432. package/src/functions/getSubnames.ts +188 -0
  433. package/src/functions/initialGetters.ts +11 -0
  434. package/src/functions/setName.ts +34 -0
  435. package/src/functions/setRecords.ts +38 -0
  436. package/src/functions/setResolver.ts +40 -0
  437. package/src/functions/transferName.ts +56 -0
  438. package/src/functions/transferSubname.ts +37 -0
  439. package/src/functions/unwrapName.ts +38 -0
  440. package/src/functions/wrapName.ts +128 -0
  441. package/src/generated/BaseRegistrarImplementation.ts +1122 -0
  442. package/src/generated/DNSRegistrar.ts +445 -0
  443. package/src/generated/DNSSECImpl.ts +770 -0
  444. package/src/generated/DefaultReverseResolver.ts +137 -0
  445. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +285 -0
  446. package/src/generated/ENSRegistry.ts +618 -0
  447. package/src/generated/ETHRegistrarController.ts +743 -0
  448. package/src/generated/Multicall.ts +582 -0
  449. package/src/generated/NameWrapper.ts +1694 -0
  450. package/src/generated/P256SHA256Algorithm.ts +139 -0
  451. package/src/generated/PublicResolver.ts +1326 -0
  452. package/src/generated/RSASHA1Algorithm.ts +109 -0
  453. package/src/generated/RSASHA256Algorithm.ts +109 -0
  454. package/src/generated/ReverseRegistrar.ts +556 -0
  455. package/src/generated/Root.ts +377 -0
  456. package/src/generated/SHA1Digest.ts +129 -0
  457. package/src/generated/SHA1NSEC3Digest.ts +140 -0
  458. package/src/generated/SHA256Digest.ts +129 -0
  459. package/src/generated/StaticMetadataService.ts +85 -0
  460. package/src/generated/TLDPublicSuffixList.ts +99 -0
  461. package/src/generated/UniversalResolver.ts +260 -0
  462. package/src/generated/common.ts +44 -0
  463. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +781 -0
  464. package/src/generated/factories/DNSRegistrar__factory.ts +329 -0
  465. package/src/generated/factories/DNSSECImpl__factory.ts +527 -0
  466. package/src/generated/factories/DefaultReverseResolver__factory.ts +98 -0
  467. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +186 -0
  468. package/src/generated/factories/ENSRegistry__factory.ts +443 -0
  469. package/src/generated/factories/ETHRegistrarController__factory.ts +522 -0
  470. package/src/generated/factories/Multicall__factory.ts +461 -0
  471. package/src/generated/factories/NameWrapper__factory.ts +1204 -0
  472. package/src/generated/factories/P256SHA256Algorithm__factory.ts +91 -0
  473. package/src/generated/factories/PublicResolver__factory.ts +899 -0
  474. package/src/generated/factories/RSASHA1Algorithm__factory.ts +91 -0
  475. package/src/generated/factories/RSASHA256Algorithm__factory.ts +91 -0
  476. package/src/generated/factories/ReverseRegistrar__factory.ts +347 -0
  477. package/src/generated/factories/Root__factory.ts +244 -0
  478. package/src/generated/factories/SHA1Digest__factory.ts +83 -0
  479. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +91 -0
  480. package/src/generated/factories/SHA256Digest__factory.ts +83 -0
  481. package/src/generated/factories/StaticMetadataService__factory.ts +60 -0
  482. package/src/generated/factories/TLDPublicSuffixList__factory.ts +81 -0
  483. package/src/generated/factories/UniversalResolver__factory.ts +211 -0
  484. package/src/generated/factories/index.ts +9 -0
  485. package/src/generated/index.ts +16 -0
  486. package/src/index.ts +506 -0
  487. package/src/tests/batch.test.ts +36 -0
  488. package/src/tests/batchWrappers.test.ts +31 -0
  489. package/src/tests/burnFuses.test.ts +43 -0
  490. package/src/tests/createSubname.test.ts +59 -0
  491. package/src/tests/deleteSubname.test.ts +72 -0
  492. package/src/tests/getExpiry.test.ts +37 -0
  493. package/src/tests/getFuses.test.ts +103 -0
  494. package/src/tests/getHistory.test.ts +101 -0
  495. package/src/tests/getName.test.ts +47 -0
  496. package/src/tests/getNames.test.ts +247 -0
  497. package/src/tests/getOwner.test.ts +61 -0
  498. package/src/tests/getProfile.test.ts +102 -0
  499. package/src/tests/getResolver.test.ts +19 -0
  500. package/src/tests/getSpecificRecord.test.ts +76 -0
  501. package/src/tests/getSubnames.test.ts +31 -0
  502. package/src/tests/makeCommitment.test.ts +23 -0
  503. package/src/tests/setName.test.ts +58 -0
  504. package/src/tests/setRecords.test.ts +58 -0
  505. package/src/tests/setResolver.test.ts +60 -0
  506. package/src/tests/setup.ts +53 -0
  507. package/src/tests/transferName.test.ts +80 -0
  508. package/src/tests/transferSubname.test.ts +74 -0
  509. package/src/tests/unwrapName.test.ts +67 -0
  510. package/src/tests/withProvider.test.ts +28 -0
  511. package/src/tests/wrapName.test.ts +67 -0
  512. package/src/utils/contentHash.ts +151 -0
  513. package/src/utils/createReverseNode.ts +2 -0
  514. package/src/utils/format.ts +8 -0
  515. package/src/utils/fuses.ts +23 -0
  516. package/src/utils/generateFuseInput.ts +18 -0
  517. package/src/utils/hexEncodedName.ts +4 -0
  518. package/src/utils/labels.ts +119 -0
  519. package/src/utils/makeHashIndexes.ts +9 -0
  520. package/src/utils/normalise.ts +4 -0
  521. package/src/utils/recordHelpers.ts +72 -0
  522. package/src/utils/registerHelpers.ts +88 -0
  523. package/src/utils/singleCall.ts +16 -0
  524. package/src/utils/validation.ts +73 -0
  525. package/dist/constants/interfaces.js +0 -13
  526. package/dist/index.js +0 -1135
  527. package/dist/utils/contents.js +0 -126
  528. package/dist/utils/index.js +0 -192
  529. package/dist/utils/labelhash.js +0 -55
  530. package/dist/utils/namehash.js +0 -39
  531. package/dist/utils/records.js +0 -56
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ENS = void 0;
30
+ const contracts_1 = __importDefault(require("./contracts"));
31
+ const getContractAddress_1 = require("./contracts/getContractAddress");
32
+ const GqlManager_1 = __importDefault(require("./GqlManager"));
33
+ const singleCall_1 = __importDefault(require("./utils/singleCall"));
34
+ const graphURIEndpoints = {
35
+ 1: 'https://api.thegraph.com/subgraphs/name/ensdomains/ens',
36
+ 3: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensropsten',
37
+ 4: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensrinkeby',
38
+ 5: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
39
+ };
40
+ class ENS {
41
+ options;
42
+ provider;
43
+ graphURI;
44
+ initialProvider;
45
+ contracts;
46
+ getContractAddress = getContractAddress_1.getContractAddress;
47
+ gqlInstance = new GqlManager_1.default();
48
+ constructor(options) {
49
+ this.options = options;
50
+ this.getContractAddress = options?.getContractAddress || getContractAddress_1.getContractAddress;
51
+ }
52
+ /**
53
+ * Checks for an initial provider and if it exists, sets it as the provider
54
+ * @returns {Promise<void>} - A promise that resolves when the provider is checked, and set if needed
55
+ */
56
+ checkInitialProvider = async () => {
57
+ if (!this.initialProvider) {
58
+ return;
59
+ }
60
+ await this.setProvider(this.initialProvider);
61
+ return;
62
+ };
63
+ /**
64
+ * Creates an object of ENS properties from an array
65
+ * @param {FunctionDeps} dependencies - An array of ENS properties
66
+ * @returns {Object} - An object of ENS properties
67
+ */
68
+ forwardDependenciesFromArray = (dependencies) =>
69
+ // Creates an object from entries of the array
70
+ Object.fromEntries(
71
+ // Maps over dependencies and create arrays for each, e.g. ['contracts', contractObj]
72
+ dependencies.map((dep) => [dep, this[dep]]));
73
+ /**
74
+ * Creates a wrapper for a function to be dynamically imported, with the correct dependencies passed in
75
+ * @param {string} path - The path of the exported function
76
+ * @param {FunctionDeps} dependencies - An array of ENS properties
77
+ * @param {string} exportName - The export name of the target function
78
+ * @param {string} subFunc - The type of function being imported
79
+ * @returns {Function} - The generated wrapped function
80
+ */
81
+ importGenerator = (path, dependencies, exportName = 'default', subFunc, passthrough) => {
82
+ // if batch is specified, create batch func
83
+ if (subFunc === 'batch') {
84
+ return (...args) => ({ args, ...passthrough });
85
+ }
86
+ const thisRef = this;
87
+ const mainFunc = async function (...args) {
88
+ // check the initial provider and set if it exists
89
+ await thisRef.checkInitialProvider();
90
+ // import the module dynamically
91
+ const mod = await Promise.resolve().then(() => __importStar(require(
92
+ /* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true */
93
+ `./functions/${path}`)));
94
+ // if combine isn't specified, run normally
95
+ // otherwise, create a function from the raw and decode functions
96
+ if (subFunc !== 'combine') {
97
+ // get the function to call
98
+ const func = subFunc ? mod[exportName][subFunc] : mod[exportName];
99
+ // get the dependencies to forward to the function as the first arg
100
+ const dependenciesToForward = thisRef.forwardDependenciesFromArray(dependencies);
101
+ // return the function with the dependencies forwarded
102
+ return func(dependenciesToForward, ...args);
103
+ }
104
+ else {
105
+ // get the dependencies to forward from raw and decode functions
106
+ const dependenciesToForward = thisRef.forwardDependenciesFromArray(dependencies);
107
+ // return singleCall function with dependencies forwarded
108
+ return (0, singleCall_1.default)(thisRef.provider, dependenciesToForward, mod[exportName], ...args);
109
+ }
110
+ };
111
+ // if subfunc is combine, add raw and decode property methods to the function
112
+ if (subFunc === 'combine') {
113
+ mainFunc.raw = this.importGenerator(path, dependencies, exportName, 'raw');
114
+ mainFunc.decode = this.importGenerator(path, dependencies, exportName, 'decode');
115
+ mainFunc.batch = this.importGenerator(path, dependencies, exportName, 'batch', { raw: mainFunc.raw, decode: mainFunc.decode });
116
+ }
117
+ return mainFunc;
118
+ };
119
+ /**
120
+ * Generates a normal wrapped function
121
+ * @param {string} path - The path of the exported function
122
+ * @param {FunctionDeps} dependencies - An array of ENS properties
123
+ * @param {string} exportName - The export name of the target function
124
+ * @returns {OmitFirstArg} - The generated wrapped function
125
+ */
126
+ generateFunction = (path, dependencies, exportName = 'default') => this.importGenerator(path, dependencies, exportName);
127
+ /**
128
+ * Generates a wrapped function from raw and decode exports
129
+ * @param {string} path - The path of the exported function
130
+ * @param {FunctionDeps} dependencies - An array of ENS properties
131
+ * @param {string} exportName - The export name of the target function
132
+ * @returns {GeneratedRawFunction} - The generated wrapped function
133
+ */
134
+ generateRawFunction = (path, dependencies, exportName = 'default') => this.importGenerator(path, dependencies, exportName, 'combine');
135
+ /**
136
+ * Sets the provider for the ENS class
137
+ * @param {ethers.providers.JsonRpcProvider} provider - The provider to set
138
+ * @returns {Promise<void>} - A promise that resolves when the provider is set
139
+ */
140
+ setProvider = async (provider) => {
141
+ this.provider = provider;
142
+ const network = (await this.provider.getNetwork()).chainId;
143
+ if (this.options && this.options.graphURI) {
144
+ this.graphURI = this.options.graphURI;
145
+ }
146
+ else {
147
+ this.graphURI = graphURIEndpoints[network];
148
+ }
149
+ await this.gqlInstance.setUrl(this.graphURI);
150
+ this.contracts = new contracts_1.default(this.provider, this.getContractAddress(String(network)));
151
+ return;
152
+ };
153
+ /**
154
+ * Creates a new ENS instance with a different provider, ideally should be used individually with any given function
155
+ * @param {ethers.providers.JsonRpcProvider} provider - The provider to use
156
+ * @returns {ENS} - A new ENS instance with the given provider
157
+ */
158
+ withProvider = (provider) => {
159
+ const newENS = new ENS(this.options);
160
+ newENS.initialProvider = provider;
161
+ return newENS;
162
+ };
163
+ batch = this.generateRawFunction('initialGetters', ['multicallWrapper'], 'batch');
164
+ getProfile = this.generateFunction('initialGetters', [
165
+ 'contracts',
166
+ 'gqlInstance',
167
+ 'getName',
168
+ 'resolverMulticallWrapper',
169
+ '_getAddr',
170
+ '_getContentHash',
171
+ '_getText',
172
+ ], 'getProfile');
173
+ getRecords = this.generateFunction('initialGetters', ['getProfile'], 'getRecords');
174
+ getName = this.generateRawFunction('initialGetters', ['contracts'], 'getName');
175
+ getResolver = this.generateRawFunction('getResolver', ['contracts']);
176
+ getFuses = this.generateRawFunction('getFuses', [
177
+ 'contracts',
178
+ ]);
179
+ getHistory = this.generateFunction('getHistory', ['gqlInstance'], 'getHistory');
180
+ getHistoryWithDetail = this.generateFunction('getHistory', ['contracts', 'gqlInstance', 'provider'], 'getHistoryWithDetail');
181
+ getHistoryDetailForTransactionHash = this.generateFunction('getHistory', ['contracts', 'provider'], 'getHistoryDetailForTransactionHash');
182
+ getContentHash = this.generateRawFunction('initialGetters', ['contracts', 'universalWrapper'], 'getContentHash');
183
+ _getContentHash = this.generateRawFunction('initialGetters', ['contracts'], '_getContentHash');
184
+ getAddr = this.generateRawFunction('initialGetters', ['contracts', 'universalWrapper'], 'getAddr');
185
+ _getAddr = this.generateRawFunction('initialGetters', ['contracts'], '_getAddr');
186
+ getText = this.generateRawFunction('initialGetters', ['contracts', 'universalWrapper'], 'getText');
187
+ _getText = this.generateRawFunction('initialGetters', ['contracts'], '_getText');
188
+ getOwner = this.generateRawFunction('initialGetters', ['contracts', 'multicallWrapper'], 'getOwner');
189
+ getExpiry = this.generateRawFunction('initialGetters', ['contracts', 'multicallWrapper'], 'getExpiry');
190
+ getSubnames = this.generateFunction('initialGetters', ['gqlInstance'], 'getSubnames');
191
+ getNames = this.generateFunction('initialGetters', ['gqlInstance'], 'getNames');
192
+ getPrice = this.generateRawFunction('initialGetters', ['contracts', 'multicallWrapper'], 'getPrice');
193
+ universalWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'universalWrapper');
194
+ resolverMulticallWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'resolverMulticallWrapper');
195
+ multicallWrapper = this.generateRawFunction('initialGetters', ['contracts'], 'multicallWrapper');
196
+ setName = this.generateFunction('setName', [
197
+ 'contracts',
198
+ 'provider',
199
+ ]);
200
+ setRecords = this.generateFunction('setRecords', [
201
+ 'contracts',
202
+ 'provider',
203
+ 'getResolver',
204
+ ]);
205
+ setResolver = this.generateFunction('setResolver', ['contracts', 'provider']);
206
+ transferName = this.generateFunction('transferName', ['contracts', 'provider']);
207
+ wrapName = this.generateFunction('wrapName', [
208
+ 'contracts',
209
+ 'provider',
210
+ ]);
211
+ unwrapName = this.generateFunction('unwrapName', [
212
+ 'contracts',
213
+ 'provider',
214
+ ]);
215
+ burnFuses = this.generateFunction('burnFuses', [
216
+ 'contracts',
217
+ 'provider',
218
+ ]);
219
+ createSubname = this.generateFunction('createSubname', ['contracts', 'provider']);
220
+ deleteSubname = this.generateFunction('deleteSubname', ['contracts', 'provider', 'transferSubname']);
221
+ transferSubname = this.generateFunction('transferSubname', ['contracts', 'provider']);
222
+ }
223
+ exports.ENS = ENS;
@@ -0,0 +1,28 @@
1
+ export declare type DecodedContentHash = {
2
+ protocolType?: any;
3
+ decoded?: any;
4
+ error?: any;
5
+ };
6
+ export declare function decodeContenthash(encoded: any): {
7
+ protocolType?: undefined;
8
+ decoded?: undefined;
9
+ error?: undefined;
10
+ } | {
11
+ protocolType: null;
12
+ decoded: any;
13
+ error?: undefined;
14
+ } | {
15
+ protocolType: string | undefined;
16
+ decoded: any;
17
+ error: any;
18
+ };
19
+ export declare function validateContent(encoded: any): any;
20
+ export declare function isValidContenthash(encoded: any): boolean | undefined;
21
+ export declare function getProtocolType(encoded: any): {
22
+ protocolType: string | undefined;
23
+ decoded: string | undefined;
24
+ } | undefined;
25
+ export declare function encodeContenthash(text: string): {
26
+ encoded: string | boolean;
27
+ error: string | undefined;
28
+ };
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.encodeContenthash = exports.getProtocolType = exports.isValidContenthash = exports.validateContent = exports.decodeContenthash = void 0;
7
+ const content_hash_1 = __importDefault(require("@ensdomains/content-hash"));
8
+ const ethers_1 = require("ethers");
9
+ const supportedCodecs = [
10
+ 'ipns-ns',
11
+ 'ipfs-ns',
12
+ 'swarm-ns',
13
+ 'onion',
14
+ 'onion3',
15
+ 'skynet-ns',
16
+ 'arweave-ns',
17
+ ];
18
+ function matchProtocol(text) {
19
+ return (text.match(/^(ipfs|sia|ipns|bzz|onion|onion3|arweave):\/\/(.*)/) ||
20
+ text.match(/\/(ipfs)\/(.*)/) ||
21
+ text.match(/\/(ipns)\/(.*)/));
22
+ }
23
+ function decodeContenthash(encoded) {
24
+ let decoded, protocolType, error;
25
+ if (!encoded || encoded === '0x') {
26
+ return {};
27
+ }
28
+ if (encoded.error) {
29
+ return { protocolType: null, decoded: encoded.error };
30
+ }
31
+ else if (encoded === false) {
32
+ return { protocolType: null, decoded: 'invalid value' };
33
+ }
34
+ if (encoded) {
35
+ try {
36
+ decoded = content_hash_1.default.decode(encoded);
37
+ const codec = content_hash_1.default.getCodec(encoded);
38
+ if (codec === 'ipfs-ns') {
39
+ protocolType = 'ipfs';
40
+ }
41
+ else if (codec === 'ipns-ns') {
42
+ protocolType = 'ipns';
43
+ }
44
+ else if (codec === 'swarm-ns') {
45
+ protocolType = 'bzz';
46
+ }
47
+ else if (codec === 'onion') {
48
+ protocolType = 'onion';
49
+ }
50
+ else if (codec === 'onion3') {
51
+ protocolType = 'onion3';
52
+ }
53
+ else if (codec === 'skynet-ns') {
54
+ protocolType = 'sia';
55
+ }
56
+ else if (codec === 'arweave-ns') {
57
+ protocolType = 'arweave';
58
+ }
59
+ else {
60
+ decoded = encoded;
61
+ }
62
+ }
63
+ catch (e) {
64
+ error = e.message;
65
+ }
66
+ }
67
+ return { protocolType, decoded, error };
68
+ }
69
+ exports.decodeContenthash = decodeContenthash;
70
+ function validateContent(encoded) {
71
+ return (content_hash_1.default.isHashOfType(encoded, content_hash_1.default.Types.ipfs) ||
72
+ content_hash_1.default.isHashOfType(encoded, content_hash_1.default.Types.swarm));
73
+ }
74
+ exports.validateContent = validateContent;
75
+ function isValidContenthash(encoded) {
76
+ try {
77
+ const codec = content_hash_1.default.getCodec(encoded);
78
+ return ethers_1.utils.isHexString(encoded) && supportedCodecs.includes(codec);
79
+ }
80
+ catch (e) {
81
+ console.log(e);
82
+ }
83
+ }
84
+ exports.isValidContenthash = isValidContenthash;
85
+ function getProtocolType(encoded) {
86
+ let protocolType, decoded;
87
+ try {
88
+ let matched = matchProtocol(encoded);
89
+ if (matched) {
90
+ protocolType = matched[1];
91
+ decoded = matched[2];
92
+ }
93
+ return {
94
+ protocolType,
95
+ decoded,
96
+ };
97
+ }
98
+ catch (e) {
99
+ console.log(e);
100
+ }
101
+ }
102
+ exports.getProtocolType = getProtocolType;
103
+ function encodeContenthash(text) {
104
+ let content = text;
105
+ let contentType;
106
+ let encoded = false;
107
+ let error;
108
+ if (!!text) {
109
+ let matched = matchProtocol(text);
110
+ if (matched) {
111
+ contentType = matched[1];
112
+ content = matched[2];
113
+ }
114
+ try {
115
+ if (contentType === 'ipfs') {
116
+ if (content.length >= 4) {
117
+ encoded = '0x' + content_hash_1.default.encode('ipfs-ns', content);
118
+ }
119
+ }
120
+ else if (contentType === 'ipns') {
121
+ encoded = '0x' + content_hash_1.default.encode('ipns-ns', content);
122
+ }
123
+ else if (contentType === 'bzz') {
124
+ if (content.length >= 4) {
125
+ encoded = '0x' + content_hash_1.default.fromSwarm(content);
126
+ }
127
+ }
128
+ else if (contentType === 'onion') {
129
+ if (content.length == 16) {
130
+ encoded = '0x' + content_hash_1.default.encode('onion', content);
131
+ }
132
+ }
133
+ else if (contentType === 'onion3') {
134
+ if (content.length == 56) {
135
+ encoded = '0x' + content_hash_1.default.encode('onion3', content);
136
+ }
137
+ }
138
+ else if (contentType === 'sia') {
139
+ if (content.length == 46) {
140
+ encoded = '0x' + content_hash_1.default.encode('skynet-ns', content);
141
+ }
142
+ }
143
+ else if (contentType === 'arweave') {
144
+ if (content.length == 43) {
145
+ encoded = '0x' + content_hash_1.default.encode('arweave-ns', content);
146
+ }
147
+ }
148
+ else {
149
+ console.warn('Unsupported protocol or invalid value', {
150
+ contentType,
151
+ text,
152
+ });
153
+ }
154
+ }
155
+ catch (err) {
156
+ const errorMessage = 'Error encoding content hash';
157
+ console.warn(errorMessage, { text, encoded });
158
+ error = errorMessage;
159
+ //throw 'Error encoding content hash'
160
+ }
161
+ }
162
+ return { encoded, error };
163
+ }
164
+ exports.encodeContenthash = encodeContenthash;
@@ -0,0 +1,2 @@
1
+ declare const _default: (address: string) => string;
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = (address) => address.toLowerCase().substring(2) + '.addr.reverse';
@@ -0,0 +1,3 @@
1
+ export declare const formatHashed: (name: string) => string;
2
+ export declare const truncateFormat: (name: string) => string;
3
+ export declare const bracketFormat: (name: string) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bracketFormat = exports.truncateFormat = exports.formatHashed = void 0;
4
+ const formatHashed = (name) => name.replace(/(\[)(.{64})(\])/g, '0x$2');
5
+ exports.formatHashed = formatHashed;
6
+ const truncateFormat = (name) => name.replace(/(\[.{3})(.{58})(.{3}\])/g, '$1...$3');
7
+ exports.truncateFormat = truncateFormat;
8
+ const bracketFormat = (name) => name.replace(/(0x)(.{64})(?=\.)/g, '[$2]');
9
+ exports.bracketFormat = bracketFormat;
@@ -0,0 +1,20 @@
1
+ export declare const testable: {
2
+ CANNOT_UNWRAP: number;
3
+ CANNOT_BURN_FUSES: number;
4
+ CANNOT_TRANSFER: number;
5
+ CANNOT_SET_RESOLVER: number;
6
+ CANNOT_SET_TTL: number;
7
+ CANNOT_CREATE_SUBDOMAIN: number;
8
+ PARENT_CANNOT_CONTROL: number;
9
+ };
10
+ declare const _default: {
11
+ CAN_DO_EVERYTHING: number;
12
+ CANNOT_UNWRAP: number;
13
+ CANNOT_BURN_FUSES: number;
14
+ CANNOT_TRANSFER: number;
15
+ CANNOT_SET_RESOLVER: number;
16
+ CANNOT_SET_TTL: number;
17
+ CANNOT_CREATE_SUBDOMAIN: number;
18
+ PARENT_CANNOT_CONTROL: number;
19
+ };
20
+ export default _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testable = void 0;
4
+ const CANNOT_UNWRAP = 1;
5
+ const CANNOT_BURN_FUSES = 2;
6
+ const CANNOT_TRANSFER = 4;
7
+ const CANNOT_SET_RESOLVER = 8;
8
+ const CANNOT_SET_TTL = 16;
9
+ const CANNOT_CREATE_SUBDOMAIN = 32;
10
+ const PARENT_CANNOT_CONTROL = 64;
11
+ const CAN_DO_EVERYTHING = 0;
12
+ exports.testable = {
13
+ CANNOT_UNWRAP,
14
+ CANNOT_BURN_FUSES,
15
+ CANNOT_TRANSFER,
16
+ CANNOT_SET_RESOLVER,
17
+ CANNOT_SET_TTL,
18
+ CANNOT_CREATE_SUBDOMAIN,
19
+ PARENT_CANNOT_CONTROL,
20
+ };
21
+ exports.default = {
22
+ ...exports.testable,
23
+ CAN_DO_EVERYTHING,
24
+ };
@@ -0,0 +1,3 @@
1
+ import { FuseOptions } from '../@types/FuseOptions';
2
+ declare const _default: (fuseOptions: FuseOptions) => string;
3
+ export default _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ethers_1 = require("ethers");
7
+ const fuses_1 = __importDefault(require("./fuses"));
8
+ exports.default = (fuseOptions) => {
9
+ const fuseKeys = Object.keys(fuseOptions)
10
+ .filter((opt) => fuseOptions[opt] === true)
11
+ .map((opt) => opt
12
+ .split(/(?=[A-Z])/)
13
+ .join('_')
14
+ .toUpperCase());
15
+ const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
16
+ return prev.or(fuses_1.default[curr]);
17
+ }, ethers_1.ethers.BigNumber.from(0));
18
+ return bigNumberFuses.toHexString();
19
+ };
@@ -0,0 +1 @@
1
+ export declare const hexEncodeName: (name: string) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.hexEncodeName = void 0;
7
+ const dns_packet_1 = __importDefault(require("dns-packet"));
8
+ const hexEncodeName = (name) => `0x${dns_packet_1.default.name.encode(name).toString('hex')}`;
9
+ exports.hexEncodeName = hexEncodeName;
@@ -0,0 +1,14 @@
1
+ export declare const labelhash: (input: string) => string;
2
+ export declare const keccakFromString: (input: string) => string;
3
+ export declare function decodeLabelhash(hash: string): string;
4
+ export declare function encodeLabelhash(hash: string): string;
5
+ export declare function isEncodedLabelhash(hash: string): boolean;
6
+ export declare function saveLabel(label: string): string;
7
+ export declare function saveName(name: string): void;
8
+ export declare function checkLabel(hash: string): string | undefined;
9
+ export declare function encodeLabel(label: any): any;
10
+ export declare function parseName(name: string): string;
11
+ export declare function checkIsDecrypted(string: string | string[]): boolean;
12
+ export declare function decryptName(name: string): string;
13
+ export declare const truncateUndecryptedName: (name: string) => string;
14
+ export declare function checkLocalStorageSize(): string;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkLocalStorageSize = exports.truncateUndecryptedName = exports.decryptName = exports.checkIsDecrypted = exports.parseName = exports.encodeLabel = exports.checkLabel = exports.saveName = exports.saveLabel = exports.isEncodedLabelhash = exports.encodeLabelhash = exports.decodeLabelhash = exports.keccakFromString = exports.labelhash = void 0;
4
+ const utils_1 = require("ethers/lib/utils");
5
+ const format_1 = require("./format");
6
+ const labelhash = (input) => (0, utils_1.solidityKeccak256)(['string'], [input]);
7
+ exports.labelhash = labelhash;
8
+ const keccakFromString = (input) => (0, exports.labelhash)(input);
9
+ exports.keccakFromString = keccakFromString;
10
+ function decodeLabelhash(hash) {
11
+ if (!(hash.startsWith('[') && hash.endsWith(']'))) {
12
+ throw Error('Expected encoded labelhash to start and end with square brackets');
13
+ }
14
+ if (hash.length !== 66) {
15
+ throw Error('Expected encoded labelhash to have a length of 66');
16
+ }
17
+ return `${hash.slice(1, -1)}`;
18
+ }
19
+ exports.decodeLabelhash = decodeLabelhash;
20
+ function encodeLabelhash(hash) {
21
+ if (!hash.startsWith('0x')) {
22
+ throw new Error('Expected label hash to start with 0x');
23
+ }
24
+ if (hash.length !== 66) {
25
+ throw new Error('Expected label hash to have a length of 66');
26
+ }
27
+ return `[${hash.slice(2)}]`;
28
+ }
29
+ exports.encodeLabelhash = encodeLabelhash;
30
+ function isEncodedLabelhash(hash) {
31
+ return hash.startsWith('[') && hash.endsWith(']') && hash.length === 66;
32
+ }
33
+ exports.isEncodedLabelhash = isEncodedLabelhash;
34
+ function getLabels() {
35
+ return localStorage
36
+ ? JSON.parse(localStorage.getItem('ensjs:labels')) || {}
37
+ : {};
38
+ }
39
+ function _saveLabel(hash, label) {
40
+ if (!localStorage)
41
+ return hash;
42
+ const labels = getLabels();
43
+ localStorage.setItem('ensjs:labels', JSON.stringify({
44
+ ...labels,
45
+ [hash]: label,
46
+ }));
47
+ return hash;
48
+ }
49
+ function saveLabel(label) {
50
+ const hash = `${(0, exports.labelhash)(label.toLowerCase())}`;
51
+ return _saveLabel(hash, label);
52
+ }
53
+ exports.saveLabel = saveLabel;
54
+ function saveName(name) {
55
+ const nameArray = name.split('.');
56
+ nameArray.forEach((label) => {
57
+ saveLabel(label);
58
+ });
59
+ }
60
+ exports.saveName = saveName;
61
+ // eslint-disable-next-line consistent-return
62
+ function checkLabel(hash) {
63
+ const labels = getLabels();
64
+ if (isEncodedLabelhash(hash)) {
65
+ return labels[decodeLabelhash(hash)];
66
+ }
67
+ if (hash.startsWith('0x')) {
68
+ return labels[`${hash.slice(2)}`];
69
+ }
70
+ }
71
+ exports.checkLabel = checkLabel;
72
+ function encodeLabel(label) {
73
+ try {
74
+ return encodeLabelhash(label);
75
+ }
76
+ catch {
77
+ return label;
78
+ }
79
+ }
80
+ exports.encodeLabel = encodeLabel;
81
+ function parseName(name) {
82
+ const nameArray = name.split('.');
83
+ return nameArray.map((label) => encodeLabel(label)).join('.');
84
+ }
85
+ exports.parseName = parseName;
86
+ function checkIsDecrypted(string) {
87
+ return !string?.includes('[');
88
+ }
89
+ exports.checkIsDecrypted = checkIsDecrypted;
90
+ function decryptName(name) {
91
+ return name
92
+ .split('.')
93
+ .map((label) => checkLabel(label) || label)
94
+ .join('.');
95
+ }
96
+ exports.decryptName = decryptName;
97
+ const truncateUndecryptedName = (name) => (0, format_1.truncateFormat)(name);
98
+ exports.truncateUndecryptedName = truncateUndecryptedName;
99
+ function checkLocalStorageSize() {
100
+ if (!localStorage)
101
+ return 'Empty (0 KB)';
102
+ let allStrings = '';
103
+ for (const key in window.localStorage) {
104
+ if (Object.prototype.hasOwnProperty.call(window.localStorage, key)) {
105
+ allStrings += window.localStorage[key];
106
+ }
107
+ }
108
+ return allStrings
109
+ ? `${3 + (allStrings.length * 16) / (8 * 1024)} KB`
110
+ : 'Empty (0 KB)';
111
+ }
112
+ exports.checkLocalStorageSize = checkLocalStorageSize;
@@ -0,0 +1,2 @@
1
+ export declare const makeOtherIndexes: (data: string, findStr: string) => number[];
2
+ export declare const makeNamehashIndexes: (data: string, name: string) => number[];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeNamehashIndexes = exports.makeOtherIndexes = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const makeOtherIndexes = (data, findStr) => Array.from(data.matchAll(findStr)).map((x) => x.index / 2 - 1);
6
+ exports.makeOtherIndexes = makeOtherIndexes;
7
+ const makeNamehashIndexes = (data, name) => Array.from(data.matchAll(ethers_1.ethers.utils.namehash(name).substring(2))).map((x) => x.index / 2 - 1);
8
+ exports.makeNamehashIndexes = makeNamehashIndexes;
@@ -0,0 +1 @@
1
+ export declare const normalise: (name: string) => any;