@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,162 @@
1
+ import { ContractError } from "../../errors/contract-error.js";
2
+ import { viemErrorToEffectError } from "../../internal/errors/viem-error.js";
3
+ import { RegistrationError } from "../../errors/registration-error.js";
4
+ import { makeSingleWriteAction } from "../../internal/write/single-write-action.js";
5
+ import { decodeOwnershipAddress } from "../ownership/address.js";
6
+ import { getSecondLevelEthLabel } from "../../internal/registration/second-level-eth.js";
7
+ import { isPaymentTokenSupported } from "./is-payment-token-supported/index.js";
8
+ import { getRegistrationPlan } from "./get-registration-plan/index.js";
9
+ import { Effect } from "effect";
10
+ import { encodeFunctionData, zeroAddress, zeroHash } from "viem";
11
+ import { ethRegistrarControllerV1CommitAbi, ethRegistrarControllerV1RegisterAbi } from "@ensforge/contracts/v1";
12
+ import { ethRegistrarV2CommitAbi, ethRegistrarV2RegisterAbi } from "@ensforge/contracts/v2";
13
+ import { erc20AllowanceAbi, erc20ApproveAbi } from "@ensforge/contracts/shared";
14
+
15
+ //#region src/actions/registration/mutation.ts
16
+ const encode = (operation, makeData) => Effect.try({
17
+ try: makeData,
18
+ catch: (cause) => new ContractError({
19
+ code: "ENCODE_FAILED",
20
+ message: `Unable to encode ${operation}`,
21
+ cause
22
+ })
23
+ });
24
+ const commitPreparer = Effect.fn("ensforge.commitName.prepare")(function* (config, parameters) {
25
+ const profile = config.deployments;
26
+ return {
27
+ to: profile.protocol === "v1" ? profile.v1.contracts.ethRegistrarController : profile.v2.contracts.ethRegistrar,
28
+ data: yield* encode("commitName", () => encodeFunctionData({
29
+ abi: profile.protocol === "v1" ? ethRegistrarControllerV1CommitAbi : ethRegistrarV2CommitAbi,
30
+ functionName: "commit",
31
+ args: [parameters.commitment]
32
+ })),
33
+ value: 0n,
34
+ protocol: profile.protocol
35
+ };
36
+ });
37
+ const approvePaymentTokenPreparer = Effect.fn("ensforge.approvePaymentToken.prepare")(function* (config, parameters) {
38
+ const profile = config.deployments;
39
+ if (profile.protocol === "v1") return yield* new RegistrationError({
40
+ code: "PAYMENT_TOKEN_UNSUPPORTED",
41
+ message: "ENSv1 registration uses native ETH and does not accept payment tokens"
42
+ });
43
+ if (parameters.amount < 0n) return yield* new RegistrationError({
44
+ code: "REGISTRATION_FAILED",
45
+ message: "Payment-token approval amount cannot be negative"
46
+ });
47
+ const paymentToken = yield* decodeOwnershipAddress(parameters.paymentToken, "payment token");
48
+ if (!(yield* isPaymentTokenSupported.effect(config, { paymentToken })).supported) return yield* new RegistrationError({
49
+ code: "PAYMENT_TOKEN_UNSUPPORTED",
50
+ message: "The selected ENSv2 registration payment token is not supported"
51
+ });
52
+ return {
53
+ to: paymentToken,
54
+ data: yield* encode("approvePaymentToken", () => encodeFunctionData({
55
+ abi: erc20ApproveAbi,
56
+ functionName: "approve",
57
+ args: [profile.v2.contracts.ethRegistrar, parameters.amount]
58
+ })),
59
+ value: 0n,
60
+ protocol: "v2"
61
+ };
62
+ });
63
+ const completeRegistrationPreparer = Effect.fn("ensforge.completeRegistration.prepare")(function* (config, parameters, context) {
64
+ const profile = config.deployments;
65
+ const plan = yield* getRegistrationPlan.effect(config, parameters);
66
+ if (plan.status === "unavailable") return yield* new RegistrationError({
67
+ code: "NAME_UNAVAILABLE",
68
+ message: `${plan.name} is not available for registration`
69
+ });
70
+ if (plan.status === "payment-token-required") return yield* new RegistrationError({
71
+ code: "PAYMENT_TOKEN_REQUIRED",
72
+ message: `A payment token is required to register ${plan.name}`
73
+ });
74
+ if (plan.status === "unsupported-payment-token") return yield* new RegistrationError({
75
+ code: "PAYMENT_TOKEN_UNSUPPORTED",
76
+ message: `The selected payment token is not supported for ${plan.name}`
77
+ });
78
+ if (plan.status === "commitment-required") return yield* new RegistrationError({
79
+ code: "COMMITMENT_NOT_FOUND",
80
+ message: `No active commitment exists for ${plan.name}`
81
+ });
82
+ if (plan.status === "commitment-pending") return yield* new RegistrationError({
83
+ code: "COMMITMENT_PENDING",
84
+ message: `The commitment for ${plan.name} is not old enough`
85
+ });
86
+ if (plan.status === "commitment-expired") return yield* new RegistrationError({
87
+ code: "COMMITMENT_EXPIRED",
88
+ message: `The commitment for ${plan.name} has expired`
89
+ });
90
+ if (plan.price.status !== "available") return yield* new RegistrationError({
91
+ code: "REGISTRATION_FAILED",
92
+ message: `A registration price is unavailable for ${plan.name}`
93
+ });
94
+ if (parameters.maxPrice !== void 0 && plan.price.total > parameters.maxPrice) return yield* new RegistrationError({
95
+ code: "PRICE_EXCEEDS_MAXIMUM",
96
+ message: `The current registration price for ${plan.name} exceeds maxPrice`
97
+ });
98
+ const label = yield* getSecondLevelEthLabel(plan.name);
99
+ if (profile.protocol === "v1") return {
100
+ to: profile.v1.contracts.ethRegistrarController,
101
+ data: yield* encode("completeRegistration", () => encodeFunctionData({
102
+ abi: ethRegistrarControllerV1RegisterAbi,
103
+ functionName: "register",
104
+ args: [{
105
+ label,
106
+ owner: parameters.owner,
107
+ duration: parameters.duration,
108
+ secret: parameters.secret,
109
+ resolver: parameters.resolver ?? profile.v1.contracts.publicResolver,
110
+ data: parameters.records ?? [],
111
+ reverseRecord: parameters.reverseRecord ?? 0,
112
+ referrer: parameters.referrer ?? zeroHash
113
+ }]
114
+ })),
115
+ value: plan.price.total,
116
+ protocol: "v1"
117
+ };
118
+ const paymentToken = parameters.paymentToken;
119
+ if (paymentToken === void 0 || plan.price.currency.kind !== "erc20") return yield* new RegistrationError({
120
+ code: "PAYMENT_TOKEN_REQUIRED",
121
+ message: `A payment token is required to register ${plan.name}`
122
+ });
123
+ const account = typeof context.account === "string" ? context.account : context.account.address;
124
+ if ((yield* Effect.tryPromise({
125
+ try: () => config.publicClient.readContract({
126
+ address: paymentToken,
127
+ abi: erc20AllowanceAbi,
128
+ functionName: "allowance",
129
+ args: [account, profile.v2.contracts.ethRegistrar]
130
+ }),
131
+ catch: (cause) => viemErrorToEffectError(cause, "readContract")
132
+ })) < plan.price.total) return yield* new RegistrationError({
133
+ code: "INSUFFICIENT_ALLOWANCE",
134
+ message: `Payment-token allowance is insufficient to register ${plan.name}`
135
+ });
136
+ return {
137
+ to: profile.v2.contracts.ethRegistrar,
138
+ data: yield* encode("completeRegistration", () => encodeFunctionData({
139
+ abi: ethRegistrarV2RegisterAbi,
140
+ functionName: "register",
141
+ args: [
142
+ label,
143
+ parameters.owner,
144
+ parameters.secret,
145
+ parameters.subregistry ?? zeroAddress,
146
+ parameters.resolver ?? profile.v2.contracts.publicResolver,
147
+ parameters.duration,
148
+ paymentToken,
149
+ parameters.referrer ?? zeroHash
150
+ ]
151
+ })),
152
+ value: 0n,
153
+ protocol: "v2"
154
+ };
155
+ });
156
+ const commitName = makeSingleWriteAction("commitName", commitPreparer);
157
+ const approvePaymentToken = makeSingleWriteAction("approvePaymentToken", approvePaymentTokenPreparer);
158
+ const completeRegistration = makeSingleWriteAction("completeRegistration", completeRegistrationPreparer, { sensitive: true });
159
+
160
+ //#endregion
161
+ export { approvePaymentToken, commitName, completeRegistration };
162
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","names":[],"sources":["../../../src/actions/registration/mutation.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { erc20AllowanceAbi, erc20ApproveAbi } from \"@ensforge/contracts/shared\";\nimport {\n ethRegistrarControllerV1CommitAbi,\n ethRegistrarControllerV1RegisterAbi,\n} from \"@ensforge/contracts/v1\";\nimport { ethRegistrarV2CommitAbi, ethRegistrarV2RegisterAbi } from \"@ensforge/contracts/v2\";\nimport { encodeFunctionData, zeroAddress, zeroHash } from \"viem\";\n\nimport type { EnsWriteIntentPreparer } from \"../../action/write-intent.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { RegistrationError } from \"../../errors/registration-error.js\";\nimport { viemErrorToEffectError } from \"../../internal/errors/viem-error.js\";\nimport { getSecondLevelEthLabel } from \"../../internal/registration/second-level-eth.js\";\nimport { makeSingleWriteAction } from \"../../internal/write/single-write-action.js\";\nimport type { WriteError } from \"../../write/types.js\";\nimport { decodeOwnershipAddress } from \"../ownership/address.js\";\nimport { getRegistrationPlan } from \"./get-registration-plan/index.js\";\nimport { isPaymentTokenSupported } from \"./is-payment-token-supported/index.js\";\nimport type {\n ApprovePaymentTokenParameters,\n CommitNameParameters,\n CompleteRegistrationParameters,\n} from \"./types.js\";\n\nconst encode = (operation: string, makeData: () => `0x${string}`) =>\n Effect.try({\n try: makeData,\n catch: (cause) =>\n new ContractError({\n code: \"ENCODE_FAILED\",\n message: `Unable to encode ${operation}`,\n cause,\n }),\n });\n\nconst commitPreparer: EnsWriteIntentPreparer<CommitNameParameters, WriteError> = Effect.fn(\n \"ensforge.commitName.prepare\",\n)(function* (config, parameters) {\n const profile = config.deployments;\n return {\n to:\n profile.protocol === \"v1\"\n ? profile.v1.contracts.ethRegistrarController\n : profile.v2.contracts.ethRegistrar,\n data: yield* encode(\"commitName\", () =>\n encodeFunctionData({\n abi:\n profile.protocol === \"v1\" ? ethRegistrarControllerV1CommitAbi : ethRegistrarV2CommitAbi,\n functionName: \"commit\",\n args: [parameters.commitment],\n }),\n ),\n value: 0n,\n protocol: profile.protocol,\n };\n});\n\nconst approvePaymentTokenPreparer: EnsWriteIntentPreparer<\n ApprovePaymentTokenParameters,\n WriteError\n> = Effect.fn(\"ensforge.approvePaymentToken.prepare\")(function* (config, parameters) {\n const profile = config.deployments;\n if (profile.protocol === \"v1\") {\n return yield* new RegistrationError({\n code: \"PAYMENT_TOKEN_UNSUPPORTED\",\n message: \"ENSv1 registration uses native ETH and does not accept payment tokens\",\n });\n }\n if (parameters.amount < 0n) {\n return yield* new RegistrationError({\n code: \"REGISTRATION_FAILED\",\n message: \"Payment-token approval amount cannot be negative\",\n });\n }\n const paymentToken = yield* decodeOwnershipAddress(parameters.paymentToken, \"payment token\");\n const support = yield* isPaymentTokenSupported.effect(config, { paymentToken });\n if (!support.supported) {\n return yield* new RegistrationError({\n code: \"PAYMENT_TOKEN_UNSUPPORTED\",\n message: \"The selected ENSv2 registration payment token is not supported\",\n });\n }\n return {\n to: paymentToken,\n data: yield* encode(\"approvePaymentToken\", () =>\n encodeFunctionData({\n abi: erc20ApproveAbi,\n functionName: \"approve\",\n args: [profile.v2.contracts.ethRegistrar, parameters.amount],\n }),\n ),\n value: 0n,\n protocol: \"v2\" as const,\n };\n});\n\nconst completeRegistrationPreparer: EnsWriteIntentPreparer<\n CompleteRegistrationParameters,\n WriteError\n> = Effect.fn(\"ensforge.completeRegistration.prepare\")(function* (config, parameters, context) {\n const profile = config.deployments;\n const plan = yield* getRegistrationPlan.effect(config, parameters);\n if (plan.status === \"unavailable\") {\n return yield* new RegistrationError({\n code: \"NAME_UNAVAILABLE\",\n message: `${plan.name} is not available for registration`,\n });\n }\n if (plan.status === \"payment-token-required\") {\n return yield* new RegistrationError({\n code: \"PAYMENT_TOKEN_REQUIRED\",\n message: `A payment token is required to register ${plan.name}`,\n });\n }\n if (plan.status === \"unsupported-payment-token\") {\n return yield* new RegistrationError({\n code: \"PAYMENT_TOKEN_UNSUPPORTED\",\n message: `The selected payment token is not supported for ${plan.name}`,\n });\n }\n if (plan.status === \"commitment-required\") {\n return yield* new RegistrationError({\n code: \"COMMITMENT_NOT_FOUND\",\n message: `No active commitment exists for ${plan.name}`,\n });\n }\n if (plan.status === \"commitment-pending\") {\n return yield* new RegistrationError({\n code: \"COMMITMENT_PENDING\",\n message: `The commitment for ${plan.name} is not old enough`,\n });\n }\n if (plan.status === \"commitment-expired\") {\n return yield* new RegistrationError({\n code: \"COMMITMENT_EXPIRED\",\n message: `The commitment for ${plan.name} has expired`,\n });\n }\n if (plan.price.status !== \"available\") {\n return yield* new RegistrationError({\n code: \"REGISTRATION_FAILED\",\n message: `A registration price is unavailable for ${plan.name}`,\n });\n }\n if (parameters.maxPrice !== undefined && plan.price.total > parameters.maxPrice) {\n return yield* new RegistrationError({\n code: \"PRICE_EXCEEDS_MAXIMUM\",\n message: `The current registration price for ${plan.name} exceeds maxPrice`,\n });\n }\n\n const label = yield* getSecondLevelEthLabel(plan.name);\n if (profile.protocol === \"v1\") {\n return {\n to: profile.v1.contracts.ethRegistrarController,\n data: yield* encode(\"completeRegistration\", () =>\n encodeFunctionData({\n abi: ethRegistrarControllerV1RegisterAbi,\n functionName: \"register\",\n args: [\n {\n label,\n owner: parameters.owner,\n duration: parameters.duration,\n secret: parameters.secret,\n resolver: parameters.resolver ?? profile.v1.contracts.publicResolver,\n data: parameters.records ?? [],\n reverseRecord: parameters.reverseRecord ?? 0,\n referrer: parameters.referrer ?? zeroHash,\n },\n ],\n }),\n ),\n value: plan.price.total,\n protocol: \"v1\" as const,\n };\n }\n\n const paymentToken = parameters.paymentToken;\n if (paymentToken === undefined || plan.price.currency.kind !== \"erc20\") {\n return yield* new RegistrationError({\n code: \"PAYMENT_TOKEN_REQUIRED\",\n message: `A payment token is required to register ${plan.name}`,\n });\n }\n const account = typeof context.account === \"string\" ? context.account : context.account.address;\n const allowance = yield* Effect.tryPromise({\n try: () =>\n config.publicClient.readContract({\n address: paymentToken,\n abi: erc20AllowanceAbi,\n functionName: \"allowance\",\n args: [account, profile.v2.contracts.ethRegistrar],\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"readContract\"),\n });\n if (allowance < plan.price.total) {\n return yield* new RegistrationError({\n code: \"INSUFFICIENT_ALLOWANCE\",\n message: `Payment-token allowance is insufficient to register ${plan.name}`,\n });\n }\n return {\n to: profile.v2.contracts.ethRegistrar,\n data: yield* encode(\"completeRegistration\", () =>\n encodeFunctionData({\n abi: ethRegistrarV2RegisterAbi,\n functionName: \"register\",\n args: [\n label,\n parameters.owner,\n parameters.secret,\n parameters.subregistry ?? zeroAddress,\n parameters.resolver ?? profile.v2.contracts.publicResolver,\n parameters.duration,\n paymentToken,\n parameters.referrer ?? zeroHash,\n ],\n }),\n ),\n value: 0n,\n protocol: \"v2\" as const,\n };\n});\n\nexport const commitName = makeSingleWriteAction(\"commitName\", commitPreparer);\nexport const approvePaymentToken = makeSingleWriteAction(\n \"approvePaymentToken\",\n approvePaymentTokenPreparer,\n);\nexport const completeRegistration = makeSingleWriteAction(\n \"completeRegistration\",\n completeRegistrationPreparer,\n { sensitive: true },\n);\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { EnsAction } from "../../../action/action.js";
2
+ import { WriteError } from "../../../write/types.js";
3
+ import { RegisterNameParameters, RegisterNameResult } from "../types.js";
4
+ import "../../../index.js";
5
+ //#region src/actions/registration/register-name/index.d.ts
6
+ declare const registerName: EnsAction<RegisterNameParameters, RegisterNameResult, WriteError>;
7
+ //#endregion
8
+ export { type RegisterNameParameters, type RegisterNameResult, registerName };
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/registration/register-name/index.ts"],"mappings":";;;;;cAuda,cAAY,UAAA,wBAAA,oBAAA"}
@@ -0,0 +1,252 @@
1
+ import { defineAction } from "../../../action/action.js";
2
+ import { provideConfig } from "../../../internal/config/context.js";
3
+ import { viemErrorToEffectError } from "../../../internal/errors/viem-error.js";
4
+ import { resolveWalletContext } from "../../../internal/services/wallet-client.js";
5
+ import { RegistrationError } from "../../../errors/registration-error.js";
6
+ import { executeWritePlan } from "../../batch/execute-write-plan.js";
7
+ import { normalizeName } from "../../../names/normalize.js";
8
+ import { getNameState } from "../../name/get-name-state/index.js";
9
+ import { getSetRecordIntents } from "../../records/set-records/index.js";
10
+ import { makeRegistrationCommitment } from "../make-registration-commitment/index.js";
11
+ import { getRegistrationPlan } from "../get-registration-plan/index.js";
12
+ import { approvePaymentToken, commitName, completeRegistration } from "../mutation.js";
13
+ import { Effect } from "effect";
14
+ import { keccak256, stringToHex } from "viem";
15
+ import { erc20AllowanceAbi } from "@ensforge/contracts/shared";
16
+
17
+ //#region src/actions/registration/register-name/index.ts
18
+ const confirmed = { type: "confirmed" };
19
+ const registrationError = (code, message) => new RegistrationError({
20
+ code,
21
+ message
22
+ });
23
+ const requireActionablePlan = (plan) => {
24
+ switch (plan.status) {
25
+ case "unavailable": return registrationError("NAME_UNAVAILABLE", `${plan.name} is not available for registration`);
26
+ case "payment-token-required": return registrationError("PAYMENT_TOKEN_REQUIRED", `A payment token is required to register ${plan.name}`);
27
+ case "unsupported-payment-token": return registrationError("PAYMENT_TOKEN_UNSUPPORTED", `The selected payment token is not supported for ${plan.name}`);
28
+ default: return Effect.succeed(plan);
29
+ }
30
+ };
31
+ const readAllowance = Effect.fn("ensforge.registerName.readAllowance")(function* (config, paymentToken, parameters) {
32
+ if (config.deployments.protocol !== "v2") return yield* registrationError("PAYMENT_TOKEN_UNSUPPORTED", "Payment-token allowance is only used by ENSv2 registration");
33
+ const deployment = config.deployments.v2;
34
+ const { account } = yield* provideConfig(config, resolveWalletContext(parameters));
35
+ const owner = typeof account === "string" ? account : account.address;
36
+ return yield* Effect.tryPromise({
37
+ try: () => config.publicClient.readContract({
38
+ address: paymentToken,
39
+ abi: erc20AllowanceAbi,
40
+ functionName: "allowance",
41
+ args: [owner, deployment.contracts.ethRegistrar]
42
+ }),
43
+ catch: (cause) => viemErrorToEffectError(cause, "readContract")
44
+ });
45
+ });
46
+ const hashPlan = (value) => keccak256(stringToHex(JSON.stringify(value, (_key, item) => typeof item === "bigint" ? item.toString() : item)));
47
+ const commitmentParameters = (parameters) => ({
48
+ name: parameters.name,
49
+ duration: parameters.duration,
50
+ owner: parameters.owner,
51
+ secret: parameters.secret,
52
+ records: [],
53
+ ...parameters.resolver === void 0 ? {} : { resolver: parameters.resolver },
54
+ ...parameters.subregistry === void 0 ? {} : { subregistry: parameters.subregistry },
55
+ ...parameters.reverseRecord === void 0 ? {} : { reverseRecord: parameters.reverseRecord },
56
+ ...parameters.referrer === void 0 ? {} : { referrer: parameters.referrer },
57
+ ...parameters.paymentToken === void 0 ? {} : { paymentToken: parameters.paymentToken }
58
+ });
59
+ const registrationPlanId = (name, commitment, parameters) => `registerName:${hashPlan({
60
+ name,
61
+ owner: parameters.owner,
62
+ duration: parameters.duration,
63
+ commitment,
64
+ paymentToken: parameters.paymentToken ?? null,
65
+ resolver: parameters.resolver ?? null,
66
+ records: parameters.records ?? []
67
+ })}`;
68
+ const redactFailure = (failure, name) => failure === null || failure instanceof RegistrationError ? failure : registrationError("REGISTRATION_FAILED", `Unable to complete registration for ${name}`);
69
+ const registerNameEffect = Effect.fn("ensforge.registerName")(function* (config, parameters) {
70
+ const completedRegistration = parameters.resume?.write.completedStages.some((stage) => stage.id === "register");
71
+ if (parameters.resume !== void 0 && completedRegistration) {
72
+ const name = yield* normalizeName.effect(parameters.name);
73
+ if (name !== parameters.resume.name) return yield* registrationError("REGISTRATION_FAILED", "Registration resume data belongs to a different name");
74
+ const commitment = yield* makeRegistrationCommitment.effect(config, commitmentParameters(parameters)).pipe(Effect.mapError(() => registrationError("REGISTRATION_FAILED", "Unable to validate registration resume data")));
75
+ if (commitment.commitment !== parameters.resume.commitment) return yield* registrationError("REGISTRATION_FAILED", "Registration resume data does not match the supplied commitment");
76
+ if (parameters.maxPrice !== void 0 && parameters.resume.price.total > parameters.maxPrice) return yield* registrationError("PRICE_EXCEEDS_MAXIMUM", `The registration price for ${name} exceeds maxPrice`);
77
+ const stages = [];
78
+ if (parameters.resume.committedByWorkflow) stages.push({
79
+ type: "calls",
80
+ id: "commit",
81
+ calls: [commitName.call({ commitment: commitment.commitment })],
82
+ mode: parameters.mode ?? "auto",
83
+ atomicity: "none",
84
+ confirmation: confirmed
85
+ });
86
+ if (parameters.resume.paymentApprovalIncluded && parameters.paymentToken !== void 0) stages.push({
87
+ type: "calls",
88
+ id: "approve-payment",
89
+ calls: [approvePaymentToken.call({
90
+ paymentToken: parameters.paymentToken,
91
+ amount: parameters.maxPrice ?? parameters.resume.price.total
92
+ })],
93
+ mode: "sequential",
94
+ atomicity: "none",
95
+ confirmation: confirmed
96
+ });
97
+ stages.push({
98
+ type: "calls",
99
+ id: "register",
100
+ calls: [completeRegistration.call({
101
+ ...commitmentParameters(parameters),
102
+ ...parameters.maxPrice === void 0 ? {} : { maxPrice: parameters.maxPrice }
103
+ })],
104
+ mode: "sequential",
105
+ atomicity: "none",
106
+ confirmation: confirmed
107
+ });
108
+ if ((parameters.records?.length ?? 0) > 0) stages.push({
109
+ type: "calls",
110
+ id: "set-records",
111
+ calls: getSetRecordIntents(name, parameters.records ?? []),
112
+ mode: parameters.mode ?? "auto",
113
+ atomicity: "preferred",
114
+ confirmation: parameters.confirmation ?? confirmed
115
+ });
116
+ const write = yield* executeWritePlan.effect(config, {
117
+ plan: {
118
+ id: registrationPlanId(name, commitment.commitment, parameters),
119
+ stages
120
+ },
121
+ resume: parameters.resume.write,
122
+ ...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
123
+ ...parameters.account === void 0 ? {} : { account: parameters.account }
124
+ }).pipe(Effect.mapError(() => registrationError("REGISTRATION_FAILED", `Unable to resume registration for ${name}`)));
125
+ const safeWrite = {
126
+ ...write,
127
+ failure: redactFailure(write.failure, name)
128
+ };
129
+ return {
130
+ ...parameters.resume,
131
+ status: safeWrite.status,
132
+ write: safeWrite,
133
+ nextActionAt: safeWrite.nextActionAt,
134
+ finalState: safeWrite.status === "completed" ? yield* getNameState.effect(config, { name }) : parameters.resume.finalState
135
+ };
136
+ }
137
+ let registrationPlan = yield* getRegistrationPlan.effect(config, commitmentParameters(parameters)).pipe(Effect.flatMap(requireActionablePlan), Effect.mapError((error) => error instanceof RegistrationError ? error : registrationError("REGISTRATION_FAILED", "Unable to prepare name registration")));
138
+ if (registrationPlan.status === "commitment-expired") return yield* registrationError("COMMITMENT_EXPIRED", `The commitment for ${registrationPlan.name} has expired; create a new secret and restart`);
139
+ if (parameters.resume !== void 0 && parameters.resume.commitment !== registrationPlan.commitment.commitment) return yield* registrationError("REGISTRATION_FAILED", "Registration resume data does not match the supplied commitment");
140
+ if (parameters.maxPrice !== void 0 && registrationPlan.price.status === "available" && registrationPlan.price.total > parameters.maxPrice) return yield* registrationError("PRICE_EXCEEDS_MAXIMUM", `The current registration price for ${registrationPlan.name} exceeds maxPrice`);
141
+ const commitment = registrationPlan.commitment.commitment;
142
+ const committedByWorkflow = parameters.resume?.committedByWorkflow ?? registrationPlan.status === "commitment-required";
143
+ const planId = registrationPlanId(registrationPlan.name, commitment, parameters);
144
+ let resume = parameters.resume?.write;
145
+ if (registrationPlan.status === "commitment-required") {
146
+ if (parameters.resume !== void 0) return yield* registrationError("COMMITMENT_NOT_FOUND", `The commitment for ${registrationPlan.name} is no longer available`);
147
+ resume = yield* executeWritePlan.effect(config, {
148
+ plan: {
149
+ id: planId,
150
+ stages: [{
151
+ type: "calls",
152
+ id: "commit",
153
+ calls: [commitName.call({ commitment })],
154
+ mode: parameters.mode ?? "auto",
155
+ atomicity: "none",
156
+ confirmation: confirmed
157
+ }]
158
+ },
159
+ ...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
160
+ ...parameters.account === void 0 ? {} : { account: parameters.account }
161
+ }).pipe(Effect.mapError(() => registrationError("REGISTRATION_FAILED", `Unable to submit the commitment for ${registrationPlan.name}`)));
162
+ registrationPlan = yield* getRegistrationPlan.effect(config, commitmentParameters(parameters)).pipe(Effect.flatMap(requireActionablePlan), Effect.mapError(() => registrationError("REGISTRATION_FAILED", `Unable to verify the commitment for ${registrationPlan.name}`)));
163
+ }
164
+ if (registrationPlan.status === "commitment-required") return yield* registrationError("COMMITMENT_NOT_FOUND", `The commitment for ${registrationPlan.name} was not found after submission`);
165
+ if (registrationPlan.status === "commitment-expired") return yield* registrationError("COMMITMENT_EXPIRED", `The commitment for ${registrationPlan.name} has expired; create a new secret and restart`);
166
+ if (registrationPlan.price.status !== "available") return yield* registrationError("REGISTRATION_FAILED", `A registration price is unavailable for ${registrationPlan.name}`);
167
+ let paymentApprovalIncluded = parameters.resume?.paymentApprovalIncluded ?? false;
168
+ if (config.deployments.protocol === "v2") {
169
+ const paymentToken = parameters.paymentToken;
170
+ if (paymentToken === void 0) return yield* registrationError("PAYMENT_TOKEN_REQUIRED", `A payment token is required to register ${registrationPlan.name}`);
171
+ if (!paymentApprovalIncluded) paymentApprovalIncluded = (yield* readAllowance(config, paymentToken, parameters)) < registrationPlan.price.total;
172
+ }
173
+ const stages = [];
174
+ if (committedByWorkflow) stages.push({
175
+ type: "calls",
176
+ id: "commit",
177
+ calls: [commitName.call({ commitment })],
178
+ mode: parameters.mode ?? "auto",
179
+ atomicity: "none",
180
+ confirmation: confirmed
181
+ });
182
+ if (registrationPlan.status === "commitment-pending" && registrationPlan.commitmentStatus.status === "pending") stages.push({
183
+ type: "wait",
184
+ id: "commitment-age",
185
+ condition: {
186
+ type: "timestamp",
187
+ target: registrationPlan.commitmentStatus.readyAt
188
+ }
189
+ });
190
+ if (paymentApprovalIncluded && parameters.paymentToken !== void 0) stages.push({
191
+ type: "calls",
192
+ id: "approve-payment",
193
+ calls: [approvePaymentToken.call({
194
+ paymentToken: parameters.paymentToken,
195
+ amount: parameters.maxPrice ?? registrationPlan.price.total
196
+ })],
197
+ mode: "sequential",
198
+ atomicity: "none",
199
+ confirmation: confirmed
200
+ });
201
+ stages.push({
202
+ type: "calls",
203
+ id: "register",
204
+ calls: [completeRegistration.call({
205
+ ...commitmentParameters(parameters),
206
+ ...parameters.maxPrice === void 0 ? {} : { maxPrice: parameters.maxPrice }
207
+ })],
208
+ mode: "sequential",
209
+ atomicity: "none",
210
+ confirmation: confirmed
211
+ });
212
+ if ((parameters.records?.length ?? 0) > 0) stages.push({
213
+ type: "calls",
214
+ id: "set-records",
215
+ calls: getSetRecordIntents(registrationPlan.name, parameters.records ?? []),
216
+ mode: parameters.mode ?? "auto",
217
+ atomicity: "preferred",
218
+ confirmation: parameters.confirmation ?? confirmed
219
+ });
220
+ const write = yield* executeWritePlan.effect(config, {
221
+ plan: {
222
+ id: planId,
223
+ stages
224
+ },
225
+ ...resume === void 0 ? {} : { resume },
226
+ ...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
227
+ ...parameters.account === void 0 ? {} : { account: parameters.account }
228
+ }).pipe(Effect.mapError((error) => error instanceof RegistrationError ? error : registrationError("REGISTRATION_FAILED", `Unable to complete registration for ${registrationPlan.name}`)));
229
+ const safeWrite = {
230
+ ...write,
231
+ failure: redactFailure(write.failure, registrationPlan.name)
232
+ };
233
+ return {
234
+ status: safeWrite.status,
235
+ name: registrationPlan.name,
236
+ protocol: registrationPlan.commitment.protocol,
237
+ commitment,
238
+ committedByWorkflow,
239
+ paymentApprovalIncluded,
240
+ readyAt: registrationPlan.commitmentStatus.status === "not-found" ? null : registrationPlan.commitmentStatus.readyAt,
241
+ expiresAt: registrationPlan.commitmentStatus.status === "not-found" ? null : registrationPlan.commitmentStatus.expiresAt,
242
+ nextActionAt: safeWrite.nextActionAt,
243
+ price: registrationPlan.price,
244
+ write: safeWrite,
245
+ finalState: safeWrite.status === "completed" ? yield* getNameState.effect(config, { name: registrationPlan.name }) : null
246
+ };
247
+ });
248
+ const registerName = defineAction(registerNameEffect);
249
+
250
+ //#endregion
251
+ export { registerName };
252
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/registration/register-name/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { erc20AllowanceAbi } from \"@ensforge/contracts/shared\";\nimport { keccak256, stringToHex } from \"viem\";\n\nimport { defineAction } from \"../../../action/action.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { RegistrationError } from \"../../../errors/registration-error.js\";\nimport { provideConfig } from \"../../../internal/config/context.js\";\nimport { viemErrorToEffectError } from \"../../../internal/errors/viem-error.js\";\nimport { resolveWalletContext } from \"../../../internal/services/wallet-client.js\";\nimport { normalizeName } from \"../../../names/normalize.js\";\nimport type { WriteError, WritePlan, WritePlanProgress } from \"../../../write/types.js\";\nimport { executeWritePlan } from \"../../batch/execute-write-plan.js\";\nimport { getNameState } from \"../../name/get-name-state/index.js\";\nimport { getSetRecordIntents } from \"../../records/set-records/index.js\";\nimport { getRegistrationPlan } from \"../get-registration-plan/index.js\";\nimport { makeRegistrationCommitment } from \"../make-registration-commitment/index.js\";\nimport { approvePaymentToken, commitName, completeRegistration } from \"../mutation.js\";\nimport type {\n AvailableRegistrationPrice,\n RegisterNameParameters,\n RegisterNameResult,\n RegistrationPlan,\n} from \"../types.js\";\n\nconst confirmed = { type: \"confirmed\" } as const;\n\nconst registrationError = (code: RegistrationError[\"code\"], message: string) =>\n new RegistrationError({ code, message });\n\nconst requireActionablePlan = (\n plan: RegistrationPlan,\n): Effect.Effect<\n Extract<\n RegistrationPlan,\n { status: \"commitment-required\" | \"commitment-pending\" | \"ready\" | \"commitment-expired\" }\n >,\n RegistrationError\n> => {\n switch (plan.status) {\n case \"unavailable\":\n return registrationError(\n \"NAME_UNAVAILABLE\",\n `${plan.name} is not available for registration`,\n );\n case \"payment-token-required\":\n return registrationError(\n \"PAYMENT_TOKEN_REQUIRED\",\n `A payment token is required to register ${plan.name}`,\n );\n case \"unsupported-payment-token\":\n return registrationError(\n \"PAYMENT_TOKEN_UNSUPPORTED\",\n `The selected payment token is not supported for ${plan.name}`,\n );\n default:\n return Effect.succeed(plan);\n }\n};\n\nconst readAllowance = Effect.fn(\"ensforge.registerName.readAllowance\")(function* (\n config: EnsforgeConfig,\n paymentToken: `0x${string}`,\n parameters: RegisterNameParameters,\n) {\n if (config.deployments.protocol !== \"v2\") {\n return yield* registrationError(\n \"PAYMENT_TOKEN_UNSUPPORTED\",\n \"Payment-token allowance is only used by ENSv2 registration\",\n );\n }\n const deployment = config.deployments.v2;\n const { account } = yield* provideConfig(config, resolveWalletContext(parameters));\n const owner = typeof account === \"string\" ? account : account.address;\n return yield* Effect.tryPromise({\n try: () =>\n config.publicClient.readContract({\n address: paymentToken,\n abi: erc20AllowanceAbi,\n functionName: \"allowance\",\n args: [owner, deployment.contracts.ethRegistrar],\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"readContract\"),\n });\n});\n\nconst hashPlan = (value: unknown) =>\n keccak256(\n stringToHex(\n JSON.stringify(value, (_key, item: unknown) =>\n typeof item === \"bigint\" ? item.toString() : item,\n ),\n ),\n );\n\nconst commitmentParameters = (parameters: RegisterNameParameters) => ({\n name: parameters.name,\n duration: parameters.duration,\n owner: parameters.owner,\n secret: parameters.secret,\n records: [] as const,\n ...(parameters.resolver === undefined ? {} : { resolver: parameters.resolver }),\n ...(parameters.subregistry === undefined ? {} : { subregistry: parameters.subregistry }),\n ...(parameters.reverseRecord === undefined ? {} : { reverseRecord: parameters.reverseRecord }),\n ...(parameters.referrer === undefined ? {} : { referrer: parameters.referrer }),\n ...(parameters.paymentToken === undefined ? {} : { paymentToken: parameters.paymentToken }),\n});\n\nconst registrationPlanId = (\n name: string,\n commitment: `0x${string}`,\n parameters: RegisterNameParameters,\n) =>\n `registerName:${hashPlan({\n name,\n owner: parameters.owner,\n duration: parameters.duration,\n commitment,\n paymentToken: parameters.paymentToken ?? null,\n resolver: parameters.resolver ?? null,\n records: parameters.records ?? [],\n })}`;\n\nconst redactFailure = (failure: WriteError | null, name: string): WriteError | null =>\n failure === null || failure instanceof RegistrationError\n ? failure\n : registrationError(\"REGISTRATION_FAILED\", `Unable to complete registration for ${name}`);\n\nconst registerNameEffect = Effect.fn(\"ensforge.registerName\")(function* (\n config: EnsforgeConfig,\n parameters: RegisterNameParameters,\n): Effect.fn.Return<RegisterNameResult, WriteError> {\n const completedRegistration = parameters.resume?.write.completedStages.some(\n (stage) => stage.id === \"register\",\n );\n if (parameters.resume !== undefined && completedRegistration) {\n const name = yield* normalizeName.effect(parameters.name);\n if (name !== parameters.resume.name) {\n return yield* registrationError(\n \"REGISTRATION_FAILED\",\n \"Registration resume data belongs to a different name\",\n );\n }\n const commitment = yield* makeRegistrationCommitment\n .effect(config, commitmentParameters(parameters))\n .pipe(\n Effect.mapError(() =>\n registrationError(\"REGISTRATION_FAILED\", \"Unable to validate registration resume data\"),\n ),\n );\n if (commitment.commitment !== parameters.resume.commitment) {\n return yield* registrationError(\n \"REGISTRATION_FAILED\",\n \"Registration resume data does not match the supplied commitment\",\n );\n }\n if (parameters.maxPrice !== undefined && parameters.resume.price.total > parameters.maxPrice) {\n return yield* registrationError(\n \"PRICE_EXCEEDS_MAXIMUM\",\n `The registration price for ${name} exceeds maxPrice`,\n );\n }\n const stages: Array<WritePlan[\"stages\"][number]> = [];\n if (parameters.resume.committedByWorkflow) {\n stages.push({\n type: \"calls\",\n id: \"commit\",\n calls: [commitName.call({ commitment: commitment.commitment })],\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n }\n if (parameters.resume.paymentApprovalIncluded && parameters.paymentToken !== undefined) {\n stages.push({\n type: \"calls\",\n id: \"approve-payment\",\n calls: [\n approvePaymentToken.call({\n paymentToken: parameters.paymentToken,\n amount: parameters.maxPrice ?? parameters.resume.price.total,\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n }\n stages.push({\n type: \"calls\",\n id: \"register\",\n calls: [\n completeRegistration.call({\n ...commitmentParameters(parameters),\n ...(parameters.maxPrice === undefined ? {} : { maxPrice: parameters.maxPrice }),\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n if ((parameters.records?.length ?? 0) > 0) {\n stages.push({\n type: \"calls\",\n id: \"set-records\",\n calls: getSetRecordIntents(name, parameters.records ?? []),\n mode: parameters.mode ?? \"auto\",\n atomicity: \"preferred\",\n confirmation: parameters.confirmation ?? confirmed,\n });\n }\n const write = yield* executeWritePlan\n .effect(config, {\n plan: {\n id: registrationPlanId(name, commitment.commitment, parameters),\n stages,\n },\n resume: parameters.resume.write,\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n })\n .pipe(\n Effect.mapError(() =>\n registrationError(\"REGISTRATION_FAILED\", `Unable to resume registration for ${name}`),\n ),\n );\n const safeWrite: WritePlanProgress = {\n ...write,\n failure: redactFailure(write.failure, name),\n };\n return {\n ...parameters.resume,\n status: safeWrite.status,\n write: safeWrite,\n nextActionAt: safeWrite.nextActionAt,\n finalState:\n safeWrite.status === \"completed\"\n ? yield* getNameState.effect(config, { name })\n : parameters.resume.finalState,\n };\n }\n\n let registrationPlan = yield* getRegistrationPlan\n .effect(config, commitmentParameters(parameters))\n .pipe(\n Effect.flatMap(requireActionablePlan),\n Effect.mapError((error) =>\n error instanceof RegistrationError\n ? error\n : registrationError(\"REGISTRATION_FAILED\", \"Unable to prepare name registration\"),\n ),\n );\n if (registrationPlan.status === \"commitment-expired\") {\n return yield* registrationError(\n \"COMMITMENT_EXPIRED\",\n `The commitment for ${registrationPlan.name} has expired; create a new secret and restart`,\n );\n }\n if (\n parameters.resume !== undefined &&\n parameters.resume.commitment !== registrationPlan.commitment.commitment\n ) {\n return yield* registrationError(\n \"REGISTRATION_FAILED\",\n \"Registration resume data does not match the supplied commitment\",\n );\n }\n if (\n parameters.maxPrice !== undefined &&\n registrationPlan.price.status === \"available\" &&\n registrationPlan.price.total > parameters.maxPrice\n ) {\n return yield* registrationError(\n \"PRICE_EXCEEDS_MAXIMUM\",\n `The current registration price for ${registrationPlan.name} exceeds maxPrice`,\n );\n }\n\n const commitment = registrationPlan.commitment.commitment;\n const committedByWorkflow =\n parameters.resume?.committedByWorkflow ?? registrationPlan.status === \"commitment-required\";\n const planId = registrationPlanId(registrationPlan.name, commitment, parameters);\n let resume = parameters.resume?.write;\n\n if (registrationPlan.status === \"commitment-required\") {\n if (parameters.resume !== undefined) {\n return yield* registrationError(\n \"COMMITMENT_NOT_FOUND\",\n `The commitment for ${registrationPlan.name} is no longer available`,\n );\n }\n resume = yield* executeWritePlan\n .effect(config, {\n plan: {\n id: planId,\n stages: [\n {\n type: \"calls\",\n id: \"commit\",\n calls: [commitName.call({ commitment })],\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: confirmed,\n },\n ],\n },\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n })\n .pipe(\n Effect.mapError(() =>\n registrationError(\n \"REGISTRATION_FAILED\",\n `Unable to submit the commitment for ${registrationPlan.name}`,\n ),\n ),\n );\n registrationPlan = yield* getRegistrationPlan\n .effect(config, commitmentParameters(parameters))\n .pipe(\n Effect.flatMap(requireActionablePlan),\n Effect.mapError(() =>\n registrationError(\n \"REGISTRATION_FAILED\",\n `Unable to verify the commitment for ${registrationPlan.name}`,\n ),\n ),\n );\n }\n\n if (registrationPlan.status === \"commitment-required\") {\n return yield* registrationError(\n \"COMMITMENT_NOT_FOUND\",\n `The commitment for ${registrationPlan.name} was not found after submission`,\n );\n }\n if (registrationPlan.status === \"commitment-expired\") {\n return yield* registrationError(\n \"COMMITMENT_EXPIRED\",\n `The commitment for ${registrationPlan.name} has expired; create a new secret and restart`,\n );\n }\n if (registrationPlan.price.status !== \"available\") {\n return yield* registrationError(\n \"REGISTRATION_FAILED\",\n `A registration price is unavailable for ${registrationPlan.name}`,\n );\n }\n\n let paymentApprovalIncluded = parameters.resume?.paymentApprovalIncluded ?? false;\n if (config.deployments.protocol === \"v2\") {\n const paymentToken = parameters.paymentToken;\n if (paymentToken === undefined) {\n return yield* registrationError(\n \"PAYMENT_TOKEN_REQUIRED\",\n `A payment token is required to register ${registrationPlan.name}`,\n );\n }\n if (!paymentApprovalIncluded) {\n const allowance = yield* readAllowance(config, paymentToken, parameters);\n paymentApprovalIncluded = allowance < registrationPlan.price.total;\n }\n }\n\n const stages: Array<WritePlan[\"stages\"][number]> = [];\n if (committedByWorkflow) {\n stages.push({\n type: \"calls\",\n id: \"commit\",\n calls: [commitName.call({ commitment })],\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n }\n if (\n registrationPlan.status === \"commitment-pending\" &&\n registrationPlan.commitmentStatus.status === \"pending\"\n ) {\n stages.push({\n type: \"wait\",\n id: \"commitment-age\",\n condition: { type: \"timestamp\", target: registrationPlan.commitmentStatus.readyAt },\n });\n }\n if (paymentApprovalIncluded && parameters.paymentToken !== undefined) {\n stages.push({\n type: \"calls\",\n id: \"approve-payment\",\n calls: [\n approvePaymentToken.call({\n paymentToken: parameters.paymentToken,\n amount: parameters.maxPrice ?? registrationPlan.price.total,\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n }\n stages.push({\n type: \"calls\",\n id: \"register\",\n calls: [\n completeRegistration.call({\n ...commitmentParameters(parameters),\n ...(parameters.maxPrice === undefined ? {} : { maxPrice: parameters.maxPrice }),\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: confirmed,\n });\n if ((parameters.records?.length ?? 0) > 0) {\n stages.push({\n type: \"calls\",\n id: \"set-records\",\n calls: getSetRecordIntents(registrationPlan.name, parameters.records ?? []),\n mode: parameters.mode ?? \"auto\",\n atomicity: \"preferred\",\n confirmation: parameters.confirmation ?? confirmed,\n });\n }\n\n const write = yield* executeWritePlan\n .effect(config, {\n plan: { id: planId, stages },\n ...(resume === undefined ? {} : { resume }),\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n })\n .pipe(\n Effect.mapError((error) =>\n error instanceof RegistrationError\n ? error\n : registrationError(\n \"REGISTRATION_FAILED\",\n `Unable to complete registration for ${registrationPlan.name}`,\n ),\n ),\n );\n const safeWrite: WritePlanProgress = {\n ...write,\n failure: redactFailure(write.failure, registrationPlan.name),\n };\n return {\n status: safeWrite.status,\n name: registrationPlan.name,\n protocol: registrationPlan.commitment.protocol,\n commitment,\n committedByWorkflow,\n paymentApprovalIncluded,\n readyAt:\n registrationPlan.commitmentStatus.status === \"not-found\"\n ? null\n : registrationPlan.commitmentStatus.readyAt,\n expiresAt:\n registrationPlan.commitmentStatus.status === \"not-found\"\n ? null\n : registrationPlan.commitmentStatus.expiresAt,\n nextActionAt: safeWrite.nextActionAt,\n price: registrationPlan.price satisfies AvailableRegistrationPrice,\n write: safeWrite,\n finalState:\n safeWrite.status === \"completed\"\n ? yield* getNameState.effect(config, { name: registrationPlan.name })\n : null,\n };\n});\n\nexport const registerName = defineAction<RegisterNameParameters, RegisterNameResult, WriteError>(\n registerNameEffect,\n);\n\nexport type { RegisterNameParameters, RegisterNameResult } from \"../types.js\";\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { EnsAction } from "../../../action/action.js";
2
+ import { WriteError } from "../../../write/types.js";
3
+ import { RegisterNamesParameters, RegisterNamesResult } from "../types.js";
4
+ import "../../../index.js";
5
+ //#region src/actions/registration/register-names/index.d.ts
6
+ declare const registerNames: EnsAction<RegisterNamesParameters, RegisterNamesResult, WriteError>;
7
+ //#endregion
8
+ export { type RegisterNamesParameters, type RegisterNamesResult, registerNames };
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/registration/register-names/index.ts"],"mappings":";;;;;cA4Da,eAAa,UAAA,yBAAA,qBAAA"}
@@ -0,0 +1,36 @@
1
+ import { defineAction } from "../../../action/action.js";
2
+ import { RegistrationError } from "../../../errors/registration-error.js";
3
+ import { normalizeName } from "../../../names/normalize.js";
4
+ import { registerName } from "../register-name/index.js";
5
+ import { Effect } from "effect";
6
+
7
+ //#region src/actions/registration/register-names/index.ts
8
+ const registerNamesEffect = Effect.fn("ensforge.registerNames")(function* (config, parameters) {
9
+ if (parameters.registrations.length === 0) return yield* new RegistrationError({
10
+ code: "REGISTRATION_FAILED",
11
+ message: "registerNames requires at least one registration"
12
+ });
13
+ const names = yield* Effect.forEach(parameters.registrations, (registration) => normalizeName.effect(registration.name));
14
+ if (new Set(names).size !== names.length) return yield* new RegistrationError({
15
+ code: "REGISTRATION_FAILED",
16
+ message: "registerNames cannot contain duplicate names"
17
+ });
18
+ const registrations = yield* Effect.forEach(parameters.registrations, (registration, index) => registerName.effect(config, {
19
+ ...registration,
20
+ ...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
21
+ ...parameters.account === void 0 ? {} : { account: parameters.account },
22
+ ...parameters.mode === void 0 ? {} : { mode: parameters.mode },
23
+ ...parameters.confirmation === void 0 ? {} : { confirmation: parameters.confirmation },
24
+ ...parameters.resume?.registrations[index] === void 0 ? {} : { resume: parameters.resume.registrations[index] }
25
+ }), { concurrency: 1 });
26
+ return {
27
+ status: registrations.some((registration) => registration.status === "partial") ? "partial" : registrations.every((registration) => registration.status === "completed") ? "completed" : "waiting",
28
+ registrations,
29
+ nextActionAt: registrations.reduce((earliest, registration) => registration.nextActionAt === null || earliest !== null && earliest <= registration.nextActionAt ? earliest : registration.nextActionAt, null)
30
+ };
31
+ });
32
+ const registerNames = defineAction(registerNamesEffect);
33
+
34
+ //#endregion
35
+ export { registerNames };
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/registration/register-names/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { defineAction } from \"../../../action/action.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { RegistrationError } from \"../../../errors/registration-error.js\";\nimport { normalizeName } from \"../../../names/normalize.js\";\nimport type { WriteError } from \"../../../write/types.js\";\nimport { registerName } from \"../register-name/index.js\";\nimport type { RegisterNamesParameters, RegisterNamesResult } from \"../types.js\";\n\nconst registerNamesEffect = Effect.fn(\"ensforge.registerNames\")(function* (\n config: EnsforgeConfig,\n parameters: RegisterNamesParameters,\n): Effect.fn.Return<RegisterNamesResult, WriteError> {\n if (parameters.registrations.length === 0) {\n return yield* new RegistrationError({\n code: \"REGISTRATION_FAILED\",\n message: \"registerNames requires at least one registration\",\n });\n }\n const names = yield* Effect.forEach(parameters.registrations, (registration) =>\n normalizeName.effect(registration.name),\n );\n if (new Set(names).size !== names.length) {\n return yield* new RegistrationError({\n code: \"REGISTRATION_FAILED\",\n message: \"registerNames cannot contain duplicate names\",\n });\n }\n const registrations = yield* Effect.forEach(\n parameters.registrations,\n (registration, index) =>\n registerName.effect(config, {\n ...registration,\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n ...(parameters.mode === undefined ? {} : { mode: parameters.mode }),\n ...(parameters.confirmation === undefined ? {} : { confirmation: parameters.confirmation }),\n ...(parameters.resume?.registrations[index] === undefined\n ? {}\n : { resume: parameters.resume.registrations[index] }),\n }),\n { concurrency: 1 },\n );\n const status = registrations.some((registration) => registration.status === \"partial\")\n ? \"partial\"\n : registrations.every((registration) => registration.status === \"completed\")\n ? \"completed\"\n : \"waiting\";\n const nextActionAt = registrations.reduce<bigint | null>(\n (earliest, registration) =>\n registration.nextActionAt === null ||\n (earliest !== null && earliest <= registration.nextActionAt)\n ? earliest\n : registration.nextActionAt,\n null,\n );\n return { status, registrations, nextActionAt };\n});\n\nexport const registerNames = defineAction<RegisterNamesParameters, RegisterNamesResult, WriteError>(\n registerNamesEffect,\n);\n\nexport type { RegisterNamesParameters, RegisterNamesResult } from \"../types.js\";\n"],"mappings":";;;;;;;AAUA,MAAM,sBAAsB,OAAO,GAAG,wBAAwB,CAAC,CAAC,WAC9D,QACA,YACmD;CACnD,IAAI,WAAW,cAAc,WAAW,GACtC,OAAO,OAAO,IAAI,kBAAkB;EAClC,MAAM;EACN,SAAS;CACX,CAAC;CAEH,MAAM,QAAQ,OAAO,OAAO,QAAQ,WAAW,gBAAgB,iBAC7D,cAAc,OAAO,aAAa,IAAI,CACxC;CACA,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,MAAM,QAChC,OAAO,OAAO,IAAI,kBAAkB;EAClC,MAAM;EACN,SAAS;CACX,CAAC;CAEH,MAAM,gBAAgB,OAAO,OAAO,QAClC,WAAW,gBACV,cAAc,UACb,aAAa,OAAO,QAAQ;EAC1B,GAAG;EACH,GAAI,WAAW,iBAAiB,SAAY,CAAC,IAAI,EAAE,cAAc,WAAW,aAAa;EACzF,GAAI,WAAW,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,WAAW,QAAQ;EAC1E,GAAI,WAAW,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,WAAW,KAAK;EACjE,GAAI,WAAW,iBAAiB,SAAY,CAAC,IAAI,EAAE,cAAc,WAAW,aAAa;EACzF,GAAI,WAAW,QAAQ,cAAc,WAAW,SAC5C,CAAC,IACD,EAAE,QAAQ,WAAW,OAAO,cAAc,OAAO;CACvD,CAAC,GACH,EAAE,aAAa,EAAE,CACnB;CAcA,OAAO;EAAE,QAbM,cAAc,MAAM,iBAAiB,aAAa,WAAW,SAAS,IACjF,YACA,cAAc,OAAO,iBAAiB,aAAa,WAAW,WAAW,IACvE,cACA;EASW;EAAe,cARX,cAAc,QAChC,UAAU,iBACT,aAAa,iBAAiB,QAC7B,aAAa,QAAQ,YAAY,aAAa,eAC3C,WACA,aAAa,cACnB,IAEyC;CAAE;AAC/C,CAAC;AAED,MAAa,gBAAgB,aAC3B,mBACF"}
@@ -0,0 +1,6 @@
1
+ import { RenewNameAction, RenewNameParameters, RenewNameResult } from "../types.js";
2
+ //#region src/actions/registration/renew-name/index.d.ts
3
+ declare const renewName: RenewNameAction;
4
+ //#endregion
5
+ export { type RenewNameAction, type RenewNameParameters, type RenewNameResult, renewName };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/registration/renew-name/index.ts"],"mappings":";;cAkNa,WAOR"}