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

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 (518) hide show
  1. package/dist/cjs/clients/decorators/subgraph.js.map +1 -1
  2. package/dist/cjs/clients/decorators/wallet.js +2 -0
  3. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  4. package/dist/cjs/clients/public.js.map +1 -1
  5. package/dist/cjs/clients/subgraph.js.map +1 -1
  6. package/dist/cjs/contracts/consts.js +53 -2
  7. package/dist/cjs/contracts/consts.js.map +1 -1
  8. package/dist/cjs/dns.js +3 -3
  9. package/dist/cjs/dns.js.map +1 -1
  10. package/dist/cjs/errors/subgraph.js.map +1 -1
  11. package/dist/cjs/errors/utils.js +27 -18
  12. package/dist/cjs/errors/utils.js.map +1 -1
  13. package/dist/cjs/errors/version.js +1 -1
  14. package/dist/cjs/errors/version.js.map +1 -1
  15. package/dist/cjs/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +3 -3
  16. package/dist/cjs/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
  17. package/dist/cjs/functions/dns/importDnsName.js +7 -7
  18. package/dist/cjs/functions/dns/importDnsName.js.map +1 -1
  19. package/dist/cjs/functions/public/_getAbi.js +2 -2
  20. package/dist/cjs/functions/public/_getAbi.js.map +1 -1
  21. package/dist/cjs/functions/public/_getAddr.js +9 -19
  22. package/dist/cjs/functions/public/_getAddr.js.map +1 -1
  23. package/dist/cjs/functions/public/_getContentHash.js +1 -1
  24. package/dist/cjs/functions/public/batch.js.map +1 -1
  25. package/dist/cjs/functions/public/getAbiRecord.js.map +1 -1
  26. package/dist/cjs/functions/public/getAddressRecord.js.map +1 -1
  27. package/dist/cjs/functions/public/getAvailable.js.map +1 -1
  28. package/dist/cjs/functions/public/getContentHashRecord.js.map +1 -1
  29. package/dist/cjs/functions/public/getExpiry.js.map +1 -1
  30. package/dist/cjs/functions/public/getName.js.map +1 -1
  31. package/dist/cjs/functions/public/getOwner.js.map +1 -1
  32. package/dist/cjs/functions/public/getPrice.js.map +1 -1
  33. package/dist/cjs/functions/public/getRecords.js +51 -37
  34. package/dist/cjs/functions/public/getRecords.js.map +1 -1
  35. package/dist/cjs/functions/public/getResolver.js.map +1 -1
  36. package/dist/cjs/functions/public/getSupportedInterfaces.js +1 -1
  37. package/dist/cjs/functions/public/getSupportedInterfaces.js.map +1 -1
  38. package/dist/cjs/functions/public/getTextRecord.js.map +1 -1
  39. package/dist/cjs/functions/public/getWrapperData.js.map +1 -1
  40. package/dist/cjs/functions/public/getWrapperName.js.map +1 -1
  41. package/dist/cjs/functions/public/multicallWrapper.js.map +1 -1
  42. package/dist/cjs/functions/public/universalWrapper.js.map +1 -1
  43. package/dist/cjs/functions/subgraph/client.js.map +1 -1
  44. package/dist/cjs/functions/subgraph/filters.js +3 -0
  45. package/dist/cjs/functions/subgraph/filters.js.map +1 -0
  46. package/dist/cjs/functions/subgraph/getDecodedName.js.map +1 -1
  47. package/dist/cjs/functions/subgraph/getNameHistory.js +4 -3
  48. package/dist/cjs/functions/subgraph/getNameHistory.js.map +1 -1
  49. package/dist/cjs/functions/subgraph/getNamesForAddress.js +155 -190
  50. package/dist/cjs/functions/subgraph/getNamesForAddress.js.map +1 -1
  51. package/dist/cjs/functions/subgraph/getSubgraphRecords.js +34 -26
  52. package/dist/cjs/functions/subgraph/getSubgraphRecords.js.map +1 -1
  53. package/dist/cjs/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
  54. package/dist/cjs/functions/subgraph/getSubnames.js +95 -108
  55. package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -1
  56. package/dist/cjs/functions/subgraph/types.js +3 -0
  57. package/dist/cjs/functions/subgraph/types.js.map +1 -0
  58. package/dist/cjs/functions/subgraph/utils.js.map +1 -1
  59. package/dist/cjs/functions/wallet/clearRecords.js +26 -0
  60. package/dist/cjs/functions/wallet/clearRecords.js.map +1 -0
  61. package/dist/cjs/functions/wallet/commitName.js.map +1 -1
  62. package/dist/cjs/functions/wallet/createSubname.js +1 -1
  63. package/dist/cjs/functions/wallet/createSubname.js.map +1 -1
  64. package/dist/cjs/functions/wallet/deleteSubname.js.map +1 -1
  65. package/dist/cjs/functions/wallet/registerName.js.map +1 -1
  66. package/dist/cjs/functions/wallet/renewNames.js.map +1 -1
  67. package/dist/cjs/functions/wallet/setAbiRecord.js.map +1 -1
  68. package/dist/cjs/functions/wallet/setAddressRecord.js.map +1 -1
  69. package/dist/cjs/functions/wallet/setChildFuses.js +1 -1
  70. package/dist/cjs/functions/wallet/setChildFuses.js.map +1 -1
  71. package/dist/cjs/functions/wallet/setContentHashRecord.js.map +1 -1
  72. package/dist/cjs/functions/wallet/setFuses.js +1 -1
  73. package/dist/cjs/functions/wallet/setFuses.js.map +1 -1
  74. package/dist/cjs/functions/wallet/setPrimaryName.js.map +1 -1
  75. package/dist/cjs/functions/wallet/setRecords.js.map +1 -1
  76. package/dist/cjs/functions/wallet/setResolver.js.map +1 -1
  77. package/dist/cjs/functions/wallet/setTextRecord.js.map +1 -1
  78. package/dist/cjs/functions/wallet/transferName.js.map +1 -1
  79. package/dist/cjs/functions/wallet/unwrapName.js.map +1 -1
  80. package/dist/cjs/functions/wallet/wrapName.js +3 -1
  81. package/dist/cjs/functions/wallet/wrapName.js.map +1 -1
  82. package/dist/cjs/index.js +1 -2
  83. package/dist/cjs/index.js.map +1 -1
  84. package/dist/cjs/subgraph.js +4 -1
  85. package/dist/cjs/subgraph.js.map +1 -1
  86. package/dist/cjs/utils/contentHash.js +60 -131
  87. package/dist/cjs/utils/contentHash.js.map +1 -1
  88. package/dist/cjs/utils/encoders/encodeAbi.js +33 -3
  89. package/dist/cjs/utils/encoders/encodeAbi.js.map +1 -1
  90. package/dist/cjs/utils/encoders/encodeClearRecords.js +12 -0
  91. package/dist/cjs/utils/encoders/encodeClearRecords.js.map +1 -0
  92. package/dist/cjs/utils/encoders/encodeSetAddr.js +5 -16
  93. package/dist/cjs/utils/encoders/encodeSetAddr.js.map +1 -1
  94. package/dist/cjs/utils/encoders/encodeSetContentHash.js +1 -4
  95. package/dist/cjs/utils/encoders/encodeSetContentHash.js.map +1 -1
  96. package/dist/cjs/utils/format.js +1 -5
  97. package/dist/cjs/utils/format.js.map +1 -1
  98. package/dist/cjs/utils/fuses.js +184 -200
  99. package/dist/cjs/utils/fuses.js.map +1 -1
  100. package/dist/cjs/utils/generateRecordCallArray.js +2 -7
  101. package/dist/cjs/utils/generateRecordCallArray.js.map +1 -1
  102. package/dist/cjs/utils/index.js +31 -7
  103. package/dist/cjs/utils/index.js.map +1 -1
  104. package/dist/cjs/utils/normaliseCoinId.js +35 -0
  105. package/dist/cjs/utils/normaliseCoinId.js.map +1 -0
  106. package/dist/cjs/utils/registerHelpers.js +3 -1
  107. package/dist/cjs/utils/registerHelpers.js.map +1 -1
  108. package/dist/cjs/wallet.js +3 -1
  109. package/dist/cjs/wallet.js.map +1 -1
  110. package/dist/esm/clients/decorators/subgraph.js.map +1 -1
  111. package/dist/esm/clients/decorators/wallet.js +2 -0
  112. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  113. package/dist/esm/clients/public.js.map +1 -1
  114. package/dist/esm/clients/subgraph.js.map +1 -1
  115. package/dist/esm/contracts/consts.js +53 -2
  116. package/dist/esm/contracts/consts.js.map +1 -1
  117. package/dist/esm/dns.js +1 -1
  118. package/dist/esm/dns.js.map +1 -1
  119. package/dist/esm/errors/subgraph.js.map +1 -1
  120. package/dist/esm/errors/utils.js +24 -16
  121. package/dist/esm/errors/utils.js.map +1 -1
  122. package/dist/esm/errors/version.js +1 -1
  123. package/dist/esm/errors/version.js.map +1 -1
  124. package/dist/esm/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +10 -10
  125. package/dist/esm/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
  126. package/dist/esm/functions/dns/getDnsOwner.js +1 -1
  127. package/dist/esm/functions/dns/importDnsName.js +13 -12
  128. package/dist/esm/functions/dns/importDnsName.js.map +1 -1
  129. package/dist/esm/functions/public/_getAbi.js +2 -2
  130. package/dist/esm/functions/public/_getAbi.js.map +1 -1
  131. package/dist/esm/functions/public/_getAddr.js +10 -20
  132. package/dist/esm/functions/public/_getAddr.js.map +1 -1
  133. package/dist/esm/functions/public/_getContentHash.js +2 -2
  134. package/dist/esm/functions/public/batch.js +2 -1
  135. package/dist/esm/functions/public/batch.js.map +1 -1
  136. package/dist/esm/functions/public/getAbiRecord.js +2 -1
  137. package/dist/esm/functions/public/getAbiRecord.js.map +1 -1
  138. package/dist/esm/functions/public/getAddressRecord.js +2 -1
  139. package/dist/esm/functions/public/getAddressRecord.js.map +1 -1
  140. package/dist/esm/functions/public/getAvailable.js +2 -1
  141. package/dist/esm/functions/public/getAvailable.js.map +1 -1
  142. package/dist/esm/functions/public/getContentHashRecord.js +2 -1
  143. package/dist/esm/functions/public/getContentHashRecord.js.map +1 -1
  144. package/dist/esm/functions/public/getExpiry.js +2 -1
  145. package/dist/esm/functions/public/getExpiry.js.map +1 -1
  146. package/dist/esm/functions/public/getName.js +2 -1
  147. package/dist/esm/functions/public/getName.js.map +1 -1
  148. package/dist/esm/functions/public/getOwner.js +3 -2
  149. package/dist/esm/functions/public/getOwner.js.map +1 -1
  150. package/dist/esm/functions/public/getPrice.js +3 -2
  151. package/dist/esm/functions/public/getPrice.js.map +1 -1
  152. package/dist/esm/functions/public/getRecords.js +54 -39
  153. package/dist/esm/functions/public/getRecords.js.map +1 -1
  154. package/dist/esm/functions/public/getResolver.js +2 -1
  155. package/dist/esm/functions/public/getResolver.js.map +1 -1
  156. package/dist/esm/functions/public/getSupportedInterfaces.js +24 -2
  157. package/dist/esm/functions/public/getSupportedInterfaces.js.map +1 -1
  158. package/dist/esm/functions/public/getTextRecord.js +2 -1
  159. package/dist/esm/functions/public/getTextRecord.js.map +1 -1
  160. package/dist/esm/functions/public/getWrapperData.js +2 -1
  161. package/dist/esm/functions/public/getWrapperData.js.map +1 -1
  162. package/dist/esm/functions/public/getWrapperName.js +2 -1
  163. package/dist/esm/functions/public/getWrapperName.js.map +1 -1
  164. package/dist/esm/functions/public/multicallWrapper.js.map +1 -1
  165. package/dist/esm/functions/public/universalWrapper.js.map +1 -1
  166. package/dist/esm/functions/subgraph/client.js.map +1 -1
  167. package/dist/esm/functions/subgraph/filters.js +2 -0
  168. package/dist/esm/functions/subgraph/filters.js.map +1 -0
  169. package/dist/esm/functions/subgraph/getDecodedName.js +2 -1
  170. package/dist/esm/functions/subgraph/getDecodedName.js.map +1 -1
  171. package/dist/esm/functions/subgraph/getNameHistory.js +8 -6
  172. package/dist/esm/functions/subgraph/getNameHistory.js.map +1 -1
  173. package/dist/esm/functions/subgraph/getNamesForAddress.js +163 -192
  174. package/dist/esm/functions/subgraph/getNamesForAddress.js.map +1 -1
  175. package/dist/esm/functions/subgraph/getSubgraphRecords.js +36 -27
  176. package/dist/esm/functions/subgraph/getSubgraphRecords.js.map +1 -1
  177. package/dist/esm/functions/subgraph/getSubgraphRegistrant.js +2 -1
  178. package/dist/esm/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
  179. package/dist/esm/functions/subgraph/getSubnames.js +103 -112
  180. package/dist/esm/functions/subgraph/getSubnames.js.map +1 -1
  181. package/dist/esm/functions/subgraph/types.js +2 -0
  182. package/dist/esm/functions/subgraph/types.js.map +1 -0
  183. package/dist/esm/functions/subgraph/utils.js.map +1 -1
  184. package/dist/esm/functions/wallet/clearRecords.js +44 -0
  185. package/dist/esm/functions/wallet/clearRecords.js.map +1 -0
  186. package/dist/esm/functions/wallet/commitName.js +3 -1
  187. package/dist/esm/functions/wallet/commitName.js.map +1 -1
  188. package/dist/esm/functions/wallet/createSubname.js +3 -2
  189. package/dist/esm/functions/wallet/createSubname.js.map +1 -1
  190. package/dist/esm/functions/wallet/deleteSubname.js +2 -1
  191. package/dist/esm/functions/wallet/deleteSubname.js.map +1 -1
  192. package/dist/esm/functions/wallet/registerName.js +4 -1
  193. package/dist/esm/functions/wallet/registerName.js.map +1 -1
  194. package/dist/esm/functions/wallet/renewNames.js +3 -1
  195. package/dist/esm/functions/wallet/renewNames.js.map +1 -1
  196. package/dist/esm/functions/wallet/setAbiRecord.js +3 -1
  197. package/dist/esm/functions/wallet/setAbiRecord.js.map +1 -1
  198. package/dist/esm/functions/wallet/setAddressRecord.js +2 -1
  199. package/dist/esm/functions/wallet/setAddressRecord.js.map +1 -1
  200. package/dist/esm/functions/wallet/setChildFuses.js +3 -2
  201. package/dist/esm/functions/wallet/setChildFuses.js.map +1 -1
  202. package/dist/esm/functions/wallet/setContentHashRecord.js +2 -1
  203. package/dist/esm/functions/wallet/setContentHashRecord.js.map +1 -1
  204. package/dist/esm/functions/wallet/setFuses.js +4 -3
  205. package/dist/esm/functions/wallet/setFuses.js.map +1 -1
  206. package/dist/esm/functions/wallet/setPrimaryName.js +2 -1
  207. package/dist/esm/functions/wallet/setPrimaryName.js.map +1 -1
  208. package/dist/esm/functions/wallet/setRecords.js +2 -1
  209. package/dist/esm/functions/wallet/setRecords.js.map +1 -1
  210. package/dist/esm/functions/wallet/setResolver.js +2 -1
  211. package/dist/esm/functions/wallet/setResolver.js.map +1 -1
  212. package/dist/esm/functions/wallet/setTextRecord.js +2 -1
  213. package/dist/esm/functions/wallet/setTextRecord.js.map +1 -1
  214. package/dist/esm/functions/wallet/transferName.js +2 -1
  215. package/dist/esm/functions/wallet/transferName.js.map +1 -1
  216. package/dist/esm/functions/wallet/unwrapName.js +2 -1
  217. package/dist/esm/functions/wallet/unwrapName.js.map +1 -1
  218. package/dist/esm/functions/wallet/wrapName.js +6 -3
  219. package/dist/esm/functions/wallet/wrapName.js.map +1 -1
  220. package/dist/esm/index.js +1 -1
  221. package/dist/esm/index.js.map +1 -1
  222. package/dist/esm/subgraph.js +1 -0
  223. package/dist/esm/subgraph.js.map +1 -1
  224. package/dist/esm/utils/contentHash.js +56 -128
  225. package/dist/esm/utils/contentHash.js.map +1 -1
  226. package/dist/esm/utils/encoders/encodeAbi.js +30 -2
  227. package/dist/esm/utils/encoders/encodeAbi.js.map +1 -1
  228. package/dist/esm/utils/encoders/encodeClearRecords.js +8 -0
  229. package/dist/esm/utils/encoders/encodeClearRecords.js.map +1 -0
  230. package/dist/esm/utils/encoders/encodeSetAddr.js +5 -16
  231. package/dist/esm/utils/encoders/encodeSetAddr.js.map +1 -1
  232. package/dist/esm/utils/encoders/encodeSetContentHash.js +2 -5
  233. package/dist/esm/utils/encoders/encodeSetContentHash.js.map +1 -1
  234. package/dist/esm/utils/format.js +0 -2
  235. package/dist/esm/utils/format.js.map +1 -1
  236. package/dist/esm/utils/fuses.js +183 -201
  237. package/dist/esm/utils/fuses.js.map +1 -1
  238. package/dist/esm/utils/generateRecordCallArray.js +3 -7
  239. package/dist/esm/utils/generateRecordCallArray.js.map +1 -1
  240. package/dist/esm/utils/index.js +5 -3
  241. package/dist/esm/utils/index.js.map +1 -1
  242. package/dist/esm/utils/normaliseCoinId.js +30 -0
  243. package/dist/esm/utils/normaliseCoinId.js.map +1 -0
  244. package/dist/esm/utils/registerHelpers.js +4 -2
  245. package/dist/esm/utils/registerHelpers.js.map +1 -1
  246. package/dist/esm/wallet.js +1 -0
  247. package/dist/esm/wallet.js.map +1 -1
  248. package/dist/types/clients/decorators/public.d.ts +1 -519
  249. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  250. package/dist/types/clients/decorators/subgraph.d.ts +2 -520
  251. package/dist/types/clients/decorators/subgraph.d.ts.map +1 -1
  252. package/dist/types/clients/decorators/wallet.d.ts +66 -47
  253. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  254. package/dist/types/clients/public.d.ts +24 -265
  255. package/dist/types/clients/public.d.ts.map +1 -1
  256. package/dist/types/clients/subgraph.d.ts +19 -260
  257. package/dist/types/clients/subgraph.d.ts.map +1 -1
  258. package/dist/types/clients/wallet.d.ts +54 -86
  259. package/dist/types/clients/wallet.d.ts.map +1 -1
  260. package/dist/types/contracts/consts.d.ts +52 -3
  261. package/dist/types/contracts/consts.d.ts.map +1 -1
  262. package/dist/types/dns.d.ts +2 -2
  263. package/dist/types/dns.d.ts.map +1 -1
  264. package/dist/types/errors/subgraph.d.ts +4 -4
  265. package/dist/types/errors/subgraph.d.ts.map +1 -1
  266. package/dist/types/errors/utils.d.ts +16 -13
  267. package/dist/types/errors/utils.d.ts.map +1 -1
  268. package/dist/types/errors/version.d.ts +1 -1
  269. package/dist/types/errors/version.d.ts.map +1 -1
  270. package/dist/types/functions/dns/getDnsImportData.d.ts +39 -0
  271. package/dist/types/functions/dns/{prepareDnsImport.d.ts.map → getDnsImportData.d.ts.map} +1 -1
  272. package/dist/types/functions/dns/getDnsOwner.d.ts +1 -1
  273. package/dist/types/functions/dns/importDnsName.d.ts +88 -102
  274. package/dist/types/functions/dns/importDnsName.d.ts.map +1 -1
  275. package/dist/types/functions/public/_getAddr.d.ts.map +1 -1
  276. package/dist/types/functions/public/batch.d.ts +2 -1
  277. package/dist/types/functions/public/batch.d.ts.map +1 -1
  278. package/dist/types/functions/public/getAbiRecord.d.ts +2 -1
  279. package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -1
  280. package/dist/types/functions/public/getAddressRecord.d.ts +2 -1
  281. package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -1
  282. package/dist/types/functions/public/getAvailable.d.ts +2 -1
  283. package/dist/types/functions/public/getAvailable.d.ts.map +1 -1
  284. package/dist/types/functions/public/getContentHashRecord.d.ts +2 -1
  285. package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -1
  286. package/dist/types/functions/public/getExpiry.d.ts +2 -1
  287. package/dist/types/functions/public/getExpiry.d.ts.map +1 -1
  288. package/dist/types/functions/public/getName.d.ts +2 -1
  289. package/dist/types/functions/public/getName.d.ts.map +1 -1
  290. package/dist/types/functions/public/getOwner.d.ts +19 -9
  291. package/dist/types/functions/public/getOwner.d.ts.map +1 -1
  292. package/dist/types/functions/public/getPrice.d.ts +3 -2
  293. package/dist/types/functions/public/getPrice.d.ts.map +1 -1
  294. package/dist/types/functions/public/getRecords.d.ts +3 -2
  295. package/dist/types/functions/public/getRecords.d.ts.map +1 -1
  296. package/dist/types/functions/public/getResolver.d.ts +2 -1
  297. package/dist/types/functions/public/getResolver.d.ts.map +1 -1
  298. package/dist/types/functions/public/getSupportedInterfaces.d.ts +41 -4
  299. package/dist/types/functions/public/getSupportedInterfaces.d.ts.map +1 -1
  300. package/dist/types/functions/public/getTextRecord.d.ts +2 -1
  301. package/dist/types/functions/public/getTextRecord.d.ts.map +1 -1
  302. package/dist/types/functions/public/getWrapperData.d.ts +4 -3
  303. package/dist/types/functions/public/getWrapperData.d.ts.map +1 -1
  304. package/dist/types/functions/public/getWrapperName.d.ts +2 -1
  305. package/dist/types/functions/public/getWrapperName.d.ts.map +1 -1
  306. package/dist/types/functions/subgraph/client.d.ts +2 -2
  307. package/dist/types/functions/subgraph/client.d.ts.map +1 -1
  308. package/dist/types/functions/subgraph/filters.d.ts +693 -0
  309. package/dist/types/functions/subgraph/filters.d.ts.map +1 -0
  310. package/dist/types/functions/subgraph/getDecodedName.d.ts +2 -1
  311. package/dist/types/functions/subgraph/getDecodedName.d.ts.map +1 -1
  312. package/dist/types/functions/subgraph/getNameHistory.d.ts +2 -1
  313. package/dist/types/functions/subgraph/getNameHistory.d.ts.map +1 -1
  314. package/dist/types/functions/subgraph/getNamesForAddress.d.ts +7 -2
  315. package/dist/types/functions/subgraph/getNamesForAddress.d.ts.map +1 -1
  316. package/dist/types/functions/subgraph/getSubgraphRecords.d.ts +2 -1
  317. package/dist/types/functions/subgraph/getSubgraphRecords.d.ts.map +1 -1
  318. package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts +2 -1
  319. package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts.map +1 -1
  320. package/dist/types/functions/subgraph/getSubnames.d.ts +5 -2
  321. package/dist/types/functions/subgraph/getSubnames.d.ts.map +1 -1
  322. package/dist/types/functions/subgraph/types.d.ts +13 -0
  323. package/dist/types/functions/subgraph/types.d.ts.map +1 -0
  324. package/dist/types/functions/subgraph/utils.d.ts +2 -2
  325. package/dist/types/functions/subgraph/utils.d.ts.map +1 -1
  326. package/dist/types/functions/wallet/clearRecords.d.ts +555 -0
  327. package/dist/types/functions/wallet/clearRecords.d.ts.map +1 -0
  328. package/dist/types/functions/wallet/commitName.d.ts +80 -93
  329. package/dist/types/functions/wallet/commitName.d.ts.map +1 -1
  330. package/dist/types/functions/wallet/createSubname.d.ts +82 -96
  331. package/dist/types/functions/wallet/createSubname.d.ts.map +1 -1
  332. package/dist/types/functions/wallet/deleteSubname.d.ts +79 -93
  333. package/dist/types/functions/wallet/deleteSubname.d.ts.map +1 -1
  334. package/dist/types/functions/wallet/registerName.d.ts +80 -89
  335. package/dist/types/functions/wallet/registerName.d.ts.map +1 -1
  336. package/dist/types/functions/wallet/renewNames.d.ts +79 -89
  337. package/dist/types/functions/wallet/renewNames.d.ts.map +1 -1
  338. package/dist/types/functions/wallet/setAbiRecord.d.ts +80 -93
  339. package/dist/types/functions/wallet/setAbiRecord.d.ts.map +1 -1
  340. package/dist/types/functions/wallet/setAddressRecord.d.ts +79 -93
  341. package/dist/types/functions/wallet/setAddressRecord.d.ts.map +1 -1
  342. package/dist/types/functions/wallet/setChildFuses.d.ts +81 -95
  343. package/dist/types/functions/wallet/setChildFuses.d.ts.map +1 -1
  344. package/dist/types/functions/wallet/setContentHashRecord.d.ts +79 -93
  345. package/dist/types/functions/wallet/setContentHashRecord.d.ts.map +1 -1
  346. package/dist/types/functions/wallet/setFuses.d.ts +81 -95
  347. package/dist/types/functions/wallet/setFuses.d.ts.map +1 -1
  348. package/dist/types/functions/wallet/setPrimaryName.d.ts +79 -93
  349. package/dist/types/functions/wallet/setPrimaryName.d.ts.map +1 -1
  350. package/dist/types/functions/wallet/setRecords.d.ts +79 -93
  351. package/dist/types/functions/wallet/setRecords.d.ts.map +1 -1
  352. package/dist/types/functions/wallet/setResolver.d.ts +79 -93
  353. package/dist/types/functions/wallet/setResolver.d.ts.map +1 -1
  354. package/dist/types/functions/wallet/setTextRecord.d.ts +79 -93
  355. package/dist/types/functions/wallet/setTextRecord.d.ts.map +1 -1
  356. package/dist/types/functions/wallet/transferName.d.ts +80 -94
  357. package/dist/types/functions/wallet/transferName.d.ts.map +1 -1
  358. package/dist/types/functions/wallet/unwrapName.d.ts +79 -93
  359. package/dist/types/functions/wallet/unwrapName.d.ts.map +1 -1
  360. package/dist/types/functions/wallet/wrapName.d.ts +81 -95
  361. package/dist/types/functions/wallet/wrapName.d.ts.map +1 -1
  362. package/dist/types/index.d.ts +1 -1
  363. package/dist/types/index.d.ts.map +1 -1
  364. package/dist/types/subgraph.d.ts +1 -0
  365. package/dist/types/subgraph.d.ts.map +1 -1
  366. package/dist/types/types.d.ts +3 -1
  367. package/dist/types/types.d.ts.map +1 -1
  368. package/dist/types/utils/contentHash.d.ts +10 -11
  369. package/dist/types/utils/contentHash.d.ts.map +1 -1
  370. package/dist/types/utils/encoders/encodeAbi.d.ts +8 -5
  371. package/dist/types/utils/encoders/encodeAbi.d.ts.map +1 -1
  372. package/dist/types/utils/encoders/encodeClearRecords.d.ts +3 -0
  373. package/dist/types/utils/encoders/encodeClearRecords.d.ts.map +1 -0
  374. package/dist/types/utils/encoders/encodeSetAddr.d.ts.map +1 -1
  375. package/dist/types/utils/encoders/encodeSetContentHash.d.ts.map +1 -1
  376. package/dist/types/utils/format.d.ts +0 -2
  377. package/dist/types/utils/format.d.ts.map +1 -1
  378. package/dist/types/utils/fuses.d.ts +164 -125
  379. package/dist/types/utils/fuses.d.ts.map +1 -1
  380. package/dist/types/utils/generateRecordCallArray.d.ts.map +1 -1
  381. package/dist/types/utils/index.d.ts +5 -3
  382. package/dist/types/utils/index.d.ts.map +1 -1
  383. package/dist/types/utils/normaliseCoinId.d.ts +10 -0
  384. package/dist/types/utils/normaliseCoinId.d.ts.map +1 -0
  385. package/dist/types/utils/registerHelpers.d.ts +2 -2
  386. package/dist/types/utils/registerHelpers.d.ts.map +1 -1
  387. package/dist/types/wallet.d.ts +18 -17
  388. package/dist/types/wallet.d.ts.map +1 -1
  389. package/package.json +8 -8
  390. package/src/clients/decorators/subgraph.ts +1 -0
  391. package/src/clients/decorators/wallet.ts +41 -3
  392. package/src/clients/public.ts +3 -2
  393. package/src/clients/subgraph.ts +3 -2
  394. package/src/clients/wallet.ts +1 -1
  395. package/src/contracts/consts.ts +58 -13
  396. package/src/dns.ts +7 -5
  397. package/src/errors/subgraph.ts +4 -4
  398. package/src/errors/utils.ts +29 -18
  399. package/src/errors/version.ts +1 -1
  400. package/src/functions/dns/{prepareDnsImport.ts → getDnsImportData.ts} +13 -13
  401. package/src/functions/dns/getDnsOwner.ts +1 -1
  402. package/src/functions/dns/importDnsName.ts +21 -15
  403. package/src/functions/public/_getAbi.ts +2 -2
  404. package/src/functions/public/_getAddr.ts +16 -23
  405. package/src/functions/public/_getContentHash.ts +2 -2
  406. package/src/functions/public/batch.ts +2 -1
  407. package/src/functions/public/getAbiRecord.ts +2 -1
  408. package/src/functions/public/getAddressRecord.ts +2 -1
  409. package/src/functions/public/getAvailable.ts +2 -1
  410. package/src/functions/public/getContentHashRecord.ts +2 -1
  411. package/src/functions/public/getExpiry.ts +2 -1
  412. package/src/functions/public/getName.ts +3 -2
  413. package/src/functions/public/getOwner.ts +54 -33
  414. package/src/functions/public/getPrice.ts +3 -2
  415. package/src/functions/public/getRecords.ts +125 -105
  416. package/src/functions/public/getResolver.ts +3 -2
  417. package/src/functions/public/getSupportedInterfaces.ts +70 -10
  418. package/src/functions/public/getTextRecord.ts +2 -1
  419. package/src/functions/public/getWrapperData.ts +5 -4
  420. package/src/functions/public/getWrapperName.ts +3 -2
  421. package/src/functions/public/multicallWrapper.ts +1 -1
  422. package/src/functions/public/universalWrapper.ts +1 -1
  423. package/src/functions/subgraph/client.ts +2 -2
  424. package/src/functions/subgraph/filters.ts +702 -0
  425. package/src/functions/subgraph/getDecodedName.ts +2 -1
  426. package/src/functions/subgraph/getNameHistory.ts +8 -6
  427. package/src/functions/subgraph/getNamesForAddress.ts +199 -195
  428. package/src/functions/subgraph/getSubgraphRecords.ts +65 -33
  429. package/src/functions/subgraph/getSubgraphRegistrant.ts +2 -1
  430. package/src/functions/subgraph/getSubnames.ts +123 -114
  431. package/src/functions/subgraph/types.ts +13 -0
  432. package/src/functions/subgraph/utils.ts +2 -2
  433. package/src/functions/wallet/clearRecords.ts +97 -0
  434. package/src/functions/wallet/commitName.ts +3 -1
  435. package/src/functions/wallet/createSubname.ts +6 -5
  436. package/src/functions/wallet/deleteSubname.ts +2 -1
  437. package/src/functions/wallet/registerName.ts +4 -1
  438. package/src/functions/wallet/renewNames.ts +3 -1
  439. package/src/functions/wallet/setAbiRecord.ts +3 -1
  440. package/src/functions/wallet/setAddressRecord.ts +2 -1
  441. package/src/functions/wallet/setChildFuses.ts +5 -4
  442. package/src/functions/wallet/setContentHashRecord.ts +2 -1
  443. package/src/functions/wallet/setFuses.ts +8 -4
  444. package/src/functions/wallet/setPrimaryName.ts +2 -1
  445. package/src/functions/wallet/setRecords.ts +2 -1
  446. package/src/functions/wallet/setResolver.ts +2 -1
  447. package/src/functions/wallet/setTextRecord.ts +2 -1
  448. package/src/functions/wallet/transferName.ts +3 -2
  449. package/src/functions/wallet/unwrapName.ts +2 -1
  450. package/src/functions/wallet/wrapName.ts +10 -4
  451. package/src/index.ts +0 -1
  452. package/src/subgraph.ts +5 -0
  453. package/src/types.ts +6 -3
  454. package/src/utils/contentHash.ts +65 -113
  455. package/src/utils/encoders/encodeAbi.ts +37 -8
  456. package/src/utils/encoders/encodeClearRecords.ts +9 -0
  457. package/src/utils/encoders/encodeSetAddr.ts +5 -16
  458. package/src/utils/encoders/encodeSetContentHash.ts +2 -4
  459. package/src/utils/format.ts +0 -6
  460. package/src/utils/fuses.ts +312 -308
  461. package/src/utils/generateRecordCallArray.ts +3 -9
  462. package/src/utils/index.ts +37 -5
  463. package/src/utils/normaliseCoinId.ts +36 -0
  464. package/src/utils/registerHelpers.ts +5 -3
  465. package/src/wallet.ts +41 -0
  466. package/dist/types/functions/dns/prepareDnsImport.d.ts +0 -39
  467. package/src/@types/@ensdomains/content-hash.d.ts +0 -1
  468. package/src/functions/dns/getDnsOwner.test.ts +0 -195
  469. package/src/functions/dns/importDnsName.test.ts +0 -117
  470. package/src/functions/dns/prepareDnsImport.test.ts +0 -115
  471. package/src/functions/public/batch.test.ts +0 -67
  472. package/src/functions/public/ccip.test.ts +0 -78
  473. package/src/functions/public/getAbiRecord.test.ts +0 -174
  474. package/src/functions/public/getAddressRecord.test.ts +0 -83
  475. package/src/functions/public/getAvailable.test.ts +0 -17
  476. package/src/functions/public/getContentHashRecord.test.ts +0 -28
  477. package/src/functions/public/getExpiry.test.ts +0 -48
  478. package/src/functions/public/getName.test.ts +0 -66
  479. package/src/functions/public/getOwner.test.ts +0 -87
  480. package/src/functions/public/getPrice.test.ts +0 -45
  481. package/src/functions/public/getRecords.test.ts +0 -49
  482. package/src/functions/public/getResolver.test.ts +0 -12
  483. package/src/functions/public/getTextRecord.test.ts +0 -20
  484. package/src/functions/public/getWrapperData.test.ts +0 -79
  485. package/src/functions/public/getWrapperName.test.ts +0 -19
  486. package/src/functions/subgraph/client.test.ts +0 -170
  487. package/src/functions/subgraph/getDecodedName.test.ts +0 -31
  488. package/src/functions/subgraph/getNameHistory.test.ts +0 -39
  489. package/src/functions/subgraph/getNamesForAddress.test.ts +0 -244
  490. package/src/functions/subgraph/getSubgraphRecords.test.ts +0 -74
  491. package/src/functions/subgraph/getSubgraphRegistrant.test.ts +0 -34
  492. package/src/functions/subgraph/getSubnames.test.ts +0 -202
  493. package/src/functions/wallet/commitName.test.ts +0 -58
  494. package/src/functions/wallet/createSubname.test.ts +0 -73
  495. package/src/functions/wallet/deleteSubname.test.ts +0 -150
  496. package/src/functions/wallet/registerName.test.ts +0 -81
  497. package/src/functions/wallet/renewNames.test.ts +0 -92
  498. package/src/functions/wallet/setAbiRecord.test.ts +0 -156
  499. package/src/functions/wallet/setAddressRecord.test.ts +0 -121
  500. package/src/functions/wallet/setChildFuses.test.ts +0 -97
  501. package/src/functions/wallet/setContentHashRecord.test.ts +0 -69
  502. package/src/functions/wallet/setFuses.test.ts +0 -287
  503. package/src/functions/wallet/setPrimaryName.test.ts +0 -71
  504. package/src/functions/wallet/setRecords.test.ts +0 -127
  505. package/src/functions/wallet/setResolver.test.ts +0 -114
  506. package/src/functions/wallet/setTextRecord.test.ts +0 -67
  507. package/src/functions/wallet/transferName.test.ts +0 -201
  508. package/src/functions/wallet/unwrapName.test.ts +0 -93
  509. package/src/functions/wallet/wrapName.test.ts +0 -195
  510. package/src/utils/generateRecordCallArray.test.ts +0 -84
  511. package/src/utils/labels.test.ts +0 -163
  512. package/src/utils/makeLabelNodeAndParent.test.ts +0 -11
  513. package/src/utils/makeSafeSecondsDate.test.ts +0 -14
  514. package/src/utils/normalise.test.ts +0 -35
  515. package/src/utils/ownerFromContract.test.ts +0 -52
  516. package/src/utils/registerHelpers.test.ts +0 -159
  517. package/src/utils/validation.test.ts +0 -170
  518. package/src/utils/wrapper.test.ts +0 -46
@@ -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: '0x9380F1974D2B7064eA0c0EC251968D8c69f0Ae31',
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: '0x3952Be0b2186f8B113193a84b69bD71ad3fc1ae3',
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: '0x21B000Fd62a880b2125A61e36a284BB757b76025',
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
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.10'
@@ -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
  }
@@ -1,5 +1,10 @@
1
- import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'
2
- import { decodeFunctionResult, encodeFunctionData, trim, type Hex } from 'viem'
1
+ import {
2
+ decodeFunctionResult,
3
+ encodeFunctionData,
4
+ hexToBytes,
5
+ trim,
6
+ type Hex,
7
+ } from 'viem'
3
8
  import { namehash } from '../../utils/normalise.js'
4
9
 
5
10
  import type { ClientWithEns } from '../../contracts/consts.js'
@@ -7,7 +12,6 @@ import {
7
12
  publicResolverMultiAddrSnippet,
8
13
  publicResolverSingleAddrSnippet,
9
14
  } from '../../contracts/publicResolver.js'
10
- import { CoinFormatterNotFoundError } from '../../errors/public.js'
11
15
  import type {
12
16
  DecodedAddr,
13
17
  Prettify,
@@ -15,6 +19,7 @@ import type {
15
19
  } from '../../types.js'
16
20
  import { EMPTY_ADDRESS } from '../../utils/consts.js'
17
21
  import { generateFunction } from '../../utils/generateFunction.js'
22
+ import { getCoderFromCoin } from '../../utils/normaliseCoinId.js'
18
23
 
19
24
  export type InternalGetAddrParameters = {
20
25
  /** Name to get the address record for */
@@ -31,7 +36,8 @@ const encode = (
31
36
  _client: ClientWithEns,
32
37
  { name, coin = 60, bypassFormat }: InternalGetAddrParameters,
33
38
  ): SimpleTransactionRequest => {
34
- if (coin === 60 || coin === '60') {
39
+ const coder = getCoderFromCoin(coin)
40
+ if (coder.coinType === 60) {
35
41
  return {
36
42
  to: EMPTY_ADDRESS,
37
43
  data: encodeFunctionData({
@@ -52,19 +58,13 @@ const encode = (
52
58
  }),
53
59
  }
54
60
  }
55
- const formatter =
56
- typeof coin === 'string' && Number.isNaN(parseInt(coin))
57
- ? formatsByName[coin]
58
- : formatsByCoinType[typeof coin === 'number' ? coin : parseInt(coin)]
59
-
60
- if (!formatter) throw new CoinFormatterNotFoundError({ coinType: coin })
61
61
 
62
62
  return {
63
63
  to: EMPTY_ADDRESS,
64
64
  data: encodeFunctionData({
65
65
  abi: publicResolverMultiAddrSnippet,
66
66
  functionName: 'addr',
67
- args: [namehash(name), BigInt(formatter.coinType)],
67
+ args: [namehash(name), BigInt(coder.coinType)],
68
68
  }),
69
69
  }
70
70
  }
@@ -72,21 +72,14 @@ const encode = (
72
72
  const decode = async (
73
73
  _client: ClientWithEns,
74
74
  data: Hex,
75
- { coin }: InternalGetAddrParameters,
75
+ { coin = 60 }: InternalGetAddrParameters,
76
76
  ): Promise<InternalGetAddrReturnType> => {
77
77
  if (data === '0x') return null
78
- if (!coin) {
79
- coin = 60
80
- }
81
-
82
- const formatter =
83
- typeof coin === 'string' && Number.isNaN(parseInt(coin))
84
- ? formatsByName[coin]
85
- : formatsByCoinType[typeof coin === 'number' ? coin : parseInt(coin)]
86
78
 
79
+ const coder = getCoderFromCoin(coin)
87
80
  let response: Hex
88
81
 
89
- if (coin === 60 || coin === '60') {
82
+ if (coder.coinType === 60) {
90
83
  response = decodeFunctionResult({
91
84
  abi: publicResolverSingleAddrSnippet,
92
85
  functionName: 'addr',
@@ -107,13 +100,13 @@ const decode = async (
107
100
  return null
108
101
  }
109
102
 
110
- const decodedAddr = formatter.encoder(Buffer.from(response.slice(2), 'hex'))
103
+ const decodedAddr = coder.encode(hexToBytes(response))
111
104
 
112
105
  if (!decodedAddr) {
113
106
  return null
114
107
  }
115
108
 
116
- return { id: formatter.coinType, name: formatter.name, value: decodedAddr }
109
+ return { id: coder.coinType, name: coder.name, value: decodedAddr }
117
110
  }
118
111
 
119
112
  const _getAddr = generateFunction({ encode, decode })
@@ -4,7 +4,7 @@ import { publicResolverContenthashSnippet } from '../../contracts/publicResolver
4
4
  import type { Prettify, SimpleTransactionRequest } from '../../types.js'
5
5
  import { EMPTY_ADDRESS } from '../../utils/consts.js'
6
6
  import {
7
- decodeContenthash,
7
+ decodeContentHash,
8
8
  type DecodedContentHash,
9
9
  } from '../../utils/contentHash.js'
10
10
  import { generateFunction } from '../../utils/generateFunction.js'
@@ -44,7 +44,7 @@ const decode = async (
44
44
  data,
45
45
  })
46
46
 
47
- return decodeContenthash(response)
47
+ return decodeContentHash(response)
48
48
  }
49
49
 
50
50
  const _getContentHash = generateFunction({ encode, decode })
@@ -75,7 +75,8 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
75
75
  * @example
76
76
  * import { createPublicClient, http } from 'viem'
77
77
  * import { mainnet } from 'viem/chains'
78
- * import { addEnsContracts, batch, getTextRecord, getAddressRecord } from '@ensdomains/ensjs'
78
+ * import { addEnsContracts } from '@ensdomains/ensjs'
79
+ * import { batch, getTextRecord, getAddressRecord } from '@ensdomains/ensjs/public'
79
80
  *
80
81
  * const client = createPublicClient({
81
82
  * chain: addEnsContracts(mainnet),
@@ -47,7 +47,8 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
47
47
  * @example
48
48
  * import { createPublicClient, http } from 'viem'
49
49
  * import { mainnet } from 'viem/chains'
50
- * import { addEnsContracts, getAbiRecord } from '@ensdomains/ensjs'
50
+ * import { addEnsContracts } from '@ensdomains/ensjs'
51
+ * import { getAbiRecord } from '@ensdomains/ensjs/public'
51
52
  *
52
53
  * const client = createPublicClient({
53
54
  * chain: addEnsContracts(mainnet),
@@ -48,7 +48,8 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
48
48
  * @example
49
49
  * import { createPublicClient, http } from 'viem'
50
50
  * import { mainnet } from 'viem/chains'
51
- * import { addEnsContracts, getAddressRecord } from '@ensdomains/ensjs'
51
+ * import { addEnsContracts } from '@ensdomains/ensjs'
52
+ * import { getAddressRecord } from '@ensdomains/ensjs/public'
52
53
  *
53
54
  * const client = createPublicClient({
54
55
  * chain: addEnsContracts(mainnet),