@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,120 @@
|
|
|
1
|
+
import { ContractError } from "../../errors/contract-error.js";
|
|
2
|
+
import { EthereumClient } from "../client/ethereum-client.js";
|
|
3
|
+
import { labelhash } from "../../names/hashes.js";
|
|
4
|
+
import { analyzeName } from "../../names/analyze.js";
|
|
5
|
+
import { dnsEncodeName } from "../../names/dns.js";
|
|
6
|
+
import { DeploymentService } from "../services/deployment.js";
|
|
7
|
+
import { Effect } from "effect";
|
|
8
|
+
import { isAddressEqual, zeroAddress } from "viem";
|
|
9
|
+
import { ethRenewerV1IsRenewableAbi, permissionedRegistryV2InterfaceGetStateAbi, universalResolverV2InterfaceFindParentRegistryAbi } from "@ensforge/contracts/v2";
|
|
10
|
+
import { universalResolverFindResolverAbi } from "@ensforge/contracts/shared";
|
|
11
|
+
|
|
12
|
+
//#region src/internal/name/name-route.ts
|
|
13
|
+
const readNameRoute = Effect.fn("readNameRoute")(function* (name) {
|
|
14
|
+
const deployments = yield* DeploymentService;
|
|
15
|
+
if (deployments.profile.protocol === "v1") return {
|
|
16
|
+
kind: "v1",
|
|
17
|
+
protocol: "v1",
|
|
18
|
+
deployment: deployments.profile.v1
|
|
19
|
+
};
|
|
20
|
+
const deployment = deployments.profile.v2;
|
|
21
|
+
const v1 = deployments.profile.v1;
|
|
22
|
+
const analysis = analyzeName(name);
|
|
23
|
+
if (analysis.label === void 0) return v1 === void 0 ? {
|
|
24
|
+
kind: "available",
|
|
25
|
+
protocol: "v2",
|
|
26
|
+
deployment,
|
|
27
|
+
label: "",
|
|
28
|
+
parentRegistry: deployment.contracts.rootRegistry,
|
|
29
|
+
state: {
|
|
30
|
+
status: 0,
|
|
31
|
+
expiry: 0n,
|
|
32
|
+
latestOwner: zeroAddress,
|
|
33
|
+
tokenId: 0n,
|
|
34
|
+
resource: 0n
|
|
35
|
+
}
|
|
36
|
+
} : {
|
|
37
|
+
kind: "v1",
|
|
38
|
+
protocol: "v1",
|
|
39
|
+
deployment: v1
|
|
40
|
+
};
|
|
41
|
+
const ethereum = yield* EthereumClient;
|
|
42
|
+
const dnsName = yield* dnsEncodeName.effect(name);
|
|
43
|
+
const parentRegistry = yield* ethereum.readContract({
|
|
44
|
+
address: deployment.contracts.universalResolver,
|
|
45
|
+
abi: universalResolverV2InterfaceFindParentRegistryAbi,
|
|
46
|
+
functionName: "findParentRegistry",
|
|
47
|
+
args: [dnsName]
|
|
48
|
+
});
|
|
49
|
+
if (isAddressEqual(parentRegistry, zeroAddress)) return v1 === void 0 ? {
|
|
50
|
+
kind: "available",
|
|
51
|
+
protocol: "v2",
|
|
52
|
+
deployment,
|
|
53
|
+
label: analysis.label,
|
|
54
|
+
parentRegistry: deployment.contracts.rootRegistry,
|
|
55
|
+
state: {
|
|
56
|
+
status: 0,
|
|
57
|
+
expiry: 0n,
|
|
58
|
+
latestOwner: zeroAddress,
|
|
59
|
+
tokenId: 0n,
|
|
60
|
+
resource: 0n
|
|
61
|
+
}
|
|
62
|
+
} : {
|
|
63
|
+
kind: "v1",
|
|
64
|
+
protocol: "v1",
|
|
65
|
+
deployment: v1
|
|
66
|
+
};
|
|
67
|
+
const state = yield* ethereum.readContract({
|
|
68
|
+
address: parentRegistry,
|
|
69
|
+
abi: permissionedRegistryV2InterfaceGetStateAbi,
|
|
70
|
+
functionName: "getState",
|
|
71
|
+
args: [BigInt(labelhash(analysis.label))]
|
|
72
|
+
});
|
|
73
|
+
if (state.status !== 0 && state.status !== 1 && state.status !== 2) return yield* new ContractError({
|
|
74
|
+
code: "DECODE_FAILED",
|
|
75
|
+
message: "Unknown ENSv2 registry status",
|
|
76
|
+
cause: state
|
|
77
|
+
});
|
|
78
|
+
const secondLevelLabel = analysis.ethSecondLevelLabel;
|
|
79
|
+
const shouldCheckReservedRenewal = state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress);
|
|
80
|
+
const reservedRenewable = secondLevelLabel === void 0 || !shouldCheckReservedRenewal ? false : yield* ethereum.readContract({
|
|
81
|
+
address: deployment.migration.ethRenewerV1,
|
|
82
|
+
abi: ethRenewerV1IsRenewableAbi,
|
|
83
|
+
functionName: "isRenewable",
|
|
84
|
+
args: [secondLevelLabel]
|
|
85
|
+
});
|
|
86
|
+
if ((state.status === 1 || state.status === 0 && reservedRenewable) && v1 !== void 0) return {
|
|
87
|
+
kind: "reserved",
|
|
88
|
+
protocol: "v1",
|
|
89
|
+
deployment,
|
|
90
|
+
v1,
|
|
91
|
+
label: analysis.label,
|
|
92
|
+
parentRegistry,
|
|
93
|
+
state
|
|
94
|
+
};
|
|
95
|
+
if (state.status !== 2 && isAddressEqual(state.latestOwner, zeroAddress) && v1 !== void 0) {
|
|
96
|
+
const [resolver] = yield* ethereum.readContract({
|
|
97
|
+
address: deployment.contracts.universalResolver,
|
|
98
|
+
abi: universalResolverFindResolverAbi,
|
|
99
|
+
functionName: "findResolver",
|
|
100
|
+
args: [dnsName]
|
|
101
|
+
});
|
|
102
|
+
if (isAddressEqual(resolver, deployment.migration.ensV1Resolver)) return {
|
|
103
|
+
kind: "v1",
|
|
104
|
+
protocol: "v1",
|
|
105
|
+
deployment: v1
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
kind: state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress) ? "available" : "v2",
|
|
110
|
+
protocol: "v2",
|
|
111
|
+
deployment,
|
|
112
|
+
label: analysis.label,
|
|
113
|
+
parentRegistry,
|
|
114
|
+
state
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
//#endregion
|
|
119
|
+
export { readNameRoute };
|
|
120
|
+
//# sourceMappingURL=name-route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-route.js","names":[],"sources":["../../../src/internal/name/name-route.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { EnsV1Deployment, EnsV2Deployment } from \"@ensforge/contracts/deployments\";\nimport { universalResolverFindResolverAbi } from \"@ensforge/contracts/shared\";\nimport {\n ethRenewerV1IsRenewableAbi,\n permissionedRegistryV2InterfaceGetStateAbi,\n universalResolverV2InterfaceFindParentRegistryAbi,\n} from \"@ensforge/contracts/v2\";\nimport { isAddressEqual, zeroAddress } from \"viem\";\n\nimport type { CodecError } from \"../../errors/codec-error.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { analyzeName } from \"../../names/analyze.js\";\nimport { dnsEncodeName } from \"../../names/dns.js\";\nimport { labelhash } from \"../../names/hashes.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\nimport { EthereumClient } from \"../client/ethereum-client.js\";\nimport type { ViemError } from \"../errors/viem-error.js\";\nimport type { ReadContext } from \"../read/execution-context.js\";\nimport { DeploymentService } from \"../services/deployment.js\";\n\nexport interface V1NameRoute {\n readonly kind: \"v1\";\n readonly protocol: \"v1\";\n readonly deployment: EnsV1Deployment;\n}\n\ninterface V2RouteFields {\n readonly protocol: \"v2\";\n readonly deployment: EnsV2Deployment;\n readonly label: string;\n readonly parentRegistry: `0x${string}`;\n readonly state: {\n readonly status: number;\n readonly expiry: bigint;\n readonly latestOwner: `0x${string}`;\n readonly tokenId: bigint;\n readonly resource: bigint;\n };\n}\n\nexport interface V2NameRoute extends V2RouteFields {\n readonly kind: \"v2\";\n}\n\nexport interface AvailableNameRoute extends V2RouteFields {\n readonly kind: \"available\";\n}\n\nexport interface ReservedNameRoute {\n readonly kind: \"reserved\";\n readonly protocol: \"v1\";\n readonly deployment: EnsV2Deployment;\n readonly v1: EnsV1Deployment;\n readonly label: string;\n readonly parentRegistry: `0x${string}`;\n readonly state: V2NameRoute[\"state\"];\n}\n\nexport type NameRoute = V1NameRoute | V2NameRoute | AvailableNameRoute | ReservedNameRoute;\n\nexport const readNameRoute = Effect.fn(\"readNameRoute\")(function* (\n name: NormalizedName,\n): Effect.fn.Return<\n NameRoute,\n CodecError | ContractError | ViemError,\n DeploymentService | EthereumClient | ReadContext\n> {\n const deployments = yield* DeploymentService;\n if (deployments.profile.protocol === \"v1\") {\n return { kind: \"v1\", protocol: \"v1\", deployment: deployments.profile.v1 };\n }\n\n const deployment = deployments.profile.v2;\n const v1 = deployments.profile.v1;\n const analysis = analyzeName(name);\n if (analysis.label === undefined) {\n return v1 === undefined\n ? {\n kind: \"available\",\n protocol: \"v2\",\n deployment,\n label: \"\",\n parentRegistry: deployment.contracts.rootRegistry,\n state: { status: 0, expiry: 0n, latestOwner: zeroAddress, tokenId: 0n, resource: 0n },\n }\n : { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n\n const ethereum = yield* EthereumClient;\n const dnsName = yield* dnsEncodeName.effect(name);\n const parentRegistry = yield* ethereum.readContract({\n address: deployment.contracts.universalResolver,\n abi: universalResolverV2InterfaceFindParentRegistryAbi,\n functionName: \"findParentRegistry\",\n args: [dnsName],\n });\n\n if (isAddressEqual(parentRegistry, zeroAddress)) {\n return v1 === undefined\n ? {\n kind: \"available\",\n protocol: \"v2\",\n deployment,\n label: analysis.label,\n parentRegistry: deployment.contracts.rootRegistry,\n state: { status: 0, expiry: 0n, latestOwner: zeroAddress, tokenId: 0n, resource: 0n },\n }\n : { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n\n const state = yield* ethereum.readContract({\n address: parentRegistry,\n abi: permissionedRegistryV2InterfaceGetStateAbi,\n functionName: \"getState\",\n args: [BigInt(labelhash(analysis.label))],\n });\n if (state.status !== 0 && state.status !== 1 && state.status !== 2) {\n return yield* new ContractError({\n code: \"DECODE_FAILED\",\n message: \"Unknown ENSv2 registry status\",\n cause: state,\n });\n }\n const secondLevelLabel = analysis.ethSecondLevelLabel;\n const shouldCheckReservedRenewal =\n state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress);\n const reservedRenewable =\n secondLevelLabel === undefined || !shouldCheckReservedRenewal\n ? false\n : yield* ethereum.readContract({\n address: deployment.migration.ethRenewerV1,\n abi: ethRenewerV1IsRenewableAbi,\n functionName: \"isRenewable\",\n args: [secondLevelLabel],\n });\n\n if ((state.status === 1 || (state.status === 0 && reservedRenewable)) && v1 !== undefined) {\n return {\n kind: \"reserved\",\n protocol: \"v1\",\n deployment,\n v1,\n label: analysis.label,\n parentRegistry,\n state,\n };\n }\n\n if (state.status !== 2 && isAddressEqual(state.latestOwner, zeroAddress) && v1 !== undefined) {\n const [resolver] = yield* ethereum.readContract({\n address: deployment.contracts.universalResolver,\n abi: universalResolverFindResolverAbi,\n functionName: \"findResolver\",\n args: [dnsName],\n });\n if (isAddressEqual(resolver, deployment.migration.ensV1Resolver)) {\n return { kind: \"v1\", protocol: \"v1\", deployment: v1 };\n }\n }\n\n return {\n kind: state.status === 0 && isAddressEqual(state.latestOwner, zeroAddress) ? \"available\" : \"v2\",\n protocol: \"v2\",\n deployment,\n label: analysis.label,\n parentRegistry,\n state,\n };\n});\n"],"mappings":";;;;;;;;;;;;AA8DA,MAAa,gBAAgB,OAAO,GAAG,eAAe,CAAC,CAAC,WACtD,MAKA;CACA,MAAM,cAAc,OAAO;CAC3B,IAAI,YAAY,QAAQ,aAAa,MACnC,OAAO;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY,YAAY,QAAQ;CAAG;CAG1E,MAAM,aAAa,YAAY,QAAQ;CACvC,MAAM,KAAK,YAAY,QAAQ;CAC/B,MAAM,WAAW,YAAY,IAAI;CACjC,IAAI,SAAS,UAAU,QACrB,OAAO,OAAO,SACV;EACE,MAAM;EACN,UAAU;EACV;EACA,OAAO;EACP,gBAAgB,WAAW,UAAU;EACrC,OAAO;GAAE,QAAQ;GAAG,QAAQ;GAAI,aAAa;GAAa,SAAS;GAAI,UAAU;EAAG;CACtF,IACA;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY;CAAG;CAGnD,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO,cAAc,OAAO,IAAI;CAChD,MAAM,iBAAiB,OAAO,SAAS,aAAa;EAClD,SAAS,WAAW,UAAU;EAC9B,KAAK;EACL,cAAc;EACd,MAAM,CAAC,OAAO;CAChB,CAAC;CAED,IAAI,eAAe,gBAAgB,WAAW,GAC5C,OAAO,OAAO,SACV;EACE,MAAM;EACN,UAAU;EACV;EACA,OAAO,SAAS;EAChB,gBAAgB,WAAW,UAAU;EACrC,OAAO;GAAE,QAAQ;GAAG,QAAQ;GAAI,aAAa;GAAa,SAAS;GAAI,UAAU;EAAG;CACtF,IACA;EAAE,MAAM;EAAM,UAAU;EAAM,YAAY;CAAG;CAGnD,MAAM,QAAQ,OAAO,SAAS,aAAa;EACzC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,OAAO,UAAU,SAAS,KAAK,CAAC,CAAC;CAC1C,CAAC;CACD,IAAI,MAAM,WAAW,KAAK,MAAM,WAAW,KAAK,MAAM,WAAW,GAC/D,OAAO,OAAO,IAAI,cAAc;EAC9B,MAAM;EACN,SAAS;EACT,OAAO;CACT,CAAC;CAEH,MAAM,mBAAmB,SAAS;CAClC,MAAM,6BACJ,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW;CACrE,MAAM,oBACJ,qBAAqB,UAAa,CAAC,6BAC/B,QACA,OAAO,SAAS,aAAa;EAC3B,SAAS,WAAW,UAAU;EAC9B,KAAK;EACL,cAAc;EACd,MAAM,CAAC,gBAAgB;CACzB,CAAC;CAEP,KAAK,MAAM,WAAW,KAAM,MAAM,WAAW,KAAK,sBAAuB,OAAO,QAC9E,OAAO;EACL,MAAM;EACN,UAAU;EACV;EACA;EACA,OAAO,SAAS;EAChB;EACA;CACF;CAGF,IAAI,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW,KAAK,OAAO,QAAW;EAC5F,MAAM,CAAC,YAAY,OAAO,SAAS,aAAa;GAC9C,SAAS,WAAW,UAAU;GAC9B,KAAK;GACL,cAAc;GACd,MAAM,CAAC,OAAO;EAChB,CAAC;EACD,IAAI,eAAe,UAAU,WAAW,UAAU,aAAa,GAC7D,OAAO;GAAE,MAAM;GAAM,UAAU;GAAM,YAAY;EAAG;CAExD;CAEA,OAAO;EACL,MAAM,MAAM,WAAW,KAAK,eAAe,MAAM,aAAa,WAAW,IAAI,cAAc;EAC3F,UAAU;EACV;EACA,OAAO,SAAS;EAChB;EACA;CACF;AACF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { viemErrorToEffectError } from "../errors/viem-error.js";
|
|
2
|
+
import { ReadContext } from "./execution-context.js";
|
|
3
|
+
import { PublicClientService } from "../services/public-client.js";
|
|
4
|
+
import { Effect } from "effect";
|
|
5
|
+
|
|
6
|
+
//#region src/internal/read/block-timestamp.ts
|
|
7
|
+
const readBlockTimestamp = Effect.fn("readBlockTimestamp")(function* () {
|
|
8
|
+
const { client } = yield* PublicClientService;
|
|
9
|
+
const context = yield* ReadContext;
|
|
10
|
+
return (yield* Effect.tryPromise({
|
|
11
|
+
try: () => client.getBlock(context.block),
|
|
12
|
+
catch: (cause) => viemErrorToEffectError(cause, "getBlock")
|
|
13
|
+
})).timestamp;
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { readBlockTimestamp };
|
|
18
|
+
//# sourceMappingURL=block-timestamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-timestamp.js","names":[],"sources":["../../../src/internal/read/block-timestamp.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport type { RpcError } from \"../../errors/rpc-error.js\";\nimport { viemErrorToEffectError } from \"../errors/viem-error.js\";\nimport { PublicClientService } from \"../services/public-client.js\";\nimport { ReadContext } from \"./execution-context.js\";\n\nexport const readBlockTimestamp = Effect.fn(\"readBlockTimestamp\")(function* (): Effect.fn.Return<\n bigint,\n RpcError,\n PublicClientService | ReadContext\n> {\n const { client } = yield* PublicClientService;\n const context = yield* ReadContext;\n const block = yield* Effect.tryPromise({\n try: () => client.getBlock(context.block),\n catch: (cause) => viemErrorToEffectError(cause, \"getBlock\"),\n });\n\n return block.timestamp;\n});\n"],"mappings":";;;;;;AAOA,MAAa,qBAAqB,OAAO,GAAG,oBAAoB,CAAC,CAAC,aAIhE;CACA,MAAM,EAAE,WAAW,OAAO;CAC1B,MAAM,UAAU,OAAO;CAMvB,QAAO,OALc,OAAO,WAAW;EACrC,WAAW,OAAO,SAAS,QAAQ,KAAK;EACxC,QAAQ,UAAU,uBAAuB,OAAO,UAAU;CAC5D,CAAC,EAEW,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { defaultReadOptions } from "../../config/read-options.js";
|
|
2
|
+
import { ContractError } from "../../errors/contract-error.js";
|
|
3
|
+
import { viemErrorToEffectError } from "../errors/viem-error.js";
|
|
4
|
+
import { Effect, Exit, RequestResolver, Result, Semaphore } from "effect";
|
|
5
|
+
|
|
6
|
+
//#region src/internal/read/contract-read-resolver.ts
|
|
7
|
+
const executeContractRead = Effect.fn("executeContractRead")(function* (request, resolver) {
|
|
8
|
+
return yield* Effect.request(request, resolver);
|
|
9
|
+
});
|
|
10
|
+
const makeContractReadResolver = ({ publicClient, readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency), multicallBatchSize = defaultReadOptions.multicallBatchSize }) => RequestResolver.makeGrouped({
|
|
11
|
+
key: ({ request }) => request.groupKey,
|
|
12
|
+
resolver: Effect.fn("ContractReadResolver.resolve")(function* (entries) {
|
|
13
|
+
const uniqueRequests = /* @__PURE__ */ new Map();
|
|
14
|
+
for (const entry of entries) {
|
|
15
|
+
const existing = uniqueRequests.get(entry.request.requestKey);
|
|
16
|
+
if (existing === void 0) uniqueRequests.set(entry.request.requestKey, {
|
|
17
|
+
request: entry.request,
|
|
18
|
+
entries: [entry]
|
|
19
|
+
});
|
|
20
|
+
else existing.entries.push(entry);
|
|
21
|
+
}
|
|
22
|
+
const unique = Array.from(uniqueRequests.values());
|
|
23
|
+
const first = entries[0].request;
|
|
24
|
+
const chunks = [];
|
|
25
|
+
let currentChunk = [];
|
|
26
|
+
let currentChunkSize = 0;
|
|
27
|
+
for (const pending of unique) {
|
|
28
|
+
const callSize = (pending.request.callData.length - 2) / 2;
|
|
29
|
+
if (currentChunk.length > 0 && currentChunkSize + callSize > multicallBatchSize) {
|
|
30
|
+
chunks.push(currentChunk);
|
|
31
|
+
currentChunk = [];
|
|
32
|
+
currentChunkSize = 0;
|
|
33
|
+
}
|
|
34
|
+
currentChunk.push(pending);
|
|
35
|
+
currentChunkSize += callSize;
|
|
36
|
+
}
|
|
37
|
+
if (currentChunk.length > 0) chunks.push(currentChunk);
|
|
38
|
+
yield* Effect.annotateCurrentSpan({
|
|
39
|
+
"ens.read.call_count": entries.length,
|
|
40
|
+
"ens.read.unique_call_count": unique.length,
|
|
41
|
+
"ens.read.chunk_count": chunks.length
|
|
42
|
+
});
|
|
43
|
+
const outcomes = yield* Effect.forEach(chunks, (chunk) => Effect.result(readSemaphore.withPermit(Effect.tryPromise({
|
|
44
|
+
try: () => publicClient.multicall({
|
|
45
|
+
contracts: chunk.map(({ request }) => request.contract),
|
|
46
|
+
allowFailure: true,
|
|
47
|
+
batchSize: 0,
|
|
48
|
+
...first.blockNumber === void 0 ? first.blockTag === void 0 ? {} : { blockTag: first.blockTag } : { blockNumber: first.blockNumber },
|
|
49
|
+
...first.account === void 0 ? {} : { account: first.account }
|
|
50
|
+
}),
|
|
51
|
+
catch: (cause) => viemErrorToEffectError(cause, "multicall")
|
|
52
|
+
}))), { concurrency: "unbounded" });
|
|
53
|
+
for (const [chunkIndex, chunk] of chunks.entries()) {
|
|
54
|
+
const outcome = outcomes[chunkIndex];
|
|
55
|
+
if (outcome === void 0) continue;
|
|
56
|
+
if (Result.isFailure(outcome)) {
|
|
57
|
+
for (const pending of chunk) for (const entry of pending.entries) entry.completeUnsafe(Exit.fail(outcome.failure));
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
for (const [resultIndex, pending] of chunk.entries()) {
|
|
61
|
+
const result = outcome.success[resultIndex];
|
|
62
|
+
let exit;
|
|
63
|
+
if (result === void 0) exit = Exit.fail(new ContractError({
|
|
64
|
+
code: "DECODE_FAILED",
|
|
65
|
+
message: "Multicall returned fewer results than requested",
|
|
66
|
+
cause: {
|
|
67
|
+
chunkIndex,
|
|
68
|
+
resultIndex,
|
|
69
|
+
requestKey: pending.request.requestKey
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
else if (result.status === "failure") exit = Exit.fail(viemErrorToEffectError(result.error, "multicall"));
|
|
73
|
+
else exit = Exit.succeed(result.result);
|
|
74
|
+
for (const entry of pending.entries) entry.completeUnsafe(exit);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
}).pipe(RequestResolver.withSpan("ensforge.contractRead.batch"));
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { executeContractRead, makeContractReadResolver };
|
|
82
|
+
//# sourceMappingURL=contract-read-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-read-resolver.js","names":[],"sources":["../../../src/internal/read/contract-read-resolver.ts"],"sourcesContent":["import { Effect, Exit, RequestResolver, Result, Semaphore } from \"effect\";\n\nimport type { PublicClient } from \"viem\";\n\nimport { defaultReadOptions } from \"../../config/read-options.js\";\nimport { ContractError } from \"../../errors/contract-error.js\";\nimport { viemErrorToEffectError, type ViemError } from \"../errors/viem-error.js\";\nimport type { ContractReadRequest } from \"./contract-read.js\";\n\nexport interface ContractReadResolverOptions {\n readonly publicClient: Pick<PublicClient, \"multicall\">;\n readonly readSemaphore?: Semaphore.Semaphore;\n readonly multicallBatchSize?: number;\n}\n\nexport type ContractReadResolver = RequestResolver.RequestResolver<ContractReadRequest>;\n\nexport const executeContractRead = Effect.fn(\"executeContractRead\")(function* <Success>(\n request: ContractReadRequest<Success>,\n resolver: ContractReadResolver,\n): Effect.fn.Return<Success, ViemError> {\n const result = yield* Effect.request(request as ContractReadRequest, resolver);\n return result as Success;\n});\n\nexport const makeContractReadResolver = ({\n publicClient,\n readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency),\n multicallBatchSize = defaultReadOptions.multicallBatchSize,\n}: ContractReadResolverOptions): ContractReadResolver =>\n RequestResolver.makeGrouped<ContractReadRequest, string>({\n key: ({ request }) => request.groupKey,\n resolver: Effect.fn(\"ContractReadResolver.resolve\")(function* (entries) {\n const uniqueRequests = new Map<\n string,\n {\n readonly request: ContractReadRequest;\n readonly entries: Array<(typeof entries)[number]>;\n }\n >();\n\n for (const entry of entries) {\n const existing = uniqueRequests.get(entry.request.requestKey);\n if (existing === undefined) {\n uniqueRequests.set(entry.request.requestKey, {\n request: entry.request,\n entries: [entry],\n });\n } else {\n existing.entries.push(entry);\n }\n }\n\n const unique = Array.from(uniqueRequests.values());\n const first = entries[0].request;\n const chunks: Array<typeof unique> = [];\n let currentChunk: typeof unique = [];\n let currentChunkSize = 0;\n\n for (const pending of unique) {\n const callSize = (pending.request.callData.length - 2) / 2;\n if (currentChunk.length > 0 && currentChunkSize + callSize > multicallBatchSize) {\n chunks.push(currentChunk);\n currentChunk = [];\n currentChunkSize = 0;\n }\n currentChunk.push(pending);\n currentChunkSize += callSize;\n }\n if (currentChunk.length > 0) chunks.push(currentChunk);\n\n yield* Effect.annotateCurrentSpan({\n \"ens.read.call_count\": entries.length,\n \"ens.read.unique_call_count\": unique.length,\n \"ens.read.chunk_count\": chunks.length,\n });\n\n const outcomes = yield* Effect.forEach(\n chunks,\n (chunk) =>\n Effect.result(\n readSemaphore.withPermit(\n Effect.tryPromise({\n try: () =>\n publicClient.multicall({\n contracts: chunk.map(({ request }) => request.contract),\n allowFailure: true,\n batchSize: 0,\n ...(first.blockNumber === undefined\n ? first.blockTag === undefined\n ? {}\n : { blockTag: first.blockTag }\n : { blockNumber: first.blockNumber }),\n ...(first.account === undefined ? {} : { account: first.account }),\n }),\n catch: (cause) => viemErrorToEffectError(cause, \"multicall\"),\n }),\n ),\n ),\n { concurrency: \"unbounded\" },\n );\n\n for (const [chunkIndex, chunk] of chunks.entries()) {\n const outcome = outcomes[chunkIndex];\n if (outcome === undefined) continue;\n\n if (Result.isFailure(outcome)) {\n for (const pending of chunk) {\n for (const entry of pending.entries) {\n entry.completeUnsafe(Exit.fail(outcome.failure));\n }\n }\n continue;\n }\n\n for (const [resultIndex, pending] of chunk.entries()) {\n const result = outcome.success[resultIndex];\n let exit: Exit.Exit<unknown, ViemError>;\n\n if (result === undefined) {\n exit = Exit.fail(\n new ContractError({\n code: \"DECODE_FAILED\",\n message: \"Multicall returned fewer results than requested\",\n cause: { chunkIndex, resultIndex, requestKey: pending.request.requestKey },\n }),\n );\n } else if (result.status === \"failure\") {\n exit = Exit.fail(viemErrorToEffectError(result.error, \"multicall\"));\n } else {\n exit = Exit.succeed(result.result);\n }\n\n for (const entry of pending.entries) entry.completeUnsafe(exit);\n }\n }\n }),\n }).pipe(RequestResolver.withSpan(\"ensforge.contractRead.batch\"));\n"],"mappings":";;;;;;AAiBA,MAAa,sBAAsB,OAAO,GAAG,qBAAqB,CAAC,CAAC,WAClE,SACA,UACsC;CAEtC,OAAO,OADe,OAAO,QAAQ,SAAgC,QAAQ;AAE/E,CAAC;AAED,MAAa,4BAA4B,EACvC,cACA,gBAAgB,UAAU,WAAW,mBAAmB,WAAW,GACnE,qBAAqB,mBAAmB,yBAExC,gBAAgB,YAAyC;CACvD,MAAM,EAAE,cAAc,QAAQ;CAC9B,UAAU,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,SAAS;EACtE,MAAM,iCAAiB,IAAI,IAMzB;EAEF,KAAK,MAAM,SAAS,SAAS;GAC3B,MAAM,WAAW,eAAe,IAAI,MAAM,QAAQ,UAAU;GAC5D,IAAI,aAAa,QACf,eAAe,IAAI,MAAM,QAAQ,YAAY;IAC3C,SAAS,MAAM;IACf,SAAS,CAAC,KAAK;GACjB,CAAC;QAED,SAAS,QAAQ,KAAK,KAAK;EAE/B;EAEA,MAAM,SAAS,MAAM,KAAK,eAAe,OAAO,CAAC;EACjD,MAAM,QAAQ,QAAQ,EAAE,CAAC;EACzB,MAAM,SAA+B,CAAC;EACtC,IAAI,eAA8B,CAAC;EACnC,IAAI,mBAAmB;EAEvB,KAAK,MAAM,WAAW,QAAQ;GAC5B,MAAM,YAAY,QAAQ,QAAQ,SAAS,SAAS,KAAK;GACzD,IAAI,aAAa,SAAS,KAAK,mBAAmB,WAAW,oBAAoB;IAC/E,OAAO,KAAK,YAAY;IACxB,eAAe,CAAC;IAChB,mBAAmB;GACrB;GACA,aAAa,KAAK,OAAO;GACzB,oBAAoB;EACtB;EACA,IAAI,aAAa,SAAS,GAAG,OAAO,KAAK,YAAY;EAErD,OAAO,OAAO,oBAAoB;GAChC,uBAAuB,QAAQ;GAC/B,8BAA8B,OAAO;GACrC,wBAAwB,OAAO;EACjC,CAAC;EAED,MAAM,WAAW,OAAO,OAAO,QAC7B,SACC,UACC,OAAO,OACL,cAAc,WACZ,OAAO,WAAW;GAChB,WACE,aAAa,UAAU;IACrB,WAAW,MAAM,KAAK,EAAE,cAAc,QAAQ,QAAQ;IACtD,cAAc;IACd,WAAW;IACX,GAAI,MAAM,gBAAgB,SACtB,MAAM,aAAa,SACjB,CAAC,IACD,EAAE,UAAU,MAAM,SAAS,IAC7B,EAAE,aAAa,MAAM,YAAY;IACrC,GAAI,MAAM,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,MAAM,QAAQ;GAClE,CAAC;GACH,QAAQ,UAAU,uBAAuB,OAAO,WAAW;EAC7D,CAAC,CACH,CACF,GACF,EAAE,aAAa,YAAY,CAC7B;EAEA,KAAK,MAAM,CAAC,YAAY,UAAU,OAAO,QAAQ,GAAG;GAClD,MAAM,UAAU,SAAS;GACzB,IAAI,YAAY,QAAW;GAE3B,IAAI,OAAO,UAAU,OAAO,GAAG;IAC7B,KAAK,MAAM,WAAW,OACpB,KAAK,MAAM,SAAS,QAAQ,SAC1B,MAAM,eAAe,KAAK,KAAK,QAAQ,OAAO,CAAC;IAGnD;GACF;GAEA,KAAK,MAAM,CAAC,aAAa,YAAY,MAAM,QAAQ,GAAG;IACpD,MAAM,SAAS,QAAQ,QAAQ;IAC/B,IAAI;IAEJ,IAAI,WAAW,QACb,OAAO,KAAK,KACV,IAAI,cAAc;KAChB,MAAM;KACN,SAAS;KACT,OAAO;MAAE;MAAY;MAAa,YAAY,QAAQ,QAAQ;KAAW;IAC3E,CAAC,CACH;SACK,IAAI,OAAO,WAAW,WAC3B,OAAO,KAAK,KAAK,uBAAuB,OAAO,OAAO,WAAW,CAAC;SAElE,OAAO,KAAK,QAAQ,OAAO,MAAM;IAGnC,KAAK,MAAM,SAAS,QAAQ,SAAS,MAAM,eAAe,IAAI;GAChE;EACF;CACF,CAAC;AACH,CAAC,CAAC,CAAC,KAAK,gBAAgB,SAAS,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { viemErrorToEffectError } from "../errors/viem-error.js";
|
|
2
|
+
import { Effect, Request } from "effect";
|
|
3
|
+
import { encodeFunctionData } from "viem";
|
|
4
|
+
|
|
5
|
+
//#region src/internal/read/contract-read.ts
|
|
6
|
+
var ContractReadRequest = class extends Request.Class {};
|
|
7
|
+
const makeContractReadRequest = Effect.fn("makeContractReadRequest")(function* (parameters) {
|
|
8
|
+
const contract = {
|
|
9
|
+
address: parameters.address,
|
|
10
|
+
abi: parameters.abi,
|
|
11
|
+
functionName: parameters.functionName,
|
|
12
|
+
...Array.isArray(parameters.args) ? { args: parameters.args } : {}
|
|
13
|
+
};
|
|
14
|
+
const callData = yield* Effect.try({
|
|
15
|
+
try: () => encodeFunctionData(contract),
|
|
16
|
+
catch: (cause) => viemErrorToEffectError(cause, "encodeFunctionData")
|
|
17
|
+
});
|
|
18
|
+
const groupKey = `${parameters.blockNumber === void 0 ? `tag:${parameters.blockTag ?? "latest"}` : `number:${parameters.blockNumber}`}|account:${parameters.account?.toLowerCase() ?? "none"}`;
|
|
19
|
+
const requestKey = `${groupKey}|target:${parameters.address.toLowerCase()}|data:${callData}`;
|
|
20
|
+
return new ContractReadRequest({
|
|
21
|
+
requestKey,
|
|
22
|
+
groupKey,
|
|
23
|
+
contract,
|
|
24
|
+
callData,
|
|
25
|
+
...parameters.blockNumber === void 0 ? parameters.blockTag === void 0 ? {} : { blockTag: parameters.blockTag } : { blockNumber: parameters.blockNumber },
|
|
26
|
+
...parameters.account === void 0 ? {} : { account: parameters.account }
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { ContractReadRequest, makeContractReadRequest };
|
|
32
|
+
//# sourceMappingURL=contract-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-read.js","names":[],"sources":["../../../src/internal/read/contract-read.ts"],"sourcesContent":["import { Effect, Request } from \"effect\";\n\nimport {\n encodeFunctionData,\n type Abi,\n type Address,\n type ContractFunctionArgs,\n type ContractFunctionName,\n type ContractFunctionParameters,\n type ContractFunctionReturnType,\n type Hex,\n} from \"viem\";\n\nimport type { BlockParameters } from \"../../action/block.js\";\nimport { viemErrorToEffectError, type ViemError } from \"../errors/viem-error.js\";\n\nexport type ContractReadParameters<\n abi extends Abi = Abi,\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\"> = ContractFunctionName<\n abi,\n \"pure\" | \"view\"\n >,\n args extends ContractFunctionArgs<abi, \"pure\" | \"view\", functionName> = ContractFunctionArgs<\n abi,\n \"pure\" | \"view\",\n functionName\n >,\n> = ContractFunctionParameters<abi, \"pure\" | \"view\", functionName, args> &\n BlockParameters & {\n readonly account?: Address;\n };\n\ninterface ContractReadRequestFields {\n readonly requestKey: string;\n readonly groupKey: string;\n readonly contract: ContractFunctionParameters;\n readonly callData: Hex;\n readonly blockNumber?: bigint;\n readonly blockTag?: ContractReadParameters[\"blockTag\"];\n readonly account?: Address;\n}\n\nexport class ContractReadRequest<Success = unknown> extends Request.Class<\n ContractReadRequestFields,\n Success,\n ViemError,\n never\n> {}\n\nexport const makeContractReadRequest = Effect.fn(\"makeContractReadRequest\")(function* <\n const abi extends Abi,\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\">,\n const args extends ContractFunctionArgs<abi, \"pure\" | \"view\", functionName>,\n>(parameters: ContractReadParameters<abi, functionName, args>) {\n const contract: ContractFunctionParameters = {\n address: parameters.address,\n abi: parameters.abi,\n functionName: parameters.functionName,\n ...(Array.isArray(parameters.args) ? { args: parameters.args } : {}),\n };\n const callData = yield* Effect.try({\n try: () => encodeFunctionData(contract),\n catch: (cause) => viemErrorToEffectError(cause, \"encodeFunctionData\"),\n });\n const blockKey =\n parameters.blockNumber === undefined\n ? `tag:${parameters.blockTag ?? \"latest\"}`\n : `number:${parameters.blockNumber}`;\n const groupKey = `${blockKey}|account:${parameters.account?.toLowerCase() ?? \"none\"}`;\n const requestKey = `${groupKey}|target:${parameters.address.toLowerCase()}|data:${callData}`;\n return new ContractReadRequest<\n ContractFunctionReturnType<abi, \"pure\" | \"view\", functionName, args>\n >({\n requestKey,\n groupKey,\n contract,\n callData,\n ...(parameters.blockNumber === undefined\n ? parameters.blockTag === undefined\n ? {}\n : { blockTag: parameters.blockTag }\n : { blockNumber: parameters.blockNumber }),\n ...(parameters.account === undefined ? {} : { account: parameters.account }),\n });\n});\n"],"mappings":";;;;;AA0CA,IAAa,sBAAb,cAA4D,QAAQ,MAKlE,CAAC;AAEH,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAI1E,YAA6D;CAC7D,MAAM,WAAuC;EAC3C,SAAS,WAAW;EACpB,KAAK,WAAW;EAChB,cAAc,WAAW;EACzB,GAAI,MAAM,QAAQ,WAAW,IAAI,IAAI,EAAE,MAAM,WAAW,KAAK,IAAI,CAAC;CACpE;CACA,MAAM,WAAW,OAAO,OAAO,IAAI;EACjC,WAAW,mBAAmB,QAAQ;EACtC,QAAQ,UAAU,uBAAuB,OAAO,oBAAoB;CACtE,CAAC;CAKD,MAAM,WAAW,GAHf,WAAW,gBAAgB,SACvB,OAAO,WAAW,YAAY,aAC9B,UAAU,WAAW,cACE,WAAW,WAAW,SAAS,YAAY,KAAK;CAC7E,MAAM,aAAa,GAAG,SAAS,UAAU,WAAW,QAAQ,YAAY,EAAE,QAAQ;CAClF,OAAO,IAAI,oBAET;EACA;EACA;EACA;EACA;EACA,GAAI,WAAW,gBAAgB,SAC3B,WAAW,aAAa,SACtB,CAAC,IACD,EAAE,UAAU,WAAW,SAAS,IAClC,EAAE,aAAa,WAAW,YAAY;EAC1C,GAAI,WAAW,YAAY,SAAY,CAAC,IAAI,EAAE,SAAS,WAAW,QAAQ;CAC5E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { provideConfig } from "../config/context.js";
|
|
2
|
+
import { ReadContext, ReadExecution } from "./execution-context.js";
|
|
3
|
+
import { Effect, Option } from "effect";
|
|
4
|
+
|
|
5
|
+
//#region src/internal/read/execute-read.ts
|
|
6
|
+
const makeReadContext = Effect.fn("makeReadContext")(function* (config, options) {
|
|
7
|
+
return yield* provideConfig(config, Effect.gen(function* () {
|
|
8
|
+
return yield* (yield* ReadExecution).makeContext(options);
|
|
9
|
+
}));
|
|
10
|
+
});
|
|
11
|
+
const executeRead = Effect.fn("executeRead")(function* (config, options, effect) {
|
|
12
|
+
const activeContext = yield* Effect.serviceOption(ReadContext);
|
|
13
|
+
const configured = provideConfig(config, effect);
|
|
14
|
+
if (Option.isSome(activeContext)) return yield* configured.pipe(Effect.provideService(ReadContext, activeContext.value));
|
|
15
|
+
const context = yield* makeReadContext(config, options);
|
|
16
|
+
return yield* configured.pipe(Effect.provideService(ReadContext, context));
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { executeRead, makeReadContext };
|
|
21
|
+
//# sourceMappingURL=execute-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-read.js","names":[],"sources":["../../../src/internal/read/execute-read.ts"],"sourcesContent":["import { Effect, Option } from \"effect\";\n\nimport type { EnsforgeConfig } from \"../../config/config.js\";\nimport type { RpcError } from \"../../errors/rpc-error.js\";\nimport { provideConfig } from \"../config/context.js\";\nimport type { EnsforgeServices } from \"../services/context.js\";\nimport {\n ReadContext,\n ReadExecution,\n type ReadExecutionContext,\n type ReadExecutionOptions,\n} from \"./execution-context.js\";\n\nexport const makeReadContext = Effect.fn(\"makeReadContext\")(function* (\n config: EnsforgeConfig,\n options: ReadExecutionOptions,\n): Effect.fn.Return<ReadExecutionContext, RpcError> {\n return yield* provideConfig(\n config,\n Effect.gen(function* () {\n const execution = yield* ReadExecution;\n return yield* execution.makeContext(options);\n }),\n );\n});\n\nexport const executeRead = Effect.fn(\"executeRead\")(function* <Success, Failure>(\n config: EnsforgeConfig,\n options: ReadExecutionOptions,\n effect: Effect.Effect<Success, Failure, EnsforgeServices | ReadContext>,\n): Effect.fn.Return<Success, Failure | RpcError> {\n const activeContext = yield* Effect.serviceOption(ReadContext);\n const configured = provideConfig(config, effect);\n\n if (Option.isSome(activeContext)) {\n return yield* configured.pipe(Effect.provideService(ReadContext, activeContext.value));\n }\n\n const context = yield* makeReadContext(config, options);\n return yield* configured.pipe(Effect.provideService(ReadContext, context));\n});\n"],"mappings":";;;;;AAaA,MAAa,kBAAkB,OAAO,GAAG,iBAAiB,CAAC,CAAC,WAC1D,QACA,SACkD;CAClD,OAAO,OAAO,cACZ,QACA,OAAO,IAAI,aAAa;EAEtB,OAAO,QAAO,OADW,cACF,CAAC,YAAY,OAAO;CAC7C,CAAC,CACH;AACF,CAAC;AAED,MAAa,cAAc,OAAO,GAAG,aAAa,CAAC,CAAC,WAClD,QACA,SACA,QAC+C;CAC/C,MAAM,gBAAgB,OAAO,OAAO,cAAc,WAAW;CAC7D,MAAM,aAAa,cAAc,QAAQ,MAAM;CAE/C,IAAI,OAAO,OAAO,aAAa,GAC7B,OAAO,OAAO,WAAW,KAAK,OAAO,eAAe,aAAa,cAAc,KAAK,CAAC;CAGvF,MAAM,UAAU,OAAO,gBAAgB,QAAQ,OAAO;CACtD,OAAO,OAAO,WAAW,KAAK,OAAO,eAAe,aAAa,OAAO,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BlockParameters } from "../../action/block.js";
|
|
2
|
+
import "../../errors/rpc-error.js";
|
|
3
|
+
import "./contract-read-resolver.js";
|
|
4
|
+
import { Context, Effect, Semaphore } from "effect";
|
|
5
|
+
import { PublicClient } from "viem";
|
|
6
|
+
//#region src/internal/read/execution-context.d.ts
|
|
7
|
+
type ReadConsistency = "snapshot" | "best-effort";
|
|
8
|
+
type ReadExecutionOptions = BlockParameters & {
|
|
9
|
+
readonly consistency?: ReadConsistency;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ReadConsistency, ReadExecutionOptions };
|
|
13
|
+
//# sourceMappingURL=execution-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.d.ts","names":[],"sources":["../../../src/internal/read/execution-context.ts"],"mappings":";;;;;;KAUY;KAEA,uBAAuB;WACxB,cAAc"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { getBlockReference } from "../../action/block.js";
|
|
2
|
+
import { defaultReadOptions } from "../../config/read-options.js";
|
|
3
|
+
import { RpcError } from "../../errors/rpc-error.js";
|
|
4
|
+
import { viemErrorToEffectError } from "../errors/viem-error.js";
|
|
5
|
+
import { makeContractReadResolver } from "./contract-read-resolver.js";
|
|
6
|
+
import { Context, Effect, Predicate, Semaphore } from "effect";
|
|
7
|
+
|
|
8
|
+
//#region src/internal/read/execution-context.ts
|
|
9
|
+
var ReadContext = class extends Context.Service()("@ensforge/core/internal/read/ReadContext") {};
|
|
10
|
+
var ReadExecution = class extends Context.Service()("@ensforge/core/internal/read/ReadExecution") {};
|
|
11
|
+
const makeReadExecution = ({ publicClient, readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency), multicallBatchSize = defaultReadOptions.multicallBatchSize }) => {
|
|
12
|
+
const contractReadResolver = makeContractReadResolver({
|
|
13
|
+
publicClient,
|
|
14
|
+
readSemaphore,
|
|
15
|
+
multicallBatchSize
|
|
16
|
+
});
|
|
17
|
+
const makeContext = Effect.fn("ReadExecution.makeContext")(function* (options = {}) {
|
|
18
|
+
const consistency = options.consistency ?? "snapshot";
|
|
19
|
+
if (consistency === "best-effort") return Object.freeze({
|
|
20
|
+
consistency,
|
|
21
|
+
block: Object.freeze(getBlockReference(options)),
|
|
22
|
+
contractReadResolver
|
|
23
|
+
});
|
|
24
|
+
if (options.blockNumber !== void 0) return Object.freeze({
|
|
25
|
+
consistency,
|
|
26
|
+
block: Object.freeze({ blockNumber: options.blockNumber }),
|
|
27
|
+
contractReadResolver
|
|
28
|
+
});
|
|
29
|
+
const blockTag = options.blockTag ?? "latest";
|
|
30
|
+
if (blockTag === "pending") return yield* new RpcError({
|
|
31
|
+
code: "REQUEST_FAILED",
|
|
32
|
+
message: "Snapshot consistency cannot use the pending block",
|
|
33
|
+
cause: { blockTag }
|
|
34
|
+
});
|
|
35
|
+
const block = yield* readSemaphore.withPermit(Effect.tryPromise({
|
|
36
|
+
try: () => publicClient.getBlock({ blockTag }),
|
|
37
|
+
catch: (cause) => viemErrorToEffectError(cause, "getBlock")
|
|
38
|
+
}));
|
|
39
|
+
if (!Predicate.isBigInt(block.number)) return yield* new RpcError({
|
|
40
|
+
code: "REQUEST_FAILED",
|
|
41
|
+
message: `Unable to resolve the ${blockTag} block to a concrete number`,
|
|
42
|
+
cause: {
|
|
43
|
+
blockTag,
|
|
44
|
+
blockNumber: block.number
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
yield* Effect.annotateCurrentSpan({
|
|
48
|
+
"ens.read.consistency": consistency,
|
|
49
|
+
"ens.read.block_number": block.number.toString(),
|
|
50
|
+
"ens.read.block_tag": blockTag
|
|
51
|
+
});
|
|
52
|
+
return Object.freeze({
|
|
53
|
+
consistency,
|
|
54
|
+
block: Object.freeze({ blockNumber: block.number }),
|
|
55
|
+
contractReadResolver
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
return ReadExecution.of({
|
|
59
|
+
contractReadResolver,
|
|
60
|
+
makeContext
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
//#endregion
|
|
65
|
+
export { ReadContext, ReadExecution, makeReadExecution };
|
|
66
|
+
//# sourceMappingURL=execution-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.js","names":[],"sources":["../../../src/internal/read/execution-context.ts"],"sourcesContent":["import { Context, Effect, Predicate, Semaphore } from \"effect\";\n\nimport type { PublicClient } from \"viem\";\n\nimport { getBlockReference, type BlockParameters } from \"../../action/block.js\";\nimport { defaultReadOptions } from \"../../config/read-options.js\";\nimport { RpcError } from \"../../errors/rpc-error.js\";\nimport { viemErrorToEffectError } from \"../errors/viem-error.js\";\nimport { makeContractReadResolver, type ContractReadResolver } from \"./contract-read-resolver.js\";\n\nexport type ReadConsistency = \"snapshot\" | \"best-effort\";\n\nexport type ReadExecutionOptions = BlockParameters & {\n readonly consistency?: ReadConsistency;\n};\n\nexport type ReadExecutionContext =\n | {\n readonly consistency: \"snapshot\";\n readonly block: {\n readonly blockNumber: bigint;\n readonly blockTag?: never;\n };\n readonly contractReadResolver: ContractReadResolver;\n }\n | {\n readonly consistency: \"best-effort\";\n readonly block: BlockParameters;\n readonly contractReadResolver: ContractReadResolver;\n };\n\nexport class ReadContext extends Context.Service<ReadContext, ReadExecutionContext>()(\n \"@ensforge/core/internal/read/ReadContext\",\n) {}\n\nexport interface ReadExecutionService {\n readonly contractReadResolver: ContractReadResolver;\n readonly makeContext: (\n options?: ReadExecutionOptions,\n ) => Effect.Effect<ReadExecutionContext, RpcError>;\n}\n\nexport class ReadExecution extends Context.Service<ReadExecution, ReadExecutionService>()(\n \"@ensforge/core/internal/read/ReadExecution\",\n) {}\n\nexport interface MakeReadExecutionOptions {\n readonly publicClient: Pick<PublicClient, \"getBlock\" | \"multicall\">;\n readonly readSemaphore?: Semaphore.Semaphore;\n readonly multicallBatchSize?: number;\n}\n\nexport const makeReadExecution = ({\n publicClient,\n readSemaphore = Semaphore.makeUnsafe(defaultReadOptions.concurrency),\n multicallBatchSize = defaultReadOptions.multicallBatchSize,\n}: MakeReadExecutionOptions): ReadExecutionService => {\n const contractReadResolver = makeContractReadResolver({\n publicClient,\n readSemaphore,\n multicallBatchSize,\n });\n const makeContext = Effect.fn(\"ReadExecution.makeContext\")(function* (\n options: ReadExecutionOptions = {},\n ): Effect.fn.Return<ReadExecutionContext, RpcError> {\n const consistency = options.consistency ?? \"snapshot\";\n\n if (consistency === \"best-effort\") {\n return Object.freeze({\n consistency,\n block: Object.freeze(getBlockReference(options)),\n contractReadResolver,\n });\n }\n\n if (options.blockNumber !== undefined) {\n return Object.freeze({\n consistency,\n block: Object.freeze({ blockNumber: options.blockNumber }),\n contractReadResolver,\n });\n }\n\n const blockTag = options.blockTag ?? \"latest\";\n if (blockTag === \"pending\") {\n return yield* new RpcError({\n code: \"REQUEST_FAILED\",\n message: \"Snapshot consistency cannot use the pending block\",\n cause: { blockTag },\n });\n }\n\n const block = yield* readSemaphore.withPermit(\n Effect.tryPromise({\n try: () => publicClient.getBlock({ blockTag }),\n catch: (cause) => viemErrorToEffectError(cause, \"getBlock\"),\n }),\n );\n\n if (!Predicate.isBigInt(block.number)) {\n return yield* new RpcError({\n code: \"REQUEST_FAILED\",\n message: `Unable to resolve the ${blockTag} block to a concrete number`,\n cause: { blockTag, blockNumber: block.number },\n });\n }\n\n yield* Effect.annotateCurrentSpan({\n \"ens.read.consistency\": consistency,\n \"ens.read.block_number\": block.number.toString(),\n \"ens.read.block_tag\": blockTag,\n });\n\n return Object.freeze({\n consistency,\n block: Object.freeze({ blockNumber: block.number }),\n contractReadResolver,\n });\n });\n\n return ReadExecution.of({ contractReadResolver, makeContext });\n};\n"],"mappings":";;;;;;;;AA+BA,IAAa,cAAb,cAAiC,QAAQ,QAA2C,CAAC,CACnF,0CACF,CAAC,CAAC,CAAC;AASH,IAAa,gBAAb,cAAmC,QAAQ,QAA6C,CAAC,CACvF,4CACF,CAAC,CAAC,CAAC;AAQH,MAAa,qBAAqB,EAChC,cACA,gBAAgB,UAAU,WAAW,mBAAmB,WAAW,GACnE,qBAAqB,mBAAmB,yBACY;CACpD,MAAM,uBAAuB,yBAAyB;EACpD;EACA;EACA;CACF,CAAC;CACD,MAAM,cAAc,OAAO,GAAG,2BAA2B,CAAC,CAAC,WACzD,UAAgC,CAAC,GACiB;EAClD,MAAM,cAAc,QAAQ,eAAe;EAE3C,IAAI,gBAAgB,eAClB,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,kBAAkB,OAAO,CAAC;GAC/C;EACF,CAAC;EAGH,IAAI,QAAQ,gBAAgB,QAC1B,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,EAAE,aAAa,QAAQ,YAAY,CAAC;GACzD;EACF,CAAC;EAGH,MAAM,WAAW,QAAQ,YAAY;EACrC,IAAI,aAAa,WACf,OAAO,OAAO,IAAI,SAAS;GACzB,MAAM;GACN,SAAS;GACT,OAAO,EAAE,SAAS;EACpB,CAAC;EAGH,MAAM,QAAQ,OAAO,cAAc,WACjC,OAAO,WAAW;GAChB,WAAW,aAAa,SAAS,EAAE,SAAS,CAAC;GAC7C,QAAQ,UAAU,uBAAuB,OAAO,UAAU;EAC5D,CAAC,CACH;EAEA,IAAI,CAAC,UAAU,SAAS,MAAM,MAAM,GAClC,OAAO,OAAO,IAAI,SAAS;GACzB,MAAM;GACN,SAAS,yBAAyB,SAAS;GAC3C,OAAO;IAAE;IAAU,aAAa,MAAM;GAAO;EAC/C,CAAC;EAGH,OAAO,OAAO,oBAAoB;GAChC,wBAAwB;GACxB,yBAAyB,MAAM,OAAO,SAAS;GAC/C,sBAAsB;EACxB,CAAC;EAED,OAAO,OAAO,OAAO;GACnB;GACA,OAAO,OAAO,OAAO,EAAE,aAAa,MAAM,OAAO,CAAC;GAClD;EACF,CAAC;CACH,CAAC;CAED,OAAO,cAAc,GAAG;EAAE;EAAsB;CAAY,CAAC;AAC/D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//#region src/internal/registration/commitment-status.ts
|
|
2
|
+
const classifyCommitmentStatus = ({ protocol, submittedAt, minimumAge, maximumAge, currentTime }) => {
|
|
3
|
+
if (submittedAt === 0n) return {
|
|
4
|
+
status: "not-found",
|
|
5
|
+
protocol
|
|
6
|
+
};
|
|
7
|
+
const readyAt = submittedAt + minimumAge;
|
|
8
|
+
const expiresAt = submittedAt + maximumAge;
|
|
9
|
+
if (currentTime < readyAt) return {
|
|
10
|
+
status: "pending",
|
|
11
|
+
protocol,
|
|
12
|
+
submittedAt,
|
|
13
|
+
readyAt,
|
|
14
|
+
expiresAt,
|
|
15
|
+
remainingSeconds: readyAt - currentTime
|
|
16
|
+
};
|
|
17
|
+
if (currentTime >= expiresAt) return {
|
|
18
|
+
status: "expired",
|
|
19
|
+
protocol,
|
|
20
|
+
submittedAt,
|
|
21
|
+
readyAt,
|
|
22
|
+
expiresAt
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
status: "ready",
|
|
26
|
+
protocol,
|
|
27
|
+
submittedAt,
|
|
28
|
+
readyAt,
|
|
29
|
+
expiresAt,
|
|
30
|
+
remainingSeconds: expiresAt - currentTime
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { classifyCommitmentStatus };
|
|
36
|
+
//# sourceMappingURL=commitment-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitment-status.js","names":[],"sources":["../../../src/internal/registration/commitment-status.ts"],"sourcesContent":["import type { CommitmentStatus } from \"../../actions/registration/types.js\";\nimport type { EnsProtocol } from \"../../schemas/protocol.js\";\n\nexport interface ClassifyCommitmentStatusParameters {\n readonly protocol: EnsProtocol;\n readonly submittedAt: bigint;\n readonly minimumAge: bigint;\n readonly maximumAge: bigint;\n readonly currentTime: bigint;\n}\n\nexport const classifyCommitmentStatus = ({\n protocol,\n submittedAt,\n minimumAge,\n maximumAge,\n currentTime,\n}: ClassifyCommitmentStatusParameters): CommitmentStatus => {\n if (submittedAt === 0n) return { status: \"not-found\", protocol };\n\n const readyAt = submittedAt + minimumAge;\n const expiresAt = submittedAt + maximumAge;\n if (currentTime < readyAt) {\n return {\n status: \"pending\",\n protocol,\n submittedAt,\n readyAt,\n expiresAt,\n remainingSeconds: readyAt - currentTime,\n };\n }\n if (currentTime >= expiresAt) {\n return { status: \"expired\", protocol, submittedAt, readyAt, expiresAt };\n }\n return {\n status: \"ready\",\n protocol,\n submittedAt,\n readyAt,\n expiresAt,\n remainingSeconds: expiresAt - currentTime,\n };\n};\n"],"mappings":";AAWA,MAAa,4BAA4B,EACvC,UACA,aACA,YACA,YACA,kBAC0D;CAC1D,IAAI,gBAAgB,IAAI,OAAO;EAAE,QAAQ;EAAa;CAAS;CAE/D,MAAM,UAAU,cAAc;CAC9B,MAAM,YAAY,cAAc;CAChC,IAAI,cAAc,SAChB,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;EACA,kBAAkB,UAAU;CAC9B;CAEF,IAAI,eAAe,WACjB,OAAO;EAAE,QAAQ;EAAW;EAAU;EAAa;EAAS;CAAU;CAExE,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;EACA,kBAAkB,YAAY;CAChC;AACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EthereumClient } from "../client/ethereum-client.js";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
import { standardRentPriceOracleV2IsPaymentTokenAbi } from "@ensforge/contracts/v2";
|
|
4
|
+
import { erc20DecimalsAbi, erc20SymbolAbi } from "@ensforge/contracts/shared";
|
|
5
|
+
|
|
6
|
+
//#region src/internal/registration/payment-token.ts
|
|
7
|
+
const readPaymentTokenSupport = Effect.fn("readPaymentTokenSupport")(function* (oracle, token) {
|
|
8
|
+
const ethereum = yield* EthereumClient;
|
|
9
|
+
if (!(yield* ethereum.readContract({
|
|
10
|
+
address: oracle,
|
|
11
|
+
abi: standardRentPriceOracleV2IsPaymentTokenAbi,
|
|
12
|
+
functionName: "isPaymentToken",
|
|
13
|
+
args: [token]
|
|
14
|
+
}))) return { supported: false };
|
|
15
|
+
const [symbol, decimals] = yield* Effect.all([ethereum.readContract({
|
|
16
|
+
address: token,
|
|
17
|
+
abi: erc20SymbolAbi,
|
|
18
|
+
functionName: "symbol"
|
|
19
|
+
}), ethereum.readContract({
|
|
20
|
+
address: token,
|
|
21
|
+
abi: erc20DecimalsAbi,
|
|
22
|
+
functionName: "decimals"
|
|
23
|
+
})], { concurrency: "unbounded" });
|
|
24
|
+
return {
|
|
25
|
+
supported: true,
|
|
26
|
+
symbol,
|
|
27
|
+
decimals
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { readPaymentTokenSupport };
|
|
33
|
+
//# sourceMappingURL=payment-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-token.js","names":[],"sources":["../../../src/internal/registration/payment-token.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { erc20DecimalsAbi, erc20SymbolAbi } from \"@ensforge/contracts/shared\";\nimport { standardRentPriceOracleV2IsPaymentTokenAbi } from \"@ensforge/contracts/v2\";\n\nimport type { EthereumAddress } from \"../../schemas/identity.js\";\nimport { EthereumClient } from \"../client/ethereum-client.js\";\n\nexport const readPaymentTokenSupport = Effect.fn(\"readPaymentTokenSupport\")(function* (\n oracle: EthereumAddress,\n token: EthereumAddress,\n) {\n const ethereum = yield* EthereumClient;\n const supported = yield* ethereum.readContract({\n address: oracle,\n abi: standardRentPriceOracleV2IsPaymentTokenAbi,\n functionName: \"isPaymentToken\",\n args: [token],\n });\n if (!supported) return { supported: false as const };\n\n const [symbol, decimals] = yield* Effect.all(\n [\n ethereum.readContract({ address: token, abi: erc20SymbolAbi, functionName: \"symbol\" }),\n ethereum.readContract({ address: token, abi: erc20DecimalsAbi, functionName: \"decimals\" }),\n ] as const,\n { concurrency: \"unbounded\" },\n );\n return { supported: true as const, symbol, decimals };\n});\n"],"mappings":";;;;;;AAQA,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAC1E,QACA,OACA;CACA,MAAM,WAAW,OAAO;CAOxB,IAAI,EAAC,OANoB,SAAS,aAAa;EAC7C,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,KAAK;CACd,CAAC,IACe,OAAO,EAAE,WAAW,MAAe;CAEnD,MAAM,CAAC,QAAQ,YAAY,OAAO,OAAO,IACvC,CACE,SAAS,aAAa;EAAE,SAAS;EAAO,KAAK;EAAgB,cAAc;CAAS,CAAC,GACrF,SAAS,aAAa;EAAE,SAAS;EAAO,KAAK;EAAkB,cAAc;CAAW,CAAC,CAC3F,GACA,EAAE,aAAa,YAAY,CAC7B;CACA,OAAO;EAAE,WAAW;EAAe;EAAQ;CAAS;AACtD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NameError } from "../../errors/name-error.js";
|
|
2
|
+
import { analyzeName } from "../../names/analyze.js";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
|
|
5
|
+
//#region src/internal/registration/second-level-eth.ts
|
|
6
|
+
const getSecondLevelEthLabel = Effect.fn("getSecondLevelEthLabel")(function* (name) {
|
|
7
|
+
const analysis = analyzeName(name);
|
|
8
|
+
const label = analysis.isSecondLevelEth ? analysis.label : void 0;
|
|
9
|
+
if (label === void 0) return yield* new NameError({
|
|
10
|
+
code: "INVALID_NAME",
|
|
11
|
+
message: "Registration and renewal require a second-level .eth name"
|
|
12
|
+
});
|
|
13
|
+
return label;
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getSecondLevelEthLabel };
|
|
18
|
+
//# sourceMappingURL=second-level-eth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"second-level-eth.js","names":[],"sources":["../../../src/internal/registration/second-level-eth.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport { NameError } from \"../../errors/name-error.js\";\nimport { analyzeName } from \"../../names/analyze.js\";\nimport type { NormalizedName } from \"../../schemas/name.js\";\n\nexport const getSecondLevelEthLabel = Effect.fn(\"getSecondLevelEthLabel\")(function* (\n name: NormalizedName,\n) {\n const analysis = analyzeName(name);\n const label = analysis.isSecondLevelEth ? analysis.label : undefined;\n if (label === undefined) {\n return yield* new NameError({\n code: \"INVALID_NAME\",\n message: \"Registration and renewal require a second-level .eth name\",\n });\n }\n return label;\n});\n"],"mappings":";;;;;AAMA,MAAa,yBAAyB,OAAO,GAAG,wBAAwB,CAAC,CAAC,WACxE,MACA;CACA,MAAM,WAAW,YAAY,IAAI;CACjC,MAAM,QAAQ,SAAS,mBAAmB,SAAS,QAAQ;CAC3D,IAAI,UAAU,QACZ,OAAO,OAAO,IAAI,UAAU;EAC1B,MAAM;EACN,SAAS;CACX,CAAC;CAEH,OAAO;AACT,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ReadContext } from "../read/execution-context.js";
|
|
2
|
+
import { EthereumClient } from "../client/ethereum-client.js";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
import { universalResolverV1ResolveAbi, universalResolverV1ResolveWithResolverAbi } from "@ensforge/contracts/v1";
|
|
5
|
+
import { universalResolverV2ResolveAbi, universalResolverV2ResolveWithResolverAbi } from "@ensforge/contracts/v2";
|
|
6
|
+
|
|
7
|
+
//#region src/internal/resolver/resolve-name.ts
|
|
8
|
+
const resolveName = Effect.fn("resolveName")(function* ({ universalResolver, protocol, name, data }) {
|
|
9
|
+
const ethereum = yield* EthereumClient;
|
|
10
|
+
const block = (yield* ReadContext).block;
|
|
11
|
+
if (protocol === "v1") return yield* ethereum.readContractDirect({
|
|
12
|
+
address: universalResolver,
|
|
13
|
+
abi: universalResolverV1ResolveAbi,
|
|
14
|
+
functionName: "resolve",
|
|
15
|
+
args: [name, data],
|
|
16
|
+
...block
|
|
17
|
+
});
|
|
18
|
+
return yield* ethereum.readContractDirect({
|
|
19
|
+
address: universalResolver,
|
|
20
|
+
abi: universalResolverV2ResolveAbi,
|
|
21
|
+
functionName: "resolve",
|
|
22
|
+
args: [name, data],
|
|
23
|
+
...block
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
const resolveNameWithResolver = Effect.fn("resolveNameWithResolver")(function* ({ universalResolver, resolver, protocol, name, data, gateways }) {
|
|
27
|
+
const ethereum = yield* EthereumClient;
|
|
28
|
+
const block = (yield* ReadContext).block;
|
|
29
|
+
const parameters = {
|
|
30
|
+
address: universalResolver,
|
|
31
|
+
functionName: "resolveWithResolver",
|
|
32
|
+
args: [
|
|
33
|
+
resolver,
|
|
34
|
+
name,
|
|
35
|
+
data,
|
|
36
|
+
gateways
|
|
37
|
+
],
|
|
38
|
+
...block
|
|
39
|
+
};
|
|
40
|
+
if (protocol === "v1") return yield* ethereum.readContractDirect({
|
|
41
|
+
...parameters,
|
|
42
|
+
abi: universalResolverV1ResolveWithResolverAbi
|
|
43
|
+
});
|
|
44
|
+
return yield* ethereum.readContractDirect({
|
|
45
|
+
...parameters,
|
|
46
|
+
abi: universalResolverV2ResolveWithResolverAbi
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { resolveName, resolveNameWithResolver };
|
|
52
|
+
//# sourceMappingURL=resolve-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-name.js","names":[],"sources":["../../../src/internal/resolver/resolve-name.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport {\n universalResolverV1ResolveAbi,\n universalResolverV1ResolveWithResolverAbi,\n} from \"@ensforge/contracts/v1\";\nimport {\n universalResolverV2ResolveAbi,\n universalResolverV2ResolveWithResolverAbi,\n} from \"@ensforge/contracts/v2\";\nimport type { Address, Hex } from \"viem\";\n\nimport { EthereumClient } from \"../client/ethereum-client.js\";\nimport type { ViemError } from \"../errors/viem-error.js\";\nimport { ReadContext } from \"../read/execution-context.js\";\n\nexport interface ResolveNameParameters {\n readonly universalResolver: Address;\n readonly protocol: \"v1\" | \"v2\";\n readonly name: Hex;\n readonly data: Hex;\n}\n\nexport interface ResolveNameWithResolverParameters extends ResolveNameParameters {\n readonly resolver: Address;\n readonly gateways: ReadonlyArray<string>;\n}\n\nexport const resolveName = Effect.fn(\"resolveName\")(function* ({\n universalResolver,\n protocol,\n name,\n data,\n}: ResolveNameParameters): Effect.fn.Return<\n readonly [Hex, Address],\n ViemError,\n EthereumClient | ReadContext\n> {\n const ethereum = yield* EthereumClient;\n const context = yield* ReadContext;\n const block = context.block;\n\n if (protocol === \"v1\") {\n return yield* ethereum.readContractDirect({\n address: universalResolver,\n abi: universalResolverV1ResolveAbi,\n functionName: \"resolve\",\n args: [name, data],\n ...block,\n });\n }\n\n return yield* ethereum.readContractDirect({\n address: universalResolver,\n abi: universalResolverV2ResolveAbi,\n functionName: \"resolve\",\n args: [name, data],\n ...block,\n });\n});\n\nexport const resolveNameWithResolver = Effect.fn(\"resolveNameWithResolver\")(function* ({\n universalResolver,\n resolver,\n protocol,\n name,\n data,\n gateways,\n}: ResolveNameWithResolverParameters): Effect.fn.Return<\n Hex,\n ViemError,\n EthereumClient | ReadContext\n> {\n const ethereum = yield* EthereumClient;\n const context = yield* ReadContext;\n const block = context.block;\n const parameters = {\n address: universalResolver,\n functionName: \"resolveWithResolver\",\n args: [resolver, name, data, gateways],\n ...block,\n } as const;\n\n if (protocol === \"v1\") {\n return yield* ethereum.readContractDirect({\n ...parameters,\n abi: universalResolverV1ResolveWithResolverAbi,\n });\n }\n\n return yield* ethereum.readContractDirect({\n ...parameters,\n abi: universalResolverV2ResolveWithResolverAbi,\n });\n});\n"],"mappings":";;;;;;;AA4BA,MAAa,cAAc,OAAO,GAAG,aAAa,CAAC,CAAC,WAAW,EAC7D,mBACA,UACA,MACA,QAKA;CACA,MAAM,WAAW,OAAO;CAExB,MAAM,SAAQ,OADS,YACF,CAAC;CAEtB,IAAI,aAAa,MACf,OAAO,OAAO,SAAS,mBAAmB;EACxC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,MAAM,IAAI;EACjB,GAAG;CACL,CAAC;CAGH,OAAO,OAAO,SAAS,mBAAmB;EACxC,SAAS;EACT,KAAK;EACL,cAAc;EACd,MAAM,CAAC,MAAM,IAAI;EACjB,GAAG;CACL,CAAC;AACH,CAAC;AAED,MAAa,0BAA0B,OAAO,GAAG,yBAAyB,CAAC,CAAC,WAAW,EACrF,mBACA,UACA,UACA,MACA,MACA,YAKA;CACA,MAAM,WAAW,OAAO;CAExB,MAAM,SAAQ,OADS,YACF,CAAC;CACtB,MAAM,aAAa;EACjB,SAAS;EACT,cAAc;EACd,MAAM;GAAC;GAAU;GAAM;GAAM;EAAQ;EACrC,GAAG;CACL;CAEA,IAAI,aAAa,MACf,OAAO,OAAO,SAAS,mBAAmB;EACxC,GAAG;EACH,KAAK;CACP,CAAC;CAGH,OAAO,OAAO,SAAS,mBAAmB;EACxC,GAAG;EACH,KAAK;CACP,CAAC;AACH,CAAC"}
|