@ensdomains/ensjs 3.0.0-alpha.3 → 3.0.0-alpha.31

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 (703) hide show
  1. package/README.md +6 -1
  2. package/dist/cjs/GqlManager.js +105 -37
  3. package/dist/cjs/contracts/baseRegistrar.js +24 -3
  4. package/dist/cjs/contracts/bulkRenewal.js +25 -0
  5. package/dist/cjs/contracts/dnsRegistrar.js +25 -0
  6. package/dist/cjs/contracts/ethRegistrarController.js +24 -3
  7. package/dist/cjs/contracts/getContractAddress.js +82 -43
  8. package/dist/cjs/contracts/index.js +86 -32
  9. package/dist/cjs/contracts/multicall.js +24 -21
  10. package/dist/cjs/contracts/nameWrapper.js +24 -3
  11. package/dist/cjs/contracts/publicResolver.js +24 -3
  12. package/dist/cjs/contracts/registry.js +24 -3
  13. package/dist/cjs/contracts/reverseRegistrar.js +24 -3
  14. package/dist/cjs/contracts/types.js +15 -1
  15. package/dist/cjs/contracts/universalResolver.js +24 -3
  16. package/dist/cjs/functions/batch.js +42 -15
  17. package/dist/cjs/functions/batchWrappers.js +130 -67
  18. package/dist/cjs/functions/burnFuses.js +28 -15
  19. package/dist/cjs/functions/commitName.js +49 -0
  20. package/dist/cjs/functions/createSubname.js +80 -38
  21. package/dist/cjs/functions/deleteSubname.js +59 -4
  22. package/dist/cjs/functions/getDNSOwner.js +73 -72
  23. package/dist/cjs/functions/getExpiry.js +110 -41
  24. package/dist/cjs/functions/getHistory.js +165 -195
  25. package/dist/cjs/functions/getName.js +51 -28
  26. package/dist/cjs/functions/getNames.js +210 -102
  27. package/dist/cjs/functions/getOwner.js +147 -125
  28. package/dist/cjs/functions/getPrice.js +118 -43
  29. package/dist/cjs/functions/getProfile.js +440 -254
  30. package/dist/cjs/functions/getRecords.js +29 -9
  31. package/dist/cjs/functions/getResolver.js +41 -19
  32. package/dist/cjs/functions/getSpecificRecord.js +188 -261
  33. package/dist/cjs/functions/getSubnames.js +74 -118
  34. package/dist/cjs/functions/getWrapperData.js +58 -0
  35. package/dist/cjs/functions/importDNSSECName.js +65 -0
  36. package/dist/cjs/functions/initialGetters.js +46 -37
  37. package/dist/cjs/functions/registerName.js +44 -0
  38. package/dist/cjs/functions/renewNames.js +62 -0
  39. package/dist/cjs/functions/setName.js +40 -15
  40. package/dist/cjs/functions/setRecord.js +55 -0
  41. package/dist/cjs/functions/setRecords.js +49 -20
  42. package/dist/cjs/functions/setResolver.js +43 -23
  43. package/dist/cjs/functions/transferController.js +42 -0
  44. package/dist/cjs/functions/transferName.js +60 -30
  45. package/dist/cjs/functions/transferSubname.js +60 -24
  46. package/dist/cjs/functions/unwrapName.js +49 -25
  47. package/dist/cjs/functions/wrapName.js +122 -57
  48. package/dist/cjs/generated/BaseRegistrarImplementation.js +15 -1
  49. package/dist/cjs/generated/BulkRenewal.js +16 -0
  50. package/dist/cjs/generated/DNSRegistrar.js +15 -1
  51. package/dist/cjs/generated/DNSSECImpl.js +15 -1
  52. package/dist/cjs/generated/DefaultReverseResolver.js +15 -1
  53. package/dist/cjs/generated/ENSRegistry.js +15 -1
  54. package/dist/cjs/generated/ETHRegistrarController.js +15 -1
  55. package/dist/cjs/generated/Multicall.js +15 -1
  56. package/dist/cjs/generated/NameWrapper.js +15 -1
  57. package/dist/cjs/generated/P256SHA256Algorithm.js +15 -1
  58. package/dist/cjs/generated/PublicResolver.js +15 -1
  59. package/dist/cjs/generated/RSASHA1Algorithm.js +15 -1
  60. package/dist/cjs/generated/RSASHA256Algorithm.js +15 -1
  61. package/dist/cjs/generated/ReverseRegistrar.js +15 -1
  62. package/dist/cjs/generated/Root.js +15 -1
  63. package/dist/cjs/generated/SHA1Digest.js +15 -1
  64. package/dist/cjs/generated/SHA1NSEC3Digest.js +15 -1
  65. package/dist/cjs/generated/SHA256Digest.js +15 -1
  66. package/dist/cjs/generated/StaticMetadataService.js +15 -1
  67. package/dist/cjs/generated/TLDPublicSuffixList.js +15 -1
  68. package/dist/cjs/generated/UniversalResolver.js +15 -1
  69. package/dist/cjs/generated/common.js +15 -1
  70. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +784 -764
  71. package/dist/cjs/generated/factories/BulkRenewal__factory.js +120 -0
  72. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +281 -288
  73. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +485 -492
  74. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +102 -82
  75. package/dist/cjs/generated/factories/ENSRegistry__factory.js +447 -431
  76. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +671 -504
  77. package/dist/cjs/generated/factories/Multicall__factory.js +457 -441
  78. package/dist/cjs/generated/factories/NameWrapper__factory.js +1378 -1194
  79. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +60 -67
  80. package/dist/cjs/generated/factories/PublicResolver__factory.js +956 -885
  81. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +60 -67
  82. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +60 -67
  83. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +362 -333
  84. package/dist/cjs/generated/factories/Root__factory.js +253 -237
  85. package/dist/cjs/generated/factories/SHA1Digest__factory.js +55 -62
  86. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +60 -67
  87. package/dist/cjs/generated/factories/SHA256Digest__factory.js +55 -62
  88. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +64 -44
  89. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +50 -57
  90. package/dist/cjs/generated/factories/UniversalResolver__factory.js +492 -199
  91. package/dist/cjs/generated/factories/index.js +63 -17
  92. package/dist/cjs/generated/index.js +70 -37
  93. package/dist/cjs/index.js +326 -218
  94. package/dist/cjs/utils/ccip.js +128 -0
  95. package/dist/cjs/utils/consts.js +24 -0
  96. package/dist/cjs/utils/contentHash.js +145 -142
  97. package/dist/cjs/utils/createReverseNode.js +23 -2
  98. package/dist/cjs/utils/format.js +27 -8
  99. package/dist/cjs/utils/fuses.js +123 -13
  100. package/dist/cjs/utils/generateFuseInput.js +37 -16
  101. package/dist/cjs/utils/hexEncodedName.js +29 -7
  102. package/dist/cjs/utils/labels.js +99 -83
  103. package/dist/cjs/utils/makeHashIndexes.js +27 -6
  104. package/dist/cjs/utils/normalise.js +49 -22
  105. package/dist/cjs/utils/recordHelpers.js +89 -39
  106. package/dist/cjs/utils/registerHelpers.js +116 -46
  107. package/dist/cjs/utils/singleCall.js +23 -6
  108. package/dist/cjs/utils/validation.js +76 -63
  109. package/dist/cjs/utils/wrapper.js +51 -0
  110. package/dist/cjs/utils/writeTx.js +25 -0
  111. package/dist/esm/GqlManager.mjs +85 -0
  112. package/dist/esm/contracts/baseRegistrar.mjs +6 -0
  113. package/dist/esm/contracts/bulkRenewal.mjs +6 -0
  114. package/dist/esm/contracts/dnsRegistrar.mjs +6 -0
  115. package/dist/esm/contracts/ethRegistrarController.mjs +6 -0
  116. package/dist/esm/contracts/getContractAddress.mjs +66 -0
  117. package/dist/esm/contracts/index.mjs +66 -0
  118. package/dist/esm/contracts/multicall.mjs +6 -0
  119. package/dist/esm/contracts/nameWrapper.mjs +6 -0
  120. package/dist/esm/contracts/publicResolver.mjs +6 -0
  121. package/dist/esm/contracts/registry.mjs +6 -0
  122. package/dist/esm/contracts/reverseRegistrar.mjs +6 -0
  123. package/dist/esm/contracts/types.mjs +0 -0
  124. package/dist/esm/contracts/universalResolver.mjs +6 -0
  125. package/dist/esm/functions/batch.mjs +29 -0
  126. package/dist/esm/functions/batchWrappers.mjs +109 -0
  127. package/dist/esm/functions/burnFuses.mjs +12 -0
  128. package/dist/esm/functions/commitName.mjs +30 -0
  129. package/dist/esm/functions/createSubname.mjs +61 -0
  130. package/dist/esm/functions/deleteSubname.mjs +42 -0
  131. package/dist/esm/functions/getDNSOwner.mjs +57 -0
  132. package/dist/esm/functions/getExpiry.mjs +95 -0
  133. package/dist/esm/functions/getHistory.mjs +230 -0
  134. package/dist/esm/functions/getName.mjs +38 -0
  135. package/dist/esm/functions/getNames.mjs +311 -0
  136. package/dist/esm/functions/getOwner.mjs +143 -0
  137. package/dist/esm/functions/getPrice.mjs +106 -0
  138. package/dist/esm/functions/getProfile.mjs +469 -0
  139. package/dist/esm/functions/getRecords.mjs +12 -0
  140. package/dist/esm/functions/getResolver.mjs +27 -0
  141. package/dist/esm/functions/getSpecificRecord.mjs +176 -0
  142. package/dist/esm/functions/getSubnames.mjs +91 -0
  143. package/dist/esm/functions/getWrapperData.mjs +39 -0
  144. package/dist/esm/functions/importDNSSECName.mjs +40 -0
  145. package/dist/esm/functions/initialGetters.mjs +23 -0
  146. package/dist/esm/functions/registerName.mjs +27 -0
  147. package/dist/esm/functions/renewNames.mjs +43 -0
  148. package/dist/esm/functions/setName.mjs +23 -0
  149. package/dist/esm/functions/setRecord.mjs +36 -0
  150. package/dist/esm/functions/setRecords.mjs +32 -0
  151. package/dist/esm/functions/setResolver.mjs +29 -0
  152. package/dist/esm/functions/transferController.mjs +23 -0
  153. package/dist/esm/functions/transferName.mjs +45 -0
  154. package/dist/esm/functions/transferSubname.mjs +45 -0
  155. package/dist/esm/functions/unwrapName.mjs +33 -0
  156. package/dist/esm/functions/wrapName.mjs +104 -0
  157. package/dist/esm/generated/BaseRegistrarImplementation.mjs +0 -0
  158. package/dist/esm/generated/BulkRenewal.mjs +0 -0
  159. package/dist/esm/generated/DNSRegistrar.mjs +0 -0
  160. package/dist/esm/generated/DNSSECImpl.mjs +0 -0
  161. package/dist/esm/generated/DefaultReverseResolver.mjs +0 -0
  162. package/dist/esm/generated/ENSRegistry.mjs +0 -0
  163. package/dist/esm/generated/ETHRegistrarController.mjs +0 -0
  164. package/dist/esm/generated/Multicall.mjs +0 -0
  165. package/dist/esm/generated/NameWrapper.mjs +0 -0
  166. package/dist/esm/generated/P256SHA256Algorithm.mjs +0 -0
  167. package/dist/esm/generated/PublicResolver.mjs +0 -0
  168. package/dist/esm/generated/RSASHA1Algorithm.mjs +0 -0
  169. package/dist/esm/generated/RSASHA256Algorithm.mjs +0 -0
  170. package/dist/esm/generated/ReverseRegistrar.mjs +0 -0
  171. package/dist/esm/generated/Root.mjs +0 -0
  172. package/dist/esm/generated/SHA1Digest.mjs +0 -0
  173. package/dist/esm/generated/SHA1NSEC3Digest.mjs +0 -0
  174. package/dist/esm/generated/SHA256Digest.mjs +0 -0
  175. package/dist/esm/generated/StaticMetadataService.mjs +0 -0
  176. package/dist/esm/generated/TLDPublicSuffixList.mjs +0 -0
  177. package/dist/esm/generated/UniversalResolver.mjs +0 -0
  178. package/dist/esm/generated/common.mjs +0 -0
  179. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +778 -0
  180. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +108 -0
  181. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +277 -0
  182. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +482 -0
  183. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +95 -0
  184. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +443 -0
  185. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +666 -0
  186. package/dist/esm/generated/factories/Multicall__factory.mjs +461 -0
  187. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1372 -0
  188. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +52 -0
  189. package/dist/esm/generated/factories/PublicResolver__factory.mjs +951 -0
  190. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +52 -0
  191. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +52 -0
  192. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +357 -0
  193. package/dist/esm/generated/factories/Root__factory.mjs +247 -0
  194. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +47 -0
  195. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +52 -0
  196. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +47 -0
  197. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +57 -0
  198. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +42 -0
  199. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +485 -0
  200. package/dist/esm/generated/factories/index.mjs +45 -0
  201. package/dist/esm/generated/index.mjs +47 -0
  202. package/dist/esm/index.mjs +311 -0
  203. package/dist/esm/utils/ccip.mjs +114 -0
  204. package/dist/esm/utils/consts.mjs +5 -0
  205. package/dist/esm/utils/contentHash.mjs +142 -0
  206. package/dist/esm/utils/createReverseNode.mjs +5 -0
  207. package/dist/esm/utils/format.mjs +9 -0
  208. package/dist/esm/utils/fuses.mjs +115 -0
  209. package/dist/esm/utils/generateFuseInput.mjs +15 -0
  210. package/dist/esm/utils/hexEncodedName.mjs +6 -0
  211. package/dist/esm/utils/labels.mjs +109 -0
  212. package/dist/esm/utils/makeHashIndexes.mjs +10 -0
  213. package/dist/esm/utils/normalise.mjs +30 -0
  214. package/dist/esm/utils/recordHelpers.mjs +75 -0
  215. package/dist/esm/utils/registerHelpers.mjs +97 -0
  216. package/dist/esm/utils/singleCall.mjs +5 -0
  217. package/dist/esm/utils/validation.mjs +67 -0
  218. package/dist/esm/utils/wrapper.mjs +32 -0
  219. package/dist/esm/utils/writeTx.mjs +6 -0
  220. package/dist/types/GqlManager.d.ts +11 -0
  221. package/dist/{cjs → types}/contracts/baseRegistrar.d.ts +0 -0
  222. package/dist/{cjs/contracts/ethRegistrarController.d.ts → types/contracts/bulkRenewal.d.ts} +1 -1
  223. package/dist/{cjs/contracts/publicResolver.d.ts → types/contracts/dnsRegistrar.d.ts} +1 -1
  224. package/dist/{esm → types}/contracts/ethRegistrarController.d.ts +1 -1
  225. package/dist/{cjs → types}/contracts/getContractAddress.d.ts +0 -0
  226. package/dist/types/contracts/index.d.ts +18 -0
  227. package/dist/{cjs → types}/contracts/multicall.d.ts +0 -0
  228. package/dist/{esm → types}/contracts/nameWrapper.d.ts +1 -1
  229. package/dist/{esm → types}/contracts/publicResolver.d.ts +1 -1
  230. package/dist/{cjs → types}/contracts/registry.d.ts +0 -0
  231. package/dist/{cjs → types}/contracts/reverseRegistrar.d.ts +1 -1
  232. package/dist/types/contracts/types.d.ts +2 -0
  233. package/dist/{cjs → types}/contracts/universalResolver.d.ts +1 -1
  234. package/dist/{cjs → types}/functions/batch.d.ts +0 -0
  235. package/dist/types/functions/batchWrappers.d.ts +86 -0
  236. package/dist/types/functions/burnFuses.d.ts +3 -0
  237. package/dist/types/functions/commitName.d.ts +26 -0
  238. package/dist/{esm → types}/functions/createSubname.d.ts +4 -6
  239. package/dist/types/functions/deleteSubname.d.ts +7 -0
  240. package/dist/{cjs → types}/functions/getDNSOwner.d.ts +1 -1
  241. package/dist/types/functions/getExpiry.d.ts +19 -0
  242. package/dist/types/functions/getHistory.d.ts +28 -0
  243. package/dist/{cjs → types}/functions/getName.d.ts +2 -2
  244. package/dist/{esm → types}/functions/getNames.d.ts +13 -3
  245. package/dist/{cjs → types}/functions/getOwner.d.ts +0 -0
  246. package/dist/{esm → types}/functions/getPrice.d.ts +2 -2
  247. package/dist/{esm → types}/functions/getProfile.d.ts +10 -1
  248. package/dist/{cjs → types}/functions/getRecords.d.ts +1 -0
  249. package/dist/{cjs → types}/functions/getResolver.d.ts +0 -0
  250. package/dist/{esm → types}/functions/getSpecificRecord.d.ts +4 -4
  251. package/dist/{esm → types}/functions/getSubnames.d.ts +2 -2
  252. package/dist/{cjs/functions/getFuses.d.ts → types/functions/getWrapperData.d.ts} +5 -7
  253. package/dist/types/functions/importDNSSECName.d.ts +7 -0
  254. package/dist/{cjs → types}/functions/initialGetters.d.ts +0 -0
  255. package/dist/types/functions/registerName.d.ts +8 -0
  256. package/dist/types/functions/renewNames.d.ts +13 -0
  257. package/dist/types/functions/setName.d.ts +5 -0
  258. package/dist/types/functions/setRecord.d.ts +18 -0
  259. package/dist/types/functions/setRecords.d.ts +6 -0
  260. package/dist/types/functions/setResolver.d.ts +5 -0
  261. package/dist/types/functions/transferController.d.ts +6 -0
  262. package/dist/types/functions/transferName.d.ts +6 -0
  263. package/dist/types/functions/transferSubname.d.ts +15 -0
  264. package/dist/types/functions/unwrapName.d.ts +5 -0
  265. package/dist/types/functions/wrapName.d.ts +10 -0
  266. package/dist/types/generated/BaseRegistrarImplementation.d.ts +508 -0
  267. package/dist/types/generated/BulkRenewal.d.ts +76 -0
  268. package/dist/{cjs → types}/generated/DNSRegistrar.d.ts +68 -64
  269. package/dist/{esm → types}/generated/DNSSECImpl.d.ts +111 -111
  270. package/dist/{esm → types}/generated/DefaultReverseResolver.d.ts +17 -17
  271. package/dist/types/generated/ENSRegistry.d.ts +274 -0
  272. package/dist/types/generated/ETHRegistrarController.d.ts +362 -0
  273. package/dist/{esm → types}/generated/Multicall.d.ts +60 -60
  274. package/dist/types/generated/NameWrapper.d.ts +810 -0
  275. package/dist/{cjs → types}/generated/P256SHA256Algorithm.d.ts +11 -7
  276. package/dist/types/generated/PublicResolver.d.ts +594 -0
  277. package/dist/{cjs → types}/generated/RSASHA1Algorithm.d.ts +11 -7
  278. package/dist/{cjs → types}/generated/RSASHA256Algorithm.d.ts +11 -7
  279. package/dist/types/generated/ReverseRegistrar.d.ts +279 -0
  280. package/dist/types/generated/Root.d.ts +173 -0
  281. package/dist/{cjs → types}/generated/SHA1Digest.d.ts +7 -7
  282. package/dist/{esm → types}/generated/SHA1NSEC3Digest.d.ts +11 -7
  283. package/dist/{cjs → types}/generated/SHA256Digest.d.ts +7 -7
  284. package/dist/{esm → types}/generated/StaticMetadataService.d.ts +7 -7
  285. package/dist/{esm → types}/generated/TLDPublicSuffixList.d.ts +7 -7
  286. package/dist/types/generated/UniversalResolver.d.ts +184 -0
  287. package/dist/{esm → types}/generated/common.d.ts +1 -0
  288. package/dist/{cjs → types}/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -0
  289. package/dist/{esm/generated/factories/StaticMetadataService__factory.d.ts → types/generated/factories/BulkRenewal__factory.d.ts} +4 -4
  290. package/dist/{cjs/generated/factories/ETHRegistrarController__factory.d.ts → types/generated/factories/DNSRegistrar__factory.d.ts} +15 -14
  291. package/dist/{esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts → types/generated/factories/DNSSECImpl__factory.d.ts} +9 -9
  292. package/dist/{cjs → types}/generated/factories/DefaultReverseResolver__factory.d.ts +0 -0
  293. package/dist/{cjs → types}/generated/factories/ENSRegistry__factory.d.ts +0 -0
  294. package/dist/{esm → types}/generated/factories/ETHRegistrarController__factory.d.ts +12 -1
  295. package/dist/{cjs → types}/generated/factories/Multicall__factory.d.ts +0 -0
  296. package/dist/{cjs → types}/generated/factories/NameWrapper__factory.d.ts +0 -0
  297. package/dist/types/generated/factories/P256SHA256Algorithm__factory.d.ts +22 -0
  298. package/dist/{cjs → types}/generated/factories/PublicResolver__factory.d.ts +0 -0
  299. package/dist/types/generated/factories/RSASHA1Algorithm__factory.d.ts +22 -0
  300. package/dist/types/generated/factories/RSASHA256Algorithm__factory.d.ts +22 -0
  301. package/dist/{cjs → types}/generated/factories/ReverseRegistrar__factory.d.ts +0 -0
  302. package/dist/{cjs → types}/generated/factories/Root__factory.d.ts +0 -0
  303. package/dist/types/generated/factories/SHA1Digest__factory.d.ts +22 -0
  304. package/dist/types/generated/factories/SHA1NSEC3Digest__factory.d.ts +22 -0
  305. package/dist/types/generated/factories/SHA256Digest__factory.d.ts +22 -0
  306. package/dist/{cjs → types}/generated/factories/StaticMetadataService__factory.d.ts +0 -0
  307. package/dist/types/generated/factories/TLDPublicSuffixList__factory.d.ts +22 -0
  308. package/dist/{cjs → types}/generated/factories/UniversalResolver__factory.d.ts +0 -0
  309. package/dist/types/generated/factories/index.d.ts +21 -0
  310. package/dist/types/generated/index.d.ts +43 -0
  311. package/dist/{esm → types}/index.d.ts +166 -112
  312. package/dist/types/utils/ccip.d.ts +3 -0
  313. package/dist/types/utils/consts.d.ts +1 -0
  314. package/dist/{cjs → types}/utils/contentHash.d.ts +0 -0
  315. package/dist/{cjs → types}/utils/createReverseNode.d.ts +0 -0
  316. package/dist/{cjs → types}/utils/format.d.ts +0 -0
  317. package/dist/types/utils/fuses.d.ts +61 -0
  318. package/dist/{cjs → types}/utils/generateFuseInput.d.ts +1 -1
  319. package/dist/{cjs → types}/utils/hexEncodedName.d.ts +0 -0
  320. package/dist/{cjs → types}/utils/labels.d.ts +0 -0
  321. package/dist/{cjs → types}/utils/makeHashIndexes.d.ts +0 -0
  322. package/dist/types/utils/normalise.d.ts +2 -0
  323. package/dist/{esm → types}/utils/recordHelpers.d.ts +4 -0
  324. package/dist/types/utils/registerHelpers.d.ts +59 -0
  325. package/dist/{cjs → types}/utils/singleCall.d.ts +0 -0
  326. package/dist/{cjs → types}/utils/validation.d.ts +0 -0
  327. package/dist/types/utils/wrapper.d.ts +6 -0
  328. package/dist/types/utils/writeTx.d.ts +21 -0
  329. package/package.json +72 -35
  330. package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
  331. package/src/@types/dns-packet/index.d.ts +113 -113
  332. package/src/ABIs/Multicall.json +452 -0
  333. package/src/GqlManager.test.ts +173 -0
  334. package/src/GqlManager.ts +90 -2
  335. package/src/contracts/bulkRenewal.ts +6 -0
  336. package/src/contracts/dnsRegistrar.ts +5 -0
  337. package/src/contracts/getContractAddress.ts +26 -3
  338. package/src/contracts/index.ts +21 -1
  339. package/src/contracts/multicall.ts +0 -19
  340. package/src/contracts/types.ts +2 -0
  341. package/src/functions/batch.test.ts +10 -10
  342. package/src/functions/batch.ts +3 -3
  343. package/src/functions/batchWrappers.test.ts +13 -13
  344. package/src/functions/batchWrappers.ts +40 -9
  345. package/src/functions/burnFuses.test.ts +127 -23
  346. package/src/functions/burnFuses.ts +6 -13
  347. package/src/functions/commitName.test.ts +61 -0
  348. package/src/functions/commitName.ts +39 -0
  349. package/src/functions/createSubname.test.ts +11 -19
  350. package/src/functions/createSubname.ts +22 -16
  351. package/src/functions/deleteSubname.test.ts +36 -38
  352. package/src/functions/deleteSubname.ts +47 -13
  353. package/src/functions/getDNSOwner.test.ts +14 -17
  354. package/src/functions/getDNSOwner.ts +2 -2
  355. package/src/functions/getExpiry.test.ts +28 -10
  356. package/src/functions/getExpiry.ts +87 -9
  357. package/src/functions/getHistory.test.ts +17 -80
  358. package/src/functions/getHistory.ts +104 -174
  359. package/src/functions/getName.test.ts +10 -10
  360. package/src/functions/getName.ts +4 -4
  361. package/src/functions/getNames.test.ts +153 -89
  362. package/src/functions/getNames.ts +135 -32
  363. package/src/functions/getOwner.test.ts +28 -32
  364. package/src/functions/getOwner.ts +20 -12
  365. package/src/functions/getPrice.test.ts +55 -0
  366. package/src/functions/getPrice.ts +62 -10
  367. package/src/functions/getProfile-ccip.test.ts +29 -0
  368. package/src/functions/getProfile.test.ts +53 -27
  369. package/src/functions/getProfile.ts +275 -150
  370. package/src/functions/getRecords.ts +2 -1
  371. package/src/functions/getResolver.test.ts +5 -9
  372. package/src/functions/getSpecificRecord.test.ts +20 -17
  373. package/src/functions/getSpecificRecord.ts +18 -147
  374. package/src/functions/getSubnames.test.ts +651 -7
  375. package/src/functions/getSubnames.ts +43 -102
  376. package/src/functions/getWrapperData.test.ts +98 -0
  377. package/src/functions/getWrapperData.ts +42 -0
  378. package/src/functions/importDNSSECName.ts +54 -0
  379. package/src/functions/makeCommitment.test.ts +6 -6
  380. package/src/functions/registerName.test.ts +59 -0
  381. package/src/functions/registerName.ts +38 -0
  382. package/src/functions/renewNames.test.ts +64 -0
  383. package/src/functions/renewNames.ts +60 -0
  384. package/src/functions/setName.test.ts +22 -18
  385. package/src/functions/setName.ts +15 -17
  386. package/src/functions/setRecord.test.ts +103 -0
  387. package/src/functions/setRecord.ts +59 -0
  388. package/src/functions/setRecords.test.ts +21 -18
  389. package/src/functions/setRecords.ts +19 -13
  390. package/src/functions/setResolver.test.ts +17 -25
  391. package/src/functions/setResolver.ts +15 -20
  392. package/src/functions/transferController.ts +28 -0
  393. package/src/functions/transferName.test.ts +24 -40
  394. package/src/functions/transferName.ts +17 -21
  395. package/src/functions/transferSubname.test.ts +19 -37
  396. package/src/functions/transferSubname.ts +39 -14
  397. package/src/functions/unwrapName.test.ts +19 -34
  398. package/src/functions/unwrapName.ts +23 -20
  399. package/src/functions/wrapName.test.ts +123 -37
  400. package/src/functions/wrapName.ts +74 -59
  401. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  402. package/src/generated/BulkRenewal.ts +197 -0
  403. package/src/generated/DNSRegistrar.ts +103 -89
  404. package/src/generated/DNSSECImpl.ts +180 -149
  405. package/src/generated/DefaultReverseResolver.ts +37 -21
  406. package/src/generated/ENSRegistry.ts +257 -184
  407. package/src/generated/ETHRegistrarController.ts +356 -191
  408. package/src/generated/Multicall.ts +73 -57
  409. package/src/generated/NameWrapper.ts +1047 -666
  410. package/src/generated/P256SHA256Algorithm.ts +21 -16
  411. package/src/generated/PublicResolver.ts +561 -390
  412. package/src/generated/RSASHA1Algorithm.ts +21 -16
  413. package/src/generated/RSASHA256Algorithm.ts +21 -16
  414. package/src/generated/ReverseRegistrar.ts +213 -141
  415. package/src/generated/Root.ts +146 -86
  416. package/src/generated/SHA1Digest.ts +12 -11
  417. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  418. package/src/generated/SHA256Digest.ts +12 -11
  419. package/src/generated/StaticMetadataService.ts +22 -6
  420. package/src/generated/TLDPublicSuffixList.ts +10 -6
  421. package/src/generated/UniversalResolver.ts +425 -58
  422. package/src/generated/common.ts +2 -0
  423. package/src/generated/factories/BulkRenewal__factory.ts +108 -0
  424. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  425. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  426. package/src/generated/factories/ETHRegistrarController__factory.ts +151 -4
  427. package/src/generated/factories/NameWrapper__factory.ts +279 -111
  428. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  429. package/src/generated/factories/PublicResolver__factory.ts +69 -14
  430. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  431. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  432. package/src/generated/factories/ReverseRegistrar__factory.ts +13 -0
  433. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  434. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  435. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  436. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  437. package/src/generated/factories/UniversalResolver__factory.ts +277 -0
  438. package/src/generated/factories/index.ts +15 -0
  439. package/src/generated/index.ts +31 -1
  440. package/src/index.ts +191 -74
  441. package/src/utils/ccip.ts +148 -0
  442. package/src/utils/consts.ts +1 -0
  443. package/src/utils/contentHash.ts +24 -22
  444. package/src/utils/createReverseNode.ts +1 -1
  445. package/src/utils/fuses.ts +141 -4
  446. package/src/utils/generateFuseInput.ts +5 -10
  447. package/src/utils/labels.ts +6 -4
  448. package/src/utils/normalise.ts +11 -5
  449. package/src/utils/recordHelpers.ts +59 -20
  450. package/src/utils/registerHelpers.ts +123 -55
  451. package/src/utils/singleCall.ts +1 -1
  452. package/src/utils/validation.ts +8 -9
  453. package/src/utils/wrapper.ts +36 -0
  454. package/src/utils/writeTx.ts +16 -0
  455. package/dist/cjs/GqlManager.d.ts +0 -6
  456. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  457. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  458. package/dist/cjs/contracts/index.d.ts +0 -16
  459. package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
  460. package/dist/cjs/contracts/types.d.ts +0 -2
  461. package/dist/cjs/functions/batchWrappers.d.ts +0 -29
  462. package/dist/cjs/functions/burnFuses.d.ts +0 -3
  463. package/dist/cjs/functions/createSubname.d.ts +0 -19
  464. package/dist/cjs/functions/deleteSubname.d.ts +0 -4
  465. package/dist/cjs/functions/getExpiry.d.ts +0 -12
  466. package/dist/cjs/functions/getFuses.js +0 -62
  467. package/dist/cjs/functions/getHistory.d.ts +0 -54
  468. package/dist/cjs/functions/getNames.d.ts +0 -40
  469. package/dist/cjs/functions/getPrice.d.ts +0 -13
  470. package/dist/cjs/functions/getProfile.d.ts +0 -30
  471. package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
  472. package/dist/cjs/functions/getSubnames.d.ts +0 -26
  473. package/dist/cjs/functions/setName.d.ts +0 -4
  474. package/dist/cjs/functions/setRecords.d.ts +0 -3
  475. package/dist/cjs/functions/setResolver.d.ts +0 -4
  476. package/dist/cjs/functions/transferName.d.ts +0 -5
  477. package/dist/cjs/functions/transferSubname.d.ts +0 -5
  478. package/dist/cjs/functions/unwrapName.d.ts +0 -4
  479. package/dist/cjs/functions/wrapName.d.ts +0 -6
  480. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
  481. package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
  482. package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
  483. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  484. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  485. package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
  486. package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
  487. package/dist/cjs/generated/Multicall.d.ts +0 -292
  488. package/dist/cjs/generated/NameWrapper.d.ts +0 -675
  489. package/dist/cjs/generated/PublicResolver.d.ts +0 -542
  490. package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
  491. package/dist/cjs/generated/Root.d.ts +0 -173
  492. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
  493. package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
  494. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
  495. package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
  496. package/dist/cjs/generated/common.d.ts +0 -21
  497. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  498. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  499. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  500. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  501. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  502. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  503. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  504. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
  505. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  506. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
  507. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  508. package/dist/cjs/generated/factories/index.d.ts +0 -6
  509. package/dist/cjs/generated/index.d.ts +0 -13
  510. package/dist/cjs/index.d.ts +0 -471
  511. package/dist/cjs/utils/fuses.d.ts +0 -20
  512. package/dist/cjs/utils/normalise.d.ts +0 -2
  513. package/dist/cjs/utils/recordHelpers.d.ts +0 -13
  514. package/dist/cjs/utils/registerHelpers.d.ts +0 -26
  515. package/dist/esm/GqlManager.d.ts +0 -6
  516. package/dist/esm/GqlManager.js +0 -18
  517. package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
  518. package/dist/esm/contracts/baseRegistrar.js +0 -2
  519. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  520. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  521. package/dist/esm/contracts/ethRegistrarController.js +0 -2
  522. package/dist/esm/contracts/getContractAddress.d.ts +0 -3
  523. package/dist/esm/contracts/getContractAddress.js +0 -42
  524. package/dist/esm/contracts/index.d.ts +0 -16
  525. package/dist/esm/contracts/index.js +0 -29
  526. package/dist/esm/contracts/multicall.d.ts +0 -3
  527. package/dist/esm/contracts/multicall.js +0 -20
  528. package/dist/esm/contracts/nameWrapper.js +0 -2
  529. package/dist/esm/contracts/publicResolver.js +0 -2
  530. package/dist/esm/contracts/registry.d.ts +0 -3
  531. package/dist/esm/contracts/registry.js +0 -2
  532. package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
  533. package/dist/esm/contracts/reverseRegistrar.js +0 -2
  534. package/dist/esm/contracts/types.d.ts +0 -2
  535. package/dist/esm/contracts/types.js +0 -1
  536. package/dist/esm/contracts/universalResolver.d.ts +0 -3
  537. package/dist/esm/contracts/universalResolver.js +0 -2
  538. package/dist/esm/functions/batch.d.ts +0 -9
  539. package/dist/esm/functions/batch.js +0 -19
  540. package/dist/esm/functions/batchWrappers.d.ts +0 -29
  541. package/dist/esm/functions/batchWrappers.js +0 -68
  542. package/dist/esm/functions/burnFuses.d.ts +0 -3
  543. package/dist/esm/functions/burnFuses.js +0 -12
  544. package/dist/esm/functions/createSubname.js +0 -38
  545. package/dist/esm/functions/deleteSubname.d.ts +0 -4
  546. package/dist/esm/functions/deleteSubname.js +0 -3
  547. package/dist/esm/functions/getDNSOwner.d.ts +0 -7
  548. package/dist/esm/functions/getDNSOwner.js +0 -51
  549. package/dist/esm/functions/getExpiry.d.ts +0 -12
  550. package/dist/esm/functions/getExpiry.js +0 -43
  551. package/dist/esm/functions/getFuses.d.ts +0 -17
  552. package/dist/esm/functions/getFuses.js +0 -60
  553. package/dist/esm/functions/getHistory.d.ts +0 -54
  554. package/dist/esm/functions/getHistory.js +0 -273
  555. package/dist/esm/functions/getName.d.ts +0 -19
  556. package/dist/esm/functions/getName.js +0 -32
  557. package/dist/esm/functions/getNames.js +0 -220
  558. package/dist/esm/functions/getOwner.d.ts +0 -14
  559. package/dist/esm/functions/getOwner.js +0 -138
  560. package/dist/esm/functions/getPrice.js +0 -48
  561. package/dist/esm/functions/getProfile.js +0 -299
  562. package/dist/esm/functions/getRecords.d.ts +0 -32
  563. package/dist/esm/functions/getRecords.js +0 -8
  564. package/dist/esm/functions/getResolver.d.ts +0 -9
  565. package/dist/esm/functions/getResolver.js +0 -22
  566. package/dist/esm/functions/getSpecificRecord.js +0 -265
  567. package/dist/esm/functions/getSubnames.js +0 -152
  568. package/dist/esm/functions/initialGetters.d.ts +0 -11
  569. package/dist/esm/functions/initialGetters.js +0 -11
  570. package/dist/esm/functions/setName.d.ts +0 -4
  571. package/dist/esm/functions/setName.js +0 -14
  572. package/dist/esm/functions/setRecords.d.ts +0 -3
  573. package/dist/esm/functions/setRecords.js +0 -19
  574. package/dist/esm/functions/setResolver.d.ts +0 -4
  575. package/dist/esm/functions/setResolver.js +0 -25
  576. package/dist/esm/functions/transferName.d.ts +0 -5
  577. package/dist/esm/functions/transferName.js +0 -31
  578. package/dist/esm/functions/transferSubname.d.ts +0 -5
  579. package/dist/esm/functions/transferSubname.js +0 -25
  580. package/dist/esm/functions/unwrapName.d.ts +0 -4
  581. package/dist/esm/functions/unwrapName.js +0 -25
  582. package/dist/esm/functions/wrapName.d.ts +0 -6
  583. package/dist/esm/functions/wrapName.js +0 -58
  584. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
  585. package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
  586. package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
  587. package/dist/esm/generated/DNSRegistrar.js +0 -1
  588. package/dist/esm/generated/DNSSECImpl.js +0 -1
  589. package/dist/esm/generated/DefaultReverseResolver.js +0 -1
  590. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  591. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  592. package/dist/esm/generated/ENSRegistry.d.ts +0 -259
  593. package/dist/esm/generated/ENSRegistry.js +0 -1
  594. package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
  595. package/dist/esm/generated/ETHRegistrarController.js +0 -1
  596. package/dist/esm/generated/Multicall.js +0 -1
  597. package/dist/esm/generated/NameWrapper.d.ts +0 -675
  598. package/dist/esm/generated/NameWrapper.js +0 -1
  599. package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -72
  600. package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
  601. package/dist/esm/generated/PublicResolver.d.ts +0 -542
  602. package/dist/esm/generated/PublicResolver.js +0 -1
  603. package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
  604. package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
  605. package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
  606. package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
  607. package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
  608. package/dist/esm/generated/ReverseRegistrar.js +0 -1
  609. package/dist/esm/generated/Root.d.ts +0 -173
  610. package/dist/esm/generated/Root.js +0 -1
  611. package/dist/esm/generated/SHA1Digest.d.ts +0 -67
  612. package/dist/esm/generated/SHA1Digest.js +0 -1
  613. package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
  614. package/dist/esm/generated/SHA256Digest.d.ts +0 -67
  615. package/dist/esm/generated/SHA256Digest.js +0 -1
  616. package/dist/esm/generated/StaticMetadataService.js +0 -1
  617. package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
  618. package/dist/esm/generated/UniversalResolver.d.ts +0 -82
  619. package/dist/esm/generated/UniversalResolver.js +0 -1
  620. package/dist/esm/generated/common.js +0 -1
  621. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
  622. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
  623. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
  624. package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
  625. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
  626. package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
  627. package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
  628. package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
  629. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  630. package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
  631. package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
  632. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
  633. package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
  634. package/dist/esm/generated/factories/Multicall__factory.js +0 -453
  635. package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
  636. package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
  637. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
  638. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
  639. package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
  640. package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
  641. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
  642. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
  643. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
  644. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
  645. package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
  646. package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
  647. package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
  648. package/dist/esm/generated/factories/Root__factory.js +0 -239
  649. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
  650. package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
  651. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
  652. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
  653. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
  654. package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
  655. package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
  656. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
  657. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
  658. package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
  659. package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
  660. package/dist/esm/generated/factories/index.d.ts +0 -6
  661. package/dist/esm/generated/factories/index.js +0 -9
  662. package/dist/esm/generated/index.d.ts +0 -13
  663. package/dist/esm/generated/index.js +0 -7
  664. package/dist/esm/index.js +0 -193
  665. package/dist/esm/utils/contentHash.d.ts +0 -28
  666. package/dist/esm/utils/contentHash.js +0 -153
  667. package/dist/esm/utils/createReverseNode.d.ts +0 -2
  668. package/dist/esm/utils/createReverseNode.js +0 -1
  669. package/dist/esm/utils/format.d.ts +0 -3
  670. package/dist/esm/utils/format.js +0 -3
  671. package/dist/esm/utils/fuses.d.ts +0 -20
  672. package/dist/esm/utils/fuses.js +0 -21
  673. package/dist/esm/utils/generateFuseInput.d.ts +0 -3
  674. package/dist/esm/utils/generateFuseInput.js +0 -14
  675. package/dist/esm/utils/hexEncodedName.d.ts +0 -1
  676. package/dist/esm/utils/hexEncodedName.js +0 -2
  677. package/dist/esm/utils/labels.d.ts +0 -14
  678. package/dist/esm/utils/labels.js +0 -95
  679. package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
  680. package/dist/esm/utils/makeHashIndexes.js +0 -3
  681. package/dist/esm/utils/normalise.d.ts +0 -2
  682. package/dist/esm/utils/normalise.js +0 -20
  683. package/dist/esm/utils/recordHelpers.js +0 -39
  684. package/dist/esm/utils/registerHelpers.d.ts +0 -26
  685. package/dist/esm/utils/registerHelpers.js +0 -43
  686. package/dist/esm/utils/singleCall.d.ts +0 -9
  687. package/dist/esm/utils/singleCall.js +0 -5
  688. package/dist/esm/utils/validation.d.ts +0 -8
  689. package/dist/esm/utils/validation.js +0 -67
  690. package/src/@types/FuseOptions.d.ts +0 -9
  691. package/src/ABIs/ETHRegistrarController.json +0 -494
  692. package/src/ABIs/NameWrapper.json +0 -1183
  693. package/src/ABIs/PublicResolver.json +0 -875
  694. package/src/ABIs/ReverseRegistrar.json +0 -323
  695. package/src/ABIs/StaticMetadataService.json +0 -32
  696. package/src/ABIs/UniversalResolver.json +0 -187
  697. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  698. package/src/functions/getFuses.test.ts +0 -103
  699. package/src/functions/getFuses.ts +0 -76
  700. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  701. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  702. package/src/tests/setup.ts +0 -53
  703. package/src/tests/withProvider.test.ts +0 -28
@@ -1,3 +1,5 @@
1
+ import { BigNumber, BigNumberish } from 'ethers'
2
+
1
3
  const CANNOT_UNWRAP = 1
2
4
  const CANNOT_BURN_FUSES = 2
3
5
  const CANNOT_TRANSFER = 4
@@ -7,7 +9,7 @@ const CANNOT_CREATE_SUBDOMAIN = 32
7
9
  const PARENT_CANNOT_CONTROL = 64
8
10
  const CAN_DO_EVERYTHING = 0
9
11
 
10
- export const testable = {
12
+ export const fuseEnum = {
11
13
  CANNOT_UNWRAP,
12
14
  CANNOT_BURN_FUSES,
13
15
  CANNOT_TRANSFER,
@@ -15,9 +17,144 @@ export const testable = {
15
17
  CANNOT_SET_TTL,
16
18
  CANNOT_CREATE_SUBDOMAIN,
17
19
  PARENT_CANNOT_CONTROL,
18
- }
20
+ } as const
21
+
22
+ export type FuseOptions = { -readonly [K in keyof typeof fuseEnum]?: boolean }
23
+
24
+ export const unnamedFuses = [
25
+ 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144,
26
+ 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864,
27
+ 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296,
28
+ ] as const
19
29
 
20
- export default {
21
- ...testable,
30
+ const fullFuseEnum = {
31
+ ...fuseEnum,
22
32
  CAN_DO_EVERYTHING,
23
33
  }
34
+
35
+ export type FuseObj = typeof fuseEnum
36
+ export type CurrentFuses = { [f in keyof FuseObj]: boolean } & {
37
+ CAN_DO_EVERYTHING: boolean
38
+ }
39
+ export type UnnamedFuseType = typeof unnamedFuses
40
+ export type Fuse = keyof FuseObj
41
+ export type UnnamedFuseValues = UnnamedFuseType[number]
42
+
43
+ // We need this type so that the following type isn't infinite. This type limits the max length of the fuse array to 7.
44
+ export type FuseArrayPossibilities =
45
+ | [Fuse]
46
+ | [Fuse, Fuse]
47
+ | [Fuse, Fuse, Fuse]
48
+ | [Fuse, Fuse, Fuse, Fuse]
49
+ | [Fuse, Fuse, Fuse, Fuse, Fuse]
50
+ | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse]
51
+ | [Fuse, Fuse, Fuse, Fuse, Fuse, Fuse, Fuse]
52
+
53
+ /**
54
+ * This type creates a type error if there are any duplicate fuses.
55
+ * It effectively works like a reduce function, starting with 0 included types, adding a type each time, and then checking for duplicates.
56
+ *
57
+ * @template A The array to check for duplicates.
58
+ * @template B The union of all checked existing types.
59
+ */
60
+ // CLAUSE A: This extension unwraps the type as a fuse tuple.
61
+ type FusesWithoutDuplicates<A, B = never> = A extends FuseArrayPossibilities
62
+ ? // CLAUSE A > TRUE: CLAUSE B: Pick out the first item in the current array, separating the current item from the rest.
63
+ A extends [infer Head, ...infer Tail]
64
+ ? // CLAUSE B > TRUE: CLAUSE C: Check if the current item is a duplicate based on the input union.
65
+ Head extends B
66
+ ? // CLAUSE C > TRUE: Duplicate found, return an empty array to throw a type error.
67
+ []
68
+ : // CLAUSE C > FALSE: Return a new array to continue the recursion, adds the current item type to the union.
69
+ [Head, ...FusesWithoutDuplicates<Tail, Head | B>]
70
+ : // CLAUSE B > FALSE: Return the input array as there is no more array elements to check.
71
+ A
72
+ : // CLAUSE A > FALSE: Return an empty array as it isn't a fuse tuple.
73
+ []
74
+
75
+ export type NamedFusesToBurn = FusesWithoutDuplicates<FuseArrayPossibilities>
76
+
77
+ export type FusePropsNamedArray = {
78
+ namedFusesToBurn: NamedFusesToBurn
79
+ }
80
+
81
+ export type FusePropsUnnamedArray = {
82
+ unnamedFusesToBurn: UnnamedFuseValues[]
83
+ }
84
+
85
+ export type FusePropsNumber = {
86
+ fuseNumberToBurn: number
87
+ }
88
+
89
+ export type FuseProps =
90
+ | (Partial<FusePropsNamedArray> & FusePropsUnnamedArray)
91
+ | (FusePropsNamedArray & Partial<FusePropsUnnamedArray>)
92
+ | FusePropsNumber
93
+
94
+ export const validateFuses = (fuses: FuseProps) => {
95
+ const isNumber = 'fuseNumberToBurn' in fuses
96
+ const hasNamedArray = 'namedFusesToBurn' in fuses
97
+ const hasUnnamedArray = 'unnamedFusesToBurn' in fuses
98
+
99
+ let encodedFuses: number = 0
100
+
101
+ if (isNumber) {
102
+ if (fuses.fuseNumberToBurn > 2 ** 32 || fuses.fuseNumberToBurn < 1) {
103
+ throw new Error(
104
+ `Fuse number must be limited to uint32, ${
105
+ fuses.fuseNumberToBurn
106
+ } was too ${fuses.fuseNumberToBurn < 1 ? 'low' : 'high'}.`,
107
+ )
108
+ } else if (fuses.fuseNumberToBurn % 1 !== 0) {
109
+ throw new Error(
110
+ `Fuse number must be an integer, ${fuses.fuseNumberToBurn} was not.`,
111
+ )
112
+ }
113
+ encodedFuses = fuses.fuseNumberToBurn
114
+ } else {
115
+ if (!hasNamedArray && !hasUnnamedArray) {
116
+ throw new Error('Please provide fuses to burn')
117
+ }
118
+ if (hasNamedArray) {
119
+ for (const fuse of fuses.namedFusesToBurn!) {
120
+ if (!(fuse in fuseEnum)) {
121
+ throw new Error(`${fuse} is not a valid named fuse.`)
122
+ }
123
+ encodedFuses |= fuseEnum[fuse]
124
+ }
125
+ }
126
+ if (hasUnnamedArray) {
127
+ for (const fuse of fuses.unnamedFusesToBurn!) {
128
+ if (!unnamedFuses.includes(fuse)) {
129
+ throw new Error(
130
+ `${fuse} is not a valid unnamed fuse. If you are trying to burn a named fuse, use the namedFusesToBurn property.`,
131
+ )
132
+ }
133
+ encodedFuses |= fuse
134
+ }
135
+ }
136
+ }
137
+
138
+ return encodedFuses
139
+ }
140
+
141
+ export const decodeFuses = (fuses: BigNumberish) => {
142
+ const bnFuses = BigNumber.from(fuses)
143
+
144
+ const fuseObj = Object.fromEntries(
145
+ Object.keys(fuseEnum).map((fuse) => [
146
+ fuse,
147
+ bnFuses.and(fuseEnum[fuse as keyof typeof fuseEnum]).gt(0),
148
+ ]),
149
+ )
150
+
151
+ if (bnFuses.eq(0)) {
152
+ fuseObj.CAN_DO_EVERYTHING = true
153
+ } else {
154
+ fuseObj.CAN_DO_EVERYTHING = false
155
+ }
156
+
157
+ return fuseObj as CurrentFuses
158
+ }
159
+
160
+ export default fullFuseEnum
@@ -1,16 +1,11 @@
1
1
  import { ethers } from 'ethers'
2
- import { FuseOptions } from '../@types/FuseOptions'
3
- import fuses from './fuses'
2
+ import fuses, { FuseOptions } from './fuses'
4
3
 
5
4
  export default (fuseOptions: FuseOptions) => {
6
- const fuseKeys = Object.keys(fuseOptions)
7
- .filter((opt) => fuseOptions[opt as keyof FuseOptions] === true)
8
- .map((opt) =>
9
- opt
10
- .split(/(?=[A-Z])/)
11
- .join('_')
12
- .toUpperCase(),
13
- )
5
+ const fuseKeys = Object.keys(fuseOptions).filter(
6
+ (opt) => fuseOptions[opt as keyof FuseOptions] === true,
7
+ )
8
+
14
9
  const bigNumberFuses = fuseKeys.reduce((prev, curr) => {
15
10
  return prev.or(fuses[curr as keyof typeof fuses])
16
11
  }, ethers.BigNumber.from(0))
@@ -1,6 +1,8 @@
1
1
  import { solidityKeccak256 } from 'ethers/lib/utils'
2
2
  import { truncateFormat } from './format'
3
3
 
4
+ const hasLocalStorage = typeof localStorage !== 'undefined'
5
+
4
6
  export const labelhash = (input: string) =>
5
7
  solidityKeccak256(['string'], [input])
6
8
 
@@ -17,7 +19,7 @@ export function decodeLabelhash(hash: string) {
17
19
  throw Error('Expected encoded labelhash to have a length of 66')
18
20
  }
19
21
 
20
- return `${hash.slice(1, -1)}`
22
+ return `0x${hash.slice(1, -1)}`
21
23
  }
22
24
 
23
25
  export function encodeLabelhash(hash: string) {
@@ -37,13 +39,13 @@ export function isEncodedLabelhash(hash: string) {
37
39
  }
38
40
 
39
41
  function getLabels() {
40
- return localStorage
42
+ return hasLocalStorage
41
43
  ? JSON.parse(localStorage.getItem('ensjs:labels') as string) || {}
42
44
  : {}
43
45
  }
44
46
 
45
47
  function _saveLabel(hash: string, label: any) {
46
- if (!localStorage) return hash
48
+ if (!hasLocalStorage) return hash
47
49
  const labels = getLabels()
48
50
  localStorage.setItem(
49
51
  'ensjs:labels',
@@ -106,7 +108,7 @@ export function decryptName(name: string) {
106
108
  export const truncateUndecryptedName = (name: string) => truncateFormat(name)
107
109
 
108
110
  export function checkLocalStorageSize() {
109
- if (!localStorage) return 'Empty (0 KB)'
111
+ if (!hasLocalStorage) return 'Empty (0 KB)'
110
112
  let allStrings = ''
111
113
  for (const key in window.localStorage) {
112
114
  if (Object.prototype.hasOwnProperty.call(window.localStorage, key)) {
@@ -1,5 +1,6 @@
1
1
  import { concat, hexlify, keccak256, toUtf8Bytes } from 'ethers/lib/utils'
2
2
  import uts46 from 'idna-uts46-hx/uts46bundle.js'
3
+ import { decodeLabelhash, isEncodedLabelhash } from './labels'
3
4
 
4
5
  const zeros = new Uint8Array(32)
5
6
  zeros.fill(0)
@@ -7,16 +8,21 @@ zeros.fill(0)
7
8
  export const normalise = (name: string) =>
8
9
  name ? uts46.toUnicode(name, { useStd3ASCII: true }) : name
9
10
 
10
- export const namehash = (inputName: string): string => {
11
+ export const namehash = (name: string): string => {
11
12
  let result: string | Uint8Array = zeros
12
13
 
13
- const name = normalise(inputName)
14
-
15
14
  if (name) {
16
15
  const labels = name.split('.')
17
16
 
18
- for (var i = labels.length - 1; i >= 0; i--) {
19
- const labelSha = keccak256(toUtf8Bytes(labels[i]))
17
+ for (let i = labels.length - 1; i >= 0; i -= 1) {
18
+ let labelSha: string
19
+ if (isEncodedLabelhash(labels[i])) {
20
+ labelSha = decodeLabelhash(labels[i])
21
+ } else {
22
+ const normalised = normalise(labels[i])
23
+ labelSha = keccak256(toUtf8Bytes(normalised))
24
+ }
25
+
20
26
  result = keccak256(concat([result, labelSha]))
21
27
  }
22
28
  } else {
@@ -8,6 +8,7 @@ type RecordItem = {
8
8
  }
9
9
 
10
10
  export type RecordOptions = {
11
+ clearRecords?: boolean
11
12
  contentHash?: string
12
13
  texts?: RecordItem[]
13
14
  coinTypes?: RecordItem[]
@@ -20,7 +21,7 @@ export const generateSetAddr = (
20
21
  resolver: PublicResolver,
21
22
  ) => {
22
23
  let coinTypeInstance
23
- if (!isNaN(parseInt(coinType))) {
24
+ if (!Number.isNaN(parseInt(coinType))) {
24
25
  coinTypeInstance = formatsByCoinType[parseInt(coinType)]
25
26
  } else {
26
27
  coinTypeInstance = formatsByName[coinType.toUpperCase()]
@@ -33,6 +34,45 @@ export const generateSetAddr = (
33
34
  )
34
35
  }
35
36
 
37
+ export type RecordTypes = 'contentHash' | 'text' | 'addr'
38
+
39
+ export type RecordInput<T extends RecordTypes> = T extends 'contentHash'
40
+ ? string
41
+ : RecordItem
42
+
43
+ export function generateSingleRecordCall<T extends RecordTypes>(
44
+ namehash: string,
45
+ resolver: PublicResolver,
46
+ type: T,
47
+ ): (record: RecordInput<T>) => string {
48
+ if (type === 'contentHash') {
49
+ return (_r: RecordInput<T>) => {
50
+ const record = _r as string
51
+ let _contentHash = ''
52
+ if (record !== _contentHash) {
53
+ const encoded = encodeContenthash(record)
54
+ if (encoded.error) throw new Error(encoded.error)
55
+ _contentHash = encoded.encoded as string
56
+ }
57
+ return resolver.interface.encodeFunctionData('setContenthash', [
58
+ namehash,
59
+ _contentHash,
60
+ ])
61
+ }
62
+ }
63
+ return (_r: RecordInput<T>) => {
64
+ const record = _r as RecordItem
65
+ if (type === 'text') {
66
+ return resolver.interface.encodeFunctionData('setText', [
67
+ namehash,
68
+ record.key,
69
+ record.value,
70
+ ])
71
+ }
72
+ return generateSetAddr(namehash, record.key, record.value, resolver)
73
+ }
74
+ }
75
+
36
76
  export const generateRecordCallArray = (
37
77
  namehash: string,
38
78
  records: RecordOptions,
@@ -40,32 +80,31 @@ export const generateRecordCallArray = (
40
80
  ) => {
41
81
  const calls: string[] = []
42
82
 
43
- if (records.contentHash) {
44
- const contentHash =
45
- records.contentHash === '' ? '' : encodeContenthash(records.contentHash)
46
- const data = (resolver?.interface.encodeFunctionData as any)(
47
- 'setContenthash',
48
- [namehash, contentHash],
83
+ if (records.clearRecords) {
84
+ calls.push(
85
+ resolver.interface.encodeFunctionData('clearRecords', [namehash]),
49
86
  )
50
- data && calls.push(data)
87
+ }
88
+
89
+ if (records.contentHash) {
90
+ const data = generateSingleRecordCall(
91
+ namehash,
92
+ resolver,
93
+ 'contentHash',
94
+ )(records.contentHash)
95
+ if (data) calls.push(data)
51
96
  }
52
97
 
53
98
  if (records.texts && records.texts.length > 0) {
54
- records.texts.forEach(({ key, value }: RecordItem) => {
55
- const data = resolver?.interface.encodeFunctionData('setText', [
56
- namehash,
57
- key,
58
- value,
59
- ])
60
- data && calls.push(data)
61
- })
99
+ records.texts
100
+ .map(generateSingleRecordCall(namehash, resolver, 'text'))
101
+ .forEach((call) => calls.push(call))
62
102
  }
63
103
 
64
104
  if (records.coinTypes && records.coinTypes.length > 0) {
65
- records.coinTypes.forEach(({ key, value }: RecordItem) => {
66
- const data = generateSetAddr(namehash, key, value, resolver!)
67
- data && calls.push(data)
68
- })
105
+ records.coinTypes
106
+ .map(generateSingleRecordCall(namehash, resolver, 'addr'))
107
+ .forEach((call) => calls.push(call))
69
108
  }
70
109
 
71
110
  return calls
@@ -1,17 +1,70 @@
1
- import { utils } from 'ethers'
2
- import type { FuseOptions } from '../@types/FuseOptions'
1
+ import { BigNumberish, utils } from 'ethers'
3
2
  import type { PublicResolver } from '../generated'
3
+ import { FuseOptions } from './fuses'
4
4
  import generateFuseInput from './generateFuseInput'
5
5
  import { labelhash } from './labels'
6
6
  import { namehash } from './normalise'
7
7
  import { generateRecordCallArray, RecordOptions } from './recordHelpers'
8
8
 
9
+ export const MAX_INT_64 = 2n ** 64n - 1n
10
+
11
+ export type BaseRegistrationParams = {
12
+ owner: string
13
+ duration: number
14
+ secret: string
15
+ resolverAddress?: string
16
+ records?: RecordOptions
17
+ reverseRecord?: boolean
18
+ fuses?: FuseOptions
19
+ wrapperExpiry?: BigNumberish
20
+ }
21
+
22
+ export type RegistrationParams = Omit<
23
+ BaseRegistrationParams,
24
+ 'resolverAddress'
25
+ > & {
26
+ name: string
27
+ resolver: PublicResolver
28
+ }
29
+
30
+ export type CommitmentParams = Omit<
31
+ RegistrationParams,
32
+ 'secret' | 'wrapperExpiry'
33
+ > & {
34
+ secret?: string
35
+ wrapperExpiry?: BigNumberish
36
+ }
37
+
38
+ export type RegistrationTuple = [
39
+ name: string,
40
+ owner: string,
41
+ duration: number,
42
+ secret: string,
43
+ resolver: string,
44
+ data: string[],
45
+ reverseRecord: boolean,
46
+ fuses: string,
47
+ wrapperExpiry: BigNumberish,
48
+ ]
49
+
50
+ export type CommitmentTuple = [
51
+ labelhash: string,
52
+ owner: string,
53
+ duration: number,
54
+ resolver: string,
55
+ data: string[],
56
+ secret: string,
57
+ reverseRecord: boolean,
58
+ fuses: string,
59
+ wrapperExpiry: BigNumberish,
60
+ ]
61
+
9
62
  export const randomSecret = () => {
10
63
  const bytes = Buffer.allocUnsafe(32)
11
- return '0x' + crypto.getRandomValues(bytes).toString('hex')
64
+ return `0x${crypto.getRandomValues(bytes).toString('hex')}`
12
65
  }
13
66
 
14
- export const makeCommitment = ({
67
+ export const makeCommitmentData = ({
15
68
  name,
16
69
  owner,
17
70
  duration,
@@ -19,69 +72,84 @@ export const makeCommitment = ({
19
72
  records,
20
73
  reverseRecord,
21
74
  fuses,
22
- }: {
23
- name: string
24
- owner: string
25
- duration: number
26
- resolver: PublicResolver
27
- records?: RecordOptions
28
- reverseRecord?: boolean
29
- fuses?: FuseOptions
30
- }) => {
75
+ wrapperExpiry,
76
+ secret,
77
+ }: CommitmentParams & {
78
+ secret: string
79
+ }): CommitmentTuple => {
31
80
  const label = labelhash(name.split('.')[0])
32
81
  const hash = namehash(name)
33
82
  const resolverAddress = resolver.address
34
- const data = records ? generateRecordCallArray(hash, records, resolver) : []
35
- const secret = randomSecret()
36
83
  const fuseData = fuses ? generateFuseInput(fuses) : '0'
37
84
 
38
- const commitment = _makeCommitment({
39
- labelhash: label,
85
+ if (reverseRecord) {
86
+ if (!records) {
87
+ records = { coinTypes: [{ key: 'ETH', value: owner }] }
88
+ } else if (!records.coinTypes?.find((c) => c.key === 'ETH')) {
89
+ if (!records.coinTypes) records.coinTypes = []
90
+ records.coinTypes.push({ key: 'ETH', value: owner })
91
+ }
92
+ }
93
+
94
+ const data = records ? generateRecordCallArray(hash, records, resolver) : []
95
+
96
+ return [
97
+ label,
40
98
  owner,
41
99
  duration,
42
- secret,
43
- resolver: resolverAddress,
100
+ resolverAddress,
44
101
  data,
45
- reverseRecord: !!reverseRecord,
46
- fuses: fuseData,
102
+ secret,
103
+ !!reverseRecord,
104
+ fuseData,
105
+ wrapperExpiry || MAX_INT_64,
106
+ ]
107
+ }
108
+
109
+ export const makeRegistrationData = (
110
+ params: RegistrationParams,
111
+ ): RegistrationTuple => {
112
+ const commitmentData = makeCommitmentData(params)
113
+ const label = params.name.split('.')[0]
114
+ commitmentData[0] = label
115
+ const secret = commitmentData.splice(5, 1)[0]
116
+ commitmentData.splice(3, 0, secret)
117
+ return commitmentData as unknown as RegistrationTuple
118
+ }
119
+
120
+ export const _makeCommitment = (params: CommitmentTuple) => {
121
+ return utils.keccak256(
122
+ utils.defaultAbiCoder.encode(
123
+ [
124
+ 'bytes32',
125
+ 'address',
126
+ 'uint256',
127
+ 'address',
128
+ 'bytes[]',
129
+ 'bytes32',
130
+ 'bool',
131
+ 'uint32',
132
+ 'uint64',
133
+ ],
134
+ params,
135
+ ),
136
+ )
137
+ }
138
+
139
+ export const makeCommitment = ({
140
+ secret = randomSecret(),
141
+ ...inputParams
142
+ }: CommitmentParams) => {
143
+ const generatedParams = makeCommitmentData({
144
+ ...inputParams,
145
+ secret,
47
146
  })
48
147
 
148
+ const commitment = _makeCommitment(generatedParams)
149
+
49
150
  return {
50
151
  secret,
51
152
  commitment,
153
+ wrapperExpiry: generatedParams[8],
52
154
  }
53
155
  }
54
-
55
- export const _makeCommitment = ({
56
- labelhash,
57
- owner,
58
- duration,
59
- secret,
60
- resolver,
61
- data,
62
- reverseRecord,
63
- fuses,
64
- }: {
65
- labelhash: string
66
- owner: string
67
- duration: number
68
- secret: string
69
- resolver: string
70
- data: string[]
71
- reverseRecord: boolean
72
- fuses: string
73
- }) => {
74
- return utils.solidityKeccak256(
75
- [
76
- 'bytes32',
77
- 'address',
78
- 'uint256',
79
- 'bytes32',
80
- 'address',
81
- 'bytes[]',
82
- 'bool',
83
- 'uint96',
84
- ],
85
- [labelhash, owner, duration, secret, resolver, data, reverseRecord, fuses],
86
- )
87
- }
@@ -11,6 +11,6 @@ export default async (
11
11
  ) =>
12
12
  func
13
13
  .raw(ensData, ...data)
14
- .then((rawData) => provider.call(rawData))
14
+ .then((rawData) => provider.call({ ...rawData, ccipReadEnabled: true }))
15
15
  .catch(() => null)
16
16
  .then((ret) => func.decode(ensData, ret, ...data))
@@ -4,14 +4,13 @@ import { normalise } from './normalise'
4
4
 
5
5
  export const validateName = (name: string) => {
6
6
  const nameArray = name.split('.')
7
- const hasEmptyLabels = nameArray.some((label) => label.length == 0)
7
+ const hasEmptyLabels = nameArray.some((label) => label.length === 0)
8
8
  if (hasEmptyLabels) throw new Error('Name cannot have empty labels')
9
9
  const normalizedArray = nameArray.map((label) => {
10
10
  if (label === '[root]') {
11
11
  return label
12
- } else {
13
- return isEncodedLabelhash(label) ? label : normalise(label)
14
12
  }
13
+ return isEncodedLabelhash(label) ? label : normalise(label)
15
14
  })
16
15
  const normalizedName = normalizedArray.join('.')
17
16
  saveName(normalizedName)
@@ -30,7 +29,7 @@ type InputType = {
30
29
 
31
30
  export const parseInputType = (input: string): InputType => {
32
31
  const validTLD = validateTLD(input)
33
- let regex = /[^.]+$/
32
+ const regex = /[^.]+$/
34
33
 
35
34
  try {
36
35
  validateName(input)
@@ -61,13 +60,13 @@ export const parseInputType = (input: string): InputType => {
61
60
  type: 'name',
62
61
  info: 'unsupported',
63
62
  }
64
- } else if (isAddress(input)) {
63
+ }
64
+ if (isAddress(input)) {
65
65
  return {
66
66
  type: 'address',
67
67
  }
68
- } else {
69
- return {
70
- type: 'label',
71
- }
68
+ }
69
+ return {
70
+ type: 'label',
72
71
  }
73
72
  }
@@ -0,0 +1,36 @@
1
+ import { BigNumber } from 'ethers'
2
+ import { toUtf8Bytes } from 'ethers/lib/utils'
3
+ import { ENSArgs } from '../index'
4
+
5
+ export type Expiry = string | number | Date | BigNumber
6
+
7
+ export const MAX_EXPIRY = BigNumber.from(2).pow(64).sub(1)
8
+
9
+ export const makeExpiry = async (
10
+ { getExpiry }: ENSArgs<'getExpiry'>,
11
+ name: string,
12
+ expiry?: Expiry,
13
+ ) => {
14
+ if (expiry) {
15
+ if (expiry instanceof Date) {
16
+ return BigNumber.from(expiry.getTime() / 1000)
17
+ }
18
+ if (expiry instanceof BigNumber) {
19
+ return expiry
20
+ }
21
+ return BigNumber.from(expiry)
22
+ }
23
+ if (name.endsWith('.eth')) {
24
+ const expResponse = await getExpiry(name)
25
+ if (!expResponse?.expiry)
26
+ throw new Error("Couldn't get expiry for name, please provide one.")
27
+ return BigNumber.from(expResponse.expiry.getTime() / 1000)
28
+ }
29
+ return MAX_EXPIRY
30
+ }
31
+
32
+ export const wrappedLabelLengthCheck = (label: string) => {
33
+ const bytes = toUtf8Bytes(label)
34
+ if (bytes.byteLength > 255)
35
+ throw new Error("Label can't be longer than 255 bytes")
36
+ }
@@ -0,0 +1,16 @@
1
+ import type { JsonRpcSigner } from '@ethersproject/providers'
2
+ import type { PopulatedTransaction } from 'ethers'
3
+
4
+ type CustomData = Record<string, any>
5
+
6
+ const withCustomData = <T extends object>(
7
+ tx: T,
8
+ customData: CustomData | undefined,
9
+ ): (T & { customData: CustomData }) | T =>
10
+ customData ? { ...tx, customData } : tx
11
+
12
+ export default (signer: JsonRpcSigner, populate: boolean) =>
13
+ ({ customData, ...tx }: PopulatedTransaction) =>
14
+ populate
15
+ ? withCustomData(tx, customData)
16
+ : signer.sendTransaction(tx).then((r) => withCustomData(r, customData))
@@ -1,6 +0,0 @@
1
- export default class GqlManager {
2
- gql: any;
3
- client?: any | null;
4
- setUrl: (url: string | null) => Promise<void>;
5
- request: (...arg: any[]) => any;
6
- }