@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,160 @@
|
|
|
1
|
+
import { defineAction } from "../../../action/action.js";
|
|
2
|
+
import { WritePlanError } from "../../../errors/write-plan-error.js";
|
|
3
|
+
import { executeWritePlan } from "../../batch/execute-write-plan.js";
|
|
4
|
+
import { simulateCalls } from "../../batch/simulate-calls.js";
|
|
5
|
+
import { normalizeName } from "../../../names/normalize.js";
|
|
6
|
+
import { namehash } from "../../../names/hashes.js";
|
|
7
|
+
import { CodecError } from "../../../errors/codec-error.js";
|
|
8
|
+
import { getResolverCapabilities } from "../../capabilities/get-resolver-capabilities/index.js";
|
|
9
|
+
import { EthereumAddress } from "../../../schemas/identity.js";
|
|
10
|
+
import { getProtocol } from "../../name/get-protocol/index.js";
|
|
11
|
+
import { getSetRecordIntents } from "../../records/set-records/index.js";
|
|
12
|
+
import { createResolver, predictResolverAddress } from "../create-resolver/index.js";
|
|
13
|
+
import { setResolver } from "../set-resolver/index.js";
|
|
14
|
+
import { Effect, Schema } from "effect";
|
|
15
|
+
import { isAddressEqual, keccak256, stringToHex } from "viem";
|
|
16
|
+
|
|
17
|
+
//#region src/actions/resolution/set-resolver-and-records/index.ts
|
|
18
|
+
const decodeResolver = (resolver, name) => Effect.try({
|
|
19
|
+
try: () => Schema.decodeUnknownSync(EthereumAddress)(resolver),
|
|
20
|
+
catch: () => new CodecError({
|
|
21
|
+
code: "INVALID_ADDRESS",
|
|
22
|
+
message: `Invalid resolver address for ${name}`
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
const selectResolver = Effect.fn("ensforge.setResolverAndRecords.selectResolver")(function* (config, parameters, name) {
|
|
26
|
+
if (parameters.resume !== void 0) {
|
|
27
|
+
const protocol = yield* getProtocol.effect(config, { name });
|
|
28
|
+
const resolver = yield* decodeResolver(parameters.resume.resolver, name);
|
|
29
|
+
const suppliedResolver = parameters.resolver === void 0 ? resolver : yield* decodeResolver(parameters.resolver, name);
|
|
30
|
+
if (protocol !== parameters.resume.protocol || !isAddressEqual(resolver, suppliedResolver)) return yield* new WritePlanError({
|
|
31
|
+
code: "INVALID_CALL_PLAN",
|
|
32
|
+
message: "Resolver workflow progress does not match the supplied parameters",
|
|
33
|
+
cause: parameters.resume
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
protocol,
|
|
37
|
+
resolver,
|
|
38
|
+
resolverSource: parameters.resume.resolverSource
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const [protocol, capabilities] = yield* Effect.all([getProtocol.effect(config, { name }), getResolverCapabilities.effect(config, { name })], { concurrency: "unbounded" });
|
|
42
|
+
if (parameters.resolver !== void 0) {
|
|
43
|
+
const resolver = yield* decodeResolver(parameters.resolver, name);
|
|
44
|
+
return {
|
|
45
|
+
protocol,
|
|
46
|
+
resolver,
|
|
47
|
+
resolverSource: capabilities.address !== null && !capabilities.inherited && isAddressEqual(capabilities.address, resolver) ? "existing" : "provided"
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (capabilities.address !== null && !capabilities.inherited && capabilities.authorization !== "none" && capabilities.authorization !== "unknown" && capabilities.address !== null) return {
|
|
51
|
+
protocol,
|
|
52
|
+
resolver: capabilities.address,
|
|
53
|
+
resolverSource: "existing"
|
|
54
|
+
};
|
|
55
|
+
if (protocol === "v1") {
|
|
56
|
+
const deployment = config.deployments.v1;
|
|
57
|
+
if (deployment === void 0) return yield* new WritePlanError({
|
|
58
|
+
code: "INVALID_CALL_PLAN",
|
|
59
|
+
message: "The active deployment does not include an ENSv1 Public Resolver",
|
|
60
|
+
cause: config.deployments
|
|
61
|
+
});
|
|
62
|
+
return {
|
|
63
|
+
protocol,
|
|
64
|
+
resolver: deployment.contracts.publicResolver,
|
|
65
|
+
resolverSource: "selected"
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
protocol,
|
|
70
|
+
resolver: yield* predictResolverAddress.effect(config, {
|
|
71
|
+
salt: parameters.salt ?? BigInt(namehash(name)),
|
|
72
|
+
...parameters.admin === void 0 ? {} : { admin: parameters.admin },
|
|
73
|
+
...parameters.roles === void 0 ? {} : { roles: parameters.roles },
|
|
74
|
+
...parameters.setters === void 0 ? {} : { setters: parameters.setters },
|
|
75
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
76
|
+
...parameters.account === void 0 ? {} : { account: parameters.account }
|
|
77
|
+
}),
|
|
78
|
+
resolverSource: "deployed"
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
const makePlanId = (name, selection, parameters) => `setResolverAndRecords:${keccak256(stringToHex(JSON.stringify({
|
|
82
|
+
name,
|
|
83
|
+
...selection,
|
|
84
|
+
salt: parameters.salt,
|
|
85
|
+
admin: parameters.admin,
|
|
86
|
+
roles: parameters.roles,
|
|
87
|
+
setters: parameters.setters,
|
|
88
|
+
records: parameters.records
|
|
89
|
+
}, (_key, value) => typeof value === "bigint" ? value.toString() : value)))}`;
|
|
90
|
+
const makePlan = (name, selection, parameters) => {
|
|
91
|
+
const stages = [];
|
|
92
|
+
if (selection.resolverSource === "deployed") stages.push({
|
|
93
|
+
type: "calls",
|
|
94
|
+
id: "create-resolver",
|
|
95
|
+
calls: [createResolver.call({
|
|
96
|
+
salt: parameters.salt ?? BigInt(namehash(name)),
|
|
97
|
+
...parameters.admin === void 0 ? {} : { admin: parameters.admin },
|
|
98
|
+
...parameters.roles === void 0 ? {} : { roles: parameters.roles },
|
|
99
|
+
...parameters.setters === void 0 ? {} : { setters: parameters.setters }
|
|
100
|
+
})],
|
|
101
|
+
mode: "sequential",
|
|
102
|
+
atomicity: "none",
|
|
103
|
+
confirmation: { type: "confirmed" }
|
|
104
|
+
});
|
|
105
|
+
if (selection.resolverSource !== "existing") stages.push({
|
|
106
|
+
type: "calls",
|
|
107
|
+
id: "set-resolver",
|
|
108
|
+
calls: [setResolver.call({
|
|
109
|
+
name,
|
|
110
|
+
resolver: selection.resolver
|
|
111
|
+
})],
|
|
112
|
+
mode: "sequential",
|
|
113
|
+
atomicity: "none",
|
|
114
|
+
confirmation: { type: "confirmed" }
|
|
115
|
+
});
|
|
116
|
+
stages.push({
|
|
117
|
+
type: "calls",
|
|
118
|
+
id: "set-records",
|
|
119
|
+
calls: getSetRecordIntents(name, parameters.records),
|
|
120
|
+
mode: "auto",
|
|
121
|
+
atomicity: "preferred",
|
|
122
|
+
confirmation: parameters.confirmation ?? { type: "confirmed" }
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
id: makePlanId(name, selection, parameters),
|
|
126
|
+
stages
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
const implementation = Effect.fn("ensforge.setResolverAndRecords")(function* (config, parameters) {
|
|
130
|
+
const name = yield* normalizeName.effect(parameters.name);
|
|
131
|
+
if (parameters.records.length === 0) return yield* new WritePlanError({
|
|
132
|
+
code: "INVALID_CALL_PLAN",
|
|
133
|
+
message: "setResolverAndRecords requires at least one record mutation",
|
|
134
|
+
cause: parameters.records
|
|
135
|
+
});
|
|
136
|
+
const selection = yield* selectResolver(config, parameters, name);
|
|
137
|
+
if (parameters.resume === void 0 && selection.resolverSource !== "existing") yield* simulateCalls.effect(config, {
|
|
138
|
+
calls: [setResolver.call({
|
|
139
|
+
name,
|
|
140
|
+
resolver: selection.resolver
|
|
141
|
+
})],
|
|
142
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
143
|
+
...parameters.account === void 0 ? {} : { account: parameters.account }
|
|
144
|
+
});
|
|
145
|
+
const write = yield* executeWritePlan.effect(config, {
|
|
146
|
+
plan: makePlan(name, selection, parameters),
|
|
147
|
+
...parameters.resume === void 0 ? {} : { resume: parameters.resume.write },
|
|
148
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
149
|
+
...parameters.account === void 0 ? {} : { account: parameters.account }
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
...selection,
|
|
153
|
+
write
|
|
154
|
+
};
|
|
155
|
+
});
|
|
156
|
+
const setResolverAndRecords = defineAction(implementation);
|
|
157
|
+
|
|
158
|
+
//#endregion
|
|
159
|
+
export { setResolverAndRecords };
|
|
160
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/resolution/set-resolver-and-records/index.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\";\n\nimport { isAddressEqual, keccak256, stringToHex } from \"viem\";\n\nimport { defineAction } from \"../../../action/action.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { CodecError } from \"../../../errors/codec-error.js\";\nimport { WritePlanError } from \"../../../errors/write-plan-error.js\";\nimport { namehash } from \"../../../names/hashes.js\";\nimport { normalizeName } from \"../../../names/normalize.js\";\nimport { EthereumAddress } from \"../../../schemas/identity.js\";\nimport type { EnsProtocol } from \"../../../schemas/protocol.js\";\nimport type { WritePlan, WriteStage } from \"../../../write/types.js\";\nimport { executeWritePlan } from \"../../batch/execute-write-plan.js\";\nimport { simulateCalls } from \"../../batch/simulate-calls.js\";\nimport { getResolverCapabilities } from \"../../capabilities/get-resolver-capabilities/index.js\";\nimport { getProtocol } from \"../../name/get-protocol/index.js\";\nimport { getSetRecordIntents } from \"../../records/set-records/index.js\";\nimport { createResolver, predictResolverAddress } from \"../create-resolver/index.js\";\nimport { setResolver } from \"../set-resolver/index.js\";\nimport type {\n ResolverSource,\n SetResolverAndRecordsError,\n SetResolverAndRecordsParameters,\n SetResolverAndRecordsProgress,\n SetResolverAndRecordsResult,\n} from \"./types.js\";\n\ninterface ResolverSelection {\n readonly protocol: EnsProtocol;\n readonly resolver: typeof EthereumAddress.Type;\n readonly resolverSource: ResolverSource;\n}\n\nconst decodeResolver = (resolver: string, name: string) =>\n Effect.try({\n try: () => Schema.decodeUnknownSync(EthereumAddress)(resolver),\n catch: () =>\n new CodecError({\n code: \"INVALID_ADDRESS\",\n message: `Invalid resolver address for ${name}`,\n }),\n });\n\nconst selectResolver = Effect.fn(\"ensforge.setResolverAndRecords.selectResolver\")(function* (\n config: EnsforgeConfig,\n parameters: SetResolverAndRecordsParameters,\n name: string,\n): Effect.fn.Return<ResolverSelection, SetResolverAndRecordsError> {\n if (parameters.resume !== undefined) {\n const protocol = yield* getProtocol.effect(config, { name });\n const resolver = yield* decodeResolver(parameters.resume.resolver, name);\n const suppliedResolver =\n parameters.resolver === undefined\n ? resolver\n : yield* decodeResolver(parameters.resolver, name);\n if (protocol !== parameters.resume.protocol || !isAddressEqual(resolver, suppliedResolver)) {\n return yield* new WritePlanError({\n code: \"INVALID_CALL_PLAN\",\n message: \"Resolver workflow progress does not match the supplied parameters\",\n cause: parameters.resume,\n });\n }\n return {\n protocol,\n resolver,\n resolverSource: parameters.resume.resolverSource,\n };\n }\n\n const [protocol, capabilities] = yield* Effect.all(\n [\n getProtocol.effect(config, { name }),\n getResolverCapabilities.effect(config, { name }),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n if (parameters.resolver !== undefined) {\n const resolver = yield* decodeResolver(parameters.resolver, name);\n return {\n protocol,\n resolver,\n resolverSource:\n capabilities.address !== null &&\n !capabilities.inherited &&\n isAddressEqual(capabilities.address, resolver)\n ? \"existing\"\n : \"provided\",\n };\n }\n\n const compatible =\n capabilities.address !== null &&\n !capabilities.inherited &&\n capabilities.authorization !== \"none\" &&\n capabilities.authorization !== \"unknown\";\n if (compatible && capabilities.address !== null) {\n return { protocol, resolver: capabilities.address, resolverSource: \"existing\" };\n }\n if (protocol === \"v1\") {\n const deployment = config.deployments.v1;\n if (deployment === undefined) {\n return yield* new WritePlanError({\n code: \"INVALID_CALL_PLAN\",\n message: \"The active deployment does not include an ENSv1 Public Resolver\",\n cause: config.deployments,\n });\n }\n return {\n protocol,\n resolver: deployment.contracts.publicResolver,\n resolverSource: \"selected\",\n };\n }\n\n const resolver = yield* predictResolverAddress.effect(config, {\n salt: parameters.salt ?? BigInt(namehash(name)),\n ...(parameters.admin === undefined ? {} : { admin: parameters.admin }),\n ...(parameters.roles === undefined ? {} : { roles: parameters.roles }),\n ...(parameters.setters === undefined ? {} : { setters: parameters.setters }),\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n return { protocol, resolver, resolverSource: \"deployed\" };\n});\n\nconst makePlanId = (\n name: string,\n selection: ResolverSelection,\n parameters: SetResolverAndRecordsParameters,\n) =>\n `setResolverAndRecords:${keccak256(\n stringToHex(\n JSON.stringify(\n {\n name,\n ...selection,\n salt: parameters.salt,\n admin: parameters.admin,\n roles: parameters.roles,\n setters: parameters.setters,\n records: parameters.records,\n },\n (_key, value: unknown) => (typeof value === \"bigint\" ? value.toString() : value),\n ),\n ),\n )}`;\n\nconst makePlan = (\n name: string,\n selection: ResolverSelection,\n parameters: SetResolverAndRecordsParameters,\n): WritePlan => {\n const stages: Array<WriteStage> = [];\n if (selection.resolverSource === \"deployed\") {\n stages.push({\n type: \"calls\",\n id: \"create-resolver\",\n calls: [\n createResolver.call({\n salt: parameters.salt ?? BigInt(namehash(name)),\n ...(parameters.admin === undefined ? {} : { admin: parameters.admin }),\n ...(parameters.roles === undefined ? {} : { roles: parameters.roles }),\n ...(parameters.setters === undefined ? {} : { setters: parameters.setters }),\n }),\n ],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: { type: \"confirmed\" },\n });\n }\n if (selection.resolverSource !== \"existing\") {\n stages.push({\n type: \"calls\",\n id: \"set-resolver\",\n calls: [setResolver.call({ name, resolver: selection.resolver })],\n mode: \"sequential\",\n atomicity: \"none\",\n confirmation: { type: \"confirmed\" },\n });\n }\n stages.push({\n type: \"calls\",\n id: \"set-records\",\n calls: getSetRecordIntents(name, parameters.records),\n mode: \"auto\",\n atomicity: \"preferred\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n return { id: makePlanId(name, selection, parameters), stages };\n};\n\nconst implementation = Effect.fn(\"ensforge.setResolverAndRecords\")(function* (\n config: EnsforgeConfig,\n parameters: SetResolverAndRecordsParameters,\n): Effect.fn.Return<SetResolverAndRecordsResult, SetResolverAndRecordsError> {\n const name = yield* normalizeName.effect(parameters.name);\n if (parameters.records.length === 0) {\n return yield* new WritePlanError({\n code: \"INVALID_CALL_PLAN\",\n message: \"setResolverAndRecords requires at least one record mutation\",\n cause: parameters.records,\n });\n }\n const selection = yield* selectResolver(config, parameters, name);\n if (parameters.resume === undefined && selection.resolverSource !== \"existing\") {\n yield* simulateCalls.effect(config, {\n calls: [setResolver.call({ name, resolver: selection.resolver })],\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n }\n const write = yield* executeWritePlan.effect(config, {\n plan: makePlan(name, selection, parameters),\n ...(parameters.resume === undefined ? {} : { resume: parameters.resume.write }),\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n return { ...selection, write } satisfies SetResolverAndRecordsProgress;\n});\n\nexport const setResolverAndRecords = defineAction<\n SetResolverAndRecordsParameters,\n SetResolverAndRecordsResult,\n SetResolverAndRecordsError\n>(implementation);\n\nexport type {\n ResolverSource,\n SetResolverAndRecordsError,\n SetResolverAndRecordsParameters,\n SetResolverAndRecordsProgress,\n SetResolverAndRecordsResult,\n} from \"./types.js\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EnsProtocol } from "../../../schemas/protocol.js";
|
|
2
|
+
import { ConfirmationPolicy } from "../../../config/write-options.js";
|
|
3
|
+
import { WriteError, WritePlanProgress } from "../../../write/types.js";
|
|
4
|
+
import { EthereumAddress } from "../../../schemas/identity.js";
|
|
5
|
+
import { Hex as Hex$1 } from "../../../schemas/hex.js";
|
|
6
|
+
import { SetRecordInput } from "../../records/set-records/types.js";
|
|
7
|
+
import { Account, Address, WalletClient } from "viem";
|
|
8
|
+
//#region src/actions/resolution/set-resolver-and-records/types.d.ts
|
|
9
|
+
type ResolverSource = "existing" | "provided" | "selected" | "deployed";
|
|
10
|
+
interface SetResolverAndRecordsProgress {
|
|
11
|
+
readonly protocol: EnsProtocol;
|
|
12
|
+
readonly resolver: EthereumAddress;
|
|
13
|
+
readonly resolverSource: ResolverSource;
|
|
14
|
+
readonly write: WritePlanProgress;
|
|
15
|
+
}
|
|
16
|
+
interface SetResolverAndRecordsParameters {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly records: ReadonlyArray<SetRecordInput>;
|
|
19
|
+
readonly resolver?: string;
|
|
20
|
+
readonly salt?: bigint;
|
|
21
|
+
readonly admin?: string;
|
|
22
|
+
readonly roles?: bigint;
|
|
23
|
+
readonly setters?: ReadonlyArray<Hex$1>;
|
|
24
|
+
readonly walletClient?: WalletClient;
|
|
25
|
+
readonly account?: Account | Address;
|
|
26
|
+
readonly confirmation?: ConfirmationPolicy;
|
|
27
|
+
readonly resume?: SetResolverAndRecordsProgress;
|
|
28
|
+
}
|
|
29
|
+
type SetResolverAndRecordsResult = SetResolverAndRecordsProgress;
|
|
30
|
+
type SetResolverAndRecordsError = WriteError;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ResolverSource, SetResolverAndRecordsError, SetResolverAndRecordsParameters, SetResolverAndRecordsProgress, SetResolverAndRecordsResult };
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/actions/resolution/set-resolver-and-records/types.ts"],"mappings":";;;;;;;;KAQY;UAEK;WACN,UAAU;WACV,UAAU;WACV,gBAAgB;WAChB,OAAO;;UAGD;WACN;WACA,SAAS,cAAc;WACvB;WACA;WACA;WACA;WACA,UAAU,cAAc;WACxB,eAAe;WACf,UAAU,UAAU;WACpB,eAAe;WACf,SAAS;;KAGR,8BAA8B;KAC9B,6BAA6B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EnsAction } from "../../../action/action.js";
|
|
2
|
+
import { CallExecutionResult, WriteError } from "../../../write/types.js";
|
|
3
|
+
import { EnsWriteIntent } from "../../../action/write-intent.js";
|
|
4
|
+
import { UpgradeResolverError, UpgradeResolverIntent, UpgradeResolverParameters, UpgradeResolverResult } from "./types.js";
|
|
5
|
+
import "../../../index.js";
|
|
6
|
+
//#region src/actions/resolution/upgrade-resolver/index.d.ts
|
|
7
|
+
declare const makeIntent: (parameters: UpgradeResolverParameters) => EnsWriteIntent<CallExecutionResult, WriteError>;
|
|
8
|
+
declare const action: EnsAction<UpgradeResolverParameters, UpgradeResolverResult, WriteError>;
|
|
9
|
+
declare const upgradeResolver: typeof action & {
|
|
10
|
+
readonly call: typeof makeIntent;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { type UpgradeResolverError, type UpgradeResolverIntent, type UpgradeResolverParameters, type UpgradeResolverResult, upgradeResolver };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/resolution/upgrade-resolver/index.ts"],"mappings":";;;;;;cA+JM,aAAc,YAAY,8BAAyB,eAAA,qBAAA;cA6CnD,QAAM,UAAA,2BAAA,uBAAA;cAMC,wBAOD;WAAoB,aAAa"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { defineExtendedAction } from "../../../action/action.js";
|
|
2
|
+
import { makeWriteIntent } from "../../../action/write-intent.js";
|
|
3
|
+
import { Hex as Hex$1 } from "../../../schemas/hex.js";
|
|
4
|
+
import { ContractError } from "../../../errors/contract-error.js";
|
|
5
|
+
import { executeRead } from "../../../internal/read/execute-read.js";
|
|
6
|
+
import { WritePlanError } from "../../../errors/write-plan-error.js";
|
|
7
|
+
import { resolveWalletContext } from "../../../internal/services/wallet-client.js";
|
|
8
|
+
import { executeSequential } from "../../../internal/write/execute-sequential.js";
|
|
9
|
+
import { EthereumClient } from "../../../internal/client/ethereum-client.js";
|
|
10
|
+
import { CodecError } from "../../../errors/codec-error.js";
|
|
11
|
+
import { getResolverCapabilities } from "../../capabilities/get-resolver-capabilities/index.js";
|
|
12
|
+
import { EthereumAddress } from "../../../schemas/identity.js";
|
|
13
|
+
import { AuthorizationError } from "../../../errors/authorization-error.js";
|
|
14
|
+
import { Effect, Schema } from "effect";
|
|
15
|
+
import { encodeFunctionData, isAddressEqual } from "viem";
|
|
16
|
+
import { permissionedResolverV2CanUpgradeFromAbi, permissionedResolverV2InterfaceHasRootRolesAbi, permissionedResolverV2UpgradeToAndCallAbi, resolverRoles, verifiableFactoryV2VerifyContractAbi } from "@ensforge/contracts/v2";
|
|
17
|
+
|
|
18
|
+
//#region src/actions/resolution/upgrade-resolver/index.ts
|
|
19
|
+
const readUpgradeState = Effect.fn("ensforge.upgradeResolver.state")(function* (config, parameters, account) {
|
|
20
|
+
const implementation = yield* Effect.try({
|
|
21
|
+
try: () => {
|
|
22
|
+
if (config.deployments.protocol !== "v2") throw new Error("ENSv2 unavailable");
|
|
23
|
+
return Schema.decodeUnknownSync(EthereumAddress)(parameters.implementation ?? config.deployments.v2.implementations.permissionedResolver);
|
|
24
|
+
},
|
|
25
|
+
catch: () => new CodecError({
|
|
26
|
+
code: "INVALID_ADDRESS",
|
|
27
|
+
message: "Invalid Permissioned Resolver upgrade implementation"
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
const data = yield* Effect.try({
|
|
31
|
+
try: () => Schema.decodeUnknownSync(Hex$1)(parameters.data ?? "0x"),
|
|
32
|
+
catch: () => new CodecError({
|
|
33
|
+
code: "INVALID_HEX",
|
|
34
|
+
message: "Invalid Permissioned Resolver upgrade data"
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
return yield* executeRead(config, { consistency: "snapshot" }, Effect.gen(function* () {
|
|
38
|
+
if (config.deployments.protocol !== "v2") return yield* new AuthorizationError({
|
|
39
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
40
|
+
message: "Permissioned Resolver upgrades require ENSv2"
|
|
41
|
+
});
|
|
42
|
+
const capabilities = yield* getResolverCapabilities.effect(config, { name: parameters.name });
|
|
43
|
+
if (capabilities.address === null || !capabilities.permissioned || capabilities.inherited) return yield* new AuthorizationError({
|
|
44
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
45
|
+
message: `No directly attached Permissioned Resolver is available for ${parameters.name}`
|
|
46
|
+
});
|
|
47
|
+
const ethereum = yield* EthereumClient;
|
|
48
|
+
const currentImplementation = yield* ethereum.readContract({
|
|
49
|
+
address: config.deployments.v2.contracts.verifiableFactory,
|
|
50
|
+
abi: verifiableFactoryV2VerifyContractAbi,
|
|
51
|
+
functionName: "verifyContract",
|
|
52
|
+
args: [capabilities.address]
|
|
53
|
+
});
|
|
54
|
+
if (!(yield* ethereum.readContract({
|
|
55
|
+
address: implementation,
|
|
56
|
+
abi: permissionedResolverV2CanUpgradeFromAbi,
|
|
57
|
+
functionName: "canUpgradeFrom",
|
|
58
|
+
args: [currentImplementation]
|
|
59
|
+
}))) return yield* new AuthorizationError({
|
|
60
|
+
code: "RECORD_UNSUPPORTED",
|
|
61
|
+
message: `${implementation} is not a compatible Permissioned Resolver upgrade`
|
|
62
|
+
});
|
|
63
|
+
const current = isAddressEqual(currentImplementation, implementation);
|
|
64
|
+
if (!current || parameters.force === true) {
|
|
65
|
+
if (!(yield* ethereum.readContract({
|
|
66
|
+
address: capabilities.address,
|
|
67
|
+
abi: permissionedResolverV2InterfaceHasRootRolesAbi,
|
|
68
|
+
functionName: "hasRootRoles",
|
|
69
|
+
args: [resolverRoles.upgrade, account]
|
|
70
|
+
}))) return yield* new AuthorizationError({
|
|
71
|
+
code: "UNAUTHORIZED",
|
|
72
|
+
message: `${account} cannot upgrade the resolver for ${parameters.name}`
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
resolver: capabilities.address,
|
|
77
|
+
currentImplementation,
|
|
78
|
+
implementation,
|
|
79
|
+
data,
|
|
80
|
+
current
|
|
81
|
+
};
|
|
82
|
+
}));
|
|
83
|
+
});
|
|
84
|
+
const preparer = Effect.fn("ensforge.upgradeResolver.prepare")(function* (config, parameters, context) {
|
|
85
|
+
const account = typeof context.account === "string" ? context.account : context.account.address;
|
|
86
|
+
const state = yield* readUpgradeState(config, parameters, account);
|
|
87
|
+
if (state.current && parameters.force !== true) return yield* new WritePlanError({
|
|
88
|
+
code: "INVALID_CALL_PLAN",
|
|
89
|
+
message: `The resolver for ${parameters.name} already uses the requested implementation`,
|
|
90
|
+
cause: state
|
|
91
|
+
});
|
|
92
|
+
const data = yield* Effect.try({
|
|
93
|
+
try: () => encodeFunctionData({
|
|
94
|
+
abi: permissionedResolverV2UpgradeToAndCallAbi,
|
|
95
|
+
functionName: "upgradeToAndCall",
|
|
96
|
+
args: [state.implementation, state.data]
|
|
97
|
+
}),
|
|
98
|
+
catch: (cause) => new ContractError({
|
|
99
|
+
code: "ENCODE_FAILED",
|
|
100
|
+
message: `Unable to encode the resolver upgrade for ${parameters.name}`,
|
|
101
|
+
cause
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
to: state.resolver,
|
|
106
|
+
data,
|
|
107
|
+
value: 0n,
|
|
108
|
+
protocol: "v2"
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
const makeIntent = (parameters) => makeWriteIntent("upgradeResolver", parameters, preparer);
|
|
112
|
+
const implementation = Effect.fn("ensforge.upgradeResolver")(function* (config, parameters) {
|
|
113
|
+
const wallet = yield* executeRead(config, {}, resolveWalletContext(parameters));
|
|
114
|
+
const account = typeof wallet.account === "string" ? wallet.account : wallet.account.address;
|
|
115
|
+
const state = yield* readUpgradeState(config, parameters, account);
|
|
116
|
+
if (state.current && parameters.force !== true) return {
|
|
117
|
+
status: "current",
|
|
118
|
+
resolver: state.resolver,
|
|
119
|
+
implementation: state.currentImplementation,
|
|
120
|
+
call: null
|
|
121
|
+
};
|
|
122
|
+
const result = yield* executeSequential(config, {
|
|
123
|
+
calls: [makeIntent(parameters)],
|
|
124
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
125
|
+
...parameters.account === void 0 ? {} : { account: parameters.account },
|
|
126
|
+
...parameters.confirmation === void 0 ? {} : { confirmation: parameters.confirmation }
|
|
127
|
+
});
|
|
128
|
+
const call = result.calls[0];
|
|
129
|
+
if (call === void 0) return yield* new WritePlanError({
|
|
130
|
+
code: "INVALID_CALL_PLAN",
|
|
131
|
+
message: "upgradeResolver did not produce an execution result",
|
|
132
|
+
cause: result
|
|
133
|
+
});
|
|
134
|
+
return {
|
|
135
|
+
status: "upgraded",
|
|
136
|
+
resolver: state.resolver,
|
|
137
|
+
previousImplementation: state.currentImplementation,
|
|
138
|
+
implementation: state.implementation,
|
|
139
|
+
call
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
const action = defineExtendedAction(implementation);
|
|
143
|
+
const upgradeResolver = Object.freeze(Object.defineProperty(action, "call", {
|
|
144
|
+
value: makeIntent,
|
|
145
|
+
enumerable: true,
|
|
146
|
+
configurable: false,
|
|
147
|
+
writable: false
|
|
148
|
+
}));
|
|
149
|
+
|
|
150
|
+
//#endregion
|
|
151
|
+
export { upgradeResolver };
|
|
152
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Hex"],"sources":["../../../../src/actions/resolution/upgrade-resolver/index.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\";\n\nimport {\n permissionedResolverV2CanUpgradeFromAbi,\n permissionedResolverV2InterfaceHasRootRolesAbi,\n permissionedResolverV2UpgradeToAndCallAbi,\n resolverRoles,\n verifiableFactoryV2VerifyContractAbi,\n} from \"@ensforge/contracts/v2\";\nimport { encodeFunctionData, isAddressEqual, type Address } from \"viem\";\n\nimport { defineExtendedAction } from \"../../../action/action.js\";\nimport { makeWriteIntent, type EnsWriteIntentPreparer } from \"../../../action/write-intent.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { AuthorizationError } from \"../../../errors/authorization-error.js\";\nimport { CodecError } from \"../../../errors/codec-error.js\";\nimport { ContractError } from \"../../../errors/contract-error.js\";\nimport { WritePlanError } from \"../../../errors/write-plan-error.js\";\nimport { EthereumClient } from \"../../../internal/client/ethereum-client.js\";\nimport { executeRead } from \"../../../internal/read/execute-read.js\";\nimport { resolveWalletContext } from \"../../../internal/services/wallet-client.js\";\nimport { executeSequential } from \"../../../internal/write/execute-sequential.js\";\nimport { Hex } from \"../../../schemas/hex.js\";\nimport { EthereumAddress } from \"../../../schemas/identity.js\";\nimport type { CallExecutionResult, WriteError } from \"../../../write/types.js\";\nimport { getResolverCapabilities } from \"../../capabilities/get-resolver-capabilities/index.js\";\nimport type {\n UpgradeResolverError,\n UpgradeResolverParameters,\n UpgradeResolverResult,\n} from \"./types.js\";\n\ninterface ResolverUpgradeState {\n readonly resolver: typeof EthereumAddress.Type;\n readonly currentImplementation: typeof EthereumAddress.Type;\n readonly implementation: typeof EthereumAddress.Type;\n readonly data: typeof Hex.Type;\n readonly current: boolean;\n}\n\nconst readUpgradeState = Effect.fn(\"ensforge.upgradeResolver.state\")(function* (\n config: EnsforgeConfig,\n parameters: UpgradeResolverParameters,\n account: Address,\n): Effect.fn.Return<ResolverUpgradeState, WriteError> {\n const implementation = yield* Effect.try({\n try: () => {\n if (config.deployments.protocol !== \"v2\") throw new Error(\"ENSv2 unavailable\");\n return Schema.decodeUnknownSync(EthereumAddress)(\n parameters.implementation ?? config.deployments.v2.implementations.permissionedResolver,\n );\n },\n catch: () =>\n new CodecError({\n code: \"INVALID_ADDRESS\",\n message: \"Invalid Permissioned Resolver upgrade implementation\",\n }),\n });\n const data = yield* Effect.try({\n try: () => Schema.decodeUnknownSync(Hex)(parameters.data ?? \"0x\"),\n catch: () =>\n new CodecError({\n code: \"INVALID_HEX\",\n message: \"Invalid Permissioned Resolver upgrade data\",\n }),\n });\n return yield* executeRead(\n config,\n { consistency: \"snapshot\" },\n Effect.gen(function* () {\n if (config.deployments.protocol !== \"v2\") {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: \"Permissioned Resolver upgrades require ENSv2\",\n });\n }\n const capabilities = yield* getResolverCapabilities.effect(config, {\n name: parameters.name,\n });\n if (capabilities.address === null || !capabilities.permissioned || capabilities.inherited) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `No directly attached Permissioned Resolver is available for ${parameters.name}`,\n });\n }\n const ethereum = yield* EthereumClient;\n const currentImplementation = yield* ethereum.readContract({\n address: config.deployments.v2.contracts.verifiableFactory,\n abi: verifiableFactoryV2VerifyContractAbi,\n functionName: \"verifyContract\",\n args: [capabilities.address],\n });\n const compatible = yield* ethereum.readContract({\n address: implementation,\n abi: permissionedResolverV2CanUpgradeFromAbi,\n functionName: \"canUpgradeFrom\",\n args: [currentImplementation],\n });\n if (!compatible) {\n return yield* new AuthorizationError({\n code: \"RECORD_UNSUPPORTED\",\n message: `${implementation} is not a compatible Permissioned Resolver upgrade`,\n });\n }\n const current = isAddressEqual(currentImplementation, implementation);\n if (!current || parameters.force === true) {\n const authorized = yield* ethereum.readContract({\n address: capabilities.address,\n abi: permissionedResolverV2InterfaceHasRootRolesAbi,\n functionName: \"hasRootRoles\",\n args: [resolverRoles.upgrade, account],\n });\n if (!authorized) {\n return yield* new AuthorizationError({\n code: \"UNAUTHORIZED\",\n message: `${account} cannot upgrade the resolver for ${parameters.name}`,\n });\n }\n }\n return {\n resolver: capabilities.address,\n currentImplementation,\n implementation,\n data,\n current,\n };\n }),\n );\n});\n\nconst preparer: EnsWriteIntentPreparer<UpgradeResolverParameters, WriteError> = Effect.fn(\n \"ensforge.upgradeResolver.prepare\",\n)(function* (config, parameters, context) {\n const account = typeof context.account === \"string\" ? context.account : context.account.address;\n const state = yield* readUpgradeState(config, parameters, account);\n if (state.current && parameters.force !== true) {\n return yield* new WritePlanError({\n code: \"INVALID_CALL_PLAN\",\n message: `The resolver for ${parameters.name} already uses the requested implementation`,\n cause: state,\n });\n }\n const data = yield* Effect.try({\n try: () =>\n encodeFunctionData({\n abi: permissionedResolverV2UpgradeToAndCallAbi,\n functionName: \"upgradeToAndCall\",\n args: [state.implementation, state.data],\n }),\n catch: (cause) =>\n new ContractError({\n code: \"ENCODE_FAILED\",\n message: `Unable to encode the resolver upgrade for ${parameters.name}`,\n cause,\n }),\n });\n return { to: state.resolver, data, value: 0n, protocol: \"v2\" };\n});\n\nconst makeIntent = (parameters: UpgradeResolverParameters) =>\n makeWriteIntent<UpgradeResolverParameters, CallExecutionResult, WriteError>(\n \"upgradeResolver\",\n parameters,\n preparer,\n );\n\nconst implementation = Effect.fn(\"ensforge.upgradeResolver\")(function* (\n config: EnsforgeConfig,\n parameters: UpgradeResolverParameters,\n) {\n const wallet = yield* executeRead(config, {}, resolveWalletContext(parameters));\n const account = typeof wallet.account === \"string\" ? wallet.account : wallet.account.address;\n const state = yield* readUpgradeState(config, parameters, account);\n if (state.current && parameters.force !== true) {\n return {\n status: \"current\",\n resolver: state.resolver,\n implementation: state.currentImplementation,\n call: null,\n } as const satisfies UpgradeResolverResult;\n }\n const result = yield* executeSequential(config, {\n calls: [makeIntent(parameters)],\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n ...(parameters.confirmation === undefined ? {} : { confirmation: parameters.confirmation }),\n });\n const call = result.calls[0];\n if (call === undefined) {\n return yield* new WritePlanError({\n code: \"INVALID_CALL_PLAN\",\n message: \"upgradeResolver did not produce an execution result\",\n cause: result,\n });\n }\n return {\n status: \"upgraded\",\n resolver: state.resolver,\n previousImplementation: state.currentImplementation,\n implementation: state.implementation,\n call,\n } as const satisfies UpgradeResolverResult;\n});\n\nconst action = defineExtendedAction<\n UpgradeResolverParameters,\n UpgradeResolverResult,\n UpgradeResolverError\n>(implementation);\n\nexport const upgradeResolver = Object.freeze(\n Object.defineProperty(action, \"call\", {\n value: makeIntent,\n enumerable: true,\n configurable: false,\n writable: false,\n }),\n) as typeof action & { readonly call: typeof makeIntent };\n\nexport type {\n UpgradeResolverError,\n UpgradeResolverIntent,\n UpgradeResolverParameters,\n UpgradeResolverResult,\n} from \"./types.js\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ConfirmationPolicy } from "../../../config/write-options.js";
|
|
2
|
+
import { CallExecutionResult, WriteError } from "../../../write/types.js";
|
|
3
|
+
import { EnsWriteIntent } from "../../../action/write-intent.js";
|
|
4
|
+
import { EthereumAddress } from "../../../schemas/identity.js";
|
|
5
|
+
import { Hex as Hex$1 } from "../../../schemas/hex.js";
|
|
6
|
+
import { Account, Address, WalletClient } from "viem";
|
|
7
|
+
//#region src/actions/resolution/upgrade-resolver/types.d.ts
|
|
8
|
+
interface UpgradeResolverParameters {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly implementation?: string;
|
|
11
|
+
readonly data?: Hex$1;
|
|
12
|
+
readonly force?: boolean;
|
|
13
|
+
readonly walletClient?: WalletClient;
|
|
14
|
+
readonly account?: Account | Address;
|
|
15
|
+
readonly confirmation?: ConfirmationPolicy;
|
|
16
|
+
}
|
|
17
|
+
type UpgradeResolverResult = {
|
|
18
|
+
readonly status: "current";
|
|
19
|
+
readonly resolver: EthereumAddress;
|
|
20
|
+
readonly implementation: EthereumAddress;
|
|
21
|
+
readonly call: null;
|
|
22
|
+
} | {
|
|
23
|
+
readonly status: "upgraded";
|
|
24
|
+
readonly resolver: EthereumAddress;
|
|
25
|
+
readonly previousImplementation: EthereumAddress;
|
|
26
|
+
readonly implementation: EthereumAddress;
|
|
27
|
+
readonly call: CallExecutionResult;
|
|
28
|
+
};
|
|
29
|
+
type UpgradeResolverError = WriteError;
|
|
30
|
+
type UpgradeResolverIntent = EnsWriteIntent<CallExecutionResult, UpgradeResolverError>;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { UpgradeResolverError, UpgradeResolverIntent, UpgradeResolverParameters, UpgradeResolverResult };
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/actions/resolution/upgrade-resolver/types.ts"],"mappings":";;;;;;;UAOiB;WACN;WACA;WACA,OAAO;WACP;WACA,eAAe;WACf,UAAU,UAAU;WACpB,eAAe;;KAGd;WAEG;WACA,UAAU;WACV,gBAAgB;WAChB;;WAGA;WACA,UAAU;WACV,wBAAwB;WACxB,gBAAgB;WAChB,MAAM;;KAGT,uBAAuB;KACvB,wBAAwB,eAAe,qBAAqB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { viemErrorToEffectError } from "../../internal/errors/viem-error.js";
|
|
2
|
+
import { AuthorizationError } from "../../errors/authorization-error.js";
|
|
3
|
+
import { Effect, Option } from "effect";
|
|
4
|
+
import { isAddressEqual } from "viem";
|
|
5
|
+
import { ensRegistryV1IsApprovedForAllAbi } from "@ensforge/contracts/v1";
|
|
6
|
+
import { contractNamerV2InterfaceIsContractNamerAbi } from "@ensforge/contracts/v2";
|
|
7
|
+
|
|
8
|
+
//#region src/actions/reverse/authorization.ts
|
|
9
|
+
const ownableAbi = [{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "owner",
|
|
12
|
+
stateMutability: "view",
|
|
13
|
+
inputs: [],
|
|
14
|
+
outputs: [{
|
|
15
|
+
name: "",
|
|
16
|
+
type: "address"
|
|
17
|
+
}]
|
|
18
|
+
}];
|
|
19
|
+
const getContractCode = Effect.fn("ensforge.reverse.getContractCode")(function* (config, address) {
|
|
20
|
+
return yield* Effect.tryPromise({
|
|
21
|
+
try: () => config.publicClient.getBytecode({ address }),
|
|
22
|
+
catch: (cause) => viemErrorToEffectError(cause, "readContract")
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const requireContract = Effect.fn("ensforge.reverse.requireContract")(function* (config, address) {
|
|
26
|
+
const code = yield* getContractCode(config, address);
|
|
27
|
+
return code !== void 0 && code !== "0x";
|
|
28
|
+
});
|
|
29
|
+
const isOwnedContract = Effect.fn("ensforge.reverse.isOwnedContract")(function* (config, target, caller) {
|
|
30
|
+
const code = yield* getContractCode(config, target);
|
|
31
|
+
if (code === void 0 || code === "0x") return false;
|
|
32
|
+
const owner = yield* Effect.tryPromise(() => config.publicClient.readContract({
|
|
33
|
+
address: target,
|
|
34
|
+
abi: ownableAbi,
|
|
35
|
+
functionName: "owner"
|
|
36
|
+
})).pipe(Effect.option);
|
|
37
|
+
return Option.isSome(owner) && isAddressEqual(owner.value, caller);
|
|
38
|
+
});
|
|
39
|
+
const requireReverseAuthorization = Effect.fn("ensforge.reverse.requireAuthorization")(function* (config, target, caller) {
|
|
40
|
+
if (isAddressEqual(target, caller)) return;
|
|
41
|
+
if (config.deployments.protocol === "v1") {
|
|
42
|
+
const registry = config.deployments.v1.contracts.registry;
|
|
43
|
+
const [approved, ownsContract] = yield* Effect.all([Effect.tryPromise({
|
|
44
|
+
try: () => config.publicClient.readContract({
|
|
45
|
+
address: registry,
|
|
46
|
+
abi: ensRegistryV1IsApprovedForAllAbi,
|
|
47
|
+
functionName: "isApprovedForAll",
|
|
48
|
+
args: [target, caller]
|
|
49
|
+
}),
|
|
50
|
+
catch: (cause) => viemErrorToEffectError(cause, "readContract")
|
|
51
|
+
}), isOwnedContract(config, target, caller)], { concurrency: "unbounded" });
|
|
52
|
+
if (approved || ownsContract) return;
|
|
53
|
+
} else {
|
|
54
|
+
const [ownsContract, namedByContract] = yield* Effect.all([isOwnedContract(config, target, caller), Effect.tryPromise(() => config.publicClient.readContract({
|
|
55
|
+
address: target,
|
|
56
|
+
abi: contractNamerV2InterfaceIsContractNamerAbi,
|
|
57
|
+
functionName: "isContractNamer",
|
|
58
|
+
args: [caller]
|
|
59
|
+
})).pipe(Effect.option)], { concurrency: "unbounded" });
|
|
60
|
+
if (ownsContract || Option.isSome(namedByContract) && namedByContract.value) return;
|
|
61
|
+
}
|
|
62
|
+
return yield* new AuthorizationError({
|
|
63
|
+
code: "UNAUTHORIZED",
|
|
64
|
+
message: `${caller} is not authorized to set the primary name for ${target}`
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { requireContract, requireReverseAuthorization };
|
|
70
|
+
//# sourceMappingURL=authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.js","names":[],"sources":["../../../src/actions/reverse/authorization.ts"],"sourcesContent":["import { Effect, Option } from \"effect\";\n\nimport { ensRegistryV1IsApprovedForAllAbi } from \"@ensforge/contracts/v1\";\nimport { contractNamerV2InterfaceIsContractNamerAbi } from \"@ensforge/contracts/v2\";\nimport { isAddressEqual, type Address } from \"viem\";\n\nimport type { EnsforgeConfig } from \"../../config/config.js\";\nimport { AuthorizationError } from \"../../errors/authorization-error.js\";\nimport { viemErrorToEffectError } from \"../../internal/errors/viem-error.js\";\n\nconst ownableAbi = [\n {\n type: \"function\",\n name: \"owner\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n] as const;\n\nconst getContractCode = Effect.fn(\"ensforge.reverse.getContractCode\")(function* (\n config: EnsforgeConfig,\n address: Address,\n) {\n return yield* Effect.tryPromise({\n try: () => config.publicClient.getBytecode({ address }),\n catch: (cause) => viemErrorToEffectError(cause, \"readContract\"),\n });\n});\n\nexport const requireContract = Effect.fn(\"ensforge.reverse.requireContract\")(function* (\n config: EnsforgeConfig,\n address: Address,\n) {\n const code = yield* getContractCode(config, address);\n return code !== undefined && code !== \"0x\";\n});\n\nconst isOwnedContract = Effect.fn(\"ensforge.reverse.isOwnedContract\")(function* (\n config: EnsforgeConfig,\n target: Address,\n caller: Address,\n) {\n const code = yield* getContractCode(config, target);\n if (code === undefined || code === \"0x\") return false;\n\n const owner = yield* Effect.tryPromise(() =>\n config.publicClient.readContract({ address: target, abi: ownableAbi, functionName: \"owner\" }),\n ).pipe(Effect.option);\n return Option.isSome(owner) && isAddressEqual(owner.value, caller);\n});\n\nexport const requireReverseAuthorization = Effect.fn(\"ensforge.reverse.requireAuthorization\")(\n function* (config: EnsforgeConfig, target: Address, caller: Address) {\n if (isAddressEqual(target, caller)) return;\n\n if (config.deployments.protocol === \"v1\") {\n const registry = config.deployments.v1.contracts.registry;\n const [approved, ownsContract] = yield* Effect.all(\n [\n Effect.tryPromise({\n try: () =>\n config.publicClient.readContract({\n address: registry,\n abi: ensRegistryV1IsApprovedForAllAbi,\n functionName: \"isApprovedForAll\",\n args: [target, caller],\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"readContract\"),\n }),\n isOwnedContract(config, target, caller),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n if (approved || ownsContract) return;\n } else {\n const [ownsContract, namedByContract] = yield* Effect.all(\n [\n isOwnedContract(config, target, caller),\n Effect.tryPromise(() =>\n config.publicClient.readContract({\n address: target,\n abi: contractNamerV2InterfaceIsContractNamerAbi,\n functionName: \"isContractNamer\",\n args: [caller],\n }),\n ).pipe(Effect.option),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n if (ownsContract || (Option.isSome(namedByContract) && namedByContract.value)) return;\n }\n\n return yield* new AuthorizationError({\n code: \"UNAUTHORIZED\",\n message: `${caller} is not authorized to set the primary name for ${target}`,\n });\n },\n);\n"],"mappings":";;;;;;;;AAUA,MAAM,aAAa,CACjB;CACE,MAAM;CACN,MAAM;CACN,iBAAiB;CACjB,QAAQ,CAAC;CACT,SAAS,CAAC;EAAE,MAAM;EAAI,MAAM;CAAU,CAAC;AACzC,CACF;AAEA,MAAM,kBAAkB,OAAO,GAAG,kCAAkC,CAAC,CAAC,WACpE,QACA,SACA;CACA,OAAO,OAAO,OAAO,WAAW;EAC9B,WAAW,OAAO,aAAa,YAAY,EAAE,QAAQ,CAAC;EACtD,QAAQ,UAAU,uBAAuB,OAAO,cAAc;CAChE,CAAC;AACH,CAAC;AAED,MAAa,kBAAkB,OAAO,GAAG,kCAAkC,CAAC,CAAC,WAC3E,QACA,SACA;CACA,MAAM,OAAO,OAAO,gBAAgB,QAAQ,OAAO;CACnD,OAAO,SAAS,UAAa,SAAS;AACxC,CAAC;AAED,MAAM,kBAAkB,OAAO,GAAG,kCAAkC,CAAC,CAAC,WACpE,QACA,QACA,QACA;CACA,MAAM,OAAO,OAAO,gBAAgB,QAAQ,MAAM;CAClD,IAAI,SAAS,UAAa,SAAS,MAAM,OAAO;CAEhD,MAAM,QAAQ,OAAO,OAAO,iBAC1B,OAAO,aAAa,aAAa;EAAE,SAAS;EAAQ,KAAK;EAAY,cAAc;CAAQ,CAAC,CAC9F,CAAC,CAAC,KAAK,OAAO,MAAM;CACpB,OAAO,OAAO,OAAO,KAAK,KAAK,eAAe,MAAM,OAAO,MAAM;AACnE,CAAC;AAED,MAAa,8BAA8B,OAAO,GAAG,uCAAuC,CAAC,CAC3F,WAAW,QAAwB,QAAiB,QAAiB;CACnE,IAAI,eAAe,QAAQ,MAAM,GAAG;CAEpC,IAAI,OAAO,YAAY,aAAa,MAAM;EACxC,MAAM,WAAW,OAAO,YAAY,GAAG,UAAU;EACjD,MAAM,CAAC,UAAU,gBAAgB,OAAO,OAAO,IAC7C,CACE,OAAO,WAAW;GAChB,WACE,OAAO,aAAa,aAAa;IAC/B,SAAS;IACT,KAAK;IACL,cAAc;IACd,MAAM,CAAC,QAAQ,MAAM;GACvB,CAAC;GACH,QAAQ,UAAU,uBAAuB,OAAO,cAAc;EAChE,CAAC,GACD,gBAAgB,QAAQ,QAAQ,MAAM,CACxC,GACA,EAAE,aAAa,YAAY,CAC7B;EACA,IAAI,YAAY,cAAc;CAChC,OAAO;EACL,MAAM,CAAC,cAAc,mBAAmB,OAAO,OAAO,IACpD,CACE,gBAAgB,QAAQ,QAAQ,MAAM,GACtC,OAAO,iBACL,OAAO,aAAa,aAAa;GAC/B,SAAS;GACT,KAAK;GACL,cAAc;GACd,MAAM,CAAC,MAAM;EACf,CAAC,CACH,CAAC,CAAC,KAAK,OAAO,MAAM,CACtB,GACA,EAAE,aAAa,YAAY,CAC7B;EACA,IAAI,gBAAiB,OAAO,OAAO,eAAe,KAAK,gBAAgB,OAAQ;CACjF;CAEA,OAAO,OAAO,IAAI,mBAAmB;EACnC,MAAM;EACN,SAAS,GAAG,OAAO,iDAAiD;CACtE,CAAC;AACH,CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CallExecutionResult, WriteError } from "../../../write/types.js";
|
|
2
|
+
import { EnsWriteAction } from "../../../action/write-intent.js";
|
|
3
|
+
import { ClearPrimaryNameParameters, ReverseNameWriteError, ReverseNameWriteResult } from "../types.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
//#region src/actions/reverse/clear-primary-name/index.d.ts
|
|
6
|
+
declare const clearPrimaryName: EnsWriteAction<ClearPrimaryNameParameters, CallExecutionResult, WriteError>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { type ReverseNameWriteError as ClearPrimaryNameError, type ClearPrimaryNameParameters, type ReverseNameWriteResult as ClearPrimaryNameResult, clearPrimaryName };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/reverse/clear-primary-name/index.ts"],"mappings":";;;;;cAGa,kBAAgB,eAAA,4BAAA,qBAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { makeReverseNameAction } from "../mutation.js";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/reverse/clear-primary-name/index.ts
|
|
4
|
+
const clearPrimaryName = makeReverseNameAction("clearPrimaryName", (_parameters) => ({ name: "" }));
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
export { clearPrimaryName };
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/reverse/clear-primary-name/index.ts"],"sourcesContent":["import { makeReverseNameAction } from \"../mutation.js\";\nimport type { ClearPrimaryNameParameters } from \"../types.js\";\n\nexport const clearPrimaryName = makeReverseNameAction(\n \"clearPrimaryName\",\n (_parameters: ClearPrimaryNameParameters) => ({ name: \"\" }),\n);\n\nexport type {\n ClearPrimaryNameParameters,\n ReverseNameWriteError as ClearPrimaryNameError,\n ReverseNameWriteResult as ClearPrimaryNameResult,\n} from \"../types.js\";\n"],"mappings":";;;AAGA,MAAa,mBAAmB,sBAC9B,qBACC,iBAA6C,EAAE,MAAM,GAAG,EAC3D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnsReadAction } from "../../../action/read-request.js";
|
|
2
|
+
import { GetPrimaryNameError, GetPrimaryNameParameters, PrimaryNameResult } from "./types.js";
|
|
3
|
+
import "../../../index.js";
|
|
4
|
+
//#region src/actions/reverse/get-primary-name/index.d.ts
|
|
5
|
+
declare const getPrimaryName: EnsReadAction<GetPrimaryNameParameters, {
|
|
6
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
7
|
+
readonly match: true;
|
|
8
|
+
} | null, GetPrimaryNameError>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { type GetPrimaryNameError, type GetPrimaryNameParameters, PrimaryNameResult, getPrimaryName };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/reverse/get-primary-name/index.ts"],"mappings":";;;;cAoEa,gBAIU,cAJI;;;UAIJ"}
|