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