@ensforge/core 0.0.0

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 (1033) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +61 -0
  3. package/dist/action/action.d.ts +13 -0
  4. package/dist/action/action.d.ts.map +1 -0
  5. package/dist/action/action.js +18 -0
  6. package/dist/action/action.js.map +1 -0
  7. package/dist/action/block.d.ts +12 -0
  8. package/dist/action/block.d.ts.map +1 -0
  9. package/dist/action/block.js +10 -0
  10. package/dist/action/block.js.map +1 -0
  11. package/dist/action/index.d.ts +5 -0
  12. package/dist/action/read-request.d.ts +19 -0
  13. package/dist/action/read-request.d.ts.map +1 -0
  14. package/dist/action/read-request.js +23 -0
  15. package/dist/action/read-request.js.map +1 -0
  16. package/dist/action/write-intent.d.ts +34 -0
  17. package/dist/action/write-intent.d.ts.map +1 -0
  18. package/dist/action/write-intent.js +41 -0
  19. package/dist/action/write-intent.js.map +1 -0
  20. package/dist/actions/batch/estimate-calls.d.ts +8 -0
  21. package/dist/actions/batch/estimate-calls.d.ts.map +1 -0
  22. package/dist/actions/batch/estimate-calls.js +68 -0
  23. package/dist/actions/batch/estimate-calls.js.map +1 -0
  24. package/dist/actions/batch/execute-write-plan.d.ts +8 -0
  25. package/dist/actions/batch/execute-write-plan.d.ts.map +1 -0
  26. package/dist/actions/batch/execute-write-plan.js +145 -0
  27. package/dist/actions/batch/execute-write-plan.js.map +1 -0
  28. package/dist/actions/batch/get-calls-status.d.ts +8 -0
  29. package/dist/actions/batch/get-calls-status.d.ts.map +1 -0
  30. package/dist/actions/batch/get-calls-status.js +33 -0
  31. package/dist/actions/batch/get-calls-status.js.map +1 -0
  32. package/dist/actions/batch/get-wallet-capabilities.d.ts +10 -0
  33. package/dist/actions/batch/get-wallet-capabilities.d.ts.map +1 -0
  34. package/dist/actions/batch/get-wallet-capabilities.js +60 -0
  35. package/dist/actions/batch/get-wallet-capabilities.js.map +1 -0
  36. package/dist/actions/batch/index.d.ts +10 -0
  37. package/dist/actions/batch/prepare-calls.d.ts +8 -0
  38. package/dist/actions/batch/prepare-calls.d.ts.map +1 -0
  39. package/dist/actions/batch/prepare-calls.js +11 -0
  40. package/dist/actions/batch/prepare-calls.js.map +1 -0
  41. package/dist/actions/batch/read-batch.d.ts +33 -0
  42. package/dist/actions/batch/read-batch.d.ts.map +1 -0
  43. package/dist/actions/batch/read-batch.js +55 -0
  44. package/dist/actions/batch/read-batch.js.map +1 -0
  45. package/dist/actions/batch/resume-calls.d.ts +8 -0
  46. package/dist/actions/batch/resume-calls.d.ts.map +1 -0
  47. package/dist/actions/batch/resume-calls.js +17 -0
  48. package/dist/actions/batch/resume-calls.js.map +1 -0
  49. package/dist/actions/batch/send-calls.d.ts +8 -0
  50. package/dist/actions/batch/send-calls.d.ts.map +1 -0
  51. package/dist/actions/batch/send-calls.js +28 -0
  52. package/dist/actions/batch/send-calls.js.map +1 -0
  53. package/dist/actions/batch/simulate-calls.d.ts +8 -0
  54. package/dist/actions/batch/simulate-calls.d.ts.map +1 -0
  55. package/dist/actions/batch/simulate-calls.js +22 -0
  56. package/dist/actions/batch/simulate-calls.js.map +1 -0
  57. package/dist/actions/capabilities/get-name-capabilities/index.d.ts +127 -0
  58. package/dist/actions/capabilities/get-name-capabilities/index.d.ts.map +1 -0
  59. package/dist/actions/capabilities/get-name-capabilities/index.js +65 -0
  60. package/dist/actions/capabilities/get-name-capabilities/index.js.map +1 -0
  61. package/dist/actions/capabilities/get-operator-approval/index.d.ts +24 -0
  62. package/dist/actions/capabilities/get-operator-approval/index.d.ts.map +1 -0
  63. package/dist/actions/capabilities/get-operator-approval/index.js +108 -0
  64. package/dist/actions/capabilities/get-operator-approval/index.js.map +1 -0
  65. package/dist/actions/capabilities/get-record-permissions/index.d.ts +86 -0
  66. package/dist/actions/capabilities/get-record-permissions/index.d.ts.map +1 -0
  67. package/dist/actions/capabilities/get-record-permissions/index.js +160 -0
  68. package/dist/actions/capabilities/get-record-permissions/index.js.map +1 -0
  69. package/dist/actions/capabilities/get-registry-capabilities/index.d.ts +24 -0
  70. package/dist/actions/capabilities/get-registry-capabilities/index.d.ts.map +1 -0
  71. package/dist/actions/capabilities/get-registry-capabilities/index.js +64 -0
  72. package/dist/actions/capabilities/get-registry-capabilities/index.js.map +1 -0
  73. package/dist/actions/capabilities/get-registry-roles/index.d.ts +21 -0
  74. package/dist/actions/capabilities/get-registry-roles/index.d.ts.map +1 -0
  75. package/dist/actions/capabilities/get-registry-roles/index.js +32 -0
  76. package/dist/actions/capabilities/get-registry-roles/index.js.map +1 -0
  77. package/dist/actions/capabilities/get-required-authorization/index.d.ts +148 -0
  78. package/dist/actions/capabilities/get-required-authorization/index.d.ts.map +1 -0
  79. package/dist/actions/capabilities/get-required-authorization/index.js +183 -0
  80. package/dist/actions/capabilities/get-required-authorization/index.js.map +1 -0
  81. package/dist/actions/capabilities/get-resolver-capabilities/index.d.ts +29 -0
  82. package/dist/actions/capabilities/get-resolver-capabilities/index.d.ts.map +1 -0
  83. package/dist/actions/capabilities/get-resolver-capabilities/index.js +71 -0
  84. package/dist/actions/capabilities/get-resolver-capabilities/index.js.map +1 -0
  85. package/dist/actions/capabilities/get-resolver-delegate-approval/index.d.ts +26 -0
  86. package/dist/actions/capabilities/get-resolver-delegate-approval/index.d.ts.map +1 -0
  87. package/dist/actions/capabilities/get-resolver-delegate-approval/index.js +50 -0
  88. package/dist/actions/capabilities/get-resolver-delegate-approval/index.js.map +1 -0
  89. package/dist/actions/capabilities/get-resolver-roles/index.d.ts +25 -0
  90. package/dist/actions/capabilities/get-resolver-roles/index.d.ts.map +1 -0
  91. package/dist/actions/capabilities/get-resolver-roles/index.js +35 -0
  92. package/dist/actions/capabilities/get-resolver-roles/index.js.map +1 -0
  93. package/dist/actions/capabilities/get-token-approval/index.d.ts +21 -0
  94. package/dist/actions/capabilities/get-token-approval/index.d.ts.map +1 -0
  95. package/dist/actions/capabilities/get-token-approval/index.js +73 -0
  96. package/dist/actions/capabilities/get-token-approval/index.js.map +1 -0
  97. package/dist/actions/capabilities/get-wrapper-permissions/index.d.ts +41 -0
  98. package/dist/actions/capabilities/get-wrapper-permissions/index.d.ts.map +1 -0
  99. package/dist/actions/capabilities/get-wrapper-permissions/index.js +131 -0
  100. package/dist/actions/capabilities/get-wrapper-permissions/index.js.map +1 -0
  101. package/dist/actions/capabilities/get-write-target/index.d.ts +68 -0
  102. package/dist/actions/capabilities/get-write-target/index.d.ts.map +1 -0
  103. package/dist/actions/capabilities/get-write-target/index.js +94 -0
  104. package/dist/actions/capabilities/get-write-target/index.js.map +1 -0
  105. package/dist/actions/capabilities/has-registry-roles/index.d.ts +25 -0
  106. package/dist/actions/capabilities/has-registry-roles/index.d.ts.map +1 -0
  107. package/dist/actions/capabilities/has-registry-roles/index.js +37 -0
  108. package/dist/actions/capabilities/has-registry-roles/index.js.map +1 -0
  109. package/dist/actions/capabilities/has-resolver-roles/index.d.ts +27 -0
  110. package/dist/actions/capabilities/has-resolver-roles/index.d.ts.map +1 -0
  111. package/dist/actions/capabilities/has-resolver-roles/index.js +49 -0
  112. package/dist/actions/capabilities/has-resolver-roles/index.js.map +1 -0
  113. package/dist/actions/capabilities/index.d.ts +16 -0
  114. package/dist/actions/capabilities/types.d.ts +790 -0
  115. package/dist/actions/capabilities/types.d.ts.map +1 -0
  116. package/dist/actions/capabilities/types.js +320 -0
  117. package/dist/actions/capabilities/types.js.map +1 -0
  118. package/dist/actions/dns/claim-dns-name/index.d.ts +9 -0
  119. package/dist/actions/dns/claim-dns-name/index.d.ts.map +1 -0
  120. package/dist/actions/dns/claim-dns-name/index.js +63 -0
  121. package/dist/actions/dns/claim-dns-name/index.js.map +1 -0
  122. package/dist/actions/dns/get-dns-claim-status/index.d.ts +26 -0
  123. package/dist/actions/dns/get-dns-claim-status/index.d.ts.map +1 -0
  124. package/dist/actions/dns/get-dns-claim-status/index.js +62 -0
  125. package/dist/actions/dns/get-dns-claim-status/index.js.map +1 -0
  126. package/dist/actions/dns/get-dns-import-plan/index.d.ts +32 -0
  127. package/dist/actions/dns/get-dns-import-plan/index.d.ts.map +1 -0
  128. package/dist/actions/dns/get-dns-import-plan/index.js +53 -0
  129. package/dist/actions/dns/get-dns-import-plan/index.js.map +1 -0
  130. package/dist/actions/dns/get-dns-record/index.d.ts +14 -0
  131. package/dist/actions/dns/get-dns-record/index.d.ts.map +1 -0
  132. package/dist/actions/dns/get-dns-record/index.js +30 -0
  133. package/dist/actions/dns/get-dns-record/index.js.map +1 -0
  134. package/dist/actions/dns/get-dns-records/index.d.ts +18 -0
  135. package/dist/actions/dns/get-dns-records/index.d.ts.map +1 -0
  136. package/dist/actions/dns/get-dns-records/index.js +34 -0
  137. package/dist/actions/dns/get-dns-records/index.js.map +1 -0
  138. package/dist/actions/dns/get-zone-hash/index.d.ts +16 -0
  139. package/dist/actions/dns/get-zone-hash/index.d.ts.map +1 -0
  140. package/dist/actions/dns/get-zone-hash/index.js +58 -0
  141. package/dist/actions/dns/get-zone-hash/index.js.map +1 -0
  142. package/dist/actions/dns/has-dns-records/index.d.ts +18 -0
  143. package/dist/actions/dns/has-dns-records/index.d.ts.map +1 -0
  144. package/dist/actions/dns/has-dns-records/index.js +61 -0
  145. package/dist/actions/dns/has-dns-records/index.js.map +1 -0
  146. package/dist/actions/dns/import-dns-name/index.d.ts +9 -0
  147. package/dist/actions/dns/import-dns-name/index.d.ts.map +1 -0
  148. package/dist/actions/dns/import-dns-name/index.js +82 -0
  149. package/dist/actions/dns/import-dns-name/index.js.map +1 -0
  150. package/dist/actions/dns/index.d.ts +14 -0
  151. package/dist/actions/dns/set-dns-records/index.d.ts +9 -0
  152. package/dist/actions/dns/set-dns-records/index.d.ts.map +1 -0
  153. package/dist/actions/dns/set-dns-records/index.js +35 -0
  154. package/dist/actions/dns/set-dns-records/index.js.map +1 -0
  155. package/dist/actions/dns/set-dns-records/types.d.ts +12 -0
  156. package/dist/actions/dns/set-dns-records/types.d.ts.map +1 -0
  157. package/dist/actions/dns/set-zone-hash/index.d.ts +9 -0
  158. package/dist/actions/dns/set-zone-hash/index.d.ts.map +1 -0
  159. package/dist/actions/dns/set-zone-hash/index.js +35 -0
  160. package/dist/actions/dns/set-zone-hash/index.js.map +1 -0
  161. package/dist/actions/dns/set-zone-hash/types.d.ts +12 -0
  162. package/dist/actions/dns/set-zone-hash/types.d.ts.map +1 -0
  163. package/dist/actions/dns/types.d.ts +145 -0
  164. package/dist/actions/dns/types.d.ts.map +1 -0
  165. package/dist/actions/dns/types.js +87 -0
  166. package/dist/actions/dns/types.js.map +1 -0
  167. package/dist/actions/events/get-ens-events/index.d.ts +33 -0
  168. package/dist/actions/events/get-ens-events/index.d.ts.map +1 -0
  169. package/dist/actions/events/get-ens-events/index.js +30 -0
  170. package/dist/actions/events/get-ens-events/index.js.map +1 -0
  171. package/dist/actions/events/get-name-history/index.d.ts +36 -0
  172. package/dist/actions/events/get-name-history/index.d.ts.map +1 -0
  173. package/dist/actions/events/get-name-history/index.js +17 -0
  174. package/dist/actions/events/get-name-history/index.js.map +1 -0
  175. package/dist/actions/events/index.d.ts +5 -0
  176. package/dist/actions/events/types.d.ts +89 -0
  177. package/dist/actions/events/types.d.ts.map +1 -0
  178. package/dist/actions/events/types.js +61 -0
  179. package/dist/actions/events/types.js.map +1 -0
  180. package/dist/actions/events/watch-ens-events/index.d.ts +12 -0
  181. package/dist/actions/events/watch-ens-events/index.d.ts.map +1 -0
  182. package/dist/actions/events/watch-ens-events/index.js +59 -0
  183. package/dist/actions/events/watch-ens-events/index.js.map +1 -0
  184. package/dist/actions/index.d.ts +199 -0
  185. package/dist/actions/migration/get-migration-eligibility/index.d.ts +71 -0
  186. package/dist/actions/migration/get-migration-eligibility/index.d.ts.map +1 -0
  187. package/dist/actions/migration/get-migration-eligibility/index.js +88 -0
  188. package/dist/actions/migration/get-migration-eligibility/index.js.map +1 -0
  189. package/dist/actions/migration/get-migration-plan/index.d.ts +70 -0
  190. package/dist/actions/migration/get-migration-plan/index.d.ts.map +1 -0
  191. package/dist/actions/migration/get-migration-plan/index.js +73 -0
  192. package/dist/actions/migration/get-migration-plan/index.js.map +1 -0
  193. package/dist/actions/migration/get-migration-status/index.d.ts +46 -0
  194. package/dist/actions/migration/get-migration-status/index.d.ts.map +1 -0
  195. package/dist/actions/migration/get-migration-status/index.js +124 -0
  196. package/dist/actions/migration/get-migration-status/index.js.map +1 -0
  197. package/dist/actions/migration/get-migration-target/index.d.ts +22 -0
  198. package/dist/actions/migration/get-migration-target/index.d.ts.map +1 -0
  199. package/dist/actions/migration/get-migration-target/index.js +65 -0
  200. package/dist/actions/migration/get-migration-target/index.js.map +1 -0
  201. package/dist/actions/migration/index.d.ts +9 -0
  202. package/dist/actions/migration/migrate-name/index.d.ts +9 -0
  203. package/dist/actions/migration/migrate-name/index.d.ts.map +1 -0
  204. package/dist/actions/migration/migrate-name/index.js +145 -0
  205. package/dist/actions/migration/migrate-name/index.js.map +1 -0
  206. package/dist/actions/migration/migrate-names/index.d.ts +9 -0
  207. package/dist/actions/migration/migrate-names/index.d.ts.map +1 -0
  208. package/dist/actions/migration/migrate-names/index.js +210 -0
  209. package/dist/actions/migration/migrate-names/index.js.map +1 -0
  210. package/dist/actions/migration/mutation.d.ts +10 -0
  211. package/dist/actions/migration/mutation.d.ts.map +1 -0
  212. package/dist/actions/migration/mutation.js +210 -0
  213. package/dist/actions/migration/mutation.js.map +1 -0
  214. package/dist/actions/migration/types.d.ts +267 -0
  215. package/dist/actions/migration/types.d.ts.map +1 -0
  216. package/dist/actions/migration/types.js +145 -0
  217. package/dist/actions/migration/types.js.map +1 -0
  218. package/dist/actions/name/get-canonical-resource/index.d.ts +9 -0
  219. package/dist/actions/name/get-canonical-resource/index.d.ts.map +1 -0
  220. package/dist/actions/name/get-canonical-resource/index.js +20 -0
  221. package/dist/actions/name/get-canonical-resource/index.js.map +1 -0
  222. package/dist/actions/name/get-expiry/index.d.ts +15 -0
  223. package/dist/actions/name/get-expiry/index.d.ts.map +1 -0
  224. package/dist/actions/name/get-expiry/index.js +34 -0
  225. package/dist/actions/name/get-expiry/index.js.map +1 -0
  226. package/dist/actions/name/get-expiry/route.js +131 -0
  227. package/dist/actions/name/get-expiry/route.js.map +1 -0
  228. package/dist/actions/name/get-expiry/types.d.ts +25 -0
  229. package/dist/actions/name/get-expiry/types.d.ts.map +1 -0
  230. package/dist/actions/name/get-expiry/types.js +22 -0
  231. package/dist/actions/name/get-expiry/types.js.map +1 -0
  232. package/dist/actions/name/get-expiry/v1.js +49 -0
  233. package/dist/actions/name/get-expiry/v1.js.map +1 -0
  234. package/dist/actions/name/get-expiry/v2.js +60 -0
  235. package/dist/actions/name/get-expiry/v2.js.map +1 -0
  236. package/dist/actions/name/get-manager/index.d.ts +10 -0
  237. package/dist/actions/name/get-manager/index.d.ts.map +1 -0
  238. package/dist/actions/name/get-manager/index.js +21 -0
  239. package/dist/actions/name/get-manager/index.js.map +1 -0
  240. package/dist/actions/name/get-name-state/index.d.ts +116 -0
  241. package/dist/actions/name/get-name-state/index.d.ts.map +1 -0
  242. package/dist/actions/name/get-name-state/index.js +104 -0
  243. package/dist/actions/name/get-name-state/index.js.map +1 -0
  244. package/dist/actions/name/get-name-state/types.d.ts +240 -0
  245. package/dist/actions/name/get-name-state/types.d.ts.map +1 -0
  246. package/dist/actions/name/get-name-state/types.js +83 -0
  247. package/dist/actions/name/get-name-state/types.js.map +1 -0
  248. package/dist/actions/name/get-name-status/index.d.ts +8 -0
  249. package/dist/actions/name/get-name-status/index.d.ts.map +1 -0
  250. package/dist/actions/name/get-name-status/index.js +41 -0
  251. package/dist/actions/name/get-name-status/index.js.map +1 -0
  252. package/dist/actions/name/get-owner/index.d.ts +14 -0
  253. package/dist/actions/name/get-owner/index.d.ts.map +1 -0
  254. package/dist/actions/name/get-owner/index.js +34 -0
  255. package/dist/actions/name/get-owner/index.js.map +1 -0
  256. package/dist/actions/name/get-owner/route.js +105 -0
  257. package/dist/actions/name/get-owner/route.js.map +1 -0
  258. package/dist/actions/name/get-owner/types.d.ts +25 -0
  259. package/dist/actions/name/get-owner/types.d.ts.map +1 -0
  260. package/dist/actions/name/get-owner/types.js +22 -0
  261. package/dist/actions/name/get-owner/types.js.map +1 -0
  262. package/dist/actions/name/get-owner/v1.js +124 -0
  263. package/dist/actions/name/get-owner/v1.js.map +1 -0
  264. package/dist/actions/name/get-owner/v2.js +28 -0
  265. package/dist/actions/name/get-owner/v2.js.map +1 -0
  266. package/dist/actions/name/get-protocol/index.d.ts +10 -0
  267. package/dist/actions/name/get-protocol/index.d.ts.map +1 -0
  268. package/dist/actions/name/get-protocol/index.js +16 -0
  269. package/dist/actions/name/get-protocol/index.js.map +1 -0
  270. package/dist/actions/name/get-registrant/index.d.ts +10 -0
  271. package/dist/actions/name/get-registrant/index.d.ts.map +1 -0
  272. package/dist/actions/name/get-registrant/index.js +37 -0
  273. package/dist/actions/name/get-registrant/index.js.map +1 -0
  274. package/dist/actions/name/get-registry/index.d.ts +10 -0
  275. package/dist/actions/name/get-registry/index.d.ts.map +1 -0
  276. package/dist/actions/name/get-registry/index.js +20 -0
  277. package/dist/actions/name/get-registry/index.js.map +1 -0
  278. package/dist/actions/name/get-token-id/index.d.ts +9 -0
  279. package/dist/actions/name/get-token-id/index.d.ts.map +1 -0
  280. package/dist/actions/name/get-token-id/index.js +42 -0
  281. package/dist/actions/name/get-token-id/index.js.map +1 -0
  282. package/dist/actions/name/index.d.ts +19 -0
  283. package/dist/actions/name/is-available/index.d.ts +8 -0
  284. package/dist/actions/name/is-available/index.d.ts.map +1 -0
  285. package/dist/actions/name/is-available/index.js +46 -0
  286. package/dist/actions/name/is-available/index.js.map +1 -0
  287. package/dist/actions/name/is-migrated/index.d.ts +8 -0
  288. package/dist/actions/name/is-migrated/index.d.ts.map +1 -0
  289. package/dist/actions/name/is-migrated/index.js +28 -0
  290. package/dist/actions/name/is-migrated/index.js.map +1 -0
  291. package/dist/actions/name/is-renewable/index.d.ts +8 -0
  292. package/dist/actions/name/is-renewable/index.d.ts.map +1 -0
  293. package/dist/actions/name/is-renewable/index.js +44 -0
  294. package/dist/actions/name/is-renewable/index.js.map +1 -0
  295. package/dist/actions/name/is-reserved/index.d.ts +8 -0
  296. package/dist/actions/name/is-reserved/index.d.ts.map +1 -0
  297. package/dist/actions/name/is-reserved/index.js +16 -0
  298. package/dist/actions/name/is-reserved/index.js.map +1 -0
  299. package/dist/actions/name/is-wrapped/index.d.ts +8 -0
  300. package/dist/actions/name/is-wrapped/index.d.ts.map +1 -0
  301. package/dist/actions/name/is-wrapped/index.js +48 -0
  302. package/dist/actions/name/is-wrapped/index.js.map +1 -0
  303. package/dist/actions/ownership/address.js +25 -0
  304. package/dist/actions/ownership/address.js.map +1 -0
  305. package/dist/actions/ownership/authorization.js +25 -0
  306. package/dist/actions/ownership/authorization.js.map +1 -0
  307. package/dist/actions/ownership/get-ttl/index.d.ts +9 -0
  308. package/dist/actions/ownership/get-ttl/index.d.ts.map +1 -0
  309. package/dist/actions/ownership/get-ttl/index.js +38 -0
  310. package/dist/actions/ownership/get-ttl/index.js.map +1 -0
  311. package/dist/actions/ownership/index.d.ts +9 -0
  312. package/dist/actions/ownership/reclaim-name/index.d.ts +9 -0
  313. package/dist/actions/ownership/reclaim-name/index.d.ts.map +1 -0
  314. package/dist/actions/ownership/reclaim-name/index.js +40 -0
  315. package/dist/actions/ownership/reclaim-name/index.js.map +1 -0
  316. package/dist/actions/ownership/registrar-target.js +26 -0
  317. package/dist/actions/ownership/registrar-target.js.map +1 -0
  318. package/dist/actions/ownership/set-manager/index.d.ts +9 -0
  319. package/dist/actions/ownership/set-manager/index.d.ts.map +1 -0
  320. package/dist/actions/ownership/set-manager/index.js +49 -0
  321. package/dist/actions/ownership/set-manager/index.js.map +1 -0
  322. package/dist/actions/ownership/set-ttl/index.d.ts +9 -0
  323. package/dist/actions/ownership/set-ttl/index.d.ts.map +1 -0
  324. package/dist/actions/ownership/set-ttl/index.js +52 -0
  325. package/dist/actions/ownership/set-ttl/index.js.map +1 -0
  326. package/dist/actions/ownership/transfer-name/index.d.ts +10 -0
  327. package/dist/actions/ownership/transfer-name/index.d.ts.map +1 -0
  328. package/dist/actions/ownership/transfer-name/index.js +111 -0
  329. package/dist/actions/ownership/transfer-name/index.js.map +1 -0
  330. package/dist/actions/ownership/transfer-registrant/index.d.ts +9 -0
  331. package/dist/actions/ownership/transfer-registrant/index.d.ts.map +1 -0
  332. package/dist/actions/ownership/transfer-registrant/index.js +44 -0
  333. package/dist/actions/ownership/transfer-registrant/index.js.map +1 -0
  334. package/dist/actions/ownership/transfer-token.js +51 -0
  335. package/dist/actions/ownership/transfer-token.js.map +1 -0
  336. package/dist/actions/ownership/types.d.ts +58 -0
  337. package/dist/actions/ownership/types.d.ts.map +1 -0
  338. package/dist/actions/permissions/address.js +16 -0
  339. package/dist/actions/permissions/address.js.map +1 -0
  340. package/dist/actions/permissions/index.d.ts +13 -0
  341. package/dist/actions/permissions/name-approval/index.d.ts +10 -0
  342. package/dist/actions/permissions/name-approval/index.d.ts.map +1 -0
  343. package/dist/actions/permissions/name-approval/index.js +52 -0
  344. package/dist/actions/permissions/name-approval/index.js.map +1 -0
  345. package/dist/actions/permissions/name-approval/types.d.ts +19 -0
  346. package/dist/actions/permissions/name-approval/types.d.ts.map +1 -0
  347. package/dist/actions/permissions/operator-approval/index.d.ts +9 -0
  348. package/dist/actions/permissions/operator-approval/index.d.ts.map +1 -0
  349. package/dist/actions/permissions/operator-approval/index.js +48 -0
  350. package/dist/actions/permissions/operator-approval/index.js.map +1 -0
  351. package/dist/actions/permissions/operator-approval/types.d.ts +16 -0
  352. package/dist/actions/permissions/operator-approval/types.d.ts.map +1 -0
  353. package/dist/actions/permissions/registry-roles/index.d.ts +10 -0
  354. package/dist/actions/permissions/registry-roles/index.d.ts.map +1 -0
  355. package/dist/actions/permissions/registry-roles/index.js +51 -0
  356. package/dist/actions/permissions/registry-roles/index.js.map +1 -0
  357. package/dist/actions/permissions/registry-roles/types.d.ts +19 -0
  358. package/dist/actions/permissions/registry-roles/types.d.ts.map +1 -0
  359. package/dist/actions/permissions/resolver-delegate-approval/index.d.ts +9 -0
  360. package/dist/actions/permissions/resolver-delegate-approval/index.d.ts.map +1 -0
  361. package/dist/actions/permissions/resolver-delegate-approval/index.js +53 -0
  362. package/dist/actions/permissions/resolver-delegate-approval/index.js.map +1 -0
  363. package/dist/actions/permissions/resolver-delegate-approval/types.d.ts +14 -0
  364. package/dist/actions/permissions/resolver-delegate-approval/types.d.ts.map +1 -0
  365. package/dist/actions/permissions/resolver-roles/index.d.ts +12 -0
  366. package/dist/actions/permissions/resolver-roles/index.d.ts.map +1 -0
  367. package/dist/actions/permissions/resolver-roles/index.js +125 -0
  368. package/dist/actions/permissions/resolver-roles/index.js.map +1 -0
  369. package/dist/actions/permissions/resolver-roles/types.d.ts +34 -0
  370. package/dist/actions/permissions/resolver-roles/types.d.ts.map +1 -0
  371. package/dist/actions/permissions/roles.js +13 -0
  372. package/dist/actions/permissions/roles.js.map +1 -0
  373. package/dist/actions/permissions/set-record-permissions/index.d.ts +9 -0
  374. package/dist/actions/permissions/set-record-permissions/index.d.ts.map +1 -0
  375. package/dist/actions/permissions/set-record-permissions/index.js +122 -0
  376. package/dist/actions/permissions/set-record-permissions/index.js.map +1 -0
  377. package/dist/actions/permissions/set-record-permissions/types.d.ts +48 -0
  378. package/dist/actions/permissions/set-record-permissions/types.d.ts.map +1 -0
  379. package/dist/actions/records/clear-records/index.d.ts +9 -0
  380. package/dist/actions/records/clear-records/index.d.ts.map +1 -0
  381. package/dist/actions/records/clear-records/index.js +27 -0
  382. package/dist/actions/records/clear-records/index.js.map +1 -0
  383. package/dist/actions/records/clear-records/types.d.ts +10 -0
  384. package/dist/actions/records/clear-records/types.d.ts.map +1 -0
  385. package/dist/actions/records/get-abi/index.d.ts +20 -0
  386. package/dist/actions/records/get-abi/index.d.ts.map +1 -0
  387. package/dist/actions/records/get-abi/index.js +23 -0
  388. package/dist/actions/records/get-abi/index.js.map +1 -0
  389. package/dist/actions/records/get-abi/resolve.js +116 -0
  390. package/dist/actions/records/get-abi/resolve.js.map +1 -0
  391. package/dist/actions/records/get-abi/types.d.ts +30 -0
  392. package/dist/actions/records/get-abi/types.d.ts.map +1 -0
  393. package/dist/actions/records/get-abi/types.js +32 -0
  394. package/dist/actions/records/get-abi/types.js.map +1 -0
  395. package/dist/actions/records/get-address/index.d.ts +25 -0
  396. package/dist/actions/records/get-address/index.d.ts.map +1 -0
  397. package/dist/actions/records/get-address/index.js +31 -0
  398. package/dist/actions/records/get-address/index.js.map +1 -0
  399. package/dist/actions/records/get-address/resolve.js +107 -0
  400. package/dist/actions/records/get-address/resolve.js.map +1 -0
  401. package/dist/actions/records/get-address/types.d.ts +30 -0
  402. package/dist/actions/records/get-address/types.d.ts.map +1 -0
  403. package/dist/actions/records/get-address/types.js +20 -0
  404. package/dist/actions/records/get-address/types.js.map +1 -0
  405. package/dist/actions/records/get-avatar/index.d.ts +16 -0
  406. package/dist/actions/records/get-avatar/index.d.ts.map +1 -0
  407. package/dist/actions/records/get-avatar/index.js +20 -0
  408. package/dist/actions/records/get-avatar/index.js.map +1 -0
  409. package/dist/actions/records/get-avatar/resolve.js +39 -0
  410. package/dist/actions/records/get-avatar/resolve.js.map +1 -0
  411. package/dist/actions/records/get-avatar/types.d.ts +27 -0
  412. package/dist/actions/records/get-avatar/types.d.ts.map +1 -0
  413. package/dist/actions/records/get-avatar/types.js +16 -0
  414. package/dist/actions/records/get-avatar/types.js.map +1 -0
  415. package/dist/actions/records/get-content-hash/index.d.ts +16 -0
  416. package/dist/actions/records/get-content-hash/index.d.ts.map +1 -0
  417. package/dist/actions/records/get-content-hash/index.js +17 -0
  418. package/dist/actions/records/get-content-hash/index.js.map +1 -0
  419. package/dist/actions/records/get-content-hash/resolve.js +69 -0
  420. package/dist/actions/records/get-content-hash/resolve.js.map +1 -0
  421. package/dist/actions/records/get-content-hash/types.d.ts +24 -0
  422. package/dist/actions/records/get-content-hash/types.d.ts.map +1 -0
  423. package/dist/actions/records/get-content-hash/types.js +19 -0
  424. package/dist/actions/records/get-content-hash/types.js.map +1 -0
  425. package/dist/actions/records/get-data/index.d.ts +11 -0
  426. package/dist/actions/records/get-data/index.d.ts.map +1 -0
  427. package/dist/actions/records/get-data/index.js +17 -0
  428. package/dist/actions/records/get-data/index.js.map +1 -0
  429. package/dist/actions/records/get-data/resolve.js +57 -0
  430. package/dist/actions/records/get-data/resolve.js.map +1 -0
  431. package/dist/actions/records/get-data/types.d.ts +20 -0
  432. package/dist/actions/records/get-data/types.d.ts.map +1 -0
  433. package/dist/actions/records/get-data/types.js +12 -0
  434. package/dist/actions/records/get-data/types.js.map +1 -0
  435. package/dist/actions/records/get-interface/index.d.ts +11 -0
  436. package/dist/actions/records/get-interface/index.d.ts.map +1 -0
  437. package/dist/actions/records/get-interface/index.js +17 -0
  438. package/dist/actions/records/get-interface/index.js.map +1 -0
  439. package/dist/actions/records/get-interface/resolve.js +66 -0
  440. package/dist/actions/records/get-interface/resolve.js.map +1 -0
  441. package/dist/actions/records/get-interface/types.d.ts +20 -0
  442. package/dist/actions/records/get-interface/types.d.ts.map +1 -0
  443. package/dist/actions/records/get-interface/types.js +13 -0
  444. package/dist/actions/records/get-interface/types.js.map +1 -0
  445. package/dist/actions/records/get-name/index.d.ts +10 -0
  446. package/dist/actions/records/get-name/index.d.ts.map +1 -0
  447. package/dist/actions/records/get-name/index.js +17 -0
  448. package/dist/actions/records/get-name/index.js.map +1 -0
  449. package/dist/actions/records/get-name/resolve.js +47 -0
  450. package/dist/actions/records/get-name/resolve.js.map +1 -0
  451. package/dist/actions/records/get-name/types.d.ts +18 -0
  452. package/dist/actions/records/get-name/types.d.ts.map +1 -0
  453. package/dist/actions/records/get-name/types.js +8 -0
  454. package/dist/actions/records/get-name/types.js.map +1 -0
  455. package/dist/actions/records/get-pubkey/index.d.ts +11 -0
  456. package/dist/actions/records/get-pubkey/index.d.ts.map +1 -0
  457. package/dist/actions/records/get-pubkey/index.js +17 -0
  458. package/dist/actions/records/get-pubkey/index.js.map +1 -0
  459. package/dist/actions/records/get-pubkey/resolve.js +60 -0
  460. package/dist/actions/records/get-pubkey/resolve.js.map +1 -0
  461. package/dist/actions/records/get-pubkey/types.d.ts +19 -0
  462. package/dist/actions/records/get-pubkey/types.d.ts.map +1 -0
  463. package/dist/actions/records/get-pubkey/types.js +12 -0
  464. package/dist/actions/records/get-pubkey/types.js.map +1 -0
  465. package/dist/actions/records/get-records/index.d.ts +6 -0
  466. package/dist/actions/records/get-records/index.d.ts.map +1 -0
  467. package/dist/actions/records/get-records/index.js +16 -0
  468. package/dist/actions/records/get-records/index.js.map +1 -0
  469. package/dist/actions/records/get-records/resolve.js +562 -0
  470. package/dist/actions/records/get-records/resolve.js.map +1 -0
  471. package/dist/actions/records/get-records/types.d.ts +54 -0
  472. package/dist/actions/records/get-records/types.d.ts.map +1 -0
  473. package/dist/actions/records/get-text/index.d.ts +15 -0
  474. package/dist/actions/records/get-text/index.d.ts.map +1 -0
  475. package/dist/actions/records/get-text/index.js +31 -0
  476. package/dist/actions/records/get-text/index.js.map +1 -0
  477. package/dist/actions/records/get-text/resolve.js +72 -0
  478. package/dist/actions/records/get-text/resolve.js.map +1 -0
  479. package/dist/actions/records/get-text/types.d.ts +25 -0
  480. package/dist/actions/records/get-text/types.d.ts.map +1 -0
  481. package/dist/actions/records/get-text/types.js +11 -0
  482. package/dist/actions/records/get-text/types.js.map +1 -0
  483. package/dist/actions/records/index.d.ts +47 -0
  484. package/dist/actions/records/set-abi/index.d.ts +9 -0
  485. package/dist/actions/records/set-abi/index.d.ts.map +1 -0
  486. package/dist/actions/records/set-abi/index.js +57 -0
  487. package/dist/actions/records/set-abi/index.js.map +1 -0
  488. package/dist/actions/records/set-abi/types.d.ts +17 -0
  489. package/dist/actions/records/set-abi/types.d.ts.map +1 -0
  490. package/dist/actions/records/set-address/index.d.ts +10 -0
  491. package/dist/actions/records/set-address/index.d.ts.map +1 -0
  492. package/dist/actions/records/set-address/index.js +63 -0
  493. package/dist/actions/records/set-address/index.js.map +1 -0
  494. package/dist/actions/records/set-address/types.d.ts +22 -0
  495. package/dist/actions/records/set-address/types.d.ts.map +1 -0
  496. package/dist/actions/records/set-alias/index.d.ts +9 -0
  497. package/dist/actions/records/set-alias/index.d.ts.map +1 -0
  498. package/dist/actions/records/set-alias/index.js +32 -0
  499. package/dist/actions/records/set-alias/index.js.map +1 -0
  500. package/dist/actions/records/set-alias/types.d.ts +11 -0
  501. package/dist/actions/records/set-alias/types.d.ts.map +1 -0
  502. package/dist/actions/records/set-avatar/index.d.ts +10 -0
  503. package/dist/actions/records/set-avatar/index.d.ts.map +1 -0
  504. package/dist/actions/records/set-avatar/index.js +43 -0
  505. package/dist/actions/records/set-avatar/index.js.map +1 -0
  506. package/dist/actions/records/set-avatar/types.d.ts +16 -0
  507. package/dist/actions/records/set-avatar/types.d.ts.map +1 -0
  508. package/dist/actions/records/set-content-hash/index.d.ts +9 -0
  509. package/dist/actions/records/set-content-hash/index.d.ts.map +1 -0
  510. package/dist/actions/records/set-content-hash/index.js +32 -0
  511. package/dist/actions/records/set-content-hash/index.js.map +1 -0
  512. package/dist/actions/records/set-content-hash/types.d.ts +13 -0
  513. package/dist/actions/records/set-content-hash/types.d.ts.map +1 -0
  514. package/dist/actions/records/set-data/index.d.ts +9 -0
  515. package/dist/actions/records/set-data/index.d.ts.map +1 -0
  516. package/dist/actions/records/set-data/index.js +42 -0
  517. package/dist/actions/records/set-data/index.js.map +1 -0
  518. package/dist/actions/records/set-data/types.d.ts +13 -0
  519. package/dist/actions/records/set-data/types.d.ts.map +1 -0
  520. package/dist/actions/records/set-interface/index.d.ts +9 -0
  521. package/dist/actions/records/set-interface/index.d.ts.map +1 -0
  522. package/dist/actions/records/set-interface/index.js +50 -0
  523. package/dist/actions/records/set-interface/index.js.map +1 -0
  524. package/dist/actions/records/set-interface/types.d.ts +12 -0
  525. package/dist/actions/records/set-interface/types.d.ts.map +1 -0
  526. package/dist/actions/records/set-name/index.d.ts +9 -0
  527. package/dist/actions/records/set-name/index.d.ts.map +1 -0
  528. package/dist/actions/records/set-name/index.js +31 -0
  529. package/dist/actions/records/set-name/index.js.map +1 -0
  530. package/dist/actions/records/set-name/types.d.ts +11 -0
  531. package/dist/actions/records/set-name/types.d.ts.map +1 -0
  532. package/dist/actions/records/set-pubkey/index.d.ts +9 -0
  533. package/dist/actions/records/set-pubkey/index.d.ts.map +1 -0
  534. package/dist/actions/records/set-pubkey/index.js +39 -0
  535. package/dist/actions/records/set-pubkey/index.js.map +1 -0
  536. package/dist/actions/records/set-pubkey/types.d.ts +13 -0
  537. package/dist/actions/records/set-pubkey/types.d.ts.map +1 -0
  538. package/dist/actions/records/set-records/index.d.ts +8 -0
  539. package/dist/actions/records/set-records/index.d.ts.map +1 -0
  540. package/dist/actions/records/set-records/index.js +177 -0
  541. package/dist/actions/records/set-records/index.js.map +1 -0
  542. package/dist/actions/records/set-records/types.d.ts +70 -0
  543. package/dist/actions/records/set-records/types.d.ts.map +1 -0
  544. package/dist/actions/records/set-text/index.d.ts +9 -0
  545. package/dist/actions/records/set-text/index.d.ts.map +1 -0
  546. package/dist/actions/records/set-text/index.js +34 -0
  547. package/dist/actions/records/set-text/index.js.map +1 -0
  548. package/dist/actions/records/set-text/types.d.ts +12 -0
  549. package/dist/actions/records/set-text/types.d.ts.map +1 -0
  550. package/dist/actions/records/set-texts/index.d.ts +9 -0
  551. package/dist/actions/records/set-texts/index.d.ts.map +1 -0
  552. package/dist/actions/records/set-texts/index.js +41 -0
  553. package/dist/actions/records/set-texts/index.js.map +1 -0
  554. package/dist/actions/records/set-texts/types.d.ts +15 -0
  555. package/dist/actions/records/set-texts/types.d.ts.map +1 -0
  556. package/dist/actions/registration/get-commitment-status/index.d.ts +36 -0
  557. package/dist/actions/registration/get-commitment-status/index.d.ts.map +1 -0
  558. package/dist/actions/registration/get-commitment-status/index.js +66 -0
  559. package/dist/actions/registration/get-commitment-status/index.js.map +1 -0
  560. package/dist/actions/registration/get-registration-parameters/index.d.ts +33 -0
  561. package/dist/actions/registration/get-registration-parameters/index.d.ts.map +1 -0
  562. package/dist/actions/registration/get-registration-parameters/index.js +96 -0
  563. package/dist/actions/registration/get-registration-parameters/index.js.map +1 -0
  564. package/dist/actions/registration/get-registration-plan/index.d.ts +113 -0
  565. package/dist/actions/registration/get-registration-plan/index.d.ts.map +1 -0
  566. package/dist/actions/registration/get-registration-plan/index.js +47 -0
  567. package/dist/actions/registration/get-registration-plan/index.js.map +1 -0
  568. package/dist/actions/registration/get-registration-price/index.d.ts +41 -0
  569. package/dist/actions/registration/get-registration-price/index.d.ts.map +1 -0
  570. package/dist/actions/registration/get-registration-price/index.js +98 -0
  571. package/dist/actions/registration/get-registration-price/index.js.map +1 -0
  572. package/dist/actions/registration/get-renewal-price/index.d.ts +40 -0
  573. package/dist/actions/registration/get-renewal-price/index.d.ts.map +1 -0
  574. package/dist/actions/registration/get-renewal-price/index.js +99 -0
  575. package/dist/actions/registration/get-renewal-price/index.js.map +1 -0
  576. package/dist/actions/registration/index.d.ts +15 -0
  577. package/dist/actions/registration/is-payment-token-supported/index.d.ts +28 -0
  578. package/dist/actions/registration/is-payment-token-supported/index.d.ts.map +1 -0
  579. package/dist/actions/registration/is-payment-token-supported/index.js +35 -0
  580. package/dist/actions/registration/is-payment-token-supported/index.js.map +1 -0
  581. package/dist/actions/registration/make-registration-commitment/index.d.ts +13 -0
  582. package/dist/actions/registration/make-registration-commitment/index.d.ts.map +1 -0
  583. package/dist/actions/registration/make-registration-commitment/index.js +70 -0
  584. package/dist/actions/registration/make-registration-commitment/index.js.map +1 -0
  585. package/dist/actions/registration/mutation.d.ts +11 -0
  586. package/dist/actions/registration/mutation.d.ts.map +1 -0
  587. package/dist/actions/registration/mutation.js +162 -0
  588. package/dist/actions/registration/mutation.js.map +1 -0
  589. package/dist/actions/registration/register-name/index.d.ts +9 -0
  590. package/dist/actions/registration/register-name/index.d.ts.map +1 -0
  591. package/dist/actions/registration/register-name/index.js +252 -0
  592. package/dist/actions/registration/register-name/index.js.map +1 -0
  593. package/dist/actions/registration/register-names/index.d.ts +9 -0
  594. package/dist/actions/registration/register-names/index.d.ts.map +1 -0
  595. package/dist/actions/registration/register-names/index.js +36 -0
  596. package/dist/actions/registration/register-names/index.js.map +1 -0
  597. package/dist/actions/registration/renew-name/index.d.ts +6 -0
  598. package/dist/actions/registration/renew-name/index.d.ts.map +1 -0
  599. package/dist/actions/registration/renew-name/index.js +139 -0
  600. package/dist/actions/registration/renew-name/index.js.map +1 -0
  601. package/dist/actions/registration/renew-names/index.d.ts +9 -0
  602. package/dist/actions/registration/renew-names/index.d.ts.map +1 -0
  603. package/dist/actions/registration/renew-names/index.js +207 -0
  604. package/dist/actions/registration/renew-names/index.js.map +1 -0
  605. package/dist/actions/registration/renewal-mutation.d.ts +10 -0
  606. package/dist/actions/registration/renewal-mutation.d.ts.map +1 -0
  607. package/dist/actions/registration/renewal-mutation.js +220 -0
  608. package/dist/actions/registration/renewal-mutation.js.map +1 -0
  609. package/dist/actions/registration/types.d.ts +418 -0
  610. package/dist/actions/registration/types.d.ts.map +1 -0
  611. package/dist/actions/registration/types.js +185 -0
  612. package/dist/actions/registration/types.js.map +1 -0
  613. package/dist/actions/resolution/create-resolver/index.d.ts +16 -0
  614. package/dist/actions/resolution/create-resolver/index.d.ts.map +1 -0
  615. package/dist/actions/resolution/create-resolver/index.js +77 -0
  616. package/dist/actions/resolution/create-resolver/index.js.map +1 -0
  617. package/dist/actions/resolution/create-resolver/prepare.d.ts +9 -0
  618. package/dist/actions/resolution/create-resolver/prepare.d.ts.map +1 -0
  619. package/dist/actions/resolution/create-resolver/prepare.js +69 -0
  620. package/dist/actions/resolution/create-resolver/prepare.js.map +1 -0
  621. package/dist/actions/resolution/create-resolver/types.d.ts +28 -0
  622. package/dist/actions/resolution/create-resolver/types.d.ts.map +1 -0
  623. package/dist/actions/resolution/get-alias/index.d.ts +19 -0
  624. package/dist/actions/resolution/get-alias/index.d.ts.map +1 -0
  625. package/dist/actions/resolution/get-alias/index.js +56 -0
  626. package/dist/actions/resolution/get-alias/index.js.map +1 -0
  627. package/dist/actions/resolution/get-alias/types.d.ts +25 -0
  628. package/dist/actions/resolution/get-alias/types.d.ts.map +1 -0
  629. package/dist/actions/resolution/get-alias/types.js +22 -0
  630. package/dist/actions/resolution/get-alias/types.js.map +1 -0
  631. package/dist/actions/resolution/get-or-create-resolver/index.d.ts +9 -0
  632. package/dist/actions/resolution/get-or-create-resolver/index.d.ts.map +1 -0
  633. package/dist/actions/resolution/get-or-create-resolver/index.js +51 -0
  634. package/dist/actions/resolution/get-or-create-resolver/index.js.map +1 -0
  635. package/dist/actions/resolution/get-or-create-resolver/types.d.ts +33 -0
  636. package/dist/actions/resolution/get-or-create-resolver/types.d.ts.map +1 -0
  637. package/dist/actions/resolution/get-resolver/find.js +34 -0
  638. package/dist/actions/resolution/get-resolver/find.js.map +1 -0
  639. package/dist/actions/resolution/get-resolver/index.d.ts +8 -0
  640. package/dist/actions/resolution/get-resolver/index.d.ts.map +1 -0
  641. package/dist/actions/resolution/get-resolver/index.js +16 -0
  642. package/dist/actions/resolution/get-resolver/index.js.map +1 -0
  643. package/dist/actions/resolution/get-resolver/types.d.ts +15 -0
  644. package/dist/actions/resolution/get-resolver/types.d.ts.map +1 -0
  645. package/dist/actions/resolution/get-resolver-version/index.d.ts +20 -0
  646. package/dist/actions/resolution/get-resolver-version/index.d.ts.map +1 -0
  647. package/dist/actions/resolution/get-resolver-version/index.js +45 -0
  648. package/dist/actions/resolution/get-resolver-version/index.js.map +1 -0
  649. package/dist/actions/resolution/get-resolver-version/types.d.ts +23 -0
  650. package/dist/actions/resolution/get-resolver-version/types.d.ts.map +1 -0
  651. package/dist/actions/resolution/get-resolver-version/types.js +20 -0
  652. package/dist/actions/resolution/get-resolver-version/types.js.map +1 -0
  653. package/dist/actions/resolution/index.d.ts +21 -0
  654. package/dist/actions/resolution/resolve/execute.js +66 -0
  655. package/dist/actions/resolution/resolve/execute.js.map +1 -0
  656. package/dist/actions/resolution/resolve/index.d.ts +15 -0
  657. package/dist/actions/resolution/resolve/index.d.ts.map +1 -0
  658. package/dist/actions/resolution/resolve/index.js +28 -0
  659. package/dist/actions/resolution/resolve/index.js.map +1 -0
  660. package/dist/actions/resolution/resolve/types.d.ts +33 -0
  661. package/dist/actions/resolution/resolve/types.d.ts.map +1 -0
  662. package/dist/actions/resolution/resolve/types.js +17 -0
  663. package/dist/actions/resolution/resolve/types.js.map +1 -0
  664. package/dist/actions/resolution/resolve-batch/index.d.ts +10 -0
  665. package/dist/actions/resolution/resolve-batch/index.d.ts.map +1 -0
  666. package/dist/actions/resolution/resolve-batch/index.js +15 -0
  667. package/dist/actions/resolution/resolve-batch/index.js.map +1 -0
  668. package/dist/actions/resolution/resolve-batch/types.d.ts +22 -0
  669. package/dist/actions/resolution/resolve-batch/types.d.ts.map +1 -0
  670. package/dist/actions/resolution/set-resolver/index.d.ts +9 -0
  671. package/dist/actions/resolution/set-resolver/index.d.ts.map +1 -0
  672. package/dist/actions/resolution/set-resolver/index.js +85 -0
  673. package/dist/actions/resolution/set-resolver/index.js.map +1 -0
  674. package/dist/actions/resolution/set-resolver/types.d.ts +11 -0
  675. package/dist/actions/resolution/set-resolver/types.d.ts.map +1 -0
  676. package/dist/actions/resolution/set-resolver-and-records/index.d.ts +9 -0
  677. package/dist/actions/resolution/set-resolver-and-records/index.d.ts.map +1 -0
  678. package/dist/actions/resolution/set-resolver-and-records/index.js +160 -0
  679. package/dist/actions/resolution/set-resolver-and-records/index.js.map +1 -0
  680. package/dist/actions/resolution/set-resolver-and-records/types.d.ts +33 -0
  681. package/dist/actions/resolution/set-resolver-and-records/types.d.ts.map +1 -0
  682. package/dist/actions/resolution/upgrade-resolver/index.d.ts +14 -0
  683. package/dist/actions/resolution/upgrade-resolver/index.d.ts.map +1 -0
  684. package/dist/actions/resolution/upgrade-resolver/index.js +152 -0
  685. package/dist/actions/resolution/upgrade-resolver/index.js.map +1 -0
  686. package/dist/actions/resolution/upgrade-resolver/types.d.ts +33 -0
  687. package/dist/actions/resolution/upgrade-resolver/types.d.ts.map +1 -0
  688. package/dist/actions/reverse/authorization.js +70 -0
  689. package/dist/actions/reverse/authorization.js.map +1 -0
  690. package/dist/actions/reverse/clear-primary-name/index.d.ts +9 -0
  691. package/dist/actions/reverse/clear-primary-name/index.d.ts.map +1 -0
  692. package/dist/actions/reverse/clear-primary-name/index.js +8 -0
  693. package/dist/actions/reverse/clear-primary-name/index.js.map +1 -0
  694. package/dist/actions/reverse/get-primary-name/index.d.ts +11 -0
  695. package/dist/actions/reverse/get-primary-name/index.d.ts.map +1 -0
  696. package/dist/actions/reverse/get-primary-name/index.js +51 -0
  697. package/dist/actions/reverse/get-primary-name/index.js.map +1 -0
  698. package/dist/actions/reverse/get-primary-name/types.d.ts +20 -0
  699. package/dist/actions/reverse/get-primary-name/types.d.ts.map +1 -0
  700. package/dist/actions/reverse/get-primary-name/types.js +12 -0
  701. package/dist/actions/reverse/get-primary-name/types.js.map +1 -0
  702. package/dist/actions/reverse/index.d.ts +8 -0
  703. package/dist/actions/reverse/mutation.js +89 -0
  704. package/dist/actions/reverse/mutation.js.map +1 -0
  705. package/dist/actions/reverse/set-contract-primary-name/index.d.ts +9 -0
  706. package/dist/actions/reverse/set-contract-primary-name/index.d.ts.map +1 -0
  707. package/dist/actions/reverse/set-contract-primary-name/index.js +13 -0
  708. package/dist/actions/reverse/set-contract-primary-name/index.js.map +1 -0
  709. package/dist/actions/reverse/set-primary-name/index.d.ts +9 -0
  710. package/dist/actions/reverse/set-primary-name/index.d.ts.map +1 -0
  711. package/dist/actions/reverse/set-primary-name/index.js +11 -0
  712. package/dist/actions/reverse/set-primary-name/index.js.map +1 -0
  713. package/dist/actions/reverse/set-primary-name-for-address/index.d.ts +9 -0
  714. package/dist/actions/reverse/set-primary-name-for-address/index.d.ts.map +1 -0
  715. package/dist/actions/reverse/set-primary-name-for-address/index.js +12 -0
  716. package/dist/actions/reverse/set-primary-name-for-address/index.js.map +1 -0
  717. package/dist/actions/reverse/types.d.ts +18 -0
  718. package/dist/actions/reverse/types.d.ts.map +1 -0
  719. package/dist/actions/subnames/create-subname/index.d.ts +9 -0
  720. package/dist/actions/subnames/create-subname/index.d.ts.map +1 -0
  721. package/dist/actions/subnames/create-subname/index.js +165 -0
  722. package/dist/actions/subnames/create-subname/index.js.map +1 -0
  723. package/dist/actions/subnames/index.d.ts +6 -0
  724. package/dist/actions/subnames/intents.js +148 -0
  725. package/dist/actions/subnames/intents.js.map +1 -0
  726. package/dist/actions/subnames/mutation.d.ts +12 -0
  727. package/dist/actions/subnames/mutation.d.ts.map +1 -0
  728. package/dist/actions/subnames/mutation.js +214 -0
  729. package/dist/actions/subnames/mutation.js.map +1 -0
  730. package/dist/actions/subnames/route.js +105 -0
  731. package/dist/actions/subnames/route.js.map +1 -0
  732. package/dist/actions/subnames/set-subname-record/index.d.ts +9 -0
  733. package/dist/actions/subnames/set-subname-record/index.d.ts.map +1 -0
  734. package/dist/actions/subnames/set-subname-record/index.js +72 -0
  735. package/dist/actions/subnames/set-subname-record/index.js.map +1 -0
  736. package/dist/actions/subnames/transfer-subname/index.d.ts +11 -0
  737. package/dist/actions/subnames/transfer-subname/index.d.ts.map +1 -0
  738. package/dist/actions/subnames/transfer-subname/index.js +15 -0
  739. package/dist/actions/subnames/transfer-subname/index.js.map +1 -0
  740. package/dist/actions/subnames/types.d.ts +70 -0
  741. package/dist/actions/subnames/types.d.ts.map +1 -0
  742. package/dist/actions/wrapping/extend-subname-expiry/index.d.ts +3 -0
  743. package/dist/actions/wrapping/fuse-mask.d.ts +14 -0
  744. package/dist/actions/wrapping/fuse-mask.d.ts.map +1 -0
  745. package/dist/actions/wrapping/fuse-mask.js +36 -0
  746. package/dist/actions/wrapping/fuse-mask.js.map +1 -0
  747. package/dist/actions/wrapping/get-fuses/index.d.ts +10 -0
  748. package/dist/actions/wrapping/get-fuses/index.d.ts.map +1 -0
  749. package/dist/actions/wrapping/get-fuses/index.js +28 -0
  750. package/dist/actions/wrapping/get-fuses/index.js.map +1 -0
  751. package/dist/actions/wrapping/get-wrapper-expiry/index.d.ts +10 -0
  752. package/dist/actions/wrapping/get-wrapper-expiry/index.d.ts.map +1 -0
  753. package/dist/actions/wrapping/get-wrapper-expiry/index.js +24 -0
  754. package/dist/actions/wrapping/get-wrapper-expiry/index.js.map +1 -0
  755. package/dist/actions/wrapping/index.d.ts +11 -0
  756. package/dist/actions/wrapping/intents.js +71 -0
  757. package/dist/actions/wrapping/intents.js.map +1 -0
  758. package/dist/actions/wrapping/mutation.d.ts +12 -0
  759. package/dist/actions/wrapping/mutation.d.ts.map +1 -0
  760. package/dist/actions/wrapping/mutation.js +174 -0
  761. package/dist/actions/wrapping/mutation.js.map +1 -0
  762. package/dist/actions/wrapping/route.js +63 -0
  763. package/dist/actions/wrapping/route.js.map +1 -0
  764. package/dist/actions/wrapping/set-child-fuses/index.d.ts +3 -0
  765. package/dist/actions/wrapping/set-fuses/index.d.ts +3 -0
  766. package/dist/actions/wrapping/types.d.ts +84 -0
  767. package/dist/actions/wrapping/types.d.ts.map +1 -0
  768. package/dist/actions/wrapping/unwrap-name/index.d.ts +3 -0
  769. package/dist/actions/wrapping/wrap-name/index.d.ts +9 -0
  770. package/dist/actions/wrapping/wrap-name/index.d.ts.map +1 -0
  771. package/dist/actions/wrapping/wrap-name/index.js +147 -0
  772. package/dist/actions/wrapping/wrap-name/index.js.map +1 -0
  773. package/dist/config/config.d.ts +52 -0
  774. package/dist/config/config.d.ts.map +1 -0
  775. package/dist/config/config.js +6 -0
  776. package/dist/config/config.js.map +1 -0
  777. package/dist/config/create-config.d.ts +6 -0
  778. package/dist/config/create-config.d.ts.map +1 -0
  779. package/dist/config/create-config.js +67 -0
  780. package/dist/config/create-config.js.map +1 -0
  781. package/dist/config/gateway-options.d.ts +19 -0
  782. package/dist/config/gateway-options.d.ts.map +1 -0
  783. package/dist/config/gateway-options.js +37 -0
  784. package/dist/config/gateway-options.js.map +1 -0
  785. package/dist/config/index.d.ts +7 -0
  786. package/dist/config/network.d.ts +8 -0
  787. package/dist/config/network.d.ts.map +1 -0
  788. package/dist/config/network.js +13 -0
  789. package/dist/config/network.js.map +1 -0
  790. package/dist/config/read-options.d.ts +13 -0
  791. package/dist/config/read-options.d.ts.map +1 -0
  792. package/dist/config/read-options.js +27 -0
  793. package/dist/config/read-options.js.map +1 -0
  794. package/dist/config/write-options.d.ts +26 -0
  795. package/dist/config/write-options.d.ts.map +1 -0
  796. package/dist/config/write-options.js +37 -0
  797. package/dist/config/write-options.js.map +1 -0
  798. package/dist/errors/authorization-error.d.ts +12 -0
  799. package/dist/errors/authorization-error.d.ts.map +1 -0
  800. package/dist/errors/authorization-error.js +17 -0
  801. package/dist/errors/authorization-error.js.map +1 -0
  802. package/dist/errors/codec-error.d.ts +12 -0
  803. package/dist/errors/codec-error.d.ts.map +1 -0
  804. package/dist/errors/codec-error.js +26 -0
  805. package/dist/errors/codec-error.js.map +1 -0
  806. package/dist/errors/config-error.d.ts +12 -0
  807. package/dist/errors/config-error.d.ts.map +1 -0
  808. package/dist/errors/config-error.js +25 -0
  809. package/dist/errors/config-error.js.map +1 -0
  810. package/dist/errors/contract-error.d.ts +18 -0
  811. package/dist/errors/contract-error.d.ts.map +1 -0
  812. package/dist/errors/contract-error.js +27 -0
  813. package/dist/errors/contract-error.js.map +1 -0
  814. package/dist/errors/dns-import-error.d.ts +12 -0
  815. package/dist/errors/dns-import-error.d.ts.map +1 -0
  816. package/dist/errors/dns-import-error.js +18 -0
  817. package/dist/errors/dns-import-error.js.map +1 -0
  818. package/dist/errors/gateway-error.d.ts +13 -0
  819. package/dist/errors/gateway-error.d.ts.map +1 -0
  820. package/dist/errors/gateway-error.js +17 -0
  821. package/dist/errors/gateway-error.js.map +1 -0
  822. package/dist/errors/index.d.ts +16 -0
  823. package/dist/errors/migration-error.d.ts +12 -0
  824. package/dist/errors/migration-error.d.ts.map +1 -0
  825. package/dist/errors/migration-error.js +21 -0
  826. package/dist/errors/migration-error.js.map +1 -0
  827. package/dist/errors/name-error.d.ts +12 -0
  828. package/dist/errors/name-error.d.ts.map +1 -0
  829. package/dist/errors/name-error.js +12 -0
  830. package/dist/errors/name-error.js.map +1 -0
  831. package/dist/errors/registration-error.d.ts +12 -0
  832. package/dist/errors/registration-error.d.ts.map +1 -0
  833. package/dist/errors/registration-error.js +22 -0
  834. package/dist/errors/registration-error.js.map +1 -0
  835. package/dist/errors/renewal-error.d.ts +12 -0
  836. package/dist/errors/renewal-error.d.ts.map +1 -0
  837. package/dist/errors/renewal-error.js +21 -0
  838. package/dist/errors/renewal-error.js.map +1 -0
  839. package/dist/errors/reverse-name-error.d.ts +12 -0
  840. package/dist/errors/reverse-name-error.d.ts.map +1 -0
  841. package/dist/errors/reverse-name-error.js +12 -0
  842. package/dist/errors/reverse-name-error.js.map +1 -0
  843. package/dist/errors/rpc-error.d.ts +13 -0
  844. package/dist/errors/rpc-error.d.ts.map +1 -0
  845. package/dist/errors/rpc-error.js +17 -0
  846. package/dist/errors/rpc-error.js.map +1 -0
  847. package/dist/errors/transaction-error.d.ts +15 -0
  848. package/dist/errors/transaction-error.d.ts.map +1 -0
  849. package/dist/errors/transaction-error.js +21 -0
  850. package/dist/errors/transaction-error.js.map +1 -0
  851. package/dist/errors/wallet-error.d.ts +13 -0
  852. package/dist/errors/wallet-error.d.ts.map +1 -0
  853. package/dist/errors/wallet-error.js +21 -0
  854. package/dist/errors/wallet-error.js.map +1 -0
  855. package/dist/errors/write-plan-error.d.ts +13 -0
  856. package/dist/errors/write-plan-error.d.ts.map +1 -0
  857. package/dist/errors/write-plan-error.js +19 -0
  858. package/dist/errors/write-plan-error.js.map +1 -0
  859. package/dist/index.d.ts +233 -0
  860. package/dist/index.js +192 -0
  861. package/dist/internal/capabilities/interface-support.js +22 -0
  862. package/dist/internal/capabilities/interface-support.js.map +1 -0
  863. package/dist/internal/capabilities/registry-permissions.js +40 -0
  864. package/dist/internal/capabilities/registry-permissions.js.map +1 -0
  865. package/dist/internal/capabilities/resolver-authorization.js +9 -0
  866. package/dist/internal/capabilities/resolver-authorization.js.map +1 -0
  867. package/dist/internal/capabilities/resolver-permissions.js +32 -0
  868. package/dist/internal/capabilities/resolver-permissions.js.map +1 -0
  869. package/dist/internal/capabilities/resolver-resource.d.ts +36 -0
  870. package/dist/internal/capabilities/resolver-resource.d.ts.map +1 -0
  871. package/dist/internal/capabilities/resolver-resource.js +45 -0
  872. package/dist/internal/capabilities/resolver-resource.js.map +1 -0
  873. package/dist/internal/client/ethereum-client.js +35 -0
  874. package/dist/internal/client/ethereum-client.js.map +1 -0
  875. package/dist/internal/config/context.js +16 -0
  876. package/dist/internal/config/context.js.map +1 -0
  877. package/dist/internal/config/network-profile.js +21 -0
  878. package/dist/internal/config/network-profile.js.map +1 -0
  879. package/dist/internal/config/validation.js +37 -0
  880. package/dist/internal/config/validation.js.map +1 -0
  881. package/dist/internal/config/wagmi-clients.js +26 -0
  882. package/dist/internal/config/wagmi-clients.js.map +1 -0
  883. package/dist/internal/dns/resolve-dns-records.js +45 -0
  884. package/dist/internal/dns/resolve-dns-records.js.map +1 -0
  885. package/dist/internal/errors/viem-error.d.ts +3 -0
  886. package/dist/internal/errors/viem-error.js +88 -0
  887. package/dist/internal/errors/viem-error.js.map +1 -0
  888. package/dist/internal/errors/write-error.js +52 -0
  889. package/dist/internal/errors/write-error.js.map +1 -0
  890. package/dist/internal/events/contracts.js +70 -0
  891. package/dist/internal/events/contracts.js.map +1 -0
  892. package/dist/internal/events/normalize-event.js +139 -0
  893. package/dist/internal/events/normalize-event.js.map +1 -0
  894. package/dist/internal/gateway/ccip-request.js +103 -0
  895. package/dist/internal/gateway/ccip-request.js.map +1 -0
  896. package/dist/internal/gateway/validate-url.js +19 -0
  897. package/dist/internal/gateway/validate-url.js.map +1 -0
  898. package/dist/internal/name/name-route.js +120 -0
  899. package/dist/internal/name/name-route.js.map +1 -0
  900. package/dist/internal/read/block-timestamp.js +18 -0
  901. package/dist/internal/read/block-timestamp.js.map +1 -0
  902. package/dist/internal/read/contract-read-resolver.d.ts +4 -0
  903. package/dist/internal/read/contract-read-resolver.js +82 -0
  904. package/dist/internal/read/contract-read-resolver.js.map +1 -0
  905. package/dist/internal/read/contract-read.d.ts +4 -0
  906. package/dist/internal/read/contract-read.js +32 -0
  907. package/dist/internal/read/contract-read.js.map +1 -0
  908. package/dist/internal/read/execute-read.js +21 -0
  909. package/dist/internal/read/execute-read.js.map +1 -0
  910. package/dist/internal/read/execution-context.d.ts +13 -0
  911. package/dist/internal/read/execution-context.d.ts.map +1 -0
  912. package/dist/internal/read/execution-context.js +66 -0
  913. package/dist/internal/read/execution-context.js.map +1 -0
  914. package/dist/internal/registration/commitment-status.js +36 -0
  915. package/dist/internal/registration/commitment-status.js.map +1 -0
  916. package/dist/internal/registration/payment-token.js +33 -0
  917. package/dist/internal/registration/payment-token.js.map +1 -0
  918. package/dist/internal/registration/second-level-eth.js +18 -0
  919. package/dist/internal/registration/second-level-eth.js.map +1 -0
  920. package/dist/internal/resolver/resolve-name.js +52 -0
  921. package/dist/internal/resolver/resolve-name.js.map +1 -0
  922. package/dist/internal/resolver/resolve-records.js +64 -0
  923. package/dist/internal/resolver/resolve-records.js.map +1 -0
  924. package/dist/internal/resolver/reverse-address.js +33 -0
  925. package/dist/internal/resolver/reverse-address.js.map +1 -0
  926. package/dist/internal/services/context.js +30 -0
  927. package/dist/internal/services/context.js.map +1 -0
  928. package/dist/internal/services/deployment.js +8 -0
  929. package/dist/internal/services/deployment.js.map +1 -0
  930. package/dist/internal/services/network.js +8 -0
  931. package/dist/internal/services/network.js.map +1 -0
  932. package/dist/internal/services/public-client.js +8 -0
  933. package/dist/internal/services/public-client.js.map +1 -0
  934. package/dist/internal/services/wallet-client.js +45 -0
  935. package/dist/internal/services/wallet-client.js.map +1 -0
  936. package/dist/internal/sync-function.d.ts +9 -0
  937. package/dist/internal/sync-function.d.ts.map +1 -0
  938. package/dist/internal/sync-function.js +20 -0
  939. package/dist/internal/sync-function.js.map +1 -0
  940. package/dist/internal/write/confirm-native-batch.js +52 -0
  941. package/dist/internal/write/confirm-native-batch.js.map +1 -0
  942. package/dist/internal/write/execute-native-batch.js +39 -0
  943. package/dist/internal/write/execute-native-batch.js.map +1 -0
  944. package/dist/internal/write/execute-sequential.js +88 -0
  945. package/dist/internal/write/execute-sequential.js.map +1 -0
  946. package/dist/internal/write/prepare-resolver-write.js +50 -0
  947. package/dist/internal/write/prepare-resolver-write.js.map +1 -0
  948. package/dist/internal/write/prepare-write-intents.js +49 -0
  949. package/dist/internal/write/prepare-write-intents.js.map +1 -0
  950. package/dist/internal/write/redact-sensitive-error.js +12 -0
  951. package/dist/internal/write/redact-sensitive-error.js.map +1 -0
  952. package/dist/internal/write/resolver-write-action.js +42 -0
  953. package/dist/internal/write/resolver-write-action.js.map +1 -0
  954. package/dist/internal/write/simulate-prepared-calls.js +15 -0
  955. package/dist/internal/write/simulate-prepared-calls.js.map +1 -0
  956. package/dist/internal/write/single-write-action.js +24 -0
  957. package/dist/internal/write/single-write-action.js.map +1 -0
  958. package/dist/internal/write/write-client.js +104 -0
  959. package/dist/internal/write/write-client.js.map +1 -0
  960. package/dist/names/address-record.d.ts +16 -0
  961. package/dist/names/address-record.d.ts.map +1 -0
  962. package/dist/names/address-record.js +57 -0
  963. package/dist/names/address-record.js.map +1 -0
  964. package/dist/names/analyze.d.ts +20 -0
  965. package/dist/names/analyze.d.ts.map +1 -0
  966. package/dist/names/analyze.js +28 -0
  967. package/dist/names/analyze.js.map +1 -0
  968. package/dist/names/coin-type.d.ts +14 -0
  969. package/dist/names/coin-type.d.ts.map +1 -0
  970. package/dist/names/coin-type.js +52 -0
  971. package/dist/names/coin-type.js.map +1 -0
  972. package/dist/names/content-hash.d.ts +15 -0
  973. package/dist/names/content-hash.d.ts.map +1 -0
  974. package/dist/names/content-hash.js +54 -0
  975. package/dist/names/content-hash.js.map +1 -0
  976. package/dist/names/dns.d.ts +10 -0
  977. package/dist/names/dns.d.ts.map +1 -0
  978. package/dist/names/dns.js +66 -0
  979. package/dist/names/dns.js.map +1 -0
  980. package/dist/names/hashes.d.ts +8 -0
  981. package/dist/names/hashes.d.ts.map +1 -0
  982. package/dist/names/hashes.js +12 -0
  983. package/dist/names/hashes.js.map +1 -0
  984. package/dist/names/index.d.ts +8 -0
  985. package/dist/names/normalize.d.ts +8 -0
  986. package/dist/names/normalize.d.ts.map +1 -0
  987. package/dist/names/normalize.js +33 -0
  988. package/dist/names/normalize.js.map +1 -0
  989. package/dist/schemas/coin-type.d.ts +7 -0
  990. package/dist/schemas/coin-type.d.ts.map +1 -0
  991. package/dist/schemas/coin-type.js +9 -0
  992. package/dist/schemas/coin-type.js.map +1 -0
  993. package/dist/schemas/dns.d.ts +7 -0
  994. package/dist/schemas/dns.d.ts.map +1 -0
  995. package/dist/schemas/dns.js +24 -0
  996. package/dist/schemas/dns.js.map +1 -0
  997. package/dist/schemas/hash.d.ts +11 -0
  998. package/dist/schemas/hash.d.ts.map +1 -0
  999. package/dist/schemas/hash.js +11 -0
  1000. package/dist/schemas/hash.js.map +1 -0
  1001. package/dist/schemas/hex.d.ts +7 -0
  1002. package/dist/schemas/hex.d.ts.map +1 -0
  1003. package/dist/schemas/hex.js +8 -0
  1004. package/dist/schemas/hex.js.map +1 -0
  1005. package/dist/schemas/identity.d.ts +18 -0
  1006. package/dist/schemas/identity.d.ts.map +1 -0
  1007. package/dist/schemas/identity.js +25 -0
  1008. package/dist/schemas/identity.js.map +1 -0
  1009. package/dist/schemas/index.d.ts +9 -0
  1010. package/dist/schemas/name.d.ts +9 -0
  1011. package/dist/schemas/name.d.ts.map +1 -0
  1012. package/dist/schemas/name.js +28 -0
  1013. package/dist/schemas/name.js.map +1 -0
  1014. package/dist/schemas/protocol.d.ts +7 -0
  1015. package/dist/schemas/protocol.d.ts.map +1 -0
  1016. package/dist/schemas/protocol.js +8 -0
  1017. package/dist/schemas/protocol.js.map +1 -0
  1018. package/dist/schemas/records.d.ts +20 -0
  1019. package/dist/schemas/records.d.ts.map +1 -0
  1020. package/dist/schemas/records.js +32 -0
  1021. package/dist/schemas/records.js.map +1 -0
  1022. package/dist/testing/create-test-config.d.ts +19 -0
  1023. package/dist/testing/create-test-config.d.ts.map +1 -0
  1024. package/dist/testing/create-test-config.js +37 -0
  1025. package/dist/testing/create-test-config.js.map +1 -0
  1026. package/dist/testing.d.ts +2 -0
  1027. package/dist/testing.js +3 -0
  1028. package/dist/write/index.d.ts +3 -0
  1029. package/dist/write/types.d.ts +188 -0
  1030. package/dist/write/types.d.ts.map +1 -0
  1031. package/dist/write/types.js +17 -0
  1032. package/dist/write/types.js.map +1 -0
  1033. package/package.json +62 -0
@@ -0,0 +1,120 @@
1
+ import { ContractError } from "../../errors/contract-error.js";
2
+ import { EthereumClient } from "../client/ethereum-client.js";
3
+ import { labelhash } from "../../names/hashes.js";
4
+ import { analyzeName } from "../../names/analyze.js";
5
+ import { dnsEncodeName } from "../../names/dns.js";
6
+ import { DeploymentService } from "../services/deployment.js";
7
+ import { Effect } from "effect";
8
+ import { isAddressEqual, zeroAddress } from "viem";
9
+ import { ethRenewerV1IsRenewableAbi, permissionedRegistryV2InterfaceGetStateAbi, universalResolverV2InterfaceFindParentRegistryAbi } from "@ensforge/contracts/v2";
10
+ import { universalResolverFindResolverAbi } from "@ensforge/contracts/shared";
11
+
12
+ //#region src/internal/name/name-route.ts
13
+ const readNameRoute = Effect.fn("readNameRoute")(function* (name) {
14
+ const deployments = yield* DeploymentService;
15
+ if (deployments.profile.protocol === "v1") return {
16
+ kind: "v1",
17
+ protocol: "v1",
18
+ deployment: deployments.profile.v1
19
+ };
20
+ const deployment = deployments.profile.v2;
21
+ const v1 = deployments.profile.v1;
22
+ const analysis = analyzeName(name);
23
+ if (analysis.label === void 0) return v1 === void 0 ? {
24
+ kind: "available",
25
+ protocol: "v2",
26
+ deployment,
27
+ label: "",
28
+ parentRegistry: deployment.contracts.rootRegistry,
29
+ state: {
30
+ status: 0,
31
+ expiry: 0n,
32
+ latestOwner: zeroAddress,
33
+ tokenId: 0n,
34
+ resource: 0n
35
+ }
36
+ } : {
37
+ kind: "v1",
38
+ protocol: "v1",
39
+ deployment: v1
40
+ };
41
+ const ethereum = yield* EthereumClient;
42
+ const dnsName = yield* dnsEncodeName.effect(name);
43
+ const parentRegistry = yield* ethereum.readContract({
44
+ address: deployment.contracts.universalResolver,
45
+ abi: universalResolverV2InterfaceFindParentRegistryAbi,
46
+ functionName: "findParentRegistry",
47
+ args: [dnsName]
48
+ });
49
+ if (isAddressEqual(parentRegistry, zeroAddress)) return v1 === void 0 ? {
50
+ kind: "available",
51
+ protocol: "v2",
52
+ deployment,
53
+ label: analysis.label,
54
+ parentRegistry: deployment.contracts.rootRegistry,
55
+ state: {
56
+ status: 0,
57
+ expiry: 0n,
58
+ latestOwner: zeroAddress,
59
+ tokenId: 0n,
60
+ resource: 0n
61
+ }
62
+ } : {
63
+ kind: "v1",
64
+ protocol: "v1",
65
+ deployment: v1
66
+ };
67
+ const state = yield* ethereum.readContract({
68
+ address: parentRegistry,
69
+ abi: permissionedRegistryV2InterfaceGetStateAbi,
70
+ functionName: "getState",
71
+ args: [BigInt(labelhash(analysis.label))]
72
+ });
73
+ if (state.status !== 0 && state.status !== 1 && state.status !== 2) return yield* new ContractError({
74
+ code: "DECODE_FAILED",
75
+ message: "Unknown ENSv2 registry status",
76
+ cause: state
77
+ });
78
+ const secondLevelLabel = analysis.ethSecondLevelLabel;
79
+ const shouldCheckReservedRenewal = state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress);
80
+ const reservedRenewable = secondLevelLabel === void 0 || !shouldCheckReservedRenewal ? false : yield* ethereum.readContract({
81
+ address: deployment.migration.ethRenewerV1,
82
+ abi: ethRenewerV1IsRenewableAbi,
83
+ functionName: "isRenewable",
84
+ args: [secondLevelLabel]
85
+ });
86
+ if ((state.status === 1 || state.status === 0 && reservedRenewable) && v1 !== void 0) return {
87
+ kind: "reserved",
88
+ protocol: "v1",
89
+ deployment,
90
+ v1,
91
+ label: analysis.label,
92
+ parentRegistry,
93
+ state
94
+ };
95
+ if (state.status !== 2 && isAddressEqual(state.latestOwner, zeroAddress) && v1 !== void 0) {
96
+ const [resolver] = yield* ethereum.readContract({
97
+ address: deployment.contracts.universalResolver,
98
+ abi: universalResolverFindResolverAbi,
99
+ functionName: "findResolver",
100
+ args: [dnsName]
101
+ });
102
+ if (isAddressEqual(resolver, deployment.migration.ensV1Resolver)) return {
103
+ kind: "v1",
104
+ protocol: "v1",
105
+ deployment: v1
106
+ };
107
+ }
108
+ return {
109
+ kind: state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress) ? "available" : "v2",
110
+ protocol: "v2",
111
+ deployment,
112
+ label: analysis.label,
113
+ parentRegistry,
114
+ state
115
+ };
116
+ });
117
+
118
+ //#endregion
119
+ export { readNameRoute };
120
+ //# sourceMappingURL=name-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-route.js","names":[],"sources":["../../../src/internal/name/name-route.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { EnsV1Deployment, EnsV2Deployment } from \"@ensforge/contracts/deployments\";\nimport { universalResolverFindResolverAbi } from \"@ensforge/contracts/shared\";\nimport {\n ethRenewerV1IsRenewableAbi,\n permissionedRegistryV2InterfaceGetStateAbi,\n universalResolverV2InterfaceFindParentRegistryAbi,\n} from \"@ensforge/contracts/v2\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\n\nimport type { CodecError } from \"../../errors/codec-error.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { analyzeName } from \"../../names/analyze.js\";\nimport { dnsEncodeName } from \"../../names/dns.js\";\nimport { labelhash } from \"../../names/hashes.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\nimport { EthereumClient } from \"../client/ethereum-client.js\";\nimport type { ViemError } from \"../errors/viem-error.js\";\nimport type { ReadContext } from \"../read/execution-context.js\";\nimport { DeploymentService } from \"../services/deployment.js\";\n\nexport interface V1NameRoute {\n readonly kind: \"v1\";\n readonly protocol: \"v1\";\n readonly deployment: EnsV1Deployment;\n}\n\ninterface V2RouteFields {\n readonly protocol: \"v2\";\n readonly deployment: EnsV2Deployment;\n readonly label: string;\n readonly parentRegistry: `0x${string}`;\n readonly state: {\n readonly status: number;\n readonly expiry: bigint;\n readonly latestOwner: `0x${string}`;\n readonly tokenId: bigint;\n readonly resource: bigint;\n };\n}\n\nexport interface V2NameRoute extends V2RouteFields {\n readonly kind: \"v2\";\n}\n\nexport interface AvailableNameRoute extends V2RouteFields {\n readonly kind: \"available\";\n}\n\nexport interface ReservedNameRoute {\n readonly kind: \"reserved\";\n readonly protocol: \"v1\";\n readonly deployment: EnsV2Deployment;\n readonly v1: EnsV1Deployment;\n readonly label: string;\n readonly parentRegistry: `0x${string}`;\n readonly state: V2NameRoute[\"state\"];\n}\n\nexport type NameRoute = V1NameRoute | V2NameRoute | AvailableNameRoute | ReservedNameRoute;\n\nexport const readNameRoute = Effect.fn(\"readNameRoute\")(function* (\n name: NormalizedName,\n): Effect.fn.Return<\n NameRoute,\n CodecError | ContractError | ViemError,\n DeploymentService | EthereumClient | ReadContext\n> {\n const deployments = yield* DeploymentService;\n if (deployments.profile.protocol === \"v1\") {\n return { kind: \"v1\", protocol: \"v1\", deployment: deployments.profile.v1 };\n }\n\n const deployment = deployments.profile.v2;\n const v1 = deployments.profile.v1;\n const analysis = analyzeName(name);\n if (analysis.label === undefined) {\n return v1 === undefined\n ? {\n kind: \"available\",\n protocol: \"v2\",\n deployment,\n label: \"\",\n parentRegistry: deployment.contracts.rootRegistry,\n state: { status: 0, expiry: 0n, latestOwner: zeroAddress, tokenId: 0n, resource: 0n },\n }\n : { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n\n const ethereum = yield* EthereumClient;\n const dnsName = yield* dnsEncodeName.effect(name);\n const parentRegistry = yield* ethereum.readContract({\n address: deployment.contracts.universalResolver,\n abi: universalResolverV2InterfaceFindParentRegistryAbi,\n functionName: \"findParentRegistry\",\n args: [dnsName],\n });\n\n if (isAddressEqual(parentRegistry, zeroAddress)) {\n return v1 === undefined\n ? {\n kind: \"available\",\n protocol: \"v2\",\n deployment,\n label: analysis.label,\n parentRegistry: deployment.contracts.rootRegistry,\n state: { status: 0, expiry: 0n, latestOwner: zeroAddress, tokenId: 0n, resource: 0n },\n }\n : { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n\n const state = yield* ethereum.readContract({\n address: parentRegistry,\n abi: permissionedRegistryV2InterfaceGetStateAbi,\n functionName: \"getState\",\n args: [BigInt(labelhash(analysis.label))],\n });\n if (state.status !== 0 && state.status !== 1 && state.status !== 2) {\n return yield* new ContractError({\n code: \"DECODE_FAILED\",\n message: \"Unknown ENSv2 registry status\",\n cause: state,\n });\n }\n const secondLevelLabel = analysis.ethSecondLevelLabel;\n const shouldCheckReservedRenewal =\n state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress);\n const reservedRenewable =\n secondLevelLabel === undefined || !shouldCheckReservedRenewal\n ? false\n : yield* ethereum.readContract({\n address: deployment.migration.ethRenewerV1,\n abi: ethRenewerV1IsRenewableAbi,\n functionName: \"isRenewable\",\n args: [secondLevelLabel],\n });\n\n if ((state.status === 1 || (state.status === 0 && reservedRenewable)) && v1 !== undefined) {\n return {\n kind: \"reserved\",\n protocol: \"v1\",\n deployment,\n v1,\n label: analysis.label,\n parentRegistry,\n state,\n };\n }\n\n if (state.status !== 2 && isAddressEqual(state.latestOwner, zeroAddress) && v1 !== undefined) {\n const [resolver] = yield* ethereum.readContract({\n address: deployment.contracts.universalResolver,\n abi: universalResolverFindResolverAbi,\n functionName: \"findResolver\",\n args: [dnsName],\n });\n if (isAddressEqual(resolver, deployment.migration.ensV1Resolver)) {\n return { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n }\n\n return {\n kind: state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress) ? \"available\" : \"v2\",\n protocol: \"v2\",\n deployment,\n label: analysis.label,\n parentRegistry,\n state,\n };\n});\n"],"mappings":";;;;;;;;;;;;AA8DA,MAAa,gBAAgB,OAAO,GAAG,eAAe,CAAC,CAAC,WACtD,MAKA;CACA,MAAM,cAAc,OAAO;CAC3B,IAAI,YAAY,QAAQ,aAAa,MACnC,OAAO;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY,YAAY,QAAQ;CAAG;CAG1E,MAAM,aAAa,YAAY,QAAQ;CACvC,MAAM,KAAK,YAAY,QAAQ;CAC/B,MAAM,WAAW,YAAY,IAAI;CACjC,IAAI,SAAS,UAAU,QACrB,OAAO,OAAO,SACV;EACE,MAAM;EACN,UAAU;EACV;EACA,OAAO;EACP,gBAAgB,WAAW,UAAU;EACrC,OAAO;GAAE,QAAQ;GAAG,QAAQ;GAAI,aAAa;GAAa,SAAS;GAAI,UAAU;EAAG;CACtF,IACA;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY;CAAG;CAGnD,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO,cAAc,OAAO,IAAI;CAChD,MAAM,iBAAiB,OAAO,SAAS,aAAa;EAClD,SAAS,WAAW,UAAU;EAC9B,KAAK;EACL,cAAc;EACd,MAAM,CAAC,OAAO;CAChB,CAAC;CAED,IAAI,eAAe,gBAAgB,WAAW,GAC5C,OAAO,OAAO,SACV;EACE,MAAM;EACN,UAAU;EACV;EACA,OAAO,SAAS;EAChB,gBAAgB,WAAW,UAAU;EACrC,OAAO;GAAE,QAAQ;GAAG,QAAQ;GAAI,aAAa;GAAa,SAAS;GAAI,UAAU;EAAG;CACtF,IACA;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY;CAAG;CAGnD,MAAM,QAAQ,OAAO,SAAS,aAAa;EACzC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,OAAO,UAAU,SAAS,KAAK,CAAC,CAAC;CAC1C,CAAC;CACD,IAAI,MAAM,WAAW,KAAK,MAAM,WAAW,KAAK,MAAM,WAAW,GAC/D,OAAO,OAAO,IAAI,cAAc;EAC9B,MAAM;EACN,SAAS;EACT,OAAO;CACT,CAAC;CAEH,MAAM,mBAAmB,SAAS;CAClC,MAAM,6BACJ,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW;CACrE,MAAM,oBACJ,qBAAqB,UAAa,CAAC,6BAC/B,QACA,OAAO,SAAS,aAAa;EAC3B,SAAS,WAAW,UAAU;EAC9B,KAAK;EACL,cAAc;EACd,MAAM,CAAC,gBAAgB;CACzB,CAAC;CAEP,KAAK,MAAM,WAAW,KAAM,MAAM,WAAW,KAAK,sBAAuB,OAAO,QAC9E,OAAO;EACL,MAAM;EACN,UAAU;EACV;EACA;EACA,OAAO,SAAS;EAChB;EACA;CACF;CAGF,IAAI,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW,KAAK,OAAO,QAAW;EAC5F,MAAM,CAAC,YAAY,OAAO,SAAS,aAAa;GAC9C,SAAS,WAAW,UAAU;GAC9B,KAAK;GACL,cAAc;GACd,MAAM,CAAC,OAAO;EAChB,CAAC;EACD,IAAI,eAAe,UAAU,WAAW,UAAU,aAAa,GAC7D,OAAO;GAAE,MAAM;GAAM,UAAU;GAAM,YAAY;EAAG;CAExD;CAEA,OAAO;EACL,MAAM,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW,IAAI,cAAc;EAC3F,UAAU;EACV;EACA,OAAO,SAAS;EAChB;EACA;CACF;AACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { viemErrorToEffectError } from "../errors/viem-error.js";
2
+ import { ReadContext } from "./execution-context.js";
3
+ import { PublicClientService } from "../services/public-client.js";
4
+ import { Effect } from "effect";
5
+
6
+ //#region src/internal/read/block-timestamp.ts
7
+ const readBlockTimestamp = Effect.fn("readBlockTimestamp")(function* () {
8
+ const { client } = yield* PublicClientService;
9
+ const context = yield* ReadContext;
10
+ return (yield* Effect.tryPromise({
11
+ try: () => client.getBlock(context.block),
12
+ catch: (cause) => viemErrorToEffectError(cause, "getBlock")
13
+ })).timestamp;
14
+ });
15
+
16
+ //#endregion
17
+ export { readBlockTimestamp };
18
+ //# sourceMappingURL=block-timestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-timestamp.js","names":[],"sources":["../../../src/internal/read/block-timestamp.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { RpcError } from \"../../errors/rpc-error.js\";\nimport { viemErrorToEffectError } from \"../errors/viem-error.js\";\nimport { PublicClientService } from \"../services/public-client.js\";\nimport { ReadContext } from \"./execution-context.js\";\n\nexport const readBlockTimestamp = Effect.fn(\"readBlockTimestamp\")(function* (): Effect.fn.Return<\n bigint,\n RpcError,\n PublicClientService | ReadContext\n> {\n const { client } = yield* PublicClientService;\n const context = yield* ReadContext;\n const block = yield* Effect.tryPromise({\n try: () => client.getBlock(context.block),\n catch: (cause) => viemErrorToEffectError(cause, \"getBlock\"),\n });\n\n return block.timestamp;\n});\n"],"mappings":";;;;;;AAOA,MAAa,qBAAqB,OAAO,GAAG,oBAAoB,CAAC,CAAC,aAIhE;CACA,MAAM,EAAE,WAAW,OAAO;CAC1B,MAAM,UAAU,OAAO;CAMvB,QAAO,OALc,OAAO,WAAW;EACrC,WAAW,OAAO,SAAS,QAAQ,KAAK;EACxC,QAAQ,UAAU,uBAAuB,OAAO,UAAU;CAC5D,CAAC,EAEW,CAAC;AACf,CAAC"}
@@ -0,0 +1,4 @@
1
+ import "../errors/viem-error.js";
2
+ import "./contract-read.js";
3
+ import { Effect, RequestResolver, Semaphore } from "effect";
4
+ import { PublicClient } from "viem";
@@ -0,0 +1,82 @@
1
+ import { defaultReadOptions } from "../../config/read-options.js";
2
+ import { ContractError } from "../../errors/contract-error.js";
3
+ import { viemErrorToEffectError } from "../errors/viem-error.js";
4
+ import { Effect, Exit, RequestResolver, Result, Semaphore } from "effect";
5
+
6
+ //#region src/internal/read/contract-read-resolver.ts
7
+ const executeContractRead = Effect.fn("executeContractRead")(function* (request, resolver) {
8
+ return yield* Effect.request(request, resolver);
9
+ });
10
+ const makeContractReadResolver = ({ publicClient, readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency), multicallBatchSize = defaultReadOptions.multicallBatchSize }) => RequestResolver.makeGrouped({
11
+ key: ({ request }) => request.groupKey,
12
+ resolver: Effect.fn("ContractReadResolver.resolve")(function* (entries) {
13
+ const uniqueRequests = /* @__PURE__ */ new Map();
14
+ for (const entry of entries) {
15
+ const existing = uniqueRequests.get(entry.request.requestKey);
16
+ if (existing === void 0) uniqueRequests.set(entry.request.requestKey, {
17
+ request: entry.request,
18
+ entries: [entry]
19
+ });
20
+ else existing.entries.push(entry);
21
+ }
22
+ const unique = Array.from(uniqueRequests.values());
23
+ const first = entries[0].request;
24
+ const chunks = [];
25
+ let currentChunk = [];
26
+ let currentChunkSize = 0;
27
+ for (const pending of unique) {
28
+ const callSize = (pending.request.callData.length - 2) / 2;
29
+ if (currentChunk.length > 0 && currentChunkSize + callSize > multicallBatchSize) {
30
+ chunks.push(currentChunk);
31
+ currentChunk = [];
32
+ currentChunkSize = 0;
33
+ }
34
+ currentChunk.push(pending);
35
+ currentChunkSize += callSize;
36
+ }
37
+ if (currentChunk.length > 0) chunks.push(currentChunk);
38
+ yield* Effect.annotateCurrentSpan({
39
+ "ens.read.call_count": entries.length,
40
+ "ens.read.unique_call_count": unique.length,
41
+ "ens.read.chunk_count": chunks.length
42
+ });
43
+ const outcomes = yield* Effect.forEach(chunks, (chunk) => Effect.result(readSemaphore.withPermit(Effect.tryPromise({
44
+ try: () => publicClient.multicall({
45
+ contracts: chunk.map(({ request }) => request.contract),
46
+ allowFailure: true,
47
+ batchSize: 0,
48
+ ...first.blockNumber === void 0 ? first.blockTag === void 0 ? {} : { blockTag: first.blockTag } : { blockNumber: first.blockNumber },
49
+ ...first.account === void 0 ? {} : { account: first.account }
50
+ }),
51
+ catch: (cause) => viemErrorToEffectError(cause, "multicall")
52
+ }))), { concurrency: "unbounded" });
53
+ for (const [chunkIndex, chunk] of chunks.entries()) {
54
+ const outcome = outcomes[chunkIndex];
55
+ if (outcome === void 0) continue;
56
+ if (Result.isFailure(outcome)) {
57
+ for (const pending of chunk) for (const entry of pending.entries) entry.completeUnsafe(Exit.fail(outcome.failure));
58
+ continue;
59
+ }
60
+ for (const [resultIndex, pending] of chunk.entries()) {
61
+ const result = outcome.success[resultIndex];
62
+ let exit;
63
+ if (result === void 0) exit = Exit.fail(new ContractError({
64
+ code: "DECODE_FAILED",
65
+ message: "Multicall returned fewer results than requested",
66
+ cause: {
67
+ chunkIndex,
68
+ resultIndex,
69
+ requestKey: pending.request.requestKey
70
+ }
71
+ }));
72
+ else if (result.status === "failure") exit = Exit.fail(viemErrorToEffectError(result.error, "multicall"));
73
+ else exit = Exit.succeed(result.result);
74
+ for (const entry of pending.entries) entry.completeUnsafe(exit);
75
+ }
76
+ }
77
+ })
78
+ }).pipe(RequestResolver.withSpan("ensforge.contractRead.batch"));
79
+
80
+ //#endregion
81
+ export { executeContractRead, makeContractReadResolver };
82
+ //# sourceMappingURL=contract-read-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-read-resolver.js","names":[],"sources":["../../../src/internal/read/contract-read-resolver.ts"],"sourcesContent":["import { Effect, Exit, RequestResolver, Result, Semaphore } from \"effect\";\n\nimport type { PublicClient } from \"viem\";\n\nimport { defaultReadOptions } from \"../../config/read-options.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { viemErrorToEffectError, type ViemError } from \"../errors/viem-error.js\";\nimport type { ContractReadRequest } from \"./contract-read.js\";\n\nexport interface ContractReadResolverOptions {\n readonly publicClient: Pick<PublicClient, \"multicall\">;\n readonly readSemaphore?: Semaphore.Semaphore;\n readonly multicallBatchSize?: number;\n}\n\nexport type ContractReadResolver = RequestResolver.RequestResolver<ContractReadRequest>;\n\nexport const executeContractRead = Effect.fn(\"executeContractRead\")(function* <Success>(\n request: ContractReadRequest<Success>,\n resolver: ContractReadResolver,\n): Effect.fn.Return<Success, ViemError> {\n const result = yield* Effect.request(request as ContractReadRequest, resolver);\n return result as Success;\n});\n\nexport const makeContractReadResolver = ({\n publicClient,\n readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency),\n multicallBatchSize = defaultReadOptions.multicallBatchSize,\n}: ContractReadResolverOptions): ContractReadResolver =>\n RequestResolver.makeGrouped<ContractReadRequest, string>({\n key: ({ request }) => request.groupKey,\n resolver: Effect.fn(\"ContractReadResolver.resolve\")(function* (entries) {\n const uniqueRequests = new Map<\n string,\n {\n readonly request: ContractReadRequest;\n readonly entries: Array<(typeof entries)[number]>;\n }\n >();\n\n for (const entry of entries) {\n const existing = uniqueRequests.get(entry.request.requestKey);\n if (existing === undefined) {\n uniqueRequests.set(entry.request.requestKey, {\n request: entry.request,\n entries: [entry],\n });\n } else {\n existing.entries.push(entry);\n }\n }\n\n const unique = Array.from(uniqueRequests.values());\n const first = entries[0].request;\n const chunks: Array<typeof unique> = [];\n let currentChunk: typeof unique = [];\n let currentChunkSize = 0;\n\n for (const pending of unique) {\n const callSize = (pending.request.callData.length - 2) / 2;\n if (currentChunk.length > 0 && currentChunkSize + callSize > multicallBatchSize) {\n chunks.push(currentChunk);\n currentChunk = [];\n currentChunkSize = 0;\n }\n currentChunk.push(pending);\n currentChunkSize += callSize;\n }\n if (currentChunk.length > 0) chunks.push(currentChunk);\n\n yield* Effect.annotateCurrentSpan({\n \"ens.read.call_count\": entries.length,\n \"ens.read.unique_call_count\": unique.length,\n \"ens.read.chunk_count\": chunks.length,\n });\n\n const outcomes = yield* Effect.forEach(\n chunks,\n (chunk) =>\n Effect.result(\n readSemaphore.withPermit(\n Effect.tryPromise({\n try: () =>\n publicClient.multicall({\n contracts: chunk.map(({ request }) => request.contract),\n allowFailure: true,\n batchSize: 0,\n ...(first.blockNumber === undefined\n ? first.blockTag === undefined\n ? {}\n : { blockTag: first.blockTag }\n : { blockNumber: first.blockNumber }),\n ...(first.account === undefined ? {} : { account: first.account }),\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"multicall\"),\n }),\n ),\n ),\n { concurrency: \"unbounded\" },\n );\n\n for (const [chunkIndex, chunk] of chunks.entries()) {\n const outcome = outcomes[chunkIndex];\n if (outcome === undefined) continue;\n\n if (Result.isFailure(outcome)) {\n for (const pending of chunk) {\n for (const entry of pending.entries) {\n entry.completeUnsafe(Exit.fail(outcome.failure));\n }\n }\n continue;\n }\n\n for (const [resultIndex, pending] of chunk.entries()) {\n const result = outcome.success[resultIndex];\n let exit: Exit.Exit<unknown, ViemError>;\n\n if (result === undefined) {\n exit = Exit.fail(\n new ContractError({\n code: \"DECODE_FAILED\",\n message: \"Multicall returned fewer results than requested\",\n cause: { chunkIndex, resultIndex, requestKey: pending.request.requestKey },\n }),\n );\n } else if (result.status === \"failure\") {\n exit = Exit.fail(viemErrorToEffectError(result.error, \"multicall\"));\n } else {\n exit = Exit.succeed(result.result);\n }\n\n for (const entry of pending.entries) entry.completeUnsafe(exit);\n }\n }\n }),\n }).pipe(RequestResolver.withSpan(\"ensforge.contractRead.batch\"));\n"],"mappings":";;;;;;AAiBA,MAAa,sBAAsB,OAAO,GAAG,qBAAqB,CAAC,CAAC,WAClE,SACA,UACsC;CAEtC,OAAO,OADe,OAAO,QAAQ,SAAgC,QAAQ;AAE/E,CAAC;AAED,MAAa,4BAA4B,EACvC,cACA,gBAAgB,UAAU,WAAW,mBAAmB,WAAW,GACnE,qBAAqB,mBAAmB,yBAExC,gBAAgB,YAAyC;CACvD,MAAM,EAAE,cAAc,QAAQ;CAC9B,UAAU,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,SAAS;EACtE,MAAM,iCAAiB,IAAI,IAMzB;EAEF,KAAK,MAAM,SAAS,SAAS;GAC3B,MAAM,WAAW,eAAe,IAAI,MAAM,QAAQ,UAAU;GAC5D,IAAI,aAAa,QACf,eAAe,IAAI,MAAM,QAAQ,YAAY;IAC3C,SAAS,MAAM;IACf,SAAS,CAAC,KAAK;GACjB,CAAC;QAED,SAAS,QAAQ,KAAK,KAAK;EAE/B;EAEA,MAAM,SAAS,MAAM,KAAK,eAAe,OAAO,CAAC;EACjD,MAAM,QAAQ,QAAQ,EAAE,CAAC;EACzB,MAAM,SAA+B,CAAC;EACtC,IAAI,eAA8B,CAAC;EACnC,IAAI,mBAAmB;EAEvB,KAAK,MAAM,WAAW,QAAQ;GAC5B,MAAM,YAAY,QAAQ,QAAQ,SAAS,SAAS,KAAK;GACzD,IAAI,aAAa,SAAS,KAAK,mBAAmB,WAAW,oBAAoB;IAC/E,OAAO,KAAK,YAAY;IACxB,eAAe,CAAC;IAChB,mBAAmB;GACrB;GACA,aAAa,KAAK,OAAO;GACzB,oBAAoB;EACtB;EACA,IAAI,aAAa,SAAS,GAAG,OAAO,KAAK,YAAY;EAErD,OAAO,OAAO,oBAAoB;GAChC,uBAAuB,QAAQ;GAC/B,8BAA8B,OAAO;GACrC,wBAAwB,OAAO;EACjC,CAAC;EAED,MAAM,WAAW,OAAO,OAAO,QAC7B,SACC,UACC,OAAO,OACL,cAAc,WACZ,OAAO,WAAW;GAChB,WACE,aAAa,UAAU;IACrB,WAAW,MAAM,KAAK,EAAE,cAAc,QAAQ,QAAQ;IACtD,cAAc;IACd,WAAW;IACX,GAAI,MAAM,gBAAgB,SACtB,MAAM,aAAa,SACjB,CAAC,IACD,EAAE,UAAU,MAAM,SAAS,IAC7B,EAAE,aAAa,MAAM,YAAY;IACrC,GAAI,MAAM,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,MAAM,QAAQ;GAClE,CAAC;GACH,QAAQ,UAAU,uBAAuB,OAAO,WAAW;EAC7D,CAAC,CACH,CACF,GACF,EAAE,aAAa,YAAY,CAC7B;EAEA,KAAK,MAAM,CAAC,YAAY,UAAU,OAAO,QAAQ,GAAG;GAClD,MAAM,UAAU,SAAS;GACzB,IAAI,YAAY,QAAW;GAE3B,IAAI,OAAO,UAAU,OAAO,GAAG;IAC7B,KAAK,MAAM,WAAW,OACpB,KAAK,MAAM,SAAS,QAAQ,SAC1B,MAAM,eAAe,KAAK,KAAK,QAAQ,OAAO,CAAC;IAGnD;GACF;GAEA,KAAK,MAAM,CAAC,aAAa,YAAY,MAAM,QAAQ,GAAG;IACpD,MAAM,SAAS,QAAQ,QAAQ;IAC/B,IAAI;IAEJ,IAAI,WAAW,QACb,OAAO,KAAK,KACV,IAAI,cAAc;KAChB,MAAM;KACN,SAAS;KACT,OAAO;MAAE;MAAY;MAAa,YAAY,QAAQ,QAAQ;KAAW;IAC3E,CAAC,CACH;SACK,IAAI,OAAO,WAAW,WAC3B,OAAO,KAAK,KAAK,uBAAuB,OAAO,OAAO,WAAW,CAAC;SAElE,OAAO,KAAK,QAAQ,OAAO,MAAM;IAGnC,KAAK,MAAM,SAAS,QAAQ,SAAS,MAAM,eAAe,IAAI;GAChE;EACF;CACF,CAAC;AACH,CAAC,CAAC,CAAC,KAAK,gBAAgB,SAAS,6BAA6B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import "../../action/block.js";
2
+ import "../errors/viem-error.js";
3
+ import { Effect, Request } from "effect";
4
+ import { Abi, Address, Hex } from "viem";
@@ -0,0 +1,32 @@
1
+ import { viemErrorToEffectError } from "../errors/viem-error.js";
2
+ import { Effect, Request } from "effect";
3
+ import { encodeFunctionData } from "viem";
4
+
5
+ //#region src/internal/read/contract-read.ts
6
+ var ContractReadRequest = class extends Request.Class {};
7
+ const makeContractReadRequest = Effect.fn("makeContractReadRequest")(function* (parameters) {
8
+ const contract = {
9
+ address: parameters.address,
10
+ abi: parameters.abi,
11
+ functionName: parameters.functionName,
12
+ ...Array.isArray(parameters.args) ? { args: parameters.args } : {}
13
+ };
14
+ const callData = yield* Effect.try({
15
+ try: () => encodeFunctionData(contract),
16
+ catch: (cause) => viemErrorToEffectError(cause, "encodeFunctionData")
17
+ });
18
+ const groupKey = `${parameters.blockNumber === void 0 ? `tag:${parameters.blockTag ?? "latest"}` : `number:${parameters.blockNumber}`}|account:${parameters.account?.toLowerCase() ?? "none"}`;
19
+ const requestKey = `${groupKey}|target:${parameters.address.toLowerCase()}|data:${callData}`;
20
+ return new ContractReadRequest({
21
+ requestKey,
22
+ groupKey,
23
+ contract,
24
+ callData,
25
+ ...parameters.blockNumber === void 0 ? parameters.blockTag === void 0 ? {} : { blockTag: parameters.blockTag } : { blockNumber: parameters.blockNumber },
26
+ ...parameters.account === void 0 ? {} : { account: parameters.account }
27
+ });
28
+ });
29
+
30
+ //#endregion
31
+ export { ContractReadRequest, makeContractReadRequest };
32
+ //# sourceMappingURL=contract-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-read.js","names":[],"sources":["../../../src/internal/read/contract-read.ts"],"sourcesContent":["import { Effect, Request } from \"effect\";\n\nimport {\n encodeFunctionData,\n type Abi,\n type Address,\n type ContractFunctionArgs,\n type ContractFunctionName,\n type ContractFunctionParameters,\n type ContractFunctionReturnType,\n type Hex,\n} from \"viem\";\n\nimport type { BlockParameters } from \"../../action/block.js\";\nimport { viemErrorToEffectError, type ViemError } from \"../errors/viem-error.js\";\n\nexport type ContractReadParameters<\n abi extends Abi = Abi,\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\"> = ContractFunctionName<\n abi,\n \"pure\" | \"view\"\n >,\n args extends ContractFunctionArgs<abi, \"pure\" | \"view\", functionName> = ContractFunctionArgs<\n abi,\n \"pure\" | \"view\",\n functionName\n >,\n> = ContractFunctionParameters<abi, \"pure\" | \"view\", functionName, args> &\n BlockParameters & {\n readonly account?: Address;\n };\n\ninterface ContractReadRequestFields {\n readonly requestKey: string;\n readonly groupKey: string;\n readonly contract: ContractFunctionParameters;\n readonly callData: Hex;\n readonly blockNumber?: bigint;\n readonly blockTag?: ContractReadParameters[\"blockTag\"];\n readonly account?: Address;\n}\n\nexport class ContractReadRequest<Success = unknown> extends Request.Class<\n ContractReadRequestFields,\n Success,\n ViemError,\n never\n> {}\n\nexport const makeContractReadRequest = Effect.fn(\"makeContractReadRequest\")(function* <\n const abi extends Abi,\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\">,\n const args extends ContractFunctionArgs<abi, \"pure\" | \"view\", functionName>,\n>(parameters: ContractReadParameters<abi, functionName, args>) {\n const contract: ContractFunctionParameters = {\n address: parameters.address,\n abi: parameters.abi,\n functionName: parameters.functionName,\n ...(Array.isArray(parameters.args) ? { args: parameters.args } : {}),\n };\n const callData = yield* Effect.try({\n try: () => encodeFunctionData(contract),\n catch: (cause) => viemErrorToEffectError(cause, \"encodeFunctionData\"),\n });\n const blockKey =\n parameters.blockNumber === undefined\n ? `tag:${parameters.blockTag ?? \"latest\"}`\n : `number:${parameters.blockNumber}`;\n const groupKey = `${blockKey}|account:${parameters.account?.toLowerCase() ?? \"none\"}`;\n const requestKey = `${groupKey}|target:${parameters.address.toLowerCase()}|data:${callData}`;\n return new ContractReadRequest<\n ContractFunctionReturnType<abi, \"pure\" | \"view\", functionName, args>\n >({\n requestKey,\n groupKey,\n contract,\n callData,\n ...(parameters.blockNumber === undefined\n ? parameters.blockTag === undefined\n ? {}\n : { blockTag: parameters.blockTag }\n : { blockNumber: parameters.blockNumber }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n});\n"],"mappings":";;;;;AA0CA,IAAa,sBAAb,cAA4D,QAAQ,MAKlE,CAAC;AAEH,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAI1E,YAA6D;CAC7D,MAAM,WAAuC;EAC3C,SAAS,WAAW;EACpB,KAAK,WAAW;EAChB,cAAc,WAAW;EACzB,GAAI,MAAM,QAAQ,WAAW,IAAI,IAAI,EAAE,MAAM,WAAW,KAAK,IAAI,CAAC;CACpE;CACA,MAAM,WAAW,OAAO,OAAO,IAAI;EACjC,WAAW,mBAAmB,QAAQ;EACtC,QAAQ,UAAU,uBAAuB,OAAO,oBAAoB;CACtE,CAAC;CAKD,MAAM,WAAW,GAHf,WAAW,gBAAgB,SACvB,OAAO,WAAW,YAAY,aAC9B,UAAU,WAAW,cACE,WAAW,WAAW,SAAS,YAAY,KAAK;CAC7E,MAAM,aAAa,GAAG,SAAS,UAAU,WAAW,QAAQ,YAAY,EAAE,QAAQ;CAClF,OAAO,IAAI,oBAET;EACA;EACA;EACA;EACA;EACA,GAAI,WAAW,gBAAgB,SAC3B,WAAW,aAAa,SACtB,CAAC,IACD,EAAE,UAAU,WAAW,SAAS,IAClC,EAAE,aAAa,WAAW,YAAY;EAC1C,GAAI,WAAW,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,WAAW,QAAQ;CAC5E,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { provideConfig } from "../config/context.js";
2
+ import { ReadContext, ReadExecution } from "./execution-context.js";
3
+ import { Effect, Option } from "effect";
4
+
5
+ //#region src/internal/read/execute-read.ts
6
+ const makeReadContext = Effect.fn("makeReadContext")(function* (config, options) {
7
+ return yield* provideConfig(config, Effect.gen(function* () {
8
+ return yield* (yield* ReadExecution).makeContext(options);
9
+ }));
10
+ });
11
+ const executeRead = Effect.fn("executeRead")(function* (config, options, effect) {
12
+ const activeContext = yield* Effect.serviceOption(ReadContext);
13
+ const configured = provideConfig(config, effect);
14
+ if (Option.isSome(activeContext)) return yield* configured.pipe(Effect.provideService(ReadContext, activeContext.value));
15
+ const context = yield* makeReadContext(config, options);
16
+ return yield* configured.pipe(Effect.provideService(ReadContext, context));
17
+ });
18
+
19
+ //#endregion
20
+ export { executeRead, makeReadContext };
21
+ //# sourceMappingURL=execute-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-read.js","names":[],"sources":["../../../src/internal/read/execute-read.ts"],"sourcesContent":["import { Effect, Option } from \"effect\";\n\nimport type { EnsforgeConfig } from \"../../config/config.js\";\nimport type { RpcError } from \"../../errors/rpc-error.js\";\nimport { provideConfig } from \"../config/context.js\";\nimport type { EnsforgeServices } from \"../services/context.js\";\nimport {\n ReadContext,\n ReadExecution,\n type ReadExecutionContext,\n type ReadExecutionOptions,\n} from \"./execution-context.js\";\n\nexport const makeReadContext = Effect.fn(\"makeReadContext\")(function* (\n config: EnsforgeConfig,\n options: ReadExecutionOptions,\n): Effect.fn.Return<ReadExecutionContext, RpcError> {\n return yield* provideConfig(\n config,\n Effect.gen(function* () {\n const execution = yield* ReadExecution;\n return yield* execution.makeContext(options);\n }),\n );\n});\n\nexport const executeRead = Effect.fn(\"executeRead\")(function* <Success, Failure>(\n config: EnsforgeConfig,\n options: ReadExecutionOptions,\n effect: Effect.Effect<Success, Failure, EnsforgeServices | ReadContext>,\n): Effect.fn.Return<Success, Failure | RpcError> {\n const activeContext = yield* Effect.serviceOption(ReadContext);\n const configured = provideConfig(config, effect);\n\n if (Option.isSome(activeContext)) {\n return yield* configured.pipe(Effect.provideService(ReadContext, activeContext.value));\n }\n\n const context = yield* makeReadContext(config, options);\n return yield* configured.pipe(Effect.provideService(ReadContext, context));\n});\n"],"mappings":";;;;;AAaA,MAAa,kBAAkB,OAAO,GAAG,iBAAiB,CAAC,CAAC,WAC1D,QACA,SACkD;CAClD,OAAO,OAAO,cACZ,QACA,OAAO,IAAI,aAAa;EAEtB,OAAO,QAAO,OADW,cACF,CAAC,YAAY,OAAO;CAC7C,CAAC,CACH;AACF,CAAC;AAED,MAAa,cAAc,OAAO,GAAG,aAAa,CAAC,CAAC,WAClD,QACA,SACA,QAC+C;CAC/C,MAAM,gBAAgB,OAAO,OAAO,cAAc,WAAW;CAC7D,MAAM,aAAa,cAAc,QAAQ,MAAM;CAE/C,IAAI,OAAO,OAAO,aAAa,GAC7B,OAAO,OAAO,WAAW,KAAK,OAAO,eAAe,aAAa,cAAc,KAAK,CAAC;CAGvF,MAAM,UAAU,OAAO,gBAAgB,QAAQ,OAAO;CACtD,OAAO,OAAO,WAAW,KAAK,OAAO,eAAe,aAAa,OAAO,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BlockParameters } from "../../action/block.js";
2
+ import "../../errors/rpc-error.js";
3
+ import "./contract-read-resolver.js";
4
+ import { Context, Effect, Semaphore } from "effect";
5
+ import { PublicClient } from "viem";
6
+ //#region src/internal/read/execution-context.d.ts
7
+ type ReadConsistency = "snapshot" | "best-effort";
8
+ type ReadExecutionOptions = BlockParameters & {
9
+ readonly consistency?: ReadConsistency;
10
+ };
11
+ //#endregion
12
+ export { ReadConsistency, ReadExecutionOptions };
13
+ //# sourceMappingURL=execution-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-context.d.ts","names":[],"sources":["../../../src/internal/read/execution-context.ts"],"mappings":";;;;;;KAUY;KAEA,uBAAuB;WACxB,cAAc"}
@@ -0,0 +1,66 @@
1
+ import { getBlockReference } from "../../action/block.js";
2
+ import { defaultReadOptions } from "../../config/read-options.js";
3
+ import { RpcError } from "../../errors/rpc-error.js";
4
+ import { viemErrorToEffectError } from "../errors/viem-error.js";
5
+ import { makeContractReadResolver } from "./contract-read-resolver.js";
6
+ import { Context, Effect, Predicate, Semaphore } from "effect";
7
+
8
+ //#region src/internal/read/execution-context.ts
9
+ var ReadContext = class extends Context.Service()("@ensforge/core/internal/read/ReadContext") {};
10
+ var ReadExecution = class extends Context.Service()("@ensforge/core/internal/read/ReadExecution") {};
11
+ const makeReadExecution = ({ publicClient, readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency), multicallBatchSize = defaultReadOptions.multicallBatchSize }) => {
12
+ const contractReadResolver = makeContractReadResolver({
13
+ publicClient,
14
+ readSemaphore,
15
+ multicallBatchSize
16
+ });
17
+ const makeContext = Effect.fn("ReadExecution.makeContext")(function* (options = {}) {
18
+ const consistency = options.consistency ?? "snapshot";
19
+ if (consistency === "best-effort") return Object.freeze({
20
+ consistency,
21
+ block: Object.freeze(getBlockReference(options)),
22
+ contractReadResolver
23
+ });
24
+ if (options.blockNumber !== void 0) return Object.freeze({
25
+ consistency,
26
+ block: Object.freeze({ blockNumber: options.blockNumber }),
27
+ contractReadResolver
28
+ });
29
+ const blockTag = options.blockTag ?? "latest";
30
+ if (blockTag === "pending") return yield* new RpcError({
31
+ code: "REQUEST_FAILED",
32
+ message: "Snapshot consistency cannot use the pending block",
33
+ cause: { blockTag }
34
+ });
35
+ const block = yield* readSemaphore.withPermit(Effect.tryPromise({
36
+ try: () => publicClient.getBlock({ blockTag }),
37
+ catch: (cause) => viemErrorToEffectError(cause, "getBlock")
38
+ }));
39
+ if (!Predicate.isBigInt(block.number)) return yield* new RpcError({
40
+ code: "REQUEST_FAILED",
41
+ message: `Unable to resolve the ${blockTag} block to a concrete number`,
42
+ cause: {
43
+ blockTag,
44
+ blockNumber: block.number
45
+ }
46
+ });
47
+ yield* Effect.annotateCurrentSpan({
48
+ "ens.read.consistency": consistency,
49
+ "ens.read.block_number": block.number.toString(),
50
+ "ens.read.block_tag": blockTag
51
+ });
52
+ return Object.freeze({
53
+ consistency,
54
+ block: Object.freeze({ blockNumber: block.number }),
55
+ contractReadResolver
56
+ });
57
+ });
58
+ return ReadExecution.of({
59
+ contractReadResolver,
60
+ makeContext
61
+ });
62
+ };
63
+
64
+ //#endregion
65
+ export { ReadContext, ReadExecution, makeReadExecution };
66
+ //# sourceMappingURL=execution-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-context.js","names":[],"sources":["../../../src/internal/read/execution-context.ts"],"sourcesContent":["import { Context, Effect, Predicate, Semaphore } from \"effect\";\n\nimport type { PublicClient } from \"viem\";\n\nimport { getBlockReference, type BlockParameters } from \"../../action/block.js\";\nimport { defaultReadOptions } from \"../../config/read-options.js\";\nimport { RpcError } from \"../../errors/rpc-error.js\";\nimport { viemErrorToEffectError } from \"../errors/viem-error.js\";\nimport { makeContractReadResolver, type ContractReadResolver } from \"./contract-read-resolver.js\";\n\nexport type ReadConsistency = \"snapshot\" | \"best-effort\";\n\nexport type ReadExecutionOptions = BlockParameters & {\n readonly consistency?: ReadConsistency;\n};\n\nexport type ReadExecutionContext =\n | {\n readonly consistency: \"snapshot\";\n readonly block: {\n readonly blockNumber: bigint;\n readonly blockTag?: never;\n };\n readonly contractReadResolver: ContractReadResolver;\n }\n | {\n readonly consistency: \"best-effort\";\n readonly block: BlockParameters;\n readonly contractReadResolver: ContractReadResolver;\n };\n\nexport class ReadContext extends Context.Service<ReadContext, ReadExecutionContext>()(\n \"@ensforge/core/internal/read/ReadContext\",\n) {}\n\nexport interface ReadExecutionService {\n readonly contractReadResolver: ContractReadResolver;\n readonly makeContext: (\n options?: ReadExecutionOptions,\n ) => Effect.Effect<ReadExecutionContext, RpcError>;\n}\n\nexport class ReadExecution extends Context.Service<ReadExecution, ReadExecutionService>()(\n \"@ensforge/core/internal/read/ReadExecution\",\n) {}\n\nexport interface MakeReadExecutionOptions {\n readonly publicClient: Pick<PublicClient, \"getBlock\" | \"multicall\">;\n readonly readSemaphore?: Semaphore.Semaphore;\n readonly multicallBatchSize?: number;\n}\n\nexport const makeReadExecution = ({\n publicClient,\n readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency),\n multicallBatchSize = defaultReadOptions.multicallBatchSize,\n}: MakeReadExecutionOptions): ReadExecutionService => {\n const contractReadResolver = makeContractReadResolver({\n publicClient,\n readSemaphore,\n multicallBatchSize,\n });\n const makeContext = Effect.fn(\"ReadExecution.makeContext\")(function* (\n options: ReadExecutionOptions = {},\n ): Effect.fn.Return<ReadExecutionContext, RpcError> {\n const consistency = options.consistency ?? \"snapshot\";\n\n if (consistency === \"best-effort\") {\n return Object.freeze({\n consistency,\n block: Object.freeze(getBlockReference(options)),\n contractReadResolver,\n });\n }\n\n if (options.blockNumber !== undefined) {\n return Object.freeze({\n consistency,\n block: Object.freeze({ blockNumber: options.blockNumber }),\n contractReadResolver,\n });\n }\n\n const blockTag = options.blockTag ?? \"latest\";\n if (blockTag === \"pending\") {\n return yield* new RpcError({\n code: \"REQUEST_FAILED\",\n message: \"Snapshot consistency cannot use the pending block\",\n cause: { blockTag },\n });\n }\n\n const block = yield* readSemaphore.withPermit(\n Effect.tryPromise({\n try: () => publicClient.getBlock({ blockTag }),\n catch: (cause) => viemErrorToEffectError(cause, \"getBlock\"),\n }),\n );\n\n if (!Predicate.isBigInt(block.number)) {\n return yield* new RpcError({\n code: \"REQUEST_FAILED\",\n message: `Unable to resolve the ${blockTag} block to a concrete number`,\n cause: { blockTag, blockNumber: block.number },\n });\n }\n\n yield* Effect.annotateCurrentSpan({\n \"ens.read.consistency\": consistency,\n \"ens.read.block_number\": block.number.toString(),\n \"ens.read.block_tag\": blockTag,\n });\n\n return Object.freeze({\n consistency,\n block: Object.freeze({ blockNumber: block.number }),\n contractReadResolver,\n });\n });\n\n return ReadExecution.of({ contractReadResolver, makeContext });\n};\n"],"mappings":";;;;;;;;AA+BA,IAAa,cAAb,cAAiC,QAAQ,QAA2C,CAAC,CACnF,0CACF,CAAC,CAAC,CAAC;AASH,IAAa,gBAAb,cAAmC,QAAQ,QAA6C,CAAC,CACvF,4CACF,CAAC,CAAC,CAAC;AAQH,MAAa,qBAAqB,EAChC,cACA,gBAAgB,UAAU,WAAW,mBAAmB,WAAW,GACnE,qBAAqB,mBAAmB,yBACY;CACpD,MAAM,uBAAuB,yBAAyB;EACpD;EACA;EACA;CACF,CAAC;CACD,MAAM,cAAc,OAAO,GAAG,2BAA2B,CAAC,CAAC,WACzD,UAAgC,CAAC,GACiB;EAClD,MAAM,cAAc,QAAQ,eAAe;EAE3C,IAAI,gBAAgB,eAClB,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,kBAAkB,OAAO,CAAC;GAC/C;EACF,CAAC;EAGH,IAAI,QAAQ,gBAAgB,QAC1B,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,EAAE,aAAa,QAAQ,YAAY,CAAC;GACzD;EACF,CAAC;EAGH,MAAM,WAAW,QAAQ,YAAY;EACrC,IAAI,aAAa,WACf,OAAO,OAAO,IAAI,SAAS;GACzB,MAAM;GACN,SAAS;GACT,OAAO,EAAE,SAAS;EACpB,CAAC;EAGH,MAAM,QAAQ,OAAO,cAAc,WACjC,OAAO,WAAW;GAChB,WAAW,aAAa,SAAS,EAAE,SAAS,CAAC;GAC7C,QAAQ,UAAU,uBAAuB,OAAO,UAAU;EAC5D,CAAC,CACH;EAEA,IAAI,CAAC,UAAU,SAAS,MAAM,MAAM,GAClC,OAAO,OAAO,IAAI,SAAS;GACzB,MAAM;GACN,SAAS,yBAAyB,SAAS;GAC3C,OAAO;IAAE;IAAU,aAAa,MAAM;GAAO;EAC/C,CAAC;EAGH,OAAO,OAAO,oBAAoB;GAChC,wBAAwB;GACxB,yBAAyB,MAAM,OAAO,SAAS;GAC/C,sBAAsB;EACxB,CAAC;EAED,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,EAAE,aAAa,MAAM,OAAO,CAAC;GAClD;EACF,CAAC;CACH,CAAC;CAED,OAAO,cAAc,GAAG;EAAE;EAAsB;CAAY,CAAC;AAC/D"}
@@ -0,0 +1,36 @@
1
+ //#region src/internal/registration/commitment-status.ts
2
+ const classifyCommitmentStatus = ({ protocol, submittedAt, minimumAge, maximumAge, currentTime }) => {
3
+ if (submittedAt === 0n) return {
4
+ status: "not-found",
5
+ protocol
6
+ };
7
+ const readyAt = submittedAt + minimumAge;
8
+ const expiresAt = submittedAt + maximumAge;
9
+ if (currentTime < readyAt) return {
10
+ status: "pending",
11
+ protocol,
12
+ submittedAt,
13
+ readyAt,
14
+ expiresAt,
15
+ remainingSeconds: readyAt - currentTime
16
+ };
17
+ if (currentTime >= expiresAt) return {
18
+ status: "expired",
19
+ protocol,
20
+ submittedAt,
21
+ readyAt,
22
+ expiresAt
23
+ };
24
+ return {
25
+ status: "ready",
26
+ protocol,
27
+ submittedAt,
28
+ readyAt,
29
+ expiresAt,
30
+ remainingSeconds: expiresAt - currentTime
31
+ };
32
+ };
33
+
34
+ //#endregion
35
+ export { classifyCommitmentStatus };
36
+ //# sourceMappingURL=commitment-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitment-status.js","names":[],"sources":["../../../src/internal/registration/commitment-status.ts"],"sourcesContent":["import type { CommitmentStatus } from \"../../actions/registration/types.js\";\nimport type { EnsProtocol } from \"../../schemas/protocol.js\";\n\nexport interface ClassifyCommitmentStatusParameters {\n readonly protocol: EnsProtocol;\n readonly submittedAt: bigint;\n readonly minimumAge: bigint;\n readonly maximumAge: bigint;\n readonly currentTime: bigint;\n}\n\nexport const classifyCommitmentStatus = ({\n protocol,\n submittedAt,\n minimumAge,\n maximumAge,\n currentTime,\n}: ClassifyCommitmentStatusParameters): CommitmentStatus => {\n if (submittedAt === 0n) return { status: \"not-found\", protocol };\n\n const readyAt = submittedAt + minimumAge;\n const expiresAt = submittedAt + maximumAge;\n if (currentTime < readyAt) {\n return {\n status: \"pending\",\n protocol,\n submittedAt,\n readyAt,\n expiresAt,\n remainingSeconds: readyAt - currentTime,\n };\n }\n if (currentTime >= expiresAt) {\n return { status: \"expired\", protocol, submittedAt, readyAt, expiresAt };\n }\n return {\n status: \"ready\",\n protocol,\n submittedAt,\n readyAt,\n expiresAt,\n remainingSeconds: expiresAt - currentTime,\n };\n};\n"],"mappings":";AAWA,MAAa,4BAA4B,EACvC,UACA,aACA,YACA,YACA,kBAC0D;CAC1D,IAAI,gBAAgB,IAAI,OAAO;EAAE,QAAQ;EAAa;CAAS;CAE/D,MAAM,UAAU,cAAc;CAC9B,MAAM,YAAY,cAAc;CAChC,IAAI,cAAc,SAChB,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;EACA,kBAAkB,UAAU;CAC9B;CAEF,IAAI,eAAe,WACjB,OAAO;EAAE,QAAQ;EAAW;EAAU;EAAa;EAAS;CAAU;CAExE,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;EACA,kBAAkB,YAAY;CAChC;AACF"}
@@ -0,0 +1,33 @@
1
+ import { EthereumClient } from "../client/ethereum-client.js";
2
+ import { Effect } from "effect";
3
+ import { standardRentPriceOracleV2IsPaymentTokenAbi } from "@ensforge/contracts/v2";
4
+ import { erc20DecimalsAbi, erc20SymbolAbi } from "@ensforge/contracts/shared";
5
+
6
+ //#region src/internal/registration/payment-token.ts
7
+ const readPaymentTokenSupport = Effect.fn("readPaymentTokenSupport")(function* (oracle, token) {
8
+ const ethereum = yield* EthereumClient;
9
+ if (!(yield* ethereum.readContract({
10
+ address: oracle,
11
+ abi: standardRentPriceOracleV2IsPaymentTokenAbi,
12
+ functionName: "isPaymentToken",
13
+ args: [token]
14
+ }))) return { supported: false };
15
+ const [symbol, decimals] = yield* Effect.all([ethereum.readContract({
16
+ address: token,
17
+ abi: erc20SymbolAbi,
18
+ functionName: "symbol"
19
+ }), ethereum.readContract({
20
+ address: token,
21
+ abi: erc20DecimalsAbi,
22
+ functionName: "decimals"
23
+ })], { concurrency: "unbounded" });
24
+ return {
25
+ supported: true,
26
+ symbol,
27
+ decimals
28
+ };
29
+ });
30
+
31
+ //#endregion
32
+ export { readPaymentTokenSupport };
33
+ //# sourceMappingURL=payment-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-token.js","names":[],"sources":["../../../src/internal/registration/payment-token.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { erc20DecimalsAbi, erc20SymbolAbi } from \"@ensforge/contracts/shared\";\nimport { standardRentPriceOracleV2IsPaymentTokenAbi } from \"@ensforge/contracts/v2\";\n\nimport type { EthereumAddress } from \"../../schemas/identity.js\";\nimport { EthereumClient } from \"../client/ethereum-client.js\";\n\nexport const readPaymentTokenSupport = Effect.fn(\"readPaymentTokenSupport\")(function* (\n oracle: EthereumAddress,\n token: EthereumAddress,\n) {\n const ethereum = yield* EthereumClient;\n const supported = yield* ethereum.readContract({\n address: oracle,\n abi: standardRentPriceOracleV2IsPaymentTokenAbi,\n functionName: \"isPaymentToken\",\n args: [token],\n });\n if (!supported) return { supported: false as const };\n\n const [symbol, decimals] = yield* Effect.all(\n [\n ethereum.readContract({ address: token, abi: erc20SymbolAbi, functionName: \"symbol\" }),\n ethereum.readContract({ address: token, abi: erc20DecimalsAbi, functionName: \"decimals\" }),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n return { supported: true as const, symbol, decimals };\n});\n"],"mappings":";;;;;;AAQA,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAC1E,QACA,OACA;CACA,MAAM,WAAW,OAAO;CAOxB,IAAI,EAAC,OANoB,SAAS,aAAa;EAC7C,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,KAAK;CACd,CAAC,IACe,OAAO,EAAE,WAAW,MAAe;CAEnD,MAAM,CAAC,QAAQ,YAAY,OAAO,OAAO,IACvC,CACE,SAAS,aAAa;EAAE,SAAS;EAAO,KAAK;EAAgB,cAAc;CAAS,CAAC,GACrF,SAAS,aAAa;EAAE,SAAS;EAAO,KAAK;EAAkB,cAAc;CAAW,CAAC,CAC3F,GACA,EAAE,aAAa,YAAY,CAC7B;CACA,OAAO;EAAE,WAAW;EAAe;EAAQ;CAAS;AACtD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { NameError } from "../../errors/name-error.js";
2
+ import { analyzeName } from "../../names/analyze.js";
3
+ import { Effect } from "effect";
4
+
5
+ //#region src/internal/registration/second-level-eth.ts
6
+ const getSecondLevelEthLabel = Effect.fn("getSecondLevelEthLabel")(function* (name) {
7
+ const analysis = analyzeName(name);
8
+ const label = analysis.isSecondLevelEth ? analysis.label : void 0;
9
+ if (label === void 0) return yield* new NameError({
10
+ code: "INVALID_NAME",
11
+ message: "Registration and renewal require a second-level .eth name"
12
+ });
13
+ return label;
14
+ });
15
+
16
+ //#endregion
17
+ export { getSecondLevelEthLabel };
18
+ //# sourceMappingURL=second-level-eth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"second-level-eth.js","names":[],"sources":["../../../src/internal/registration/second-level-eth.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { NameError } from \"../../errors/name-error.js\";\nimport { analyzeName } from \"../../names/analyze.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\n\nexport const getSecondLevelEthLabel = Effect.fn(\"getSecondLevelEthLabel\")(function* (\n name: NormalizedName,\n) {\n const analysis = analyzeName(name);\n const label = analysis.isSecondLevelEth ? analysis.label : undefined;\n if (label === undefined) {\n return yield* new NameError({\n code: \"INVALID_NAME\",\n message: \"Registration and renewal require a second-level .eth name\",\n });\n }\n return label;\n});\n"],"mappings":";;;;;AAMA,MAAa,yBAAyB,OAAO,GAAG,wBAAwB,CAAC,CAAC,WACxE,MACA;CACA,MAAM,WAAW,YAAY,IAAI;CACjC,MAAM,QAAQ,SAAS,mBAAmB,SAAS,QAAQ;CAC3D,IAAI,UAAU,QACZ,OAAO,OAAO,IAAI,UAAU;EAC1B,MAAM;EACN,SAAS;CACX,CAAC;CAEH,OAAO;AACT,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { ReadContext } from "../read/execution-context.js";
2
+ import { EthereumClient } from "../client/ethereum-client.js";
3
+ import { Effect } from "effect";
4
+ import { universalResolverV1ResolveAbi, universalResolverV1ResolveWithResolverAbi } from "@ensforge/contracts/v1";
5
+ import { universalResolverV2ResolveAbi, universalResolverV2ResolveWithResolverAbi } from "@ensforge/contracts/v2";
6
+
7
+ //#region src/internal/resolver/resolve-name.ts
8
+ const resolveName = Effect.fn("resolveName")(function* ({ universalResolver, protocol, name, data }) {
9
+ const ethereum = yield* EthereumClient;
10
+ const block = (yield* ReadContext).block;
11
+ if (protocol === "v1") return yield* ethereum.readContractDirect({
12
+ address: universalResolver,
13
+ abi: universalResolverV1ResolveAbi,
14
+ functionName: "resolve",
15
+ args: [name, data],
16
+ ...block
17
+ });
18
+ return yield* ethereum.readContractDirect({
19
+ address: universalResolver,
20
+ abi: universalResolverV2ResolveAbi,
21
+ functionName: "resolve",
22
+ args: [name, data],
23
+ ...block
24
+ });
25
+ });
26
+ const resolveNameWithResolver = Effect.fn("resolveNameWithResolver")(function* ({ universalResolver, resolver, protocol, name, data, gateways }) {
27
+ const ethereum = yield* EthereumClient;
28
+ const block = (yield* ReadContext).block;
29
+ const parameters = {
30
+ address: universalResolver,
31
+ functionName: "resolveWithResolver",
32
+ args: [
33
+ resolver,
34
+ name,
35
+ data,
36
+ gateways
37
+ ],
38
+ ...block
39
+ };
40
+ if (protocol === "v1") return yield* ethereum.readContractDirect({
41
+ ...parameters,
42
+ abi: universalResolverV1ResolveWithResolverAbi
43
+ });
44
+ return yield* ethereum.readContractDirect({
45
+ ...parameters,
46
+ abi: universalResolverV2ResolveWithResolverAbi
47
+ });
48
+ });
49
+
50
+ //#endregion
51
+ export { resolveName, resolveNameWithResolver };
52
+ //# sourceMappingURL=resolve-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-name.js","names":[],"sources":["../../../src/internal/resolver/resolve-name.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n universalResolverV1ResolveAbi,\n universalResolverV1ResolveWithResolverAbi,\n} from \"@ensforge/contracts/v1\";\nimport {\n universalResolverV2ResolveAbi,\n universalResolverV2ResolveWithResolverAbi,\n} from \"@ensforge/contracts/v2\";\nimport type { Address, Hex } from \"viem\";\n\nimport { EthereumClient } from \"../client/ethereum-client.js\";\nimport type { ViemError } from \"../errors/viem-error.js\";\nimport { ReadContext } from \"../read/execution-context.js\";\n\nexport interface ResolveNameParameters {\n readonly universalResolver: Address;\n readonly protocol: \"v1\" | \"v2\";\n readonly name: Hex;\n readonly data: Hex;\n}\n\nexport interface ResolveNameWithResolverParameters extends ResolveNameParameters {\n readonly resolver: Address;\n readonly gateways: ReadonlyArray<string>;\n}\n\nexport const resolveName = Effect.fn(\"resolveName\")(function* ({\n universalResolver,\n protocol,\n name,\n data,\n}: ResolveNameParameters): Effect.fn.Return<\n readonly [Hex, Address],\n ViemError,\n EthereumClient | ReadContext\n> {\n const ethereum = yield* EthereumClient;\n const context = yield* ReadContext;\n const block = context.block;\n\n if (protocol === \"v1\") {\n return yield* ethereum.readContractDirect({\n address: universalResolver,\n abi: universalResolverV1ResolveAbi,\n functionName: \"resolve\",\n args: [name, data],\n ...block,\n });\n }\n\n return yield* ethereum.readContractDirect({\n address: universalResolver,\n abi: universalResolverV2ResolveAbi,\n functionName: \"resolve\",\n args: [name, data],\n ...block,\n });\n});\n\nexport const resolveNameWithResolver = Effect.fn(\"resolveNameWithResolver\")(function* ({\n universalResolver,\n resolver,\n protocol,\n name,\n data,\n gateways,\n}: ResolveNameWithResolverParameters): Effect.fn.Return<\n Hex,\n ViemError,\n EthereumClient | ReadContext\n> {\n const ethereum = yield* EthereumClient;\n const context = yield* ReadContext;\n const block = context.block;\n const parameters = {\n address: universalResolver,\n functionName: \"resolveWithResolver\",\n args: [resolver, name, data, gateways],\n ...block,\n } as const;\n\n if (protocol === \"v1\") {\n return yield* ethereum.readContractDirect({\n ...parameters,\n abi: universalResolverV1ResolveWithResolverAbi,\n });\n }\n\n return yield* ethereum.readContractDirect({\n ...parameters,\n abi: universalResolverV2ResolveWithResolverAbi,\n });\n});\n"],"mappings":";;;;;;;AA4BA,MAAa,cAAc,OAAO,GAAG,aAAa,CAAC,CAAC,WAAW,EAC7D,mBACA,UACA,MACA,QAKA;CACA,MAAM,WAAW,OAAO;CAExB,MAAM,SAAQ,OADS,YACF,CAAC;CAEtB,IAAI,aAAa,MACf,OAAO,OAAO,SAAS,mBAAmB;EACxC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,MAAM,IAAI;EACjB,GAAG;CACL,CAAC;CAGH,OAAO,OAAO,SAAS,mBAAmB;EACxC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,MAAM,IAAI;EACjB,GAAG;CACL,CAAC;AACH,CAAC;AAED,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAAW,EACrF,mBACA,UACA,UACA,MACA,MACA,YAKA;CACA,MAAM,WAAW,OAAO;CAExB,MAAM,SAAQ,OADS,YACF,CAAC;CACtB,MAAM,aAAa;EACjB,SAAS;EACT,cAAc;EACd,MAAM;GAAC;GAAU;GAAM;GAAM;EAAQ;EACrC,GAAG;CACL;CAEA,IAAI,aAAa,MACf,OAAO,OAAO,SAAS,mBAAmB;EACxC,GAAG;EACH,KAAK;CACP,CAAC;CAGH,OAAO,OAAO,SAAS,mBAAmB;EACxC,GAAG;EACH,KAAK;CACP,CAAC;AACH,CAAC"}