@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,63 @@
|
|
|
1
|
+
import { executeRead } from "../../internal/read/execute-read.js";
|
|
2
|
+
import { normalizeName } from "../../names/normalize.js";
|
|
3
|
+
import { EthereumClient } from "../../internal/client/ethereum-client.js";
|
|
4
|
+
import { namehash } from "../../names/hashes.js";
|
|
5
|
+
import { analyzeName } from "../../names/analyze.js";
|
|
6
|
+
import { readNameRoute } from "../../internal/name/name-route.js";
|
|
7
|
+
import { AuthorizationError } from "../../errors/authorization-error.js";
|
|
8
|
+
import { Effect } from "effect";
|
|
9
|
+
import { isAddressEqual, zeroAddress } from "viem";
|
|
10
|
+
import { nameWrapperV1GetDataAbi } from "@ensforge/contracts/v1";
|
|
11
|
+
|
|
12
|
+
//#region src/actions/wrapping/route.ts
|
|
13
|
+
const resolveWrapperRoute = Effect.fn("ensforge.resolveWrapperRoute")(function* (config, inputName, block = {}) {
|
|
14
|
+
const name = yield* normalizeName.effect(inputName);
|
|
15
|
+
return yield* executeRead(config, block, Effect.gen(function* () {
|
|
16
|
+
const route = yield* readNameRoute(name);
|
|
17
|
+
if (route.kind !== "v1" && route.kind !== "reserved") return {
|
|
18
|
+
supported: false,
|
|
19
|
+
protocol: "v2",
|
|
20
|
+
name
|
|
21
|
+
};
|
|
22
|
+
const deployment = route.kind === "reserved" ? route.v1 : route.deployment;
|
|
23
|
+
const node = namehash(name);
|
|
24
|
+
const [owner, fuses, expiry] = yield* (yield* EthereumClient).readContract({
|
|
25
|
+
address: deployment.contracts.nameWrapper,
|
|
26
|
+
abi: nameWrapperV1GetDataAbi,
|
|
27
|
+
functionName: "getData",
|
|
28
|
+
args: [BigInt(node)]
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
supported: true,
|
|
32
|
+
protocol: "v1",
|
|
33
|
+
name,
|
|
34
|
+
analysis: analyzeName(name),
|
|
35
|
+
deployment,
|
|
36
|
+
node,
|
|
37
|
+
wrapped: !isAddressEqual(owner, zeroAddress),
|
|
38
|
+
owner: isAddressEqual(owner, zeroAddress) ? null : owner,
|
|
39
|
+
fuses,
|
|
40
|
+
expiry
|
|
41
|
+
};
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
const requireV1WrapperRoute = Effect.fn("ensforge.requireV1WrapperRoute")(function* (config, name) {
|
|
45
|
+
const route = yield* resolveWrapperRoute(config, name);
|
|
46
|
+
if (!route.supported) return yield* new AuthorizationError({
|
|
47
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
48
|
+
message: `ENSv1 Name Wrapper operations are unavailable for ${route.name}`
|
|
49
|
+
});
|
|
50
|
+
return route;
|
|
51
|
+
});
|
|
52
|
+
const requireWrappedRoute = Effect.fn("ensforge.requireWrappedRoute")(function* (config, name) {
|
|
53
|
+
const route = yield* requireV1WrapperRoute(config, name);
|
|
54
|
+
if (!route.wrapped) return yield* new AuthorizationError({
|
|
55
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
56
|
+
message: `${route.name} is not wrapped`
|
|
57
|
+
});
|
|
58
|
+
return route;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { requireV1WrapperRoute, requireWrappedRoute, resolveWrapperRoute };
|
|
63
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","names":[],"sources":["../../../src/actions/wrapping/route.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { EnsV1Deployment } from \"@ensforge/contracts/deployments\";\nimport { nameWrapperV1GetDataAbi } from \"@ensforge/contracts/v1\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\n\nimport type { BlockParameters } from \"../../action/block.js\";\nimport type { EnsforgeConfig } from \"../../config/config.js\";\nimport { AuthorizationError } from \"../../errors/authorization-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, type NameAnalysis } from \"../../names/analyze.js\";\nimport { namehash } from \"../../names/hashes.js\";\nimport { normalizeName } from \"../../names/normalize.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\n\nexport interface V1WrapperRoute {\n readonly supported: true;\n readonly protocol: \"v1\";\n readonly name: NormalizedName;\n readonly analysis: NameAnalysis;\n readonly deployment: EnsV1Deployment;\n readonly node: `0x${string}`;\n readonly wrapped: boolean;\n readonly owner: `0x${string}` | null;\n readonly fuses: number;\n readonly expiry: bigint;\n}\n\nexport interface V2WrapperRoute {\n readonly supported: false;\n readonly protocol: \"v2\";\n readonly name: NormalizedName;\n}\n\nexport type WrapperRoute = V1WrapperRoute | V2WrapperRoute;\n\nexport const resolveWrapperRoute = Effect.fn(\"ensforge.resolveWrapperRoute\")(function* (\n config: EnsforgeConfig,\n inputName: string,\n block: BlockParameters = {},\n) {\n const name = yield* normalizeName.effect(inputName);\n return yield* executeRead(\n config,\n block,\n Effect.gen(function* () {\n const route = yield* readNameRoute(name);\n if (route.kind !== \"v1\" && route.kind !== \"reserved\") {\n return { supported: false, protocol: \"v2\", name } as const;\n }\n const deployment = route.kind === \"reserved\" ? route.v1 : route.deployment;\n const node = namehash(name);\n const ethereum = yield* EthereumClient;\n const [owner, fuses, expiry] = yield* ethereum.readContract({\n address: deployment.contracts.nameWrapper,\n abi: nameWrapperV1GetDataAbi,\n functionName: \"getData\",\n args: [BigInt(node)],\n });\n return {\n supported: true,\n protocol: \"v1\",\n name,\n analysis: analyzeName(name),\n deployment,\n node,\n wrapped: !isAddressEqual(owner, zeroAddress),\n owner: isAddressEqual(owner, zeroAddress) ? null : owner,\n fuses,\n expiry,\n } as const;\n }),\n );\n});\n\nexport const requireV1WrapperRoute = Effect.fn(\"ensforge.requireV1WrapperRoute\")(function* (\n config: EnsforgeConfig,\n name: string,\n) {\n const route = yield* resolveWrapperRoute(config, name);\n if (!route.supported) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `ENSv1 Name Wrapper operations are unavailable for ${route.name}`,\n });\n }\n return route;\n});\n\nexport const requireWrappedRoute = Effect.fn(\"ensforge.requireWrappedRoute\")(function* (\n config: EnsforgeConfig,\n name: string,\n) {\n const route = yield* requireV1WrapperRoute(config, name);\n if (!route.wrapped) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `${route.name} is not wrapped`,\n });\n }\n return route;\n});\n"],"mappings":";;;;;;;;;;;;AAsCA,MAAa,sBAAsB,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAC3E,QACA,WACA,QAAyB,CAAC,GAC1B;CACA,MAAM,OAAO,OAAO,cAAc,OAAO,SAAS;CAClD,OAAO,OAAO,YACZ,QACA,OACA,OAAO,IAAI,aAAa;EACtB,MAAM,QAAQ,OAAO,cAAc,IAAI;EACvC,IAAI,MAAM,SAAS,QAAQ,MAAM,SAAS,YACxC,OAAO;GAAE,WAAW;GAAO,UAAU;GAAM;EAAK;EAElD,MAAM,aAAa,MAAM,SAAS,aAAa,MAAM,KAAK,MAAM;EAChE,MAAM,OAAO,SAAS,IAAI;EAE1B,MAAM,CAAC,OAAO,OAAO,UAAU,QAAO,OADd,eACsB,CAAC,aAAa;GAC1D,SAAS,WAAW,UAAU;GAC9B,KAAK;GACL,cAAc;GACd,MAAM,CAAC,OAAO,IAAI,CAAC;EACrB,CAAC;EACD,OAAO;GACL,WAAW;GACX,UAAU;GACV;GACA,UAAU,YAAY,IAAI;GAC1B;GACA;GACA,SAAS,CAAC,eAAe,OAAO,WAAW;GAC3C,OAAO,eAAe,OAAO,WAAW,IAAI,OAAO;GACnD;GACA;EACF;CACF,CAAC,CACH;AACF,CAAC;AAED,MAAa,wBAAwB,OAAO,GAAG,gCAAgC,CAAC,CAAC,WAC/E,QACA,MACA;CACA,MAAM,QAAQ,OAAO,oBAAoB,QAAQ,IAAI;CACrD,IAAI,CAAC,MAAM,WACT,OAAO,OAAO,IAAI,mBAAmB;EACnC,MAAM;EACN,SAAS,qDAAqD,MAAM;CACtE,CAAC;CAEH,OAAO;AACT,CAAC;AAED,MAAa,sBAAsB,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAC3E,QACA,MACA;CACA,MAAM,QAAQ,OAAO,sBAAsB,QAAQ,IAAI;CACvD,IAAI,CAAC,MAAM,SACT,OAAO,OAAO,IAAI,mBAAmB;EACnC,MAAM;EACN,SAAS,GAAG,MAAM,KAAK;CACzB,CAAC;CAEH,OAAO;AACT,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SetChildFusesParameters, WrapperWriteError, WrapperWriteIntent, WrapperWriteResult } from "../types.js";
|
|
2
|
+
import { setChildFuses } from "../mutation.js";
|
|
3
|
+
export { type WrapperWriteError as SetChildFusesError, type WrapperWriteIntent as SetChildFusesIntent, type SetChildFusesParameters, type WrapperWriteResult as SetChildFusesResult, setChildFuses };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SetFusesParameters, WrapperWriteError, WrapperWriteIntent, WrapperWriteResult } from "../types.js";
|
|
2
|
+
import { setFuses } from "../mutation.js";
|
|
3
|
+
export { type WrapperWriteError as SetFusesError, type WrapperWriteIntent as SetFusesIntent, type SetFusesParameters, type WrapperWriteResult as SetFusesResult, setFuses };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ConfirmationPolicy } from "../../config/write-options.js";
|
|
2
|
+
import { BlockParameters } from "../../action/block.js";
|
|
3
|
+
import { CallExecutionResult, WriteError, WriteMode, WritePlanProgress } from "../../write/types.js";
|
|
4
|
+
import { EnsWriteIntent } from "../../action/write-intent.js";
|
|
5
|
+
import { EthereumAddress } from "../../schemas/identity.js";
|
|
6
|
+
import { GetNameStateError, NameState } from "../name/get-name-state/types.js";
|
|
7
|
+
import { NameWrapperFuseName } from "./fuse-mask.js";
|
|
8
|
+
import { Account, Address, WalletClient } from "viem";
|
|
9
|
+
//#region src/actions/wrapping/types.d.ts
|
|
10
|
+
type WrapperReadParameters = {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
} & BlockParameters;
|
|
13
|
+
type WrapperUnsupportedReason = "FUSES_NOT_SUPPORTED" | "WRAPPER_EXPIRY_NOT_SUPPORTED";
|
|
14
|
+
type GetFusesResult = {
|
|
15
|
+
readonly protocol: "v1";
|
|
16
|
+
readonly supported: true;
|
|
17
|
+
readonly wrapped: boolean;
|
|
18
|
+
readonly value: number;
|
|
19
|
+
readonly active: ReadonlyArray<NameWrapperFuseName>;
|
|
20
|
+
readonly ownerControlled: number;
|
|
21
|
+
readonly parentControlled: number;
|
|
22
|
+
} | {
|
|
23
|
+
readonly protocol: "v2";
|
|
24
|
+
readonly supported: false;
|
|
25
|
+
readonly reason: "FUSES_NOT_SUPPORTED";
|
|
26
|
+
};
|
|
27
|
+
type GetWrapperExpiryResult = {
|
|
28
|
+
readonly protocol: "v1";
|
|
29
|
+
readonly supported: true;
|
|
30
|
+
readonly wrapped: boolean;
|
|
31
|
+
readonly expiry: bigint | null;
|
|
32
|
+
} | {
|
|
33
|
+
readonly protocol: "v2";
|
|
34
|
+
readonly supported: false;
|
|
35
|
+
readonly reason: "WRAPPER_EXPIRY_NOT_SUPPORTED";
|
|
36
|
+
};
|
|
37
|
+
interface WalletWriteParameters {
|
|
38
|
+
readonly walletClient?: WalletClient;
|
|
39
|
+
readonly account?: Account | Address;
|
|
40
|
+
}
|
|
41
|
+
interface WrapNameParameters extends WalletWriteParameters {
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly owner: string;
|
|
44
|
+
readonly resolver?: string;
|
|
45
|
+
readonly fuses?: number | ReadonlyArray<NameWrapperFuseName>;
|
|
46
|
+
readonly mode?: WriteMode;
|
|
47
|
+
readonly confirmation?: ConfirmationPolicy;
|
|
48
|
+
readonly resume?: WrapNameResult;
|
|
49
|
+
}
|
|
50
|
+
interface WrapNameResult {
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly protocol: "v1";
|
|
53
|
+
readonly strategy: "eth-2ld" | "registry";
|
|
54
|
+
readonly owner: EthereumAddress;
|
|
55
|
+
readonly approvals: {
|
|
56
|
+
readonly registrar: boolean;
|
|
57
|
+
readonly registry: boolean;
|
|
58
|
+
};
|
|
59
|
+
readonly write: WritePlanProgress;
|
|
60
|
+
readonly finalState: NameState | null;
|
|
61
|
+
}
|
|
62
|
+
interface UnwrapNameParameters {
|
|
63
|
+
readonly name: string;
|
|
64
|
+
readonly manager: string;
|
|
65
|
+
readonly registrant?: string;
|
|
66
|
+
}
|
|
67
|
+
interface SetFusesParameters {
|
|
68
|
+
readonly name: string;
|
|
69
|
+
readonly fuses: number | ReadonlyArray<NameWrapperFuseName>;
|
|
70
|
+
}
|
|
71
|
+
interface SetChildFusesParameters extends SetFusesParameters {
|
|
72
|
+
readonly expiry: bigint;
|
|
73
|
+
}
|
|
74
|
+
interface ExtendSubnameExpiryParameters {
|
|
75
|
+
readonly name: string;
|
|
76
|
+
readonly expiry: bigint;
|
|
77
|
+
}
|
|
78
|
+
type WrapperReadError = GetNameStateError;
|
|
79
|
+
type WrapperWriteError = WriteError;
|
|
80
|
+
type WrapperWriteResult = CallExecutionResult;
|
|
81
|
+
type WrapperWriteIntent = EnsWriteIntent<WrapperWriteResult, WrapperWriteError>;
|
|
82
|
+
//#endregion
|
|
83
|
+
export { ExtendSubnameExpiryParameters, GetFusesResult, GetWrapperExpiryResult, SetChildFusesParameters, SetFusesParameters, UnwrapNameParameters, WrapNameParameters, WrapNameResult, WrapperReadError, WrapperReadParameters, WrapperUnsupportedReason, WrapperWriteError, WrapperWriteIntent, WrapperWriteResult };
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/actions/wrapping/types.ts"],"mappings":";;;;;;;;;KAgBY;WAAmC;IAAiB;KAEpD;KAEA;WAEG;WACA;WACA;WACA;WACA,QAAQ,cAAc;WACtB;WACA;;WAGA;WACA;WACA;;KAGH;WAEG;WACA;WACA;WACA;;WAGA;WACA;WACA;;UAGL;WACC,eAAe;WACf,UAAU,UAAU;;UAGd,2BAA2B;WACjC;WACA;WACA;WACA,iBAAiB,cAAc;WAC/B,OAAO;WACP,eAAe;WACf,SAAS;;UAGH;WACN;WACA;WACA;WACA,OAAO;WACP;aACE;aACA;;WAEF,OAAO;WACP,YAAY;;UAGN;WACN;WACA;WACA;;UAGM;WACN;WACA,gBAAgB,cAAc;;UAGxB,gCAAgC;WACtC;;UAGM;WACN;WACA;;KAGC,mBAAmB;KACnB,oBAAoB;KACpB,qBAAqB;KACrB,qBAAqB,eAAe,oBAAoB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { UnwrapNameParameters, WrapperWriteError, WrapperWriteIntent, WrapperWriteResult } from "../types.js";
|
|
2
|
+
import { unwrapName } from "../mutation.js";
|
|
3
|
+
export { type WrapperWriteError as UnwrapNameError, type WrapperWriteIntent as UnwrapNameIntent, type UnwrapNameParameters, type WrapperWriteResult as UnwrapNameResult, unwrapName };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EnsAction } from "../../../action/action.js";
|
|
2
|
+
import { WriteError } from "../../../write/types.js";
|
|
3
|
+
import { WrapNameParameters, WrapNameResult, WrapperWriteError } from "../types.js";
|
|
4
|
+
import "../../../index.js";
|
|
5
|
+
//#region src/actions/wrapping/wrap-name/index.d.ts
|
|
6
|
+
declare const wrapName: EnsAction<WrapNameParameters, WrapNameResult, WriteError>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { type WrapperWriteError as WrapNameError, type WrapNameParameters, type WrapNameResult, wrapName };
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/actions/wrapping/wrap-name/index.ts"],"mappings":";;;;;cAiMa,UAAQ,UAAA,oBAAA,gBAAA"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { defineAction } from "../../../action/action.js";
|
|
2
|
+
import { executeWritePlan } from "../../batch/execute-write-plan.js";
|
|
3
|
+
import { labelhash } from "../../../names/hashes.js";
|
|
4
|
+
import { dnsEncodeName } from "../../../names/dns.js";
|
|
5
|
+
import { getManager } from "../../name/get-manager/index.js";
|
|
6
|
+
import { getOperatorApproval } from "../../capabilities/get-operator-approval/index.js";
|
|
7
|
+
import { getTokenApproval } from "../../capabilities/get-token-approval/index.js";
|
|
8
|
+
import { decodeOwnershipAddress } from "../../ownership/address.js";
|
|
9
|
+
import { AuthorizationError } from "../../../errors/authorization-error.js";
|
|
10
|
+
import { getNameState } from "../../name/get-name-state/index.js";
|
|
11
|
+
import { setOperatorApproval } from "../../permissions/operator-approval/index.js";
|
|
12
|
+
import { setResolver } from "../../resolution/set-resolver/index.js";
|
|
13
|
+
import { encodeFuseMask, wrapperFuseMasks } from "../fuse-mask.js";
|
|
14
|
+
import { requireV1WrapperRoute } from "../route.js";
|
|
15
|
+
import { approveWrapperIntent, wrapEth2ldIntent, wrapIntent } from "../intents.js";
|
|
16
|
+
import { Effect } from "effect";
|
|
17
|
+
import { isAddressEqual, keccak256, stringToHex, zeroAddress } from "viem";
|
|
18
|
+
|
|
19
|
+
//#region src/actions/wrapping/wrap-name/index.ts
|
|
20
|
+
const confirmed = (write) => write.status === "completed" && write.completedStages.every((stage) => stage.result.calls.every((call) => call.status === "confirmed"));
|
|
21
|
+
const wrapNameEffect = Effect.fn("ensforge.wrapName")(function* (config, parameters) {
|
|
22
|
+
const route = yield* requireV1WrapperRoute(config, parameters.name);
|
|
23
|
+
const strategy = route.analysis.isSecondLevelEth ? "eth-2ld" : "registry";
|
|
24
|
+
if (route.wrapped && (parameters.resume === void 0 || strategy !== "registry")) return yield* new AuthorizationError({
|
|
25
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
26
|
+
message: `${route.name} is already wrapped`
|
|
27
|
+
});
|
|
28
|
+
const owner = yield* decodeOwnershipAddress(parameters.owner, "wrapped owner");
|
|
29
|
+
const resolver = parameters.resolver === void 0 ? zeroAddress : yield* decodeOwnershipAddress(parameters.resolver, "wrapper resolver");
|
|
30
|
+
const requestedFuses = yield* encodeFuseMask(parameters.fuses ?? 0, wrapperFuseMasks.ownerControlledMask);
|
|
31
|
+
if (!route.analysis.isSecondLevelEth && requestedFuses !== 0) return yield* new AuthorizationError({
|
|
32
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
33
|
+
message: "Initial owner-controlled fuses are only supported while wrapping a .eth 2LD"
|
|
34
|
+
});
|
|
35
|
+
const approvalCalls = [];
|
|
36
|
+
const wrapCalls = [];
|
|
37
|
+
const cleanupCalls = [];
|
|
38
|
+
let registrarApprovalAdded = parameters.resume?.approvals.registrar ?? false;
|
|
39
|
+
let registryApprovalAdded = parameters.resume?.approvals.registry ?? false;
|
|
40
|
+
if (strategy === "eth-2ld") {
|
|
41
|
+
const tokenId = BigInt(labelhash(route.analysis.ethSecondLevelLabel ?? ""));
|
|
42
|
+
if (parameters.resume === void 0) {
|
|
43
|
+
const approval = yield* getTokenApproval.effect(config, { name: route.name });
|
|
44
|
+
registrarApprovalAdded = approval.supported && (approval.approved === null || !isAddressEqual(approval.approved, route.deployment.contracts.nameWrapper));
|
|
45
|
+
}
|
|
46
|
+
if (registrarApprovalAdded) approvalCalls.push(yield* approveWrapperIntent(route.deployment.contracts.baseRegistrar, route.deployment.contracts.nameWrapper, tokenId));
|
|
47
|
+
wrapCalls.push(yield* wrapEth2ldIntent({
|
|
48
|
+
wrapper: route.deployment.contracts.nameWrapper,
|
|
49
|
+
label: route.analysis.ethSecondLevelLabel ?? "",
|
|
50
|
+
owner,
|
|
51
|
+
resolver,
|
|
52
|
+
fuses: requestedFuses
|
|
53
|
+
}));
|
|
54
|
+
} else {
|
|
55
|
+
if (parameters.resume === void 0) {
|
|
56
|
+
const manager = yield* getManager.effect(config, { name: route.name });
|
|
57
|
+
if (manager === null) return yield* new AuthorizationError({
|
|
58
|
+
code: "WRITE_TARGET_UNAVAILABLE",
|
|
59
|
+
message: `Registry ownership is unavailable for ${route.name}`
|
|
60
|
+
});
|
|
61
|
+
registryApprovalAdded = !(yield* getOperatorApproval.effect(config, {
|
|
62
|
+
name: route.name,
|
|
63
|
+
owner: manager,
|
|
64
|
+
operator: route.deployment.contracts.nameWrapper
|
|
65
|
+
})).targets.some((target) => target.kind === "registry" && target.supported && target.approved);
|
|
66
|
+
}
|
|
67
|
+
if (registryApprovalAdded) {
|
|
68
|
+
approvalCalls.push(setOperatorApproval.call({
|
|
69
|
+
name: route.name,
|
|
70
|
+
target: "registry",
|
|
71
|
+
operator: route.deployment.contracts.nameWrapper,
|
|
72
|
+
approved: true
|
|
73
|
+
}));
|
|
74
|
+
cleanupCalls.push(setOperatorApproval.call({
|
|
75
|
+
name: route.name,
|
|
76
|
+
target: "registry",
|
|
77
|
+
operator: route.deployment.contracts.nameWrapper,
|
|
78
|
+
approved: false
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
if (!isAddressEqual(resolver, zeroAddress)) wrapCalls.push(setResolver.call({
|
|
82
|
+
name: route.name,
|
|
83
|
+
resolver
|
|
84
|
+
}));
|
|
85
|
+
wrapCalls.push(yield* wrapIntent({
|
|
86
|
+
wrapper: route.deployment.contracts.nameWrapper,
|
|
87
|
+
name: yield* dnsEncodeName.effect(route.name),
|
|
88
|
+
owner,
|
|
89
|
+
resolver: zeroAddress
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
const stages = [];
|
|
93
|
+
if (approvalCalls.length > 0) stages.push({
|
|
94
|
+
type: "calls",
|
|
95
|
+
id: "approve-name-wrapper",
|
|
96
|
+
calls: approvalCalls,
|
|
97
|
+
mode: parameters.mode ?? "auto",
|
|
98
|
+
atomicity: "none",
|
|
99
|
+
confirmation: parameters.confirmation ?? { type: "confirmed" }
|
|
100
|
+
});
|
|
101
|
+
stages.push({
|
|
102
|
+
type: "calls",
|
|
103
|
+
id: "wrap-name",
|
|
104
|
+
calls: wrapCalls,
|
|
105
|
+
mode: parameters.mode ?? "auto",
|
|
106
|
+
atomicity: wrapCalls.length > 1 ? "preferred" : "none",
|
|
107
|
+
confirmation: parameters.confirmation ?? { type: "confirmed" }
|
|
108
|
+
});
|
|
109
|
+
if (cleanupCalls.length > 0) stages.push({
|
|
110
|
+
type: "calls",
|
|
111
|
+
id: "revoke-name-wrapper-approval",
|
|
112
|
+
calls: cleanupCalls,
|
|
113
|
+
mode: parameters.mode ?? "auto",
|
|
114
|
+
atomicity: "none",
|
|
115
|
+
confirmation: parameters.confirmation ?? { type: "confirmed" }
|
|
116
|
+
});
|
|
117
|
+
const write = yield* executeWritePlan.effect(config, {
|
|
118
|
+
plan: {
|
|
119
|
+
id: `wrapName:${keccak256(stringToHex(JSON.stringify({
|
|
120
|
+
name: route.name,
|
|
121
|
+
owner,
|
|
122
|
+
strategy
|
|
123
|
+
})))}`,
|
|
124
|
+
stages
|
|
125
|
+
},
|
|
126
|
+
...parameters.resume === void 0 ? {} : { resume: parameters.resume.write },
|
|
127
|
+
...parameters.walletClient === void 0 ? {} : { walletClient: parameters.walletClient },
|
|
128
|
+
...parameters.account === void 0 ? {} : { account: parameters.account }
|
|
129
|
+
});
|
|
130
|
+
return {
|
|
131
|
+
name: route.name,
|
|
132
|
+
protocol: "v1",
|
|
133
|
+
strategy,
|
|
134
|
+
owner,
|
|
135
|
+
approvals: {
|
|
136
|
+
registrar: registrarApprovalAdded,
|
|
137
|
+
registry: registryApprovalAdded
|
|
138
|
+
},
|
|
139
|
+
write,
|
|
140
|
+
finalState: confirmed(write) ? yield* getNameState.effect(config, { name: route.name }) : null
|
|
141
|
+
};
|
|
142
|
+
});
|
|
143
|
+
const wrapName = defineAction(wrapNameEffect);
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
export { wrapName };
|
|
147
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/actions/wrapping/wrap-name/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { isAddressEqual, keccak256, stringToHex, zeroAddress } from \"viem\";\n\nimport { defineAction } from \"../../../action/action.js\";\nimport type { EnsforgeConfig } from \"../../../config/config.js\";\nimport { AuthorizationError } from \"../../../errors/authorization-error.js\";\nimport { dnsEncodeName } from \"../../../names/dns.js\";\nimport { labelhash } from \"../../../names/hashes.js\";\nimport type { WritePlan } from \"../../../write/types.js\";\nimport { executeWritePlan } from \"../../batch/execute-write-plan.js\";\nimport { getOperatorApproval } from \"../../capabilities/get-operator-approval/index.js\";\nimport { getTokenApproval } from \"../../capabilities/get-token-approval/index.js\";\nimport { getManager } from \"../../name/get-manager/index.js\";\nimport { getNameState } from \"../../name/get-name-state/index.js\";\nimport { decodeOwnershipAddress } from \"../../ownership/address.js\";\nimport { setOperatorApproval } from \"../../permissions/operator-approval/index.js\";\nimport { setResolver } from \"../../resolution/set-resolver/index.js\";\nimport { encodeFuseMask, wrapperFuseMasks } from \"../fuse-mask.js\";\nimport { approveWrapperIntent, wrapEth2ldIntent, wrapIntent } from \"../intents.js\";\nimport { requireV1WrapperRoute } from \"../route.js\";\nimport type {\n WrapNameParameters,\n WrapNameResult,\n WrapperWriteError,\n WrapperWriteIntent,\n} from \"../types.js\";\n\nconst confirmed = (write: WrapNameResult[\"write\"]) =>\n write.status === \"completed\" &&\n write.completedStages.every((stage) =>\n stage.result.calls.every((call) => call.status === \"confirmed\"),\n );\n\nconst wrapNameEffect = Effect.fn(\"ensforge.wrapName\")(function* (\n config: EnsforgeConfig,\n parameters: WrapNameParameters,\n): Effect.fn.Return<WrapNameResult, WrapperWriteError> {\n const route = yield* requireV1WrapperRoute(config, parameters.name);\n const strategy = route.analysis.isSecondLevelEth ? \"eth-2ld\" : \"registry\";\n if (route.wrapped && (parameters.resume === undefined || strategy !== \"registry\")) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `${route.name} is already wrapped`,\n });\n }\n const owner = yield* decodeOwnershipAddress(parameters.owner, \"wrapped owner\");\n const resolver =\n parameters.resolver === undefined\n ? zeroAddress\n : yield* decodeOwnershipAddress(parameters.resolver, \"wrapper resolver\");\n const requestedFuses = yield* encodeFuseMask(\n parameters.fuses ?? 0,\n wrapperFuseMasks.ownerControlledMask,\n );\n if (!route.analysis.isSecondLevelEth && requestedFuses !== 0) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: \"Initial owner-controlled fuses are only supported while wrapping a .eth 2LD\",\n });\n }\n\n const approvalCalls: Array<WrapperWriteIntent> = [];\n const wrapCalls: Array<WrapperWriteIntent> = [];\n const cleanupCalls: Array<WrapperWriteIntent> = [];\n let registrarApprovalAdded = parameters.resume?.approvals.registrar ?? false;\n let registryApprovalAdded = parameters.resume?.approvals.registry ?? false;\n if (strategy === \"eth-2ld\") {\n const tokenId = BigInt(labelhash(route.analysis.ethSecondLevelLabel ?? \"\"));\n if (parameters.resume === undefined) {\n const approval = yield* getTokenApproval.effect(config, { name: route.name });\n registrarApprovalAdded =\n approval.supported &&\n (approval.approved === null ||\n !isAddressEqual(approval.approved, route.deployment.contracts.nameWrapper));\n }\n if (registrarApprovalAdded) {\n approvalCalls.push(\n yield* approveWrapperIntent(\n route.deployment.contracts.baseRegistrar,\n route.deployment.contracts.nameWrapper,\n tokenId,\n ),\n );\n }\n wrapCalls.push(\n yield* wrapEth2ldIntent({\n wrapper: route.deployment.contracts.nameWrapper,\n label: route.analysis.ethSecondLevelLabel ?? \"\",\n owner,\n resolver,\n fuses: requestedFuses,\n }),\n );\n } else {\n if (parameters.resume === undefined) {\n const manager = yield* getManager.effect(config, { name: route.name });\n if (manager === null) {\n return yield* new AuthorizationError({\n code: \"WRITE_TARGET_UNAVAILABLE\",\n message: `Registry ownership is unavailable for ${route.name}`,\n });\n }\n const approval = yield* getOperatorApproval.effect(config, {\n name: route.name,\n owner: manager,\n operator: route.deployment.contracts.nameWrapper,\n });\n registryApprovalAdded = !approval.targets.some(\n (target) => target.kind === \"registry\" && target.supported && target.approved,\n );\n }\n if (registryApprovalAdded) {\n approvalCalls.push(\n setOperatorApproval.call({\n name: route.name,\n target: \"registry\",\n operator: route.deployment.contracts.nameWrapper,\n approved: true,\n }),\n );\n cleanupCalls.push(\n setOperatorApproval.call({\n name: route.name,\n target: \"registry\",\n operator: route.deployment.contracts.nameWrapper,\n approved: false,\n }),\n );\n }\n if (!isAddressEqual(resolver, zeroAddress)) {\n wrapCalls.push(setResolver.call({ name: route.name, resolver }));\n }\n wrapCalls.push(\n yield* wrapIntent({\n wrapper: route.deployment.contracts.nameWrapper,\n name: yield* dnsEncodeName.effect(route.name),\n owner,\n resolver: zeroAddress,\n }),\n );\n }\n\n const stages: WritePlan[\"stages\"] extends ReadonlyArray<infer Stage> ? Array<Stage> : never = [];\n if (approvalCalls.length > 0) {\n stages.push({\n type: \"calls\",\n id: \"approve-name-wrapper\",\n calls: approvalCalls,\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n }\n stages.push({\n type: \"calls\",\n id: \"wrap-name\",\n calls: wrapCalls,\n mode: parameters.mode ?? \"auto\",\n atomicity: wrapCalls.length > 1 ? \"preferred\" : \"none\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n if (cleanupCalls.length > 0) {\n stages.push({\n type: \"calls\",\n id: \"revoke-name-wrapper-approval\",\n calls: cleanupCalls,\n mode: parameters.mode ?? \"auto\",\n atomicity: \"none\",\n confirmation: parameters.confirmation ?? { type: \"confirmed\" },\n });\n }\n\n const write = yield* executeWritePlan.effect(config, {\n plan: {\n id: `wrapName:${keccak256(stringToHex(JSON.stringify({ name: route.name, owner, strategy })))}`,\n stages,\n },\n ...(parameters.resume === undefined ? {} : { resume: parameters.resume.write }),\n ...(parameters.walletClient === undefined ? {} : { walletClient: parameters.walletClient }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n return {\n name: route.name,\n protocol: \"v1\",\n strategy,\n owner,\n approvals: { registrar: registrarApprovalAdded, registry: registryApprovalAdded },\n write,\n finalState: confirmed(write) ? yield* getNameState.effect(config, { name: route.name }) : null,\n };\n});\n\nexport const wrapName = defineAction<WrapNameParameters, WrapNameResult, WrapperWriteError>(\n wrapNameEffect,\n);\n\nexport type {\n WrapNameParameters,\n WrapNameResult,\n WrapperWriteError as WrapNameError,\n} from \"../types.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA4BA,MAAM,aAAa,UACjB,MAAM,WAAW,eACjB,MAAM,gBAAgB,OAAO,UAC3B,MAAM,OAAO,MAAM,OAAO,SAAS,KAAK,WAAW,WAAW,CAChE;AAEF,MAAM,iBAAiB,OAAO,GAAG,mBAAmB,CAAC,CAAC,WACpD,QACA,YACqD;CACrD,MAAM,QAAQ,OAAO,sBAAsB,QAAQ,WAAW,IAAI;CAClE,MAAM,WAAW,MAAM,SAAS,mBAAmB,YAAY;CAC/D,IAAI,MAAM,YAAY,WAAW,WAAW,UAAa,aAAa,aACpE,OAAO,OAAO,IAAI,mBAAmB;EACnC,MAAM;EACN,SAAS,GAAG,MAAM,KAAK;CACzB,CAAC;CAEH,MAAM,QAAQ,OAAO,uBAAuB,WAAW,OAAO,eAAe;CAC7E,MAAM,WACJ,WAAW,aAAa,SACpB,cACA,OAAO,uBAAuB,WAAW,UAAU,kBAAkB;CAC3E,MAAM,iBAAiB,OAAO,eAC5B,WAAW,SAAS,GACpB,iBAAiB,mBACnB;CACA,IAAI,CAAC,MAAM,SAAS,oBAAoB,mBAAmB,GACzD,OAAO,OAAO,IAAI,mBAAmB;EACnC,MAAM;EACN,SAAS;CACX,CAAC;CAGH,MAAM,gBAA2C,CAAC;CAClD,MAAM,YAAuC,CAAC;CAC9C,MAAM,eAA0C,CAAC;CACjD,IAAI,yBAAyB,WAAW,QAAQ,UAAU,aAAa;CACvE,IAAI,wBAAwB,WAAW,QAAQ,UAAU,YAAY;CACrE,IAAI,aAAa,WAAW;EAC1B,MAAM,UAAU,OAAO,UAAU,MAAM,SAAS,uBAAuB,EAAE,CAAC;EAC1E,IAAI,WAAW,WAAW,QAAW;GACnC,MAAM,WAAW,OAAO,iBAAiB,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;GAC5E,yBACE,SAAS,cACR,SAAS,aAAa,QACrB,CAAC,eAAe,SAAS,UAAU,MAAM,WAAW,UAAU,WAAW;EAC/E;EACA,IAAI,wBACF,cAAc,KACZ,OAAO,qBACL,MAAM,WAAW,UAAU,eAC3B,MAAM,WAAW,UAAU,aAC3B,OACF,CACF;EAEF,UAAU,KACR,OAAO,iBAAiB;GACtB,SAAS,MAAM,WAAW,UAAU;GACpC,OAAO,MAAM,SAAS,uBAAuB;GAC7C;GACA;GACA,OAAO;EACT,CAAC,CACH;CACF,OAAO;EACL,IAAI,WAAW,WAAW,QAAW;GACnC,MAAM,UAAU,OAAO,WAAW,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;GACrE,IAAI,YAAY,MACd,OAAO,OAAO,IAAI,mBAAmB;IACnC,MAAM;IACN,SAAS,yCAAyC,MAAM;GAC1D,CAAC;GAOH,wBAAwB,EAAC,OALD,oBAAoB,OAAO,QAAQ;IACzD,MAAM,MAAM;IACZ,OAAO;IACP,UAAU,MAAM,WAAW,UAAU;GACvC,CAAC,EACgC,CAAC,QAAQ,MACvC,WAAW,OAAO,SAAS,cAAc,OAAO,aAAa,OAAO,QACvE;EACF;EACA,IAAI,uBAAuB;GACzB,cAAc,KACZ,oBAAoB,KAAK;IACvB,MAAM,MAAM;IACZ,QAAQ;IACR,UAAU,MAAM,WAAW,UAAU;IACrC,UAAU;GACZ,CAAC,CACH;GACA,aAAa,KACX,oBAAoB,KAAK;IACvB,MAAM,MAAM;IACZ,QAAQ;IACR,UAAU,MAAM,WAAW,UAAU;IACrC,UAAU;GACZ,CAAC,CACH;EACF;EACA,IAAI,CAAC,eAAe,UAAU,WAAW,GACvC,UAAU,KAAK,YAAY,KAAK;GAAE,MAAM,MAAM;GAAM;EAAS,CAAC,CAAC;EAEjE,UAAU,KACR,OAAO,WAAW;GAChB,SAAS,MAAM,WAAW,UAAU;GACpC,MAAM,OAAO,cAAc,OAAO,MAAM,IAAI;GAC5C;GACA,UAAU;EACZ,CAAC,CACH;CACF;CAEA,MAAM,SAAwF,CAAC;CAC/F,IAAI,cAAc,SAAS,GACzB,OAAO,KAAK;EACV,MAAM;EACN,IAAI;EACJ,OAAO;EACP,MAAM,WAAW,QAAQ;EACzB,WAAW;EACX,cAAc,WAAW,gBAAgB,EAAE,MAAM,YAAY;CAC/D,CAAC;CAEH,OAAO,KAAK;EACV,MAAM;EACN,IAAI;EACJ,OAAO;EACP,MAAM,WAAW,QAAQ;EACzB,WAAW,UAAU,SAAS,IAAI,cAAc;EAChD,cAAc,WAAW,gBAAgB,EAAE,MAAM,YAAY;CAC/D,CAAC;CACD,IAAI,aAAa,SAAS,GACxB,OAAO,KAAK;EACV,MAAM;EACN,IAAI;EACJ,OAAO;EACP,MAAM,WAAW,QAAQ;EACzB,WAAW;EACX,cAAc,WAAW,gBAAgB,EAAE,MAAM,YAAY;CAC/D,CAAC;CAGH,MAAM,QAAQ,OAAO,iBAAiB,OAAO,QAAQ;EACnD,MAAM;GACJ,IAAI,YAAY,UAAU,YAAY,KAAK,UAAU;IAAE,MAAM,MAAM;IAAM;IAAO;GAAS,CAAC,CAAC,CAAC;GAC5F;EACF;EACA,GAAI,WAAW,WAAW,SAAY,CAAC,IAAI,EAAE,QAAQ,WAAW,OAAO,MAAM;EAC7E,GAAI,WAAW,iBAAiB,SAAY,CAAC,IAAI,EAAE,cAAc,WAAW,aAAa;EACzF,GAAI,WAAW,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,WAAW,QAAQ;CAC5E,CAAC;CACD,OAAO;EACL,MAAM,MAAM;EACZ,UAAU;EACV;EACA;EACA,WAAW;GAAE,WAAW;GAAwB,UAAU;EAAsB;EAChF;EACA,YAAY,UAAU,KAAK,IAAI,OAAO,aAAa,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC,IAAI;CAC5F;AACF,CAAC;AAED,MAAa,WAAW,aACtB,cACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { EnsProtocol } from "../schemas/protocol.js";
|
|
2
|
+
import { GatewayOptions, ResolvedGatewayOptions } from "./gateway-options.js";
|
|
3
|
+
import { EnsChainId, EnsNetwork } from "./network.js";
|
|
4
|
+
import { ReadOptions, ResolvedReadOptions } from "./read-options.js";
|
|
5
|
+
import { ResolvedWriteOptions, WriteOptions } from "./write-options.js";
|
|
6
|
+
import { PublicClient, WalletClient } from "viem";
|
|
7
|
+
import { EnsV1Deployment, EnsV2Deployment } from "@ensforge/contracts/deployments";
|
|
8
|
+
import { Config } from "wagmi";
|
|
9
|
+
//#region src/config/config.d.ts
|
|
10
|
+
declare const EnsforgeConfigTypeId: unique symbol;
|
|
11
|
+
type EnsDeployment = EnsV1Deployment | EnsV2Deployment;
|
|
12
|
+
type EnsDeploymentProfile = {
|
|
13
|
+
readonly protocol: Extract<EnsProtocol, "v1">;
|
|
14
|
+
readonly v1: EnsV1Deployment;
|
|
15
|
+
readonly v2?: never;
|
|
16
|
+
} | {
|
|
17
|
+
readonly protocol: Extract<EnsProtocol, "v2">;
|
|
18
|
+
readonly v1?: EnsV1Deployment;
|
|
19
|
+
readonly v2: EnsV2Deployment;
|
|
20
|
+
};
|
|
21
|
+
interface SharedCreateConfigParameters {
|
|
22
|
+
readonly network: EnsNetwork;
|
|
23
|
+
readonly reads?: ReadOptions;
|
|
24
|
+
readonly writes?: WriteOptions;
|
|
25
|
+
readonly gateways?: GatewayOptions;
|
|
26
|
+
}
|
|
27
|
+
interface CreateViemConfigParameters extends SharedCreateConfigParameters {
|
|
28
|
+
readonly publicClient: PublicClient;
|
|
29
|
+
readonly walletClient?: WalletClient;
|
|
30
|
+
readonly wagmiConfig?: never;
|
|
31
|
+
}
|
|
32
|
+
interface CreateWagmiConfigParameters extends SharedCreateConfigParameters {
|
|
33
|
+
readonly wagmiConfig: Config;
|
|
34
|
+
readonly publicClient?: never;
|
|
35
|
+
readonly walletClient?: never;
|
|
36
|
+
}
|
|
37
|
+
type CreateConfigParameters = CreateViemConfigParameters | CreateWagmiConfigParameters;
|
|
38
|
+
/** Immutable, single-network configuration consumed by every Ensforge action. */
|
|
39
|
+
interface EnsforgeConfig {
|
|
40
|
+
readonly [EnsforgeConfigTypeId]: typeof EnsforgeConfigTypeId;
|
|
41
|
+
readonly network: EnsNetwork;
|
|
42
|
+
readonly chainId: EnsChainId;
|
|
43
|
+
readonly publicClient: PublicClient;
|
|
44
|
+
readonly walletClient?: WalletClient;
|
|
45
|
+
readonly reads: ResolvedReadOptions;
|
|
46
|
+
readonly writes: ResolvedWriteOptions;
|
|
47
|
+
readonly gateways: ResolvedGatewayOptions;
|
|
48
|
+
readonly deployments: EnsDeploymentProfile;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { CreateConfigParameters, CreateViemConfigParameters, CreateWagmiConfigParameters, EnsDeployment, EnsDeploymentProfile, EnsforgeConfig, EnsforgeConfigTypeId };
|
|
52
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/config/config.ts"],"mappings":";;;;;;;;;cAUa;KAED,gBAAgB,kBAAkB;KAElC;WAEG,UAAU,QAAQ;WAClB,IAAI;WACJ;;WAGA,UAAU,QAAQ;WAClB,KAAK;WACL,IAAI;;UAGT;WACC,SAAS;WACT,QAAQ;WACR,SAAS;WACT,WAAW;;UAGL,mCAAmC;WACzC,cAAc;WACd,eAAe;WACf;;UAGM,oCAAoC;WAC1C,aAAa;WACb;WACA;;KAGC,yBAAyB,6BAA6B;;UAMjD;YACL,8BAA8B;WAC/B,SAAS;WACT,SAAS;WACT,cAAc;WACd,eAAe;WACf,OAAO;WACP,QAAQ;WACR,UAAU;WACV,aAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../src/config/config.ts"],"sourcesContent":["import type { EnsV1Deployment, EnsV2Deployment } from \"@ensforge/contracts/deployments\";\nimport type { PublicClient, WalletClient } from \"viem\";\nimport type { Config as WagmiConfig } from \"wagmi\";\n\nimport type { EnsProtocol } from \"../schemas/protocol.js\";\nimport type { GatewayOptions, ResolvedGatewayOptions } from \"./gateway-options.js\";\nimport type { EnsChainId, EnsNetwork } from \"./network.js\";\nimport type { ReadOptions, ResolvedReadOptions } from \"./read-options.js\";\nimport type { ResolvedWriteOptions, WriteOptions } from \"./write-options.js\";\n\nexport const EnsforgeConfigTypeId: unique symbol = Symbol.for(\"@ensforge/core/EnsforgeConfig\");\n\nexport type EnsDeployment = EnsV1Deployment | EnsV2Deployment;\n\nexport type EnsDeploymentProfile =\n | {\n readonly protocol: Extract<EnsProtocol, \"v1\">;\n readonly v1: EnsV1Deployment;\n readonly v2?: never;\n }\n | {\n readonly protocol: Extract<EnsProtocol, \"v2\">;\n readonly v1?: EnsV1Deployment;\n readonly v2: EnsV2Deployment;\n };\n\ninterface SharedCreateConfigParameters {\n readonly network: EnsNetwork;\n readonly reads?: ReadOptions;\n readonly writes?: WriteOptions;\n readonly gateways?: GatewayOptions;\n}\n\nexport interface CreateViemConfigParameters extends SharedCreateConfigParameters {\n readonly publicClient: PublicClient;\n readonly walletClient?: WalletClient;\n readonly wagmiConfig?: never;\n}\n\nexport interface CreateWagmiConfigParameters extends SharedCreateConfigParameters {\n readonly wagmiConfig: WagmiConfig;\n readonly publicClient?: never;\n readonly walletClient?: never;\n}\n\nexport type CreateConfigParameters = CreateViemConfigParameters | CreateWagmiConfigParameters;\n\nexport type EnsRuntimeNetwork = EnsNetwork | \"devnet\";\nexport type EnsRuntimeChainId = EnsChainId | 31337;\n\n/** Immutable, single-network configuration consumed by every Ensforge action. */\nexport interface EnsforgeConfig {\n readonly [EnsforgeConfigTypeId]: typeof EnsforgeConfigTypeId;\n readonly network: EnsNetwork;\n readonly chainId: EnsChainId;\n readonly publicClient: PublicClient;\n readonly walletClient?: WalletClient;\n readonly reads: ResolvedReadOptions;\n readonly writes: ResolvedWriteOptions;\n readonly gateways: ResolvedGatewayOptions;\n readonly deployments: EnsDeploymentProfile;\n}\n"],"mappings":";AAUA,MAAa,uBAAsC,OAAO,IAAI,+BAA+B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CreateConfigParameters, EnsforgeConfig } from "./config.js";
|
|
2
|
+
//#region src/config/create-config.d.ts
|
|
3
|
+
declare const createConfig: (parameters: CreateConfigParameters) => EnsforgeConfig;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { createConfig };
|
|
6
|
+
//# sourceMappingURL=create-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-config.d.ts","names":[],"sources":["../../src/config/create-config.ts"],"mappings":";;cAsBa,eAAgB,YAAY,2BAAyB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { attachConfigContext } from "../internal/config/context.js";
|
|
2
|
+
import { ConfigError } from "../errors/config-error.js";
|
|
3
|
+
import { resolveReadOptions } from "./read-options.js";
|
|
4
|
+
import { getNetworkProfile } from "../internal/config/network-profile.js";
|
|
5
|
+
import { validateClientChain, validateDeployments } from "../internal/config/validation.js";
|
|
6
|
+
import { getWagmiPublicClient, makeWagmiWalletClientResolver } from "../internal/config/wagmi-clients.js";
|
|
7
|
+
import { makeServicesContext } from "../internal/services/context.js";
|
|
8
|
+
import { EnsforgeConfigTypeId } from "./config.js";
|
|
9
|
+
import { resolveGatewayOptions } from "./gateway-options.js";
|
|
10
|
+
import { EnsNetworkSchema, ensChainIds } from "./network.js";
|
|
11
|
+
import { resolveWriteOptions } from "./write-options.js";
|
|
12
|
+
import { Schema } from "effect";
|
|
13
|
+
|
|
14
|
+
//#region src/config/create-config.ts
|
|
15
|
+
const createConfig = (parameters) => {
|
|
16
|
+
if (!Schema.is(EnsNetworkSchema)(parameters.network)) throw new ConfigError({
|
|
17
|
+
code: "UNSUPPORTED_NETWORK",
|
|
18
|
+
message: `Unsupported ENS network: ${parameters.network}`
|
|
19
|
+
});
|
|
20
|
+
const network = parameters.network;
|
|
21
|
+
const chainId = ensChainIds[network];
|
|
22
|
+
const deployments = getNetworkProfile(network);
|
|
23
|
+
const reads = resolveReadOptions(parameters.reads);
|
|
24
|
+
const writes = resolveWriteOptions(parameters.writes);
|
|
25
|
+
const gateways = resolveGatewayOptions(parameters.gateways);
|
|
26
|
+
const wagmiConfig = parameters.wagmiConfig;
|
|
27
|
+
if (wagmiConfig !== void 0 && (parameters.publicClient !== void 0 || parameters.walletClient !== void 0)) throw new ConfigError({
|
|
28
|
+
code: "INVALID_CLIENT_CONFIGURATION",
|
|
29
|
+
message: "Provide either a Wagmi config or Viem clients, not both"
|
|
30
|
+
});
|
|
31
|
+
if (wagmiConfig === void 0 && parameters.publicClient === void 0) throw new ConfigError({
|
|
32
|
+
code: "INVALID_CLIENT_CONFIGURATION",
|
|
33
|
+
message: "Provide either a Wagmi config or a Viem public client"
|
|
34
|
+
});
|
|
35
|
+
const publicClient = wagmiConfig === void 0 ? parameters.publicClient : getWagmiPublicClient(wagmiConfig, network, chainId);
|
|
36
|
+
const walletClient = parameters.walletClient;
|
|
37
|
+
const walletClientResolver = wagmiConfig === void 0 ? void 0 : makeWagmiWalletClientResolver(wagmiConfig, network, chainId);
|
|
38
|
+
validateClientChain(publicClient, "public", network, chainId);
|
|
39
|
+
if (walletClient !== void 0) validateClientChain(walletClient, "wallet", network, chainId);
|
|
40
|
+
validateDeployments(deployments, chainId);
|
|
41
|
+
const serviceValues = {
|
|
42
|
+
network,
|
|
43
|
+
chainId,
|
|
44
|
+
publicClient,
|
|
45
|
+
reads,
|
|
46
|
+
gateways,
|
|
47
|
+
deployments,
|
|
48
|
+
...walletClient === void 0 ? {} : { walletClient },
|
|
49
|
+
...walletClientResolver === void 0 ? {} : { walletClientResolver }
|
|
50
|
+
};
|
|
51
|
+
const config = attachConfigContext({
|
|
52
|
+
[EnsforgeConfigTypeId]: EnsforgeConfigTypeId,
|
|
53
|
+
network,
|
|
54
|
+
chainId,
|
|
55
|
+
publicClient,
|
|
56
|
+
reads,
|
|
57
|
+
writes,
|
|
58
|
+
gateways,
|
|
59
|
+
deployments,
|
|
60
|
+
...walletClient === void 0 ? {} : { walletClient }
|
|
61
|
+
}, makeServicesContext(serviceValues));
|
|
62
|
+
return Object.freeze(config);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { createConfig };
|
|
67
|
+
//# sourceMappingURL=create-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-config.js","names":[],"sources":["../../src/config/create-config.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { ConfigError } from \"../errors/config-error.js\";\nimport { attachConfigContext } from \"../internal/config/context.js\";\nimport { getNetworkProfile } from \"../internal/config/network-profile.js\";\nimport { validateClientChain, validateDeployments } from \"../internal/config/validation.js\";\nimport {\n getWagmiPublicClient,\n makeWagmiWalletClientResolver,\n} from \"../internal/config/wagmi-clients.js\";\nimport type { EnsforgeServiceValues } from \"../internal/services/context.js\";\nimport { makeServicesContext } from \"../internal/services/context.js\";\nimport {\n EnsforgeConfigTypeId,\n type CreateConfigParameters,\n type EnsforgeConfig,\n} from \"./config.js\";\nimport { resolveGatewayOptions } from \"./gateway-options.js\";\nimport { ensChainIds, EnsNetworkSchema } from \"./network.js\";\nimport { resolveReadOptions } from \"./read-options.js\";\nimport { resolveWriteOptions } from \"./write-options.js\";\n\nexport const createConfig = (parameters: CreateConfigParameters): EnsforgeConfig => {\n if (!Schema.is(EnsNetworkSchema)(parameters.network)) {\n throw new ConfigError({\n code: \"UNSUPPORTED_NETWORK\",\n message: `Unsupported ENS network: ${parameters.network}`,\n });\n }\n\n const network = parameters.network;\n const chainId = ensChainIds[network];\n const deployments = getNetworkProfile(network);\n const reads = resolveReadOptions(parameters.reads);\n const writes = resolveWriteOptions(parameters.writes);\n const gateways = resolveGatewayOptions(parameters.gateways);\n const wagmiConfig = parameters.wagmiConfig;\n\n if (\n wagmiConfig !== undefined &&\n (parameters.publicClient !== undefined || parameters.walletClient !== undefined)\n ) {\n throw new ConfigError({\n code: \"INVALID_CLIENT_CONFIGURATION\",\n message: \"Provide either a Wagmi config or Viem clients, not both\",\n });\n }\n\n if (wagmiConfig === undefined && parameters.publicClient === undefined) {\n throw new ConfigError({\n code: \"INVALID_CLIENT_CONFIGURATION\",\n message: \"Provide either a Wagmi config or a Viem public client\",\n });\n }\n\n const publicClient =\n wagmiConfig === undefined\n ? parameters.publicClient\n : getWagmiPublicClient(wagmiConfig, network, chainId);\n const walletClient = parameters.walletClient;\n const walletClientResolver =\n wagmiConfig === undefined\n ? undefined\n : makeWagmiWalletClientResolver(wagmiConfig, network, chainId);\n\n validateClientChain(publicClient, \"public\", network, chainId);\n\n if (walletClient !== undefined) {\n validateClientChain(walletClient, \"wallet\", network, chainId);\n }\n\n validateDeployments(deployments, chainId);\n\n const serviceValues: EnsforgeServiceValues = {\n network,\n chainId,\n publicClient,\n reads,\n gateways,\n deployments,\n ...(walletClient === undefined ? {} : { walletClient }),\n ...(walletClientResolver === undefined ? {} : { walletClientResolver }),\n };\n const config = attachConfigContext(\n {\n [EnsforgeConfigTypeId]: EnsforgeConfigTypeId,\n network,\n chainId,\n publicClient,\n reads,\n writes,\n gateways,\n deployments,\n ...(walletClient === undefined ? {} : { walletClient }),\n },\n makeServicesContext(serviceValues),\n );\n\n return Object.freeze(config);\n};\n"],"mappings":";;;;;;;;;;;;;;AAsBA,MAAa,gBAAgB,eAAuD;CAClF,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,CAAC,WAAW,OAAO,GACjD,MAAM,IAAI,YAAY;EACpB,MAAM;EACN,SAAS,4BAA4B,WAAW;CAClD,CAAC;CAGH,MAAM,UAAU,WAAW;CAC3B,MAAM,UAAU,YAAY;CAC5B,MAAM,cAAc,kBAAkB,OAAO;CAC7C,MAAM,QAAQ,mBAAmB,WAAW,KAAK;CACjD,MAAM,SAAS,oBAAoB,WAAW,MAAM;CACpD,MAAM,WAAW,sBAAsB,WAAW,QAAQ;CAC1D,MAAM,cAAc,WAAW;CAE/B,IACE,gBAAgB,WACf,WAAW,iBAAiB,UAAa,WAAW,iBAAiB,SAEtE,MAAM,IAAI,YAAY;EACpB,MAAM;EACN,SAAS;CACX,CAAC;CAGH,IAAI,gBAAgB,UAAa,WAAW,iBAAiB,QAC3D,MAAM,IAAI,YAAY;EACpB,MAAM;EACN,SAAS;CACX,CAAC;CAGH,MAAM,eACJ,gBAAgB,SACZ,WAAW,eACX,qBAAqB,aAAa,SAAS,OAAO;CACxD,MAAM,eAAe,WAAW;CAChC,MAAM,uBACJ,gBAAgB,SACZ,SACA,8BAA8B,aAAa,SAAS,OAAO;CAEjE,oBAAoB,cAAc,UAAU,SAAS,OAAO;CAE5D,IAAI,iBAAiB,QACnB,oBAAoB,cAAc,UAAU,SAAS,OAAO;CAG9D,oBAAoB,aAAa,OAAO;CAExC,MAAM,gBAAuC;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA,GAAI,iBAAiB,SAAY,CAAC,IAAI,EAAE,aAAa;EACrD,GAAI,yBAAyB,SAAY,CAAC,IAAI,EAAE,qBAAqB;CACvE;CACA,MAAM,SAAS,oBACb;GACG,uBAAuB;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAI,iBAAiB,SAAY,CAAC,IAAI,EAAE,aAAa;CACvD,GACA,oBAAoB,aAAa,CACnC;CAEA,OAAO,OAAO,OAAO,MAAM;AAC7B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/config/gateway-options.d.ts
|
|
2
|
+
interface GatewayOptions {
|
|
3
|
+
readonly allowedHosts?: ReadonlyArray<string>;
|
|
4
|
+
readonly deniedHosts?: ReadonlyArray<string>;
|
|
5
|
+
readonly timeout?: number;
|
|
6
|
+
readonly maxResponseSize?: number;
|
|
7
|
+
readonly maxRedirects?: number;
|
|
8
|
+
}
|
|
9
|
+
interface ResolvedGatewayOptions {
|
|
10
|
+
readonly allowedHosts: ReadonlyArray<string> | null;
|
|
11
|
+
readonly deniedHosts: ReadonlyArray<string>;
|
|
12
|
+
readonly timeout: number;
|
|
13
|
+
readonly maxResponseSize: number;
|
|
14
|
+
readonly maxRedirects: number;
|
|
15
|
+
}
|
|
16
|
+
declare const defaultGatewayOptions: ResolvedGatewayOptions;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { GatewayOptions, ResolvedGatewayOptions, defaultGatewayOptions };
|
|
19
|
+
//# sourceMappingURL=gateway-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-options.d.ts","names":[],"sources":["../../src/config/gateway-options.ts"],"mappings":";UAciB;WACN,eAAe;WACf,cAAc;WACd;WACA;WACA;;UAGM;WACN,cAAc;WACd,aAAa;WACb;WACA;WACA;;cAGE,uBAAuB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ConfigError } from "../errors/config-error.js";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
|
|
4
|
+
//#region src/config/gateway-options.ts
|
|
5
|
+
const PositiveNumber = Schema.Number.check(Schema.isGreaterThan(0));
|
|
6
|
+
const NonNegativeInteger = Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(0)));
|
|
7
|
+
const GatewayOptionsSchema = Schema.Struct({
|
|
8
|
+
allowedHosts: Schema.optional(Schema.Array(Schema.String)),
|
|
9
|
+
deniedHosts: Schema.optional(Schema.Array(Schema.String)),
|
|
10
|
+
timeout: Schema.optional(PositiveNumber),
|
|
11
|
+
maxResponseSize: Schema.optional(PositiveNumber),
|
|
12
|
+
maxRedirects: Schema.optional(NonNegativeInteger)
|
|
13
|
+
});
|
|
14
|
+
const defaultGatewayOptions = Object.freeze({
|
|
15
|
+
allowedHosts: null,
|
|
16
|
+
deniedHosts: Object.freeze([]),
|
|
17
|
+
timeout: 1e4,
|
|
18
|
+
maxResponseSize: 1048576,
|
|
19
|
+
maxRedirects: 3
|
|
20
|
+
});
|
|
21
|
+
const resolveGatewayOptions = (options) => {
|
|
22
|
+
if (options !== void 0 && !Schema.is(GatewayOptionsSchema)(options)) throw new ConfigError({
|
|
23
|
+
code: "INVALID_GATEWAY_OPTIONS",
|
|
24
|
+
message: "Gateway options contain an invalid policy value"
|
|
25
|
+
});
|
|
26
|
+
return Object.freeze({
|
|
27
|
+
allowedHosts: options?.allowedHosts === void 0 ? null : Object.freeze([...options.allowedHosts]),
|
|
28
|
+
deniedHosts: Object.freeze([...options?.deniedHosts ?? []]),
|
|
29
|
+
timeout: options?.timeout ?? defaultGatewayOptions.timeout,
|
|
30
|
+
maxResponseSize: options?.maxResponseSize ?? defaultGatewayOptions.maxResponseSize,
|
|
31
|
+
maxRedirects: options?.maxRedirects ?? defaultGatewayOptions.maxRedirects
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { defaultGatewayOptions, resolveGatewayOptions };
|
|
37
|
+
//# sourceMappingURL=gateway-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-options.js","names":[],"sources":["../../src/config/gateway-options.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { ConfigError } from \"../errors/config-error.js\";\n\nconst PositiveNumber = Schema.Number.check(Schema.isGreaterThan(0));\nconst NonNegativeInteger = Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(0)));\nconst GatewayOptionsSchema = Schema.Struct({\n allowedHosts: Schema.optional(Schema.Array(Schema.String)),\n deniedHosts: Schema.optional(Schema.Array(Schema.String)),\n timeout: Schema.optional(PositiveNumber),\n maxResponseSize: Schema.optional(PositiveNumber),\n maxRedirects: Schema.optional(NonNegativeInteger),\n});\n\nexport interface GatewayOptions {\n readonly allowedHosts?: ReadonlyArray<string>;\n readonly deniedHosts?: ReadonlyArray<string>;\n readonly timeout?: number;\n readonly maxResponseSize?: number;\n readonly maxRedirects?: number;\n}\n\nexport interface ResolvedGatewayOptions {\n readonly allowedHosts: ReadonlyArray<string> | null;\n readonly deniedHosts: ReadonlyArray<string>;\n readonly timeout: number;\n readonly maxResponseSize: number;\n readonly maxRedirects: number;\n}\n\nexport const defaultGatewayOptions: ResolvedGatewayOptions = Object.freeze({\n allowedHosts: null,\n deniedHosts: Object.freeze([]),\n timeout: 10_000,\n maxResponseSize: 1_048_576,\n maxRedirects: 3,\n});\n\nexport const resolveGatewayOptions = (\n options: GatewayOptions | undefined,\n): ResolvedGatewayOptions => {\n if (options !== undefined && !Schema.is(GatewayOptionsSchema)(options)) {\n throw new ConfigError({\n code: \"INVALID_GATEWAY_OPTIONS\",\n message: \"Gateway options contain an invalid policy value\",\n });\n }\n\n return Object.freeze({\n allowedHosts:\n options?.allowedHosts === undefined ? null : Object.freeze([...options.allowedHosts]),\n deniedHosts: Object.freeze([...(options?.deniedHosts ?? [])]),\n timeout: options?.timeout ?? defaultGatewayOptions.timeout,\n maxResponseSize: options?.maxResponseSize ?? defaultGatewayOptions.maxResponseSize,\n maxRedirects: options?.maxRedirects ?? defaultGatewayOptions.maxRedirects,\n });\n};\n"],"mappings":";;;;AAIA,MAAM,iBAAiB,OAAO,OAAO,MAAM,OAAO,cAAc,CAAC,CAAC;AAClE,MAAM,qBAAqB,OAAO,IAAI,KAAK,OAAO,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC;AACzF,MAAM,uBAAuB,OAAO,OAAO;CACzC,cAAc,OAAO,SAAS,OAAO,MAAM,OAAO,MAAM,CAAC;CACzD,aAAa,OAAO,SAAS,OAAO,MAAM,OAAO,MAAM,CAAC;CACxD,SAAS,OAAO,SAAS,cAAc;CACvC,iBAAiB,OAAO,SAAS,cAAc;CAC/C,cAAc,OAAO,SAAS,kBAAkB;AAClD,CAAC;AAkBD,MAAa,wBAAgD,OAAO,OAAO;CACzE,cAAc;CACd,aAAa,OAAO,OAAO,CAAC,CAAC;CAC7B,SAAS;CACT,iBAAiB;CACjB,cAAc;AAChB,CAAC;AAED,MAAa,yBACX,YAC2B;CAC3B,IAAI,YAAY,UAAa,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC,OAAO,GACnE,MAAM,IAAI,YAAY;EACpB,MAAM;EACN,SAAS;CACX,CAAC;CAGH,OAAO,OAAO,OAAO;EACnB,cACE,SAAS,iBAAiB,SAAY,OAAO,OAAO,OAAO,CAAC,GAAG,QAAQ,YAAY,CAAC;EACtF,aAAa,OAAO,OAAO,CAAC,GAAI,SAAS,eAAe,CAAC,CAAE,CAAC;EAC5D,SAAS,SAAS,WAAW,sBAAsB;EACnD,iBAAiB,SAAS,mBAAmB,sBAAsB;EACnE,cAAc,SAAS,gBAAgB,sBAAsB;CAC/D,CAAC;AACH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GatewayOptions, ResolvedGatewayOptions, defaultGatewayOptions } from "./gateway-options.js";
|
|
2
|
+
import { EnsChainId, EnsNetwork, ensNetworks } from "./network.js";
|
|
3
|
+
import { ReadOptions, ResolvedReadOptions, defaultReadOptions } from "./read-options.js";
|
|
4
|
+
import { ConfirmationPolicy, ResolvedWriteOptions, SimulationPolicy, WriteOptions, defaultWriteOptions } from "./write-options.js";
|
|
5
|
+
import { CreateConfigParameters, CreateViemConfigParameters, CreateWagmiConfigParameters, EnsDeployment, EnsDeploymentProfile, EnsforgeConfig } from "./config.js";
|
|
6
|
+
import { createConfig } from "./create-config.js";
|
|
7
|
+
export { ConfirmationPolicy, type CreateConfigParameters, type CreateViemConfigParameters, type CreateWagmiConfigParameters, type EnsChainId, type EnsDeployment, type EnsDeploymentProfile, type EnsNetwork, type EnsforgeConfig, type GatewayOptions, type ReadOptions, type ResolvedGatewayOptions, type ResolvedReadOptions, type ResolvedWriteOptions, SimulationPolicy, type WriteOptions, createConfig, defaultGatewayOptions, defaultReadOptions, defaultWriteOptions, ensNetworks };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
//#region src/config/network.d.ts
|
|
3
|
+
declare const ensNetworks: readonly ["mainnet", "sepolia"];
|
|
4
|
+
type EnsNetwork = (typeof ensNetworks)[number];
|
|
5
|
+
type EnsChainId = 1 | 11155111;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { EnsChainId, EnsNetwork, ensNetworks };
|
|
8
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","names":[],"sources":["../../src/config/network.ts"],"mappings":";;cAEa;KAED,qBAAqB;KACrB"}
|