@ensdomains/ensjs 3.0.0-alpha.1 → 3.0.0-alpha.12

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 (333) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/GqlManager.d.ts +3 -0
  3. package/dist/cjs/GqlManager.js +62 -2
  4. package/dist/cjs/contracts/baseRegistrar.d.ts +1 -1
  5. package/dist/cjs/contracts/index.d.ts +3 -3
  6. package/dist/cjs/contracts/multicall.d.ts +1 -1
  7. package/dist/cjs/contracts/registry.d.ts +1 -1
  8. package/dist/cjs/functions/burnFuses.d.ts +3 -2
  9. package/dist/cjs/functions/burnFuses.js +4 -8
  10. package/dist/cjs/functions/createSubname.d.ts +3 -5
  11. package/dist/cjs/functions/createSubname.js +7 -8
  12. package/dist/cjs/functions/deleteSubname.d.ts +3 -3
  13. package/dist/cjs/functions/deleteSubname.js +6 -2
  14. package/dist/cjs/functions/getDNSOwner.d.ts +7 -0
  15. package/dist/cjs/functions/getDNSOwner.js +81 -0
  16. package/dist/cjs/functions/getExpiry.d.ts +9 -2
  17. package/dist/cjs/functions/getExpiry.js +52 -7
  18. package/dist/cjs/functions/getFuses.d.ts +2 -3
  19. package/dist/cjs/functions/getFuses.js +6 -14
  20. package/dist/cjs/functions/getHistory.d.ts +0 -30
  21. package/dist/cjs/functions/getHistory.js +3 -99
  22. package/dist/cjs/functions/getName.d.ts +2 -2
  23. package/dist/cjs/functions/getName.js +1 -1
  24. package/dist/cjs/functions/getOwner.js +7 -6
  25. package/dist/cjs/functions/getProfile.d.ts +4 -1
  26. package/dist/cjs/functions/getProfile.js +102 -24
  27. package/dist/cjs/functions/getRecords.d.ts +1 -0
  28. package/dist/cjs/functions/getSpecificRecord.js +30 -6
  29. package/dist/cjs/functions/getSubnames.d.ts +1 -1
  30. package/dist/cjs/functions/getSubnames.js +7 -7
  31. package/dist/cjs/functions/setName.d.ts +4 -3
  32. package/dist/cjs/functions/setName.js +5 -10
  33. package/dist/cjs/functions/setRecord.d.ts +18 -0
  34. package/dist/cjs/functions/setRecord.js +27 -0
  35. package/dist/cjs/functions/setRecords.d.ts +4 -2
  36. package/dist/cjs/functions/setRecords.js +14 -12
  37. package/dist/cjs/functions/setResolver.d.ts +4 -4
  38. package/dist/cjs/functions/setResolver.js +6 -12
  39. package/dist/cjs/functions/transferName.d.ts +4 -3
  40. package/dist/cjs/functions/transferName.js +9 -13
  41. package/dist/cjs/functions/transferSubname.d.ts +13 -3
  42. package/dist/cjs/functions/transferSubname.js +7 -8
  43. package/dist/cjs/functions/unwrapName.d.ts +4 -3
  44. package/dist/cjs/functions/unwrapName.js +5 -9
  45. package/dist/cjs/functions/wrapName.d.ts +7 -3
  46. package/dist/cjs/functions/wrapName.js +38 -36
  47. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +222 -201
  48. package/dist/cjs/generated/DNSRegistrar.d.ts +68 -64
  49. package/dist/cjs/generated/DNSSECImpl.d.ts +111 -111
  50. package/dist/cjs/generated/DefaultReverseResolver.d.ts +17 -17
  51. package/dist/cjs/generated/ENSRegistry.d.ts +126 -111
  52. package/dist/cjs/generated/ETHRegistrarController.d.ts +111 -109
  53. package/dist/cjs/generated/Multicall.d.ts +60 -60
  54. package/dist/cjs/generated/NameWrapper.d.ts +493 -354
  55. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +11 -7
  56. package/dist/cjs/generated/PublicResolver.d.ts +259 -235
  57. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +11 -7
  58. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +11 -7
  59. package/dist/cjs/generated/ReverseRegistrar.d.ts +112 -103
  60. package/dist/cjs/generated/Root.d.ts +77 -77
  61. package/dist/cjs/generated/SHA1Digest.d.ts +7 -7
  62. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +11 -7
  63. package/dist/cjs/generated/SHA256Digest.d.ts +7 -7
  64. package/dist/cjs/generated/StaticMetadataService.d.ts +7 -7
  65. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +7 -7
  66. package/dist/cjs/generated/UniversalResolver.d.ts +31 -31
  67. package/dist/cjs/generated/common.d.ts +1 -0
  68. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  69. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +3 -26
  70. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  71. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +3 -26
  72. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +14 -4
  73. package/dist/cjs/generated/factories/NameWrapper__factory.js +210 -79
  74. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  75. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +3 -26
  76. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  77. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +3 -26
  78. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  79. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +3 -26
  80. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +3 -15
  81. package/dist/cjs/generated/factories/SHA1Digest__factory.js +3 -26
  82. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  83. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +3 -26
  84. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +3 -15
  85. package/dist/cjs/generated/factories/SHA256Digest__factory.js +3 -26
  86. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  87. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +3 -26
  88. package/dist/cjs/generated/factories/index.d.ts +14 -0
  89. package/dist/cjs/generated/factories/index.js +29 -1
  90. package/dist/cjs/generated/index.d.ts +29 -1
  91. package/dist/cjs/generated/index.js +31 -3
  92. package/dist/cjs/index.d.ts +62 -84
  93. package/dist/cjs/index.js +44 -21
  94. package/dist/cjs/utils/labels.js +5 -4
  95. package/dist/cjs/utils/makeHashIndexes.js +2 -2
  96. package/dist/cjs/utils/normalise.d.ts +1 -0
  97. package/dist/cjs/utils/normalise.js +27 -1
  98. package/dist/cjs/utils/recordHelpers.d.ts +3 -0
  99. package/dist/cjs/utils/recordHelpers.js +42 -15
  100. package/dist/cjs/utils/registerHelpers.js +3 -4
  101. package/dist/cjs/utils/wrapperExpiry.d.ts +5 -0
  102. package/dist/cjs/utils/wrapperExpiry.js +30 -0
  103. package/dist/cjs/utils/writeTx.d.ts +4 -0
  104. package/dist/cjs/utils/writeTx.js +3 -0
  105. package/dist/esm/GqlManager.d.ts +3 -0
  106. package/dist/esm/GqlManager.js +58 -2
  107. package/dist/esm/contracts/baseRegistrar.d.ts +1 -1
  108. package/dist/esm/contracts/index.d.ts +3 -3
  109. package/dist/esm/contracts/multicall.d.ts +1 -1
  110. package/dist/esm/contracts/registry.d.ts +1 -1
  111. package/dist/esm/functions/burnFuses.d.ts +3 -2
  112. package/dist/esm/functions/burnFuses.js +4 -8
  113. package/dist/esm/functions/createSubname.d.ts +3 -5
  114. package/dist/esm/functions/createSubname.js +7 -8
  115. package/dist/esm/functions/deleteSubname.d.ts +3 -3
  116. package/dist/esm/functions/deleteSubname.js +6 -2
  117. package/dist/esm/functions/getDNSOwner.d.ts +7 -0
  118. package/dist/esm/functions/getDNSOwner.js +51 -0
  119. package/dist/esm/functions/getExpiry.d.ts +9 -2
  120. package/dist/esm/functions/getExpiry.js +52 -7
  121. package/dist/esm/functions/getFuses.d.ts +2 -3
  122. package/dist/esm/functions/getFuses.js +7 -15
  123. package/dist/esm/functions/getHistory.d.ts +0 -30
  124. package/dist/esm/functions/getHistory.js +2 -96
  125. package/dist/esm/functions/getName.d.ts +2 -2
  126. package/dist/esm/functions/getName.js +1 -1
  127. package/dist/esm/functions/getOwner.js +7 -6
  128. package/dist/esm/functions/getProfile.d.ts +4 -1
  129. package/dist/esm/functions/getProfile.js +102 -24
  130. package/dist/esm/functions/getRecords.d.ts +1 -0
  131. package/dist/esm/functions/getSpecificRecord.js +30 -6
  132. package/dist/esm/functions/getSubnames.d.ts +1 -1
  133. package/dist/esm/functions/getSubnames.js +4 -4
  134. package/dist/esm/functions/setName.d.ts +4 -3
  135. package/dist/esm/functions/setName.js +5 -10
  136. package/dist/esm/functions/setRecord.d.ts +18 -0
  137. package/dist/esm/functions/setRecord.js +24 -0
  138. package/dist/esm/functions/setRecords.d.ts +4 -2
  139. package/dist/esm/functions/setRecords.js +14 -12
  140. package/dist/esm/functions/setResolver.d.ts +4 -4
  141. package/dist/esm/functions/setResolver.js +6 -12
  142. package/dist/esm/functions/transferName.d.ts +4 -3
  143. package/dist/esm/functions/transferName.js +9 -13
  144. package/dist/esm/functions/transferSubname.d.ts +13 -3
  145. package/dist/esm/functions/transferSubname.js +7 -8
  146. package/dist/esm/functions/unwrapName.d.ts +4 -3
  147. package/dist/esm/functions/unwrapName.js +5 -9
  148. package/dist/esm/functions/wrapName.d.ts +7 -3
  149. package/dist/esm/functions/wrapName.js +38 -36
  150. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +222 -201
  151. package/dist/esm/generated/DNSRegistrar.d.ts +68 -64
  152. package/dist/esm/generated/DNSSECImpl.d.ts +111 -111
  153. package/dist/esm/generated/DefaultReverseResolver.d.ts +17 -17
  154. package/dist/esm/generated/ENSRegistry.d.ts +126 -111
  155. package/dist/esm/generated/ETHRegistrarController.d.ts +111 -109
  156. package/dist/esm/generated/Multicall.d.ts +60 -60
  157. package/dist/esm/generated/NameWrapper.d.ts +493 -354
  158. package/dist/esm/generated/P256SHA256Algorithm.d.ts +11 -7
  159. package/dist/esm/generated/PublicResolver.d.ts +259 -235
  160. package/dist/esm/generated/RSASHA1Algorithm.d.ts +11 -7
  161. package/dist/esm/generated/RSASHA256Algorithm.d.ts +11 -7
  162. package/dist/esm/generated/ReverseRegistrar.d.ts +112 -103
  163. package/dist/esm/generated/Root.d.ts +77 -77
  164. package/dist/esm/generated/SHA1Digest.d.ts +7 -7
  165. package/dist/esm/generated/SHA1NSEC3Digest.d.ts +11 -7
  166. package/dist/esm/generated/SHA256Digest.d.ts +7 -7
  167. package/dist/esm/generated/StaticMetadataService.d.ts +7 -7
  168. package/dist/esm/generated/TLDPublicSuffixList.d.ts +7 -7
  169. package/dist/esm/generated/UniversalResolver.d.ts +31 -31
  170. package/dist/esm/generated/common.d.ts +1 -0
  171. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  172. package/dist/esm/generated/factories/DNSRegistrar__factory.js +2 -25
  173. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  174. package/dist/esm/generated/factories/DNSSECImpl__factory.js +2 -25
  175. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +14 -4
  176. package/dist/esm/generated/factories/NameWrapper__factory.js +210 -79
  177. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  178. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +2 -25
  179. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  180. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +2 -25
  181. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  182. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +2 -25
  183. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +3 -15
  184. package/dist/esm/generated/factories/SHA1Digest__factory.js +2 -25
  185. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  186. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +2 -25
  187. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +3 -15
  188. package/dist/esm/generated/factories/SHA256Digest__factory.js +2 -25
  189. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  190. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +2 -25
  191. package/dist/esm/generated/factories/index.d.ts +14 -0
  192. package/dist/esm/generated/factories/index.js +14 -0
  193. package/dist/esm/generated/index.d.ts +29 -1
  194. package/dist/esm/generated/index.js +15 -1
  195. package/dist/esm/index.d.ts +62 -84
  196. package/dist/esm/index.js +44 -21
  197. package/dist/esm/utils/labels.js +5 -4
  198. package/dist/esm/utils/makeHashIndexes.js +2 -2
  199. package/dist/esm/utils/normalise.d.ts +1 -0
  200. package/dist/esm/utils/normalise.js +25 -0
  201. package/dist/esm/utils/recordHelpers.d.ts +3 -0
  202. package/dist/esm/utils/recordHelpers.js +40 -14
  203. package/dist/esm/utils/registerHelpers.js +3 -4
  204. package/dist/esm/utils/wrapperExpiry.d.ts +5 -0
  205. package/dist/esm/utils/wrapperExpiry.js +26 -0
  206. package/dist/esm/utils/writeTx.d.ts +4 -0
  207. package/dist/esm/utils/writeTx.js +1 -0
  208. package/package.json +24 -14
  209. package/src/@types/dns-packet/index.d.ts +114 -0
  210. package/src/ABIs/Multicall.json +452 -0
  211. package/src/GqlManager.test.ts +170 -0
  212. package/src/GqlManager.ts +67 -2
  213. package/src/contracts/index.ts +1 -1
  214. package/src/{tests → functions}/batch.test.ts +7 -7
  215. package/src/{tests → functions}/batchWrappers.test.ts +6 -6
  216. package/src/{tests → functions}/burnFuses.test.ts +12 -15
  217. package/src/functions/burnFuses.ts +9 -11
  218. package/src/{tests → functions}/createSubname.test.ts +9 -17
  219. package/src/functions/createSubname.ts +20 -14
  220. package/src/{tests → functions}/deleteSubname.test.ts +12 -31
  221. package/src/functions/deleteSubname.ts +10 -12
  222. package/src/functions/getDNSOwner.test.ts +118 -0
  223. package/src/functions/getDNSOwner.ts +61 -0
  224. package/src/functions/getExpiry.test.ts +59 -0
  225. package/src/functions/getExpiry.ts +87 -9
  226. package/src/{tests → functions}/getFuses.test.ts +16 -37
  227. package/src/functions/getFuses.ts +12 -17
  228. package/src/functions/getHistory.test.ts +29 -0
  229. package/src/functions/getHistory.ts +2 -127
  230. package/src/{tests → functions}/getName.test.ts +6 -6
  231. package/src/functions/getName.ts +1 -1
  232. package/src/{tests → functions}/getNames.test.ts +98 -69
  233. package/src/{tests → functions}/getOwner.test.ts +21 -24
  234. package/src/functions/getOwner.ts +7 -7
  235. package/src/functions/getProfile.test.ts +143 -0
  236. package/src/functions/getProfile.ts +151 -24
  237. package/src/functions/getRecords.ts +1 -0
  238. package/src/functions/getResolver.test.ts +15 -0
  239. package/src/{tests → functions}/getSpecificRecord.test.ts +17 -14
  240. package/src/functions/getSpecificRecord.ts +38 -12
  241. package/src/functions/getSubnames.test.ts +35 -0
  242. package/src/functions/getSubnames.ts +76 -67
  243. package/src/{tests → functions}/makeCommitment.test.ts +2 -2
  244. package/src/functions/normalise.test.ts +22 -0
  245. package/src/{tests → functions}/setName.test.ts +11 -11
  246. package/src/functions/setName.ts +15 -17
  247. package/src/functions/setRecord.test.ts +103 -0
  248. package/src/functions/setRecord.ts +63 -0
  249. package/src/{tests → functions}/setRecords.test.ts +16 -13
  250. package/src/functions/setRecords.ts +22 -16
  251. package/src/{tests → functions}/setResolver.test.ts +13 -19
  252. package/src/functions/setResolver.ts +15 -20
  253. package/src/{tests → functions}/transferName.test.ts +20 -35
  254. package/src/functions/transferName.ts +19 -22
  255. package/src/{tests → functions}/transferSubname.test.ts +14 -33
  256. package/src/functions/transferSubname.ts +39 -13
  257. package/src/{tests → functions}/unwrapName.test.ts +16 -30
  258. package/src/functions/unwrapName.ts +20 -15
  259. package/src/functions/wrapName.test.ts +142 -0
  260. package/src/functions/wrapName.ts +63 -49
  261. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  262. package/src/generated/DNSRegistrar.ts +103 -89
  263. package/src/generated/DNSSECImpl.ts +180 -149
  264. package/src/generated/DefaultReverseResolver.ts +37 -21
  265. package/src/generated/ENSRegistry.ts +257 -184
  266. package/src/generated/ETHRegistrarController.ts +252 -191
  267. package/src/generated/Multicall.ts +73 -57
  268. package/src/generated/NameWrapper.ts +979 -649
  269. package/src/generated/P256SHA256Algorithm.ts +21 -16
  270. package/src/generated/PublicResolver.ts +452 -362
  271. package/src/generated/RSASHA1Algorithm.ts +21 -16
  272. package/src/generated/RSASHA256Algorithm.ts +21 -16
  273. package/src/generated/ReverseRegistrar.ts +193 -141
  274. package/src/generated/Root.ts +146 -86
  275. package/src/generated/SHA1Digest.ts +12 -11
  276. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  277. package/src/generated/SHA256Digest.ts +12 -11
  278. package/src/generated/StaticMetadataService.ts +22 -6
  279. package/src/generated/TLDPublicSuffixList.ts +10 -6
  280. package/src/generated/UniversalResolver.ts +44 -40
  281. package/src/generated/common.ts +2 -0
  282. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  283. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  284. package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
  285. package/src/generated/factories/NameWrapper__factory.ts +210 -79
  286. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  287. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  288. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  289. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  290. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  291. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  292. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  293. package/src/generated/factories/index.ts +14 -0
  294. package/src/generated/index.ts +29 -1
  295. package/src/index.ts +117 -47
  296. package/src/tests/populateTransaction.test.ts +40 -0
  297. package/src/tests/setup.ts +17 -13
  298. package/src/tests/signerInjection.test.ts +46 -0
  299. package/src/tests/withProvider.test.ts +3 -3
  300. package/src/utils/labels.ts +6 -4
  301. package/src/utils/makeHashIndexes.ts +4 -4
  302. package/src/utils/normalise.ts +29 -0
  303. package/src/utils/recordHelpers.ts +52 -18
  304. package/src/utils/registerHelpers.ts +3 -4
  305. package/src/utils/wrapperExpiry.ts +31 -0
  306. package/src/utils/writeTx.ts +6 -0
  307. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  308. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  309. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  310. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  311. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  312. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  313. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  314. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  315. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  316. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  317. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  318. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  319. package/src/ABIs/ETHRegistrarController.json +0 -494
  320. package/src/ABIs/NameWrapper.json +0 -1183
  321. package/src/ABIs/PublicResolver.json +0 -875
  322. package/src/ABIs/ReverseRegistrar.json +0 -323
  323. package/src/ABIs/StaticMetadataService.json +0 -32
  324. package/src/ABIs/UniversalResolver.json +0 -187
  325. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  326. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  327. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  328. package/src/tests/getExpiry.test.ts +0 -37
  329. package/src/tests/getHistory.test.ts +0 -101
  330. package/src/tests/getProfile.test.ts +0 -102
  331. package/src/tests/getResolver.test.ts +0 -19
  332. package/src/tests/getSubnames.test.ts +0 -31
  333. package/src/tests/wrapName.test.ts +0 -67
package/README.md CHANGED
@@ -9,6 +9,8 @@ We also use undeployed contracts under the hood, so this **will not** work on an
9
9
 
10
10
  Given the current development status, we're actively seeking feedback so feel free to create an issue or PR if you notice something!
11
11
 
12
+ If you are looking for documentation for **version 2**, it an be found [here](https://github.com/ensdomains/ensjs#readme).
13
+
12
14
  ## Features
13
15
 
14
16
  - Dynamically load **everything**
@@ -1,3 +1,6 @@
1
+ export declare const enter: (node: any) => any;
2
+ export declare const requestMiddleware: (visit: any, parse: any) => (request: any) => any;
3
+ export declare const responseMiddleware: (traverse: any) => (response: any) => any;
1
4
  export default class GqlManager {
2
5
  gql: any;
3
6
  client?: any | null;
@@ -23,13 +23,73 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.responseMiddleware = exports.requestMiddleware = exports.enter = void 0;
27
+ // @ts-nocheck
28
+ const normalise_1 = require("./utils/normalise");
29
+ const generateSelection = (selection) => ({
30
+ kind: 'Field',
31
+ name: {
32
+ kind: 'Name',
33
+ value: selection,
34
+ },
35
+ arguments: [],
36
+ directives: [],
37
+ alias: undefined,
38
+ selectionSet: undefined,
39
+ });
40
+ const enter = (node) => {
41
+ if (node.kind === 'SelectionSet') {
42
+ const id = node.selections.find((x) => x.name && x.name.value === 'id');
43
+ const name = node.selections.find((x) => x.name && x.name.value === 'name');
44
+ if (!id && name) {
45
+ node.selections = [...node.selections, generateSelection('id')];
46
+ return node;
47
+ }
48
+ }
49
+ };
50
+ exports.enter = enter;
51
+ const requestMiddleware = (visit, parse) => (request) => {
52
+ const requestBody = JSON.parse(request.body);
53
+ const rawQuery = requestBody.query;
54
+ const parsedQuery = parse(rawQuery);
55
+ const updatedQuery = visit(parsedQuery, { enter: exports.enter });
56
+ const updatedBody = { ...requestBody, query: updatedQuery.loc.source.body };
57
+ return {
58
+ ...request,
59
+ body: JSON.stringify(updatedBody),
60
+ };
61
+ };
62
+ exports.requestMiddleware = requestMiddleware;
63
+ const responseMiddleware = (traverse) => (response) => {
64
+ traverse(response).forEach(function (responseItem) {
65
+ if (responseItem instanceof Object && responseItem.name) {
66
+ //Name already in hashed form
67
+ if (responseItem.name && responseItem.name.includes('[')) {
68
+ return;
69
+ }
70
+ const hashedName = (0, normalise_1.namehash)(responseItem.name);
71
+ if (responseItem.id !== hashedName) {
72
+ this.update({ ...responseItem, name: hashedName, invalidName: true });
73
+ }
74
+ }
75
+ });
76
+ return response;
77
+ };
78
+ exports.responseMiddleware = responseMiddleware;
26
79
  class GqlManager {
27
80
  gql = () => null;
28
81
  client = null;
29
82
  setUrl = async (url) => {
30
83
  if (url) {
31
- const imported = await Promise.resolve().then(() => __importStar(require('graphql-request')));
32
- this.client = new imported.GraphQLClient(url);
84
+ const [imported, traverse, { visit, parse }] = await Promise.all([
85
+ Promise.resolve().then(() => __importStar(require('graphql-request'))),
86
+ Promise.resolve().then(() => __importStar(require('traverse'))),
87
+ Promise.resolve().then(() => __importStar(require('graphql/language'))),
88
+ ]);
89
+ this.client = new imported.GraphQLClient(url, {
90
+ requestMiddleware: (0, exports.requestMiddleware)(visit, parse),
91
+ responseMiddleware: (0, exports.responseMiddleware)(traverse.default),
92
+ });
33
93
  this.gql = imported.gql;
34
94
  }
35
95
  else {
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/BaseRegistrarImplementation").BaseRegistrarImplementation;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").BaseRegistrarImplementation;
3
3
  export default _default;
@@ -7,10 +7,10 @@ export default class ContractManager {
7
7
  private generateContractGetter;
8
8
  getPublicResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").PublicResolver>;
9
9
  getUniversalResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").UniversalResolver>;
10
- getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/ENSRegistry").ENSRegistry>;
10
+ getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ENSRegistry>;
11
11
  getReverseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ReverseRegistrar>;
12
12
  getNameWrapper: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").NameWrapper>;
13
- getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/BaseRegistrarImplementation").BaseRegistrarImplementation>;
13
+ getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").BaseRegistrarImplementation>;
14
14
  getEthRegistrarController: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ETHRegistrarController>;
15
- getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated/Multicall").Multicall>;
15
+ getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").Multicall>;
16
16
  }
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/Multicall").Multicall;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").Multicall;
3
3
  export default _default;
@@ -1,3 +1,3 @@
1
1
  import { ethers } from 'ethers';
2
- declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated/ENSRegistry").ENSRegistry;
2
+ declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").ENSRegistry;
3
3
  export default _default;
@@ -1,4 +1,5 @@
1
- import { ethers } from 'ethers';
2
1
  import { ENSArgs } from '..';
3
2
  import { FuseOptions } from '../@types/FuseOptions';
4
- export default function ({ contracts, provider }: ENSArgs<'contracts' | 'provider'>, name: string, fusesToBurn: FuseOptions): Promise<ethers.ContractTransaction>;
3
+ export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { fusesToBurn, }: {
4
+ fusesToBurn: FuseOptions;
5
+ }): Promise<import("ethers").PopulatedTransaction>;
@@ -3,16 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const ethers_1 = require("ethers");
7
6
  const generateFuseInput_1 = __importDefault(require("../utils/generateFuseInput"));
8
- async function default_1({ contracts, provider }, name, fusesToBurn) {
9
- const signer = provider?.getSigner();
10
- if (!signer) {
11
- throw new Error('No signer found');
12
- }
7
+ const normalise_1 = require("../utils/normalise");
8
+ async function default_1({ contracts, signer }, name, { fusesToBurn, }) {
13
9
  const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
14
- const namehash = ethers_1.ethers.utils.namehash(name);
10
+ const hash = (0, normalise_1.namehash)(name);
15
11
  const encodedFuses = (0, generateFuseInput_1.default)(fusesToBurn);
16
- return nameWrapper.burnFuses(namehash, encodedFuses);
12
+ return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
17
13
  }
18
14
  exports.default = default_1;
@@ -1,19 +1,17 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { ENSArgs } from '..';
3
3
  import { FuseOptions } from '../@types/FuseOptions';
4
+ import { Expiry } from '../utils/wrapperExpiry';
4
5
  declare type BaseArgs = {
5
- name: string;
6
6
  owner: string;
7
7
  resolverAddress?: string;
8
8
  contract: 'registry' | 'nameWrapper';
9
- options?: {
10
- addressOrIndex?: string | number;
11
- };
12
9
  };
13
10
  declare type NameWrapperArgs = {
14
11
  contract: 'nameWrapper';
15
12
  fuses?: FuseOptions;
13
+ expiry?: Expiry;
16
14
  } & BaseArgs;
17
15
  declare type Args = BaseArgs | NameWrapperArgs;
18
- export default function ({ contracts, provider }: ENSArgs<'contracts' | 'provider'>, { name, owner, resolverAddress, contract, options, ...wrapperArgs }: Args): Promise<ethers.ContractTransaction>;
16
+ export default function ({ contracts, signer, getExpiry, }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>, name: string, { owner, resolverAddress, contract, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
19
17
  export {};
@@ -5,11 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const ethers_1 = require("ethers");
7
7
  const generateFuseInput_1 = __importDefault(require("../utils/generateFuseInput"));
8
- async function default_1({ contracts, provider }, { name, owner, resolverAddress, contract, options, ...wrapperArgs }) {
9
- const signer = provider?.getSigner(options?.addressOrIndex);
10
- if (!signer) {
11
- throw new Error('No signer found');
12
- }
8
+ const normalise_1 = require("../utils/normalise");
9
+ const wrapperExpiry_1 = require("../utils/wrapperExpiry");
10
+ async function default_1({ contracts, signer, getExpiry, }, name, { owner, resolverAddress, contract, ...wrapperArgs }) {
13
11
  const labels = name.split('.');
14
12
  if (labels.length === 1) {
15
13
  throw new Error('Subnames in ENS.js can only be created for 2LDs, not TLDs');
@@ -22,18 +20,19 @@ async function default_1({ contracts, provider }, { name, owner, resolverAddress
22
20
  }
23
21
  const label = labels.shift();
24
22
  const labelhash = ethers_1.ethers.utils.solidityKeccak256(['string'], [label]);
25
- const parentNodehash = ethers_1.ethers.utils.namehash(labels.join('.'));
23
+ const parentNodehash = (0, normalise_1.namehash)(labels.join('.'));
26
24
  switch (contract) {
27
25
  case 'registry': {
28
26
  const registry = (await contracts?.getRegistry()).connect(signer);
29
- return registry.setSubnodeRecord(parentNodehash, labelhash, owner, resolverAddress, 0);
27
+ return registry.populateTransaction.setSubnodeRecord(parentNodehash, labelhash, owner, resolverAddress, 0);
30
28
  }
31
29
  case 'nameWrapper': {
32
30
  const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
31
+ const expiry = await (0, wrapperExpiry_1.makeExpiry)({ getExpiry }, name, 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined);
33
32
  const generatedFuses = 'fuses' in wrapperArgs && wrapperArgs.fuses
34
33
  ? (0, generateFuseInput_1.default)(wrapperArgs.fuses)
35
34
  : '0';
36
- return nameWrapper.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses);
35
+ return nameWrapper.populateTransaction.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses, expiry);
37
36
  }
38
37
  default: {
39
38
  throw new Error(`Unknown contract: ${contract}`);
@@ -1,4 +1,4 @@
1
1
  import { ENSArgs } from '..';
2
- export default function ({ contracts, provider, transferSubname, }: ENSArgs<'contracts' | 'provider' | 'transferSubname'>, name: string, contract: 'registry' | 'nameWrapper', options?: {
3
- addressOrIndex?: string | number;
4
- }): Promise<import("ethers").ContractTransaction>;
2
+ export default function ({ transferSubname, signer }: ENSArgs<'transferSubname' | 'signer'>, name: string, { contract, }: {
3
+ contract: 'registry' | 'nameWrapper';
4
+ }): Promise<import("ethers").PopulatedTransaction>;
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- async function default_1({ contracts, provider, transferSubname, }, name, contract, options) {
4
- return transferSubname(name, contract, '0x0000000000000000000000000000000000000000', options);
3
+ async function default_1({ transferSubname, signer }, name, { contract, }) {
4
+ return transferSubname.populateTransaction(name, {
5
+ contract,
6
+ owner: '0x0000000000000000000000000000000000000000',
7
+ signer,
8
+ });
5
9
  }
6
10
  exports.default = default_1;
@@ -0,0 +1,7 @@
1
+ import * as packet from 'dns-packet';
2
+ export declare function encodeURLParams(p: {
3
+ [key: string]: string;
4
+ }): string;
5
+ export declare const getDNS: (q: packet.Packet) => Promise<packet.Packet>;
6
+ export declare const dnsQuery: (qtype: string, qname: string) => Promise<packet.Packet>;
7
+ export default function (_: any, dnsName: string): Promise<any>;
@@ -0,0 +1,81 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.dnsQuery = exports.getDNS = exports.encodeURLParams = void 0;
27
+ const packet = __importStar(require("dns-packet"));
28
+ function encodeURLParams(p) {
29
+ return Object.entries(p)
30
+ .map((kv) => kv.map(encodeURIComponent).join('='))
31
+ .join('&');
32
+ }
33
+ exports.encodeURLParams = encodeURLParams;
34
+ const getDNS = async (q) => {
35
+ const response = await global.fetch(`https://cloudflare-dns.com/dns-query?${encodeURLParams({
36
+ ct: 'application/dns-udpwireformat',
37
+ dns: packet.encode(q)?.toString('base64'),
38
+ ts: Date.now().toString(),
39
+ })}`);
40
+ const arrayBuffer = await response.arrayBuffer();
41
+ // @ts-ignore:next-line
42
+ const fromArrayBuffer = Buffer.from(arrayBuffer);
43
+ return packet.decode(fromArrayBuffer);
44
+ };
45
+ exports.getDNS = getDNS;
46
+ const dnsQuery = async (qtype, qname) => {
47
+ const query = {
48
+ type: 'query',
49
+ id: 1,
50
+ flags: packet.RECURSION_DESIRED,
51
+ questions: [
52
+ {
53
+ type: qtype,
54
+ class: 'IN',
55
+ name: qname,
56
+ },
57
+ ],
58
+ additionals: [
59
+ {
60
+ type: 'OPT',
61
+ class: 'IN',
62
+ name: '.',
63
+ udpPayloadSize: 4096,
64
+ flags: packet.DNSSEC_OK,
65
+ },
66
+ ],
67
+ answers: [],
68
+ };
69
+ const response = await (0, exports.getDNS)(query);
70
+ if (response.rcode !== 'NOERROR') {
71
+ throw new Error(`DNS query failed: ${response.rcode}`);
72
+ }
73
+ return response;
74
+ };
75
+ exports.dnsQuery = dnsQuery;
76
+ async function default_1(_, dnsName) {
77
+ const result = await (0, exports.dnsQuery)('TXT', `_ens.${dnsName}`);
78
+ const address = result?.answers?.[0]?.data?.[0]?.toString()?.split('=')?.[1];
79
+ return address;
80
+ }
81
+ exports.default = default_1;
@@ -1,10 +1,17 @@
1
1
  import { ENSArgs } from '..';
2
+ declare type ContractOption = 'registrar' | 'nameWrapper';
3
+ declare type Args = {
4
+ contract?: ContractOption;
5
+ };
2
6
  declare const _default: {
3
- raw: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, name: string) => Promise<{
7
+ raw: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, name: string, { contract }?: Args) => Promise<{
4
8
  to: string;
5
9
  data: string;
6
10
  }>;
7
- decode: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, data: string) => Promise<{
11
+ decode: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, data: string, name: string, { contract }?: Args) => Promise<{
12
+ expiry: Date;
13
+ gracePeriod: null;
14
+ } | {
8
15
  expiry: Date | null;
9
16
  gracePeriod: number;
10
17
  } | undefined>;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const utils_1 = require("ethers/lib/utils");
4
- const raw = async ({ contracts, multicallWrapper }, name) => {
5
- const baseRegistrar = await contracts?.getBaseRegistrar();
6
- const labels = name.split('.');
4
+ const normalise_1 = require("../utils/normalise");
5
+ const getRegistrarExpiry = async ({ contracts, multicallWrapper }, labels) => {
7
6
  if (labels.length > 2 || labels[1] !== 'eth') {
8
- throw new Error('Only .eth names have expiry dates');
7
+ throw new Error('Only .eth names have expiry dates on the registrar');
9
8
  }
9
+ const baseRegistrar = await contracts?.getBaseRegistrar();
10
10
  const expiryCall = baseRegistrar.interface.encodeFunctionData('nameExpires', [
11
11
  (0, utils_1.solidityKeccak256)(['string'], [labels[0]]),
12
12
  ]);
@@ -22,9 +22,32 @@ const raw = async ({ contracts, multicallWrapper }, name) => {
22
22
  },
23
23
  ]);
24
24
  };
25
- const decode = async ({ contracts, multicallWrapper }, data) => {
26
- if (data === null)
27
- return;
25
+ const getWrapperExpiry = async ({ contracts }, labels) => {
26
+ const nameWrapper = await contracts?.getNameWrapper();
27
+ const expiryCall = nameWrapper.interface.encodeFunctionData('getData', [
28
+ (0, normalise_1.namehash)(labels.join('.')),
29
+ ]);
30
+ return {
31
+ to: nameWrapper.address,
32
+ data: expiryCall,
33
+ };
34
+ };
35
+ const getContractToUse = (contract, labels) => {
36
+ if (contract)
37
+ return contract;
38
+ if (labels.length === 2 && labels[1] === 'eth') {
39
+ return 'registrar';
40
+ }
41
+ return 'nameWrapper';
42
+ };
43
+ const raw = async (ensArgs, name, { contract } = {}) => {
44
+ const labels = name.split('.');
45
+ const contractToUse = getContractToUse(contract, labels);
46
+ return contractToUse === 'nameWrapper'
47
+ ? getWrapperExpiry(ensArgs, labels)
48
+ : getRegistrarExpiry(ensArgs, labels);
49
+ };
50
+ const decodeRegistrarExpiry = async ({ contracts, multicallWrapper }, data) => {
28
51
  const result = await multicallWrapper.decode(data);
29
52
  const baseRegistrar = await contracts?.getBaseRegistrar();
30
53
  try {
@@ -39,6 +62,28 @@ const decode = async ({ contracts, multicallWrapper }, data) => {
39
62
  return;
40
63
  }
41
64
  };
65
+ const decodeWrapperExpiry = async ({ contracts }, data) => {
66
+ const nameWrapper = await contracts?.getNameWrapper();
67
+ try {
68
+ const [_owner, _fuses, expiry] = nameWrapper.interface.decodeFunctionResult('getData', data);
69
+ return {
70
+ expiry: new Date(expiry * 1000),
71
+ gracePeriod: null,
72
+ };
73
+ }
74
+ catch {
75
+ return;
76
+ }
77
+ };
78
+ const decode = async (ensArgs, data, name, { contract } = {}) => {
79
+ if (data === null)
80
+ return;
81
+ const labels = name.split('.');
82
+ const contractToUse = getContractToUse(contract, labels);
83
+ return contractToUse === 'nameWrapper'
84
+ ? decodeWrapperExpiry(ensArgs, data)
85
+ : decodeRegistrarExpiry(ensArgs, data);
86
+ };
42
87
  exports.default = {
43
88
  raw,
44
89
  decode,
@@ -7,10 +7,9 @@ declare const _default: {
7
7
  }>;
8
8
  decode: ({ contracts }: ENSArgs<"contracts">, data: string, name: string) => Promise<{
9
9
  fuseObj: {
10
- [k: string]: any;
10
+ [k: string]: boolean;
11
11
  };
12
- vulnerability: any;
13
- vulnerableNode: null;
12
+ expiryDate: Date;
14
13
  rawFuses: BigNumber;
15
14
  } | undefined>;
16
15
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ethers_1 = require("ethers");
4
4
  const fuses_1 = require("../utils/fuses");
5
+ const normalise_1 = require("../utils/normalise");
5
6
  const NameSafety = [
6
7
  'Safe',
7
8
  'RegistrantNotWrapped',
@@ -14,14 +15,15 @@ const raw = async ({ contracts }, name) => {
14
15
  return {
15
16
  to: nameWrapper.address,
16
17
  data: nameWrapper.interface.encodeFunctionData('getFuses', [
17
- ethers_1.ethers.utils.namehash(name),
18
+ (0, normalise_1.namehash)(name),
18
19
  ]),
19
20
  };
20
21
  };
21
22
  const decode = async ({ contracts }, data, name) => {
22
23
  const nameWrapper = await contracts?.getNameWrapper();
23
24
  try {
24
- const [fuses, vulnerability, vulnerableNode] = nameWrapper.interface.decodeFunctionResult('getFuses', data);
25
+ const [_fuses, expiry] = nameWrapper.interface.decodeFunctionResult('getFuses', data);
26
+ const fuses = ethers_1.BigNumber.from(_fuses);
25
27
  const fuseObj = Object.fromEntries(Object.keys(fuses_1.testable).map((fuseEnum) => [
26
28
  fuseEnum
27
29
  .toLowerCase()
@@ -34,20 +36,10 @@ const decode = async ({ contracts }, data, name) => {
34
36
  else {
35
37
  fuseObj.canDoEverything = false;
36
38
  }
37
- let returnVulnerableNode = null;
38
- if (ethers_1.utils.hexStripZeros(vulnerableNode) !== '0x') {
39
- name.split('.').forEach((label, index, arr) => {
40
- const node = arr.slice(index).join('.');
41
- const nodehash = ethers_1.utils.namehash(node);
42
- if (nodehash === vulnerableNode) {
43
- returnVulnerableNode = node;
44
- }
45
- });
46
- }
39
+ const expiryDate = new Date(expiry * 1000);
47
40
  return {
48
41
  fuseObj,
49
- vulnerability: NameSafety[vulnerability] || vulnerability,
50
- vulnerableNode: returnVulnerableNode,
42
+ expiryDate,
51
43
  rawFuses: fuses,
52
44
  };
53
45
  }
@@ -22,33 +22,3 @@ export declare function getHistory({ gqlInstance }: ENSArgs<'gqlInstance'>, name
22
22
  data: Record<string, any>;
23
23
  }[];
24
24
  } | undefined>;
25
- export declare function getHistoryWithDetail({ contracts, gqlInstance, provider, }: ENSArgs<'contracts' | 'gqlInstance' | 'provider'>, name: string): Promise<{
26
- domain: {
27
- type: any;
28
- blockNumber: any;
29
- transactionHash: any;
30
- id: any;
31
- data: Record<string, any>;
32
- }[];
33
- registration: {
34
- type: any;
35
- blockNumber: any;
36
- transactionHash: any;
37
- id: any;
38
- data: Record<string, any>;
39
- }[];
40
- resolver: {
41
- type: any;
42
- blockNumber: any;
43
- transactionHash: any;
44
- id: any;
45
- data: Record<string, any>;
46
- }[];
47
- } | undefined>;
48
- export declare function getHistoryDetailForTransactionHash({ contracts, provider }: ENSArgs<'contracts' | 'provider'>, hash: string, indexInTransaction?: number): Promise<({
49
- key: any;
50
- value: any;
51
- } | undefined)[] | {
52
- key: any;
53
- value: any;
54
- } | undefined>;