@ensdomains/ensjs 3.0.0-alpha.16 → 3.0.0-alpha.19

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 (575) hide show
  1. package/dist/cjs/GqlManager.js +97 -97
  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 +62 -38
  16. package/dist/cjs/functions/commitName.js +45 -22
  17. package/dist/cjs/functions/createSubname.js +79 -36
  18. package/dist/cjs/functions/deleteSubname.js +30 -8
  19. package/dist/cjs/functions/getDNSOwner.js +73 -72
  20. package/dist/cjs/functions/getExpiry.js +97 -73
  21. package/dist/cjs/functions/getFuses.js +62 -37
  22. package/dist/cjs/functions/getHistory.js +109 -77
  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 +403 -291
  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 -268
  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 +40 -17
  34. package/dist/cjs/functions/renewName.js +31 -8
  35. package/dist/cjs/functions/setName.js +40 -10
  36. package/dist/cjs/functions/setRecord.js +53 -25
  37. package/dist/cjs/functions/setRecords.js +49 -22
  38. package/dist/cjs/functions/setResolver.js +44 -18
  39. package/dist/cjs/functions/transferName.js +61 -26
  40. package/dist/cjs/functions/transferSubname.js +61 -23
  41. package/dist/cjs/functions/unwrapName.js +49 -20
  42. package/dist/cjs/functions/wrapName.js +120 -58
  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 +280 -264
  66. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +484 -468
  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 -514
  70. package/dist/cjs/generated/factories/Multicall__factory.js +457 -441
  71. package/dist/cjs/generated/factories/NameWrapper__factory.js +1341 -1325
  72. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +59 -43
  73. package/dist/cjs/generated/factories/PublicResolver__factory.js +901 -885
  74. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +59 -43
  75. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +59 -43
  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 +54 -38
  79. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +59 -43
  80. package/dist/cjs/generated/factories/SHA256Digest__factory.js +54 -38
  81. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +64 -44
  82. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +49 -33
  83. package/dist/cjs/generated/factories/UniversalResolver__factory.js +215 -199
  84. package/dist/cjs/generated/factories/index.js +61 -45
  85. package/dist/cjs/generated/index.js +68 -65
  86. package/dist/cjs/index.js +318 -243
  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 +62 -17
  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 -84
  94. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  95. package/dist/cjs/utils/normalise.js +48 -28
  96. package/dist/cjs/utils/recordHelpers.js +81 -63
  97. package/dist/cjs/utils/registerHelpers.js +110 -70
  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 +39 -25
  101. package/dist/cjs/utils/writeTx.js +23 -4
  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/{cjs → types}/GqlManager.d.ts +0 -0
  204. package/dist/{esm → types}/contracts/baseRegistrar.d.ts +1 -1
  205. package/dist/{esm → types}/contracts/ethRegistrarController.d.ts +1 -1
  206. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  207. package/dist/{cjs → types}/contracts/index.d.ts +8 -8
  208. package/dist/{cjs → types}/contracts/multicall.d.ts +1 -1
  209. package/dist/{esm → types}/contracts/nameWrapper.d.ts +1 -1
  210. package/dist/{cjs → types}/contracts/publicResolver.d.ts +1 -1
  211. package/dist/{cjs → types}/contracts/registry.d.ts +1 -1
  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/{cjs → types}/functions/batchWrappers.d.ts +2 -2
  217. package/dist/types/functions/burnFuses.d.ts +13 -0
  218. package/dist/{cjs → types}/functions/commitName.d.ts +0 -0
  219. package/dist/{cjs → types}/functions/createSubname.d.ts +0 -0
  220. package/dist/{cjs → types}/functions/deleteSubname.d.ts +0 -0
  221. package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
  222. package/dist/{cjs → types}/functions/getExpiry.d.ts +0 -0
  223. package/dist/{cjs → types}/functions/getFuses.d.ts +0 -0
  224. package/dist/types/functions/getHistory.d.ts +28 -0
  225. package/dist/{cjs → types}/functions/getName.d.ts +0 -0
  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/{cjs → types}/functions/getProfile.d.ts +0 -0
  230. package/dist/{cjs → types}/functions/getRecords.d.ts +0 -0
  231. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  232. package/dist/{cjs → types}/functions/getSpecificRecord.d.ts +0 -0
  233. package/dist/{cjs → types}/functions/getSubnames.d.ts +0 -0
  234. package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
  235. package/dist/{cjs → types}/functions/registerName.d.ts +0 -0
  236. package/dist/{cjs → types}/functions/renewName.d.ts +0 -0
  237. package/dist/{cjs → types}/functions/setName.d.ts +0 -0
  238. package/dist/{esm → types}/functions/setRecord.d.ts +2 -2
  239. package/dist/{cjs → types}/functions/setRecords.d.ts +0 -0
  240. package/dist/{cjs → types}/functions/setResolver.d.ts +0 -0
  241. package/dist/{cjs → types}/functions/transferName.d.ts +0 -0
  242. package/dist/{cjs → types}/functions/transferSubname.d.ts +0 -0
  243. package/dist/{cjs → types}/functions/unwrapName.d.ts +0 -0
  244. package/dist/{cjs → types}/functions/wrapName.d.ts +0 -0
  245. package/dist/{cjs → types}/generated/BaseRegistrarImplementation.d.ts +0 -0
  246. package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +0 -0
  247. package/dist/{cjs → types}/generated/DNSSECImpl.d.ts +0 -0
  248. package/dist/{cjs → types}/generated/DefaultReverseResolver.d.ts +0 -0
  249. package/dist/{cjs → types}/generated/ENSRegistry.d.ts +0 -0
  250. package/dist/{cjs → types}/generated/ETHRegistrarController.d.ts +0 -0
  251. package/dist/{cjs → types}/generated/Multicall.d.ts +0 -0
  252. package/dist/{cjs → types}/generated/NameWrapper.d.ts +0 -0
  253. package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +0 -0
  254. package/dist/{cjs → types}/generated/PublicResolver.d.ts +0 -0
  255. package/dist/{cjs → types}/generated/RSASHA1Algorithm.d.ts +0 -0
  256. package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +0 -0
  257. package/dist/{cjs → types}/generated/ReverseRegistrar.d.ts +0 -0
  258. package/dist/{cjs → types}/generated/Root.d.ts +0 -0
  259. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +0 -0
  260. package/dist/{cjs → types}/generated/SHA1NSEC3Digest.d.ts +0 -0
  261. package/dist/{cjs → types}/generated/SHA256Digest.d.ts +0 -0
  262. package/dist/{cjs → types}/generated/StaticMetadataService.d.ts +0 -0
  263. package/dist/{cjs → types}/generated/TLDPublicSuffixList.d.ts +0 -0
  264. package/dist/{cjs → types}/generated/UniversalResolver.d.ts +0 -0
  265. package/dist/{cjs → types}/generated/common.d.ts +0 -0
  266. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
  267. package/dist/{cjs → types}/generated/factories/DNSRegistrar__factory.d.ts +0 -0
  268. package/dist/{cjs → types}/generated/factories/DNSSECImpl__factory.d.ts +0 -0
  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/{cjs → types}/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -0
  275. package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
  276. package/dist/{cjs → types}/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -0
  277. package/dist/{cjs → types}/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -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/{cjs → types}/generated/factories/SHA1Digest__factory.d.ts +0 -0
  281. package/dist/{cjs → types}/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -0
  282. package/dist/{cjs → types}/generated/factories/SHA256Digest__factory.d.ts +0 -0
  283. package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
  284. package/dist/{cjs → types}/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -0
  285. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
  286. package/dist/{cjs → types}/generated/factories/index.d.ts +0 -0
  287. package/dist/{cjs → types}/generated/index.d.ts +0 -0
  288. package/dist/{esm → types}/index.d.ts +22 -32
  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 +40 -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/{cjs → types}/utils/normalise.d.ts +0 -0
  298. package/dist/{cjs → types}/utils/recordHelpers.d.ts +0 -0
  299. package/dist/{cjs → types}/utils/registerHelpers.d.ts +1 -1
  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/{cjs → types}/utils/wrapperExpiry.d.ts +0 -0
  303. package/dist/{cjs → types}/utils/writeTx.d.ts +1 -1
  304. package/package.json +40 -10
  305. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  306. package/src/@types/dns-packet/index.d.ts +113 -113
  307. package/src/GqlManager.test.ts +3 -1
  308. package/src/GqlManager.ts +6 -1
  309. package/src/contracts/getContractAddress.ts +2 -0
  310. package/src/contracts/index.ts +8 -0
  311. package/src/contracts/multicall.ts +0 -19
  312. package/src/functions/batch.test.ts +8 -8
  313. package/src/functions/batch.ts +3 -3
  314. package/src/functions/batchWrappers.test.ts +11 -11
  315. package/src/functions/batchWrappers.ts +2 -2
  316. package/src/functions/burnFuses.test.ts +16 -16
  317. package/src/functions/burnFuses.ts +16 -49
  318. package/src/functions/commitName.test.ts +6 -6
  319. package/src/functions/createSubname.test.ts +6 -7
  320. package/src/functions/createSubname.ts +2 -2
  321. package/src/functions/deleteSubname.test.ts +6 -10
  322. package/src/functions/getDNSOwner.test.ts +11 -10
  323. package/src/functions/getDNSOwner.ts +1 -1
  324. package/src/functions/getExpiry.test.ts +6 -10
  325. package/src/functions/getExpiry.ts +1 -1
  326. package/src/functions/getFuses.test.ts +12 -16
  327. package/src/functions/getFuses.ts +3 -6
  328. package/src/functions/getHistory.test.ts +4 -4
  329. package/src/functions/getHistory.ts +25 -14
  330. package/src/functions/getName.test.ts +6 -6
  331. package/src/functions/getName.ts +1 -1
  332. package/src/functions/getNames.test.ts +22 -22
  333. package/src/functions/getNames.ts +25 -30
  334. package/src/functions/getOwner.test.ts +23 -14
  335. package/src/functions/getOwner.ts +16 -10
  336. package/src/functions/getPrice.ts +2 -2
  337. package/src/functions/getProfile.test.ts +14 -14
  338. package/src/functions/getProfile.ts +103 -101
  339. package/src/functions/getRecords.ts +1 -1
  340. package/src/functions/getResolver.test.ts +3 -3
  341. package/src/functions/getSpecificRecord.test.ts +12 -12
  342. package/src/functions/getSpecificRecord.ts +8 -143
  343. package/src/functions/getSubnames.test.ts +9 -9
  344. package/src/functions/getSubnames.ts +5 -12
  345. package/src/functions/makeCommitment.test.ts +4 -4
  346. package/src/functions/registerName.test.ts +6 -6
  347. package/src/functions/renewName.test.ts +5 -5
  348. package/src/functions/setName.test.ts +9 -9
  349. package/src/functions/setRecord.test.ts +11 -11
  350. package/src/functions/setRecord.ts +2 -6
  351. package/src/functions/setRecords.test.ts +5 -5
  352. package/src/functions/setResolver.test.ts +6 -8
  353. package/src/functions/setResolver.ts +1 -1
  354. package/src/functions/transferName.test.ts +8 -8
  355. package/src/functions/transferSubname.test.ts +6 -6
  356. package/src/functions/transferSubname.ts +2 -2
  357. package/src/functions/unwrapName.test.ts +6 -6
  358. package/src/functions/unwrapName.ts +10 -11
  359. package/src/functions/wrapName.test.ts +16 -17
  360. package/src/functions/wrapName.ts +18 -19
  361. package/src/index.ts +34 -21
  362. package/src/utils/contentHash.ts +24 -22
  363. package/src/utils/createReverseNode.ts +1 -1
  364. package/src/utils/fuses.ts +39 -0
  365. package/src/utils/normalise.ts +1 -1
  366. package/src/utils/recordHelpers.ts +12 -14
  367. package/src/utils/registerHelpers.ts +21 -20
  368. package/src/utils/validation.ts +8 -9
  369. package/src/utils/wrapperExpiry.ts +10 -12
  370. package/src/utils/writeTx.ts +1 -1
  371. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  372. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  373. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  374. package/dist/cjs/functions/burnFuses.d.ts +0 -32
  375. package/dist/cjs/functions/getHistory.d.ts +0 -24
  376. package/dist/cjs/functions/setRecord.d.ts +0 -18
  377. package/dist/cjs/index.d.ts +0 -467
  378. package/dist/cjs/utils/fuses.d.ts +0 -21
  379. package/dist/esm/GqlManager.d.ts +0 -11
  380. package/dist/esm/GqlManager.js +0 -82
  381. package/dist/esm/contracts/baseRegistrar.js +0 -2
  382. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  383. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  384. package/dist/esm/contracts/getContractAddress.js +0 -42
  385. package/dist/esm/contracts/index.d.ts +0 -16
  386. package/dist/esm/contracts/index.js +0 -29
  387. package/dist/esm/contracts/multicall.d.ts +0 -3
  388. package/dist/esm/contracts/multicall.js +0 -20
  389. package/dist/esm/contracts/nameWrapper.js +0 -2
  390. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  391. package/dist/esm/contracts/publicResolver.js +0 -2
  392. package/dist/esm/contracts/registry.d.ts +0 -3
  393. package/dist/esm/contracts/registry.js +0 -2
  394. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  395. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  396. package/dist/esm/contracts/types.d.ts +0 -2
  397. package/dist/esm/contracts/types.js +0 -1
  398. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  399. package/dist/esm/contracts/universalResolver.js +0 -2
  400. package/dist/esm/functions/batch.d.ts +0 -9
  401. package/dist/esm/functions/batch.js +0 -19
  402. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  403. package/dist/esm/functions/batchWrappers.js +0 -68
  404. package/dist/esm/functions/burnFuses.d.ts +0 -32
  405. package/dist/esm/functions/burnFuses.js +0 -41
  406. package/dist/esm/functions/commitName.d.ts +0 -26
  407. package/dist/esm/functions/commitName.js +0 -21
  408. package/dist/esm/functions/createSubname.d.ts +0 -17
  409. package/dist/esm/functions/createSubname.js +0 -36
  410. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  411. package/dist/esm/functions/deleteSubname.js +0 -7
  412. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  413. package/dist/esm/functions/getDNSOwner.js +0 -51
  414. package/dist/esm/functions/getExpiry.d.ts +0 -19
  415. package/dist/esm/functions/getExpiry.js +0 -88
  416. package/dist/esm/functions/getFuses.d.ts +0 -17
  417. package/dist/esm/functions/getFuses.js +0 -42
  418. package/dist/esm/functions/getHistory.d.ts +0 -24
  419. package/dist/esm/functions/getHistory.js +0 -179
  420. package/dist/esm/functions/getName.d.ts +0 -19
  421. package/dist/esm/functions/getName.js +0 -32
  422. package/dist/esm/functions/getNames.d.ts +0 -40
  423. package/dist/esm/functions/getNames.js +0 -220
  424. package/dist/esm/functions/getOwner.d.ts +0 -14
  425. package/dist/esm/functions/getOwner.js +0 -138
  426. package/dist/esm/functions/getPrice.d.ts +0 -13
  427. package/dist/esm/functions/getPrice.js +0 -48
  428. package/dist/esm/functions/getProfile.d.ts +0 -33
  429. package/dist/esm/functions/getProfile.js +0 -343
  430. package/dist/esm/functions/getRecords.d.ts +0 -33
  431. package/dist/esm/functions/getRecords.js +0 -8
  432. package/dist/esm/functions/getResolver.d.ts +0 -9
  433. package/dist/esm/functions/getResolver.js +0 -22
  434. package/dist/esm/functions/getSpecificRecord.d.ts +0 -73
  435. package/dist/esm/functions/getSpecificRecord.js +0 -272
  436. package/dist/esm/functions/getSubnames.d.ts +0 -26
  437. package/dist/esm/functions/getSubnames.js +0 -152
  438. package/dist/esm/functions/initialGetters.d.ts +0 -11
  439. package/dist/esm/functions/initialGetters.js +0 -11
  440. package/dist/esm/functions/registerName.d.ts +0 -11
  441. package/dist/esm/functions/registerName.js +0 -16
  442. package/dist/esm/functions/renewName.d.ts +0 -6
  443. package/dist/esm/functions/renewName.js +0 -7
  444. package/dist/esm/functions/setName.d.ts +0 -5
  445. package/dist/esm/functions/setName.js +0 -9
  446. package/dist/esm/functions/setRecord.js +0 -24
  447. package/dist/esm/functions/setRecords.d.ts +0 -6
  448. package/dist/esm/functions/setRecords.js +0 -21
  449. package/dist/esm/functions/setResolver.d.ts +0 -5
  450. package/dist/esm/functions/setResolver.js +0 -19
  451. package/dist/esm/functions/transferName.d.ts +0 -6
  452. package/dist/esm/functions/transferName.js +0 -26
  453. package/dist/esm/functions/transferSubname.d.ts +0 -15
  454. package/dist/esm/functions/transferSubname.js +0 -23
  455. package/dist/esm/functions/unwrapName.d.ts +0 -5
  456. package/dist/esm/functions/unwrapName.js +0 -20
  457. package/dist/esm/functions/wrapName.d.ts +0 -10
  458. package/dist/esm/functions/wrapName.js +0 -60
  459. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -508
  460. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  461. package/dist/esm/generated/DNSRegistrar.d.ts +0 -224
  462. package/dist/esm/generated/DNSRegistrar.js +0 -1
  463. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  464. package/dist/esm/generated/DNSSECImpl.js +0 -1
  465. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  466. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  467. package/dist/esm/generated/ENSRegistry.d.ts +0 -274
  468. package/dist/esm/generated/ENSRegistry.js +0 -1
  469. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -321
  470. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  471. package/dist/esm/generated/Multicall.d.ts +0 -292
  472. package/dist/esm/generated/Multicall.js +0 -1
  473. package/dist/esm/generated/NameWrapper.d.ts +0 -814
  474. package/dist/esm/generated/NameWrapper.js +0 -1
  475. package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -76
  476. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  477. package/dist/esm/generated/PublicResolver.d.ts +0 -566
  478. package/dist/esm/generated/PublicResolver.js +0 -1
  479. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -46
  480. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  481. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -46
  482. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  483. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -268
  484. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  485. package/dist/esm/generated/Root.d.ts +0 -173
  486. package/dist/esm/generated/Root.js +0 -1
  487. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  488. package/dist/esm/generated/SHA1Digest.js +0 -1
  489. package/dist/esm/generated/SHA1NSEC3Digest.d.ts +0 -76
  490. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  491. package/dist/esm/generated/SHA256Digest.d.ts +0 -67
  492. package/dist/esm/generated/SHA256Digest.js +0 -1
  493. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  494. package/dist/esm/generated/StaticMetadataService.js +0 -1
  495. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  496. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  497. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  498. package/dist/esm/generated/UniversalResolver.js +0 -1
  499. package/dist/esm/generated/common.d.ts +0 -22
  500. package/dist/esm/generated/common.js +0 -1
  501. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  502. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  503. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -67
  504. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -269
  505. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -56
  506. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -474
  507. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  508. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  509. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
  510. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  511. package/dist/esm/generated/factories/ETHRegistrarController__factory.d.ts +0 -66
  512. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -517
  513. package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
  514. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  515. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
  516. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1327
  517. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -22
  518. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -44
  519. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
  520. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  521. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -22
  522. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -44
  523. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -22
  524. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -44
  525. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  526. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  527. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  528. package/dist/esm/generated/factories/Root__factory.js +0 -239
  529. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -22
  530. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -39
  531. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -22
  532. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -44
  533. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -22
  534. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -39
  535. package/dist/esm/generated/factories/StaticMetadataService__factory.d.ts +0 -32
  536. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  537. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -22
  538. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -34
  539. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  540. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  541. package/dist/esm/generated/factories/index.d.ts +0 -20
  542. package/dist/esm/generated/factories/index.js +0 -23
  543. package/dist/esm/generated/index.d.ts +0 -41
  544. package/dist/esm/generated/index.js +0 -21
  545. package/dist/esm/index.js +0 -218
  546. package/dist/esm/utils/contentHash.d.ts +0 -28
  547. package/dist/esm/utils/contentHash.js +0 -153
  548. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  549. package/dist/esm/utils/createReverseNode.js +0 -1
  550. package/dist/esm/utils/format.d.ts +0 -3
  551. package/dist/esm/utils/format.js +0 -3
  552. package/dist/esm/utils/fuses.d.ts +0 -21
  553. package/dist/esm/utils/fuses.js +0 -27
  554. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  555. package/dist/esm/utils/generateFuseInput.js +0 -14
  556. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  557. package/dist/esm/utils/hexEncodedName.js +0 -2
  558. package/dist/esm/utils/labels.d.ts +0 -14
  559. package/dist/esm/utils/labels.js +0 -96
  560. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  561. package/dist/esm/utils/makeHashIndexes.js +0 -3
  562. package/dist/esm/utils/normalise.d.ts +0 -2
  563. package/dist/esm/utils/normalise.js +0 -27
  564. package/dist/esm/utils/recordHelpers.d.ts +0 -16
  565. package/dist/esm/utils/recordHelpers.js +0 -65
  566. package/dist/esm/utils/registerHelpers.d.ts +0 -54
  567. package/dist/esm/utils/registerHelpers.js +0 -69
  568. package/dist/esm/utils/singleCall.d.ts +0 -9
  569. package/dist/esm/utils/singleCall.js +0 -5
  570. package/dist/esm/utils/validation.d.ts +0 -8
  571. package/dist/esm/utils/validation.js +0 -67
  572. package/dist/esm/utils/wrapperExpiry.d.ts +0 -5
  573. package/dist/esm/utils/wrapperExpiry.js +0 -26
  574. package/dist/esm/utils/writeTx.d.ts +0 -21
  575. package/dist/esm/utils/writeTx.js +0 -4
@@ -0,0 +1,196 @@
1
+ // src/functions/getHistory.ts
2
+ import { formatsByCoinType } from "@ensdomains/address-encoder";
3
+ import { ethers } from "ethers";
4
+ import { decodeContenthash } from "../utils/contentHash.mjs";
5
+ var eventFormat = {
6
+ Domain: {
7
+ NewOwner: (args) => ({ owner: args.owner.id }),
8
+ NewResolver: (args) => ({ resolver: args.resolver.id.split("-")[0] }),
9
+ Transfer: (args) => ({ owner: args.owner.id }),
10
+ NewTTL: (args) => ({ ttl: args.ttl })
11
+ },
12
+ Registration: {
13
+ NameRegistered: (args) => ({
14
+ registrant: args.registrant.id,
15
+ expiryDate: args.expiryDate
16
+ }),
17
+ NameRenewed: (args) => ({ expiryDate: args.expiryDate }),
18
+ NameTransferred: (args) => ({ owner: args.newOwner.id })
19
+ },
20
+ Resolver: {
21
+ AddrChanged: (args) => ({ addr: args.addr.id }),
22
+ MulticoinAddrChanged: (args) => {
23
+ const format = formatsByCoinType[parseInt(args.coinType)];
24
+ if (!format) {
25
+ return {
26
+ coinType: args.coinType,
27
+ rawAddr: args.multiaddr
28
+ };
29
+ }
30
+ if (ethers.utils.hexStripZeros(args.multiaddr) === "0x") {
31
+ return {
32
+ coinType: args.coinType,
33
+ coinName: format.name,
34
+ rawAddr: "0x"
35
+ };
36
+ }
37
+ return {
38
+ coinType: args.coinType,
39
+ coinName: format.name,
40
+ addr: format.encoder(Buffer.from(args.multiaddr.slice(2), "hex"))
41
+ };
42
+ },
43
+ NameChanged: (args) => ({ name: args.name }),
44
+ AbiChanged: (args) => ({ contentType: args.contentType }),
45
+ PubkeyChanged: (args) => ({ x: args.x, y: args.y }),
46
+ TextChanged: (args) => ({ key: args.key, value: args.value }),
47
+ ContenthashChanged: (args) => ({ hash: decodeContenthash(args.hash) }),
48
+ InterfaceChanged: (args) => ({
49
+ interfaceId: args.interfaceId,
50
+ implementer: args.implementer
51
+ }),
52
+ AuthorisationChanged: (args) => ({
53
+ owner: args.owner,
54
+ target: args.target,
55
+ isAuthorized: args.isAuthorized
56
+ })
57
+ }
58
+ };
59
+ var mapEvents = (eventArray, type) => eventArray.map(
60
+ (event) => ({
61
+ type: event.__typename,
62
+ blockNumber: event.blockNumber,
63
+ transactionHash: event.transactionID,
64
+ id: event.id,
65
+ data: eventFormat[type][event.__typename](event)
66
+ })
67
+ );
68
+ async function getHistory({ gqlInstance }, name) {
69
+ const { client } = gqlInstance;
70
+ const query = gqlInstance.gql`
71
+ query getHistory($name: String!, $label: String!) {
72
+ domains(where: { name: $name }) {
73
+ events {
74
+ id
75
+ blockNumber
76
+ transactionID
77
+ __typename
78
+ ...on Transfer {
79
+ owner {
80
+ id
81
+ }
82
+ }
83
+ ...on NewOwner {
84
+ owner {
85
+ id
86
+ }
87
+ }
88
+ ...on NewResolver {
89
+ resolver {
90
+ id
91
+ }
92
+ }
93
+ ...on NewTTL {
94
+ ttl
95
+ }
96
+ }
97
+ owner {
98
+ registrations (where: { labelName: $label }) {
99
+ events {
100
+ id
101
+ blockNumber
102
+ transactionID
103
+ __typename
104
+ ...on NameRegistered {
105
+ registrant {
106
+ id
107
+ }
108
+ expiryDate
109
+ }
110
+ ...on NameRenewed {
111
+ expiryDate
112
+ }
113
+ ...on NameTransferred {
114
+ newOwner {
115
+ id
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ resolver {
122
+ events {
123
+ id
124
+ blockNumber
125
+ transactionID
126
+ __typename
127
+ ...on AddrChanged {
128
+ addr {
129
+ id
130
+ }
131
+ }
132
+ ...on MulticoinAddrChanged {
133
+ coinType
134
+ multiaddr: addr
135
+ }
136
+ ...on NameChanged {
137
+ name
138
+ }
139
+ ...on AbiChanged {
140
+ contentType
141
+ }
142
+ ...on PubkeyChanged {
143
+ x
144
+ y
145
+ }
146
+ ...on TextChanged {
147
+ key
148
+ value
149
+ }
150
+ ...on ContenthashChanged {
151
+ hash
152
+ }
153
+ ...on InterfaceChanged {
154
+ interfaceID
155
+ implementer
156
+ }
157
+ ...on AuthorisationChanged {
158
+ owner
159
+ target
160
+ isAuthorized
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ `;
167
+ const label = name.split(".")[0];
168
+ const { domains } = await client.request(query, { name, label });
169
+ if (!domains || domains.length === 0)
170
+ return;
171
+ const [
172
+ {
173
+ events: domainEvents,
174
+ owner: {
175
+ registrations: [{ events: registrationEvents }]
176
+ },
177
+ resolver: { events: resolverEvents }
178
+ }
179
+ ] = domains;
180
+ const domainHistory = mapEvents(domainEvents, "Domain");
181
+ const registrationHistory = mapEvents(registrationEvents, "Registration");
182
+ const resolverHistory = mapEvents(
183
+ resolverEvents.filter(
184
+ (event) => !event.coinType || event.coinType !== "60"
185
+ ),
186
+ "Resolver"
187
+ );
188
+ return {
189
+ domain: domainHistory,
190
+ registration: registrationHistory,
191
+ resolver: resolverHistory
192
+ };
193
+ }
194
+ export {
195
+ getHistory
196
+ };
@@ -0,0 +1,38 @@
1
+ // src/functions/getName.ts
2
+ import { hexEncodeName } from "../utils/hexEncodedName.mjs";
3
+ var raw = async ({ contracts }, address) => {
4
+ const universalResolver = await contracts?.getUniversalResolver();
5
+ const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
6
+ return {
7
+ to: universalResolver.address,
8
+ data: universalResolver.interface.encodeFunctionData("reverse", [
9
+ hexEncodeName(reverseNode)
10
+ ])
11
+ };
12
+ };
13
+ var decode = async ({ contracts }, data, address) => {
14
+ if (data === null)
15
+ return;
16
+ const universalResolver = await contracts?.getUniversalResolver();
17
+ try {
18
+ const result = universalResolver.interface.decodeFunctionResult(
19
+ "reverse",
20
+ data
21
+ );
22
+ return {
23
+ name: result["0"],
24
+ match: result["1"].toLowerCase() === address.toLowerCase(),
25
+ reverseResolverAddress: result["2"],
26
+ resolverAddress: result["3"]
27
+ };
28
+ } catch {
29
+ return { name: void 0 };
30
+ }
31
+ };
32
+ var getName_default = {
33
+ raw,
34
+ decode
35
+ };
36
+ export {
37
+ getName_default as default
38
+ };
@@ -0,0 +1,217 @@
1
+ // src/functions/getNames.ts
2
+ import { truncateFormat } from "../utils/format.mjs";
3
+ import { decryptName } from "../utils/labels.mjs";
4
+ var mapDomain = (domain) => {
5
+ const decrypted = decryptName(domain.name);
6
+ return {
7
+ ...domain,
8
+ name: decrypted,
9
+ truncatedName: truncateFormat(decrypted),
10
+ createdAt: new Date(parseInt(domain.createdAt) * 1e3),
11
+ type: "domain"
12
+ };
13
+ };
14
+ var mapRegistration = (registration) => {
15
+ const decrypted = decryptName(registration.domain.name);
16
+ return {
17
+ expiryDate: new Date(parseInt(registration.expiryDate) * 1e3),
18
+ registrationDate: new Date(parseInt(registration.registrationDate) * 1e3),
19
+ ...registration.domain,
20
+ name: decrypted,
21
+ truncatedName: truncateFormat(decrypted),
22
+ type: "registration"
23
+ };
24
+ };
25
+ var getNames = async ({ gqlInstance }, {
26
+ address: _address,
27
+ type,
28
+ page,
29
+ pageSize = 10,
30
+ orderDirection,
31
+ orderBy
32
+ }) => {
33
+ const address = _address.toLowerCase();
34
+ const client = gqlInstance.client;
35
+ const domainQueryData = `
36
+ id
37
+ labelName
38
+ labelhash
39
+ name
40
+ isMigrated
41
+ parent {
42
+ name
43
+ }
44
+ `;
45
+ let queryVars = {};
46
+ let finalQuery = "";
47
+ if (type === "all") {
48
+ finalQuery = gqlInstance.gql`
49
+ query getNames(
50
+ $id: ID!
51
+ $expiryDate: Int
52
+ ) {
53
+ account(id: $id) {
54
+ registrations(
55
+ first: 1000
56
+ where: { expiryDate_gt: $expiryDate }
57
+ ) {
58
+ registrationDate
59
+ expiryDate
60
+ domain {
61
+ ${domainQueryData}
62
+ }
63
+ }
64
+ domains(first: 1000) {
65
+ ${domainQueryData}
66
+ createdAt
67
+ }
68
+ }
69
+ }
70
+ `;
71
+ queryVars = {
72
+ id: address,
73
+ expiryDate: Math.floor(Date.now() / 1e3) - 90 * 24 * 60 * 60
74
+ };
75
+ } else if (type === "owner") {
76
+ if (typeof page !== "number") {
77
+ finalQuery = gqlInstance.gql`
78
+ query getNames(
79
+ $id: ID!
80
+ $orderBy: Domain_orderBy
81
+ $orderDirection: OrderDirection
82
+ ) {
83
+ account(id: $id) {
84
+ domains(orderBy: $orderBy, orderDirection: $orderDirection) {
85
+ ${domainQueryData}
86
+ createdAt
87
+ }
88
+ }
89
+ }
90
+ `;
91
+ queryVars = {
92
+ id: address,
93
+ orderBy,
94
+ orderDirection
95
+ };
96
+ } else {
97
+ finalQuery = gqlInstance.gql`
98
+ query getNames(
99
+ $id: ID!
100
+ $first: Int
101
+ $skip: Int
102
+ $orderBy: Domain_orderBy
103
+ $orderDirection: OrderDirection
104
+ ) {
105
+ account(id: $id) {
106
+ domains(
107
+ first: $first
108
+ skip: $skip
109
+ orderBy: $orderBy
110
+ orderDirection: $orderDirection
111
+ ) {
112
+ ${domainQueryData}
113
+ createdAt
114
+ }
115
+ }
116
+ }
117
+ `;
118
+ queryVars = {
119
+ id: address,
120
+ first: pageSize,
121
+ skip: (page || 0) * pageSize,
122
+ orderBy,
123
+ orderDirection
124
+ };
125
+ }
126
+ } else if (typeof page !== "number") {
127
+ finalQuery = gqlInstance.gql`
128
+ query getNames(
129
+ $id: ID!
130
+ $orderBy: Registration_orderBy
131
+ $orderDirection: OrderDirection
132
+ $expiryDate: Int
133
+ ) {
134
+ account(id: $id) {
135
+ registrations(
136
+ orderBy: $orderBy
137
+ orderDirection: $orderDirection
138
+ where: { expiryDate_gt: $expiryDate }
139
+ ) {
140
+ registrationDate
141
+ expiryDate
142
+ domain {
143
+ ${domainQueryData}
144
+ }
145
+ }
146
+ }
147
+ }
148
+ `;
149
+ queryVars = {
150
+ id: address,
151
+ orderBy,
152
+ orderDirection,
153
+ expiryDate: Math.floor(Date.now() / 1e3) - 90 * 24 * 60 * 60
154
+ };
155
+ } else {
156
+ finalQuery = gqlInstance.gql`
157
+ query getNames(
158
+ $id: ID!
159
+ $first: Int
160
+ $skip: Int
161
+ $orderBy: Registration_orderBy
162
+ $orderDirection: OrderDirection
163
+ $expiryDate: Int
164
+ ) {
165
+ account(id: $id) {
166
+ registrations(
167
+ first: $first
168
+ skip: $skip
169
+ orderBy: $orderBy
170
+ orderDirection: $orderDirection
171
+ where: { expiryDate_gt: $expiryDate }
172
+ ) {
173
+ registrationDate
174
+ expiryDate
175
+ domain {
176
+ ${domainQueryData}
177
+ }
178
+ }
179
+ }
180
+ }
181
+ `;
182
+ queryVars = {
183
+ id: address,
184
+ first: pageSize,
185
+ skip: (page || 0) * pageSize,
186
+ orderBy,
187
+ orderDirection,
188
+ expiryDate: Math.floor(Date.now() / 1e3) - 90 * 24 * 60 * 60
189
+ };
190
+ }
191
+ const { account } = await client.request(finalQuery, queryVars);
192
+ if (type === "all") {
193
+ return [
194
+ ...account.domains.map(mapDomain),
195
+ ...account.registrations.map(mapRegistration)
196
+ ].sort((a, b) => {
197
+ if (orderDirection === "desc") {
198
+ if (orderBy === "labelName") {
199
+ return b.name.localeCompare(a.name);
200
+ }
201
+ return b.createdAt.getTime() - a.createdAt.getTime();
202
+ }
203
+ if (orderBy === "labelName") {
204
+ return a.name.localeCompare(b.name);
205
+ }
206
+ return a.createdAt.getTime() - b.createdAt.getTime();
207
+ });
208
+ }
209
+ if (type === "owner") {
210
+ return account.domains.map(mapDomain);
211
+ }
212
+ return account.registrations.map(mapRegistration);
213
+ };
214
+ var getNames_default = getNames;
215
+ export {
216
+ getNames_default as default
217
+ };
@@ -0,0 +1,143 @@
1
+ // src/functions/getOwner.ts
2
+ import { ethers } from "ethers";
3
+ import { labelhash } from "../utils/labels.mjs";
4
+ import { namehash as makeNamehash } from "../utils/normalise.mjs";
5
+ var singleContractOwnerRaw = async ({ contracts }, contract, namehash, labels) => {
6
+ switch (contract) {
7
+ case "nameWrapper": {
8
+ const nameWrapper = await contracts?.getNameWrapper();
9
+ return {
10
+ to: nameWrapper.address,
11
+ data: nameWrapper.interface.encodeFunctionData("ownerOf", [namehash])
12
+ };
13
+ }
14
+ case "registry": {
15
+ const registry = await contracts?.getRegistry();
16
+ return {
17
+ to: registry.address,
18
+ data: registry.interface.encodeFunctionData("owner", [namehash])
19
+ };
20
+ }
21
+ case "registrar": {
22
+ const registrar = await contracts?.getBaseRegistrar();
23
+ return {
24
+ to: registrar.address,
25
+ data: registrar.interface.encodeFunctionData("ownerOf", [
26
+ labelhash(labels[0])
27
+ ])
28
+ };
29
+ }
30
+ }
31
+ };
32
+ var raw = async ({ contracts, multicallWrapper }, name, contract) => {
33
+ const namehash = makeNamehash(name);
34
+ const labels = name.split(".");
35
+ if (contract || labels.length === 1) {
36
+ return singleContractOwnerRaw(
37
+ { contracts },
38
+ contract || "registry",
39
+ namehash,
40
+ labels
41
+ );
42
+ }
43
+ const registryData = await singleContractOwnerRaw(
44
+ { contracts },
45
+ "registry",
46
+ namehash,
47
+ labels
48
+ );
49
+ const nameWrapperData = await singleContractOwnerRaw(
50
+ { contracts },
51
+ "nameWrapper",
52
+ namehash,
53
+ labels
54
+ );
55
+ const registrarData = await singleContractOwnerRaw(
56
+ { contracts },
57
+ "registrar",
58
+ namehash,
59
+ labels
60
+ );
61
+ const data = [registryData, nameWrapperData];
62
+ if (labels.length === 2 && labels[1] === "eth") {
63
+ data.push(registrarData);
64
+ }
65
+ return multicallWrapper.raw(data);
66
+ };
67
+ var singleContractOwnerDecode = (data) => ethers.utils.defaultAbiCoder.decode(["address"], data)[0];
68
+ var decode = async ({ contracts, multicallWrapper }, data, name, contract) => {
69
+ if (data === null)
70
+ return;
71
+ const labels = name.split(".");
72
+ if (contract || labels.length === 1) {
73
+ const singleOwner = singleContractOwnerDecode(data);
74
+ const obj = {
75
+ ownershipLevel: contract || "registry"
76
+ };
77
+ if (contract === "registrar") {
78
+ return {
79
+ ...obj,
80
+ registrant: singleOwner
81
+ };
82
+ }
83
+ return {
84
+ ...obj,
85
+ owner: singleOwner
86
+ };
87
+ }
88
+ const result = await multicallWrapper.decode(data);
89
+ if (result === null)
90
+ return;
91
+ const nameWrapper = await contracts?.getNameWrapper();
92
+ const decodedData = [result[0][1], result[1][1], result[2]?.[1]].map(
93
+ (ret) => ret && ret !== "0x" && ethers.utils.defaultAbiCoder.decode(["address"], ret)
94
+ );
95
+ const registryOwner = decodedData[0][0];
96
+ const nameWrapperOwner = decodedData[1][0];
97
+ const registrarOwner = decodedData[2]?.[0];
98
+ if (labels[labels.length - 1] === "eth") {
99
+ if (registrarOwner === nameWrapper.address) {
100
+ return {
101
+ owner: nameWrapperOwner,
102
+ ownershipLevel: "nameWrapper"
103
+ };
104
+ }
105
+ if (registrarOwner) {
106
+ return {
107
+ registrant: registrarOwner,
108
+ owner: registryOwner,
109
+ ownershipLevel: "registrar"
110
+ };
111
+ }
112
+ if (labels.length > 2 && ethers.utils.hexStripZeros(registryOwner) !== "0x") {
113
+ if (registryOwner === nameWrapper.address && ethers.utils.hexStripZeros(nameWrapperOwner) !== "0x") {
114
+ return {
115
+ owner: nameWrapperOwner,
116
+ ownershipLevel: "nameWrapper"
117
+ };
118
+ }
119
+ return {
120
+ owner: registryOwner,
121
+ ownershipLevel: "registry"
122
+ };
123
+ }
124
+ return;
125
+ }
126
+ if (registryOwner === nameWrapper.address && ethers.utils.hexStripZeros(nameWrapperOwner) !== "0x") {
127
+ return {
128
+ owner: nameWrapperOwner,
129
+ ownershipLevel: "nameWrapper"
130
+ };
131
+ }
132
+ if (ethers.utils.hexStripZeros(registryOwner) !== "0x") {
133
+ return {
134
+ owner: registryOwner,
135
+ ownershipLevel: "registry"
136
+ };
137
+ }
138
+ return;
139
+ };
140
+ var getOwner_default = { raw, decode };
141
+ export {
142
+ getOwner_default as default
143
+ };
@@ -0,0 +1,59 @@
1
+ // src/functions/getPrice.ts
2
+ import { utils } from "ethers";
3
+ var raw = async ({ contracts, multicallWrapper }, name, duration, legacy) => {
4
+ const controller = await contracts?.getEthRegistrarController();
5
+ const baseCall = {
6
+ to: controller.address,
7
+ data: controller.interface.encodeFunctionData("rentPrice", [
8
+ name,
9
+ duration
10
+ ])
11
+ };
12
+ if (legacy) {
13
+ return multicallWrapper.raw([
14
+ baseCall,
15
+ {
16
+ to: controller.address,
17
+ data: controller.interface.encodeFunctionData("rentPrice", [name, 0])
18
+ }
19
+ ]);
20
+ }
21
+ return baseCall;
22
+ };
23
+ var decode = async ({ contracts, multicallWrapper }, data, _name, _number, legacy) => {
24
+ if (data === null)
25
+ return;
26
+ const controller = await contracts?.getEthRegistrarController();
27
+ try {
28
+ let base;
29
+ let premium;
30
+ if (legacy) {
31
+ const result = await multicallWrapper.decode(data);
32
+ const [price] = utils.defaultAbiCoder.decode(
33
+ ["uint256"],
34
+ result[0].returnData
35
+ );
36
+ [premium] = utils.defaultAbiCoder.decode(
37
+ ["uint256"],
38
+ result[1].returnData
39
+ );
40
+ base = price.sub(premium);
41
+ } else {
42
+ ;
43
+ [[base, premium]] = controller.interface.decodeFunctionResult(
44
+ "rentPrice",
45
+ data
46
+ );
47
+ }
48
+ return {
49
+ base,
50
+ premium
51
+ };
52
+ } catch {
53
+ return;
54
+ }
55
+ };
56
+ var getPrice_default = { raw, decode };
57
+ export {
58
+ getPrice_default as default
59
+ };