@ensdomains/ensjs 3.0.0-alpha.5 → 3.0.0-alpha.51

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 (773) 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 +80 -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 +228 -107
  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 +455 -253
  33. package/dist/cjs/functions/getRecords.js +29 -9
  34. package/dist/cjs/functions/getResolver.js +41 -19
  35. package/dist/cjs/functions/getSpecificRecord.js +270 -260
  36. package/dist/cjs/functions/getSubnames.js +99 -118
  37. package/dist/cjs/functions/getWrapperData.js +57 -0
  38. package/dist/cjs/functions/importDNSSECName.js +65 -0
  39. package/dist/cjs/functions/initialGetters.js +48 -37
  40. package/dist/cjs/functions/registerName.js +44 -0
  41. package/dist/cjs/functions/renewNames.js +55 -0
  42. package/dist/cjs/functions/setFuses.js +49 -0
  43. package/dist/cjs/functions/setName.js +41 -10
  44. package/dist/cjs/functions/setRecord.js +56 -0
  45. package/dist/cjs/functions/setRecords.js +50 -22
  46. package/dist/cjs/functions/setResolver.js +44 -18
  47. package/dist/cjs/functions/supportsTLD.js +48 -0
  48. package/dist/cjs/functions/transferController.js +42 -0
  49. package/dist/cjs/functions/transferName.js +62 -26
  50. package/dist/cjs/functions/transferSubname.js +56 -21
  51. package/dist/cjs/functions/types.js +16 -0
  52. package/dist/cjs/functions/unwrapName.js +50 -20
  53. package/dist/cjs/functions/wrapName.js +107 -52
  54. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  55. package/dist/cjs/generated/BulkRenewal.js +16 -0
  56. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  57. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  58. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  59. package/dist/cjs/generated/ENSRegistry.js +15 -1
  60. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  61. package/dist/cjs/generated/Multicall.js +15 -1
  62. package/dist/cjs/generated/NameWrapper.js +15 -1
  63. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  64. package/dist/cjs/generated/PublicResolver.js +15 -1
  65. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  66. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  67. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  68. package/dist/cjs/generated/Root.js +15 -1
  69. package/dist/cjs/generated/SHA1Digest.js +15 -1
  70. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  71. package/dist/cjs/generated/SHA256Digest.js +15 -1
  72. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  73. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  74. package/dist/cjs/generated/UniversalResolver.js +15 -1
  75. package/dist/cjs/generated/common.js +15 -1
  76. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +785 -764
  77. package/dist/cjs/generated/factories/BulkRenewal__factory.js +121 -0
  78. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +282 -288
  79. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +486 -492
  80. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +103 -82
  81. package/dist/cjs/generated/factories/ENSRegistry__factory.js +448 -431
  82. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +623 -504
  83. package/dist/cjs/generated/factories/Multicall__factory.js +458 -441
  84. package/dist/cjs/generated/factories/NameWrapper__factory.js +1400 -1194
  85. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +61 -67
  86. package/dist/cjs/generated/factories/PublicResolver__factory.js +1040 -885
  87. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +61 -67
  88. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +61 -67
  89. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +363 -333
  90. package/dist/cjs/generated/factories/Root__factory.js +254 -237
  91. package/dist/cjs/generated/factories/SHA1Digest__factory.js +56 -62
  92. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +61 -67
  93. package/dist/cjs/generated/factories/SHA256Digest__factory.js +56 -62
  94. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +65 -44
  95. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +51 -57
  96. package/dist/cjs/generated/factories/UniversalResolver__factory.js +558 -199
  97. package/dist/cjs/generated/factories/index.js +63 -17
  98. package/dist/cjs/generated/index.js +70 -37
  99. package/dist/cjs/index.js +319 -224
  100. package/dist/cjs/static.js +85 -0
  101. package/dist/cjs/utils/ccip.js +129 -0
  102. package/dist/cjs/utils/consts.js +26 -0
  103. package/dist/cjs/utils/contentHash.js +145 -142
  104. package/dist/cjs/utils/createReverseNode.js +23 -2
  105. package/dist/cjs/utils/format.js +27 -8
  106. package/dist/cjs/utils/fuses.js +293 -15
  107. package/dist/cjs/utils/hexEncodedName.js +31 -7
  108. package/dist/cjs/utils/labels.js +105 -83
  109. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  110. package/dist/cjs/utils/normalise.js +51 -22
  111. package/dist/cjs/utils/recordHelpers.js +151 -37
  112. package/dist/cjs/utils/registerHelpers.js +104 -46
  113. package/dist/cjs/utils/registry.js +32 -0
  114. package/dist/cjs/utils/singleCall.js +31 -6
  115. package/dist/cjs/utils/subgraph-types.js +16 -0
  116. package/dist/cjs/utils/validation.js +78 -63
  117. package/dist/cjs/utils/wrapper.js +56 -0
  118. package/dist/cjs/utils/writeTx.js +25 -0
  119. package/dist/esm/GqlManager.mjs +88 -0
  120. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  121. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  122. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  123. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  124. package/dist/esm/contracts/factories.mjs +0 -0
  125. package/dist/esm/contracts/getContractAddress.mjs +64 -0
  126. package/dist/esm/contracts/index.mjs +44 -0
  127. package/dist/esm/contracts/multicall.mjs +6 -0
  128. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  129. package/dist/esm/contracts/publicResolver.mjs +6 -0
  130. package/dist/esm/contracts/registry.mjs +6 -0
  131. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  132. package/dist/esm/contracts/types.mjs +0 -0
  133. package/dist/esm/contracts/universalResolver.mjs +6 -0
  134. package/dist/esm/functions/batch.mjs +37 -0
  135. package/dist/esm/functions/batchWrappers.mjs +109 -0
  136. package/dist/esm/functions/commitName.mjs +29 -0
  137. package/dist/esm/functions/createSubname.mjs +61 -0
  138. package/dist/esm/functions/deleteSubname.mjs +52 -0
  139. package/dist/esm/functions/getAvailable.mjs +36 -0
  140. package/dist/esm/functions/getDNSOwner.mjs +60 -0
  141. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  142. package/dist/esm/functions/getExpiry.mjs +96 -0
  143. package/dist/esm/functions/getHistory.mjs +245 -0
  144. package/dist/esm/functions/getName.mjs +38 -0
  145. package/dist/esm/functions/getNames.mjs +324 -0
  146. package/dist/esm/functions/getOwner.mjs +189 -0
  147. package/dist/esm/functions/getPrice.mjs +107 -0
  148. package/dist/esm/functions/getProfile.mjs +485 -0
  149. package/dist/esm/functions/getRecords.mjs +12 -0
  150. package/dist/esm/functions/getResolver.mjs +27 -0
  151. package/dist/esm/functions/getSpecificRecord.mjs +253 -0
  152. package/dist/esm/functions/getSubnames.mjs +116 -0
  153. package/dist/esm/functions/getWrapperData.mjs +38 -0
  154. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  155. package/dist/esm/functions/initialGetters.mjs +25 -0
  156. package/dist/esm/functions/registerName.mjs +27 -0
  157. package/dist/esm/functions/renewNames.mjs +36 -0
  158. package/dist/esm/functions/setFuses.mjs +30 -0
  159. package/dist/esm/functions/setName.mjs +23 -0
  160. package/dist/esm/functions/setRecord.mjs +36 -0
  161. package/dist/esm/functions/setRecords.mjs +32 -0
  162. package/dist/esm/functions/setResolver.mjs +29 -0
  163. package/dist/esm/functions/supportsTLD.mjs +29 -0
  164. package/dist/esm/functions/transferController.mjs +23 -0
  165. package/dist/esm/functions/transferName.mjs +46 -0
  166. package/dist/esm/functions/transferSubname.mjs +40 -0
  167. package/dist/esm/functions/types.mjs +0 -0
  168. package/dist/esm/functions/unwrapName.mjs +34 -0
  169. package/dist/esm/functions/wrapName.mjs +96 -0
  170. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  171. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  172. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  173. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  174. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  175. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  176. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  177. package/dist/esm/generated/Multicall.mjs +0 -0
  178. package/dist/esm/generated/NameWrapper.mjs +0 -0
  179. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  180. package/dist/esm/generated/PublicResolver.mjs +0 -0
  181. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  182. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  183. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  184. package/dist/esm/generated/Root.mjs +0 -0
  185. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  186. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  187. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  188. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  189. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  190. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  191. package/dist/esm/generated/common.mjs +0 -0
  192. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +779 -0
  193. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +109 -0
  194. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +278 -0
  195. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +483 -0
  196. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +96 -0
  197. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +444 -0
  198. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +618 -0
  199. package/dist/esm/generated/factories/Multicall__factory.mjs +462 -0
  200. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1394 -0
  201. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +53 -0
  202. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1035 -0
  203. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +53 -0
  204. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +53 -0
  205. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +358 -0
  206. package/dist/esm/generated/factories/Root__factory.mjs +248 -0
  207. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +48 -0
  208. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +53 -0
  209. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +48 -0
  210. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +58 -0
  211. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +43 -0
  212. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +551 -0
  213. package/dist/esm/generated/factories/index.mjs +45 -0
  214. package/dist/esm/generated/index.mjs +47 -0
  215. package/dist/esm/index.mjs +311 -0
  216. package/dist/esm/static.mjs +62 -0
  217. package/dist/esm/utils/ccip.mjs +114 -0
  218. package/dist/esm/utils/consts.mjs +7 -0
  219. package/dist/esm/utils/contentHash.mjs +142 -0
  220. package/dist/esm/utils/createReverseNode.mjs +5 -0
  221. package/dist/esm/utils/format.mjs +9 -0
  222. package/dist/esm/utils/fuses.mjs +283 -0
  223. package/dist/esm/utils/hexEncodedName.mjs +8 -0
  224. package/dist/esm/utils/labels.mjs +112 -0
  225. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  226. package/dist/esm/utils/normalise.mjs +32 -0
  227. package/dist/esm/utils/recordHelpers.mjs +133 -0
  228. package/dist/esm/utils/registerHelpers.mjs +90 -0
  229. package/dist/esm/utils/registry.mjs +13 -0
  230. package/dist/esm/utils/singleCall.mjs +13 -0
  231. package/dist/esm/utils/subgraph-types.mjs +0 -0
  232. package/dist/esm/utils/validation.mjs +69 -0
  233. package/dist/esm/utils/wrapper.mjs +37 -0
  234. package/dist/esm/utils/writeTx.mjs +6 -0
  235. package/dist/types/GqlManager.d.ts +13 -0
  236. package/dist/types/contracts/baseRegistrar.d.ts +3 -0
  237. package/dist/types/contracts/bulkRenewal.d.ts +3 -0
  238. package/dist/types/contracts/dnsRegistrar.d.ts +3 -0
  239. package/dist/types/contracts/ethRegistrarController.d.ts +3 -0
  240. package/dist/types/contracts/factories.d.ts +45 -0
  241. package/dist/types/contracts/index.d.ts +38 -0
  242. package/dist/types/contracts/multicall.d.ts +3 -0
  243. package/dist/types/contracts/nameWrapper.d.ts +3 -0
  244. package/dist/types/contracts/publicResolver.d.ts +3 -0
  245. package/dist/types/contracts/registry.d.ts +3 -0
  246. package/dist/types/contracts/reverseRegistrar.d.ts +3 -0
  247. package/dist/types/contracts/types.d.ts +2 -0
  248. package/dist/types/contracts/universalResolver.d.ts +3 -0
  249. package/dist/{cjs → types}/functions/batch.d.ts +8 -1
  250. package/dist/types/functions/batchWrappers.d.ts +86 -0
  251. package/dist/types/functions/commitName.d.ts +25 -0
  252. package/dist/types/functions/createSubname.d.ts +16 -0
  253. package/dist/types/functions/deleteSubname.d.ts +12 -0
  254. package/dist/{esm/functions/getResolver.d.ts → types/functions/getAvailable.d.ts} +1 -1
  255. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  256. package/dist/types/functions/getExpiry.d.ts +19 -0
  257. package/dist/types/functions/getHistory.d.ts +44 -0
  258. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  259. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  260. package/dist/{cjs → types}/functions/getOwner.d.ts +2 -1
  261. package/dist/{esm → types}/functions/getPrice.d.ts +3 -3
  262. package/dist/{esm → types}/functions/getProfile.d.ts +12 -1
  263. package/dist/{cjs → types}/functions/getRecords.d.ts +5 -2
  264. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +28 -6
  265. package/dist/{esm → types}/functions/getSubnames.d.ts +18 -6
  266. package/dist/types/functions/getWrapperData.d.ts +54 -0
  267. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  268. package/dist/{cjs → types}/functions/initialGetters.d.ts +1 -0
  269. package/dist/types/functions/registerName.d.ts +8 -0
  270. package/dist/types/functions/renewNames.d.ts +12 -0
  271. package/dist/types/functions/setFuses.d.ts +7 -0
  272. package/dist/{esm → types}/functions/setName.d.ts +1 -1
  273. package/dist/types/functions/setRecord.d.ts +22 -0
  274. package/dist/{cjs → types}/functions/setRecords.d.ts +1 -1
  275. package/dist/{esm → types}/functions/setResolver.d.ts +1 -1
  276. package/dist/types/functions/supportsTLD.d.ts +2 -0
  277. package/dist/types/functions/transferController.d.ts +5 -0
  278. package/dist/{esm → types}/functions/transferName.d.ts +3 -3
  279. package/dist/{esm/functions/createSubname.d.ts → types/functions/transferSubname.d.ts} +3 -4
  280. package/dist/types/functions/types.d.ts +83 -0
  281. package/dist/{esm → types}/functions/unwrapName.d.ts +1 -1
  282. package/dist/types/functions/wrapName.d.ts +9 -0
  283. package/dist/types/generated/BaseRegistrarImplementation.d.ts +512 -0
  284. package/dist/types/generated/BulkRenewal.d.ts +80 -0
  285. package/dist/types/generated/DNSRegistrar.d.ts +228 -0
  286. package/dist/types/generated/DNSSECImpl.d.ts +406 -0
  287. package/dist/types/generated/DefaultReverseResolver.d.ts +70 -0
  288. package/dist/types/generated/ENSRegistry.d.ts +278 -0
  289. package/dist/types/generated/ETHRegistrarController.d.ts +343 -0
  290. package/dist/{esm → types}/generated/Multicall.d.ts +113 -109
  291. package/dist/types/generated/NameWrapper.d.ts +859 -0
  292. package/dist/{esm → types}/generated/P256SHA256Algorithm.d.ts +22 -14
  293. package/dist/types/generated/PublicResolver.d.ts +647 -0
  294. package/dist/types/generated/RSASHA1Algorithm.d.ts +50 -0
  295. package/dist/types/generated/RSASHA256Algorithm.d.ts +50 -0
  296. package/dist/types/generated/ReverseRegistrar.d.ts +283 -0
  297. package/dist/types/generated/Root.d.ts +177 -0
  298. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +18 -14
  299. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +22 -14
  300. package/dist/{esm → types}/generated/SHA256Digest.d.ts +18 -14
  301. package/dist/types/generated/StaticMetadataService.d.ts +46 -0
  302. package/dist/types/generated/TLDPublicSuffixList.d.ts +46 -0
  303. package/dist/types/generated/UniversalResolver.d.ts +235 -0
  304. package/dist/{esm → types}/generated/common.d.ts +4 -3
  305. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +3 -3
  306. package/dist/{cjs/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +6 -6
  307. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +17 -16
  308. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +11 -11
  309. package/dist/{esm → types}/generated/factories/DefaultReverseResolver__factory.d.ts +3 -3
  310. package/dist/{esm → types}/generated/factories/ENSRegistry__factory.d.ts +3 -3
  311. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +15 -4
  312. package/dist/{esm → types}/generated/factories/Multicall__factory.d.ts +3 -3
  313. package/dist/{esm → types}/generated/factories/NameWrapper__factory.d.ts +3 -3
  314. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  315. package/dist/{esm → types}/generated/factories/PublicResolver__factory.d.ts +3 -3
  316. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  317. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  318. package/dist/{esm → types}/generated/factories/ReverseRegistrar__factory.d.ts +3 -3
  319. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +3 -3
  320. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  321. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  322. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  323. package/dist/{esm → types}/generated/factories/StaticMetadataService__factory.d.ts +3 -3
  324. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  325. package/dist/{cjs/generated/factories/NameWrapper__factory.d.ts → types/generated/factories/UniversalResolver__factory.d.ts} +6 -6
  326. package/dist/types/generated/factories/index.d.ts +21 -0
  327. package/dist/types/generated/index.d.ts +43 -0
  328. package/dist/types/index.d.ts +684 -0
  329. package/dist/types/static.d.ts +26 -0
  330. package/dist/types/utils/ccip.d.ts +3 -0
  331. package/dist/types/utils/consts.d.ts +2 -0
  332. package/dist/types/utils/fuses.d.ts +133 -0
  333. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +1 -0
  334. package/dist/{cjs → types}/utils/labels.d.ts +2 -1
  335. package/dist/types/utils/normalise.d.ts +2 -0
  336. package/dist/types/utils/recordHelpers.d.ts +29 -0
  337. package/dist/types/utils/registerHelpers.d.ts +41 -0
  338. package/dist/types/utils/registry.d.ts +2 -0
  339. package/dist/{esm → types}/utils/singleCall.d.ts +3 -2
  340. package/dist/types/utils/subgraph-types.d.ts +284 -0
  341. package/dist/{esm → types}/utils/validation.d.ts +1 -0
  342. package/dist/types/utils/wrapper.d.ts +7 -0
  343. package/dist/types/utils/writeTx.d.ts +21 -0
  344. package/package.json +110 -39
  345. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  346. package/src/@types/dns-packet/index.d.ts +113 -113
  347. package/src/@types/pako.d.ts +188 -0
  348. package/src/ABIs/Multicall.json +452 -0
  349. package/src/GqlManager.test.ts +173 -0
  350. package/src/GqlManager.ts +105 -9
  351. package/src/contracts/baseRegistrar.ts +2 -2
  352. package/src/contracts/bulkRenewal.ts +6 -0
  353. package/src/contracts/dnsRegistrar.ts +5 -0
  354. package/src/contracts/ethRegistrarController.ts +2 -2
  355. package/src/contracts/factories.ts +48 -0
  356. package/src/contracts/getContractAddress.ts +27 -6
  357. package/src/contracts/index.ts +72 -48
  358. package/src/contracts/multicall.ts +2 -21
  359. package/src/contracts/nameWrapper.ts +2 -2
  360. package/src/contracts/publicResolver.ts +2 -2
  361. package/src/contracts/registry.ts +2 -2
  362. package/src/contracts/reverseRegistrar.ts +2 -2
  363. package/src/contracts/types.ts +3 -1
  364. package/src/contracts/universalResolver.ts +2 -2
  365. package/src/functions/batch.test.ts +10 -10
  366. package/src/functions/batch.ts +18 -8
  367. package/src/functions/batchWrappers.test.ts +13 -13
  368. package/src/functions/batchWrappers.ts +42 -11
  369. package/src/functions/ccip.test.ts +77 -0
  370. package/src/functions/commitName.test.ts +58 -0
  371. package/src/functions/commitName.ts +38 -0
  372. package/src/functions/createSubname.test.ts +10 -15
  373. package/src/functions/createSubname.ts +25 -12
  374. package/src/functions/deleteSubname.test.ts +160 -30
  375. package/src/functions/deleteSubname.ts +64 -10
  376. package/src/functions/getAvailable.test.ts +21 -0
  377. package/src/functions/getAvailable.ts +37 -0
  378. package/src/functions/getDNSOwner.test.ts +9 -19
  379. package/src/functions/getDNSOwner.ts +11 -9
  380. package/src/functions/getDecryptedName.test.ts +49 -0
  381. package/src/functions/getDecryptedName.ts +119 -0
  382. package/src/functions/getExpiry.test.ts +28 -10
  383. package/src/functions/getExpiry.ts +90 -11
  384. package/src/functions/getHistory.test.ts +27 -79
  385. package/src/functions/getHistory.ts +166 -194
  386. package/src/functions/getName.test.ts +10 -10
  387. package/src/functions/getName.ts +4 -4
  388. package/src/functions/getNames.test.ts +166 -89
  389. package/src/functions/getNames.ts +181 -44
  390. package/src/functions/getOwner.test.ts +57 -51
  391. package/src/functions/getOwner.ts +87 -29
  392. package/src/functions/getPrice.test.ts +55 -0
  393. package/src/functions/getPrice.ts +66 -13
  394. package/src/functions/getProfile.test.ts +135 -29
  395. package/src/functions/getProfile.ts +308 -159
  396. package/src/functions/getRecords.ts +2 -1
  397. package/src/functions/getResolver.test.ts +5 -9
  398. package/src/functions/getResolver.ts +2 -6
  399. package/src/functions/getSpecificRecord.test.ts +185 -20
  400. package/src/functions/getSpecificRecord.ts +114 -149
  401. package/src/functions/getSubnames.test.ts +1556 -7
  402. package/src/functions/getSubnames.ts +105 -114
  403. package/src/functions/getWrapperData.test.ts +66 -0
  404. package/src/functions/getWrapperData.ts +44 -0
  405. package/src/functions/importDNSSECName.ts +54 -0
  406. package/src/functions/initialGetters.ts +1 -0
  407. package/src/functions/makeCommitment.test.ts +6 -6
  408. package/src/functions/registerName.test.ts +59 -0
  409. package/src/functions/registerName.ts +38 -0
  410. package/src/functions/renewNames.test.ts +64 -0
  411. package/src/functions/renewNames.ts +54 -0
  412. package/src/functions/setFuses.test.ts +240 -0
  413. package/src/functions/setFuses.ts +44 -0
  414. package/src/functions/setName.test.ts +21 -18
  415. package/src/functions/setName.ts +5 -5
  416. package/src/functions/setRecord.test.ts +249 -0
  417. package/src/functions/setRecord.ts +64 -0
  418. package/src/functions/setRecords.test.ts +54 -14
  419. package/src/functions/setRecords.ts +2 -2
  420. package/src/functions/setResolver.test.ts +10 -15
  421. package/src/functions/setResolver.ts +6 -3
  422. package/src/functions/supportsTLD.test.ts +45 -0
  423. package/src/functions/supportsTLD.ts +38 -0
  424. package/src/functions/transferController.ts +29 -0
  425. package/src/functions/transferName.test.ts +18 -32
  426. package/src/functions/transferName.ts +15 -8
  427. package/src/functions/transferSubname.test.ts +126 -43
  428. package/src/functions/transferSubname.ts +35 -13
  429. package/src/functions/types.ts +102 -0
  430. package/src/functions/unwrapName.test.ts +17 -32
  431. package/src/functions/unwrapName.ts +20 -11
  432. package/src/functions/wrapName.test.ts +121 -37
  433. package/src/functions/wrapName.ts +60 -56
  434. package/src/generated/BaseRegistrarImplementation.ts +846 -773
  435. package/src/generated/BulkRenewal.ts +196 -0
  436. package/src/generated/DNSRegistrar.ts +276 -262
  437. package/src/generated/DNSSECImpl.ts +436 -412
  438. package/src/generated/DefaultReverseResolver.ts +95 -79
  439. package/src/generated/ENSRegistry.ts +491 -422
  440. package/src/generated/ETHRegistrarController.ts +583 -492
  441. package/src/generated/Multicall.ts +345 -336
  442. package/src/generated/NameWrapper.ts +1645 -1215
  443. package/src/generated/P256SHA256Algorithm.ts +70 -65
  444. package/src/generated/PublicResolver.ts +1228 -941
  445. package/src/generated/RSASHA1Algorithm.ts +70 -65
  446. package/src/generated/RSASHA256Algorithm.ts +70 -65
  447. package/src/generated/ReverseRegistrar.ts +428 -362
  448. package/src/generated/Root.ts +295 -241
  449. package/src/generated/SHA1Digest.ts +61 -60
  450. package/src/generated/SHA1NSEC3Digest.ts +70 -66
  451. package/src/generated/SHA256Digest.ts +61 -60
  452. package/src/generated/StaticMetadataService.ts +61 -46
  453. package/src/generated/TLDPublicSuffixList.ts +59 -55
  454. package/src/generated/UniversalResolver.ts +696 -189
  455. package/src/generated/common.ts +16 -14
  456. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +340 -338
  457. package/src/generated/factories/BulkRenewal__factory.ts +110 -0
  458. package/src/generated/factories/DNSRegistrar__factory.ts +134 -184
  459. package/src/generated/factories/DNSSECImpl__factory.ts +233 -276
  460. package/src/generated/factories/DefaultReverseResolver__factory.ts +40 -38
  461. package/src/generated/factories/ENSRegistry__factory.ts +199 -197
  462. package/src/generated/factories/ETHRegistrarController__factory.ts +351 -251
  463. package/src/generated/factories/Multicall__factory.ts +226 -224
  464. package/src/generated/factories/NameWrapper__factory.ts +792 -601
  465. package/src/generated/factories/P256SHA256Algorithm__factory.ts +27 -61
  466. package/src/generated/factories/PublicResolver__factory.ts +573 -436
  467. package/src/generated/factories/RSASHA1Algorithm__factory.ts +27 -61
  468. package/src/generated/factories/RSASHA256Algorithm__factory.ts +27 -61
  469. package/src/generated/factories/ReverseRegistrar__factory.ts +175 -160
  470. package/src/generated/factories/Root__factory.ts +103 -101
  471. package/src/generated/factories/SHA1Digest__factory.ts +24 -58
  472. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +27 -61
  473. package/src/generated/factories/SHA256Digest__factory.ts +24 -58
  474. package/src/generated/factories/StaticMetadataService__factory.ts +25 -23
  475. package/src/generated/factories/TLDPublicSuffixList__factory.ts +21 -55
  476. package/src/generated/factories/UniversalResolver__factory.ts +446 -102
  477. package/src/generated/factories/index.ts +15 -0
  478. package/src/generated/index.ts +31 -1
  479. package/src/index.ts +244 -160
  480. package/src/static.ts +94 -0
  481. package/src/utils/ccip.ts +149 -0
  482. package/src/utils/consts.ts +2 -0
  483. package/src/utils/contentHash.ts +29 -27
  484. package/src/utils/createReverseNode.ts +1 -1
  485. package/src/utils/fuses.ts +341 -4
  486. package/src/utils/hexEncodedName.ts +3 -0
  487. package/src/utils/labels.ts +20 -16
  488. package/src/utils/normalise.ts +14 -6
  489. package/src/utils/recordHelpers.ts +131 -20
  490. package/src/utils/registerHelpers.ts +98 -56
  491. package/src/utils/registry.ts +14 -0
  492. package/src/utils/singleCall.ts +13 -8
  493. package/src/utils/subgraph-types.ts +312 -0
  494. package/src/utils/validation.ts +12 -10
  495. package/src/utils/wrapper.ts +39 -0
  496. package/src/utils/writeTx.ts +16 -0
  497. package/dist/cjs/GqlManager.d.ts +0 -6
  498. package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
  499. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  500. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  501. package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
  502. package/dist/cjs/contracts/index.d.ts +0 -16
  503. package/dist/cjs/contracts/multicall.d.ts +0 -3
  504. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  505. package/dist/cjs/contracts/publicResolver.d.ts +0 -3
  506. package/dist/cjs/contracts/registry.d.ts +0 -3
  507. package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
  508. package/dist/cjs/contracts/types.d.ts +0 -2
  509. package/dist/cjs/contracts/universalResolver.d.ts +0 -3
  510. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  511. package/dist/cjs/functions/burnFuses.d.ts +0 -5
  512. package/dist/cjs/functions/burnFuses.js +0 -14
  513. package/dist/cjs/functions/createSubname.d.ts +0 -15
  514. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  515. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  516. package/dist/cjs/functions/getFuses.d.ts +0 -17
  517. package/dist/cjs/functions/getFuses.js +0 -62
  518. package/dist/cjs/functions/getHistory.d.ts +0 -54
  519. package/dist/cjs/functions/getNames.d.ts +0 -40
  520. package/dist/cjs/functions/getPrice.d.ts +0 -13
  521. package/dist/cjs/functions/getProfile.d.ts +0 -30
  522. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  523. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  524. package/dist/cjs/functions/setName.d.ts +0 -5
  525. package/dist/cjs/functions/setResolver.d.ts +0 -5
  526. package/dist/cjs/functions/transferName.d.ts +0 -6
  527. package/dist/cjs/functions/transferSubname.d.ts +0 -6
  528. package/dist/cjs/functions/unwrapName.d.ts +0 -5
  529. package/dist/cjs/functions/wrapName.d.ts +0 -8
  530. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  531. package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
  532. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  533. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  534. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  535. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  536. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  537. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  538. package/dist/cjs/generated/Multicall.d.ts +0 -292
  539. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  540. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
  541. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  542. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
  543. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
  544. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  545. package/dist/cjs/generated/Root.d.ts +0 -173
  546. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  547. package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
  548. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  549. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  550. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  551. package/dist/cjs/generated/common.d.ts +0 -21
  552. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  553. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  554. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  555. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  556. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  557. package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
  558. package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
  559. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  560. package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
  561. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  562. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  563. package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  564. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  565. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  566. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  567. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  568. package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +0 -42
  569. package/dist/cjs/generated/factories/index.d.ts +0 -6
  570. package/dist/cjs/generated/index.d.ts +0 -13
  571. package/dist/cjs/index.d.ts +0 -488
  572. package/dist/cjs/utils/fuses.d.ts +0 -20
  573. package/dist/cjs/utils/generateFuseInput.d.ts +0 -3
  574. package/dist/cjs/utils/generateFuseInput.js +0 -19
  575. package/dist/cjs/utils/normalise.d.ts +0 -2
  576. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  577. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  578. package/dist/cjs/utils/singleCall.d.ts +0 -9
  579. package/dist/cjs/utils/validation.d.ts +0 -8
  580. package/dist/esm/GqlManager.d.ts +0 -6
  581. package/dist/esm/GqlManager.js +0 -18
  582. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  583. package/dist/esm/contracts/baseRegistrar.js +0 -2
  584. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  585. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  586. package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
  587. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  588. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  589. package/dist/esm/contracts/getContractAddress.js +0 -42
  590. package/dist/esm/contracts/index.d.ts +0 -16
  591. package/dist/esm/contracts/index.js +0 -29
  592. package/dist/esm/contracts/multicall.d.ts +0 -3
  593. package/dist/esm/contracts/multicall.js +0 -20
  594. package/dist/esm/contracts/nameWrapper.d.ts +0 -3
  595. package/dist/esm/contracts/nameWrapper.js +0 -2
  596. package/dist/esm/contracts/publicResolver.d.ts +0 -3
  597. package/dist/esm/contracts/publicResolver.js +0 -2
  598. package/dist/esm/contracts/registry.d.ts +0 -3
  599. package/dist/esm/contracts/registry.js +0 -2
  600. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  601. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  602. package/dist/esm/contracts/types.d.ts +0 -2
  603. package/dist/esm/contracts/types.js +0 -1
  604. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  605. package/dist/esm/contracts/universalResolver.js +0 -2
  606. package/dist/esm/functions/batch.d.ts +0 -9
  607. package/dist/esm/functions/batch.js +0 -19
  608. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  609. package/dist/esm/functions/batchWrappers.js +0 -68
  610. package/dist/esm/functions/burnFuses.d.ts +0 -5
  611. package/dist/esm/functions/burnFuses.js +0 -8
  612. package/dist/esm/functions/createSubname.js +0 -34
  613. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  614. package/dist/esm/functions/deleteSubname.js +0 -6
  615. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  616. package/dist/esm/functions/getDNSOwner.js +0 -51
  617. package/dist/esm/functions/getExpiry.d.ts +0 -12
  618. package/dist/esm/functions/getExpiry.js +0 -43
  619. package/dist/esm/functions/getFuses.d.ts +0 -17
  620. package/dist/esm/functions/getFuses.js +0 -60
  621. package/dist/esm/functions/getHistory.d.ts +0 -54
  622. package/dist/esm/functions/getHistory.js +0 -273
  623. package/dist/esm/functions/getName.d.ts +0 -19
  624. package/dist/esm/functions/getName.js +0 -32
  625. package/dist/esm/functions/getNames.js +0 -220
  626. package/dist/esm/functions/getOwner.d.ts +0 -14
  627. package/dist/esm/functions/getOwner.js +0 -138
  628. package/dist/esm/functions/getPrice.js +0 -48
  629. package/dist/esm/functions/getProfile.js +0 -299
  630. package/dist/esm/functions/getRecords.d.ts +0 -32
  631. package/dist/esm/functions/getRecords.js +0 -8
  632. package/dist/esm/functions/getResolver.js +0 -22
  633. package/dist/esm/functions/getSpecificRecord.js +0 -265
  634. package/dist/esm/functions/getSubnames.js +0 -152
  635. package/dist/esm/functions/initialGetters.d.ts +0 -11
  636. package/dist/esm/functions/initialGetters.js +0 -11
  637. package/dist/esm/functions/setName.js +0 -9
  638. package/dist/esm/functions/setRecords.d.ts +0 -6
  639. package/dist/esm/functions/setRecords.js +0 -21
  640. package/dist/esm/functions/setResolver.js +0 -19
  641. package/dist/esm/functions/transferName.js +0 -26
  642. package/dist/esm/functions/transferSubname.d.ts +0 -6
  643. package/dist/esm/functions/transferSubname.js +0 -21
  644. package/dist/esm/functions/unwrapName.js +0 -20
  645. package/dist/esm/functions/wrapName.d.ts +0 -8
  646. package/dist/esm/functions/wrapName.js +0 -54
  647. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  648. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  649. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  650. package/dist/esm/generated/DNSRegistrar.js +0 -1
  651. package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
  652. package/dist/esm/generated/DNSSECImpl.js +0 -1
  653. package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
  654. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  655. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  656. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  657. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  658. package/dist/esm/generated/ENSRegistry.js +0 -1
  659. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  660. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  661. package/dist/esm/generated/Multicall.js +0 -1
  662. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  663. package/dist/esm/generated/NameWrapper.js +0 -1
  664. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  665. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  666. package/dist/esm/generated/PublicResolver.js +0 -1
  667. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  668. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  669. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  670. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  671. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  672. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  673. package/dist/esm/generated/Root.d.ts +0 -173
  674. package/dist/esm/generated/Root.js +0 -1
  675. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  676. package/dist/esm/generated/SHA1Digest.js +0 -1
  677. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  678. package/dist/esm/generated/SHA256Digest.js +0 -1
  679. package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
  680. package/dist/esm/generated/StaticMetadataService.js +0 -1
  681. package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
  682. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  683. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  684. package/dist/esm/generated/UniversalResolver.js +0 -1
  685. package/dist/esm/generated/common.js +0 -1
  686. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  687. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  688. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  689. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  690. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  691. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  692. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  693. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  694. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  695. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  696. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  697. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  698. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  699. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  700. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  701. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  702. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  703. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  704. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  705. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  706. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  707. package/dist/esm/generated/factories/Root__factory.js +0 -239
  708. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  709. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  710. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  711. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  712. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  713. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  714. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  715. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  716. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  717. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  718. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  719. package/dist/esm/generated/factories/index.d.ts +0 -6
  720. package/dist/esm/generated/factories/index.js +0 -9
  721. package/dist/esm/generated/index.d.ts +0 -13
  722. package/dist/esm/generated/index.js +0 -7
  723. package/dist/esm/index.d.ts +0 -488
  724. package/dist/esm/index.js +0 -203
  725. package/dist/esm/utils/contentHash.d.ts +0 -28
  726. package/dist/esm/utils/contentHash.js +0 -153
  727. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  728. package/dist/esm/utils/createReverseNode.js +0 -1
  729. package/dist/esm/utils/format.d.ts +0 -3
  730. package/dist/esm/utils/format.js +0 -3
  731. package/dist/esm/utils/fuses.d.ts +0 -20
  732. package/dist/esm/utils/fuses.js +0 -21
  733. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  734. package/dist/esm/utils/generateFuseInput.js +0 -14
  735. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  736. package/dist/esm/utils/hexEncodedName.js +0 -2
  737. package/dist/esm/utils/labels.d.ts +0 -14
  738. package/dist/esm/utils/labels.js +0 -95
  739. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  740. package/dist/esm/utils/makeHashIndexes.js +0 -3
  741. package/dist/esm/utils/normalise.d.ts +0 -2
  742. package/dist/esm/utils/normalise.js +0 -20
  743. package/dist/esm/utils/recordHelpers.d.ts +0 -13
  744. package/dist/esm/utils/recordHelpers.js +0 -39
  745. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  746. package/dist/esm/utils/registerHelpers.js +0 -43
  747. package/dist/esm/utils/singleCall.js +0 -5
  748. package/dist/esm/utils/validation.js +0 -67
  749. package/src/@types/FuseOptions.d.ts +0 -9
  750. package/src/ABIs/ETHRegistrarController.json +0 -494
  751. package/src/ABIs/NameWrapper.json +0 -1183
  752. package/src/ABIs/PublicResolver.json +0 -875
  753. package/src/ABIs/ReverseRegistrar.json +0 -323
  754. package/src/ABIs/StaticMetadataService.json +0 -32
  755. package/src/ABIs/UniversalResolver.json +0 -187
  756. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  757. package/src/functions/burnFuses.test.ts +0 -45
  758. package/src/functions/burnFuses.ts +0 -21
  759. package/src/functions/getFuses.test.ts +0 -105
  760. package/src/functions/getFuses.ts +0 -76
  761. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  762. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  763. package/src/tests/setup.ts +0 -53
  764. package/src/tests/signerInjection.test.ts +0 -42
  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}/utils/contentHash.d.ts +0 -0
  771. /package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  772. /package/dist/{cjs → types}/utils/format.d.ts +0 -0
  773. /package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
package/src/GqlManager.ts CHANGED
@@ -1,18 +1,114 @@
1
+ import type {
2
+ Kind,
3
+ parse as Parse,
4
+ print as Print,
5
+ SelectionSetNode,
6
+ visit as Visit,
7
+ } from 'graphql'
8
+ import type { gql, GraphQLClient } from 'graphql-request'
9
+ import type Traverse from 'traverse'
10
+ import { namehash } from './utils/normalise'
11
+
12
+ const generateSelection = (selection: any) => ({
13
+ kind: 'Field' as Kind.FIELD,
14
+ name: {
15
+ kind: 'Name' as Kind.NAME,
16
+ value: selection,
17
+ },
18
+ arguments: [],
19
+ directives: [],
20
+ alias: undefined,
21
+ selectionSet: undefined,
22
+ })
23
+
24
+ export const enter = (node: SelectionSetNode) => {
25
+ let hasName = false
26
+ let hasId = false
27
+
28
+ for (const selection of node.selections) {
29
+ if ('name' in selection) {
30
+ if (selection.name.value === 'name') hasName = true
31
+ else if (selection.name.value === 'id') hasId = true
32
+ }
33
+ }
34
+
35
+ if (hasName && !hasId) {
36
+ // eslint-disable-next-line no-param-reassign
37
+ node.selections = [...node.selections, generateSelection('id')]
38
+ return node
39
+ }
40
+ }
41
+
42
+ export const requestMiddleware =
43
+ (visit: typeof Visit, parse: typeof Parse, print: typeof Print) =>
44
+ (request: any) => {
45
+ const requestBody = JSON.parse(request.body)
46
+ const rawQuery = requestBody.query
47
+ const parsedQuery = parse(rawQuery)
48
+ const updatedQuery = visit(parsedQuery, {
49
+ // eslint-disable-next-line @typescript-eslint/naming-convention
50
+ SelectionSet: {
51
+ enter,
52
+ },
53
+ })
54
+
55
+ return {
56
+ ...request,
57
+ body: JSON.stringify({ ...requestBody, query: print(updatedQuery) }),
58
+ }
59
+ }
60
+
61
+ export const responseMiddleware =
62
+ (traverse: typeof Traverse) => (response: any) => {
63
+ // eslint-disable-next-line func-names
64
+ traverse(response).forEach(function (responseItem: any) {
65
+ if (responseItem instanceof Object && responseItem.name) {
66
+ // Name already in hashed form
67
+ if (responseItem.name && responseItem.name.includes('[')) {
68
+ return
69
+ }
70
+
71
+ const hashedName = namehash(responseItem.name)
72
+ if (responseItem.id !== hashedName) {
73
+ this.update({ ...responseItem, name: hashedName, invalidName: true })
74
+ }
75
+ }
76
+ })
77
+ return response
78
+ }
79
+
1
80
  export default class GqlManager {
2
- public gql: any = () => null
3
- public client?: any | null = null
81
+ // eslint-disable-next-line class-methods-use-this
82
+ public gql: typeof gql | ((query: TemplateStringsArray) => string) = (
83
+ query: TemplateStringsArray,
84
+ ) => query.join()
85
+
86
+ public client:
87
+ | GraphQLClient
88
+ | {
89
+ request: () => Promise<null>
90
+ } = {
91
+ request: () => Promise.resolve(null),
92
+ }
4
93
 
5
94
  public setUrl = async (url: string | null) => {
6
95
  if (url) {
7
- const imported = await import('graphql-request')
8
- this.client = new imported.GraphQLClient(url)
96
+ const [imported, traverse, { visit, parse, print }] = await Promise.all([
97
+ import('graphql-request'),
98
+ import('traverse'),
99
+ import('graphql/language'),
100
+ ])
101
+
102
+ this.client = new imported.GraphQLClient(url, {
103
+ requestMiddleware: requestMiddleware(visit, parse, print),
104
+ responseMiddleware: responseMiddleware(traverse.default),
105
+ })
9
106
  this.gql = imported.gql
10
107
  } else {
11
- this.client = null
12
- this.gql = () => null
108
+ this.client = {
109
+ request: () => Promise.resolve(null),
110
+ }
111
+ this.gql = (query: TemplateStringsArray) => query.join()
13
112
  }
14
113
  }
15
-
16
- public request = (...arg: any[]) =>
17
- this.client ? this.client.request(...arg) : null
18
114
  }
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { BaseRegistrarImplementation__factory } from '../generated/factories/BaseRegistrarImplementation__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  BaseRegistrarImplementation__factory.connect(address, provider)
@@ -0,0 +1,6 @@
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
+ import { BulkRenewal__factory } from '../generated/factories/BulkRenewal__factory'
3
+
4
+ // Use a higher-order function to override the address that is passed in from getContractAddress()
5
+ export default (provider: JsonRpcProvider, address: string) =>
6
+ BulkRenewal__factory.connect(address, provider)
@@ -0,0 +1,5 @@
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
+ import { DNSRegistrar__factory } from '../generated/factories/DNSRegistrar__factory'
3
+
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
+ DNSRegistrar__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ETHRegistrarController__factory } from '../generated/factories/ETHRegistrarController__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ETHRegistrarController__factory.connect(address, provider)
@@ -0,0 +1,48 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import type { BaseRegistrarImplementation__factory } from '../generated/factories/BaseRegistrarImplementation__factory'
3
+ import type { BulkRenewal__factory } from '../generated/factories/BulkRenewal__factory'
4
+ import type { DefaultReverseResolver__factory } from '../generated/factories/DefaultReverseResolver__factory'
5
+ import type { DNSRegistrar__factory } from '../generated/factories/DNSRegistrar__factory'
6
+ import type { DNSSECImpl__factory } from '../generated/factories/DNSSECImpl__factory'
7
+ import type { ENSRegistry__factory } from '../generated/factories/ENSRegistry__factory'
8
+ import type { ETHRegistrarController__factory } from '../generated/factories/ETHRegistrarController__factory'
9
+ import type { Multicall__factory } from '../generated/factories/Multicall__factory'
10
+ import type { NameWrapper__factory } from '../generated/factories/NameWrapper__factory'
11
+ import type { P256SHA256Algorithm__factory } from '../generated/factories/P256SHA256Algorithm__factory'
12
+ import type { PublicResolver__factory } from '../generated/factories/PublicResolver__factory'
13
+ import type { ReverseRegistrar__factory } from '../generated/factories/ReverseRegistrar__factory'
14
+ import type { Root__factory } from '../generated/factories/Root__factory'
15
+ import type { RSASHA1Algorithm__factory } from '../generated/factories/RSASHA1Algorithm__factory'
16
+ import type { RSASHA256Algorithm__factory } from '../generated/factories/RSASHA256Algorithm__factory'
17
+ import type { SHA1Digest__factory } from '../generated/factories/SHA1Digest__factory'
18
+ import type { SHA1NSEC3Digest__factory } from '../generated/factories/SHA1NSEC3Digest__factory'
19
+ import type { SHA256Digest__factory } from '../generated/factories/SHA256Digest__factory'
20
+ import type { StaticMetadataService__factory } from '../generated/factories/StaticMetadataService__factory'
21
+ import type { TLDPublicSuffixList__factory } from '../generated/factories/TLDPublicSuffixList__factory'
22
+ import type { UniversalResolver__factory } from '../generated/factories/UniversalResolver__factory'
23
+
24
+ type Factories = {
25
+ BaseRegistrarImplementation: BaseRegistrarImplementation__factory
26
+ DefaultReverseResolver: DefaultReverseResolver__factory
27
+ DNSRegistrar: DNSRegistrar__factory
28
+ DNSSECImpl: DNSSECImpl__factory
29
+ ENSRegistry: ENSRegistry__factory
30
+ ETHRegistrarController: ETHRegistrarController__factory
31
+ P256SHA256Algorithm: P256SHA256Algorithm__factory
32
+ PublicResolver: PublicResolver__factory
33
+ ReverseRegistrar: ReverseRegistrar__factory
34
+ Root: Root__factory
35
+ RSASHA1Algorithm: RSASHA1Algorithm__factory
36
+ RSASHA256Algorithm: RSASHA256Algorithm__factory
37
+ SHA1Digest: SHA1Digest__factory
38
+ SHA1NSEC3Digest: SHA1NSEC3Digest__factory
39
+ SHA256Digest: SHA256Digest__factory
40
+ TLDPublicSuffixList: TLDPublicSuffixList__factory
41
+ Multicall: Multicall__factory
42
+ NameWrapper: NameWrapper__factory
43
+ StaticMetadataService: StaticMetadataService__factory
44
+ UniversalResolver: UniversalResolver__factory
45
+ BulkRenewal: BulkRenewal__factory
46
+ }
47
+
48
+ export default Factories
@@ -4,24 +4,37 @@ const addresses: Record<
4
4
  ContractName,
5
5
  Partial<Record<SupportedNetworkId, string>> | string
6
6
  > = {
7
+ /* eslint-disable @typescript-eslint/naming-convention */
7
8
  BaseRegistrarImplementation: {
8
9
  '1': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
9
10
  '3': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
10
11
  '4': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
11
12
  '5': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
12
13
  },
14
+ DNSRegistrar: {
15
+ '1': '0x58774Bb8acD458A640aF0B88238369A167546ef2',
16
+ '3': '0xdB328BA5FEcb432AF325Ca59E3778441eF5aa14F',
17
+ '5': '0x8edc487D26F6c8Fa76e032066A3D4F87E273515d',
18
+ },
13
19
  ETHRegistrarController: {
14
20
  '1': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
15
- '3': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
21
+ '3': '0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8',
16
22
  '4': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
17
- '5': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
23
+ '5': '0xCc5e7dB10E65EED1BBD105359e7268aa660f6734',
18
24
  },
19
25
  Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
20
- NameWrapper: '0x0000000000000000000000000000000000000000',
26
+ NameWrapper: {
27
+ '1': '0x0000000000000000000000000000000000000000',
28
+ '3': '0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C',
29
+ '4': '0x0000000000000000000000000000000000000000',
30
+ '5': '0x114D4603199df73e7D157787f8778E21fCd13066',
31
+ },
21
32
  PublicResolver: {
22
33
  '1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
34
+ '3': '0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837',
35
+ '5': '0xd7a4F6473f32aC2Af804B3686AE8F1932bC35750',
23
36
  },
24
- ENSRegistryWithFallback: {
37
+ ENSRegistry: {
25
38
  '1': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
26
39
  '3': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
27
40
  '4': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
@@ -29,11 +42,19 @@ const addresses: Record<
29
42
  },
30
43
  ReverseRegistrar: {
31
44
  '1': '0x084b1c3C81545d370f3634392De611CaaBFf8148',
45
+ '3': '0x806246b52f8cB61655d3038c58D2f63Aa55d4edE',
46
+ '5': '0x4f7A657451358a22dc397d5eE7981FfC526cd856',
32
47
  },
33
48
  UniversalResolver: {
34
- '1': '0x580AF46E06DaaD47eb5940526FD64d95b815Cb70',
35
- '4': '0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376',
49
+ '1': '0xE4Acdd618deED4e6d2f03b9bf62dc6118FC9A4da',
50
+ '5': '0xA292E2E58d4ddEb29C33c63173d0E8B7a2A4c62e',
51
+ },
52
+ BulkRenewal: {
53
+ '1': '0xfF252725f6122A92551A5FA9a6b6bf10eb0Be035',
54
+ '3': '0x051b02245D826757EfaF5C6209D4D79FB39FBC45',
55
+ '5': '0xa9e1df95a79C768aA435805b28E1B54Bb5ead063',
36
56
  },
57
+ /* eslint-enable @typescript-eslint/naming-convention */
37
58
  }
38
59
 
39
60
  export type ContractAddressFetch = (contractName: ContractName) => string
@@ -1,68 +1,92 @@
1
- import { ethers } from 'ethers'
2
- import getBaseRegistrar from './baseRegistrar'
3
- import getEthRegistrarController from './ethRegistrarController'
1
+ import type { Interface } from '@ethersproject/abi'
2
+ import type { Signer } from '@ethersproject/abstract-signer'
3
+ import type { BaseContract } from '@ethersproject/contracts'
4
+ import type { Provider } from '@ethersproject/providers'
5
+ import type { BaseRegistrarImplementation } from '../generated/BaseRegistrarImplementation'
6
+ import type { BulkRenewal } from '../generated/BulkRenewal'
7
+ import type { DNSRegistrar } from '../generated/DNSRegistrar'
8
+ import type { ENSRegistry } from '../generated/ENSRegistry'
9
+ import type { ETHRegistrarController } from '../generated/ETHRegistrarController'
10
+ import type { Multicall } from '../generated/Multicall'
11
+ import type { NameWrapper } from '../generated/NameWrapper'
12
+ import type { PublicResolver } from '../generated/PublicResolver'
13
+ import type { ReverseRegistrar } from '../generated/ReverseRegistrar'
14
+ import type { UniversalResolver } from '../generated/UniversalResolver'
4
15
  import { ContractAddressFetch } from './getContractAddress'
5
- import getMulticall from './multicall'
6
- import getNameWrapper from './nameWrapper'
7
- import getPublicResolver from './publicResolver'
8
- import getRegistry from './registry'
9
- import getReverseRegistrar from './reverseRegistrar'
10
16
  import { ContractName } from './types'
11
- import getUniversalResolver from './universalResolver'
17
+
18
+ type BaseFactory = {
19
+ readonly abi: object
20
+ createInterface(): Interface
21
+ connect(address: string, signerOrProvider: Signer | Provider): BaseContract
22
+ }
12
23
 
13
24
  export default class ContractManager {
14
- private provider: ethers.providers.Provider
25
+ private provider: Provider
26
+
15
27
  private fetchAddress: ContractAddressFetch
16
28
 
29
+ // eslint-disable-next-line class-methods-use-this
30
+ protected getModule = async (name: string) => {
31
+ const mod = await import(
32
+ /* webpackMode: "lazy", webpackChunkName: "[request]", webpackPreload: true, webpackExclude: /.*\.ts$/ */
33
+ `../generated/factories/${name}__factory`
34
+ )
35
+ return mod[`${name}__factory`] as BaseFactory
36
+ }
37
+
17
38
  constructor(
18
- provider: ethers.providers.Provider,
39
+ provider: Provider,
19
40
  fetchAddress: ContractAddressFetch,
41
+ getModule?: (name: string) => Promise<BaseFactory>,
20
42
  ) {
21
43
  this.provider = provider
22
44
  this.fetchAddress = fetchAddress
45
+ if (getModule) {
46
+ this.getModule = getModule
47
+ }
23
48
  }
24
49
 
25
- private generateContractGetter = <C extends (...args: any) => any>(
50
+ private generateContractGetter = <C extends BaseContract>(
26
51
  name: ContractName,
27
- func: C,
28
- ) => {
29
- return async (
30
- passedProvider?: any,
31
- address?: string,
32
- ): Promise<ReturnType<C>> => {
52
+ ): ((passedProvider?: any, address?: string) => Promise<C>) => {
53
+ return async (passedProvider, address) => {
54
+ const mod = await this.getModule(name)
33
55
  const inputAddress = address || this.fetchAddress(name)
34
56
  const provider = passedProvider || this.provider
35
- return func(provider, inputAddress)
57
+ return mod.connect(inputAddress, provider) as C
36
58
  }
37
59
  }
38
60
 
39
- public getPublicResolver = this.generateContractGetter(
40
- 'PublicResolver',
41
- getPublicResolver,
42
- )
43
- public getUniversalResolver = this.generateContractGetter(
44
- 'UniversalResolver',
45
- getUniversalResolver,
46
- )
47
- public getRegistry = this.generateContractGetter(
48
- 'ENSRegistryWithFallback',
49
- getRegistry,
50
- )
51
- public getReverseRegistrar = this.generateContractGetter(
52
- 'ReverseRegistrar',
53
- getReverseRegistrar,
54
- )
55
- public getNameWrapper = this.generateContractGetter(
56
- 'NameWrapper',
57
- getNameWrapper,
58
- )
59
- public getBaseRegistrar = this.generateContractGetter(
60
- 'BaseRegistrarImplementation',
61
- getBaseRegistrar,
62
- )
63
- public getEthRegistrarController = this.generateContractGetter(
64
- 'ETHRegistrarController',
65
- getEthRegistrarController,
66
- )
67
- public getMulticall = this.generateContractGetter('Multicall', getMulticall)
61
+ public getPublicResolver =
62
+ this.generateContractGetter<PublicResolver>('PublicResolver')
63
+
64
+ public getUniversalResolver =
65
+ this.generateContractGetter<UniversalResolver>('UniversalResolver')
66
+
67
+ public getRegistry = this.generateContractGetter<ENSRegistry>('ENSRegistry')
68
+
69
+ public getReverseRegistrar =
70
+ this.generateContractGetter<ReverseRegistrar>('ReverseRegistrar')
71
+
72
+ public getNameWrapper =
73
+ this.generateContractGetter<NameWrapper>('NameWrapper')
74
+
75
+ public getDNSRegistrar =
76
+ this.generateContractGetter<DNSRegistrar>('DNSRegistrar')
77
+
78
+ public getBaseRegistrar =
79
+ this.generateContractGetter<BaseRegistrarImplementation>(
80
+ 'BaseRegistrarImplementation',
81
+ )
82
+
83
+ public getEthRegistrarController =
84
+ this.generateContractGetter<ETHRegistrarController>(
85
+ 'ETHRegistrarController',
86
+ )
87
+
88
+ public getMulticall = this.generateContractGetter<Multicall>('Multicall')
89
+
90
+ public getBulkRenewal =
91
+ this.generateContractGetter<BulkRenewal>('BulkRenewal')
68
92
  }
@@ -1,24 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { Multicall__factory } from '../generated/factories/Multicall__factory'
3
3
 
4
- const ABI = [
5
- 'function aggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes[] returnData)',
6
- 'function aggregate3(tuple(address target, bool allowFailure, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
7
- 'function aggregate3Value(tuple(address target, bool allowFailure, uint256 value, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
8
- 'function blockAndAggregate(tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)',
9
- 'function getBasefee() view returns (uint256 basefee)',
10
- 'function getBlockHash(uint256 blockNumber) view returns (bytes32 blockHash)',
11
- 'function getBlockNumber() view returns (uint256 blockNumber)',
12
- 'function getChainId() view returns (uint256 chainid)',
13
- 'function getCurrentBlockCoinbase() view returns (address coinbase)',
14
- 'function getCurrentBlockDifficulty() view returns (uint256 difficulty)',
15
- 'function getCurrentBlockGasLimit() view returns (uint256 gaslimit)',
16
- 'function getCurrentBlockTimestamp() view returns (uint256 timestamp)',
17
- 'function getEthBalance(address addr) view returns (uint256 balance)',
18
- 'function getLastBlockHash() view returns (bytes32 blockHash)',
19
- 'function tryAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)',
20
- 'function tryBlockAndAggregate(bool requireSuccess, tuple(address target, bytes callData)[] calls) payable returns (uint256 blockNumber, bytes32 blockHash, tuple(bool success, bytes returnData)[] returnData)',
21
- ]
22
-
23
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
24
5
  Multicall__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { NameWrapper__factory } from '../generated/factories/NameWrapper__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  NameWrapper__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { PublicResolver__factory } from '../generated/factories/PublicResolver__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  PublicResolver__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ENSRegistry__factory } from '../generated/factories/ENSRegistry__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ENSRegistry__factory.connect(address, provider)
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { ReverseRegistrar__factory } from '../generated/factories/ReverseRegistrar__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  ReverseRegistrar__factory.connect(address, provider)
@@ -5,7 +5,9 @@ export type ContractName =
5
5
  | 'ETHRegistrarController'
6
6
  | 'Multicall'
7
7
  | 'NameWrapper'
8
+ | 'DNSRegistrar'
8
9
  | 'PublicResolver'
9
- | 'ENSRegistryWithFallback'
10
+ | 'ENSRegistry'
10
11
  | 'ReverseRegistrar'
11
12
  | 'UniversalResolver'
13
+ | 'BulkRenewal'
@@ -1,5 +1,5 @@
1
- import { ethers } from 'ethers'
1
+ import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { UniversalResolver__factory } from '../generated/factories/UniversalResolver__factory'
3
3
 
4
- export default (provider: ethers.providers.JsonRpcProvider, address: string) =>
4
+ export default (provider: JsonRpcProvider, address: string) =>
5
5
  UniversalResolver__factory.connect(address, provider)
@@ -1,32 +1,32 @@
1
1
  import { ENS } from '..'
2
2
  import setup from '../tests/setup'
3
3
 
4
- let ENSInstance: ENS
4
+ let ensInstance: ENS
5
5
 
6
6
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
7
+ ;({ ensInstance } = await setup())
8
8
  })
9
9
 
10
10
  describe('batch', () => {
11
11
  it('should batch calls together', async () => {
12
- const result = await ENSInstance.batch(
13
- ENSInstance.getText.batch('jefflau.eth', 'description'),
14
- ENSInstance.getAddr.batch('jefflau.eth'),
15
- ENSInstance.getName.batch('0x866B3c4994e1416B7C738B9818b31dC246b95eEE'),
12
+ const result = await ensInstance.batch(
13
+ ensInstance.getText.batch('with-profile.eth', 'description'),
14
+ ensInstance.getAddr.batch('with-profile.eth'),
15
+ ensInstance.getName.batch('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC'),
16
16
  )
17
17
  expect(result).toBeTruthy()
18
18
  if (result) {
19
19
  expect(result[0]).toBe('Hello2')
20
- expect(result[1]).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
20
+ expect(result[1]).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
21
21
  expect(result[2]).toMatchObject({
22
- name: 'jefflau.eth',
22
+ name: 'with-profile.eth',
23
23
  match: true,
24
24
  })
25
25
  }
26
26
  })
27
27
  it('should batch a single call', async () => {
28
- const result = await ENSInstance.batch(
29
- ENSInstance.getText.batch('jefflau.eth', 'description'),
28
+ const result = await ensInstance.batch(
29
+ ensInstance.getText.batch('with-profile.eth', 'description'),
30
30
  )
31
31
  expect(result).toBeTruthy()
32
32
  if (result) {
@@ -1,3 +1,4 @@
1
+ import { TransactionRequest } from '@ethersproject/abstract-provider'
1
2
  import { BatchFunctionResult, ENSArgs, RawFunction } from '..'
2
3
 
3
4
  const raw = async (
@@ -5,28 +6,37 @@ const raw = async (
5
6
  ...items: BatchFunctionResult<RawFunction>[]
6
7
  ) => {
7
8
  const rawDataArr: { to: string; data: string }[] = await Promise.all(
8
- items.map(({ args, raw }, i: number) => {
9
- if (!raw) {
9
+ items.map(({ args, raw: rawRef }, i: number) => {
10
+ if (!rawRef) {
10
11
  throw new Error(`Function ${i} is not batchable`)
11
12
  }
12
- return raw(...args)
13
+ return rawRef(...args)
13
14
  }),
14
15
  )
15
- return multicallWrapper.raw(rawDataArr)
16
+ const response = await multicallWrapper.raw(rawDataArr)
17
+ return { ...response, passthrough: rawDataArr }
16
18
  }
17
19
 
18
20
  const decode = async (
19
21
  { multicallWrapper }: ENSArgs<'multicallWrapper'>,
20
22
  data: string,
23
+ passthrough: TransactionRequest & { passthrough?: any }[],
21
24
  ...items: BatchFunctionResult<RawFunction>[]
22
25
  ): Promise<any[] | undefined> => {
23
- const response = await multicallWrapper.decode(data)
26
+ const response = await multicallWrapper.decode(data, passthrough)
24
27
  if (!response) return
25
28
 
26
29
  return Promise.all(
27
- response.map((ret: any, i: number) =>
28
- items[i].decode(ret.returnData, ...items[i].args),
29
- ),
30
+ response.map((ret: any, i: number) => {
31
+ if (passthrough[i].passthrough) {
32
+ return items[i].decode(
33
+ ret.returnData,
34
+ passthrough[i].passthrough,
35
+ ...items[i].args,
36
+ )
37
+ }
38
+ return items[i].decode(ret.returnData, ...items[i].args)
39
+ }),
30
40
  )
31
41
  }
32
42
 
@@ -1,31 +1,31 @@
1
1
  import { ENS } from '..'
2
2
  import setup from '../tests/setup'
3
3
 
4
- let ENSInstance: ENS
4
+ let ensInstance: ENS
5
5
 
6
6
  beforeAll(async () => {
7
- ;({ ENSInstance } = await setup())
7
+ ;({ ensInstance } = await setup())
8
8
  })
9
9
 
10
10
  describe('batchWrappers', () => {
11
11
  it('should batch calls together', async () => {
12
- const batch = await ENSInstance.resolverMulticallWrapper.raw([
13
- await ENSInstance._getText.raw('jefflau.eth', 'description'),
14
- await ENSInstance._getText.raw('jefflau.eth', 'url'),
15
- await ENSInstance._getAddr.raw('jefflau.eth'),
12
+ const batch = await ensInstance.resolverMulticallWrapper.raw([
13
+ await ensInstance._getText.raw('with-profile.eth', 'description'),
14
+ await ensInstance._getText.raw('with-profile.eth', 'url'),
15
+ await ensInstance._getAddr.raw('with-profile.eth'),
16
16
  ])
17
- const universalResponse = await ENSInstance.universalWrapper(
18
- 'jefflau.eth',
17
+ const universalResponse = await ensInstance.universalWrapper(
18
+ 'with-profile.eth',
19
19
  batch.data,
20
20
  )
21
- const [batchDecoded] = await ENSInstance.resolverMulticallWrapper.decode(
21
+ const [batchDecoded] = await ensInstance.resolverMulticallWrapper.decode(
22
22
  universalResponse?.data,
23
23
  )
24
- const decoded1 = await ENSInstance._getText.decode(batchDecoded[0])
25
- const decoded2 = await ENSInstance._getText.decode(batchDecoded[1])
26
- const decoded3 = await ENSInstance._getAddr.decode(batchDecoded[2])
24
+ const decoded1 = await ensInstance._getText.decode(batchDecoded[0])
25
+ const decoded2 = await ensInstance._getText.decode(batchDecoded[1])
26
+ const decoded3 = await ensInstance._getAddr.decode(batchDecoded[2])
27
27
  expect(decoded1).toBe('Hello2')
28
28
  expect(decoded2).toBe('twitter.com')
29
- expect(decoded3).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
29
+ expect(decoded3).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
30
30
  })
31
31
  })