@ensdomains/ensjs 3.0.0-beta.1 → 3.0.0-beta.11

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 (534) hide show
  1. package/contracts/OldestResolver.json +170 -0
  2. package/contracts/UniversalResolverv2.json +628 -0
  3. package/dist/cjs/clients/decorators/subgraph.js.map +1 -1
  4. package/dist/cjs/clients/decorators/wallet.js +2 -0
  5. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  6. package/dist/cjs/clients/public.js.map +1 -1
  7. package/dist/cjs/clients/subgraph.js.map +1 -1
  8. package/dist/cjs/contracts/consts.js +53 -2
  9. package/dist/cjs/contracts/consts.js.map +1 -1
  10. package/dist/cjs/contracts/universalResolver.js +46 -1
  11. package/dist/cjs/contracts/universalResolver.js.map +1 -1
  12. package/dist/cjs/dns.js +3 -3
  13. package/dist/cjs/dns.js.map +1 -1
  14. package/dist/cjs/errors/subgraph.js.map +1 -1
  15. package/dist/cjs/errors/utils.js +27 -18
  16. package/dist/cjs/errors/utils.js.map +1 -1
  17. package/dist/cjs/errors/version.js +1 -1
  18. package/dist/cjs/errors/version.js.map +1 -1
  19. package/dist/cjs/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +3 -3
  20. package/dist/cjs/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
  21. package/dist/cjs/functions/dns/importDnsName.js +7 -7
  22. package/dist/cjs/functions/dns/importDnsName.js.map +1 -1
  23. package/dist/cjs/functions/public/_getAbi.js +2 -2
  24. package/dist/cjs/functions/public/_getAbi.js.map +1 -1
  25. package/dist/cjs/functions/public/_getAddr.js +9 -19
  26. package/dist/cjs/functions/public/_getAddr.js.map +1 -1
  27. package/dist/cjs/functions/public/_getContentHash.js +1 -1
  28. package/dist/cjs/functions/public/batch.js.map +1 -1
  29. package/dist/cjs/functions/public/getAbiRecord.js.map +1 -1
  30. package/dist/cjs/functions/public/getAddressRecord.js.map +1 -1
  31. package/dist/cjs/functions/public/getAvailable.js.map +1 -1
  32. package/dist/cjs/functions/public/getContentHashRecord.js.map +1 -1
  33. package/dist/cjs/functions/public/getExpiry.js.map +1 -1
  34. package/dist/cjs/functions/public/getName.js.map +1 -1
  35. package/dist/cjs/functions/public/getOwner.js.map +1 -1
  36. package/dist/cjs/functions/public/getPrice.js.map +1 -1
  37. package/dist/cjs/functions/public/getRecords.js +56 -42
  38. package/dist/cjs/functions/public/getRecords.js.map +1 -1
  39. package/dist/cjs/functions/public/getResolver.js.map +1 -1
  40. package/dist/cjs/functions/public/getSupportedInterfaces.js +1 -1
  41. package/dist/cjs/functions/public/getSupportedInterfaces.js.map +1 -1
  42. package/dist/cjs/functions/public/getTextRecord.js.map +1 -1
  43. package/dist/cjs/functions/public/getWrapperData.js.map +1 -1
  44. package/dist/cjs/functions/public/getWrapperName.js.map +1 -1
  45. package/dist/cjs/functions/public/multicallWrapper.js.map +1 -1
  46. package/dist/cjs/functions/public/universalWrapper.js.map +1 -1
  47. package/dist/cjs/functions/subgraph/client.js.map +1 -1
  48. package/dist/cjs/functions/subgraph/filters.js +3 -0
  49. package/dist/cjs/functions/subgraph/filters.js.map +1 -0
  50. package/dist/cjs/functions/subgraph/getDecodedName.js.map +1 -1
  51. package/dist/cjs/functions/subgraph/getNameHistory.js +4 -3
  52. package/dist/cjs/functions/subgraph/getNameHistory.js.map +1 -1
  53. package/dist/cjs/functions/subgraph/getNamesForAddress.js +155 -190
  54. package/dist/cjs/functions/subgraph/getNamesForAddress.js.map +1 -1
  55. package/dist/cjs/functions/subgraph/getSubgraphRecords.js +34 -26
  56. package/dist/cjs/functions/subgraph/getSubgraphRecords.js.map +1 -1
  57. package/dist/cjs/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
  58. package/dist/cjs/functions/subgraph/getSubnames.js +95 -108
  59. package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -1
  60. package/dist/cjs/functions/subgraph/types.js +3 -0
  61. package/dist/cjs/functions/subgraph/types.js.map +1 -0
  62. package/dist/cjs/functions/subgraph/utils.js.map +1 -1
  63. package/dist/cjs/functions/wallet/clearRecords.js +26 -0
  64. package/dist/cjs/functions/wallet/clearRecords.js.map +1 -0
  65. package/dist/cjs/functions/wallet/commitName.js.map +1 -1
  66. package/dist/cjs/functions/wallet/createSubname.js +1 -1
  67. package/dist/cjs/functions/wallet/createSubname.js.map +1 -1
  68. package/dist/cjs/functions/wallet/deleteSubname.js.map +1 -1
  69. package/dist/cjs/functions/wallet/registerName.js.map +1 -1
  70. package/dist/cjs/functions/wallet/renewNames.js.map +1 -1
  71. package/dist/cjs/functions/wallet/setAbiRecord.js.map +1 -1
  72. package/dist/cjs/functions/wallet/setAddressRecord.js.map +1 -1
  73. package/dist/cjs/functions/wallet/setChildFuses.js +1 -1
  74. package/dist/cjs/functions/wallet/setChildFuses.js.map +1 -1
  75. package/dist/cjs/functions/wallet/setContentHashRecord.js.map +1 -1
  76. package/dist/cjs/functions/wallet/setFuses.js +1 -1
  77. package/dist/cjs/functions/wallet/setFuses.js.map +1 -1
  78. package/dist/cjs/functions/wallet/setPrimaryName.js.map +1 -1
  79. package/dist/cjs/functions/wallet/setRecords.js.map +1 -1
  80. package/dist/cjs/functions/wallet/setResolver.js.map +1 -1
  81. package/dist/cjs/functions/wallet/setTextRecord.js.map +1 -1
  82. package/dist/cjs/functions/wallet/transferName.js.map +1 -1
  83. package/dist/cjs/functions/wallet/unwrapName.js.map +1 -1
  84. package/dist/cjs/functions/wallet/wrapName.js +3 -1
  85. package/dist/cjs/functions/wallet/wrapName.js.map +1 -1
  86. package/dist/cjs/index.js +1 -2
  87. package/dist/cjs/index.js.map +1 -1
  88. package/dist/cjs/subgraph.js +4 -1
  89. package/dist/cjs/subgraph.js.map +1 -1
  90. package/dist/cjs/utils/contentHash.js +60 -131
  91. package/dist/cjs/utils/contentHash.js.map +1 -1
  92. package/dist/cjs/utils/encoders/encodeAbi.js +33 -3
  93. package/dist/cjs/utils/encoders/encodeAbi.js.map +1 -1
  94. package/dist/cjs/utils/encoders/encodeClearRecords.js +12 -0
  95. package/dist/cjs/utils/encoders/encodeClearRecords.js.map +1 -0
  96. package/dist/cjs/utils/encoders/encodeSetAddr.js +5 -16
  97. package/dist/cjs/utils/encoders/encodeSetAddr.js.map +1 -1
  98. package/dist/cjs/utils/encoders/encodeSetContentHash.js +1 -4
  99. package/dist/cjs/utils/encoders/encodeSetContentHash.js.map +1 -1
  100. package/dist/cjs/utils/format.js +1 -5
  101. package/dist/cjs/utils/format.js.map +1 -1
  102. package/dist/cjs/utils/fuses.js +184 -200
  103. package/dist/cjs/utils/fuses.js.map +1 -1
  104. package/dist/cjs/utils/generateRecordCallArray.js +6 -10
  105. package/dist/cjs/utils/generateRecordCallArray.js.map +1 -1
  106. package/dist/cjs/utils/getRevertErrorData.js +4 -1
  107. package/dist/cjs/utils/getRevertErrorData.js.map +1 -1
  108. package/dist/cjs/utils/index.js +31 -7
  109. package/dist/cjs/utils/index.js.map +1 -1
  110. package/dist/cjs/utils/normaliseCoinId.js +35 -0
  111. package/dist/cjs/utils/normaliseCoinId.js.map +1 -0
  112. package/dist/cjs/utils/registerHelpers.js +3 -1
  113. package/dist/cjs/utils/registerHelpers.js.map +1 -1
  114. package/dist/cjs/wallet.js +3 -1
  115. package/dist/cjs/wallet.js.map +1 -1
  116. package/dist/esm/clients/decorators/subgraph.js.map +1 -1
  117. package/dist/esm/clients/decorators/wallet.js +2 -0
  118. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  119. package/dist/esm/clients/public.js.map +1 -1
  120. package/dist/esm/clients/subgraph.js.map +1 -1
  121. package/dist/esm/contracts/consts.js +53 -2
  122. package/dist/esm/contracts/consts.js.map +1 -1
  123. package/dist/esm/contracts/universalResolver.js +46 -1
  124. package/dist/esm/contracts/universalResolver.js.map +1 -1
  125. package/dist/esm/dns.js +1 -1
  126. package/dist/esm/dns.js.map +1 -1
  127. package/dist/esm/errors/subgraph.js.map +1 -1
  128. package/dist/esm/errors/utils.js +24 -16
  129. package/dist/esm/errors/utils.js.map +1 -1
  130. package/dist/esm/errors/version.js +1 -1
  131. package/dist/esm/errors/version.js.map +1 -1
  132. package/dist/esm/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +10 -10
  133. package/dist/esm/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
  134. package/dist/esm/functions/dns/getDnsOwner.js +1 -1
  135. package/dist/esm/functions/dns/importDnsName.js +13 -12
  136. package/dist/esm/functions/dns/importDnsName.js.map +1 -1
  137. package/dist/esm/functions/public/_getAbi.js +2 -2
  138. package/dist/esm/functions/public/_getAbi.js.map +1 -1
  139. package/dist/esm/functions/public/_getAddr.js +10 -20
  140. package/dist/esm/functions/public/_getAddr.js.map +1 -1
  141. package/dist/esm/functions/public/_getContentHash.js +2 -2
  142. package/dist/esm/functions/public/batch.js +2 -1
  143. package/dist/esm/functions/public/batch.js.map +1 -1
  144. package/dist/esm/functions/public/getAbiRecord.js +2 -1
  145. package/dist/esm/functions/public/getAbiRecord.js.map +1 -1
  146. package/dist/esm/functions/public/getAddressRecord.js +2 -1
  147. package/dist/esm/functions/public/getAddressRecord.js.map +1 -1
  148. package/dist/esm/functions/public/getAvailable.js +2 -1
  149. package/dist/esm/functions/public/getAvailable.js.map +1 -1
  150. package/dist/esm/functions/public/getContentHashRecord.js +2 -1
  151. package/dist/esm/functions/public/getContentHashRecord.js.map +1 -1
  152. package/dist/esm/functions/public/getExpiry.js +2 -1
  153. package/dist/esm/functions/public/getExpiry.js.map +1 -1
  154. package/dist/esm/functions/public/getName.js +2 -1
  155. package/dist/esm/functions/public/getName.js.map +1 -1
  156. package/dist/esm/functions/public/getOwner.js +3 -2
  157. package/dist/esm/functions/public/getOwner.js.map +1 -1
  158. package/dist/esm/functions/public/getPrice.js +3 -2
  159. package/dist/esm/functions/public/getPrice.js.map +1 -1
  160. package/dist/esm/functions/public/getRecords.js +59 -48
  161. package/dist/esm/functions/public/getRecords.js.map +1 -1
  162. package/dist/esm/functions/public/getResolver.js +2 -1
  163. package/dist/esm/functions/public/getResolver.js.map +1 -1
  164. package/dist/esm/functions/public/getSupportedInterfaces.js +24 -2
  165. package/dist/esm/functions/public/getSupportedInterfaces.js.map +1 -1
  166. package/dist/esm/functions/public/getTextRecord.js +2 -1
  167. package/dist/esm/functions/public/getTextRecord.js.map +1 -1
  168. package/dist/esm/functions/public/getWrapperData.js +2 -1
  169. package/dist/esm/functions/public/getWrapperData.js.map +1 -1
  170. package/dist/esm/functions/public/getWrapperName.js +2 -1
  171. package/dist/esm/functions/public/getWrapperName.js.map +1 -1
  172. package/dist/esm/functions/public/multicallWrapper.js.map +1 -1
  173. package/dist/esm/functions/public/universalWrapper.js.map +1 -1
  174. package/dist/esm/functions/subgraph/client.js.map +1 -1
  175. package/dist/esm/functions/subgraph/filters.js +2 -0
  176. package/dist/esm/functions/subgraph/filters.js.map +1 -0
  177. package/dist/esm/functions/subgraph/getDecodedName.js +2 -1
  178. package/dist/esm/functions/subgraph/getDecodedName.js.map +1 -1
  179. package/dist/esm/functions/subgraph/getNameHistory.js +8 -6
  180. package/dist/esm/functions/subgraph/getNameHistory.js.map +1 -1
  181. package/dist/esm/functions/subgraph/getNamesForAddress.js +163 -192
  182. package/dist/esm/functions/subgraph/getNamesForAddress.js.map +1 -1
  183. package/dist/esm/functions/subgraph/getSubgraphRecords.js +36 -27
  184. package/dist/esm/functions/subgraph/getSubgraphRecords.js.map +1 -1
  185. package/dist/esm/functions/subgraph/getSubgraphRegistrant.js +2 -1
  186. package/dist/esm/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
  187. package/dist/esm/functions/subgraph/getSubnames.js +103 -112
  188. package/dist/esm/functions/subgraph/getSubnames.js.map +1 -1
  189. package/dist/esm/functions/subgraph/types.js +2 -0
  190. package/dist/esm/functions/subgraph/types.js.map +1 -0
  191. package/dist/esm/functions/subgraph/utils.js.map +1 -1
  192. package/dist/esm/functions/wallet/clearRecords.js +44 -0
  193. package/dist/esm/functions/wallet/clearRecords.js.map +1 -0
  194. package/dist/esm/functions/wallet/commitName.js +3 -1
  195. package/dist/esm/functions/wallet/commitName.js.map +1 -1
  196. package/dist/esm/functions/wallet/createSubname.js +3 -2
  197. package/dist/esm/functions/wallet/createSubname.js.map +1 -1
  198. package/dist/esm/functions/wallet/deleteSubname.js +2 -1
  199. package/dist/esm/functions/wallet/deleteSubname.js.map +1 -1
  200. package/dist/esm/functions/wallet/registerName.js +4 -1
  201. package/dist/esm/functions/wallet/registerName.js.map +1 -1
  202. package/dist/esm/functions/wallet/renewNames.js +3 -1
  203. package/dist/esm/functions/wallet/renewNames.js.map +1 -1
  204. package/dist/esm/functions/wallet/setAbiRecord.js +3 -1
  205. package/dist/esm/functions/wallet/setAbiRecord.js.map +1 -1
  206. package/dist/esm/functions/wallet/setAddressRecord.js +2 -1
  207. package/dist/esm/functions/wallet/setAddressRecord.js.map +1 -1
  208. package/dist/esm/functions/wallet/setChildFuses.js +3 -2
  209. package/dist/esm/functions/wallet/setChildFuses.js.map +1 -1
  210. package/dist/esm/functions/wallet/setContentHashRecord.js +2 -1
  211. package/dist/esm/functions/wallet/setContentHashRecord.js.map +1 -1
  212. package/dist/esm/functions/wallet/setFuses.js +4 -3
  213. package/dist/esm/functions/wallet/setFuses.js.map +1 -1
  214. package/dist/esm/functions/wallet/setPrimaryName.js +2 -1
  215. package/dist/esm/functions/wallet/setPrimaryName.js.map +1 -1
  216. package/dist/esm/functions/wallet/setRecords.js +2 -1
  217. package/dist/esm/functions/wallet/setRecords.js.map +1 -1
  218. package/dist/esm/functions/wallet/setResolver.js +2 -1
  219. package/dist/esm/functions/wallet/setResolver.js.map +1 -1
  220. package/dist/esm/functions/wallet/setTextRecord.js +2 -1
  221. package/dist/esm/functions/wallet/setTextRecord.js.map +1 -1
  222. package/dist/esm/functions/wallet/transferName.js +2 -1
  223. package/dist/esm/functions/wallet/transferName.js.map +1 -1
  224. package/dist/esm/functions/wallet/unwrapName.js +2 -1
  225. package/dist/esm/functions/wallet/unwrapName.js.map +1 -1
  226. package/dist/esm/functions/wallet/wrapName.js +6 -3
  227. package/dist/esm/functions/wallet/wrapName.js.map +1 -1
  228. package/dist/esm/index.js +1 -1
  229. package/dist/esm/index.js.map +1 -1
  230. package/dist/esm/subgraph.js +1 -0
  231. package/dist/esm/subgraph.js.map +1 -1
  232. package/dist/esm/utils/contentHash.js +56 -128
  233. package/dist/esm/utils/contentHash.js.map +1 -1
  234. package/dist/esm/utils/encoders/encodeAbi.js +30 -2
  235. package/dist/esm/utils/encoders/encodeAbi.js.map +1 -1
  236. package/dist/esm/utils/encoders/encodeClearRecords.js +8 -0
  237. package/dist/esm/utils/encoders/encodeClearRecords.js.map +1 -0
  238. package/dist/esm/utils/encoders/encodeSetAddr.js +5 -16
  239. package/dist/esm/utils/encoders/encodeSetAddr.js.map +1 -1
  240. package/dist/esm/utils/encoders/encodeSetContentHash.js +2 -5
  241. package/dist/esm/utils/encoders/encodeSetContentHash.js.map +1 -1
  242. package/dist/esm/utils/format.js +0 -2
  243. package/dist/esm/utils/format.js.map +1 -1
  244. package/dist/esm/utils/fuses.js +183 -201
  245. package/dist/esm/utils/fuses.js.map +1 -1
  246. package/dist/esm/utils/generateRecordCallArray.js +7 -10
  247. package/dist/esm/utils/generateRecordCallArray.js.map +1 -1
  248. package/dist/esm/utils/getRevertErrorData.js +4 -1
  249. package/dist/esm/utils/getRevertErrorData.js.map +1 -1
  250. package/dist/esm/utils/index.js +5 -3
  251. package/dist/esm/utils/index.js.map +1 -1
  252. package/dist/esm/utils/normaliseCoinId.js +30 -0
  253. package/dist/esm/utils/normaliseCoinId.js.map +1 -0
  254. package/dist/esm/utils/registerHelpers.js +4 -2
  255. package/dist/esm/utils/registerHelpers.js.map +1 -1
  256. package/dist/esm/wallet.js +1 -0
  257. package/dist/esm/wallet.js.map +1 -1
  258. package/dist/types/clients/decorators/public.d.ts +1 -519
  259. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  260. package/dist/types/clients/decorators/subgraph.d.ts +2 -520
  261. package/dist/types/clients/decorators/subgraph.d.ts.map +1 -1
  262. package/dist/types/clients/decorators/wallet.d.ts +66 -47
  263. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  264. package/dist/types/clients/public.d.ts +24 -265
  265. package/dist/types/clients/public.d.ts.map +1 -1
  266. package/dist/types/clients/subgraph.d.ts +19 -260
  267. package/dist/types/clients/subgraph.d.ts.map +1 -1
  268. package/dist/types/clients/wallet.d.ts +60 -92
  269. package/dist/types/clients/wallet.d.ts.map +1 -1
  270. package/dist/types/contracts/consts.d.ts +52 -3
  271. package/dist/types/contracts/consts.d.ts.map +1 -1
  272. package/dist/types/contracts/universalResolver.d.ts +133 -1
  273. package/dist/types/contracts/universalResolver.d.ts.map +1 -1
  274. package/dist/types/dns.d.ts +2 -2
  275. package/dist/types/dns.d.ts.map +1 -1
  276. package/dist/types/errors/subgraph.d.ts +4 -4
  277. package/dist/types/errors/subgraph.d.ts.map +1 -1
  278. package/dist/types/errors/utils.d.ts +16 -13
  279. package/dist/types/errors/utils.d.ts.map +1 -1
  280. package/dist/types/errors/version.d.ts +1 -1
  281. package/dist/types/errors/version.d.ts.map +1 -1
  282. package/dist/types/functions/dns/getDnsImportData.d.ts +39 -0
  283. package/dist/types/functions/dns/{prepareDnsImport.d.ts.map → getDnsImportData.d.ts.map} +1 -1
  284. package/dist/types/functions/dns/getDnsOwner.d.ts +1 -1
  285. package/dist/types/functions/dns/importDnsName.d.ts +88 -102
  286. package/dist/types/functions/dns/importDnsName.d.ts.map +1 -1
  287. package/dist/types/functions/public/_getAddr.d.ts.map +1 -1
  288. package/dist/types/functions/public/batch.d.ts +2 -1
  289. package/dist/types/functions/public/batch.d.ts.map +1 -1
  290. package/dist/types/functions/public/getAbiRecord.d.ts +2 -1
  291. package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -1
  292. package/dist/types/functions/public/getAddressRecord.d.ts +2 -1
  293. package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -1
  294. package/dist/types/functions/public/getAvailable.d.ts +2 -1
  295. package/dist/types/functions/public/getAvailable.d.ts.map +1 -1
  296. package/dist/types/functions/public/getContentHashRecord.d.ts +2 -1
  297. package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -1
  298. package/dist/types/functions/public/getExpiry.d.ts +2 -1
  299. package/dist/types/functions/public/getExpiry.d.ts.map +1 -1
  300. package/dist/types/functions/public/getName.d.ts +2 -1
  301. package/dist/types/functions/public/getName.d.ts.map +1 -1
  302. package/dist/types/functions/public/getOwner.d.ts +19 -9
  303. package/dist/types/functions/public/getOwner.d.ts.map +1 -1
  304. package/dist/types/functions/public/getPrice.d.ts +3 -2
  305. package/dist/types/functions/public/getPrice.d.ts.map +1 -1
  306. package/dist/types/functions/public/getRecords.d.ts +3 -2
  307. package/dist/types/functions/public/getRecords.d.ts.map +1 -1
  308. package/dist/types/functions/public/getResolver.d.ts +2 -1
  309. package/dist/types/functions/public/getResolver.d.ts.map +1 -1
  310. package/dist/types/functions/public/getSupportedInterfaces.d.ts +41 -4
  311. package/dist/types/functions/public/getSupportedInterfaces.d.ts.map +1 -1
  312. package/dist/types/functions/public/getTextRecord.d.ts +2 -1
  313. package/dist/types/functions/public/getTextRecord.d.ts.map +1 -1
  314. package/dist/types/functions/public/getWrapperData.d.ts +4 -3
  315. package/dist/types/functions/public/getWrapperData.d.ts.map +1 -1
  316. package/dist/types/functions/public/getWrapperName.d.ts +2 -1
  317. package/dist/types/functions/public/getWrapperName.d.ts.map +1 -1
  318. package/dist/types/functions/subgraph/client.d.ts +2 -2
  319. package/dist/types/functions/subgraph/client.d.ts.map +1 -1
  320. package/dist/types/functions/subgraph/filters.d.ts +693 -0
  321. package/dist/types/functions/subgraph/filters.d.ts.map +1 -0
  322. package/dist/types/functions/subgraph/getDecodedName.d.ts +2 -1
  323. package/dist/types/functions/subgraph/getDecodedName.d.ts.map +1 -1
  324. package/dist/types/functions/subgraph/getNameHistory.d.ts +2 -1
  325. package/dist/types/functions/subgraph/getNameHistory.d.ts.map +1 -1
  326. package/dist/types/functions/subgraph/getNamesForAddress.d.ts +7 -2
  327. package/dist/types/functions/subgraph/getNamesForAddress.d.ts.map +1 -1
  328. package/dist/types/functions/subgraph/getSubgraphRecords.d.ts +2 -1
  329. package/dist/types/functions/subgraph/getSubgraphRecords.d.ts.map +1 -1
  330. package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts +2 -1
  331. package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts.map +1 -1
  332. package/dist/types/functions/subgraph/getSubnames.d.ts +5 -2
  333. package/dist/types/functions/subgraph/getSubnames.d.ts.map +1 -1
  334. package/dist/types/functions/subgraph/types.d.ts +13 -0
  335. package/dist/types/functions/subgraph/types.d.ts.map +1 -0
  336. package/dist/types/functions/subgraph/utils.d.ts +2 -2
  337. package/dist/types/functions/subgraph/utils.d.ts.map +1 -1
  338. package/dist/types/functions/wallet/clearRecords.d.ts +555 -0
  339. package/dist/types/functions/wallet/clearRecords.d.ts.map +1 -0
  340. package/dist/types/functions/wallet/commitName.d.ts +80 -93
  341. package/dist/types/functions/wallet/commitName.d.ts.map +1 -1
  342. package/dist/types/functions/wallet/createSubname.d.ts +82 -96
  343. package/dist/types/functions/wallet/createSubname.d.ts.map +1 -1
  344. package/dist/types/functions/wallet/deleteSubname.d.ts +79 -93
  345. package/dist/types/functions/wallet/deleteSubname.d.ts.map +1 -1
  346. package/dist/types/functions/wallet/registerName.d.ts +80 -89
  347. package/dist/types/functions/wallet/registerName.d.ts.map +1 -1
  348. package/dist/types/functions/wallet/renewNames.d.ts +79 -89
  349. package/dist/types/functions/wallet/renewNames.d.ts.map +1 -1
  350. package/dist/types/functions/wallet/setAbiRecord.d.ts +80 -93
  351. package/dist/types/functions/wallet/setAbiRecord.d.ts.map +1 -1
  352. package/dist/types/functions/wallet/setAddressRecord.d.ts +79 -93
  353. package/dist/types/functions/wallet/setAddressRecord.d.ts.map +1 -1
  354. package/dist/types/functions/wallet/setChildFuses.d.ts +81 -95
  355. package/dist/types/functions/wallet/setChildFuses.d.ts.map +1 -1
  356. package/dist/types/functions/wallet/setContentHashRecord.d.ts +79 -93
  357. package/dist/types/functions/wallet/setContentHashRecord.d.ts.map +1 -1
  358. package/dist/types/functions/wallet/setFuses.d.ts +81 -95
  359. package/dist/types/functions/wallet/setFuses.d.ts.map +1 -1
  360. package/dist/types/functions/wallet/setPrimaryName.d.ts +79 -93
  361. package/dist/types/functions/wallet/setPrimaryName.d.ts.map +1 -1
  362. package/dist/types/functions/wallet/setRecords.d.ts +79 -93
  363. package/dist/types/functions/wallet/setRecords.d.ts.map +1 -1
  364. package/dist/types/functions/wallet/setResolver.d.ts +79 -93
  365. package/dist/types/functions/wallet/setResolver.d.ts.map +1 -1
  366. package/dist/types/functions/wallet/setTextRecord.d.ts +79 -93
  367. package/dist/types/functions/wallet/setTextRecord.d.ts.map +1 -1
  368. package/dist/types/functions/wallet/transferName.d.ts +80 -94
  369. package/dist/types/functions/wallet/transferName.d.ts.map +1 -1
  370. package/dist/types/functions/wallet/unwrapName.d.ts +79 -93
  371. package/dist/types/functions/wallet/unwrapName.d.ts.map +1 -1
  372. package/dist/types/functions/wallet/wrapName.d.ts +81 -95
  373. package/dist/types/functions/wallet/wrapName.d.ts.map +1 -1
  374. package/dist/types/index.d.ts +1 -1
  375. package/dist/types/index.d.ts.map +1 -1
  376. package/dist/types/subgraph.d.ts +1 -0
  377. package/dist/types/subgraph.d.ts.map +1 -1
  378. package/dist/types/types.d.ts +3 -1
  379. package/dist/types/types.d.ts.map +1 -1
  380. package/dist/types/utils/contentHash.d.ts +10 -11
  381. package/dist/types/utils/contentHash.d.ts.map +1 -1
  382. package/dist/types/utils/encoders/encodeAbi.d.ts +8 -5
  383. package/dist/types/utils/encoders/encodeAbi.d.ts.map +1 -1
  384. package/dist/types/utils/encoders/encodeClearRecords.d.ts +3 -0
  385. package/dist/types/utils/encoders/encodeClearRecords.d.ts.map +1 -0
  386. package/dist/types/utils/encoders/encodeSetAddr.d.ts.map +1 -1
  387. package/dist/types/utils/encoders/encodeSetContentHash.d.ts.map +1 -1
  388. package/dist/types/utils/format.d.ts +0 -2
  389. package/dist/types/utils/format.d.ts.map +1 -1
  390. package/dist/types/utils/fuses.d.ts +164 -125
  391. package/dist/types/utils/fuses.d.ts.map +1 -1
  392. package/dist/types/utils/generateRecordCallArray.d.ts +5 -5
  393. package/dist/types/utils/generateRecordCallArray.d.ts.map +1 -1
  394. package/dist/types/utils/getRevertErrorData.d.ts.map +1 -1
  395. package/dist/types/utils/index.d.ts +5 -3
  396. package/dist/types/utils/index.d.ts.map +1 -1
  397. package/dist/types/utils/normaliseCoinId.d.ts +10 -0
  398. package/dist/types/utils/normaliseCoinId.d.ts.map +1 -0
  399. package/dist/types/utils/registerHelpers.d.ts +2 -2
  400. package/dist/types/utils/registerHelpers.d.ts.map +1 -1
  401. package/dist/types/wallet.d.ts +18 -17
  402. package/dist/types/wallet.d.ts.map +1 -1
  403. package/package.json +9 -9
  404. package/src/clients/decorators/subgraph.ts +1 -0
  405. package/src/clients/decorators/wallet.ts +41 -3
  406. package/src/clients/public.ts +3 -2
  407. package/src/clients/subgraph.ts +3 -2
  408. package/src/clients/wallet.ts +1 -1
  409. package/src/contracts/consts.ts +58 -13
  410. package/src/contracts/universalResolver.ts +46 -1
  411. package/src/dns.ts +7 -5
  412. package/src/errors/subgraph.ts +4 -4
  413. package/src/errors/utils.ts +29 -18
  414. package/src/errors/version.ts +1 -1
  415. package/src/functions/dns/{prepareDnsImport.ts → getDnsImportData.ts} +13 -13
  416. package/src/functions/dns/getDnsOwner.ts +1 -1
  417. package/src/functions/dns/importDnsName.ts +21 -15
  418. package/src/functions/public/_getAbi.ts +2 -2
  419. package/src/functions/public/_getAddr.ts +16 -23
  420. package/src/functions/public/_getContentHash.ts +2 -2
  421. package/src/functions/public/batch.ts +2 -1
  422. package/src/functions/public/getAbiRecord.ts +2 -1
  423. package/src/functions/public/getAddressRecord.ts +2 -1
  424. package/src/functions/public/getAvailable.ts +2 -1
  425. package/src/functions/public/getContentHashRecord.ts +2 -1
  426. package/src/functions/public/getExpiry.ts +2 -1
  427. package/src/functions/public/getName.ts +3 -2
  428. package/src/functions/public/getOwner.ts +54 -33
  429. package/src/functions/public/getPrice.ts +3 -2
  430. package/src/functions/public/getRecords.ts +130 -114
  431. package/src/functions/public/getResolver.ts +3 -2
  432. package/src/functions/public/getSupportedInterfaces.ts +70 -10
  433. package/src/functions/public/getTextRecord.ts +2 -1
  434. package/src/functions/public/getWrapperData.ts +5 -4
  435. package/src/functions/public/getWrapperName.ts +3 -2
  436. package/src/functions/public/multicallWrapper.ts +1 -1
  437. package/src/functions/public/universalWrapper.ts +1 -1
  438. package/src/functions/subgraph/client.ts +2 -2
  439. package/src/functions/subgraph/filters.ts +702 -0
  440. package/src/functions/subgraph/getDecodedName.ts +2 -1
  441. package/src/functions/subgraph/getNameHistory.ts +8 -6
  442. package/src/functions/subgraph/getNamesForAddress.ts +199 -195
  443. package/src/functions/subgraph/getSubgraphRecords.ts +65 -33
  444. package/src/functions/subgraph/getSubgraphRegistrant.ts +2 -1
  445. package/src/functions/subgraph/getSubnames.ts +123 -114
  446. package/src/functions/subgraph/types.ts +13 -0
  447. package/src/functions/subgraph/utils.ts +2 -2
  448. package/src/functions/wallet/clearRecords.ts +97 -0
  449. package/src/functions/wallet/commitName.ts +3 -1
  450. package/src/functions/wallet/createSubname.ts +6 -5
  451. package/src/functions/wallet/deleteSubname.ts +2 -1
  452. package/src/functions/wallet/registerName.ts +4 -1
  453. package/src/functions/wallet/renewNames.ts +3 -1
  454. package/src/functions/wallet/setAbiRecord.ts +3 -1
  455. package/src/functions/wallet/setAddressRecord.ts +2 -1
  456. package/src/functions/wallet/setChildFuses.ts +5 -4
  457. package/src/functions/wallet/setContentHashRecord.ts +2 -1
  458. package/src/functions/wallet/setFuses.ts +8 -4
  459. package/src/functions/wallet/setPrimaryName.ts +2 -1
  460. package/src/functions/wallet/setRecords.ts +2 -1
  461. package/src/functions/wallet/setResolver.ts +2 -1
  462. package/src/functions/wallet/setTextRecord.ts +2 -1
  463. package/src/functions/wallet/transferName.ts +3 -2
  464. package/src/functions/wallet/unwrapName.ts +2 -1
  465. package/src/functions/wallet/wrapName.ts +10 -4
  466. package/src/index.ts +0 -1
  467. package/src/subgraph.ts +5 -0
  468. package/src/types.ts +6 -3
  469. package/src/utils/contentHash.ts +65 -113
  470. package/src/utils/encoders/encodeAbi.ts +37 -8
  471. package/src/utils/encoders/encodeClearRecords.ts +9 -0
  472. package/src/utils/encoders/encodeSetAddr.ts +5 -16
  473. package/src/utils/encoders/encodeSetContentHash.ts +2 -4
  474. package/src/utils/format.ts +0 -6
  475. package/src/utils/fuses.ts +312 -308
  476. package/src/utils/generateRecordCallArray.ts +10 -14
  477. package/src/utils/getRevertErrorData.ts +3 -1
  478. package/src/utils/index.ts +37 -5
  479. package/src/utils/normaliseCoinId.ts +36 -0
  480. package/src/utils/registerHelpers.ts +5 -3
  481. package/src/wallet.ts +41 -0
  482. package/dist/types/functions/dns/prepareDnsImport.d.ts +0 -39
  483. package/src/@types/@ensdomains/content-hash.d.ts +0 -1
  484. package/src/functions/dns/getDnsOwner.test.ts +0 -195
  485. package/src/functions/dns/importDnsName.test.ts +0 -117
  486. package/src/functions/dns/prepareDnsImport.test.ts +0 -115
  487. package/src/functions/public/batch.test.ts +0 -67
  488. package/src/functions/public/ccip.test.ts +0 -78
  489. package/src/functions/public/getAbiRecord.test.ts +0 -174
  490. package/src/functions/public/getAddressRecord.test.ts +0 -83
  491. package/src/functions/public/getAvailable.test.ts +0 -17
  492. package/src/functions/public/getContentHashRecord.test.ts +0 -28
  493. package/src/functions/public/getExpiry.test.ts +0 -48
  494. package/src/functions/public/getName.test.ts +0 -66
  495. package/src/functions/public/getOwner.test.ts +0 -87
  496. package/src/functions/public/getPrice.test.ts +0 -45
  497. package/src/functions/public/getRecords.test.ts +0 -49
  498. package/src/functions/public/getResolver.test.ts +0 -12
  499. package/src/functions/public/getTextRecord.test.ts +0 -20
  500. package/src/functions/public/getWrapperData.test.ts +0 -79
  501. package/src/functions/public/getWrapperName.test.ts +0 -19
  502. package/src/functions/subgraph/client.test.ts +0 -170
  503. package/src/functions/subgraph/getDecodedName.test.ts +0 -31
  504. package/src/functions/subgraph/getNameHistory.test.ts +0 -39
  505. package/src/functions/subgraph/getNamesForAddress.test.ts +0 -244
  506. package/src/functions/subgraph/getSubgraphRecords.test.ts +0 -74
  507. package/src/functions/subgraph/getSubgraphRegistrant.test.ts +0 -34
  508. package/src/functions/subgraph/getSubnames.test.ts +0 -202
  509. package/src/functions/wallet/commitName.test.ts +0 -58
  510. package/src/functions/wallet/createSubname.test.ts +0 -73
  511. package/src/functions/wallet/deleteSubname.test.ts +0 -150
  512. package/src/functions/wallet/registerName.test.ts +0 -81
  513. package/src/functions/wallet/renewNames.test.ts +0 -92
  514. package/src/functions/wallet/setAbiRecord.test.ts +0 -156
  515. package/src/functions/wallet/setAddressRecord.test.ts +0 -121
  516. package/src/functions/wallet/setChildFuses.test.ts +0 -97
  517. package/src/functions/wallet/setContentHashRecord.test.ts +0 -69
  518. package/src/functions/wallet/setFuses.test.ts +0 -287
  519. package/src/functions/wallet/setPrimaryName.test.ts +0 -71
  520. package/src/functions/wallet/setRecords.test.ts +0 -127
  521. package/src/functions/wallet/setResolver.test.ts +0 -114
  522. package/src/functions/wallet/setTextRecord.test.ts +0 -67
  523. package/src/functions/wallet/transferName.test.ts +0 -201
  524. package/src/functions/wallet/unwrapName.test.ts +0 -93
  525. package/src/functions/wallet/wrapName.test.ts +0 -195
  526. package/src/utils/generateRecordCallArray.test.ts +0 -84
  527. package/src/utils/labels.test.ts +0 -163
  528. package/src/utils/makeLabelNodeAndParent.test.ts +0 -11
  529. package/src/utils/makeSafeSecondsDate.test.ts +0 -14
  530. package/src/utils/normalise.test.ts +0 -35
  531. package/src/utils/ownerFromContract.test.ts +0 -52
  532. package/src/utils/registerHelpers.test.ts +0 -159
  533. package/src/utils/validation.test.ts +0 -170
  534. package/src/utils/wrapper.test.ts +0 -46
@@ -1,5 +1,9 @@
1
1
  import type { Account, Transport, WalletClient } from 'viem'
2
2
  import type { ChainWithEns } from '../../contracts/consts.js'
3
+ import clearRecords, {
4
+ type ClearRecordsParameters,
5
+ type ClearRecordsReturnType,
6
+ } from '../../functions/wallet/clearRecords.js'
3
7
  import commitName, {
4
8
  type CommitNameParameters,
5
9
  type CommitNameReturnType,
@@ -73,6 +77,35 @@ export type EnsWalletActions<
73
77
  TChain extends ChainWithEns,
74
78
  TAccount extends Account | undefined,
75
79
  > = {
80
+ /**
81
+ * Clears the records for a name on a resolver.
82
+ * @param parameters - {@link ClearRecordsParameters}
83
+ * @returns Transaction hash. {@link ClearRecordsReturnType}
84
+ *
85
+ * @example
86
+ * import { createWalletClient, custom } from 'viem'
87
+ * import { mainnet } from 'viem/chains'
88
+ * import { addEnsContracts, ensWalletActions } from '@ensdomains/ensjs'
89
+ *
90
+ * const wallet = createWalletClient({
91
+ * chain: addEnsContracts(mainnet),
92
+ * transport: custom(window.ethereum),
93
+ * }).extend(ensWalletActions)
94
+ * const hash = await wallet.clearRecords({
95
+ * name: 'ens.eth',
96
+ * resolverAddress: '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
97
+ * })
98
+ * // 0x...
99
+ */
100
+ clearRecords: ({
101
+ name,
102
+ resolverAddress,
103
+ ...txArgs
104
+ }: ClearRecordsParameters<
105
+ TChain,
106
+ TAccount,
107
+ TChain
108
+ >) => Promise<ClearRecordsReturnType>
76
109
  /**
77
110
  * Commits a name to be registered
78
111
  * @param parameters - {@link CommitNameParameters}
@@ -81,7 +114,8 @@ export type EnsWalletActions<
81
114
  * @example
82
115
  * import { createWalletClient, custom } from 'viem'
83
116
  * import { mainnet } from 'viem/chains'
84
- * import { addEnsContracts, ensWalletActions, randomSecret } from '@ensdomains/ensjs'
117
+ * import { addEnsContracts, ensWalletActions } from '@ensdomains/ensjs'
118
+ * import { randomSecret } from '@ensdomains/ensjs/utils'
85
119
  *
86
120
  * const wallet = createWalletClient({
87
121
  * chain: addEnsContracts(mainnet),
@@ -183,7 +217,8 @@ export type EnsWalletActions<
183
217
  * @example
184
218
  * import { createPublicClient, createWalletClient, http, custom } from 'viem'
185
219
  * import { mainnet } from 'viem/chains'
186
- * import { addEnsContracts, ensPublicActions, ensWalletActions, randomSecret } from '@ensdomains/ensjs'
220
+ * import { addEnsContracts, ensPublicActions, ensWalletActions } from '@ensdomains/ensjs'
221
+ * import { randomSecret } from '@ensdomains/ensjs/utils'
187
222
  *
188
223
  * const mainnetWithEns = addEnsContracts(mainnet)
189
224
  * const client = createPublicClient({
@@ -279,7 +314,8 @@ export type EnsWalletActions<
279
314
  * import abi from './abi.json'
280
315
  * import { createWalletClient, custom } from 'viem'
281
316
  * import { mainnet } from 'viem/chains'
282
- * import { addEnsContracts, ensWalletActions, encodeAbi } from '@ensdomains/ensjs'
317
+ * import { addEnsContracts, ensWalletActions } from '@ensdomains/ensjs'
318
+ * import { encodeAbi } from '@ensdomains/ensjs/utils'
283
319
  *
284
320
  * const wallet = createWalletClient({
285
321
  * chain: addEnsContracts(mainnet),
@@ -492,6 +528,7 @@ export type EnsWalletActions<
492
528
  setRecords: ({
493
529
  name,
494
530
  resolverAddress,
531
+ // eslint-disable-next-line @typescript-eslint/no-shadow
495
532
  clearRecords,
496
533
  contentHash,
497
534
  texts,
@@ -687,6 +724,7 @@ export const ensWalletActions = <
687
724
  >(
688
725
  client: WalletClient<TTransport, TChain, TAccount>,
689
726
  ): EnsWalletActions<TChain, TAccount> => ({
727
+ clearRecords: (parameters) => clearRecords(client, parameters),
690
728
  commitName: (parameters) => commitName(client, parameters),
691
729
  createSubname: (parameters) => createSubname(client, parameters),
692
730
  deleteSubname: (parameters) => deleteSubname(client, parameters),
@@ -3,6 +3,7 @@ import {
3
3
  type Chain,
4
4
  type Client,
5
5
  type ClientConfig,
6
+ type PublicRpcSchema,
6
7
  type Transport,
7
8
  } from 'viem'
8
9
  import { addEnsContracts } from '../contracts/addEnsContracts.js'
@@ -21,7 +22,7 @@ export type EnsPublicClientConfig<
21
22
  ClientConfig<TTransport, TChain>,
22
23
  'batch' | 'key' | 'name' | 'pollingInterval' | 'transport'
23
24
  > & {
24
- chain: Exclude<ClientConfig<TTransport, TChain>['chain'], undefined>
25
+ chain: TChain
25
26
  }
26
27
 
27
28
  export type EnsPublicClient<
@@ -32,7 +33,7 @@ export type EnsPublicClient<
32
33
  TTransport,
33
34
  TChain,
34
35
  undefined,
35
- undefined,
36
+ PublicRpcSchema,
36
37
  EnsPublicActions & EnsSubgraphActions
37
38
  >
38
39
  >
@@ -3,6 +3,7 @@ import {
3
3
  type Chain,
4
4
  type Client,
5
5
  type ClientConfig,
6
+ type PublicRpcSchema,
6
7
  type Transport,
7
8
  } from 'viem'
8
9
  import { addEnsContracts } from '../contracts/addEnsContracts.js'
@@ -20,14 +21,14 @@ export type EnsSubgraphClientConfig<
20
21
  ClientConfig<TTransport, TChain>,
21
22
  'batch' | 'key' | 'name' | 'pollingInterval' | 'transport'
22
23
  > & {
23
- chain: Exclude<ClientConfig<TTransport, TChain>['chain'], undefined>
24
+ chain: TChain
24
25
  }
25
26
 
26
27
  export type EnsSubgraphClient<
27
28
  TTransport extends Transport = Transport,
28
29
  TChain extends ChainWithEns = ChainWithEns,
29
30
  > = Prettify<
30
- Client<TTransport, TChain, undefined, undefined, EnsSubgraphActions>
31
+ Client<TTransport, TChain, undefined, PublicRpcSchema, EnsSubgraphActions>
31
32
  >
32
33
 
33
34
  /**
@@ -26,7 +26,7 @@ export type EnsWalletClientConfig<
26
26
  ClientConfig<TTransport, TChain, TAccountOrAddress>,
27
27
  'account' | 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'
28
28
  > & {
29
- chain: Exclude<ClientConfig<TTransport, TChain>['chain'], undefined>
29
+ chain: TChain
30
30
  }
31
31
 
32
32
  export type EnsWalletClient<
@@ -12,7 +12,7 @@ type ChainContract = {
12
12
  blockCreated?: number
13
13
  }
14
14
 
15
- export const supportedChains = ['homestead', 'goerli'] as const
15
+ export const supportedChains = ['homestead', 'goerli', 'sepolia'] as const
16
16
  export const supportedContracts = [
17
17
  'ensBaseRegistrarImplementation',
18
18
  'ensDnsRegistrar',
@@ -22,6 +22,8 @@ export const supportedContracts = [
22
22
  'ensReverseRegistrar',
23
23
  'ensBulkRenewal',
24
24
  'ensDnssecImpl',
25
+ 'ensUniversalResolver',
26
+ 'ensRegistry',
25
27
  ] as const
26
28
 
27
29
  export type SupportedChain = (typeof supportedChains)[number]
@@ -29,6 +31,9 @@ export type SupportedContract = (typeof supportedContracts)[number]
29
31
 
30
32
  export const addresses = {
31
33
  homestead: {
34
+ ensRegistry: {
35
+ address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
36
+ },
32
37
  ensBaseRegistrarImplementation: {
33
38
  address: '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
34
39
  },
@@ -53,8 +58,14 @@ export const addresses = {
53
58
  ensDnssecImpl: {
54
59
  address: '0x21745FF62108968fBf5aB1E07961CC0FCBeB2364',
55
60
  },
61
+ ensUniversalResolver: {
62
+ address: '0x20814C8e689187DfF7C93A9239ea22385d13b9F1',
63
+ },
56
64
  },
57
65
  goerli: {
66
+ ensRegistry: {
67
+ address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
68
+ },
58
69
  ensBaseRegistrarImplementation: {
59
70
  address: '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
60
71
  },
@@ -68,7 +79,7 @@ export const addresses = {
68
79
  address: '0x114D4603199df73e7D157787f8778E21fCd13066',
69
80
  },
70
81
  ensPublicResolver: {
71
- address: '0xd7a4F6473f32aC2Af804B3686AE8F19E48B8fF5f',
82
+ address: '0xd7a4F6473f32aC2Af804B3686AE8F1932bC35750',
72
83
  },
73
84
  ensReverseRegistrar: {
74
85
  address: '0x6d9F26FfBcF1c6f0bAe9F2C1f7fBe8eE6B1d8d4d',
@@ -79,14 +90,46 @@ export const addresses = {
79
90
  ensDnssecImpl: {
80
91
  address: '0xF427c4AdED8B6dfde604865c1a7E953B160C26f0',
81
92
  },
93
+ ensUniversalResolver: {
94
+ address: '0xaac727b9451268d7779F699dbaF6c2eAE571C369',
95
+ },
82
96
  },
83
- } as const
84
-
85
- // add when this is resolved: https://github.com/kulshekhar/ts-jest/issues/4100
86
- // } as const satisfies Record<
87
- // SupportedChain,
88
- // Record<SupportedContract, { address: Address }>
89
- // >
97
+ sepolia: {
98
+ ensRegistry: {
99
+ address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
100
+ },
101
+ ensBaseRegistrarImplementation: {
102
+ address: '0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85',
103
+ },
104
+ ensDnsRegistrar: {
105
+ address: '0x537625B0D7901FD20C57850d61580Bf1624Ef146',
106
+ },
107
+ ensEthRegistrarController: {
108
+ address: '0xFED6a969AaA60E4961FCD3EBF1A2e8913ac65B72',
109
+ },
110
+ ensNameWrapper: {
111
+ address: '0x0635513f179D50A207757E05759CbD106d7dFcE8',
112
+ },
113
+ ensPublicResolver: {
114
+ address: '0x8FADE66B79cC9f707aB26799354482EB93a5B7dD',
115
+ },
116
+ ensReverseRegistrar: {
117
+ address: '0xA0a1AbcDAe1a2a4A2EF8e9113Ff0e02DD81DC0C6',
118
+ },
119
+ ensBulkRenewal: {
120
+ address: '0x4EF77b90762Eddb33C8Eba5B5a19558DaE53D7a1',
121
+ },
122
+ ensDnssecImpl: {
123
+ address: '0x7b3ada1c8f012bae747cf99d6cbbf70d040b84cf',
124
+ },
125
+ ensUniversalResolver: {
126
+ address: '0x64da0719987c29e0CEC0113D605996c6a4D4aB0c',
127
+ },
128
+ },
129
+ } as const satisfies Record<
130
+ SupportedChain,
131
+ Record<SupportedContract, { address: Address }>
132
+ >
90
133
 
91
134
  type Subgraphs = {
92
135
  ens: {
@@ -105,10 +148,12 @@ export const subgraphs = {
105
148
  url: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
106
149
  },
107
150
  },
108
- } as const
109
-
110
- // add when this is resolved: https://github.com/kulshekhar/ts-jest/issues/4100
111
- // } as const satisfies Record<SupportedChain, Subgraphs>
151
+ sepolia: {
152
+ ens: {
153
+ url: 'https://api.studio.thegraph.com/query/49574/enssepolia/version/latest',
154
+ },
155
+ },
156
+ } as const satisfies Record<SupportedChain, Subgraphs>
112
157
 
113
158
  type EnsChainContracts = {
114
159
  ensBaseRegistrarImplementation: ChainContract
@@ -9,6 +9,41 @@ export const universalResolverErrors = [
9
9
  name: 'ResolverWildcardNotSupported',
10
10
  type: 'error',
11
11
  },
12
+ {
13
+ inputs: [],
14
+ name: 'ResolverNotContract',
15
+ type: 'error',
16
+ },
17
+ {
18
+ inputs: [
19
+ {
20
+ name: 'returnData',
21
+ type: 'bytes',
22
+ },
23
+ ],
24
+ name: 'ResolverError',
25
+ type: 'error',
26
+ },
27
+ {
28
+ inputs: [
29
+ {
30
+ components: [
31
+ {
32
+ name: 'status',
33
+ type: 'uint16',
34
+ },
35
+ {
36
+ name: 'message',
37
+ type: 'string',
38
+ },
39
+ ],
40
+ name: 'errors',
41
+ type: 'tuple[]',
42
+ },
43
+ ],
44
+ name: 'HttpError',
45
+ type: 'error',
46
+ },
12
47
  ] as const
13
48
 
14
49
  export const universalResolverReverseSnippet = [
@@ -77,8 +112,18 @@ export const universalResolverResolveArraySnippet = [
77
112
  name: 'resolve',
78
113
  outputs: [
79
114
  {
115
+ components: [
116
+ {
117
+ name: 'success',
118
+ type: 'bool',
119
+ },
120
+ {
121
+ name: 'returnData',
122
+ type: 'bytes',
123
+ },
124
+ ],
80
125
  name: '',
81
- type: 'bytes[]',
126
+ type: 'tuple[]',
82
127
  },
83
128
  {
84
129
  name: '',
package/src/dns.ts CHANGED
@@ -1,3 +1,8 @@
1
+ export {
2
+ default as getDnsImportData,
3
+ type GetDnsImportDataParameters,
4
+ type GetDnsImportDataReturnType,
5
+ } from './functions/dns/getDnsImportData.js'
1
6
  export {
2
7
  default as getDnsOwner,
3
8
  type GetDnsOwnerParameters,
@@ -5,12 +10,9 @@ export {
5
10
  } from './functions/dns/getDnsOwner.js'
6
11
  export {
7
12
  default as importDnsName,
13
+ type ImportDnsNameDataParameters,
14
+ type ImportDnsNameDataReturnType,
8
15
  type ImportDnsNameParameters,
9
16
  type ImportDnsNameReturnType,
10
17
  } from './functions/dns/importDnsName.js'
11
- export {
12
- default as prepareDnsImport,
13
- type PrepareDnsImportParameters,
14
- type PrepareDnsImportReturnType,
15
- } from './functions/dns/prepareDnsImport.js'
16
18
  export type { Endpoint } from './functions/dns/types.js'
@@ -3,7 +3,7 @@ import { BaseError } from './base.js'
3
3
  export class InvalidFilterKeyError extends BaseError {
4
4
  filterKey: string
5
5
 
6
- supportedFilterKeys: string[]
6
+ supportedFilterKeys: readonly string[]
7
7
 
8
8
  override name = 'InvalidFilterKeyError'
9
9
 
@@ -12,7 +12,7 @@ export class InvalidFilterKeyError extends BaseError {
12
12
  supportedFilterKeys,
13
13
  }: {
14
14
  filterKey: string
15
- supportedFilterKeys: string[]
15
+ supportedFilterKeys: readonly string[]
16
16
  }) {
17
17
  super(`Invalid filter key: ${filterKey}`, {
18
18
  metaMessages: [
@@ -25,7 +25,7 @@ export class InvalidFilterKeyError extends BaseError {
25
25
  }
26
26
 
27
27
  export class FilterKeyRequiredError extends BaseError {
28
- supportedFilterKeys: string[]
28
+ supportedFilterKeys: readonly string[]
29
29
 
30
30
  override name = 'FilterKeyRequiredError'
31
31
 
@@ -33,7 +33,7 @@ export class FilterKeyRequiredError extends BaseError {
33
33
  supportedFilterKeys,
34
34
  details,
35
35
  }: {
36
- supportedFilterKeys: string[]
36
+ supportedFilterKeys: readonly string[]
37
37
  details?: string
38
38
  }) {
39
39
  super('At least one filter key is required', {
@@ -5,13 +5,13 @@ export class FusesOutOfRangeError extends BaseError {
5
5
 
6
6
  constructor({
7
7
  fuses,
8
- minimum = 1,
9
- maximum = 2 ** 32,
8
+ minimum = 0n,
9
+ maximum = 2n ** 32n,
10
10
  details,
11
11
  }: {
12
- fuses: number
13
- minimum?: number
14
- maximum?: number
12
+ fuses: bigint
13
+ minimum?: bigint
14
+ maximum?: bigint
15
15
  details?: string
16
16
  }) {
17
17
  super('Fuse value out of range', {
@@ -24,21 +24,16 @@ export class FusesOutOfRangeError extends BaseError {
24
24
  }
25
25
  }
26
26
 
27
- export class FusesNonIntegerError extends BaseError {
28
- override name = 'FusesNonIntegerError'
29
-
30
- constructor({ fuses, details }: { fuses: number; details?: string }) {
31
- super('Fuse was not an integer, which is required', {
32
- metaMessages: [`- Fuse value: ${fuses}`],
33
- details,
34
- })
35
- }
36
- }
37
-
38
27
  export class FusesRestrictionNotAllowedError extends BaseError {
39
28
  override name = 'FusesRestrictionNotAllowed'
40
29
 
41
- constructor({ fuses, details }: { fuses: object; details?: string }) {
30
+ constructor({
31
+ fuses,
32
+ details,
33
+ }: {
34
+ fuses: object | bigint
35
+ details?: string
36
+ }) {
42
37
  super('Restriction not allowed', {
43
38
  metaMessages: [`- Fuse value: ${fuses}`],
44
39
  details,
@@ -76,7 +71,7 @@ export class FusesInvalidNamedFuseError extends BaseError {
76
71
  export class FusesFuseNotAllowedError extends BaseError {
77
72
  override name = 'FusesFuseNotAllowedError'
78
73
 
79
- constructor({ fuse }: { fuse: string | number }) {
74
+ constructor({ fuse }: { fuse: string | bigint }) {
80
75
  super(`${fuse} is not allowed for this operation`)
81
76
  }
82
77
  }
@@ -159,3 +154,19 @@ export class CampaignReferenceTooLargeError extends BaseError {
159
154
  })
160
155
  }
161
156
  }
157
+
158
+ export class InvalidContentHashError extends BaseError {
159
+ override name = 'InvalidContentHashError'
160
+
161
+ constructor() {
162
+ super('Invalid content hash')
163
+ }
164
+ }
165
+
166
+ export class UnknownContentTypeError extends BaseError {
167
+ override name = 'UnknownContentTypeError'
168
+
169
+ constructor({ contentType }: { contentType: string }) {
170
+ super(`Unknown content type: ${contentType}`)
171
+ }
172
+ }
@@ -1 +1 @@
1
- export const version = 'v3.0.0-beta.1'
1
+ export const version = 'v3.0.0-beta.11'
@@ -13,7 +13,7 @@ import { DnsNewerRecordTypeAvailableError } from '../../errors/dns.js'
13
13
  import { packetToBytes } from '../../utils/hexEncodedName.js'
14
14
  import type { Endpoint } from './types.js'
15
15
 
16
- export type PrepareDnsImportParameters = {
16
+ export type GetDnsImportDataParameters = {
17
17
  /** Name to prepare for DNS import */
18
18
  name: string
19
19
  /** An RFC-1035 compatible DNS endpoint to use (default: `https://cloudflare-dns.com/dns-query`) */
@@ -25,7 +25,7 @@ export type RrSetWithSig = {
25
25
  sig: Uint8Array
26
26
  }
27
27
 
28
- export type PrepareDnsImportReturnType = {
28
+ export type GetDnsImportDataReturnType = {
29
29
  rrsets: RrSetWithSig[]
30
30
  proof: Uint8Array
31
31
  }
@@ -43,32 +43,32 @@ const encodeProofs = (
43
43
  }))
44
44
 
45
45
  /**
46
- * Creates prepared data for `importDnsName()`
46
+ * Gets DNS import data, used for `importDnsName()`
47
47
  * @param client - {@link ClientWithEns}
48
- * @param parameters - {@link PrepareDnsImportParameters}
49
- * @returns Prepared data object
48
+ * @param parameters - {@link GetDnsImportDataParameters}
49
+ * @returns DNS import data object, used for proving the value of the `_ens` TXT record
50
50
  *
51
51
  * @example
52
52
  * import { createPublicClient, http } from 'viem'
53
53
  * import { mainnet } from 'viem/chains'
54
- * import { addContracts, prepareDnsImport } from '@ensdomains/ensjs'
54
+ * import { addEnsContracts } from '@ensdomains/ensjs'
55
+ * import { getDnsImportData } from '@ensdomains/ensjs/dns'
55
56
  *
56
- * const mainnetWithEns = addContracts([mainnet])
57
57
  * const client = createPublicClient({
58
- * chain: mainnetWithEns,
58
+ * chain: addEnsContracts(mainnet),
59
59
  * transport: http(),
60
60
  * })
61
- * const preparedData = await prepareDnsImport(client, {
61
+ * const data = await getDnsImportData(client, {
62
62
  * name: 'example.eth',
63
63
  * })
64
64
  */
65
- const prepareDnsImport = async (
65
+ const getDnsImportData = async (
66
66
  client: ClientWithEns,
67
67
  {
68
68
  name,
69
69
  endpoint = 'https://cloudflare-dns.com/dns-query',
70
- }: PrepareDnsImportParameters,
71
- ): Promise<PrepareDnsImportReturnType> => {
70
+ }: GetDnsImportDataParameters,
71
+ ): Promise<GetDnsImportDataReturnType> => {
72
72
  // eslint-disable-next-line @typescript-eslint/naming-convention
73
73
  const { DNSProver } = await import('@ensdomains/dnsprovejs')
74
74
  const prover = DNSProver.create(endpoint)
@@ -130,4 +130,4 @@ const prepareDnsImport = async (
130
130
  }
131
131
  }
132
132
 
133
- export default prepareDnsImport
133
+ export default getDnsImportData
@@ -82,7 +82,7 @@ type DnsResponse = {
82
82
  * @returns Address of DNS owner. {@link GetDnsOwnerReturnType}
83
83
  *
84
84
  * @example
85
- * import { getDnsOwner } from '@ensdomains/ensjs'
85
+ * import { getDnsOwner } from '@ensdomains/ensjs/dns'
86
86
  *
87
87
  * const owner = await getDnsOwner({ name: 'ens.domains' })
88
88
  * // '0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5'
@@ -21,13 +21,13 @@ import type {
21
21
  WriteTransactionParameters,
22
22
  } from '../../types.js'
23
23
  import { packetToBytes } from '../../utils/hexEncodedName.js'
24
- import type { PrepareDnsImportReturnType } from './prepareDnsImport.js'
24
+ import type { GetDnsImportDataReturnType } from './getDnsImportData.js'
25
25
 
26
26
  type BaseImportDnsNameDataParameters = {
27
27
  /** Name to import */
28
28
  name: string
29
- /** Data returned from `prepareDnsImport()` */
30
- preparedData: PrepareDnsImportReturnType
29
+ /** Data returned from `getDnsImportData()` */
30
+ dnsImportData: GetDnsImportDataReturnType
31
31
  /** Address to claim the name for */
32
32
  address?: Address
33
33
  /** Address of the resolver to use (default: `ensPublicResolver`) */
@@ -65,9 +65,14 @@ export const makeFunctionData = <
65
65
  TAccount extends Account | undefined,
66
66
  >(
67
67
  wallet: WalletWithEns<Transport, TChain, TAccount>,
68
- { name, preparedData, address, resolverAddress }: ImportDnsNameDataParameters,
68
+ {
69
+ name,
70
+ dnsImportData,
71
+ address,
72
+ resolverAddress,
73
+ }: ImportDnsNameDataParameters,
69
74
  ): ImportDnsNameDataReturnType => {
70
- const data = preparedData.rrsets.map((rrset) => ({
75
+ const data = dnsImportData.rrsets.map((rrset) => ({
71
76
  rrset: bytesToHex(rrset.rrset),
72
77
  sig: bytesToHex(rrset.sig),
73
78
  }))
@@ -81,7 +86,7 @@ export const makeFunctionData = <
81
86
  if (resolverAddress)
82
87
  throw new AdditionalParameterSpecifiedError({
83
88
  parameter: 'resolverAddress',
84
- allowedParameters: ['name', 'preparedData'],
89
+ allowedParameters: ['name', 'dnsImportData'],
85
90
  details:
86
91
  'resolverAddress cannot be specified when claiming without an address',
87
92
  })
@@ -90,7 +95,7 @@ export const makeFunctionData = <
90
95
  data: encodeFunctionData({
91
96
  abi: dnsRegistrarProveAndClaimSnippet,
92
97
  functionName: 'proveAndClaim',
93
- args: [hexEncodedName, data, bytesToHex(preparedData.proof)],
98
+ args: [hexEncodedName, data, bytesToHex(dnsImportData.proof)],
94
99
  }),
95
100
  }
96
101
  }
@@ -107,7 +112,7 @@ export const makeFunctionData = <
107
112
  args: [
108
113
  hexEncodedName,
109
114
  data,
110
- bytesToHex(preparedData.proof),
115
+ bytesToHex(dnsImportData.proof),
111
116
  resolverAddress_,
112
117
  address,
113
118
  ],
@@ -124,9 +129,10 @@ export const makeFunctionData = <
124
129
  * @example
125
130
  * import { createPublicClient, createWalletClient, http, custom } from 'viem'
126
131
  * import { mainnet } from 'viem/chains'
127
- * import { addContracts, prepareDnsImport, importDnsName } from '@ensdomains/ensjs'
132
+ * import { addEnsContracts } from '@ensdomains/ensjs'
133
+ * import { getDnsImportData, importDnsName } from '@ensdomains/ensjs/dns'
128
134
  *
129
- * const [mainnetWithEns] = addContracts([mainnet])
135
+ * const mainnetWithEns = addEnsContracts(mainnet)
130
136
  * const client = createPublicClient({
131
137
  * chain: mainnetWithEns,
132
138
  * transport: http(),
@@ -135,12 +141,12 @@ export const makeFunctionData = <
135
141
  * chain: mainnetWithEns,
136
142
  * transport: custom(window.ethereum),
137
143
  * })
138
- * const preparedData = await prepareDnsImport(client, {
144
+ * const dnsImportData = await getDnsImportData(client, {
139
145
  * name: 'example.com',
140
146
  * })
141
- * const hash = await importDnsName(client, {
147
+ * const hash = await importDnsName(wallet, {
142
148
  * name: 'example.com',
143
- * preparedData,
149
+ * dnsImportData,
144
150
  * })
145
151
  */
146
152
  async function importDnsName<
@@ -152,7 +158,7 @@ async function importDnsName<
152
158
  {
153
159
  name,
154
160
  address,
155
- preparedData,
161
+ dnsImportData,
156
162
  resolverAddress,
157
163
  ...txArgs
158
164
  }: ImportDnsNameParameters<TChain, TAccount, TChainOverride>,
@@ -160,7 +166,7 @@ async function importDnsName<
160
166
  const data = makeFunctionData(wallet, {
161
167
  name,
162
168
  address,
163
- preparedData,
169
+ dnsImportData,
164
170
  resolverAddress,
165
171
  } as ImportDnsNameDataParameters)
166
172
  const writeArgs = {
@@ -84,8 +84,8 @@ const decode = async (
84
84
  }
85
85
  // CBOR
86
86
  case 4: {
87
- const { decodeFirst } = await import('cbor')
88
- abiData = await decodeFirst(hexToBytes(encodedAbiData))
87
+ const { cborDecode } = await import('@ensdomains/address-encoder/utils')
88
+ abiData = await cborDecode(hexToBytes(encodedAbiData).buffer)
89
89
  decoded = true
90
90
  break
91
91
  }