@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
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,36 +4,45 @@ 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
- '3': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
10
- '4': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
11
10
  '5': '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
12
11
  },
12
+ DNSRegistrar: {
13
+ '1': '0x58774Bb8acD458A640aF0B88238369A167546ef2',
14
+ '5': '0x8edc487D26F6c8Fa76e032066A3D4F87E273515d',
15
+ },
13
16
  ETHRegistrarController: {
14
- '1': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
15
- '3': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
16
- '4': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
17
- '5': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
17
+ '1': '0x253553366Da8546fC250F225fe3d25d0C782303b',
18
+ '5': '0xCc5e7dB10E65EED1BBD105359e7268aa660f6734',
18
19
  },
19
20
  Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
20
- NameWrapper: '0x0000000000000000000000000000000000000000',
21
+ NameWrapper: {
22
+ '1': '0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401',
23
+ '5': '0x114D4603199df73e7D157787f8778E21fCd13066',
24
+ },
21
25
  PublicResolver: {
22
- '1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
26
+ '1': '0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63',
27
+ '5': '0xd7a4F6473f32aC2Af804B3686AE8F1932bC35750',
23
28
  },
24
- ENSRegistryWithFallback: {
29
+ ENSRegistry: {
25
30
  '1': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
26
- '3': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
27
- '4': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
28
31
  '5': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
29
32
  },
30
33
  ReverseRegistrar: {
31
- '1': '0x084b1c3C81545d370f3634392De611CaaBFf8148',
34
+ '1': '0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb',
35
+ '5': '0x4f7A657451358a22dc397d5eE7981FfC526cd856',
32
36
  },
33
37
  UniversalResolver: {
34
- '1': '0x580AF46E06DaaD47eb5940526FD64d95b815Cb70',
35
- '4': '0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376',
38
+ '1': '0xc0497e381f536be9ce14b0dd3817cbcae57d2f62',
39
+ '5': '0x56522d00c410a43bffdf00a9a569489297385790',
40
+ },
41
+ BulkRenewal: {
42
+ '1': '0xfF252725f6122A92551A5FA9a6b6bf10eb0Be035',
43
+ '5': '0xa9e1df95a79C768aA435805b28E1B54Bb5ead063',
36
44
  },
45
+ /* eslint-enable @typescript-eslint/naming-convention */
37
46
  }
38
47
 
39
48
  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
  })