@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,210 @@
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 { executeWritePlan } from "../../batch/execute-write-plan.js";
6
+ import { normalizeName } from "../../../names/normalize.js";
7
+ import { getNameState } from "../../name/get-name-state/index.js";
8
+ import { getMigrationEligibility } from "../get-migration-eligibility/index.js";
9
+ import { getMigrationPlan } from "../get-migration-plan/index.js";
10
+ import { MigrationError } from "../../../errors/migration-error.js";
11
+ import { approveMigration, getCompatibleMigrationHelper, makeMigrationHelperIntent, makeMigrationIntent } from "../mutation.js";
12
+ import { resolveMigrationSteps } from "../migrate-name/index.js";
13
+ import { Effect } from "effect";
14
+ import { isAddressEqual, keccak256, stringToHex } from "viem";
15
+ import { baseRegistrarV1IsApprovedForAllAbi, nameWrapperV1IsApprovedForAllAbi } from "@ensforge/contracts/v1";
16
+
17
+ //#region src/actions/migration/migrate-names/index.ts
18
+ const planId = (migrations) => `migrateNames:${keccak256(stringToHex(JSON.stringify(migrations.map(({ name, owner, resolver, subregistry }) => ({
19
+ name,
20
+ owner: owner ?? null,
21
+ resolver: resolver ?? null,
22
+ subregistry: subregistry ?? null
23
+ })))))}`;
24
+ const readApproval = Effect.fn("ensforge.migrateNames.readApproval")(function* (config, entry, helper) {
25
+ return yield* Effect.tryPromise({
26
+ try: () => config.publicClient.readContract({
27
+ address: entry.plan.target.tokenContract,
28
+ abi: entry.plan.target.tokenStandard === "erc721" ? baseRegistrarV1IsApprovedForAllAbi : nameWrapperV1IsApprovedForAllAbi,
29
+ functionName: "isApprovedForAll",
30
+ args: [entry.tokenOwner, helper]
31
+ }),
32
+ catch: (cause) => viemErrorToEffectError(cause, "readContract")
33
+ });
34
+ });
35
+ const migrateNamesEffect = Effect.fn("ensforge.migrateNames")(function* (config, parameters) {
36
+ if (parameters.migrations.length === 0) return yield* new MigrationError({
37
+ code: "INVALID_MIGRATION_BATCH",
38
+ message: "migrateNames requires at least one migration"
39
+ });
40
+ const migrations = yield* Effect.forEach(parameters.migrations, (migration) => normalizeName.effect(migration.name).pipe(Effect.map((name) => ({
41
+ ...migration,
42
+ name
43
+ }))));
44
+ if (new Set(migrations.map(({ name }) => name)).size !== migrations.length) return yield* new MigrationError({
45
+ code: "INVALID_MIGRATION_BATCH",
46
+ message: "migrateNames cannot contain duplicate names"
47
+ });
48
+ const id = planId(migrations);
49
+ if (parameters.resume !== void 0 && parameters.resume.write.planId !== id) return yield* new MigrationError({
50
+ code: "ROUTE_CHANGED",
51
+ message: "Migration resume data does not match the supplied batch"
52
+ });
53
+ if (parameters.resume?.write.status === "completed") {
54
+ const completedEntries = yield* Effect.forEach(parameters.resume.migrations, (entry) => getNameState.effect(config, { name: entry.name }).pipe(Effect.map((finalState) => ({
55
+ ...entry,
56
+ status: entry.route === null ? "not-required" : "completed",
57
+ finalState
58
+ }))));
59
+ return {
60
+ ...parameters.resume,
61
+ status: "completed",
62
+ migrations: completedEntries
63
+ };
64
+ }
65
+ const { account } = yield* provideConfig(config, resolveWalletContext(parameters));
66
+ const address = typeof account === "string" ? account : account.address;
67
+ const initial = yield* Effect.forEach(migrations, (migration) => Effect.all([getMigrationPlan.effect(config, {
68
+ ...migration,
69
+ account: address
70
+ }), resolveMigrationSteps(config, migration, address, true)], { concurrency: "unbounded" }).pipe(Effect.map(([plan, steps]) => ({
71
+ migration,
72
+ plan,
73
+ steps
74
+ }))), { concurrency: config.reads.concurrency });
75
+ const steps = parameters.resume?.steps ?? [...new Map(initial.flatMap(({ steps: resolved }) => resolved).map((step) => [step.name, step])).values()];
76
+ const readyEntries = yield* Effect.forEach(initial.filter((entry) => entry.plan.status === "ready" && entry.plan.target.supported), ({ migration, plan }) => getMigrationEligibility.effect(config, {
77
+ name: migration.name,
78
+ account: address
79
+ }).pipe(Effect.flatMap((eligibility) => eligibility.owner === null ? new MigrationError({
80
+ code: "MIGRATION_BLOCKED",
81
+ message: `Unable to determine the migration token owner for ${migration.name}`
82
+ }) : Effect.succeed({
83
+ parameters: migration,
84
+ plan,
85
+ tokenOwner: eligibility.owner
86
+ }))));
87
+ const helper = yield* getCompatibleMigrationHelper(config);
88
+ const hasDependencies = initial.some(({ steps: resolved }) => resolved.length > 1);
89
+ const approvalsWithEntries = helper === null || hasDependencies || readyEntries.length !== steps.length ? [] : yield* Effect.forEach(readyEntries, (entry) => readApproval(config, entry, helper).pipe(Effect.map((approved) => ({
90
+ entry,
91
+ approved
92
+ }))));
93
+ const canStageApprovals = approvalsWithEntries.every(({ entry, approved }) => approved || isAddressEqual(entry.tokenOwner, address));
94
+ const strategy = parameters.resume?.strategy ?? (helper !== null && readyEntries.length > 0 && approvalsWithEntries.length === readyEntries.length && canStageApprovals ? "helper" : "sequential");
95
+ if (strategy === "helper" && helper === null) return yield* new MigrationError({
96
+ code: "ROUTE_CHANGED",
97
+ message: "MigrationHelper became unavailable while resuming the migration batch"
98
+ });
99
+ const approvals = parameters.resume?.approvals ? [...parameters.resume.approvals] : [];
100
+ const stages = [];
101
+ if (strategy === "helper" && helper !== null) {
102
+ const requiredByToken = /* @__PURE__ */ new Map();
103
+ const listedApprovals = /* @__PURE__ */ new Set();
104
+ for (const { entry, approved } of approvalsWithEntries) {
105
+ const key = `${entry.plan.target.tokenContract}:${entry.tokenOwner}`;
106
+ if (parameters.resume === void 0 && !listedApprovals.has(key)) {
107
+ approvals.push({
108
+ token: entry.plan.target.tokenContract,
109
+ owner: entry.tokenOwner,
110
+ operator: helper,
111
+ required: !approved
112
+ });
113
+ listedApprovals.add(key);
114
+ }
115
+ if (!approved) requiredByToken.set(key, entry);
116
+ }
117
+ if (parameters.resume !== void 0) for (const approval of parameters.resume.approvals) {
118
+ if (!approval.required) continue;
119
+ const entry = readyEntries.find((candidate) => isAddressEqual(candidate.plan.target.tokenContract, approval.token) && isAddressEqual(candidate.tokenOwner, approval.owner));
120
+ if (entry !== void 0) requiredByToken.set(approval.token, entry);
121
+ }
122
+ if (requiredByToken.size > 0) stages.push({
123
+ type: "calls",
124
+ id: "approve-migration-helper",
125
+ calls: [...requiredByToken.values()].map((entry) => approveMigration.call({ name: entry.parameters.name })),
126
+ mode: parameters.mode ?? "auto",
127
+ atomicity: "none",
128
+ confirmation: { type: "confirmed" }
129
+ });
130
+ stages.push({
131
+ type: "calls",
132
+ id: "migrate-with-helper",
133
+ calls: [makeMigrationHelperIntent({ migrations: readyEntries.map(({ parameters: migration }) => migration) })],
134
+ mode: "sequential",
135
+ atomicity: "none",
136
+ confirmation: parameters.confirmation ?? { type: "confirmed" }
137
+ });
138
+ } else for (const [index, step] of steps.entries()) {
139
+ const requested = migrations.find(({ name }) => name === step.name);
140
+ stages.push({
141
+ type: "calls",
142
+ id: `migrate-${index}-${step.name}`,
143
+ calls: [makeMigrationIntent(requested ?? { name: step.name })],
144
+ mode: "sequential",
145
+ atomicity: "none",
146
+ confirmation: parameters.confirmation ?? { type: "confirmed" }
147
+ });
148
+ }
149
+ if (stages.length === 0) {
150
+ const write = {
151
+ planId: id,
152
+ status: "completed",
153
+ completedStages: [],
154
+ currentStage: null,
155
+ nextActionAt: null,
156
+ failure: null
157
+ };
158
+ return {
159
+ status: "completed",
160
+ strategy,
161
+ migrations: yield* Effect.forEach(migrations, (migration) => getNameState.effect(config, { name: migration.name }).pipe(Effect.map((finalState) => ({
162
+ name: migration.name,
163
+ status: "not-required",
164
+ route: null,
165
+ finalState
166
+ })))),
167
+ approvals,
168
+ steps,
169
+ write
170
+ };
171
+ }
172
+ const write = yield* executeWritePlan.effect(config, {
173
+ plan: {
174
+ id,
175
+ stages
176
+ },
177
+ ...parameters.resume === void 0 ? {} : { resume: parameters.resume.write },
178
+ ...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
179
+ ...parameters.account === void 0 ? {} : { account: parameters.account }
180
+ });
181
+ const completed = write.status === "completed";
182
+ const resultEntries = yield* Effect.forEach(initial, ({ migration, plan, steps: resolved }) => {
183
+ const route = plan.status === "ready" && plan.target.supported ? plan.target.route : resolved.at(-1)?.route ?? parameters.resume?.migrations.find(({ name }) => name === migration.name)?.route ?? null;
184
+ if (!completed) return Effect.succeed({
185
+ name: migration.name,
186
+ status: route === null ? "not-required" : "partial",
187
+ route,
188
+ finalState: null
189
+ });
190
+ return getNameState.effect(config, { name: migration.name }).pipe(Effect.map((finalState) => ({
191
+ name: migration.name,
192
+ status: route === null ? "not-required" : "completed",
193
+ route,
194
+ finalState
195
+ })));
196
+ });
197
+ return {
198
+ status: completed ? "completed" : "partial",
199
+ strategy,
200
+ migrations: resultEntries,
201
+ approvals,
202
+ steps,
203
+ write
204
+ };
205
+ });
206
+ const migrateNames = defineAction(migrateNamesEffect);
207
+
208
+ //#endregion
209
+ export { migrateNames };
210
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/migration/migrate-names/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n baseRegistrarV1IsApprovedForAllAbi,\n nameWrapperV1IsApprovedForAllAbi,\n} from \"@ensforge/contracts/v1\";\nimport { isAddressEqual, keccak256, stringToHex } from \"viem\";\n\nimport { defineAction } from \"../../../action/action.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { MigrationError } from \"../../../errors/migration-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 { EthereumAddress } from \"../../../schemas/identity.js\";\nimport type { WriteError, WritePlan } from \"../../../write/types.js\";\nimport { executeWritePlan } from \"../../batch/execute-write-plan.js\";\nimport { getNameState } from \"../../name/get-name-state/index.js\";\nimport { getMigrationEligibility } from \"../get-migration-eligibility/index.js\";\nimport { getMigrationPlan } from \"../get-migration-plan/index.js\";\nimport { resolveMigrationSteps } from \"../migrate-name/index.js\";\nimport {\n approveMigration,\n getCompatibleMigrationHelper,\n makeMigrationHelperIntent,\n makeMigrationIntent,\n} from \"../mutation.js\";\nimport type {\n MigrateNameCallParameters,\n MigrateNamesParameters,\n MigrationBatchApproval,\n MigrationBatchEntry,\n MigrationBatchProgress,\n MigrationNameProgress,\n MigrationPlan,\n MigrationTarget,\n} from \"../types.js\";\n\ntype ReadyPlan = Omit<Extract<MigrationPlan, { readonly status: \"ready\" }>, \"target\"> & {\n readonly target: Extract<MigrationTarget, { readonly supported: true }>;\n};\ntype ReadyEntry = {\n readonly parameters: MigrateNameCallParameters;\n readonly plan: ReadyPlan;\n readonly tokenOwner: EthereumAddress;\n};\n\nconst planId = (migrations: ReadonlyArray<MigrateNameCallParameters>) =>\n `migrateNames:${keccak256(\n stringToHex(\n JSON.stringify(\n migrations.map(({ name, owner, resolver, subregistry }) => ({\n name,\n owner: owner ?? null,\n resolver: resolver ?? null,\n subregistry: subregistry ?? null,\n })),\n ),\n ),\n )}`;\n\nconst readApproval = Effect.fn(\"ensforge.migrateNames.readApproval\")(function* (\n config: EnsforgeConfig,\n entry: ReadyEntry,\n helper: EthereumAddress,\n) {\n return yield* Effect.tryPromise({\n try: () =>\n config.publicClient.readContract({\n address: entry.plan.target.tokenContract,\n abi:\n entry.plan.target.tokenStandard === \"erc721\"\n ? baseRegistrarV1IsApprovedForAllAbi\n : nameWrapperV1IsApprovedForAllAbi,\n functionName: \"isApprovedForAll\",\n args: [entry.tokenOwner, helper],\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"readContract\"),\n });\n});\n\nconst migrateNamesEffect = Effect.fn(\"ensforge.migrateNames\")(function* (\n config: EnsforgeConfig,\n parameters: MigrateNamesParameters,\n): Effect.fn.Return<MigrationBatchProgress, WriteError> {\n if (parameters.migrations.length === 0) {\n return yield* new MigrationError({\n code: \"INVALID_MIGRATION_BATCH\",\n message: \"migrateNames requires at least one migration\",\n });\n }\n const migrations = yield* Effect.forEach(parameters.migrations, (migration) =>\n normalizeName.effect(migration.name).pipe(Effect.map((name) => ({ ...migration, name }))),\n );\n if (new Set(migrations.map(({ name }) => name)).size !== migrations.length) {\n return yield* new MigrationError({\n code: \"INVALID_MIGRATION_BATCH\",\n message: \"migrateNames cannot contain duplicate names\",\n });\n }\n const id = planId(migrations);\n if (parameters.resume !== undefined && parameters.resume.write.planId !== id) {\n return yield* new MigrationError({\n code: \"ROUTE_CHANGED\",\n message: \"Migration resume data does not match the supplied batch\",\n });\n }\n if (parameters.resume?.write.status === \"completed\") {\n const completedEntries = yield* Effect.forEach(parameters.resume.migrations, (entry) =>\n getNameState.effect(config, { name: entry.name }).pipe(\n Effect.map((finalState): MigrationBatchEntry => ({\n ...entry,\n status: entry.route === null ? \"not-required\" : \"completed\",\n finalState,\n })),\n ),\n );\n return { ...parameters.resume, status: \"completed\", migrations: completedEntries };\n }\n\n const { account } = yield* provideConfig(config, resolveWalletContext(parameters));\n const address = (typeof account === \"string\" ? account : account.address) as EthereumAddress;\n const initial = yield* Effect.forEach(\n migrations,\n (migration) =>\n Effect.all(\n [\n getMigrationPlan.effect(config, { ...migration, account: address }),\n resolveMigrationSteps(config, migration, address, true),\n ] as const,\n { concurrency: \"unbounded\" },\n ).pipe(Effect.map(([plan, steps]) => ({ migration, plan, steps }))),\n { concurrency: config.reads.concurrency },\n );\n const steps = parameters.resume?.steps ?? [\n ...new Map(\n initial.flatMap(({ steps: resolved }) => resolved).map((step) => [step.name, step]),\n ).values(),\n ];\n\n const readyEntries = yield* Effect.forEach(\n initial.filter(\n (entry): entry is typeof entry & { readonly plan: ReadyPlan } =>\n entry.plan.status === \"ready\" && entry.plan.target.supported,\n ),\n ({ migration, plan }) =>\n getMigrationEligibility.effect(config, { name: migration.name, account: address }).pipe(\n Effect.flatMap((eligibility) =>\n eligibility.owner === null\n ? new MigrationError({\n code: \"MIGRATION_BLOCKED\",\n message: `Unable to determine the migration token owner for ${migration.name}`,\n })\n : Effect.succeed({ parameters: migration, plan, tokenOwner: eligibility.owner }),\n ),\n ),\n );\n const helper = yield* getCompatibleMigrationHelper(config);\n const hasDependencies = initial.some(({ steps: resolved }) => resolved.length > 1);\n const approvalsWithEntries =\n helper === null || hasDependencies || readyEntries.length !== steps.length\n ? []\n : yield* Effect.forEach(readyEntries, (entry) =>\n readApproval(config, entry, helper).pipe(Effect.map((approved) => ({ entry, approved }))),\n );\n const canStageApprovals = approvalsWithEntries.every(\n ({ entry, approved }) => approved || isAddressEqual(entry.tokenOwner, address),\n );\n const strategy: MigrationBatchProgress[\"strategy\"] =\n parameters.resume?.strategy ??\n (helper !== null &&\n readyEntries.length > 0 &&\n approvalsWithEntries.length === readyEntries.length &&\n canStageApprovals\n ? \"helper\"\n : \"sequential\");\n if (strategy === \"helper\" && helper === null) {\n return yield* new MigrationError({\n code: \"ROUTE_CHANGED\",\n message: \"MigrationHelper became unavailable while resuming the migration batch\",\n });\n }\n\n const approvals: Array<MigrationBatchApproval> = parameters.resume?.approvals\n ? [...parameters.resume.approvals]\n : [];\n const stages: Array<WritePlan[\"stages\"][number]> = [];\n if (strategy === \"helper\" && helper !== null) {\n const requiredByToken = new Map<string, ReadyEntry>();\n const listedApprovals = new Set<string>();\n for (const { entry, approved } of approvalsWithEntries) {\n const key = `${entry.plan.target.tokenContract}:${entry.tokenOwner}`;\n if (parameters.resume === undefined && !listedApprovals.has(key)) {\n approvals.push({\n token: entry.plan.target.tokenContract,\n owner: entry.tokenOwner,\n operator: helper,\n required: !approved,\n });\n listedApprovals.add(key);\n }\n if (!approved) requiredByToken.set(key, entry);\n }\n if (parameters.resume !== undefined) {\n for (const approval of parameters.resume.approvals) {\n if (!approval.required) continue;\n const entry = readyEntries.find(\n (candidate) =>\n isAddressEqual(candidate.plan.target.tokenContract, approval.token) &&\n isAddressEqual(candidate.tokenOwner, approval.owner),\n );\n if (entry !== undefined) requiredByToken.set(approval.token, entry);\n }\n }\n if (requiredByToken.size > 0) {\n stages.push({\n type: \"calls\",\n id: \"approve-migration-helper\",\n calls: [...requiredByToken.values()].map((entry) =>\n approveMigration.call({ name: entry.parameters.name }),\n ),\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: { type: \"confirmed\" },\n });\n }\n stages.push({\n type: \"calls\",\n id: \"migrate-with-helper\",\n calls: [\n makeMigrationHelperIntent({\n migrations: readyEntries.map(({ parameters: migration }) => migration),\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n } else {\n for (const [index, step] of steps.entries()) {\n const requested = migrations.find(({ name }) => name === step.name);\n stages.push({\n type: \"calls\",\n id: `migrate-${index}-${step.name}`,\n calls: [makeMigrationIntent(requested ?? { name: step.name })],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n }\n }\n\n if (stages.length === 0) {\n const write = {\n planId: id,\n status: \"completed\",\n completedStages: [],\n currentStage: null,\n nextActionAt: null,\n failure: null,\n } as const;\n const entries = yield* Effect.forEach(migrations, (migration) =>\n getNameState.effect(config, { name: migration.name }).pipe(\n Effect.map((finalState): MigrationBatchEntry => ({\n name: migration.name,\n status: \"not-required\",\n route: null,\n finalState,\n })),\n ),\n );\n return {\n status: \"completed\",\n strategy,\n migrations: entries,\n approvals,\n steps,\n write,\n };\n }\n\n const write = yield* executeWritePlan.effect(config, {\n plan: { id, stages },\n ...(parameters.resume === undefined ? {} : { resume: parameters.resume.write }),\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n const completed = write.status === \"completed\";\n const resultEntries = yield* Effect.forEach(initial, ({ migration, plan, steps: resolved }) => {\n const route =\n plan.status === \"ready\" && plan.target.supported\n ? plan.target.route\n : ((resolved.at(-1)?.route ??\n parameters.resume?.migrations.find(({ name }) => name === migration.name)?.route ??\n null) as MigrationNameProgress[\"route\"] | null);\n if (!completed) {\n return Effect.succeed({\n name: migration.name,\n status: route === null ? \"not-required\" : \"partial\",\n route,\n finalState: null,\n } satisfies MigrationBatchEntry);\n }\n return getNameState.effect(config, { name: migration.name }).pipe(\n Effect.map((finalState): MigrationBatchEntry => ({\n name: migration.name,\n status: route === null ? \"not-required\" : \"completed\",\n route,\n finalState,\n })),\n );\n });\n return {\n status: completed ? \"completed\" : \"partial\",\n strategy,\n migrations: resultEntries,\n approvals,\n steps,\n write,\n };\n});\n\nexport const migrateNames = defineAction<\n MigrateNamesParameters,\n MigrationBatchProgress,\n WriteError\n>(migrateNamesEffect);\n\nexport type {\n MigrateNamesParameters,\n MigrationBatchEntry,\n MigrationBatchProgress,\n} from \"../types.js\";\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { CallExecutionResult, WriteError } from "../../write/types.js";
2
+ import { EnsWriteAction } from "../../action/write-intent.js";
3
+ import { ApproveMigrationParameters } from "./types.js";
4
+ import "../../index.js";
5
+ import { Effect } from "effect";
6
+ //#region src/actions/migration/mutation.d.ts
7
+ declare const approveMigration: EnsWriteAction<ApproveMigrationParameters, CallExecutionResult, WriteError>;
8
+ //#endregion
9
+ export { approveMigration };
10
+ //# sourceMappingURL=mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.d.ts","names":[],"sources":["../../../src/actions/migration/mutation.ts"],"mappings":";;;;;;cA8Ra,kBAAgB,eAAA,4BAAA,qBAAA"}
@@ -0,0 +1,210 @@
1
+ import { makeWriteIntent } from "../../action/write-intent.js";
2
+ import { ContractError } from "../../errors/contract-error.js";
3
+ import { dnsEncodeName } from "../../names/dns.js";
4
+ import { makeSingleWriteAction } from "../../internal/write/single-write-action.js";
5
+ import { getMigrationEligibility } from "./get-migration-eligibility/index.js";
6
+ import { getMigrationPlan } from "./get-migration-plan/index.js";
7
+ import { MigrationError } from "../../errors/migration-error.js";
8
+ import { Effect } from "effect";
9
+ import { encodeAbiParameters, encodeFunctionData, isAddressEqual } from "viem";
10
+ import { baseRegistrarV1SafeTransferFromAbi, baseRegistrarV1SetApprovalForAllAbi, nameWrapperV1SafeTransferFromAbi, nameWrapperV1SetApprovalForAllAbi } from "@ensforge/contracts/v1";
11
+ import { migrationHelperV2MigrateAbi, migrationHelperV2NameWrapperAbi } from "@ensforge/contracts/v2";
12
+
13
+ //#region src/actions/migration/mutation.ts
14
+ const migrationTuple = [{
15
+ type: "tuple",
16
+ components: [
17
+ {
18
+ name: "label",
19
+ type: "string"
20
+ },
21
+ {
22
+ name: "owner",
23
+ type: "address"
24
+ },
25
+ {
26
+ name: "subregistry",
27
+ type: "address"
28
+ },
29
+ {
30
+ name: "resolver",
31
+ type: "address"
32
+ }
33
+ ]
34
+ }];
35
+ const encode = (operation, makeData) => Effect.try({
36
+ try: makeData,
37
+ catch: (cause) => new ContractError({
38
+ code: "ENCODE_FAILED",
39
+ message: `Unable to encode ${operation}`,
40
+ cause
41
+ })
42
+ });
43
+ const getCompatibleMigrationHelper = Effect.fn("ensforge.migration.getCompatibleHelper")(function* (config) {
44
+ const helper = config.deployments.v2?.migration.migrationHelper;
45
+ const expectedWrapper = config.deployments.v1?.contracts.nameWrapper;
46
+ if (helper === void 0 || expectedWrapper === void 0) return null;
47
+ const wrapper = yield* Effect.tryPromise(() => config.publicClient.readContract({
48
+ address: helper,
49
+ abi: migrationHelperV2NameWrapperAbi,
50
+ functionName: "NAME_WRAPPER"
51
+ })).pipe(Effect.catch(() => Effect.succeed(null)));
52
+ return wrapper !== null && isAddressEqual(wrapper, expectedWrapper) ? helper : null;
53
+ });
54
+ const requireReadyPlan = Effect.fn("ensforge.migration.requireReadyPlan")(function* (config, parameters, account) {
55
+ const plan = yield* getMigrationPlan.effect(config, {
56
+ ...parameters,
57
+ account
58
+ });
59
+ switch (plan.status) {
60
+ case "ready":
61
+ if (!plan.target.supported) return yield* new MigrationError({
62
+ code: "MIGRATION_BLOCKED",
63
+ message: `${plan.name} has no transferable migration target`
64
+ });
65
+ return plan;
66
+ case "authorization-required": return yield* new MigrationError({
67
+ code: "AUTHORIZATION_REQUIRED",
68
+ message: `${account} is not authorized to migrate ${plan.name}`
69
+ });
70
+ case "blocked": return yield* new MigrationError({
71
+ code: "MIGRATION_BLOCKED",
72
+ message: `${plan.name} cannot be migrated: ${plan.blockers.join(", ")}`
73
+ });
74
+ case "not-required": return yield* new MigrationError({
75
+ code: "MIGRATION_NOT_REQUIRED",
76
+ message: `${plan.name} does not require migration`
77
+ });
78
+ case "unsupported": return yield* new MigrationError({
79
+ code: "MIGRATION_UNSUPPORTED",
80
+ message: `${plan.name} cannot be migrated on this deployment`
81
+ });
82
+ }
83
+ });
84
+ const approvalPreparer = Effect.fn("ensforge.approveMigration.prepare")(function* (config, parameters, context) {
85
+ const account = typeof context.account === "string" ? context.account : context.account.address;
86
+ const eligibility = yield* getMigrationEligibility.effect(config, {
87
+ name: parameters.name,
88
+ account
89
+ });
90
+ if (!eligibility.target.supported || eligibility.owner === null) return yield* new MigrationError({
91
+ code: "MIGRATION_UNSUPPORTED",
92
+ message: `${eligibility.name} has no migration token to approve`
93
+ });
94
+ const target = eligibility.target;
95
+ if (!isAddressEqual(eligibility.owner, account)) return yield* new MigrationError({
96
+ code: "AUTHORIZATION_REQUIRED",
97
+ message: `Only the token owner can approve MigrationHelper for ${eligibility.name}`
98
+ });
99
+ const helper = yield* getCompatibleMigrationHelper(config);
100
+ if (helper === null) return yield* new MigrationError({
101
+ code: "MIGRATION_UNSUPPORTED",
102
+ message: "MigrationHelper is unavailable on this deployment"
103
+ });
104
+ return {
105
+ to: target.tokenContract,
106
+ data: yield* encode("approveMigration", () => encodeFunctionData({
107
+ abi: target.tokenStandard === "erc721" ? baseRegistrarV1SetApprovalForAllAbi : nameWrapperV1SetApprovalForAllAbi,
108
+ functionName: "setApprovalForAll",
109
+ args: [helper, parameters.approved ?? true]
110
+ })),
111
+ value: 0n,
112
+ protocol: "v1"
113
+ };
114
+ });
115
+ const migrationPreparer = Effect.fn("ensforge.migrateName.prepare")(function* (config, parameters, context) {
116
+ const account = typeof context.account === "string" ? context.account : context.account.address;
117
+ const [plan, eligibility] = yield* Effect.all([requireReadyPlan(config, parameters, account), getMigrationEligibility.effect(config, {
118
+ name: parameters.name,
119
+ account
120
+ })], { concurrency: "unbounded" });
121
+ if (eligibility.owner === null) return yield* new MigrationError({
122
+ code: "MIGRATION_BLOCKED",
123
+ message: `Unable to determine the migration token owner for ${plan.name}`
124
+ });
125
+ const tokenOwner = eligibility.owner;
126
+ const payload = yield* encode("migration payload", () => encodeAbiParameters(migrationTuple, [plan.migration]));
127
+ return {
128
+ to: plan.target.tokenContract,
129
+ data: yield* encode("migrateName", () => plan.target.tokenStandard === "erc721" ? encodeFunctionData({
130
+ abi: baseRegistrarV1SafeTransferFromAbi,
131
+ functionName: "safeTransferFrom",
132
+ args: [
133
+ tokenOwner,
134
+ plan.target.receiver,
135
+ plan.target.tokenId,
136
+ payload
137
+ ]
138
+ }) : encodeFunctionData({
139
+ abi: nameWrapperV1SafeTransferFromAbi,
140
+ functionName: "safeTransferFrom",
141
+ args: [
142
+ tokenOwner,
143
+ plan.target.receiver,
144
+ plan.target.tokenId,
145
+ 1n,
146
+ payload
147
+ ]
148
+ })),
149
+ value: 0n,
150
+ protocol: "v2"
151
+ };
152
+ });
153
+ const groupPlans = (plans, route) => {
154
+ const groups = /* @__PURE__ */ new Map();
155
+ for (const entry of plans) {
156
+ if (entry.plan.target.route !== route) continue;
157
+ groups.set(entry.tokenOwner, [...groups.get(entry.tokenOwner) ?? [], entry.plan.migration]);
158
+ }
159
+ return [...groups.values()];
160
+ };
161
+ const helperPreparer = Effect.fn("ensforge.migrateNames.prepareHelper")(function* (config, parameters, context) {
162
+ const account = typeof context.account === "string" ? context.account : context.account.address;
163
+ const helper = yield* getCompatibleMigrationHelper(config);
164
+ if (helper === null) return yield* new MigrationError({
165
+ code: "MIGRATION_UNSUPPORTED",
166
+ message: "MigrationHelper is unavailable on this deployment"
167
+ });
168
+ const entries = yield* Effect.forEach(parameters.migrations, (migration) => Effect.all([requireReadyPlan(config, migration, account), getMigrationEligibility.effect(config, {
169
+ name: migration.name,
170
+ account
171
+ })], { concurrency: "unbounded" }).pipe(Effect.flatMap(([plan, eligibility]) => eligibility.owner === null ? new MigrationError({
172
+ code: "MIGRATION_BLOCKED",
173
+ message: `Unable to determine the migration token owner for ${plan.name}`
174
+ }) : Effect.succeed({
175
+ plan,
176
+ tokenOwner: eligibility.owner
177
+ }))));
178
+ const parentNames = /* @__PURE__ */ new Map();
179
+ for (const entry of entries) {
180
+ if (entry.plan.target.route !== "locked-child") continue;
181
+ const parent = entry.plan.name.split(".").slice(1).join(".");
182
+ parentNames.set(parent, [...parentNames.get(parent) ?? [], entry]);
183
+ }
184
+ const lockedChildrenGroups = yield* Effect.forEach([...parentNames.entries()], ([parent, children]) => dnsEncodeName.effect(parent).pipe(Effect.map((parentName) => ({
185
+ parentName,
186
+ groups: groupPlans(children, "locked-child")
187
+ }))));
188
+ return {
189
+ to: helper,
190
+ data: yield* encode("migrateNames", () => encodeFunctionData({
191
+ abi: migrationHelperV2MigrateAbi,
192
+ functionName: "migrate",
193
+ args: [
194
+ entries.filter(({ plan }) => plan.target.route === "unwrapped").map(({ plan }) => plan.migration),
195
+ groupPlans(entries, "wrapped-unlocked"),
196
+ groupPlans(entries, "wrapped-locked"),
197
+ lockedChildrenGroups
198
+ ]
199
+ })),
200
+ value: 0n,
201
+ protocol: "v2"
202
+ };
203
+ });
204
+ const approveMigration = makeSingleWriteAction("approveMigration", approvalPreparer);
205
+ const makeMigrationIntent = (parameters) => makeWriteIntent("migrateName", parameters, migrationPreparer);
206
+ const makeMigrationHelperIntent = (parameters) => makeWriteIntent("migrateNames", parameters, helperPreparer);
207
+
208
+ //#endregion
209
+ export { approveMigration, getCompatibleMigrationHelper, makeMigrationHelperIntent, makeMigrationIntent };
210
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","names":[],"sources":["../../../src/actions/migration/mutation.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n baseRegistrarV1SafeTransferFromAbi,\n baseRegistrarV1SetApprovalForAllAbi,\n nameWrapperV1SafeTransferFromAbi,\n nameWrapperV1SetApprovalForAllAbi,\n} from \"@ensforge/contracts/v1\";\nimport {\n migrationHelperV2MigrateAbi,\n migrationHelperV2NameWrapperAbi,\n} from \"@ensforge/contracts/v2\";\nimport { encodeAbiParameters, encodeFunctionData, isAddressEqual } from \"viem\";\n\nimport {\n makeWriteIntent,\n type EnsWriteIntent,\n type EnsWriteIntentPreparer,\n} from \"../../action/write-intent.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { MigrationError } from \"../../errors/migration-error.js\";\nimport { makeSingleWriteAction } from \"../../internal/write/single-write-action.js\";\nimport { dnsEncodeName } from \"../../names/dns.js\";\nimport type { EthereumAddress } from \"../../schemas/identity.js\";\nimport type { CallExecutionResult, WriteError } from \"../../write/types.js\";\nimport { getMigrationEligibility } from \"./get-migration-eligibility/index.js\";\nimport { getMigrationPlan } from \"./get-migration-plan/index.js\";\nimport type {\n ApproveMigrationParameters,\n MigrateNameCallParameters,\n MigrationPlan,\n MigrationTarget,\n} from \"./types.js\";\n\ntype ReadyPlan = Omit<Extract<MigrationPlan, { readonly status: \"ready\" }>, \"target\"> & {\n readonly target: Extract<MigrationTarget, { readonly supported: true }>;\n};\n\ninterface HelperMigrationParameters {\n readonly migrations: ReadonlyArray<MigrateNameCallParameters>;\n}\n\nconst migrationTuple = [\n {\n type: \"tuple\",\n components: [\n { name: \"label\", type: \"string\" },\n { name: \"owner\", type: \"address\" },\n { name: \"subregistry\", type: \"address\" },\n { name: \"resolver\", type: \"address\" },\n ],\n },\n] as const;\n\nconst encode = (operation: string, makeData: () => `0x${string}`) =>\n Effect.try({\n try: makeData,\n catch: (cause) =>\n new ContractError({ code: \"ENCODE_FAILED\", message: `Unable to encode ${operation}`, cause }),\n });\n\nexport const getCompatibleMigrationHelper = Effect.fn(\"ensforge.migration.getCompatibleHelper\")(\n function* (config: Parameters<typeof getMigrationPlan.effect>[0]) {\n const helper = config.deployments.v2?.migration.migrationHelper;\n const expectedWrapper = config.deployments.v1?.contracts.nameWrapper;\n if (helper === undefined || expectedWrapper === undefined) return null;\n const wrapper = yield* Effect.tryPromise(() =>\n config.publicClient.readContract({\n address: helper,\n abi: migrationHelperV2NameWrapperAbi,\n functionName: \"NAME_WRAPPER\",\n }),\n ).pipe(Effect.catch(() => Effect.succeed(null)));\n return wrapper !== null && isAddressEqual(wrapper, expectedWrapper) ? helper : null;\n },\n);\n\nconst requireReadyPlan = Effect.fn(\"ensforge.migration.requireReadyPlan\")(function* (\n config: Parameters<typeof getMigrationPlan.effect>[0],\n parameters: MigrateNameCallParameters,\n account: EthereumAddress,\n) {\n const plan = yield* getMigrationPlan.effect(config, { ...parameters, account });\n switch (plan.status) {\n case \"ready\":\n if (!plan.target.supported) {\n return yield* new MigrationError({\n code: \"MIGRATION_BLOCKED\",\n message: `${plan.name} has no transferable migration target`,\n });\n }\n return plan as ReadyPlan;\n case \"authorization-required\":\n return yield* new MigrationError({\n code: \"AUTHORIZATION_REQUIRED\",\n message: `${account} is not authorized to migrate ${plan.name}`,\n });\n case \"blocked\":\n return yield* new MigrationError({\n code: \"MIGRATION_BLOCKED\",\n message: `${plan.name} cannot be migrated: ${plan.blockers.join(\", \")}`,\n });\n case \"not-required\":\n return yield* new MigrationError({\n code: \"MIGRATION_NOT_REQUIRED\",\n message: `${plan.name} does not require migration`,\n });\n case \"unsupported\":\n return yield* new MigrationError({\n code: \"MIGRATION_UNSUPPORTED\",\n message: `${plan.name} cannot be migrated on this deployment`,\n });\n }\n});\n\nconst approvalPreparer: EnsWriteIntentPreparer<ApproveMigrationParameters, WriteError> = Effect.fn(\n \"ensforge.approveMigration.prepare\",\n)(function* (config, parameters, context) {\n const account = (\n typeof context.account === \"string\" ? context.account : context.account.address\n ) as EthereumAddress;\n const eligibility = yield* getMigrationEligibility.effect(config, {\n name: parameters.name,\n account,\n });\n if (!eligibility.target.supported || eligibility.owner === null) {\n return yield* new MigrationError({\n code: \"MIGRATION_UNSUPPORTED\",\n message: `${eligibility.name} has no migration token to approve`,\n });\n }\n const target = eligibility.target;\n if (!isAddressEqual(eligibility.owner, account)) {\n return yield* new MigrationError({\n code: \"AUTHORIZATION_REQUIRED\",\n message: `Only the token owner can approve MigrationHelper for ${eligibility.name}`,\n });\n }\n const helper = yield* getCompatibleMigrationHelper(config);\n if (helper === null) {\n return yield* new MigrationError({\n code: \"MIGRATION_UNSUPPORTED\",\n message: \"MigrationHelper is unavailable on this deployment\",\n });\n }\n return {\n to: target.tokenContract,\n data: yield* encode(\"approveMigration\", () =>\n encodeFunctionData({\n abi:\n target.tokenStandard === \"erc721\"\n ? baseRegistrarV1SetApprovalForAllAbi\n : nameWrapperV1SetApprovalForAllAbi,\n functionName: \"setApprovalForAll\",\n args: [helper, parameters.approved ?? true],\n }),\n ),\n value: 0n,\n protocol: \"v1\" as const,\n };\n});\n\nconst migrationPreparer: EnsWriteIntentPreparer<MigrateNameCallParameters, WriteError> = Effect.fn(\n \"ensforge.migrateName.prepare\",\n)(function* (config, parameters, context) {\n const account = (\n typeof context.account === \"string\" ? context.account : context.account.address\n ) as EthereumAddress;\n const [plan, eligibility] = yield* Effect.all(\n [\n requireReadyPlan(config, parameters, account),\n getMigrationEligibility.effect(config, { name: parameters.name, account }),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n if (eligibility.owner === null) {\n return yield* new MigrationError({\n code: \"MIGRATION_BLOCKED\",\n message: `Unable to determine the migration token owner for ${plan.name}`,\n });\n }\n const tokenOwner = eligibility.owner;\n const payload = yield* encode(\"migration payload\", () =>\n encodeAbiParameters(migrationTuple, [plan.migration]),\n );\n return {\n to: plan.target.tokenContract,\n data: yield* encode(\"migrateName\", () =>\n plan.target.tokenStandard === \"erc721\"\n ? encodeFunctionData({\n abi: baseRegistrarV1SafeTransferFromAbi,\n functionName: \"safeTransferFrom\",\n args: [tokenOwner, plan.target.receiver, plan.target.tokenId, payload],\n })\n : encodeFunctionData({\n abi: nameWrapperV1SafeTransferFromAbi,\n functionName: \"safeTransferFrom\",\n args: [tokenOwner, plan.target.receiver, plan.target.tokenId, 1n, payload],\n }),\n ),\n value: 0n,\n protocol: \"v2\" as const,\n };\n});\n\nconst groupPlans = (\n plans: ReadonlyArray<{ readonly plan: ReadyPlan; readonly tokenOwner: EthereumAddress }>,\n route: \"wrapped-unlocked\" | \"wrapped-locked\" | \"locked-child\",\n) => {\n const groups = new Map<EthereumAddress, Array<ReadyPlan[\"migration\"]>>();\n for (const entry of plans) {\n if (entry.plan.target.route !== route) continue;\n groups.set(entry.tokenOwner, [...(groups.get(entry.tokenOwner) ?? []), entry.plan.migration]);\n }\n return [...groups.values()];\n};\n\nconst helperPreparer: EnsWriteIntentPreparer<HelperMigrationParameters, WriteError> = Effect.fn(\n \"ensforge.migrateNames.prepareHelper\",\n)(function* (config, parameters, context) {\n const account = (\n typeof context.account === \"string\" ? context.account : context.account.address\n ) as EthereumAddress;\n const helper = yield* getCompatibleMigrationHelper(config);\n if (helper === null) {\n return yield* new MigrationError({\n code: \"MIGRATION_UNSUPPORTED\",\n message: \"MigrationHelper is unavailable on this deployment\",\n });\n }\n const entries = yield* Effect.forEach(parameters.migrations, (migration) =>\n Effect.all(\n [\n requireReadyPlan(config, migration, account),\n getMigrationEligibility.effect(config, { name: migration.name, account }),\n ] as const,\n { concurrency: \"unbounded\" },\n ).pipe(\n Effect.flatMap(([plan, eligibility]) =>\n eligibility.owner === null\n ? new MigrationError({\n code: \"MIGRATION_BLOCKED\",\n message: `Unable to determine the migration token owner for ${plan.name}`,\n })\n : Effect.succeed({ plan, tokenOwner: eligibility.owner }),\n ),\n ),\n );\n const parentNames = new Map<string, Array<(typeof entries)[number]>>();\n for (const entry of entries) {\n if (entry.plan.target.route !== \"locked-child\") continue;\n const labels = entry.plan.name.split(\".\");\n const parent = labels.slice(1).join(\".\");\n parentNames.set(parent, [...(parentNames.get(parent) ?? []), entry]);\n }\n const lockedChildrenGroups = yield* Effect.forEach(\n [...parentNames.entries()],\n ([parent, children]) =>\n dnsEncodeName.effect(parent).pipe(\n Effect.map((parentName) => ({\n parentName,\n groups: groupPlans(children, \"locked-child\"),\n })),\n ),\n );\n return {\n to: helper,\n data: yield* encode(\"migrateNames\", () =>\n encodeFunctionData({\n abi: migrationHelperV2MigrateAbi,\n functionName: \"migrate\",\n args: [\n entries\n .filter(({ plan }) => plan.target.route === \"unwrapped\")\n .map(({ plan }) => plan.migration),\n groupPlans(entries, \"wrapped-unlocked\"),\n groupPlans(entries, \"wrapped-locked\"),\n lockedChildrenGroups,\n ],\n }),\n ),\n value: 0n,\n protocol: \"v2\" as const,\n };\n});\n\nexport const approveMigration = makeSingleWriteAction(\"approveMigration\", approvalPreparer);\n\nexport const makeMigrationIntent = (\n parameters: MigrateNameCallParameters,\n): EnsWriteIntent<CallExecutionResult, WriteError> =>\n makeWriteIntent(\"migrateName\", parameters, migrationPreparer);\n\nexport const makeMigrationHelperIntent = (\n parameters: HelperMigrationParameters,\n): EnsWriteIntent<CallExecutionResult, WriteError> =>\n makeWriteIntent(\"migrateNames\", parameters, helperPreparer);\n"],"mappings":"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"}