@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,148 @@
|
|
|
1
|
+
import { makeWriteIntent } from "../../action/write-intent.js";
|
|
2
|
+
import { ContractError } from "../../errors/contract-error.js";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
import { encodeFunctionData } from "viem";
|
|
5
|
+
import { ensRegistryV1SetSubnodeRecordAbi, nameWrapperV1SetSubnodeRecordAbi } from "@ensforge/contracts/v1";
|
|
6
|
+
import { permissionedRegistryV2InterfaceRegisterAbi, permissionedRegistryV2InterfaceSetSubregistryAbi, userRegistryV2SetParentAbi, verifiableFactoryV2DeployProxyAbi } from "@ensforge/contracts/v2";
|
|
7
|
+
|
|
8
|
+
//#region src/actions/subnames/intents.ts
|
|
9
|
+
const prepareEncoded = Effect.fn("ensforge.subname.prepareEncoded")((_config, parameters) => Effect.succeed({
|
|
10
|
+
to: parameters.to,
|
|
11
|
+
data: parameters.data,
|
|
12
|
+
value: 0n,
|
|
13
|
+
protocol: parameters.protocol
|
|
14
|
+
}));
|
|
15
|
+
const encodedIntent = (parameters) => makeWriteIntent(parameters.operation, parameters, prepareEncoded);
|
|
16
|
+
const encode = (operation, thunk) => Effect.try({
|
|
17
|
+
try: thunk,
|
|
18
|
+
catch: (cause) => new ContractError({
|
|
19
|
+
code: "ENCODE_FAILED",
|
|
20
|
+
message: `Unable to encode ${operation}`,
|
|
21
|
+
cause
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
const v1CreateSubnameIntent = Effect.fn("ensforge.v1CreateSubnameIntent")(function* (parameters) {
|
|
25
|
+
const data = yield* encode("the V1 subname creation", () => parameters.parentWrapped ? encodeFunctionData({
|
|
26
|
+
abi: nameWrapperV1SetSubnodeRecordAbi,
|
|
27
|
+
functionName: "setSubnodeRecord",
|
|
28
|
+
args: [
|
|
29
|
+
parameters.parentNode,
|
|
30
|
+
parameters.label,
|
|
31
|
+
parameters.owner,
|
|
32
|
+
parameters.resolver,
|
|
33
|
+
parameters.ttl,
|
|
34
|
+
parameters.fuses,
|
|
35
|
+
parameters.expiry
|
|
36
|
+
]
|
|
37
|
+
}) : encodeFunctionData({
|
|
38
|
+
abi: ensRegistryV1SetSubnodeRecordAbi,
|
|
39
|
+
functionName: "setSubnodeRecord",
|
|
40
|
+
args: [
|
|
41
|
+
parameters.parentNode,
|
|
42
|
+
parameters.labelhash,
|
|
43
|
+
parameters.owner,
|
|
44
|
+
parameters.resolver,
|
|
45
|
+
parameters.ttl
|
|
46
|
+
]
|
|
47
|
+
}));
|
|
48
|
+
return encodedIntent({
|
|
49
|
+
operation: "createSubname",
|
|
50
|
+
protocol: "v1",
|
|
51
|
+
to: parameters.parentWrapped ? parameters.wrapper : parameters.registry,
|
|
52
|
+
data
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const deployUserRegistryIntent = Effect.fn("ensforge.deployUserRegistryIntent")(function* (parameters) {
|
|
56
|
+
const initializeAbi = [{
|
|
57
|
+
type: "function",
|
|
58
|
+
name: "initialize",
|
|
59
|
+
stateMutability: "nonpayable",
|
|
60
|
+
inputs: [{
|
|
61
|
+
name: "grants",
|
|
62
|
+
type: "tuple[]",
|
|
63
|
+
components: [{
|
|
64
|
+
name: "account",
|
|
65
|
+
type: "address"
|
|
66
|
+
}, {
|
|
67
|
+
name: "roleBitmap",
|
|
68
|
+
type: "uint256"
|
|
69
|
+
}]
|
|
70
|
+
}],
|
|
71
|
+
outputs: []
|
|
72
|
+
}];
|
|
73
|
+
const data = yield* encode("the ENSv2 User Registry deployment", () => {
|
|
74
|
+
const initialization = encodeFunctionData({
|
|
75
|
+
abi: initializeAbi,
|
|
76
|
+
functionName: "initialize",
|
|
77
|
+
args: [[{
|
|
78
|
+
account: parameters.owner,
|
|
79
|
+
roleBitmap: parameters.roles
|
|
80
|
+
}]]
|
|
81
|
+
});
|
|
82
|
+
return encodeFunctionData({
|
|
83
|
+
abi: verifiableFactoryV2DeployProxyAbi,
|
|
84
|
+
functionName: "deployProxy",
|
|
85
|
+
args: [
|
|
86
|
+
parameters.implementation,
|
|
87
|
+
parameters.salt,
|
|
88
|
+
initialization
|
|
89
|
+
]
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
return encodedIntent({
|
|
93
|
+
operation: "createSubregistry",
|
|
94
|
+
protocol: "v2",
|
|
95
|
+
to: parameters.factory,
|
|
96
|
+
data
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
const setRegistryParentIntent = Effect.fn("ensforge.setRegistryParentIntent")(function* (parameters) {
|
|
100
|
+
const data = yield* encode("the ENSv2 registry parent update", () => encodeFunctionData({
|
|
101
|
+
abi: userRegistryV2SetParentAbi,
|
|
102
|
+
functionName: "setParent",
|
|
103
|
+
args: [parameters.parentRegistry, parameters.parentLabel]
|
|
104
|
+
}));
|
|
105
|
+
return encodedIntent({
|
|
106
|
+
operation: "setSubregistryParent",
|
|
107
|
+
protocol: "v2",
|
|
108
|
+
to: parameters.registry,
|
|
109
|
+
data
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
const attachSubregistryIntent = Effect.fn("ensforge.attachSubregistryIntent")(function* (parameters) {
|
|
113
|
+
const data = yield* encode("the ENSv2 subregistry attachment", () => encodeFunctionData({
|
|
114
|
+
abi: permissionedRegistryV2InterfaceSetSubregistryAbi,
|
|
115
|
+
functionName: "setSubregistry",
|
|
116
|
+
args: [parameters.parentTokenId, parameters.subregistry]
|
|
117
|
+
}));
|
|
118
|
+
return encodedIntent({
|
|
119
|
+
operation: "attachSubregistry",
|
|
120
|
+
protocol: "v2",
|
|
121
|
+
to: parameters.parentRegistry,
|
|
122
|
+
data
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
const registerV2SubnameIntent = Effect.fn("ensforge.registerV2SubnameIntent")(function* (parameters) {
|
|
126
|
+
const data = yield* encode("the ENSv2 subname registration", () => encodeFunctionData({
|
|
127
|
+
abi: permissionedRegistryV2InterfaceRegisterAbi,
|
|
128
|
+
functionName: "register",
|
|
129
|
+
args: [
|
|
130
|
+
parameters.label,
|
|
131
|
+
parameters.owner,
|
|
132
|
+
"0x0000000000000000000000000000000000000000",
|
|
133
|
+
parameters.resolver,
|
|
134
|
+
parameters.roles,
|
|
135
|
+
parameters.expiry
|
|
136
|
+
]
|
|
137
|
+
}));
|
|
138
|
+
return encodedIntent({
|
|
139
|
+
operation: "createSubname",
|
|
140
|
+
protocol: "v2",
|
|
141
|
+
to: parameters.registry,
|
|
142
|
+
data
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
//#endregion
|
|
147
|
+
export { attachSubregistryIntent, deployUserRegistryIntent, registerV2SubnameIntent, setRegistryParentIntent, v1CreateSubnameIntent };
|
|
148
|
+
//# sourceMappingURL=intents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intents.js","names":[],"sources":["../../../src/actions/subnames/intents.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n ensRegistryV1SetSubnodeRecordAbi,\n nameWrapperV1SetSubnodeRecordAbi,\n} from \"@ensforge/contracts/v1\";\nimport {\n permissionedRegistryV2InterfaceRegisterAbi,\n permissionedRegistryV2InterfaceSetSubregistryAbi,\n userRegistryV2SetParentAbi,\n verifiableFactoryV2DeployProxyAbi,\n} from \"@ensforge/contracts/v2\";\nimport { encodeFunctionData } from \"viem\";\n\nimport { makeWriteIntent, type EnsWriteIntentPreparer } from \"../../action/write-intent.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport type { EthereumAddress } from \"../../schemas/identity.js\";\nimport type { EnsProtocol } from \"../../schemas/protocol.js\";\nimport type { CallExecutionResult, WriteError } from \"../../write/types.js\";\n\ninterface EncodedIntentParameters {\n readonly operation: string;\n readonly protocol: EnsProtocol;\n readonly to: EthereumAddress;\n readonly data: `0x${string}`;\n}\n\nconst prepareEncoded: EnsWriteIntentPreparer<EncodedIntentParameters, WriteError> = Effect.fn(\n \"ensforge.subname.prepareEncoded\",\n)((_config, parameters) =>\n Effect.succeed({\n to: parameters.to,\n data: parameters.data,\n value: 0n,\n protocol: parameters.protocol,\n }),\n);\n\nconst encodedIntent = (parameters: EncodedIntentParameters) =>\n makeWriteIntent<EncodedIntentParameters, CallExecutionResult, WriteError>(\n parameters.operation,\n parameters,\n prepareEncoded,\n );\n\nconst encode = (operation: string, thunk: () => `0x${string}`) =>\n Effect.try({\n try: thunk,\n catch: (cause) =>\n new ContractError({\n code: \"ENCODE_FAILED\",\n message: `Unable to encode ${operation}`,\n cause,\n }),\n });\n\nexport const v1CreateSubnameIntent = Effect.fn(\"ensforge.v1CreateSubnameIntent\")(\n function* (parameters: {\n readonly registry: EthereumAddress;\n readonly wrapper: EthereumAddress;\n readonly parentWrapped: boolean;\n readonly parentNode: `0x${string}`;\n readonly label: string;\n readonly labelhash: `0x${string}`;\n readonly owner: EthereumAddress;\n readonly resolver: EthereumAddress;\n readonly ttl: bigint;\n readonly fuses: number;\n readonly expiry: bigint;\n }) {\n const data = yield* encode(\"the V1 subname creation\", () =>\n parameters.parentWrapped\n ? encodeFunctionData({\n abi: nameWrapperV1SetSubnodeRecordAbi,\n functionName: \"setSubnodeRecord\",\n args: [\n parameters.parentNode,\n parameters.label,\n parameters.owner,\n parameters.resolver,\n parameters.ttl,\n parameters.fuses,\n parameters.expiry,\n ],\n })\n : encodeFunctionData({\n abi: ensRegistryV1SetSubnodeRecordAbi,\n functionName: \"setSubnodeRecord\",\n args: [\n parameters.parentNode,\n parameters.labelhash,\n parameters.owner,\n parameters.resolver,\n parameters.ttl,\n ],\n }),\n );\n return encodedIntent({\n operation: \"createSubname\",\n protocol: \"v1\",\n to: parameters.parentWrapped ? parameters.wrapper : parameters.registry,\n data,\n });\n },\n);\n\nexport const deployUserRegistryIntent = Effect.fn(\"ensforge.deployUserRegistryIntent\")(\n function* (parameters: {\n readonly factory: EthereumAddress;\n readonly implementation: EthereumAddress;\n readonly owner: EthereumAddress;\n readonly roles: bigint;\n readonly salt: bigint;\n }) {\n const initializeAbi = [\n {\n type: \"function\",\n name: \"initialize\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"grants\",\n type: \"tuple[]\",\n components: [\n { name: \"account\", type: \"address\" },\n { name: \"roleBitmap\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n ] as const;\n const data = yield* encode(\"the ENSv2 User Registry deployment\", () => {\n const initialization = encodeFunctionData({\n abi: initializeAbi,\n functionName: \"initialize\",\n args: [[{ account: parameters.owner, roleBitmap: parameters.roles }]],\n });\n return encodeFunctionData({\n abi: verifiableFactoryV2DeployProxyAbi,\n functionName: \"deployProxy\",\n args: [parameters.implementation, parameters.salt, initialization],\n });\n });\n return encodedIntent({\n operation: \"createSubregistry\",\n protocol: \"v2\",\n to: parameters.factory,\n data,\n });\n },\n);\n\nexport const setRegistryParentIntent = Effect.fn(\"ensforge.setRegistryParentIntent\")(\n function* (parameters: {\n readonly registry: EthereumAddress;\n readonly parentRegistry: EthereumAddress;\n readonly parentLabel: string;\n }) {\n const data = yield* encode(\"the ENSv2 registry parent update\", () =>\n encodeFunctionData({\n abi: userRegistryV2SetParentAbi,\n functionName: \"setParent\",\n args: [parameters.parentRegistry, parameters.parentLabel],\n }),\n );\n return encodedIntent({\n operation: \"setSubregistryParent\",\n protocol: \"v2\",\n to: parameters.registry,\n data,\n });\n },\n);\n\nexport const attachSubregistryIntent = Effect.fn(\"ensforge.attachSubregistryIntent\")(\n function* (parameters: {\n readonly parentRegistry: EthereumAddress;\n readonly parentTokenId: bigint;\n readonly subregistry: EthereumAddress;\n }) {\n const data = yield* encode(\"the ENSv2 subregistry attachment\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceSetSubregistryAbi,\n functionName: \"setSubregistry\",\n args: [parameters.parentTokenId, parameters.subregistry],\n }),\n );\n return encodedIntent({\n operation: \"attachSubregistry\",\n protocol: \"v2\",\n to: parameters.parentRegistry,\n data,\n });\n },\n);\n\nexport const registerV2SubnameIntent = Effect.fn(\"ensforge.registerV2SubnameIntent\")(\n function* (parameters: {\n readonly registry: EthereumAddress;\n readonly label: string;\n readonly owner: EthereumAddress;\n readonly resolver: EthereumAddress;\n readonly roles: bigint;\n readonly expiry: bigint;\n }) {\n const data = yield* encode(\"the ENSv2 subname registration\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceRegisterAbi,\n functionName: \"register\",\n args: [\n parameters.label,\n parameters.owner,\n \"0x0000000000000000000000000000000000000000\",\n parameters.resolver,\n parameters.roles,\n parameters.expiry,\n ],\n }),\n );\n return encodedIntent({\n operation: \"createSubname\",\n protocol: \"v2\",\n to: parameters.registry,\n data,\n });\n },\n);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CallExecutionResult, WriteError } from "../../write/types.js";
|
|
2
|
+
import { EnsWriteAction } from "../../action/write-intent.js";
|
|
3
|
+
import { SetSubnameExpiryParameters, SetSubnameManagerParameters, SetSubnameResolverParameters, SubnameParameters } from "./types.js";
|
|
4
|
+
import "../../index.js";
|
|
5
|
+
//#region src/actions/subnames/mutation.d.ts
|
|
6
|
+
declare const deleteSubname: EnsWriteAction<SubnameParameters, CallExecutionResult, WriteError>;
|
|
7
|
+
declare const setSubnameManager: EnsWriteAction<SetSubnameManagerParameters, CallExecutionResult, WriteError>;
|
|
8
|
+
declare const setSubnameResolver: EnsWriteAction<SetSubnameResolverParameters, CallExecutionResult, WriteError>;
|
|
9
|
+
declare const setSubnameExpiry: EnsWriteAction<SetSubnameExpiryParameters, CallExecutionResult, WriteError>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { deleteSubname, setSubnameExpiry, setSubnameManager, setSubnameResolver };
|
|
12
|
+
//# sourceMappingURL=mutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.d.ts","names":[],"sources":["../../../src/actions/subnames/mutation.ts"],"mappings":";;;;;cA8Pa,eAAa,eAAA,mBAAA,qBAAA;cACb,mBAAiB,eAAA,6BAAA,qBAAA;cACjB,oBAAkB,eAAA,8BAAA,qBAAA;cAClB,kBAAgB,eAAA,4BAAA,qBAAA"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { ContractError } from "../../errors/contract-error.js";
|
|
2
|
+
import { makeSingleWriteAction } from "../../internal/write/single-write-action.js";
|
|
3
|
+
import { decodeOwnershipAddress } from "../ownership/address.js";
|
|
4
|
+
import { AuthorizationError } from "../../errors/authorization-error.js";
|
|
5
|
+
import { resolveSubnameRoute } from "./route.js";
|
|
6
|
+
import { Effect } from "effect";
|
|
7
|
+
import { encodeFunctionData, zeroAddress } from "viem";
|
|
8
|
+
import { ensRegistryV1SetResolverAbi, ensRegistryV1SetSubnodeOwnerAbi, nameWrapperV1ExtendExpiryAbi, nameWrapperV1SetResolverAbi, nameWrapperV1SetSubnodeOwnerAbi } from "@ensforge/contracts/v1";
|
|
9
|
+
import { permissionedRegistryV2InterfaceRenewAbi, permissionedRegistryV2InterfaceSafeTransferFromAbi, permissionedRegistryV2InterfaceSetResolverAbi, permissionedRegistryV2InterfaceUnregisterAbi } from "@ensforge/contracts/v2";
|
|
10
|
+
|
|
11
|
+
//#region src/actions/subnames/mutation.ts
|
|
12
|
+
const encoded = (operation, thunk) => Effect.try({
|
|
13
|
+
try: thunk,
|
|
14
|
+
catch: (cause) => new ContractError({
|
|
15
|
+
code: "ENCODE_FAILED",
|
|
16
|
+
message: `Unable to encode ${operation}`,
|
|
17
|
+
cause
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
const requireV2Child = (route) => {
|
|
21
|
+
if (route.subregistry === null || route.childState === null || route.childState.status !== 2) return new AuthorizationError({
|
|
22
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
23
|
+
message: `Registered subname state is unavailable for ${route.name}`
|
|
24
|
+
});
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
27
|
+
const deletePreparer = Effect.fn("ensforge.deleteSubname.prepare")(function* (config, parameters) {
|
|
28
|
+
const route = yield* resolveSubnameRoute(config, parameters.name);
|
|
29
|
+
if (route.protocol === "v1") {
|
|
30
|
+
const data = yield* encoded("deleteSubname", () => route.parentWrapped ? encodeFunctionData({
|
|
31
|
+
abi: nameWrapperV1SetSubnodeOwnerAbi,
|
|
32
|
+
functionName: "setSubnodeOwner",
|
|
33
|
+
args: [
|
|
34
|
+
route.parentNode,
|
|
35
|
+
route.label,
|
|
36
|
+
zeroAddress,
|
|
37
|
+
0,
|
|
38
|
+
route.childExpiry
|
|
39
|
+
]
|
|
40
|
+
}) : encodeFunctionData({
|
|
41
|
+
abi: ensRegistryV1SetSubnodeOwnerAbi,
|
|
42
|
+
functionName: "setSubnodeOwner",
|
|
43
|
+
args: [
|
|
44
|
+
route.parentNode,
|
|
45
|
+
route.labelhash,
|
|
46
|
+
zeroAddress
|
|
47
|
+
]
|
|
48
|
+
}));
|
|
49
|
+
return {
|
|
50
|
+
to: route.parentWrapped ? route.deployment.contracts.nameWrapper : route.deployment.contracts.registry,
|
|
51
|
+
data,
|
|
52
|
+
value: 0n,
|
|
53
|
+
protocol: "v1"
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const unavailable = requireV2Child(route);
|
|
57
|
+
if (unavailable !== null || route.subregistry === null || route.childState === null) return yield* unavailable ?? new AuthorizationError({
|
|
58
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
59
|
+
message: `Registered subname state is unavailable for ${route.name}`
|
|
60
|
+
});
|
|
61
|
+
const childState = route.childState;
|
|
62
|
+
return {
|
|
63
|
+
to: route.subregistry,
|
|
64
|
+
data: yield* encoded("deleteSubname", () => encodeFunctionData({
|
|
65
|
+
abi: permissionedRegistryV2InterfaceUnregisterAbi,
|
|
66
|
+
functionName: "unregister",
|
|
67
|
+
args: [childState.tokenId]
|
|
68
|
+
})),
|
|
69
|
+
value: 0n,
|
|
70
|
+
protocol: "v2"
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
const managerPreparer = Effect.fn("ensforge.setSubnameManager.prepare")(function* (config, parameters) {
|
|
74
|
+
const route = yield* resolveSubnameRoute(config, parameters.name);
|
|
75
|
+
const manager = yield* decodeOwnershipAddress(parameters.manager, "subname manager");
|
|
76
|
+
if (route.protocol === "v1") {
|
|
77
|
+
const data = yield* encoded("setSubnameManager", () => route.parentWrapped ? encodeFunctionData({
|
|
78
|
+
abi: nameWrapperV1SetSubnodeOwnerAbi,
|
|
79
|
+
functionName: "setSubnodeOwner",
|
|
80
|
+
args: [
|
|
81
|
+
route.parentNode,
|
|
82
|
+
route.label,
|
|
83
|
+
manager,
|
|
84
|
+
0,
|
|
85
|
+
route.childExpiry
|
|
86
|
+
]
|
|
87
|
+
}) : encodeFunctionData({
|
|
88
|
+
abi: ensRegistryV1SetSubnodeOwnerAbi,
|
|
89
|
+
functionName: "setSubnodeOwner",
|
|
90
|
+
args: [
|
|
91
|
+
route.parentNode,
|
|
92
|
+
route.labelhash,
|
|
93
|
+
manager
|
|
94
|
+
]
|
|
95
|
+
}));
|
|
96
|
+
return {
|
|
97
|
+
to: route.parentWrapped ? route.deployment.contracts.nameWrapper : route.deployment.contracts.registry,
|
|
98
|
+
data,
|
|
99
|
+
value: 0n,
|
|
100
|
+
protocol: "v1"
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const unavailable = requireV2Child(route);
|
|
104
|
+
if (unavailable !== null || route.subregistry === null || route.childState === null) return yield* unavailable ?? new AuthorizationError({
|
|
105
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
106
|
+
message: `Registered subname state is unavailable for ${route.name}`
|
|
107
|
+
});
|
|
108
|
+
const childState = route.childState;
|
|
109
|
+
return {
|
|
110
|
+
to: route.subregistry,
|
|
111
|
+
data: yield* encoded("setSubnameManager", () => encodeFunctionData({
|
|
112
|
+
abi: permissionedRegistryV2InterfaceSafeTransferFromAbi,
|
|
113
|
+
functionName: "safeTransferFrom",
|
|
114
|
+
args: [
|
|
115
|
+
childState.latestOwner,
|
|
116
|
+
manager,
|
|
117
|
+
childState.tokenId,
|
|
118
|
+
1n,
|
|
119
|
+
"0x"
|
|
120
|
+
]
|
|
121
|
+
})),
|
|
122
|
+
value: 0n,
|
|
123
|
+
protocol: "v2"
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
const resolverPreparer = Effect.fn("ensforge.setSubnameResolver.prepare")(function* (config, parameters) {
|
|
127
|
+
const route = yield* resolveSubnameRoute(config, parameters.name);
|
|
128
|
+
const resolver = yield* decodeOwnershipAddress(parameters.resolver, "subname resolver");
|
|
129
|
+
if (route.protocol === "v1") {
|
|
130
|
+
const data = yield* encoded("setSubnameResolver", () => route.childWrapped ? encodeFunctionData({
|
|
131
|
+
abi: nameWrapperV1SetResolverAbi,
|
|
132
|
+
functionName: "setResolver",
|
|
133
|
+
args: [route.node, resolver]
|
|
134
|
+
}) : encodeFunctionData({
|
|
135
|
+
abi: ensRegistryV1SetResolverAbi,
|
|
136
|
+
functionName: "setResolver",
|
|
137
|
+
args: [route.node, resolver]
|
|
138
|
+
}));
|
|
139
|
+
return {
|
|
140
|
+
to: route.childWrapped ? route.deployment.contracts.nameWrapper : route.deployment.contracts.registry,
|
|
141
|
+
data,
|
|
142
|
+
value: 0n,
|
|
143
|
+
protocol: "v1"
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
const unavailable = requireV2Child(route);
|
|
147
|
+
if (unavailable !== null || route.subregistry === null || route.childState === null) return yield* unavailable ?? new AuthorizationError({
|
|
148
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
149
|
+
message: `Registered subname state is unavailable for ${route.name}`
|
|
150
|
+
});
|
|
151
|
+
const childState = route.childState;
|
|
152
|
+
return {
|
|
153
|
+
to: route.subregistry,
|
|
154
|
+
data: yield* encoded("setSubnameResolver", () => encodeFunctionData({
|
|
155
|
+
abi: permissionedRegistryV2InterfaceSetResolverAbi,
|
|
156
|
+
functionName: "setResolver",
|
|
157
|
+
args: [childState.tokenId, resolver]
|
|
158
|
+
})),
|
|
159
|
+
value: 0n,
|
|
160
|
+
protocol: "v2"
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
const expiryPreparer = Effect.fn("ensforge.setSubnameExpiry.prepare")(function* (config, parameters) {
|
|
164
|
+
const route = yield* resolveSubnameRoute(config, parameters.name);
|
|
165
|
+
if (parameters.expiry > route.parentExpiry && route.parentExpiry !== 0n) return yield* new AuthorizationError({
|
|
166
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
167
|
+
message: `Subname expiry cannot exceed the parent expiry for ${route.name}`
|
|
168
|
+
});
|
|
169
|
+
if (route.protocol === "v1") {
|
|
170
|
+
if (!route.childWrapped) return yield* new AuthorizationError({
|
|
171
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
172
|
+
message: `Expiry is unavailable for unwrapped V1 subname ${route.name}`
|
|
173
|
+
});
|
|
174
|
+
const data = yield* encoded("setSubnameExpiry", () => encodeFunctionData({
|
|
175
|
+
abi: nameWrapperV1ExtendExpiryAbi,
|
|
176
|
+
functionName: "extendExpiry",
|
|
177
|
+
args: [
|
|
178
|
+
route.parentNode,
|
|
179
|
+
route.labelhash,
|
|
180
|
+
parameters.expiry
|
|
181
|
+
]
|
|
182
|
+
}));
|
|
183
|
+
return {
|
|
184
|
+
to: route.deployment.contracts.nameWrapper,
|
|
185
|
+
data,
|
|
186
|
+
value: 0n,
|
|
187
|
+
protocol: "v1"
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
const unavailable = requireV2Child(route);
|
|
191
|
+
if (unavailable !== null || route.subregistry === null || route.childState === null) return yield* unavailable ?? new AuthorizationError({
|
|
192
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
193
|
+
message: `Registered subname state is unavailable for ${route.name}`
|
|
194
|
+
});
|
|
195
|
+
const childState = route.childState;
|
|
196
|
+
return {
|
|
197
|
+
to: route.subregistry,
|
|
198
|
+
data: yield* encoded("setSubnameExpiry", () => encodeFunctionData({
|
|
199
|
+
abi: permissionedRegistryV2InterfaceRenewAbi,
|
|
200
|
+
functionName: "renew",
|
|
201
|
+
args: [childState.tokenId, parameters.expiry]
|
|
202
|
+
})),
|
|
203
|
+
value: 0n,
|
|
204
|
+
protocol: "v2"
|
|
205
|
+
};
|
|
206
|
+
});
|
|
207
|
+
const deleteSubname = makeSingleWriteAction("deleteSubname", deletePreparer);
|
|
208
|
+
const setSubnameManager = makeSingleWriteAction("setSubnameManager", managerPreparer);
|
|
209
|
+
const setSubnameResolver = makeSingleWriteAction("setSubnameResolver", resolverPreparer);
|
|
210
|
+
const setSubnameExpiry = makeSingleWriteAction("setSubnameExpiry", expiryPreparer);
|
|
211
|
+
|
|
212
|
+
//#endregion
|
|
213
|
+
export { deleteSubname, setSubnameExpiry, setSubnameManager, setSubnameResolver };
|
|
214
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","names":[],"sources":["../../../src/actions/subnames/mutation.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n ensRegistryV1SetResolverAbi,\n ensRegistryV1SetSubnodeOwnerAbi,\n nameWrapperV1ExtendExpiryAbi,\n nameWrapperV1SetResolverAbi,\n nameWrapperV1SetSubnodeOwnerAbi,\n} from \"@ensforge/contracts/v1\";\nimport {\n permissionedRegistryV2InterfaceRenewAbi,\n permissionedRegistryV2InterfaceSafeTransferFromAbi,\n permissionedRegistryV2InterfaceSetResolverAbi,\n permissionedRegistryV2InterfaceUnregisterAbi,\n} from \"@ensforge/contracts/v2\";\nimport { encodeFunctionData, zeroAddress } from \"viem\";\n\nimport type { EnsWriteIntentPreparer } from \"../../action/write-intent.js\";\nimport { AuthorizationError } from \"../../errors/authorization-error.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { makeSingleWriteAction } from \"../../internal/write/single-write-action.js\";\nimport type { WriteError } from \"../../write/types.js\";\nimport { decodeOwnershipAddress } from \"../ownership/address.js\";\nimport { resolveSubnameRoute } from \"./route.js\";\nimport type { V2SubnameRoute } from \"./route.js\";\nimport type {\n SetSubnameExpiryParameters,\n SetSubnameManagerParameters,\n SetSubnameResolverParameters,\n SubnameParameters,\n} from \"./types.js\";\n\nconst encoded = (operation: string, thunk: () => `0x${string}`) =>\n Effect.try({\n try: thunk,\n catch: (cause) =>\n new ContractError({\n code: \"ENCODE_FAILED\",\n message: `Unable to encode ${operation}`,\n cause,\n }),\n });\n\nconst requireV2Child = (route: V2SubnameRoute) => {\n if (route.subregistry === null || route.childState === null || route.childState.status !== 2) {\n return new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registered subname state is unavailable for ${route.name}`,\n });\n }\n return null;\n};\n\nconst deletePreparer: EnsWriteIntentPreparer<SubnameParameters, WriteError> = Effect.fn(\n \"ensforge.deleteSubname.prepare\",\n)(function* (config, parameters) {\n const route = yield* resolveSubnameRoute(config, parameters.name);\n if (route.protocol === \"v1\") {\n const data = yield* encoded(\"deleteSubname\", () =>\n route.parentWrapped\n ? encodeFunctionData({\n abi: nameWrapperV1SetSubnodeOwnerAbi,\n functionName: \"setSubnodeOwner\",\n args: [route.parentNode, route.label, zeroAddress, 0, route.childExpiry],\n })\n : encodeFunctionData({\n abi: ensRegistryV1SetSubnodeOwnerAbi,\n functionName: \"setSubnodeOwner\",\n args: [route.parentNode, route.labelhash, zeroAddress],\n }),\n );\n return {\n to: route.parentWrapped\n ? route.deployment.contracts.nameWrapper\n : route.deployment.contracts.registry,\n data,\n value: 0n,\n protocol: \"v1\" as const,\n };\n }\n const unavailable = requireV2Child(route);\n if (unavailable !== null || route.subregistry === null || route.childState === null) {\n return yield* (\n unavailable ??\n new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registered subname state is unavailable for ${route.name}`,\n })\n );\n }\n const childState = route.childState;\n const subregistry = route.subregistry;\n const data = yield* encoded(\"deleteSubname\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceUnregisterAbi,\n functionName: \"unregister\",\n args: [childState.tokenId],\n }),\n );\n return { to: subregistry, data, value: 0n, protocol: \"v2\" as const };\n});\n\nconst managerPreparer: EnsWriteIntentPreparer<SetSubnameManagerParameters, WriteError> = Effect.fn(\n \"ensforge.setSubnameManager.prepare\",\n)(function* (config, parameters) {\n const route = yield* resolveSubnameRoute(config, parameters.name);\n const manager = yield* decodeOwnershipAddress(parameters.manager, \"subname manager\");\n if (route.protocol === \"v1\") {\n const data = yield* encoded(\"setSubnameManager\", () =>\n route.parentWrapped\n ? encodeFunctionData({\n abi: nameWrapperV1SetSubnodeOwnerAbi,\n functionName: \"setSubnodeOwner\",\n args: [route.parentNode, route.label, manager, 0, route.childExpiry],\n })\n : encodeFunctionData({\n abi: ensRegistryV1SetSubnodeOwnerAbi,\n functionName: \"setSubnodeOwner\",\n args: [route.parentNode, route.labelhash, manager],\n }),\n );\n return {\n to: route.parentWrapped\n ? route.deployment.contracts.nameWrapper\n : route.deployment.contracts.registry,\n data,\n value: 0n,\n protocol: \"v1\" as const,\n };\n }\n const unavailable = requireV2Child(route);\n if (unavailable !== null || route.subregistry === null || route.childState === null) {\n return yield* (\n unavailable ??\n new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registered subname state is unavailable for ${route.name}`,\n })\n );\n }\n const childState = route.childState;\n const subregistry = route.subregistry;\n const data = yield* encoded(\"setSubnameManager\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceSafeTransferFromAbi,\n functionName: \"safeTransferFrom\",\n args: [childState.latestOwner, manager, childState.tokenId, 1n, \"0x\"],\n }),\n );\n return { to: subregistry, data, value: 0n, protocol: \"v2\" as const };\n});\n\nconst resolverPreparer: EnsWriteIntentPreparer<SetSubnameResolverParameters, WriteError> =\n Effect.fn(\"ensforge.setSubnameResolver.prepare\")(function* (config, parameters) {\n const route = yield* resolveSubnameRoute(config, parameters.name);\n const resolver = yield* decodeOwnershipAddress(parameters.resolver, \"subname resolver\");\n if (route.protocol === \"v1\") {\n const data = yield* encoded(\"setSubnameResolver\", () =>\n route.childWrapped\n ? encodeFunctionData({\n abi: nameWrapperV1SetResolverAbi,\n functionName: \"setResolver\",\n args: [route.node, resolver],\n })\n : encodeFunctionData({\n abi: ensRegistryV1SetResolverAbi,\n functionName: \"setResolver\",\n args: [route.node, resolver],\n }),\n );\n return {\n to: route.childWrapped\n ? route.deployment.contracts.nameWrapper\n : route.deployment.contracts.registry,\n data,\n value: 0n,\n protocol: \"v1\" as const,\n };\n }\n const unavailable = requireV2Child(route);\n if (unavailable !== null || route.subregistry === null || route.childState === null) {\n return yield* (\n unavailable ??\n new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registered subname state is unavailable for ${route.name}`,\n })\n );\n }\n const childState = route.childState;\n const subregistry = route.subregistry;\n const data = yield* encoded(\"setSubnameResolver\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceSetResolverAbi,\n functionName: \"setResolver\",\n args: [childState.tokenId, resolver],\n }),\n );\n return { to: subregistry, data, value: 0n, protocol: \"v2\" as const };\n });\n\nconst expiryPreparer: EnsWriteIntentPreparer<SetSubnameExpiryParameters, WriteError> = Effect.fn(\n \"ensforge.setSubnameExpiry.prepare\",\n)(function* (config, parameters) {\n const route = yield* resolveSubnameRoute(config, parameters.name);\n if (parameters.expiry > route.parentExpiry && route.parentExpiry !== 0n) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Subname expiry cannot exceed the parent expiry for ${route.name}`,\n });\n }\n if (route.protocol === \"v1\") {\n if (!route.childWrapped) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Expiry is unavailable for unwrapped V1 subname ${route.name}`,\n });\n }\n const data = yield* encoded(\"setSubnameExpiry\", () =>\n encodeFunctionData({\n abi: nameWrapperV1ExtendExpiryAbi,\n functionName: \"extendExpiry\",\n args: [route.parentNode, route.labelhash, parameters.expiry],\n }),\n );\n return {\n to: route.deployment.contracts.nameWrapper,\n data,\n value: 0n,\n protocol: \"v1\" as const,\n };\n }\n const unavailable = requireV2Child(route);\n if (unavailable !== null || route.subregistry === null || route.childState === null) {\n return yield* (\n unavailable ??\n new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registered subname state is unavailable for ${route.name}`,\n })\n );\n }\n const childState = route.childState;\n const subregistry = route.subregistry;\n const data = yield* encoded(\"setSubnameExpiry\", () =>\n encodeFunctionData({\n abi: permissionedRegistryV2InterfaceRenewAbi,\n functionName: \"renew\",\n args: [childState.tokenId, parameters.expiry],\n }),\n );\n return { to: subregistry, data, value: 0n, protocol: \"v2\" as const };\n});\n\nexport const deleteSubname = makeSingleWriteAction(\"deleteSubname\", deletePreparer);\nexport const setSubnameManager = makeSingleWriteAction(\"setSubnameManager\", managerPreparer);\nexport const setSubnameResolver = makeSingleWriteAction(\"setSubnameResolver\", resolverPreparer);\nexport const setSubnameExpiry = makeSingleWriteAction(\"setSubnameExpiry\", expiryPreparer);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { executeRead } from "../../internal/read/execute-read.js";
|
|
2
|
+
import { NameError } from "../../errors/name-error.js";
|
|
3
|
+
import { normalizeName } from "../../names/normalize.js";
|
|
4
|
+
import { EthereumClient } from "../../internal/client/ethereum-client.js";
|
|
5
|
+
import { labelhash, namehash } from "../../names/hashes.js";
|
|
6
|
+
import { analyzeName } from "../../names/analyze.js";
|
|
7
|
+
import { readNameRoute } from "../../internal/name/name-route.js";
|
|
8
|
+
import { Effect } from "effect";
|
|
9
|
+
import { zeroAddress } from "viem";
|
|
10
|
+
import { nameWrapperV1GetDataAbi, nameWrapperV1IsWrappedAbi } from "@ensforge/contracts/v1";
|
|
11
|
+
import { permissionedRegistryV2InterfaceGetStateAbi, permissionedRegistryV2InterfaceGetSubregistryAbi } from "@ensforge/contracts/v2";
|
|
12
|
+
|
|
13
|
+
//#region src/actions/subnames/route.ts
|
|
14
|
+
const resolveSubnameRoute = Effect.fn("ensforge.resolveSubnameRoute")(function* (config, input) {
|
|
15
|
+
const name = yield* normalizeName.effect(input);
|
|
16
|
+
const analysis = analyzeName(name);
|
|
17
|
+
if (analysis.kind !== "subname" || analysis.parent === void 0 || analysis.label === void 0) return yield* new NameError({
|
|
18
|
+
code: "INVALID_NAME",
|
|
19
|
+
message: `${name} is not a subname`
|
|
20
|
+
});
|
|
21
|
+
const parent = analysis.parent;
|
|
22
|
+
const label = analysis.label;
|
|
23
|
+
return yield* executeRead(config, {}, Effect.gen(function* () {
|
|
24
|
+
const ethereum = yield* EthereumClient;
|
|
25
|
+
const parentRoute = yield* readNameRoute(parent);
|
|
26
|
+
const shared = {
|
|
27
|
+
name,
|
|
28
|
+
parent,
|
|
29
|
+
label,
|
|
30
|
+
node: namehash(name),
|
|
31
|
+
parentNode: namehash(parent),
|
|
32
|
+
labelhash: labelhash(label)
|
|
33
|
+
};
|
|
34
|
+
if (parentRoute.kind === "v1" || parentRoute.kind === "reserved") {
|
|
35
|
+
const deployment = parentRoute.kind === "reserved" ? parentRoute.v1 : parentRoute.deployment;
|
|
36
|
+
const [parentWrapped, childWrapped, parentData, childData] = yield* Effect.all([
|
|
37
|
+
ethereum.readContract({
|
|
38
|
+
address: deployment.contracts.nameWrapper,
|
|
39
|
+
abi: nameWrapperV1IsWrappedAbi,
|
|
40
|
+
functionName: "isWrapped",
|
|
41
|
+
args: [shared.parentNode]
|
|
42
|
+
}),
|
|
43
|
+
ethereum.readContract({
|
|
44
|
+
address: deployment.contracts.nameWrapper,
|
|
45
|
+
abi: nameWrapperV1IsWrappedAbi,
|
|
46
|
+
functionName: "isWrapped",
|
|
47
|
+
args: [shared.node]
|
|
48
|
+
}),
|
|
49
|
+
ethereum.readContract({
|
|
50
|
+
address: deployment.contracts.nameWrapper,
|
|
51
|
+
abi: nameWrapperV1GetDataAbi,
|
|
52
|
+
functionName: "getData",
|
|
53
|
+
args: [BigInt(shared.parentNode)]
|
|
54
|
+
}),
|
|
55
|
+
ethereum.readContract({
|
|
56
|
+
address: deployment.contracts.nameWrapper,
|
|
57
|
+
abi: nameWrapperV1GetDataAbi,
|
|
58
|
+
functionName: "getData",
|
|
59
|
+
args: [BigInt(shared.node)]
|
|
60
|
+
})
|
|
61
|
+
], { concurrency: "unbounded" });
|
|
62
|
+
return {
|
|
63
|
+
...shared,
|
|
64
|
+
protocol: "v1",
|
|
65
|
+
deployment,
|
|
66
|
+
parentWrapped,
|
|
67
|
+
parentExpiry: parentData[2],
|
|
68
|
+
childWrapped,
|
|
69
|
+
childFuses: childData[1],
|
|
70
|
+
childExpiry: childData[2]
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (parentRoute.kind === "available") return yield* new NameError({
|
|
74
|
+
code: "INVALID_NAME",
|
|
75
|
+
message: `Parent ${parent} is not registered`
|
|
76
|
+
});
|
|
77
|
+
const subregistryAddress = yield* ethereum.readContract({
|
|
78
|
+
address: parentRoute.parentRegistry,
|
|
79
|
+
abi: permissionedRegistryV2InterfaceGetSubregistryAbi,
|
|
80
|
+
functionName: "getSubregistry",
|
|
81
|
+
args: [parentRoute.label]
|
|
82
|
+
});
|
|
83
|
+
const subregistry = subregistryAddress === zeroAddress ? null : subregistryAddress;
|
|
84
|
+
const childState = subregistry === null ? null : yield* ethereum.readContract({
|
|
85
|
+
address: subregistry,
|
|
86
|
+
abi: permissionedRegistryV2InterfaceGetStateAbi,
|
|
87
|
+
functionName: "getState",
|
|
88
|
+
args: [BigInt(shared.labelhash)]
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
...shared,
|
|
92
|
+
protocol: "v2",
|
|
93
|
+
deployment: parentRoute.deployment,
|
|
94
|
+
parentRegistry: parentRoute.parentRegistry,
|
|
95
|
+
parentTokenId: parentRoute.state.tokenId,
|
|
96
|
+
parentExpiry: parentRoute.state.expiry,
|
|
97
|
+
subregistry,
|
|
98
|
+
childState
|
|
99
|
+
};
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { resolveSubnameRoute };
|
|
105
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","names":[],"sources":["../../../src/actions/subnames/route.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { EnsV1Deployment, EnsV2Deployment } from \"@ensforge/contracts/deployments\";\nimport { nameWrapperV1GetDataAbi, nameWrapperV1IsWrappedAbi } from \"@ensforge/contracts/v1\";\nimport {\n permissionedRegistryV2InterfaceGetStateAbi,\n permissionedRegistryV2InterfaceGetSubregistryAbi,\n} from \"@ensforge/contracts/v2\";\nimport { zeroAddress } from \"viem\";\n\nimport type { EnsforgeConfig } from \"../../config/config.js\";\nimport { NameError } from \"../../errors/name-error.js\";\nimport { EthereumClient } from \"../../internal/client/ethereum-client.js\";\nimport { readNameRoute } from \"../../internal/name/name-route.js\";\nimport { executeRead } from \"../../internal/read/execute-read.js\";\nimport { analyzeName } from \"../../names/analyze.js\";\nimport { labelhash, namehash } from \"../../names/hashes.js\";\nimport { normalizeName } from \"../../names/normalize.js\";\nimport type { EthereumAddress } from \"../../schemas/identity.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\nimport type { WriteError } from \"../../write/types.js\";\n\ninterface SharedRoute {\n readonly name: NormalizedName;\n readonly parent: NormalizedName;\n readonly label: string;\n readonly node: `0x${string}`;\n readonly parentNode: `0x${string}`;\n readonly labelhash: `0x${string}`;\n}\n\nexport interface V1SubnameRoute extends SharedRoute {\n readonly protocol: \"v1\";\n readonly deployment: EnsV1Deployment;\n readonly parentWrapped: boolean;\n readonly parentExpiry: bigint;\n readonly childWrapped: boolean;\n readonly childFuses: number;\n readonly childExpiry: bigint;\n}\n\nexport interface V2SubnameRoute extends SharedRoute {\n readonly protocol: \"v2\";\n readonly deployment: EnsV2Deployment;\n readonly parentRegistry: EthereumAddress;\n readonly parentTokenId: bigint;\n readonly parentExpiry: bigint;\n readonly subregistry: EthereumAddress | null;\n readonly childState: {\n readonly status: number;\n readonly expiry: bigint;\n readonly latestOwner: EthereumAddress;\n readonly tokenId: bigint;\n readonly resource: bigint;\n } | null;\n}\n\nexport type SubnameRoute = V1SubnameRoute | V2SubnameRoute;\n\nexport const resolveSubnameRoute = Effect.fn(\"ensforge.resolveSubnameRoute\")(function* (\n config: EnsforgeConfig,\n input: string,\n): Effect.fn.Return<SubnameRoute, WriteError> {\n const name = yield* normalizeName.effect(input);\n const analysis = analyzeName(name);\n if (\n analysis.kind !== \"subname\" ||\n analysis.parent === undefined ||\n analysis.label === undefined\n ) {\n return yield* new NameError({\n code: \"INVALID_NAME\",\n message: `${name} is not a subname`,\n });\n }\n const parent = analysis.parent;\n const label = analysis.label;\n return yield* executeRead(\n config,\n {},\n Effect.gen(function* () {\n const ethereum = yield* EthereumClient;\n const parentRoute = yield* readNameRoute(parent);\n const shared = {\n name,\n parent,\n label,\n node: namehash(name),\n parentNode: namehash(parent),\n labelhash: labelhash(label),\n } as const;\n if (parentRoute.kind === \"v1\" || parentRoute.kind === \"reserved\") {\n const deployment =\n parentRoute.kind === \"reserved\" ? parentRoute.v1 : parentRoute.deployment;\n const [parentWrapped, childWrapped, parentData, childData] = yield* Effect.all(\n [\n ethereum.readContract({\n address: deployment.contracts.nameWrapper,\n abi: nameWrapperV1IsWrappedAbi,\n functionName: \"isWrapped\",\n args: [shared.parentNode],\n }),\n ethereum.readContract({\n address: deployment.contracts.nameWrapper,\n abi: nameWrapperV1IsWrappedAbi,\n functionName: \"isWrapped\",\n args: [shared.node],\n }),\n ethereum.readContract({\n address: deployment.contracts.nameWrapper,\n abi: nameWrapperV1GetDataAbi,\n functionName: \"getData\",\n args: [BigInt(shared.parentNode)],\n }),\n ethereum.readContract({\n address: deployment.contracts.nameWrapper,\n abi: nameWrapperV1GetDataAbi,\n functionName: \"getData\",\n args: [BigInt(shared.node)],\n }),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n return {\n ...shared,\n protocol: \"v1\",\n deployment,\n parentWrapped,\n parentExpiry: parentData[2],\n childWrapped,\n childFuses: childData[1],\n childExpiry: childData[2],\n } as const;\n }\n if (parentRoute.kind === \"available\") {\n return yield* new NameError({\n code: \"INVALID_NAME\",\n message: `Parent ${parent} is not registered`,\n });\n }\n const subregistryAddress = yield* ethereum.readContract({\n address: parentRoute.parentRegistry,\n abi: permissionedRegistryV2InterfaceGetSubregistryAbi,\n functionName: \"getSubregistry\",\n args: [parentRoute.label],\n });\n const subregistry = subregistryAddress === zeroAddress ? null : subregistryAddress;\n const childState =\n subregistry === null\n ? null\n : yield* ethereum.readContract({\n address: subregistry,\n abi: permissionedRegistryV2InterfaceGetStateAbi,\n functionName: \"getState\",\n args: [BigInt(shared.labelhash)],\n });\n return {\n ...shared,\n protocol: \"v2\",\n deployment: parentRoute.deployment,\n parentRegistry: parentRoute.parentRegistry,\n parentTokenId: parentRoute.state.tokenId,\n parentExpiry: parentRoute.state.expiry,\n subregistry,\n childState,\n } as const;\n }),\n );\n});\n"],"mappings":";;;;;;;;;;;;;AA2DA,MAAa,sBAAsB,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAC3E,QACA,OAC4C;CAC5C,MAAM,OAAO,OAAO,cAAc,OAAO,KAAK;CAC9C,MAAM,WAAW,YAAY,IAAI;CACjC,IACE,SAAS,SAAS,aAClB,SAAS,WAAW,UACpB,SAAS,UAAU,QAEnB,OAAO,OAAO,IAAI,UAAU;EAC1B,MAAM;EACN,SAAS,GAAG,KAAK;CACnB,CAAC;CAEH,MAAM,SAAS,SAAS;CACxB,MAAM,QAAQ,SAAS;CACvB,OAAO,OAAO,YACZ,QACA,CAAC,GACD,OAAO,IAAI,aAAa;EACtB,MAAM,WAAW,OAAO;EACxB,MAAM,cAAc,OAAO,cAAc,MAAM;EAC/C,MAAM,SAAS;GACb;GACA;GACA;GACA,MAAM,SAAS,IAAI;GACnB,YAAY,SAAS,MAAM;GAC3B,WAAW,UAAU,KAAK;EAC5B;EACA,IAAI,YAAY,SAAS,QAAQ,YAAY,SAAS,YAAY;GAChE,MAAM,aACJ,YAAY,SAAS,aAAa,YAAY,KAAK,YAAY;GACjE,MAAM,CAAC,eAAe,cAAc,YAAY,aAAa,OAAO,OAAO,IACzE;IACE,SAAS,aAAa;KACpB,SAAS,WAAW,UAAU;KAC9B,KAAK;KACL,cAAc;KACd,MAAM,CAAC,OAAO,UAAU;IAC1B,CAAC;IACD,SAAS,aAAa;KACpB,SAAS,WAAW,UAAU;KAC9B,KAAK;KACL,cAAc;KACd,MAAM,CAAC,OAAO,IAAI;IACpB,CAAC;IACD,SAAS,aAAa;KACpB,SAAS,WAAW,UAAU;KAC9B,KAAK;KACL,cAAc;KACd,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC;IAClC,CAAC;IACD,SAAS,aAAa;KACpB,SAAS,WAAW,UAAU;KAC9B,KAAK;KACL,cAAc;KACd,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC;IAC5B,CAAC;GACH,GACA,EAAE,aAAa,YAAY,CAC7B;GACA,OAAO;IACL,GAAG;IACH,UAAU;IACV;IACA;IACA,cAAc,WAAW;IACzB;IACA,YAAY,UAAU;IACtB,aAAa,UAAU;GACzB;EACF;EACA,IAAI,YAAY,SAAS,aACvB,OAAO,OAAO,IAAI,UAAU;GAC1B,MAAM;GACN,SAAS,UAAU,OAAO;EAC5B,CAAC;EAEH,MAAM,qBAAqB,OAAO,SAAS,aAAa;GACtD,SAAS,YAAY;GACrB,KAAK;GACL,cAAc;GACd,MAAM,CAAC,YAAY,KAAK;EAC1B,CAAC;EACD,MAAM,cAAc,uBAAuB,cAAc,OAAO;EAChE,MAAM,aACJ,gBAAgB,OACZ,OACA,OAAO,SAAS,aAAa;GAC3B,SAAS;GACT,KAAK;GACL,cAAc;GACd,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC;EACjC,CAAC;EACP,OAAO;GACL,GAAG;GACH,UAAU;GACV,YAAY,YAAY;GACxB,gBAAgB,YAAY;GAC5B,eAAe,YAAY,MAAM;GACjC,cAAc,YAAY,MAAM;GAChC;GACA;EACF;CACF,CAAC,CACH;AACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EnsAction } from "../../../action/action.js";
|
|
2
|
+
import { WriteError } from "../../../write/types.js";
|
|
3
|
+
import { SetSubnameRecordParameters, SetSubnameRecordResult, SubnameError } from "../types.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
//#region src/actions/subnames/set-subname-record/index.d.ts
|
|
6
|
+
declare const setSubnameRecord: EnsAction<SetSubnameRecordParameters, SetSubnameRecordResult, WriteError>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { type SubnameError as SetSubnameRecordError, type SetSubnameRecordParameters, type SetSubnameRecordResult, setSubnameRecord };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/subnames/set-subname-record/index.ts"],"mappings":";;;;;cAkGa,kBAAgB,UAAA,4BAAA,wBAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { defineAction } from "../../../action/action.js";
|
|
2
|
+
import { decodeOwnershipAddress } from "../../ownership/address.js";
|
|
3
|
+
import { getNameState } from "../../name/get-name-state/index.js";
|
|
4
|
+
import { setResolverAndRecords } from "../../resolution/set-resolver-and-records/index.js";
|
|
5
|
+
import { resolveSubnameRoute } from "../route.js";
|
|
6
|
+
import { createSubname } from "../create-subname/index.js";
|
|
7
|
+
import { setSubnameExpiry, setSubnameManager, setSubnameResolver } from "../mutation.js";
|
|
8
|
+
import { Effect } from "effect";
|
|
9
|
+
import { isAddressEqual } from "viem";
|
|
10
|
+
|
|
11
|
+
//#region src/actions/subnames/set-subname-record/index.ts
|
|
12
|
+
const setSubnameRecordEffect = Effect.fn("ensforge.setSubnameRecord")(function* (config, parameters) {
|
|
13
|
+
const route = yield* resolveSubnameRoute(config, parameters.name);
|
|
14
|
+
const owner = yield* decodeOwnershipAddress(parameters.owner, "subname owner");
|
|
15
|
+
const resolver = parameters.resolver === void 0 ? null : yield* decodeOwnershipAddress(parameters.resolver, "subname resolver");
|
|
16
|
+
const initial = yield* getNameState.effect(config, { name: route.name });
|
|
17
|
+
const created = initial.available;
|
|
18
|
+
const create = created ? yield* createSubname.effect(config, {
|
|
19
|
+
name: route.name,
|
|
20
|
+
owner: parameters.owner,
|
|
21
|
+
...parameters.resolver === void 0 ? {} : { resolver: parameters.resolver },
|
|
22
|
+
...parameters.ttl === void 0 ? {} : { ttl: parameters.ttl },
|
|
23
|
+
...parameters.expiry === void 0 ? {} : { expiry: parameters.expiry },
|
|
24
|
+
...parameters.fuses === void 0 ? {} : { fuses: parameters.fuses },
|
|
25
|
+
...parameters.roles === void 0 ? {} : { roles: parameters.roles },
|
|
26
|
+
...parameters.salt === void 0 ? {} : { salt: parameters.salt },
|
|
27
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
28
|
+
...parameters.account === void 0 ? {} : { account: parameters.account },
|
|
29
|
+
...parameters.mode === void 0 ? {} : { mode: parameters.mode },
|
|
30
|
+
...parameters.confirmation === void 0 ? {} : { confirmation: parameters.confirmation },
|
|
31
|
+
...parameters.resume === void 0 ? {} : { resume: parameters.resume }
|
|
32
|
+
}) : null;
|
|
33
|
+
const mutations = [];
|
|
34
|
+
if (!created && parameters.expiry !== void 0 && parameters.expiry !== initial.expiry) mutations.push(yield* setSubnameExpiry.effect(config, {
|
|
35
|
+
name: route.name,
|
|
36
|
+
expiry: parameters.expiry
|
|
37
|
+
}));
|
|
38
|
+
const records = parameters.records ?? [];
|
|
39
|
+
const resolverWrite = records.length > 0 ? yield* setResolverAndRecords.effect(config, {
|
|
40
|
+
name: route.name,
|
|
41
|
+
records,
|
|
42
|
+
...parameters.resolver === void 0 ? {} : { resolver: parameters.resolver },
|
|
43
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
44
|
+
...parameters.account === void 0 ? {} : { account: parameters.account },
|
|
45
|
+
...parameters.confirmation === void 0 ? {} : { confirmation: parameters.confirmation }
|
|
46
|
+
}) : null;
|
|
47
|
+
if (!created && records.length === 0 && parameters.resolver !== void 0 && (initial.resolver === null || resolver === null || !isAddressEqual(initial.resolver, resolver))) mutations.push(yield* setSubnameResolver.effect(config, {
|
|
48
|
+
name: route.name,
|
|
49
|
+
resolver: parameters.resolver
|
|
50
|
+
}));
|
|
51
|
+
if (!created && (initial.manager === null || !isAddressEqual(initial.manager, owner))) mutations.push(yield* setSubnameManager.effect(config, {
|
|
52
|
+
name: route.name,
|
|
53
|
+
manager: parameters.owner
|
|
54
|
+
}));
|
|
55
|
+
const finalState = yield* getNameState.effect(config, { name: route.name });
|
|
56
|
+
return {
|
|
57
|
+
name: route.name,
|
|
58
|
+
protocol: route.protocol,
|
|
59
|
+
created,
|
|
60
|
+
registry: finalState.registry,
|
|
61
|
+
resolver: finalState.resolver,
|
|
62
|
+
resolverWrite,
|
|
63
|
+
create,
|
|
64
|
+
mutations,
|
|
65
|
+
finalState
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
const setSubnameRecord = defineAction(setSubnameRecordEffect);
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
export { setSubnameRecord };
|
|
72
|
+
//# sourceMappingURL=index.js.map
|