@ensdomains/ensjs 3.0.0-alpha.6 → 3.0.0-alpha.60

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 (777) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/cjs/GqlManager.js +109 -36
  4. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  5. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  6. package/dist/cjs/contracts/dnsRegistrar.js +25 -0
  7. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  8. package/dist/cjs/contracts/factories.js +16 -0
  9. package/dist/cjs/contracts/getContractAddress.js +68 -43
  10. package/dist/cjs/contracts/index.js +56 -32
  11. package/dist/cjs/contracts/multicall.js +24 -21
  12. package/dist/cjs/contracts/nameWrapper.js +24 -3
  13. package/dist/cjs/contracts/publicResolver.js +24 -3
  14. package/dist/cjs/contracts/registry.js +24 -3
  15. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  16. package/dist/cjs/contracts/types.js +15 -1
  17. package/dist/cjs/contracts/universalResolver.js +24 -3
  18. package/dist/cjs/functions/batch.js +51 -16
  19. package/dist/cjs/functions/batchWrappers.js +130 -67
  20. package/dist/cjs/functions/commitName.js +48 -0
  21. package/dist/cjs/functions/createSubname.js +74 -34
  22. package/dist/cjs/functions/deleteSubname.js +69 -7
  23. package/dist/cjs/functions/getAvailable.js +55 -0
  24. package/dist/cjs/functions/getDNSOwner.js +78 -72
  25. package/dist/cjs/functions/getDecryptedName.js +111 -0
  26. package/dist/cjs/functions/getExpiry.js +111 -41
  27. package/dist/cjs/functions/getHistory.js +178 -193
  28. package/dist/cjs/functions/getName.js +51 -28
  29. package/dist/cjs/functions/getNames.js +299 -104
  30. package/dist/cjs/functions/getOwner.js +192 -123
  31. package/dist/cjs/functions/getPrice.js +119 -43
  32. package/dist/cjs/functions/getProfile.js +452 -253
  33. package/dist/cjs/functions/getResolver.js +41 -19
  34. package/dist/cjs/functions/getSpecificRecord.js +270 -260
  35. package/dist/cjs/functions/getSubnames.js +99 -118
  36. package/dist/cjs/functions/getWrapperData.js +65 -0
  37. package/dist/cjs/functions/importDNSSECName.js +65 -0
  38. package/dist/cjs/functions/initialGetters.js +46 -37
  39. package/dist/cjs/functions/registerName.js +44 -0
  40. package/dist/cjs/functions/renewNames.js +55 -0
  41. package/dist/cjs/functions/setFuses.js +49 -0
  42. package/dist/cjs/functions/setName.js +41 -10
  43. package/dist/cjs/functions/setRecord.js +56 -0
  44. package/dist/cjs/functions/setRecords.js +50 -22
  45. package/dist/cjs/functions/setResolver.js +44 -18
  46. package/dist/cjs/functions/supportsTLD.js +48 -0
  47. package/dist/cjs/functions/transferController.js +42 -0
  48. package/dist/cjs/functions/transferName.js +62 -26
  49. package/dist/cjs/functions/transferSubname.js +56 -21
  50. package/dist/cjs/functions/types.js +16 -0
  51. package/dist/cjs/functions/unwrapName.js +50 -20
  52. package/dist/cjs/functions/wrapName.js +107 -52
  53. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  54. package/dist/cjs/generated/BulkRenewal.js +16 -0
  55. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  56. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  57. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  58. package/dist/cjs/generated/ENSRegistry.js +15 -1
  59. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  60. package/dist/cjs/generated/Multicall.js +15 -1
  61. package/dist/cjs/generated/NameWrapper.js +15 -1
  62. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  63. package/dist/cjs/generated/PublicResolver.js +15 -1
  64. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  65. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  66. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  67. package/dist/cjs/generated/Root.js +15 -1
  68. package/dist/cjs/generated/SHA1Digest.js +15 -1
  69. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  70. package/dist/cjs/generated/SHA256Digest.js +15 -1
  71. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  72. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  73. package/dist/cjs/generated/UniversalResolver.js +15 -1
  74. package/dist/cjs/generated/common.js +15 -1
  75. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
  76. package/dist/cjs/generated/factories/BulkRenewal__factory.js +121 -0
  77. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +282 -288
  78. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +486 -492
  79. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
  80. package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
  81. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +623 -504
  82. package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
  83. package/dist/cjs/generated/factories/NameWrapper__factory.js +1400 -1194
  84. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +61 -67
  85. package/dist/cjs/generated/factories/PublicResolver__factory.js +1040 -885
  86. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +61 -67
  87. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +61 -67
  88. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +363 -333
  89. package/dist/cjs/generated/factories/Root__factory.js +254 -237
  90. package/dist/cjs/generated/factories/SHA1Digest__factory.js +56 -62
  91. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +61 -67
  92. package/dist/cjs/generated/factories/SHA256Digest__factory.js +56 -62
  93. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
  94. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +51 -57
  95. package/dist/cjs/generated/factories/UniversalResolver__factory.js +558 -199
  96. package/dist/cjs/generated/factories/index.js +63 -17
  97. package/dist/cjs/generated/index.js +70 -37
  98. package/dist/cjs/index.js +314 -228
  99. package/dist/cjs/static.js +85 -0
  100. package/dist/cjs/utils/ccip.js +129 -0
  101. package/dist/cjs/utils/consts.js +30 -0
  102. package/dist/cjs/utils/contentHash.js +145 -142
  103. package/dist/cjs/utils/createReverseNode.js +23 -2
  104. package/dist/cjs/utils/format.js +27 -8
  105. package/dist/cjs/utils/fuses.js +294 -15
  106. package/dist/cjs/utils/hexEncodedName.js +31 -7
  107. package/dist/cjs/utils/labels.js +105 -83
  108. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  109. package/dist/cjs/utils/normalise.js +59 -22
  110. package/dist/cjs/utils/recordHelpers.js +157 -37
  111. package/dist/cjs/utils/registerHelpers.js +104 -46
  112. package/dist/cjs/utils/registry.js +32 -0
  113. package/dist/cjs/utils/singleCall.js +31 -6
  114. package/dist/cjs/utils/subgraph-types.js +16 -0
  115. package/dist/cjs/utils/validation.js +77 -68
  116. package/dist/cjs/utils/wrapper.js +56 -0
  117. package/dist/cjs/utils/writeTx.js +24 -2
  118. package/dist/esm/GqlManager.mjs +88 -0
  119. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  120. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  121. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  122. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  123. package/dist/esm/contracts/factories.mjs +0 -0
  124. package/dist/esm/contracts/getContractAddress.mjs +52 -0
  125. package/dist/esm/contracts/index.mjs +44 -0
  126. package/dist/esm/contracts/multicall.mjs +6 -0
  127. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  128. package/dist/esm/contracts/publicResolver.mjs +6 -0
  129. package/dist/esm/contracts/registry.mjs +6 -0
  130. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  131. package/dist/esm/contracts/types.mjs +0 -0
  132. package/dist/esm/contracts/universalResolver.mjs +6 -0
  133. package/dist/esm/functions/batch.mjs +37 -0
  134. package/dist/esm/functions/batchWrappers.mjs +109 -0
  135. package/dist/esm/functions/commitName.mjs +29 -0
  136. package/dist/esm/functions/createSubname.mjs +61 -0
  137. package/dist/esm/functions/deleteSubname.mjs +52 -0
  138. package/dist/esm/functions/getAvailable.mjs +36 -0
  139. package/dist/esm/functions/getDNSOwner.mjs +60 -0
  140. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  141. package/dist/esm/functions/getExpiry.mjs +96 -0
  142. package/dist/esm/functions/getHistory.mjs +245 -0
  143. package/dist/esm/functions/getName.mjs +38 -0
  144. package/dist/esm/functions/getNames.mjs +398 -0
  145. package/dist/esm/functions/getOwner.mjs +189 -0
  146. package/dist/esm/functions/getPrice.mjs +107 -0
  147. package/dist/esm/functions/getProfile.mjs +482 -0
  148. package/dist/esm/functions/getResolver.mjs +27 -0
  149. package/dist/esm/functions/getSpecificRecord.mjs +253 -0
  150. package/dist/esm/functions/getSubnames.mjs +116 -0
  151. package/dist/esm/functions/getWrapperData.mjs +46 -0
  152. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  153. package/dist/esm/functions/initialGetters.mjs +23 -0
  154. package/dist/esm/functions/registerName.mjs +27 -0
  155. package/dist/esm/functions/renewNames.mjs +36 -0
  156. package/dist/esm/functions/setFuses.mjs +30 -0
  157. package/dist/esm/functions/setName.mjs +23 -0
  158. package/dist/esm/functions/setRecord.mjs +36 -0
  159. package/dist/esm/functions/setRecords.mjs +32 -0
  160. package/dist/esm/functions/setResolver.mjs +29 -0
  161. package/dist/esm/functions/supportsTLD.mjs +29 -0
  162. package/dist/esm/functions/transferController.mjs +23 -0
  163. package/dist/esm/functions/transferName.mjs +46 -0
  164. package/dist/esm/functions/transferSubname.mjs +40 -0
  165. package/dist/esm/functions/types.mjs +0 -0
  166. package/dist/esm/functions/unwrapName.mjs +34 -0
  167. package/dist/esm/functions/wrapName.mjs +96 -0
  168. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  169. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  170. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  171. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  172. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  173. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  174. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  175. package/dist/esm/generated/Multicall.mjs +0 -0
  176. package/dist/esm/generated/NameWrapper.mjs +0 -0
  177. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  178. package/dist/esm/generated/PublicResolver.mjs +0 -0
  179. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  180. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  181. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  182. package/dist/esm/generated/Root.mjs +0 -0
  183. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  184. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  185. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  186. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  187. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  188. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  189. package/dist/esm/generated/common.mjs +0 -0
  190. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
  191. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +109 -0
  192. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
  193. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
  194. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
  195. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
  196. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +618 -0
  197. package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
  198. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1394 -0
  199. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
  200. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1035 -0
  201. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
  202. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
  203. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +358 -0
  204. package/dist/esm/generated/factories/Root__factory.mjs +248 -0
  205. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
  206. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
  207. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
  208. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
  209. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
  210. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +551 -0
  211. package/dist/esm/generated/factories/index.mjs +45 -0
  212. package/dist/esm/generated/index.mjs +47 -0
  213. package/dist/esm/index.mjs +306 -0
  214. package/dist/esm/static.mjs +62 -0
  215. package/dist/esm/utils/ccip.mjs +114 -0
  216. package/dist/esm/utils/consts.mjs +11 -0
  217. package/dist/esm/utils/contentHash.mjs +142 -0
  218. package/dist/esm/utils/createReverseNode.mjs +5 -0
  219. package/dist/esm/utils/format.mjs +9 -0
  220. package/dist/esm/utils/fuses.mjs +284 -0
  221. package/dist/esm/utils/hexEncodedName.mjs +8 -0
  222. package/dist/esm/utils/labels.mjs +112 -0
  223. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  224. package/dist/esm/utils/normalise.mjs +55 -0
  225. package/dist/esm/utils/recordHelpers.mjs +139 -0
  226. package/dist/esm/utils/registerHelpers.mjs +90 -0
  227. package/dist/esm/utils/registry.mjs +13 -0
  228. package/dist/esm/utils/singleCall.mjs +13 -0
  229. package/dist/esm/utils/subgraph-types.mjs +0 -0
  230. package/dist/esm/utils/validation.mjs +62 -0
  231. package/dist/esm/utils/wrapper.mjs +37 -0
  232. package/dist/esm/utils/writeTx.mjs +6 -0
  233. package/dist/types/GqlManager.d.ts +13 -0
  234. package/dist/types/contracts/baseRegistrar.d.ts +3 -0
  235. package/dist/types/contracts/bulkRenewal.d.ts +3 -0
  236. package/dist/types/contracts/dnsRegistrar.d.ts +3 -0
  237. package/dist/types/contracts/ethRegistrarController.d.ts +3 -0
  238. package/dist/types/contracts/factories.d.ts +45 -0
  239. package/dist/types/contracts/index.d.ts +38 -0
  240. package/dist/types/contracts/multicall.d.ts +3 -0
  241. package/dist/types/contracts/nameWrapper.d.ts +3 -0
  242. package/dist/types/contracts/publicResolver.d.ts +3 -0
  243. package/dist/types/contracts/registry.d.ts +3 -0
  244. package/dist/types/contracts/reverseRegistrar.d.ts +3 -0
  245. package/dist/types/contracts/types.d.ts +2 -0
  246. package/dist/types/contracts/universalResolver.d.ts +3 -0
  247. package/dist/{cjs → types}/functions/batch.d.ts +8 -1
  248. package/dist/types/functions/batchWrappers.d.ts +86 -0
  249. package/dist/types/functions/commitName.d.ts +25 -0
  250. package/dist/types/functions/createSubname.d.ts +16 -0
  251. package/dist/types/functions/deleteSubname.d.ts +12 -0
  252. package/dist/{esm/functions/getResolver.d.ts → types/functions/getAvailable.d.ts} +1 -1
  253. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  254. package/dist/types/functions/getExpiry.d.ts +19 -0
  255. package/dist/types/functions/getHistory.d.ts +44 -0
  256. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  257. package/dist/{esm → types}/functions/getNames.d.ts +21 -3
  258. package/dist/{cjs → types}/functions/getOwner.d.ts +2 -1
  259. package/dist/{esm → types}/functions/getPrice.d.ts +3 -3
  260. package/dist/{esm → types}/functions/getProfile.d.ts +12 -1
  261. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +28 -6
  262. package/dist/{esm → types}/functions/getSubnames.d.ts +18 -6
  263. package/dist/types/functions/getWrapperData.d.ts +54 -0
  264. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  265. package/dist/{cjs → types}/functions/initialGetters.d.ts +1 -1
  266. package/dist/types/functions/registerName.d.ts +8 -0
  267. package/dist/types/functions/renewNames.d.ts +12 -0
  268. package/dist/types/functions/setFuses.d.ts +7 -0
  269. package/dist/types/functions/setRecord.d.ts +22 -0
  270. package/dist/types/functions/supportsTLD.d.ts +2 -0
  271. package/dist/{esm/functions/setName.d.ts → types/functions/transferController.d.ts} +3 -3
  272. package/dist/{esm → types}/functions/transferName.d.ts +3 -3
  273. package/dist/{esm/functions/createSubname.d.ts → types/functions/transferSubname.d.ts} +3 -4
  274. package/dist/types/functions/types.d.ts +81 -0
  275. package/dist/types/functions/wrapName.d.ts +9 -0
  276. package/dist/types/generated/BaseRegistrarImplementation.d.ts +512 -0
  277. package/dist/types/generated/BulkRenewal.d.ts +80 -0
  278. package/dist/types/generated/DNSRegistrar.d.ts +228 -0
  279. package/dist/types/generated/DNSSECImpl.d.ts +406 -0
  280. package/dist/types/generated/DefaultReverseResolver.d.ts +70 -0
  281. package/dist/types/generated/ENSRegistry.d.ts +278 -0
  282. package/dist/types/generated/ETHRegistrarController.d.ts +343 -0
  283. package/dist/{esm → types}/generated/Multicall.d.ts +113 -109
  284. package/dist/types/generated/NameWrapper.d.ts +859 -0
  285. package/dist/{esm → types}/generated/P256SHA256Algorithm.d.ts +22 -14
  286. package/dist/types/generated/PublicResolver.d.ts +647 -0
  287. package/dist/types/generated/RSASHA1Algorithm.d.ts +50 -0
  288. package/dist/types/generated/RSASHA256Algorithm.d.ts +50 -0
  289. package/dist/types/generated/ReverseRegistrar.d.ts +283 -0
  290. package/dist/types/generated/Root.d.ts +177 -0
  291. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +18 -14
  292. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +22 -14
  293. package/dist/{esm → types}/generated/SHA256Digest.d.ts +18 -14
  294. package/dist/types/generated/StaticMetadataService.d.ts +46 -0
  295. package/dist/types/generated/TLDPublicSuffixList.d.ts +46 -0
  296. package/dist/types/generated/UniversalResolver.d.ts +235 -0
  297. package/dist/{esm → types}/generated/common.d.ts +4 -3
  298. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  299. package/dist/{cjs/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +6 -6
  300. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +17 -16
  301. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +11 -11
  302. package/dist/{esm → types}/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  303. package/dist/{esm → types}/generated/factories/ENSRegistry__factory.d.ts +3 -3
  304. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +15 -4
  305. package/dist/{esm → types}/generated/factories/Multicall__factory.d.ts +3 -3
  306. package/dist/{esm → types}/generated/factories/NameWrapper__factory.d.ts +3 -3
  307. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  308. package/dist/{esm → types}/generated/factories/PublicResolver__factory.d.ts +3 -3
  309. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  310. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  311. package/dist/{esm → types}/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  312. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +3 -3
  313. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  314. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  315. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  316. package/dist/{esm → types}/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  317. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  318. package/dist/{cjs/generated/factories/NameWrapper__factory.d.ts → types/generated/factories/UniversalResolver__factory.d.ts} +6 -6
  319. package/dist/types/generated/factories/index.d.ts +21 -0
  320. package/dist/types/generated/index.d.ts +43 -0
  321. package/dist/types/index.d.ts +657 -0
  322. package/dist/types/static.d.ts +26 -0
  323. package/dist/types/utils/ccip.d.ts +3 -0
  324. package/dist/types/utils/consts.d.ts +4 -0
  325. package/dist/types/utils/fuses.d.ts +136 -0
  326. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +1 -0
  327. package/dist/{esm → types}/utils/labels.d.ts +2 -1
  328. package/dist/types/utils/normalise.d.ts +11 -0
  329. package/dist/types/utils/recordHelpers.d.ts +29 -0
  330. package/dist/types/utils/registerHelpers.d.ts +41 -0
  331. package/dist/types/utils/registry.d.ts +2 -0
  332. package/dist/{esm → types}/utils/singleCall.d.ts +3 -2
  333. package/dist/types/utils/subgraph-types.d.ts +284 -0
  334. package/dist/types/utils/validation.d.ts +13 -0
  335. package/dist/types/utils/wrapper.d.ts +7 -0
  336. package/dist/types/utils/writeTx.d.ts +21 -0
  337. package/package.json +109 -39
  338. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  339. package/src/@types/dns-packet/index.d.ts +113 -113
  340. package/src/@types/pako.d.ts +188 -0
  341. package/src/ABIs/Multicall.json +452 -0
  342. package/src/GqlManager.test.ts +173 -0
  343. package/src/GqlManager.ts +105 -9
  344. package/src/contracts/baseRegistrar.ts +2 -2
  345. package/src/contracts/bulkRenewal.ts +6 -0
  346. package/src/contracts/dnsRegistrar.ts +5 -0
  347. package/src/contracts/ethRegistrarController.ts +2 -2
  348. package/src/contracts/factories.ts +48 -0
  349. package/src/contracts/getContractAddress.ts +23 -14
  350. package/src/contracts/index.ts +72 -48
  351. package/src/contracts/multicall.ts +2 -21
  352. package/src/contracts/nameWrapper.ts +2 -2
  353. package/src/contracts/publicResolver.ts +2 -2
  354. package/src/contracts/registry.ts +2 -2
  355. package/src/contracts/reverseRegistrar.ts +2 -2
  356. package/src/contracts/types.ts +3 -1
  357. package/src/contracts/universalResolver.ts +2 -2
  358. package/src/functions/batch.test.ts +10 -10
  359. package/src/functions/batch.ts +18 -8
  360. package/src/functions/batchWrappers.test.ts +13 -13
  361. package/src/functions/batchWrappers.ts +42 -11
  362. package/src/functions/ccip.test.ts +77 -0
  363. package/src/functions/commitName.test.ts +58 -0
  364. package/src/functions/commitName.ts +38 -0
  365. package/src/functions/createSubname.test.ts +10 -15
  366. package/src/functions/createSubname.ts +23 -10
  367. package/src/functions/deleteSubname.test.ts +160 -30
  368. package/src/functions/deleteSubname.ts +64 -10
  369. package/src/functions/getAvailable.test.ts +21 -0
  370. package/src/functions/getAvailable.ts +37 -0
  371. package/src/functions/getDNSOwner.test.ts +9 -19
  372. package/src/functions/getDNSOwner.ts +11 -9
  373. package/src/functions/getDecryptedName.test.ts +49 -0
  374. package/src/functions/getDecryptedName.ts +119 -0
  375. package/src/functions/getExpiry.test.ts +28 -10
  376. package/src/functions/getExpiry.ts +90 -11
  377. package/src/functions/getHistory.test.ts +27 -79
  378. package/src/functions/getHistory.ts +166 -194
  379. package/src/functions/getName.test.ts +10 -10
  380. package/src/functions/getName.ts +4 -4
  381. package/src/functions/getNames.test.ts +235 -89
  382. package/src/functions/getNames.ts +275 -45
  383. package/src/functions/getOwner.test.ts +57 -51
  384. package/src/functions/getOwner.ts +87 -29
  385. package/src/functions/getPrice.test.ts +55 -0
  386. package/src/functions/getPrice.ts +66 -13
  387. package/src/functions/getProfile.test.ts +135 -29
  388. package/src/functions/getProfile.ts +311 -166
  389. package/src/functions/getResolver.test.ts +5 -9
  390. package/src/functions/getResolver.ts +2 -6
  391. package/src/functions/getSpecificRecord.test.ts +185 -20
  392. package/src/functions/getSpecificRecord.ts +114 -149
  393. package/src/functions/getSubnames.test.ts +1556 -7
  394. package/src/functions/getSubnames.ts +105 -114
  395. package/src/functions/getWrapperData.test.ts +90 -0
  396. package/src/functions/getWrapperData.ts +51 -0
  397. package/src/functions/importDNSSECName.ts +54 -0
  398. package/src/functions/initialGetters.ts +1 -1
  399. package/src/functions/makeCommitment.test.ts +6 -6
  400. package/src/functions/registerName.test.ts +59 -0
  401. package/src/functions/registerName.ts +38 -0
  402. package/src/functions/renewNames.test.ts +64 -0
  403. package/src/functions/renewNames.ts +54 -0
  404. package/src/functions/setFuses.test.ts +257 -0
  405. package/src/functions/setFuses.ts +44 -0
  406. package/src/functions/setName.test.ts +21 -18
  407. package/src/functions/setRecord.test.ts +315 -0
  408. package/src/functions/setRecord.ts +64 -0
  409. package/src/functions/setRecords.test.ts +170 -14
  410. package/src/functions/setResolver.test.ts +10 -15
  411. package/src/functions/setResolver.ts +1 -1
  412. package/src/functions/supportsTLD.test.ts +45 -0
  413. package/src/functions/supportsTLD.ts +38 -0
  414. package/src/functions/transferController.ts +29 -0
  415. package/src/functions/transferName.test.ts +18 -32
  416. package/src/functions/transferName.ts +11 -6
  417. package/src/functions/transferSubname.test.ts +126 -43
  418. package/src/functions/transferSubname.ts +26 -13
  419. package/src/functions/types.ts +100 -0
  420. package/src/functions/unwrapName.test.ts +17 -32
  421. package/src/functions/unwrapName.ts +15 -14
  422. package/src/functions/wrapName.test.ts +121 -37
  423. package/src/functions/wrapName.ts +57 -50
  424. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  425. package/src/generated/BulkRenewal.ts +196 -0
  426. package/src/generated/DNSRegistrar.ts +276 -262
  427. package/src/generated/DNSSECImpl.ts +436 -412
  428. package/src/generated/DefaultReverseResolver.ts +95 -79
  429. package/src/generated/ENSRegistry.ts +491 -422
  430. package/src/generated/ETHRegistrarController.ts +583 -492
  431. package/src/generated/Multicall.ts +345 -336
  432. package/src/generated/NameWrapper.ts +1645 -1215
  433. package/src/generated/P256SHA256Algorithm.ts +70 -65
  434. package/src/generated/PublicResolver.ts +1228 -941
  435. package/src/generated/RSASHA1Algorithm.ts +70 -65
  436. package/src/generated/RSASHA256Algorithm.ts +70 -65
  437. package/src/generated/ReverseRegistrar.ts +428 -362
  438. package/src/generated/Root.ts +295 -241
  439. package/src/generated/SHA1Digest.ts +61 -60
  440. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  441. package/src/generated/SHA256Digest.ts +61 -60
  442. package/src/generated/StaticMetadataService.ts +61 -46
  443. package/src/generated/TLDPublicSuffixList.ts +59 -55
  444. package/src/generated/UniversalResolver.ts +696 -189
  445. package/src/generated/common.ts +16 -14
  446. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  447. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  448. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  449. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  450. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  451. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  452. package/src/generated/factories/ETHRegistrarController__factory.ts +351 -251
  453. package/src/generated/factories/Multicall__factory.ts +226 -224
  454. package/src/generated/factories/NameWrapper__factory.ts +792 -601
  455. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  456. package/src/generated/factories/PublicResolver__factory.ts +573 -436
  457. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  458. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  459. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  460. package/src/generated/factories/Root__factory.ts +103 -101
  461. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  462. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  463. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  464. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  465. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  466. package/src/generated/factories/UniversalResolver__factory.ts +446 -102
  467. package/src/generated/factories/index.ts +15 -0
  468. package/src/generated/index.ts +31 -1
  469. package/src/index.ts +218 -165
  470. package/src/static.ts +94 -0
  471. package/src/utils/ccip.ts +149 -0
  472. package/src/utils/consts.ts +4 -0
  473. package/src/utils/contentHash.ts +29 -27
  474. package/src/utils/createReverseNode.ts +1 -1
  475. package/src/utils/fuses.ts +343 -4
  476. package/src/utils/hexEncodedName.ts +3 -0
  477. package/src/utils/labels.ts +20 -16
  478. package/src/utils/normalise.ts +56 -9
  479. package/src/utils/recordHelpers.test.ts +36 -0
  480. package/src/utils/recordHelpers.ts +139 -21
  481. package/src/utils/registerHelpers.ts +98 -56
  482. package/src/utils/registry.ts +14 -0
  483. package/src/utils/singleCall.ts +13 -8
  484. package/src/utils/subgraph-types.ts +312 -0
  485. package/src/utils/validation.test.ts +164 -0
  486. package/src/utils/validation.ts +55 -53
  487. package/src/utils/wrapper.ts +39 -0
  488. package/src/utils/writeTx.ts +14 -4
  489. package/dist/cjs/GqlManager.d.ts +0 -6
  490. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  491. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  492. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  493. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  494. package/dist/cjs/contracts/index.d.ts +0 -16
  495. package/dist/cjs/contracts/multicall.d.ts +0 -3
  496. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  497. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  498. package/dist/cjs/contracts/registry.d.ts +0 -3
  499. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  500. package/dist/cjs/contracts/types.d.ts +0 -2
  501. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  502. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  503. package/dist/cjs/functions/burnFuses.d.ts +0 -5
  504. package/dist/cjs/functions/burnFuses.js +0 -14
  505. package/dist/cjs/functions/createSubname.d.ts +0 -15
  506. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  507. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  508. package/dist/cjs/functions/getFuses.d.ts +0 -17
  509. package/dist/cjs/functions/getFuses.js +0 -62
  510. package/dist/cjs/functions/getHistory.d.ts +0 -54
  511. package/dist/cjs/functions/getNames.d.ts +0 -40
  512. package/dist/cjs/functions/getPrice.d.ts +0 -13
  513. package/dist/cjs/functions/getProfile.d.ts +0 -30
  514. package/dist/cjs/functions/getRecords.d.ts +0 -32
  515. package/dist/cjs/functions/getRecords.js +0 -11
  516. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  517. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  518. package/dist/cjs/functions/transferName.d.ts +0 -6
  519. package/dist/cjs/functions/transferSubname.d.ts +0 -6
  520. package/dist/cjs/functions/wrapName.d.ts +0 -8
  521. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  522. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  523. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  524. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  525. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  526. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  527. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  528. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  529. package/dist/cjs/generated/Multicall.d.ts +0 -292
  530. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  531. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  532. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  533. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  534. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  535. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  536. package/dist/cjs/generated/Root.d.ts +0 -173
  537. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  538. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  539. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  540. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  541. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  542. package/dist/cjs/generated/common.d.ts +0 -21
  543. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  544. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  545. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  546. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  547. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  548. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  549. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  550. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  551. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  552. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  553. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  554. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  555. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  556. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  557. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  558. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  559. package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +0 -42
  560. package/dist/cjs/generated/factories/index.d.ts +0 -6
  561. package/dist/cjs/generated/index.d.ts +0 -13
  562. package/dist/cjs/index.d.ts +0 -467
  563. package/dist/cjs/utils/fuses.d.ts +0 -20
  564. package/dist/cjs/utils/generateFuseInput.d.ts +0 -3
  565. package/dist/cjs/utils/generateFuseInput.js +0 -19
  566. package/dist/cjs/utils/labels.d.ts +0 -14
  567. package/dist/cjs/utils/normalise.d.ts +0 -2
  568. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  569. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  570. package/dist/cjs/utils/singleCall.d.ts +0 -9
  571. package/dist/cjs/utils/validation.d.ts +0 -8
  572. package/dist/cjs/utils/writeTx.d.ts +0 -4
  573. package/dist/esm/GqlManager.d.ts +0 -6
  574. package/dist/esm/GqlManager.js +0 -18
  575. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  576. package/dist/esm/contracts/baseRegistrar.js +0 -2
  577. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  578. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  579. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  580. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  581. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  582. package/dist/esm/contracts/getContractAddress.js +0 -42
  583. package/dist/esm/contracts/index.d.ts +0 -16
  584. package/dist/esm/contracts/index.js +0 -29
  585. package/dist/esm/contracts/multicall.d.ts +0 -3
  586. package/dist/esm/contracts/multicall.js +0 -20
  587. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  588. package/dist/esm/contracts/nameWrapper.js +0 -2
  589. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  590. package/dist/esm/contracts/publicResolver.js +0 -2
  591. package/dist/esm/contracts/registry.d.ts +0 -3
  592. package/dist/esm/contracts/registry.js +0 -2
  593. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  594. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  595. package/dist/esm/contracts/types.d.ts +0 -2
  596. package/dist/esm/contracts/types.js +0 -1
  597. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  598. package/dist/esm/contracts/universalResolver.js +0 -2
  599. package/dist/esm/functions/batch.d.ts +0 -9
  600. package/dist/esm/functions/batch.js +0 -19
  601. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  602. package/dist/esm/functions/batchWrappers.js +0 -68
  603. package/dist/esm/functions/burnFuses.d.ts +0 -5
  604. package/dist/esm/functions/burnFuses.js +0 -8
  605. package/dist/esm/functions/createSubname.js +0 -34
  606. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  607. package/dist/esm/functions/deleteSubname.js +0 -6
  608. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  609. package/dist/esm/functions/getDNSOwner.js +0 -51
  610. package/dist/esm/functions/getExpiry.d.ts +0 -12
  611. package/dist/esm/functions/getExpiry.js +0 -43
  612. package/dist/esm/functions/getFuses.d.ts +0 -17
  613. package/dist/esm/functions/getFuses.js +0 -60
  614. package/dist/esm/functions/getHistory.d.ts +0 -54
  615. package/dist/esm/functions/getHistory.js +0 -273
  616. package/dist/esm/functions/getName.d.ts +0 -19
  617. package/dist/esm/functions/getName.js +0 -32
  618. package/dist/esm/functions/getNames.js +0 -220
  619. package/dist/esm/functions/getOwner.d.ts +0 -14
  620. package/dist/esm/functions/getOwner.js +0 -138
  621. package/dist/esm/functions/getPrice.js +0 -48
  622. package/dist/esm/functions/getProfile.js +0 -299
  623. package/dist/esm/functions/getRecords.d.ts +0 -32
  624. package/dist/esm/functions/getRecords.js +0 -8
  625. package/dist/esm/functions/getResolver.js +0 -22
  626. package/dist/esm/functions/getSpecificRecord.js +0 -265
  627. package/dist/esm/functions/getSubnames.js +0 -152
  628. package/dist/esm/functions/initialGetters.d.ts +0 -11
  629. package/dist/esm/functions/initialGetters.js +0 -11
  630. package/dist/esm/functions/setName.js +0 -9
  631. package/dist/esm/functions/setRecords.d.ts +0 -6
  632. package/dist/esm/functions/setRecords.js +0 -21
  633. package/dist/esm/functions/setResolver.d.ts +0 -5
  634. package/dist/esm/functions/setResolver.js +0 -19
  635. package/dist/esm/functions/transferName.js +0 -26
  636. package/dist/esm/functions/transferSubname.d.ts +0 -6
  637. package/dist/esm/functions/transferSubname.js +0 -21
  638. package/dist/esm/functions/unwrapName.d.ts +0 -5
  639. package/dist/esm/functions/unwrapName.js +0 -20
  640. package/dist/esm/functions/wrapName.d.ts +0 -8
  641. package/dist/esm/functions/wrapName.js +0 -54
  642. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  643. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  644. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  645. package/dist/esm/generated/DNSRegistrar.js +0 -1
  646. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  647. package/dist/esm/generated/DNSSECImpl.js +0 -1
  648. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  649. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  650. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  651. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  652. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  653. package/dist/esm/generated/ENSRegistry.js +0 -1
  654. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  655. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  656. package/dist/esm/generated/Multicall.js +0 -1
  657. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  658. package/dist/esm/generated/NameWrapper.js +0 -1
  659. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  660. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  661. package/dist/esm/generated/PublicResolver.js +0 -1
  662. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  663. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  664. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  665. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  666. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  667. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  668. package/dist/esm/generated/Root.d.ts +0 -173
  669. package/dist/esm/generated/Root.js +0 -1
  670. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  671. package/dist/esm/generated/SHA1Digest.js +0 -1
  672. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  673. package/dist/esm/generated/SHA256Digest.js +0 -1
  674. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  675. package/dist/esm/generated/StaticMetadataService.js +0 -1
  676. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  677. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  678. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  679. package/dist/esm/generated/UniversalResolver.js +0 -1
  680. package/dist/esm/generated/common.js +0 -1
  681. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  682. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  683. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  684. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  685. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  686. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  687. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  688. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  689. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  690. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  691. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  692. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  693. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  694. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  695. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  696. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  697. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  698. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  699. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  700. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  701. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  702. package/dist/esm/generated/factories/Root__factory.js +0 -239
  703. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  704. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  705. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  706. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  707. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  708. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  709. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  710. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  711. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  712. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  713. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  714. package/dist/esm/generated/factories/index.d.ts +0 -6
  715. package/dist/esm/generated/factories/index.js +0 -9
  716. package/dist/esm/generated/index.d.ts +0 -13
  717. package/dist/esm/generated/index.js +0 -7
  718. package/dist/esm/index.d.ts +0 -467
  719. package/dist/esm/index.js +0 -207
  720. package/dist/esm/utils/contentHash.d.ts +0 -28
  721. package/dist/esm/utils/contentHash.js +0 -153
  722. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  723. package/dist/esm/utils/createReverseNode.js +0 -1
  724. package/dist/esm/utils/format.d.ts +0 -3
  725. package/dist/esm/utils/format.js +0 -3
  726. package/dist/esm/utils/fuses.d.ts +0 -20
  727. package/dist/esm/utils/fuses.js +0 -21
  728. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  729. package/dist/esm/utils/generateFuseInput.js +0 -14
  730. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  731. package/dist/esm/utils/hexEncodedName.js +0 -2
  732. package/dist/esm/utils/labels.js +0 -95
  733. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  734. package/dist/esm/utils/makeHashIndexes.js +0 -3
  735. package/dist/esm/utils/normalise.d.ts +0 -2
  736. package/dist/esm/utils/normalise.js +0 -20
  737. package/dist/esm/utils/recordHelpers.d.ts +0 -13
  738. package/dist/esm/utils/recordHelpers.js +0 -39
  739. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  740. package/dist/esm/utils/registerHelpers.js +0 -43
  741. package/dist/esm/utils/singleCall.js +0 -5
  742. package/dist/esm/utils/validation.d.ts +0 -8
  743. package/dist/esm/utils/validation.js +0 -67
  744. package/dist/esm/utils/writeTx.d.ts +0 -4
  745. package/dist/esm/utils/writeTx.js +0 -1
  746. package/src/@types/FuseOptions.d.ts +0 -9
  747. package/src/@types/idna-uts46-hx.d.ts +0 -1
  748. package/src/ABIs/ETHRegistrarController.json +0 -494
  749. package/src/ABIs/NameWrapper.json +0 -1183
  750. package/src/ABIs/PublicResolver.json +0 -875
  751. package/src/ABIs/ReverseRegistrar.json +0 -323
  752. package/src/ABIs/StaticMetadataService.json +0 -32
  753. package/src/ABIs/UniversalResolver.json +0 -187
  754. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  755. package/src/functions/burnFuses.test.ts +0 -45
  756. package/src/functions/burnFuses.ts +0 -21
  757. package/src/functions/getFuses.test.ts +0 -105
  758. package/src/functions/getFuses.ts +0 -76
  759. package/src/functions/getRecords.ts +0 -22
  760. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  761. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  762. package/src/tests/populateTransaction.test.ts +0 -40
  763. package/src/tests/setup.ts +0 -53
  764. package/src/tests/signerInjection.test.ts +0 -46
  765. package/src/tests/withProvider.test.ts +0 -28
  766. package/src/utils/generateFuseInput.ts +0 -18
  767. /package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  768. /package/dist/{cjs → types}/functions/getDNSOwner.d.ts +0 -0
  769. /package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  770. /package/dist/{cjs → types}/functions/setName.d.ts +0 -0
  771. /package/dist/{cjs → types}/functions/setRecords.d.ts +0 -0
  772. /package/dist/{cjs → types}/functions/setResolver.d.ts +0 -0
  773. /package/dist/{cjs → types}/functions/unwrapName.d.ts +0 -0
  774. /package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  775. /package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  776. /package/dist/{cjs → types}/utils/format.d.ts +0 -0
  777. /package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
@@ -1,24 +1,41 @@
1
1
  import { ENS } from '..'
2
2
  import setup from '../tests/setup'
3
+ import { decodeFuses } from '../utils/fuses'
3
4
 
4
- let ENSInstance: ENS
5
+ let ensInstance: ENS
5
6
 
6
7
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
8
+ ;({ ensInstance } = await setup())
8
9
  })
9
10
 
10
11
  const testProperties = (obj: object, ...properties: string[]) =>
11
12
  properties.map((property) => expect(obj).toHaveProperty(property))
12
13
 
13
14
  describe('getSubnames', () => {
14
- it('should get the subnames for a name', async () => {
15
- const result = await ENSInstance.getSubnames({
16
- name: 'jefflau.eth',
15
+ it('should get the subnames for a name ordered by createdAt in desc order', async () => {
16
+ const result = await ensInstance.getSubnames({
17
+ name: 'with-subnames.eth',
18
+ pageSize: 10,
19
+ orderBy: 'createdAt',
20
+ orderDirection: 'desc',
17
21
  })
18
22
  expect(result).toBeTruthy()
19
- expect(result.length).toBeGreaterThan(0)
23
+ expect(result.subnames.length).toBe(4)
24
+ expect(result.subnameCount).toBe(4)
25
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
26
+ expect(result.subnames[1].name).toEqual('xyz.with-subnames.eth')
27
+ expect(result.subnames[2].name).toEqual('legacy.with-subnames.eth')
28
+ expect(result.subnames[3].name).toEqual('test.with-subnames.eth')
29
+ expect(
30
+ result.subnames.every((subname, i, arr) => {
31
+ if (arr[i + 1]) {
32
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
33
+ }
34
+ return true
35
+ }),
36
+ ).toBe(true)
20
37
  testProperties(
21
- result[0],
38
+ result.subnames[0],
22
39
  'id',
23
40
  'labelName',
24
41
  'labelhash',
@@ -28,4 +45,1536 @@ describe('getSubnames', () => {
28
45
  'truncatedName',
29
46
  )
30
47
  })
48
+
49
+ it('should get the subnames for a name ordered by createdAt in asc order', async () => {
50
+ const result = await ensInstance.getSubnames({
51
+ name: 'with-subnames.eth',
52
+ pageSize: 10,
53
+ orderBy: 'createdAt',
54
+ orderDirection: 'asc',
55
+ })
56
+ expect(result).toBeTruthy()
57
+ expect(result.subnames.length).toBe(4)
58
+ expect(result.subnameCount).toBe(4)
59
+ expect(result.subnames[0].name).toEqual('test.with-subnames.eth')
60
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
61
+ expect(result.subnames[2].name).toEqual('xyz.with-subnames.eth')
62
+ expect(result.subnames[3].name).toEqual('addr.with-subnames.eth')
63
+ expect(
64
+ result.subnames.every((subname, i, arr) => {
65
+ if (arr[i + 1]) {
66
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
67
+ }
68
+ return true
69
+ }),
70
+ ).toBe(true)
71
+ testProperties(
72
+ result.subnames[0],
73
+ 'id',
74
+ 'labelName',
75
+ 'labelhash',
76
+ 'name',
77
+ 'isMigrated',
78
+ 'owner',
79
+ 'truncatedName',
80
+ )
81
+ })
82
+
83
+ it('should get the subnames for a name by labelName in desc order', async () => {
84
+ const result = await ensInstance.getSubnames({
85
+ name: 'with-subnames.eth',
86
+ pageSize: 10,
87
+ orderBy: 'labelName',
88
+ orderDirection: 'desc',
89
+ })
90
+ expect(result).toBeTruthy()
91
+ expect(result.subnames.length).toBe(4)
92
+ expect(result.subnameCount).toBe(4)
93
+ expect(result.subnames[0].name).toEqual('xyz.with-subnames.eth')
94
+ expect(result.subnames[1].name).toEqual('test.with-subnames.eth')
95
+ expect(result.subnames[2].name).toEqual('legacy.with-subnames.eth')
96
+ expect(result.subnames[3].name).toEqual('addr.with-subnames.eth')
97
+ testProperties(
98
+ result.subnames[0],
99
+ 'id',
100
+ 'labelName',
101
+ 'labelhash',
102
+ 'name',
103
+ 'isMigrated',
104
+ 'owner',
105
+ 'truncatedName',
106
+ )
107
+ })
108
+
109
+ it('should get the subnames for a name by labelName in asc order', async () => {
110
+ const result = await ensInstance.getSubnames({
111
+ name: 'with-subnames.eth',
112
+ pageSize: 10,
113
+ orderBy: 'labelName',
114
+ orderDirection: 'asc',
115
+ })
116
+ expect(result).toBeTruthy()
117
+ expect(result.subnames.length).toBe(4)
118
+ expect(result.subnameCount).toBe(4)
119
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
120
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
121
+ expect(result.subnames[2].name).toEqual('test.with-subnames.eth')
122
+ expect(result.subnames[3].name).toEqual('xyz.with-subnames.eth')
123
+ testProperties(
124
+ result.subnames[0],
125
+ 'id',
126
+ 'labelName',
127
+ 'labelhash',
128
+ 'name',
129
+ 'isMigrated',
130
+ 'owner',
131
+ 'truncatedName',
132
+ )
133
+ })
134
+ describe('wrapped subnames', () => {
135
+ it('should return fuses', async () => {
136
+ const result = await ensInstance.getSubnames({
137
+ name: 'wrapped-with-subnames.eth',
138
+ pageSize: 10,
139
+ orderBy: 'createdAt',
140
+ orderDirection: 'desc',
141
+ })
142
+
143
+ expect(result).toBeTruthy()
144
+ expect(result.subnames.length).toBe(4)
145
+ expect(result.subnameCount).toBe(4)
146
+ expect(result.subnames[0].fuses).toBeDefined()
147
+ })
148
+ it('should return expiry as undefined if 0', async () => {
149
+ const result = await ensInstance.getSubnames({
150
+ name: 'wrapped-with-expiring-subnames.eth',
151
+ pageSize: 10,
152
+ orderBy: 'createdAt',
153
+ orderDirection: 'desc',
154
+ })
155
+
156
+ expect(result).toBeTruthy()
157
+ expect(result.subnames[1].expiryDate).toBeUndefined()
158
+ })
159
+ it('should return expiry', async () => {
160
+ const result = await ensInstance.getSubnames({
161
+ name: 'wrapped-with-expiring-subnames.eth',
162
+ pageSize: 10,
163
+ orderBy: 'createdAt',
164
+ orderDirection: 'desc',
165
+ })
166
+
167
+ expect(result).toBeTruthy()
168
+ expect(result.subnames[2].expiryDate).toBeInstanceOf(Date)
169
+ })
170
+ it('should return owner as undefined, fuses as 0, and pccExpired as true if pcc expired', async () => {
171
+ const result = await ensInstance.getSubnames({
172
+ name: 'wrapped-with-expiring-subnames.eth',
173
+ pageSize: 10,
174
+ orderBy: 'createdAt',
175
+ orderDirection: 'desc',
176
+ })
177
+
178
+ expect(result).toBeTruthy()
179
+ expect(result.subnames[0].owner).toBeUndefined()
180
+ expect(result.subnames[0].fuses).toStrictEqual(decodeFuses(0))
181
+ expect(result.subnames[0].pccExpired).toBe(true)
182
+ })
183
+ })
184
+
185
+ describe('with pagination', () => {
186
+ it('should get paginated subnames for a name ordered by createdAt in desc order', async () => {
187
+ const result = await ensInstance.getSubnames({
188
+ name: 'with-subnames.eth',
189
+ pageSize: 10,
190
+ orderBy: 'createdAt',
191
+ orderDirection: 'desc',
192
+ })
193
+ expect(result).toBeTruthy()
194
+ expect(result.subnames.length).toBe(4)
195
+ expect(result.subnameCount).toBe(4)
196
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
197
+ expect(result.subnames[1].name).toEqual('xyz.with-subnames.eth')
198
+ expect(result.subnames[2].name).toEqual('legacy.with-subnames.eth')
199
+ expect(result.subnames[3].name).toEqual('test.with-subnames.eth')
200
+ expect(
201
+ result.subnames.every((subname, i, arr) => {
202
+ if (arr[i + 1]) {
203
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
204
+ }
205
+ return true
206
+ }),
207
+ ).toBe(true)
208
+ testProperties(
209
+ result.subnames[0],
210
+ 'id',
211
+ 'labelName',
212
+ 'labelhash',
213
+ 'name',
214
+ 'isMigrated',
215
+ 'owner',
216
+ 'truncatedName',
217
+ )
218
+ })
219
+
220
+ it('should get the subnames for a name ordered by createdAt in asc order', async () => {
221
+ const result = await ensInstance.getSubnames({
222
+ name: 'with-subnames.eth',
223
+ pageSize: 10,
224
+ orderBy: 'createdAt',
225
+ orderDirection: 'asc',
226
+ })
227
+ expect(result).toBeTruthy()
228
+ expect(result.subnames.length).toBe(4)
229
+ expect(result.subnameCount).toBe(4)
230
+ expect(result.subnames[0].name).toEqual('test.with-subnames.eth')
231
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
232
+ expect(result.subnames[2].name).toEqual('xyz.with-subnames.eth')
233
+ expect(result.subnames[3].name).toEqual('addr.with-subnames.eth')
234
+ expect(
235
+ result.subnames.every((subname, i, arr) => {
236
+ if (arr[i + 1]) {
237
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
238
+ }
239
+ return true
240
+ }),
241
+ ).toBe(true)
242
+ testProperties(
243
+ result.subnames[0],
244
+ 'id',
245
+ 'labelName',
246
+ 'labelhash',
247
+ 'name',
248
+ 'isMigrated',
249
+ 'owner',
250
+ 'truncatedName',
251
+ )
252
+ })
253
+
254
+ it('should get the subnames for a name by labelName in desc order', async () => {
255
+ const result = await ensInstance.getSubnames({
256
+ name: 'with-subnames.eth',
257
+ pageSize: 10,
258
+ orderBy: 'labelName',
259
+ orderDirection: 'desc',
260
+ })
261
+ expect(result).toBeTruthy()
262
+ expect(result.subnames.length).toBe(4)
263
+ expect(result.subnameCount).toBe(4)
264
+ expect(result.subnames[0].name).toEqual('xyz.with-subnames.eth')
265
+ expect(result.subnames[1].name).toEqual('test.with-subnames.eth')
266
+ expect(result.subnames[2].name).toEqual('legacy.with-subnames.eth')
267
+ expect(result.subnames[3].name).toEqual('addr.with-subnames.eth')
268
+ testProperties(
269
+ result.subnames[0],
270
+ 'id',
271
+ 'labelName',
272
+ 'labelhash',
273
+ 'name',
274
+ 'isMigrated',
275
+ 'owner',
276
+ 'truncatedName',
277
+ )
278
+ })
279
+
280
+ it('should get the subnames for a name by labelName in asc order', async () => {
281
+ const result = await ensInstance.getSubnames({
282
+ name: 'with-subnames.eth',
283
+ pageSize: 10,
284
+ orderBy: 'labelName',
285
+ orderDirection: 'asc',
286
+ })
287
+ expect(result).toBeTruthy()
288
+ expect(result.subnames.length).toBe(4)
289
+ expect(result.subnameCount).toBe(4)
290
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
291
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
292
+ expect(result.subnames[2].name).toEqual('test.with-subnames.eth')
293
+ expect(result.subnames[3].name).toEqual('xyz.with-subnames.eth')
294
+ testProperties(
295
+ result.subnames[0],
296
+ 'id',
297
+ 'labelName',
298
+ 'labelhash',
299
+ 'name',
300
+ 'isMigrated',
301
+ 'owner',
302
+ 'truncatedName',
303
+ )
304
+ })
305
+
306
+ describe('with pagination', () => {
307
+ it('should get paginated subnames for a name ordered by createdAt in desc order', async () => {
308
+ const result = await ensInstance.getSubnames({
309
+ name: 'with-subnames.eth',
310
+ pageSize: 2,
311
+ orderBy: 'createdAt',
312
+ orderDirection: 'desc',
313
+ })
314
+ expect(result).toBeTruthy()
315
+ expect(result.subnames.length).toBe(2)
316
+ expect(result.subnameCount).toBe(4)
317
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
318
+ expect(result.subnames[1].name).toEqual('xyz.with-subnames.eth')
319
+ expect(
320
+ result.subnames.every((subname, i, arr) => {
321
+ if (arr[i + 1]) {
322
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
323
+ }
324
+ return true
325
+ }),
326
+ ).toBe(true)
327
+ testProperties(
328
+ result.subnames[0],
329
+ 'id',
330
+ 'labelName',
331
+ 'labelhash',
332
+ 'name',
333
+ 'isMigrated',
334
+ 'owner',
335
+ 'truncatedName',
336
+ )
337
+ const result2 = await ensInstance.getSubnames({
338
+ name: 'with-subnames.eth',
339
+ pageSize: 2,
340
+ orderBy: 'createdAt',
341
+ orderDirection: 'desc',
342
+ lastSubnames: result.subnames,
343
+ })
344
+ expect(result2).toBeTruthy()
345
+ expect(result2.subnames.length).toBe(2)
346
+ expect(result2.subnameCount).toBe(4)
347
+ expect(result2.subnames[0].name).toEqual('legacy.with-subnames.eth')
348
+ expect(result2.subnames[1].name).toEqual('test.with-subnames.eth')
349
+ expect(
350
+ result2.subnames.every((subname, i, arr) => {
351
+ if (arr[i + 1]) {
352
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
353
+ }
354
+ return true
355
+ }),
356
+ ).toBe(true)
357
+ testProperties(
358
+ result2.subnames[0],
359
+ 'id',
360
+ 'labelName',
361
+ 'labelhash',
362
+ 'name',
363
+ 'isMigrated',
364
+ 'owner',
365
+ 'truncatedName',
366
+ )
367
+ })
368
+
369
+ it('should get paginated subnames for a name ordered by createdAt in asc order', async () => {
370
+ const result = await ensInstance.getSubnames({
371
+ name: 'with-subnames.eth',
372
+ pageSize: 2,
373
+ orderBy: 'createdAt',
374
+ orderDirection: 'asc',
375
+ })
376
+ expect(result).toBeTruthy()
377
+ expect(result.subnames.length).toBe(2)
378
+ expect(result.subnameCount).toBe(4)
379
+ expect(result.subnames[0].name).toEqual('test.with-subnames.eth')
380
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
381
+ expect(
382
+ result.subnames.every((subname, i, arr) => {
383
+ if (arr[i + 1]) {
384
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
385
+ }
386
+ return true
387
+ }),
388
+ ).toBe(true)
389
+ testProperties(
390
+ result.subnames[0],
391
+ 'id',
392
+ 'labelName',
393
+ 'labelhash',
394
+ 'name',
395
+ 'isMigrated',
396
+ 'owner',
397
+ 'truncatedName',
398
+ )
399
+ const result2 = await ensInstance.getSubnames({
400
+ name: 'with-subnames.eth',
401
+ page: 0,
402
+ pageSize: 2,
403
+ orderBy: 'createdAt',
404
+ orderDirection: 'asc',
405
+ lastSubnames: result.subnames,
406
+ })
407
+
408
+ expect(result2).toBeTruthy()
409
+ expect(result2.subnames.length).toBe(2)
410
+ expect(result2.subnameCount).toBe(4)
411
+ expect(result2.subnames[0].name).toEqual('xyz.with-subnames.eth')
412
+ expect(result2.subnames[1].name).toEqual('addr.with-subnames.eth')
413
+ expect(
414
+ result2.subnames.every((subname, i, arr) => {
415
+ if (arr[i + 1]) {
416
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
417
+ }
418
+ return true
419
+ }),
420
+ ).toBe(true)
421
+ testProperties(
422
+ result2.subnames[0],
423
+ 'id',
424
+ 'labelName',
425
+ 'labelhash',
426
+ 'name',
427
+ 'isMigrated',
428
+ 'owner',
429
+ 'truncatedName',
430
+ )
431
+ })
432
+
433
+ it('should get paginated subnames for a name by labelName in desc order', async () => {
434
+ const result = await ensInstance.getSubnames({
435
+ name: 'with-subnames.eth',
436
+ pageSize: 2,
437
+ orderBy: 'labelName',
438
+ orderDirection: 'desc',
439
+ })
440
+ expect(result).toBeTruthy()
441
+ expect(result.subnames.length).toBe(2)
442
+ expect(result.subnameCount).toBe(4)
443
+ expect(result.subnames[0].name).toEqual('xyz.with-subnames.eth')
444
+ expect(result.subnames[1].name).toEqual('test.with-subnames.eth')
445
+ testProperties(
446
+ result.subnames[0],
447
+ 'id',
448
+ 'labelName',
449
+ 'labelhash',
450
+ 'name',
451
+ 'isMigrated',
452
+ 'owner',
453
+ 'truncatedName',
454
+ )
455
+ const result2 = await ensInstance.getSubnames({
456
+ name: 'with-subnames.eth',
457
+ pageSize: 2,
458
+ orderBy: 'labelName',
459
+ orderDirection: 'desc',
460
+ lastSubnames: result.subnames,
461
+ })
462
+ expect(result2).toBeTruthy()
463
+ expect(result2.subnames.length).toBe(2)
464
+ expect(result2.subnameCount).toBe(4)
465
+ expect(result2.subnames[0].name).toEqual('legacy.with-subnames.eth')
466
+ expect(result2.subnames[1].name).toEqual('addr.with-subnames.eth')
467
+ testProperties(
468
+ result.subnames[0],
469
+ 'id',
470
+ 'labelName',
471
+ 'labelhash',
472
+ 'name',
473
+ 'isMigrated',
474
+ 'owner',
475
+ 'truncatedName',
476
+ )
477
+ })
478
+
479
+ it('should get paginated subnames for a name by labelName in asc order', async () => {
480
+ const result = await ensInstance.getSubnames({
481
+ name: 'with-subnames.eth',
482
+ pageSize: 2,
483
+ orderBy: 'labelName',
484
+ orderDirection: 'asc',
485
+ })
486
+ expect(result).toBeTruthy()
487
+ expect(result.subnames.length).toBe(2)
488
+ expect(result.subnameCount).toBe(4)
489
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
490
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
491
+
492
+ testProperties(
493
+ result.subnames[0],
494
+ 'id',
495
+ 'labelName',
496
+ 'labelhash',
497
+ 'name',
498
+ 'isMigrated',
499
+ 'owner',
500
+ 'truncatedName',
501
+ )
502
+
503
+ const result2 = await ensInstance.getSubnames({
504
+ name: 'with-subnames.eth',
505
+ pageSize: 2,
506
+ orderBy: 'labelName',
507
+ orderDirection: 'asc',
508
+ lastSubnames: result.subnames,
509
+ })
510
+ expect(result2).toBeTruthy()
511
+ expect(result2.subnames.length).toBe(2)
512
+ expect(result2.subnameCount).toBe(4)
513
+ expect(result2.subnames[0].name).toEqual('test.with-subnames.eth')
514
+ expect(result2.subnames[1].name).toEqual('xyz.with-subnames.eth')
515
+
516
+ testProperties(
517
+ result2.subnames[0],
518
+ 'id',
519
+ 'labelName',
520
+ 'labelhash',
521
+ 'name',
522
+ 'isMigrated',
523
+ 'owner',
524
+ 'truncatedName',
525
+ )
526
+ })
527
+ })
528
+
529
+ describe('With search query', () => {
530
+ it('should get the searched subnames for a name ordered by createdAt in desc order', async () => {
531
+ const result = await ensInstance.getSubnames({
532
+ name: 'with-subnames.eth',
533
+ pageSize: 10,
534
+ orderBy: 'createdAt',
535
+ orderDirection: 'desc',
536
+ search: 'a',
537
+ })
538
+ expect(result).toBeTruthy()
539
+ expect(result.subnames.length).toBe(2)
540
+ expect(result.subnameCount).toBe(4)
541
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
542
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
543
+ expect(
544
+ result.subnames.every((subname, i, arr) => {
545
+ if (arr[i + 1]) {
546
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
547
+ }
548
+ return true
549
+ }),
550
+ ).toBe(true)
551
+ testProperties(
552
+ result.subnames[0],
553
+ 'id',
554
+ 'labelName',
555
+ 'labelhash',
556
+ 'name',
557
+ 'isMigrated',
558
+ 'owner',
559
+ 'truncatedName',
560
+ )
561
+ })
562
+
563
+ it('should get the searched subnames for a name ordered by createdAt in asc order', async () => {
564
+ const result = await ensInstance.getSubnames({
565
+ name: 'with-subnames.eth',
566
+ page: 0,
567
+ pageSize: 10,
568
+ orderBy: 'createdAt',
569
+ orderDirection: 'asc',
570
+ search: 'a',
571
+ })
572
+ expect(result).toBeTruthy()
573
+ expect(result.subnames.length).toBe(2)
574
+ expect(result.subnameCount).toBe(4)
575
+ expect(result.subnames[0].name).toEqual('legacy.with-subnames.eth')
576
+ expect(result.subnames[1].name).toEqual('addr.with-subnames.eth')
577
+ expect(
578
+ result.subnames.every((subname, i, arr) => {
579
+ if (arr[i + 1]) {
580
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
581
+ }
582
+ return true
583
+ }),
584
+ ).toBe(true)
585
+ testProperties(
586
+ result.subnames[0],
587
+ 'id',
588
+ 'labelName',
589
+ 'labelhash',
590
+ 'name',
591
+ 'isMigrated',
592
+ 'owner',
593
+ 'truncatedName',
594
+ )
595
+ })
596
+
597
+ it('should get the subnames for a name by labelName in desc order', async () => {
598
+ const result = await ensInstance.getSubnames({
599
+ name: 'with-subnames.eth',
600
+ pageSize: 10,
601
+ orderBy: 'labelName',
602
+ orderDirection: 'desc',
603
+ search: 'a',
604
+ })
605
+ expect(result).toBeTruthy()
606
+ expect(result.subnames.length).toBe(2)
607
+ expect(result.subnameCount).toBe(4)
608
+ expect(result.subnames[0].name).toEqual('legacy.with-subnames.eth')
609
+ expect(result.subnames[1].name).toEqual('addr.with-subnames.eth')
610
+ testProperties(
611
+ result.subnames[0],
612
+ 'id',
613
+ 'labelName',
614
+ 'labelhash',
615
+ 'name',
616
+ 'isMigrated',
617
+ 'owner',
618
+ 'truncatedName',
619
+ )
620
+ })
621
+
622
+ it('should get the subnames for a name by labelName in asc order', async () => {
623
+ const result = await ensInstance.getSubnames({
624
+ name: 'with-subnames.eth',
625
+ pageSize: 10,
626
+ orderBy: 'labelName',
627
+ orderDirection: 'asc',
628
+ search: 'a',
629
+ })
630
+ expect(result).toBeTruthy()
631
+ expect(result.subnames.length).toBe(2)
632
+ expect(result.subnameCount).toBe(4)
633
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
634
+ expect(result.subnames[1].name).toEqual('legacy.with-subnames.eth')
635
+ testProperties(
636
+ result.subnames[0],
637
+ 'id',
638
+ 'labelName',
639
+ 'labelhash',
640
+ 'name',
641
+ 'isMigrated',
642
+ 'owner',
643
+ 'truncatedName',
644
+ )
645
+ })
646
+ })
647
+
648
+ describe('with search query and pagination', () => {
649
+ it('should get paginated subnames for a name ordered by createdAt in desc order', async () => {
650
+ const result = await ensInstance.getSubnames({
651
+ name: 'with-subnames.eth',
652
+ pageSize: 1,
653
+ orderBy: 'createdAt',
654
+ orderDirection: 'desc',
655
+ search: 'a',
656
+ })
657
+ expect(result).toBeTruthy()
658
+ expect(result.subnames.length).toBe(1)
659
+ expect(result.subnameCount).toBe(4)
660
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
661
+ testProperties(
662
+ result.subnames[0],
663
+ 'id',
664
+ 'labelName',
665
+ 'labelhash',
666
+ 'name',
667
+ 'isMigrated',
668
+ 'owner',
669
+ 'truncatedName',
670
+ )
671
+ const result2 = await ensInstance.getSubnames({
672
+ name: 'with-subnames.eth',
673
+ pageSize: 1,
674
+ orderBy: 'createdAt',
675
+ orderDirection: 'desc',
676
+ lastSubnames: result.subnames,
677
+ search: 'a',
678
+ })
679
+ expect(result2).toBeTruthy()
680
+ expect(result2.subnames.length).toBe(1)
681
+ expect(result2.subnameCount).toBe(4)
682
+ expect(result2.subnames[0].name).toEqual('legacy.with-subnames.eth')
683
+ testProperties(
684
+ result2.subnames[0],
685
+ 'id',
686
+ 'labelName',
687
+ 'labelhash',
688
+ 'name',
689
+ 'isMigrated',
690
+ 'owner',
691
+ 'truncatedName',
692
+ )
693
+ })
694
+
695
+ it('should get paginated subnames for a name ordered by createdAt in asc order', async () => {
696
+ const result = await ensInstance.getSubnames({
697
+ name: 'with-subnames.eth',
698
+ pageSize: 1,
699
+ orderBy: 'createdAt',
700
+ orderDirection: 'asc',
701
+ search: 'a',
702
+ })
703
+ expect(result).toBeTruthy()
704
+ expect(result.subnames.length).toBe(1)
705
+ expect(result.subnameCount).toBe(4)
706
+ expect(result.subnames[0].name).toEqual('legacy.with-subnames.eth')
707
+ expect(
708
+ result.subnames.every((subname, i, arr) => {
709
+ if (arr[i + 1]) {
710
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
711
+ }
712
+ return true
713
+ }),
714
+ ).toBe(true)
715
+ testProperties(
716
+ result.subnames[0],
717
+ 'id',
718
+ 'labelName',
719
+ 'labelhash',
720
+ 'name',
721
+ 'isMigrated',
722
+ 'owner',
723
+ 'truncatedName',
724
+ )
725
+ const result2 = await ensInstance.getSubnames({
726
+ name: 'with-subnames.eth',
727
+ page: 0,
728
+ pageSize: 2,
729
+ orderBy: 'createdAt',
730
+ orderDirection: 'asc',
731
+ lastSubnames: result.subnames,
732
+ search: 'a',
733
+ })
734
+
735
+ expect(result2).toBeTruthy()
736
+ expect(result2.subnames.length).toBe(1)
737
+ expect(result2.subnameCount).toBe(4)
738
+ expect(result2.subnames[0].name).toEqual('addr.with-subnames.eth')
739
+
740
+ testProperties(
741
+ result2.subnames[0],
742
+ 'id',
743
+ 'labelName',
744
+ 'labelhash',
745
+ 'name',
746
+ 'isMigrated',
747
+ 'owner',
748
+ 'truncatedName',
749
+ )
750
+ })
751
+
752
+ it('should get paginated subnames for a name by labelName in desc order', async () => {
753
+ const result = await ensInstance.getSubnames({
754
+ name: 'with-subnames.eth',
755
+ pageSize: 1,
756
+ orderBy: 'labelName',
757
+ orderDirection: 'desc',
758
+ search: 'a',
759
+ })
760
+ expect(result).toBeTruthy()
761
+ expect(result.subnames.length).toBe(1)
762
+ expect(result.subnameCount).toBe(4)
763
+ expect(result.subnames[0].name).toEqual('legacy.with-subnames.eth')
764
+ testProperties(
765
+ result.subnames[0],
766
+ 'id',
767
+ 'labelName',
768
+ 'labelhash',
769
+ 'name',
770
+ 'isMigrated',
771
+ 'owner',
772
+ 'truncatedName',
773
+ )
774
+ const result2 = await ensInstance.getSubnames({
775
+ name: 'with-subnames.eth',
776
+ pageSize: 1,
777
+ orderBy: 'labelName',
778
+ orderDirection: 'desc',
779
+ lastSubnames: result.subnames,
780
+ search: 'a',
781
+ })
782
+ expect(result2).toBeTruthy()
783
+ expect(result2.subnames.length).toBe(1)
784
+ expect(result2.subnameCount).toBe(4)
785
+ expect(result2.subnames[0].name).toEqual('addr.with-subnames.eth')
786
+ testProperties(
787
+ result.subnames[0],
788
+ 'id',
789
+ 'labelName',
790
+ 'labelhash',
791
+ 'name',
792
+ 'isMigrated',
793
+ 'owner',
794
+ 'truncatedName',
795
+ )
796
+ })
797
+
798
+ it('should get paginated subnames for a name by labelName in asc order', async () => {
799
+ const result = await ensInstance.getSubnames({
800
+ name: 'with-subnames.eth',
801
+ pageSize: 1,
802
+ orderBy: 'labelName',
803
+ orderDirection: 'asc',
804
+ search: 'a',
805
+ })
806
+ expect(result).toBeTruthy()
807
+ expect(result.subnames.length).toBe(1)
808
+ expect(result.subnameCount).toBe(4)
809
+ expect(result.subnames[0].name).toEqual('addr.with-subnames.eth')
810
+
811
+ testProperties(
812
+ result.subnames[0],
813
+ 'id',
814
+ 'labelName',
815
+ 'labelhash',
816
+ 'name',
817
+ 'isMigrated',
818
+ 'owner',
819
+ 'truncatedName',
820
+ )
821
+
822
+ const result2 = await ensInstance.getSubnames({
823
+ name: 'with-subnames.eth',
824
+ pageSize: 1,
825
+ orderBy: 'labelName',
826
+ orderDirection: 'asc',
827
+ lastSubnames: result.subnames,
828
+ search: 'a',
829
+ })
830
+ expect(result2).toBeTruthy()
831
+ expect(result2.subnames.length).toBe(1)
832
+ expect(result2.subnameCount).toBe(4)
833
+ expect(result2.subnames[0].name).toEqual('legacy.with-subnames.eth')
834
+
835
+ testProperties(
836
+ result2.subnames[0],
837
+ 'id',
838
+ 'labelName',
839
+ 'labelhash',
840
+ 'name',
841
+ 'isMigrated',
842
+ 'owner',
843
+ 'truncatedName',
844
+ )
845
+ })
846
+ })
847
+ })
848
+
849
+ describe('wrapped', () => {
850
+ it('should get the subnames for a name ordered by createdAt in desc order', async () => {
851
+ const result = await ensInstance.getSubnames({
852
+ name: 'wrapped-with-subnames.eth',
853
+ pageSize: 10,
854
+ orderBy: 'createdAt',
855
+ orderDirection: 'desc',
856
+ })
857
+ expect(result).toBeTruthy()
858
+ expect(result.subnames.length).toBe(4)
859
+ expect(result.subnameCount).toBe(4)
860
+ expect(result.subnames[0].name).toEqual('addr.wrapped-with-subnames.eth')
861
+ expect(result.subnames[1].name).toEqual('xyz.wrapped-with-subnames.eth')
862
+ expect(result.subnames[2].name).toEqual(
863
+ 'legacy.wrapped-with-subnames.eth',
864
+ )
865
+ expect(result.subnames[3].name).toEqual('test.wrapped-with-subnames.eth')
866
+ expect(
867
+ result.subnames.every((subname, i, arr) => {
868
+ if (arr[i + 1]) {
869
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
870
+ }
871
+ return true
872
+ }),
873
+ ).toBe(true)
874
+ testProperties(
875
+ result.subnames[0],
876
+ 'id',
877
+ 'labelName',
878
+ 'labelhash',
879
+ 'name',
880
+ 'isMigrated',
881
+ 'owner',
882
+ 'truncatedName',
883
+ )
884
+ })
885
+
886
+ it('should get the subnames for a name ordered by createdAt in asc order', async () => {
887
+ const result = await ensInstance.getSubnames({
888
+ name: 'wrapped-with-subnames.eth',
889
+ pageSize: 10,
890
+ orderBy: 'createdAt',
891
+ orderDirection: 'asc',
892
+ })
893
+ expect(result).toBeTruthy()
894
+ expect(result.subnames.length).toBe(4)
895
+ expect(result.subnameCount).toBe(4)
896
+ expect(result.subnames[0].name).toEqual('test.wrapped-with-subnames.eth')
897
+ expect(result.subnames[1].name).toEqual(
898
+ 'legacy.wrapped-with-subnames.eth',
899
+ )
900
+ expect(result.subnames[2].name).toEqual('xyz.wrapped-with-subnames.eth')
901
+ expect(result.subnames[3].name).toEqual('addr.wrapped-with-subnames.eth')
902
+ expect(
903
+ result.subnames.every((subname, i, arr) => {
904
+ if (arr[i + 1]) {
905
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
906
+ }
907
+ return true
908
+ }),
909
+ ).toBe(true)
910
+ testProperties(
911
+ result.subnames[0],
912
+ 'id',
913
+ 'labelName',
914
+ 'labelhash',
915
+ 'name',
916
+ 'isMigrated',
917
+ 'owner',
918
+ 'truncatedName',
919
+ )
920
+ })
921
+
922
+ it('should get the subnames for a name by labelName in desc order', async () => {
923
+ const result = await ensInstance.getSubnames({
924
+ name: 'wrapped-with-subnames.eth',
925
+ pageSize: 10,
926
+ orderBy: 'labelName',
927
+ orderDirection: 'desc',
928
+ })
929
+ expect(result).toBeTruthy()
930
+ expect(result.subnames.length).toBe(4)
931
+ expect(result.subnameCount).toBe(4)
932
+ expect(result.subnames[0].name).toEqual('xyz.wrapped-with-subnames.eth')
933
+ expect(result.subnames[1].name).toEqual('test.wrapped-with-subnames.eth')
934
+ expect(result.subnames[2].name).toEqual(
935
+ 'legacy.wrapped-with-subnames.eth',
936
+ )
937
+ expect(result.subnames[3].name).toEqual('addr.wrapped-with-subnames.eth')
938
+ testProperties(
939
+ result.subnames[0],
940
+ 'id',
941
+ 'labelName',
942
+ 'labelhash',
943
+ 'name',
944
+ 'isMigrated',
945
+ 'owner',
946
+ 'truncatedName',
947
+ )
948
+ })
949
+
950
+ it('should get the subnames for a name by labelName in asc order', async () => {
951
+ const result = await ensInstance.getSubnames({
952
+ name: 'wrapped-with-subnames.eth',
953
+ pageSize: 10,
954
+ orderBy: 'labelName',
955
+ orderDirection: 'asc',
956
+ })
957
+ expect(result).toBeTruthy()
958
+ expect(result.subnames.length).toBe(4)
959
+ expect(result.subnameCount).toBe(4)
960
+ expect(result.subnames[0].name).toEqual('addr.wrapped-with-subnames.eth')
961
+ expect(result.subnames[1].name).toEqual(
962
+ 'legacy.wrapped-with-subnames.eth',
963
+ )
964
+ expect(result.subnames[2].name).toEqual('test.wrapped-with-subnames.eth')
965
+ expect(result.subnames[3].name).toEqual('xyz.wrapped-with-subnames.eth')
966
+ testProperties(
967
+ result.subnames[0],
968
+ 'id',
969
+ 'labelName',
970
+ 'labelhash',
971
+ 'name',
972
+ 'isMigrated',
973
+ 'owner',
974
+ 'truncatedName',
975
+ )
976
+ })
977
+
978
+ describe('with pagination', () => {
979
+ it('should get paginated subnames for a name ordered by createdAt in desc order', async () => {
980
+ const result = await ensInstance.getSubnames({
981
+ name: 'wrapped-with-subnames.eth',
982
+ pageSize: 2,
983
+ orderBy: 'createdAt',
984
+ orderDirection: 'desc',
985
+ })
986
+ expect(result).toBeTruthy()
987
+ expect(result.subnames.length).toBe(2)
988
+ expect(result.subnameCount).toBe(4)
989
+ expect(result.subnames[0].name).toEqual(
990
+ 'addr.wrapped-with-subnames.eth',
991
+ )
992
+ expect(result.subnames[1].name).toEqual('xyz.wrapped-with-subnames.eth')
993
+ expect(
994
+ result.subnames.every((subname, i, arr) => {
995
+ if (arr[i + 1]) {
996
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
997
+ }
998
+ return true
999
+ }),
1000
+ ).toBe(true)
1001
+ testProperties(
1002
+ result.subnames[0],
1003
+ 'id',
1004
+ 'labelName',
1005
+ 'labelhash',
1006
+ 'name',
1007
+ 'isMigrated',
1008
+ 'owner',
1009
+ 'truncatedName',
1010
+ )
1011
+ const result2 = await ensInstance.getSubnames({
1012
+ name: 'wrapped-with-subnames.eth',
1013
+ pageSize: 2,
1014
+ orderBy: 'createdAt',
1015
+ orderDirection: 'desc',
1016
+ lastSubnames: result.subnames,
1017
+ })
1018
+ expect(result2).toBeTruthy()
1019
+ expect(result2.subnames.length).toBe(2)
1020
+ expect(result2.subnameCount).toBe(4)
1021
+ expect(result2.subnames[0].name).toEqual(
1022
+ 'legacy.wrapped-with-subnames.eth',
1023
+ )
1024
+ expect(result2.subnames[1].name).toEqual(
1025
+ 'test.wrapped-with-subnames.eth',
1026
+ )
1027
+ expect(
1028
+ result2.subnames.every((subname, i, arr) => {
1029
+ if (arr[i + 1]) {
1030
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
1031
+ }
1032
+ return true
1033
+ }),
1034
+ ).toBe(true)
1035
+ testProperties(
1036
+ result2.subnames[0],
1037
+ 'id',
1038
+ 'labelName',
1039
+ 'labelhash',
1040
+ 'name',
1041
+ 'isMigrated',
1042
+ 'owner',
1043
+ 'truncatedName',
1044
+ )
1045
+ })
1046
+
1047
+ it('should get paginated subnames for a name ordered by createdAt in asc order', async () => {
1048
+ const result = await ensInstance.getSubnames({
1049
+ name: 'wrapped-with-subnames.eth',
1050
+ pageSize: 2,
1051
+ orderBy: 'createdAt',
1052
+ orderDirection: 'asc',
1053
+ })
1054
+ expect(result).toBeTruthy()
1055
+ expect(result.subnames.length).toBe(2)
1056
+ expect(result.subnameCount).toBe(4)
1057
+ expect(result.subnames[0].name).toEqual(
1058
+ 'test.wrapped-with-subnames.eth',
1059
+ )
1060
+ expect(result.subnames[1].name).toEqual(
1061
+ 'legacy.wrapped-with-subnames.eth',
1062
+ )
1063
+ expect(
1064
+ result.subnames.every((subname, i, arr) => {
1065
+ if (arr[i + 1]) {
1066
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
1067
+ }
1068
+ return true
1069
+ }),
1070
+ ).toBe(true)
1071
+ testProperties(
1072
+ result.subnames[0],
1073
+ 'id',
1074
+ 'labelName',
1075
+ 'labelhash',
1076
+ 'name',
1077
+ 'isMigrated',
1078
+ 'owner',
1079
+ 'truncatedName',
1080
+ )
1081
+ const result2 = await ensInstance.getSubnames({
1082
+ name: 'wrapped-with-subnames.eth',
1083
+ page: 0,
1084
+ pageSize: 2,
1085
+ orderBy: 'createdAt',
1086
+ orderDirection: 'asc',
1087
+ lastSubnames: result.subnames,
1088
+ })
1089
+
1090
+ expect(result2).toBeTruthy()
1091
+ expect(result2.subnames.length).toBe(2)
1092
+ expect(result2.subnameCount).toBe(4)
1093
+ expect(result2.subnames[0].name).toEqual(
1094
+ 'xyz.wrapped-with-subnames.eth',
1095
+ )
1096
+ expect(result2.subnames[1].name).toEqual(
1097
+ 'addr.wrapped-with-subnames.eth',
1098
+ )
1099
+ expect(
1100
+ result2.subnames.every((subname, i, arr) => {
1101
+ if (arr[i + 1]) {
1102
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
1103
+ }
1104
+ return true
1105
+ }),
1106
+ ).toBe(true)
1107
+ testProperties(
1108
+ result2.subnames[0],
1109
+ 'id',
1110
+ 'labelName',
1111
+ 'labelhash',
1112
+ 'name',
1113
+ 'isMigrated',
1114
+ 'owner',
1115
+ 'truncatedName',
1116
+ )
1117
+ })
1118
+
1119
+ it('should get paginated subnames for a name by labelName in desc order', async () => {
1120
+ const result = await ensInstance.getSubnames({
1121
+ name: 'wrapped-with-subnames.eth',
1122
+ pageSize: 2,
1123
+ orderBy: 'labelName',
1124
+ orderDirection: 'desc',
1125
+ })
1126
+ expect(result).toBeTruthy()
1127
+ expect(result.subnames.length).toBe(2)
1128
+ expect(result.subnameCount).toBe(4)
1129
+ expect(result.subnames[0].name).toEqual('xyz.wrapped-with-subnames.eth')
1130
+ expect(result.subnames[1].name).toEqual(
1131
+ 'test.wrapped-with-subnames.eth',
1132
+ )
1133
+ testProperties(
1134
+ result.subnames[0],
1135
+ 'id',
1136
+ 'labelName',
1137
+ 'labelhash',
1138
+ 'name',
1139
+ 'isMigrated',
1140
+ 'owner',
1141
+ 'truncatedName',
1142
+ )
1143
+ const result2 = await ensInstance.getSubnames({
1144
+ name: 'wrapped-with-subnames.eth',
1145
+ pageSize: 2,
1146
+ orderBy: 'labelName',
1147
+ orderDirection: 'desc',
1148
+ lastSubnames: result.subnames,
1149
+ })
1150
+ expect(result2).toBeTruthy()
1151
+ expect(result2.subnames.length).toBe(2)
1152
+ expect(result2.subnameCount).toBe(4)
1153
+ expect(result2.subnames[0].name).toEqual(
1154
+ 'legacy.wrapped-with-subnames.eth',
1155
+ )
1156
+ expect(result2.subnames[1].name).toEqual(
1157
+ 'addr.wrapped-with-subnames.eth',
1158
+ )
1159
+ testProperties(
1160
+ result.subnames[0],
1161
+ 'id',
1162
+ 'labelName',
1163
+ 'labelhash',
1164
+ 'name',
1165
+ 'isMigrated',
1166
+ 'owner',
1167
+ 'truncatedName',
1168
+ )
1169
+ })
1170
+
1171
+ it('should get paginated subnames for a name by labelName in asc order', async () => {
1172
+ const result = await ensInstance.getSubnames({
1173
+ name: 'wrapped-with-subnames.eth',
1174
+ pageSize: 2,
1175
+ orderBy: 'labelName',
1176
+ orderDirection: 'asc',
1177
+ })
1178
+ expect(result).toBeTruthy()
1179
+ expect(result.subnames.length).toBe(2)
1180
+ expect(result.subnameCount).toBe(4)
1181
+ expect(result.subnames[0].name).toEqual(
1182
+ 'addr.wrapped-with-subnames.eth',
1183
+ )
1184
+ expect(result.subnames[1].name).toEqual(
1185
+ 'legacy.wrapped-with-subnames.eth',
1186
+ )
1187
+
1188
+ testProperties(
1189
+ result.subnames[0],
1190
+ 'id',
1191
+ 'labelName',
1192
+ 'labelhash',
1193
+ 'name',
1194
+ 'isMigrated',
1195
+ 'owner',
1196
+ 'truncatedName',
1197
+ )
1198
+
1199
+ const result2 = await ensInstance.getSubnames({
1200
+ name: 'wrapped-with-subnames.eth',
1201
+ pageSize: 2,
1202
+ orderBy: 'labelName',
1203
+ orderDirection: 'asc',
1204
+ lastSubnames: result.subnames,
1205
+ })
1206
+ expect(result2).toBeTruthy()
1207
+ expect(result2.subnames.length).toBe(2)
1208
+ expect(result2.subnameCount).toBe(4)
1209
+ expect(result2.subnames[0].name).toEqual(
1210
+ 'test.wrapped-with-subnames.eth',
1211
+ )
1212
+ expect(result2.subnames[1].name).toEqual(
1213
+ 'xyz.wrapped-with-subnames.eth',
1214
+ )
1215
+
1216
+ testProperties(
1217
+ result2.subnames[0],
1218
+ 'id',
1219
+ 'labelName',
1220
+ 'labelhash',
1221
+ 'name',
1222
+ 'isMigrated',
1223
+ 'owner',
1224
+ 'truncatedName',
1225
+ )
1226
+ })
1227
+ })
1228
+
1229
+ describe('With search query', () => {
1230
+ it('should get the searched subnames for a name ordered by createdAt in desc order', async () => {
1231
+ const result = await ensInstance.getSubnames({
1232
+ name: 'wrapped-with-subnames.eth',
1233
+ pageSize: 10,
1234
+ orderBy: 'createdAt',
1235
+ orderDirection: 'desc',
1236
+ search: 'a',
1237
+ })
1238
+ expect(result).toBeTruthy()
1239
+ expect(result.subnames.length).toBe(2)
1240
+ expect(result.subnameCount).toBe(4)
1241
+ expect(result.subnames[0].name).toEqual(
1242
+ 'addr.wrapped-with-subnames.eth',
1243
+ )
1244
+ expect(result.subnames[1].name).toEqual(
1245
+ 'legacy.wrapped-with-subnames.eth',
1246
+ )
1247
+ expect(
1248
+ result.subnames.every((subname, i, arr) => {
1249
+ if (arr[i + 1]) {
1250
+ return (subname as any).createdAt >= (arr[i + 1] as any).createdAt
1251
+ }
1252
+ return true
1253
+ }),
1254
+ ).toBe(true)
1255
+ testProperties(
1256
+ result.subnames[0],
1257
+ 'id',
1258
+ 'labelName',
1259
+ 'labelhash',
1260
+ 'name',
1261
+ 'isMigrated',
1262
+ 'owner',
1263
+ 'truncatedName',
1264
+ )
1265
+ })
1266
+
1267
+ it('should get the searched subnames for a name ordered by createdAt in asc order', async () => {
1268
+ const result = await ensInstance.getSubnames({
1269
+ name: 'wrapped-with-subnames.eth',
1270
+ page: 0,
1271
+ pageSize: 10,
1272
+ orderBy: 'createdAt',
1273
+ orderDirection: 'asc',
1274
+ search: 'a',
1275
+ })
1276
+ expect(result).toBeTruthy()
1277
+ expect(result.subnames.length).toBe(2)
1278
+ expect(result.subnameCount).toBe(4)
1279
+ expect(result.subnames[0].name).toEqual(
1280
+ 'legacy.wrapped-with-subnames.eth',
1281
+ )
1282
+ expect(result.subnames[1].name).toEqual(
1283
+ 'addr.wrapped-with-subnames.eth',
1284
+ )
1285
+ expect(
1286
+ result.subnames.every((subname, i, arr) => {
1287
+ if (arr[i + 1]) {
1288
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
1289
+ }
1290
+ return true
1291
+ }),
1292
+ ).toBe(true)
1293
+ testProperties(
1294
+ result.subnames[0],
1295
+ 'id',
1296
+ 'labelName',
1297
+ 'labelhash',
1298
+ 'name',
1299
+ 'isMigrated',
1300
+ 'owner',
1301
+ 'truncatedName',
1302
+ )
1303
+ })
1304
+
1305
+ it('should get the subnames for a name by labelName in desc order', async () => {
1306
+ const result = await ensInstance.getSubnames({
1307
+ name: 'wrapped-with-subnames.eth',
1308
+ pageSize: 10,
1309
+ orderBy: 'labelName',
1310
+ orderDirection: 'desc',
1311
+ search: 'a',
1312
+ })
1313
+ expect(result).toBeTruthy()
1314
+ expect(result.subnames.length).toBe(2)
1315
+ expect(result.subnameCount).toBe(4)
1316
+ expect(result.subnames[0].name).toEqual(
1317
+ 'legacy.wrapped-with-subnames.eth',
1318
+ )
1319
+ expect(result.subnames[1].name).toEqual(
1320
+ 'addr.wrapped-with-subnames.eth',
1321
+ )
1322
+ testProperties(
1323
+ result.subnames[0],
1324
+ 'id',
1325
+ 'labelName',
1326
+ 'labelhash',
1327
+ 'name',
1328
+ 'isMigrated',
1329
+ 'owner',
1330
+ 'truncatedName',
1331
+ )
1332
+ })
1333
+
1334
+ it('should get the subnames for a name by labelName in asc order', async () => {
1335
+ const result = await ensInstance.getSubnames({
1336
+ name: 'wrapped-with-subnames.eth',
1337
+ pageSize: 10,
1338
+ orderBy: 'labelName',
1339
+ orderDirection: 'asc',
1340
+ search: 'a',
1341
+ })
1342
+ expect(result).toBeTruthy()
1343
+ expect(result.subnames.length).toBe(2)
1344
+ expect(result.subnameCount).toBe(4)
1345
+ expect(result.subnames[0].name).toEqual(
1346
+ 'addr.wrapped-with-subnames.eth',
1347
+ )
1348
+ expect(result.subnames[1].name).toEqual(
1349
+ 'legacy.wrapped-with-subnames.eth',
1350
+ )
1351
+ testProperties(
1352
+ result.subnames[0],
1353
+ 'id',
1354
+ 'labelName',
1355
+ 'labelhash',
1356
+ 'name',
1357
+ 'isMigrated',
1358
+ 'owner',
1359
+ 'truncatedName',
1360
+ )
1361
+ })
1362
+ })
1363
+
1364
+ describe('with search query and pagination', () => {
1365
+ it('should get paginated subnames for a name ordered by createdAt in desc order', async () => {
1366
+ const result = await ensInstance.getSubnames({
1367
+ name: 'wrapped-with-subnames.eth',
1368
+ pageSize: 1,
1369
+ orderBy: 'createdAt',
1370
+ orderDirection: 'desc',
1371
+ search: 'a',
1372
+ })
1373
+ expect(result).toBeTruthy()
1374
+ expect(result.subnames.length).toBe(1)
1375
+ expect(result.subnameCount).toBe(4)
1376
+ expect(result.subnames[0].name).toEqual(
1377
+ 'addr.wrapped-with-subnames.eth',
1378
+ )
1379
+ testProperties(
1380
+ result.subnames[0],
1381
+ 'id',
1382
+ 'labelName',
1383
+ 'labelhash',
1384
+ 'name',
1385
+ 'isMigrated',
1386
+ 'owner',
1387
+ 'truncatedName',
1388
+ )
1389
+ const result2 = await ensInstance.getSubnames({
1390
+ name: 'wrapped-with-subnames.eth',
1391
+ pageSize: 1,
1392
+ orderBy: 'createdAt',
1393
+ orderDirection: 'desc',
1394
+ lastSubnames: result.subnames,
1395
+ search: 'a',
1396
+ })
1397
+ expect(result2).toBeTruthy()
1398
+ expect(result2.subnames.length).toBe(1)
1399
+ expect(result2.subnameCount).toBe(4)
1400
+ expect(result2.subnames[0].name).toEqual(
1401
+ 'legacy.wrapped-with-subnames.eth',
1402
+ )
1403
+ testProperties(
1404
+ result2.subnames[0],
1405
+ 'id',
1406
+ 'labelName',
1407
+ 'labelhash',
1408
+ 'name',
1409
+ 'isMigrated',
1410
+ 'owner',
1411
+ 'truncatedName',
1412
+ )
1413
+ })
1414
+
1415
+ it('should get paginated subnames for a name ordered by createdAt in asc order', async () => {
1416
+ const result = await ensInstance.getSubnames({
1417
+ name: 'wrapped-with-subnames.eth',
1418
+ pageSize: 1,
1419
+ orderBy: 'createdAt',
1420
+ orderDirection: 'asc',
1421
+ search: 'a',
1422
+ })
1423
+ expect(result).toBeTruthy()
1424
+ expect(result.subnames.length).toBe(1)
1425
+ expect(result.subnameCount).toBe(4)
1426
+ expect(result.subnames[0].name).toEqual(
1427
+ 'legacy.wrapped-with-subnames.eth',
1428
+ )
1429
+ expect(
1430
+ result.subnames.every((subname, i, arr) => {
1431
+ if (arr[i + 1]) {
1432
+ return (subname as any).createdAt <= (arr[i + 1] as any).createdAt
1433
+ }
1434
+ return true
1435
+ }),
1436
+ ).toBe(true)
1437
+ testProperties(
1438
+ result.subnames[0],
1439
+ 'id',
1440
+ 'labelName',
1441
+ 'labelhash',
1442
+ 'name',
1443
+ 'isMigrated',
1444
+ 'owner',
1445
+ 'truncatedName',
1446
+ )
1447
+ const result2 = await ensInstance.getSubnames({
1448
+ name: 'wrapped-with-subnames.eth',
1449
+ page: 0,
1450
+ pageSize: 2,
1451
+ orderBy: 'createdAt',
1452
+ orderDirection: 'asc',
1453
+ lastSubnames: result.subnames,
1454
+ search: 'a',
1455
+ })
1456
+
1457
+ expect(result2).toBeTruthy()
1458
+ expect(result2.subnames.length).toBe(1)
1459
+ expect(result2.subnameCount).toBe(4)
1460
+ expect(result2.subnames[0].name).toEqual(
1461
+ 'addr.wrapped-with-subnames.eth',
1462
+ )
1463
+
1464
+ testProperties(
1465
+ result2.subnames[0],
1466
+ 'id',
1467
+ 'labelName',
1468
+ 'labelhash',
1469
+ 'name',
1470
+ 'isMigrated',
1471
+ 'owner',
1472
+ 'truncatedName',
1473
+ )
1474
+ })
1475
+
1476
+ it('should get paginated subnames for a name by labelName in desc order', async () => {
1477
+ const result = await ensInstance.getSubnames({
1478
+ name: 'wrapped-with-subnames.eth',
1479
+ pageSize: 1,
1480
+ orderBy: 'labelName',
1481
+ orderDirection: 'desc',
1482
+ search: 'a',
1483
+ })
1484
+ expect(result).toBeTruthy()
1485
+ expect(result.subnames.length).toBe(1)
1486
+ expect(result.subnameCount).toBe(4)
1487
+ expect(result.subnames[0].name).toEqual(
1488
+ 'legacy.wrapped-with-subnames.eth',
1489
+ )
1490
+ testProperties(
1491
+ result.subnames[0],
1492
+ 'id',
1493
+ 'labelName',
1494
+ 'labelhash',
1495
+ 'name',
1496
+ 'isMigrated',
1497
+ 'owner',
1498
+ 'truncatedName',
1499
+ )
1500
+ const result2 = await ensInstance.getSubnames({
1501
+ name: 'wrapped-with-subnames.eth',
1502
+ pageSize: 1,
1503
+ orderBy: 'labelName',
1504
+ orderDirection: 'desc',
1505
+ lastSubnames: result.subnames,
1506
+ search: 'a',
1507
+ })
1508
+ expect(result2).toBeTruthy()
1509
+ expect(result2.subnames.length).toBe(1)
1510
+ expect(result2.subnameCount).toBe(4)
1511
+ expect(result2.subnames[0].name).toEqual(
1512
+ 'addr.wrapped-with-subnames.eth',
1513
+ )
1514
+ testProperties(
1515
+ result.subnames[0],
1516
+ 'id',
1517
+ 'labelName',
1518
+ 'labelhash',
1519
+ 'name',
1520
+ 'isMigrated',
1521
+ 'owner',
1522
+ 'truncatedName',
1523
+ )
1524
+ })
1525
+
1526
+ it('should get paginated subnames for a name by labelName in asc order', async () => {
1527
+ const result = await ensInstance.getSubnames({
1528
+ name: 'wrapped-with-subnames.eth',
1529
+ pageSize: 1,
1530
+ orderBy: 'labelName',
1531
+ orderDirection: 'asc',
1532
+ search: 'a',
1533
+ })
1534
+ expect(result).toBeTruthy()
1535
+ expect(result.subnames.length).toBe(1)
1536
+ expect(result.subnameCount).toBe(4)
1537
+ expect(result.subnames[0].name).toEqual(
1538
+ 'addr.wrapped-with-subnames.eth',
1539
+ )
1540
+
1541
+ testProperties(
1542
+ result.subnames[0],
1543
+ 'id',
1544
+ 'labelName',
1545
+ 'labelhash',
1546
+ 'name',
1547
+ 'isMigrated',
1548
+ 'owner',
1549
+ 'truncatedName',
1550
+ )
1551
+
1552
+ const result2 = await ensInstance.getSubnames({
1553
+ name: 'wrapped-with-subnames.eth',
1554
+ pageSize: 1,
1555
+ orderBy: 'labelName',
1556
+ orderDirection: 'asc',
1557
+ lastSubnames: result.subnames,
1558
+ search: 'a',
1559
+ })
1560
+ expect(result2).toBeTruthy()
1561
+ expect(result2.subnames.length).toBe(1)
1562
+ expect(result2.subnameCount).toBe(4)
1563
+ expect(result2.subnames[0].name).toEqual(
1564
+ 'legacy.wrapped-with-subnames.eth',
1565
+ )
1566
+
1567
+ testProperties(
1568
+ result2.subnames[0],
1569
+ 'id',
1570
+ 'labelName',
1571
+ 'labelhash',
1572
+ 'name',
1573
+ 'isMigrated',
1574
+ 'owner',
1575
+ 'truncatedName',
1576
+ )
1577
+ })
1578
+ })
1579
+ })
31
1580
  })