@opendatalabs/vana-sdk 0.1.0-alpha.7ee7635 → 0.1.0-alpha.80df35f
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/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
- package/dist/browser.d.ts +4 -2
- package/dist/chains/definitions.cjs +9 -6
- package/dist/chains/definitions.cjs.map +1 -1
- package/dist/chains/definitions.d.ts +9 -11
- package/dist/chains/definitions.js +9 -6
- package/dist/chains/definitions.js.map +1 -1
- package/dist/chains/index.d.ts +5 -2
- package/dist/chains.browser.d.ts +8 -2
- package/dist/chains.d.ts +8 -2
- package/dist/chains.node.d.ts +8 -2
- package/dist/config/addresses.d.ts +8 -45
- package/dist/config/chains.d.ts +9 -13
- package/dist/config/default-services.cjs +60 -0
- package/dist/config/default-services.cjs.map +1 -0
- package/dist/config/default-services.d.ts +46 -0
- package/dist/config/default-services.js +33 -0
- package/dist/config/default-services.js.map +1 -0
- package/dist/config/default-services.test.d.ts +1 -0
- package/dist/config/features.d.ts +1 -3
- package/dist/config/tests/addresses.test.d.ts +1 -0
- package/dist/contracts/contractController.cjs +3 -3
- package/dist/contracts/contractController.cjs.map +1 -1
- package/dist/contracts/contractController.d.ts +11 -49
- package/dist/contracts/contractController.js +4 -7
- package/dist/contracts/contractController.js.map +1 -1
- package/dist/contracts/tests/contractController.test.d.ts +1 -0
- package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
- package/dist/controllers/base.cjs +83 -0
- package/dist/controllers/base.cjs.map +1 -0
- package/dist/controllers/base.d.ts +84 -0
- package/dist/controllers/base.js +59 -0
- package/dist/controllers/base.js.map +1 -0
- package/dist/controllers/data-error-handling.test.d.ts +1 -0
- package/dist/controllers/data.cjs +338 -107
- package/dist/controllers/data.cjs.map +1 -1
- package/dist/controllers/data.d.ts +145 -46
- package/dist/controllers/data.js +338 -107
- package/dist/controllers/data.js.map +1 -1
- package/dist/controllers/permissions.cjs +162 -223
- package/dist/controllers/permissions.cjs.map +1 -1
- package/dist/controllers/permissions.d.ts +24 -78
- package/dist/controllers/permissions.js +162 -223
- package/dist/controllers/permissions.js.map +1 -1
- package/dist/controllers/protocol.cjs +15 -11
- package/dist/controllers/protocol.cjs.map +1 -1
- package/dist/controllers/protocol.d.ts +7 -56
- package/dist/controllers/protocol.js +15 -14
- package/dist/controllers/protocol.js.map +1 -1
- package/dist/controllers/schemas.cjs +29 -36
- package/dist/controllers/schemas.cjs.map +1 -1
- package/dist/controllers/schemas.d.ts +8 -23
- package/dist/controllers/schemas.js +29 -36
- package/dist/controllers/schemas.js.map +1 -1
- package/dist/controllers/server-additional.test.d.ts +1 -0
- package/dist/controllers/server.cjs +15 -10
- package/dist/controllers/server.cjs.map +1 -1
- package/dist/controllers/server.d.ts +7 -20
- package/dist/controllers/server.js +15 -10
- package/dist/controllers/server.js.map +1 -1
- package/dist/core/apiClient.cjs +15 -12
- package/dist/core/apiClient.cjs.map +1 -1
- package/dist/core/apiClient.d.ts +5 -9
- package/dist/core/apiClient.js +19 -19
- package/dist/core/apiClient.js.map +1 -1
- package/dist/core/client.cjs +7 -7
- package/dist/core/client.cjs.map +1 -1
- package/dist/core/client.d.ts +6 -9
- package/dist/core/client.js +7 -7
- package/dist/core/client.js.map +1 -1
- package/dist/core/core.test.d.ts +1 -0
- package/dist/core/generics.cjs +11 -9
- package/dist/core/generics.cjs.map +1 -1
- package/dist/core/generics.d.ts +9 -13
- package/dist/core/generics.js +22 -29
- package/dist/core/generics.js.map +1 -1
- package/dist/core/tests/apiClient.test.d.ts +1 -0
- package/dist/core/tests/client.test.d.ts +1 -0
- package/dist/core/tests/generics.test.d.ts +1 -0
- package/dist/core.cjs +82 -34
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +21 -73
- package/dist/core.js +105 -60
- package/dist/core.js.map +1 -1
- package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
- package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
- package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
- package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
- package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
- package/dist/crypto/ecies/__tests__/test-vectors.d.ts +2 -4
- package/dist/crypto/ecies/base.cjs +4 -3
- package/dist/crypto/ecies/base.cjs.map +1 -1
- package/dist/crypto/ecies/base.d.ts +2 -5
- package/dist/crypto/ecies/base.js +12 -15
- package/dist/crypto/ecies/base.js.map +1 -1
- package/dist/crypto/ecies/browser.cjs +2 -1
- package/dist/crypto/ecies/browser.cjs.map +1 -1
- package/dist/crypto/ecies/browser.d.ts +2 -7
- package/dist/crypto/ecies/browser.js +2 -1
- package/dist/crypto/ecies/browser.js.map +1 -1
- package/dist/crypto/ecies/constants.d.ts +7 -9
- package/dist/crypto/ecies/index.d.ts +8 -1
- package/dist/crypto/ecies/interface.cjs +4 -5
- package/dist/crypto/ecies/interface.cjs.map +1 -1
- package/dist/crypto/ecies/interface.d.ts +9 -11
- package/dist/crypto/ecies/interface.js +4 -5
- package/dist/crypto/ecies/interface.js.map +1 -1
- package/dist/crypto/ecies/node.cjs +3 -2
- package/dist/crypto/ecies/node.cjs.map +1 -1
- package/dist/crypto/ecies/node.d.ts +2 -7
- package/dist/crypto/ecies/node.js +11 -16
- package/dist/crypto/ecies/node.js.map +1 -1
- package/dist/crypto/ecies/utils.cjs +2 -41
- package/dist/crypto/ecies/utils.cjs.map +1 -1
- package/dist/crypto/ecies/utils.d.ts +3 -40
- package/dist/crypto/ecies/utils.js +1 -35
- package/dist/crypto/ecies/utils.js.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.cjs +2 -2
- package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.d.ts +3 -7
- package/dist/crypto/services/WalletKeyEncryptionService.js +5 -9
- package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
- package/dist/diagnostics.d.ts +1 -3
- package/dist/diagnostics.test.d.ts +1 -0
- package/dist/errors.cjs +16 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +53 -15
- package/dist/errors.js +18 -6
- package/dist/errors.js.map +1 -1
- package/dist/generated/abi/ComputeEngineImplementation.d.ts +2 -3
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DATFactoryImplementation.d.ts +2 -3
- package/dist/generated/abi/DATImplementation.d.ts +2 -3
- package/dist/generated/abi/DATPausableImplementation.d.ts +2 -3
- package/dist/generated/abi/DATVotesImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRootImplementation.d.ts +1 -3
- package/dist/generated/abi/DLPTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +1 -3
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/DataRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/QueryEngineImplementation.d.ts +2 -3
- package/dist/generated/abi/SwapHelperImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaEpochImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/index.d.ts +37 -39
- package/dist/generated/event-types.d.ts +9 -10
- package/dist/generated/eventRegistry.d.ts +3 -7
- package/dist/generated/server/server-exports.d.ts +19 -21
- package/dist/generated/server/server.cjs.map +1 -1
- package/dist/generated/server/server.d.ts +113 -87
- package/dist/generated/subgraph.d.ts +329 -332
- package/dist/index.browser.d.ts +47 -96
- package/dist/index.browser.js +12 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +9 -0
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +181 -87
- package/dist/index.node.js +10 -0
- package/dist/index.node.js.map +1 -1
- package/dist/node.d.ts +4 -2
- package/dist/platform/browser-only.d.ts +5 -8
- package/dist/platform/browser-only.test.d.ts +1 -0
- package/dist/platform/browser-safe.d.ts +6 -9
- package/dist/platform/browser-safe.test.d.ts +1 -0
- package/dist/platform/browser.cjs +7 -6
- package/dist/platform/browser.cjs.map +1 -1
- package/dist/platform/browser.d.ts +3 -6
- package/dist/platform/browser.js +19 -27
- package/dist/platform/browser.js.map +1 -1
- package/dist/platform/browser.test.d.ts +1 -0
- package/dist/platform/index.d.ts +11 -5
- package/dist/platform/interface.d.ts +6 -8
- package/dist/platform/node.d.ts +3 -7
- package/dist/platform/node.js +12 -19
- package/dist/platform/node.js.map +1 -1
- package/dist/platform/ports/openpgp-port.cjs +74 -0
- package/dist/platform/ports/openpgp-port.cjs.map +1 -0
- package/dist/platform/ports/openpgp-port.d.ts +13 -0
- package/dist/platform/ports/openpgp-port.js +59 -0
- package/dist/platform/ports/openpgp-port.js.map +1 -0
- package/dist/platform/ports/pgp-port.cjs +17 -0
- package/dist/platform/ports/pgp-port.cjs.map +1 -0
- package/dist/platform/ports/pgp-port.d.ts +35 -0
- package/dist/platform/ports/pgp-port.js +1 -0
- package/dist/platform/ports/pgp-port.js.map +1 -0
- package/dist/platform/shared/error-utils.d.ts +2 -4
- package/dist/platform/shared/pgp-utils.cjs +2 -2
- package/dist/platform/shared/pgp-utils.cjs.map +1 -1
- package/dist/platform/shared/pgp-utils.d.ts +3 -5
- package/dist/platform/shared/pgp-utils.js +2 -2
- package/dist/platform/shared/pgp-utils.js.map +1 -1
- package/dist/platform/shared/stream-utils.d.ts +1 -3
- package/dist/platform/utils.d.ts +6 -10
- package/dist/platform/utils.test.d.ts +1 -0
- package/dist/platform.browser.d.ts +9 -4
- package/dist/platform.d.ts +11 -5
- package/dist/platform.node.d.ts +10 -5
- package/dist/server/handler.cjs.map +1 -1
- package/dist/server/handler.d.ts +8 -227
- package/dist/server/handler.js.map +1 -1
- package/dist/storage/index.d.ts +56 -10
- package/dist/storage/manager.cjs +2 -2
- package/dist/storage/manager.cjs.map +1 -1
- package/dist/storage/manager.d.ts +2 -5
- package/dist/storage/manager.js +5 -12
- package/dist/storage/manager.js.map +1 -1
- package/dist/storage/providers/callback-storage.cjs +3 -3
- package/dist/storage/providers/callback-storage.cjs.map +1 -1
- package/dist/storage/providers/callback-storage.d.ts +3 -9
- package/dist/storage/providers/callback-storage.js +3 -3
- package/dist/storage/providers/callback-storage.js.map +1 -1
- package/dist/storage/providers/google-drive.cjs +2 -2
- package/dist/storage/providers/google-drive.cjs.map +1 -1
- package/dist/storage/providers/google-drive.d.ts +3 -7
- package/dist/storage/providers/google-drive.js +4 -7
- package/dist/storage/providers/google-drive.js.map +1 -1
- package/dist/storage/providers/google-drive.test.d.ts +1 -0
- package/dist/storage/providers/ipfs.cjs +5 -5
- package/dist/storage/providers/ipfs.cjs.map +1 -1
- package/dist/storage/providers/ipfs.d.ts +3 -6
- package/dist/storage/providers/ipfs.js +7 -10
- package/dist/storage/providers/ipfs.js.map +1 -1
- package/dist/storage/providers/pinata.cjs +6 -6
- package/dist/storage/providers/pinata.cjs.map +1 -1
- package/dist/storage/providers/pinata.d.ts +5 -8
- package/dist/storage/providers/pinata.js +8 -11
- package/dist/storage/providers/pinata.js.map +1 -1
- package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
- package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
- package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
- package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
- package/dist/storage/tests/storageManager.test.d.ts +1 -0
- package/dist/tests/abi.test.d.ts +1 -0
- package/dist/tests/chains-definitions.test.d.ts +1 -0
- package/dist/tests/core-encryption.test.d.ts +1 -0
- package/dist/tests/core-extended.test.d.ts +1 -0
- package/dist/tests/core-generics-coverage.test.d.ts +1 -0
- package/dist/tests/coverage-boost.test.d.ts +1 -0
- package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
- package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
- package/dist/tests/data-additional-methods.test.d.ts +1 -0
- package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
- package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
- package/dist/tests/data-relayer.test.d.ts +1 -0
- package/dist/tests/data-schema-validation.test.d.ts +1 -0
- package/dist/tests/data-simple-methods.test.d.ts +1 -0
- package/dist/tests/data.test.d.ts +1 -0
- package/dist/tests/demo-integration.test.d.ts +1 -0
- package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
- package/dist/tests/download-relayer.test.d.ts +1 -0
- package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
- package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
- package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
- package/dist/tests/encryption-coverage.test.d.ts +1 -0
- package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
- package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
- package/dist/tests/errors-coverage.test.d.ts +1 -0
- package/dist/tests/errors.test.d.ts +1 -0
- package/dist/tests/factories/mockFactory.d.ts +316 -0
- package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
- package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
- package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
- package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
- package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
- package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
- package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
- package/dist/tests/helper-methods.test.d.ts +1 -0
- package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
- package/dist/tests/helpers/typedMocks.d.ts +64 -0
- package/dist/tests/index-browser.test.d.ts +1 -0
- package/dist/tests/index-node.test.d.ts +1 -0
- package/dist/tests/index.test.d.ts +1 -0
- package/dist/tests/mocks/platformAdapter.d.ts +12 -0
- package/dist/tests/new-permissions-methods.test.d.ts +1 -0
- package/dist/tests/no-buffer-browser.test.d.ts +1 -0
- package/dist/tests/permissions-grantee.test.d.ts +1 -0
- package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
- package/dist/tests/permissions-server-files.test.d.ts +1 -0
- package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
- package/dist/tests/permissions.test.d.ts +1 -0
- package/dist/tests/personal.test.d.ts +1 -0
- package/dist/tests/platform-browser.test.d.ts +1 -0
- package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
- package/dist/tests/platform-crypto.test.d.ts +1 -0
- package/dist/tests/platform-index.test.d.ts +1 -0
- package/dist/tests/platform-node.test.d.ts +1 -0
- package/dist/tests/platform-shared-utils.test.d.ts +1 -0
- package/dist/tests/platform-updated.test.d.ts +1 -0
- package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
- package/dist/tests/protocol.test.d.ts +1 -0
- package/dist/tests/read-only-mode.test.d.ts +1 -0
- package/dist/tests/schemas.test.d.ts +1 -0
- package/dist/tests/server-handler.test.d.ts +1 -0
- package/dist/tests/setup.d.ts +7 -0
- package/dist/tests/signatureFormatter.test.d.ts +1 -0
- package/dist/tests/trusted-server-queries.test.d.ts +1 -0
- package/dist/tests/typedDataConverter.test.d.ts +1 -0
- package/dist/tests/types-contracts.test.d.ts +1 -0
- package/dist/tests/types-data.test.d.ts +1 -0
- package/dist/tests/types-external-apis.test.d.ts +1 -0
- package/dist/tests/types-generics.test.d.ts +1 -0
- package/dist/tests/types-permissions.test.d.ts +1 -0
- package/dist/tests/types-upload-params.test.d.ts +1 -0
- package/dist/tests/types.test.d.ts +1 -0
- package/dist/tests/utils-formatters.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles.test.d.ts +1 -0
- package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
- package/dist/tests/utils-grants.test.d.ts +1 -0
- package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
- package/dist/tests/utils-ipfs.test.d.ts +4 -0
- package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
- package/dist/tests/vana.test.d.ts +1 -0
- package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
- package/dist/types/blockchain.cjs.map +1 -1
- package/dist/types/blockchain.d.ts +13 -8
- package/dist/types/chains-additional.test.d.ts +1 -0
- package/dist/types/chains.d.ts +6 -9
- package/dist/types/config.cjs +10 -0
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.ts +161 -54
- package/dist/types/config.js +8 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/contracts.cjs.map +1 -1
- package/dist/types/contracts.d.ts +8 -11
- package/dist/types/controller-context.cjs.map +1 -1
- package/dist/types/controller-context.d.ts +13 -20
- package/dist/types/data.cjs.map +1 -1
- package/dist/types/data.d.ts +107 -39
- package/dist/types/external-apis.d.ts +10 -12
- package/dist/types/generics.d.ts +35 -38
- package/dist/types/index.cjs +5 -4
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +20 -22
- package/dist/types/index.js +9 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/operations.cjs +2 -2
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.ts +13 -17
- package/dist/types/operations.js +2 -2
- package/dist/types/operations.js.map +1 -1
- package/dist/types/permissions.d.ts +55 -58
- package/dist/types/personal.cjs.map +1 -1
- package/dist/types/personal.d.ts +6 -8
- package/dist/types/relayer.d.ts +15 -18
- package/dist/types/storage.d.ts +6 -8
- package/dist/types/storage.js +2 -5
- package/dist/types/storage.js.map +1 -1
- package/dist/types/transactionResults.d.ts +16 -18
- package/dist/types/utils.d.ts +21 -24
- package/dist/types.d.ts +4 -28
- package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
- package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
- package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
- package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
- package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
- package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
- package/dist/utils/blockchain/registry.cjs +2 -2
- package/dist/utils/blockchain/registry.cjs.map +1 -1
- package/dist/utils/blockchain/registry.d.ts +6 -8
- package/dist/utils/blockchain/registry.js +2 -2
- package/dist/utils/blockchain/registry.js.map +1 -1
- package/dist/utils/blockchain/registry.test.d.ts +1 -0
- package/dist/utils/crypto-utils.cjs +0 -12
- package/dist/utils/crypto-utils.cjs.map +1 -1
- package/dist/utils/crypto-utils.d.ts +9 -27
- package/dist/utils/crypto-utils.js +0 -11
- package/dist/utils/crypto-utils.js.map +1 -1
- package/dist/utils/crypto-utils.test.d.ts +1 -0
- package/dist/utils/download.cjs +3 -3
- package/dist/utils/download.cjs.map +1 -1
- package/dist/utils/download.d.ts +13 -14
- package/dist/utils/download.js +2 -2
- package/dist/utils/download.js.map +1 -1
- package/dist/utils/encoding.cjs +1 -1
- package/dist/utils/encoding.cjs.map +1 -1
- package/dist/utils/encoding.d.ts +4 -6
- package/dist/utils/encoding.js +1 -1
- package/dist/utils/encoding.js.map +1 -1
- package/dist/utils/encoding.test.d.ts +1 -0
- package/dist/utils/encryption.cjs +16 -10
- package/dist/utils/encryption.cjs.map +1 -1
- package/dist/utils/encryption.d.ts +13 -17
- package/dist/utils/encryption.js +16 -10
- package/dist/utils/encryption.js.map +1 -1
- package/dist/utils/formatters.cjs +4 -2
- package/dist/utils/formatters.cjs.map +1 -1
- package/dist/utils/formatters.d.ts +4 -6
- package/dist/utils/formatters.js +4 -2
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/grantFiles.cjs +7 -4
- package/dist/utils/grantFiles.cjs.map +1 -1
- package/dist/utils/grantFiles.d.ts +6 -10
- package/dist/utils/grantFiles.js +7 -4
- package/dist/utils/grantFiles.js.map +1 -1
- package/dist/utils/grantValidation.cjs +1 -1
- package/dist/utils/grantValidation.cjs.map +1 -1
- package/dist/utils/grantValidation.d.ts +14 -17
- package/dist/utils/grantValidation.js +1 -1
- package/dist/utils/grantValidation.js.map +1 -1
- package/dist/utils/grants.cjs +1 -1
- package/dist/utils/grants.cjs.map +1 -1
- package/dist/utils/grants.d.ts +10 -13
- package/dist/utils/grants.js +1 -1
- package/dist/utils/grants.js.map +1 -1
- package/dist/utils/ipfs.d.ts +8 -10
- package/dist/utils/lazy-import.cjs +4 -6
- package/dist/utils/lazy-import.cjs.map +1 -1
- package/dist/utils/lazy-import.d.ts +1 -3
- package/dist/utils/lazy-import.js +4 -6
- package/dist/utils/lazy-import.js.map +1 -1
- package/dist/utils/multicall.cjs +4 -2
- package/dist/utils/multicall.cjs.map +1 -1
- package/dist/utils/multicall.d.ts +5 -8
- package/dist/utils/multicall.js +4 -2
- package/dist/utils/multicall.js.map +1 -1
- package/dist/utils/parseTransactionPojo.cjs.map +1 -1
- package/dist/utils/parseTransactionPojo.d.ts +4 -10
- package/dist/utils/parseTransactionPojo.js.map +1 -1
- package/dist/utils/schemaValidation.cjs +5 -5
- package/dist/utils/schemaValidation.cjs.map +1 -1
- package/dist/utils/schemaValidation.d.ts +8 -12
- package/dist/utils/schemaValidation.js +7 -10
- package/dist/utils/schemaValidation.js.map +1 -1
- package/dist/utils/signatureCache.cjs +1 -2
- package/dist/utils/signatureCache.cjs.map +1 -1
- package/dist/utils/signatureCache.d.ts +4 -7
- package/dist/utils/signatureCache.js +4 -8
- package/dist/utils/signatureCache.js.map +1 -1
- package/dist/utils/signatureFormatter.cjs +6 -9
- package/dist/utils/signatureFormatter.cjs.map +1 -1
- package/dist/utils/signatureFormatter.d.ts +2 -5
- package/dist/utils/signatureFormatter.js +6 -9
- package/dist/utils/signatureFormatter.js.map +1 -1
- package/dist/utils/tests/multicall.test.d.ts +1 -0
- package/dist/utils/transactionHelpers.cjs.map +1 -1
- package/dist/utils/transactionHelpers.d.ts +5 -11
- package/dist/utils/transactionHelpers.js.map +1 -1
- package/dist/utils/typeGuards.cjs +109 -0
- package/dist/utils/typeGuards.cjs.map +1 -0
- package/dist/utils/typeGuards.d.ts +138 -0
- package/dist/utils/typeGuards.js +74 -0
- package/dist/utils/typeGuards.js.map +1 -0
- package/dist/utils/typedDataConverter.d.ts +3 -6
- package/dist/utils/urlResolver.cjs +1 -1
- package/dist/utils/urlResolver.cjs.map +1 -1
- package/dist/utils/urlResolver.d.ts +2 -4
- package/dist/utils/urlResolver.js +2 -2
- package/dist/utils/urlResolver.js.map +1 -1
- package/dist/utils/wallet.cjs +62 -0
- package/dist/utils/wallet.cjs.map +1 -0
- package/dist/utils/wallet.d.ts +32 -0
- package/dist/utils/wallet.js +36 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/withEvents.cjs.map +1 -1
- package/dist/utils/withEvents.d.ts +5 -12
- package/dist/utils/withEvents.js.map +1 -1
- package/package.json +22 -16
- package/dist/browser.d.cts +0 -2
- package/dist/chains/definitions.d.cts +0 -53
- package/dist/chains/index.d.cts +0 -2
- package/dist/chains.browser.cjs +0 -37
- package/dist/chains.browser.cjs.map +0 -1
- package/dist/chains.browser.d.cts +0 -2
- package/dist/chains.d.cts +0 -2
- package/dist/chains.node.d.cts +0 -2
- package/dist/config/addresses.d.cts +0 -401
- package/dist/config/chains.d.cts +0 -85
- package/dist/config/features.d.cts +0 -64
- package/dist/contracts/contractController.d.cts +0 -117
- package/dist/controllers/data.d.cts +0 -915
- package/dist/controllers/permissions.d.cts +0 -1383
- package/dist/controllers/protocol.d.cts +0 -188
- package/dist/controllers/schemas.d.cts +0 -260
- package/dist/controllers/server.d.cts +0 -230
- package/dist/core/apiClient.d.cts +0 -165
- package/dist/core/client.d.cts +0 -92
- package/dist/core/generics.d.cts +0 -120
- package/dist/core.d.cts +0 -493
- package/dist/crypto/ecies/__tests__/test-vectors.d.cts +0 -40
- package/dist/crypto/ecies/base.d.cts +0 -143
- package/dist/crypto/ecies/browser.d.cts +0 -48
- package/dist/crypto/ecies/constants.d.cts +0 -122
- package/dist/crypto/ecies/index.d.cts +0 -1
- package/dist/crypto/ecies/interface.d.cts +0 -176
- package/dist/crypto/ecies/node.d.cts +0 -50
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.cts +0 -76
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.ts +0 -76
- package/dist/crypto/ecies/utils.d.cts +0 -67
- package/dist/crypto/services/WalletKeyEncryptionService.d.cts +0 -92
- package/dist/diagnostics.d.cts +0 -26
- package/dist/errors.d.cts +0 -350
- package/dist/generated/abi/ComputeEngineImplementation.d.cts +0 -996
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.cts +0 -545
- package/dist/generated/abi/DATFactoryImplementation.d.cts +0 -661
- package/dist/generated/abi/DATImplementation.d.cts +0 -693
- package/dist/generated/abi/DATPausableImplementation.d.cts +0 -1145
- package/dist/generated/abi/DATVotesImplementation.d.cts +0 -1095
- package/dist/generated/abi/DLPPerformanceImplementation.d.cts +0 -883
- package/dist/generated/abi/DLPRegistryImplementation.d.cts +0 -1123
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.cts +0 -714
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DLPRewardSwapImplementation.d.cts +0 -706
- package/dist/generated/abi/DLPRootImplementation.d.cts +0 -1248
- package/dist/generated/abi/DLPTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.cts +0 -737
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.cts +0 -661
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.cts +0 -989
- package/dist/generated/abi/DataPortabilityServersImplementation.d.cts +0 -1086
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.cts +0 -737
- package/dist/generated/abi/DataRegistryImplementation.d.cts +0 -1014
- package/dist/generated/abi/QueryEngineImplementation.d.cts +0 -1001
- package/dist/generated/abi/SwapHelperImplementation.d.cts +0 -764
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolImplementation.d.cts +0 -993
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolPhalaImplementation.d.cts +0 -993
- package/dist/generated/abi/VanaEpochImplementation.d.cts +0 -900
- package/dist/generated/abi/VanaPoolEntityImplementation.d.cts +0 -934
- package/dist/generated/abi/VanaPoolStakingImplementation.d.cts +0 -693
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.cts +0 -394
- package/dist/generated/abi/index.d.cts +0 -26547
- package/dist/generated/event-types.d.cts +0 -855
- package/dist/generated/eventRegistry.d.cts +0 -18
- package/dist/generated/server/server-exports.d.cts +0 -21
- package/dist/generated/server/server.d.cts +0 -512
- package/dist/generated/subgraph.d.cts +0 -5981
- package/dist/index.browser.cjs +0 -151
- package/dist/index.browser.cjs.map +0 -1
- package/dist/index.browser.d.cts +0 -201
- package/dist/index.d.cts +0 -2
- package/dist/index.node.d.cts +0 -87
- package/dist/node.d.cts +0 -2
- package/dist/platform/browser-only.d.cts +0 -25
- package/dist/platform/browser-safe.d.cts +0 -32
- package/dist/platform/browser.d.cts +0 -74
- package/dist/platform/index.d.cts +0 -5
- package/dist/platform/interface.d.cts +0 -218
- package/dist/platform/node.d.cts +0 -27
- package/dist/platform/shared/error-utils.d.cts +0 -25
- package/dist/platform/shared/pgp-utils.d.cts +0 -61
- package/dist/platform/shared/stream-utils.d.cts +0 -16
- package/dist/platform/utils.d.cts +0 -53
- package/dist/platform.browser.cjs +0 -41
- package/dist/platform.browser.cjs.map +0 -1
- package/dist/platform.browser.d.cts +0 -4
- package/dist/platform.d.cts +0 -5
- package/dist/platform.node.d.cts +0 -5
- package/dist/schemas/dataSchema.schema.d.cts +0 -88
- package/dist/schemas/dataSchema.schema.d.ts +0 -88
- package/dist/schemas/grantFile.schema.d.cts +0 -57
- package/dist/schemas/grantFile.schema.d.ts +0 -57
- package/dist/server/handler.d.cts +0 -306
- package/dist/storage/index.d.cts +0 -10
- package/dist/storage/manager.d.cts +0 -150
- package/dist/storage/providers/callback-storage.d.cts +0 -100
- package/dist/storage/providers/google-drive.d.cts +0 -156
- package/dist/storage/providers/ipfs.d.cts +0 -163
- package/dist/storage/providers/pinata.d.cts +0 -173
- package/dist/types/blockchain.d.cts +0 -52
- package/dist/types/chains.d.cts +0 -34
- package/dist/types/config.d.cts +0 -726
- package/dist/types/contracts.d.cts +0 -68
- package/dist/types/controller-context.d.cts +0 -71
- package/dist/types/data.d.cts +0 -694
- package/dist/types/eccrypto-js.d.d.cts +0 -13
- package/dist/types/eccrypto-js.d.d.ts +0 -13
- package/dist/types/external-apis.d.cts +0 -186
- package/dist/types/generics.d.cts +0 -450
- package/dist/types/index.d.cts +0 -22
- package/dist/types/operations.d.cts +0 -116
- package/dist/types/permissions.d.cts +0 -957
- package/dist/types/personal.d.cts +0 -40
- package/dist/types/relayer.d.cts +0 -284
- package/dist/types/storage.d.cts +0 -131
- package/dist/types/transactionResults.d.cts +0 -195
- package/dist/types/utils.d.cts +0 -819
- package/dist/types.d.cts +0 -54
- package/dist/utils/blockchain/registry.d.cts +0 -34
- package/dist/utils/crypto-utils.d.cts +0 -118
- package/dist/utils/download.d.cts +0 -41
- package/dist/utils/encoding.d.cts +0 -54
- package/dist/utils/encryption.d.cts +0 -275
- package/dist/utils/formatters.d.cts +0 -120
- package/dist/utils/grantFiles.d.cts +0 -186
- package/dist/utils/grantValidation.d.cts +0 -150
- package/dist/utils/grants.d.cts +0 -70
- package/dist/utils/ipfs.d.cts +0 -90
- package/dist/utils/lazy-import.d.cts +0 -20
- package/dist/utils/multicall.d.cts +0 -129
- package/dist/utils/parseTransactionPojo.d.cts +0 -37
- package/dist/utils/schemaValidation.d.cts +0 -172
- package/dist/utils/signatureCache.d.cts +0 -134
- package/dist/utils/signatureFormatter.d.cts +0 -39
- package/dist/utils/transactionHelpers.d.cts +0 -86
- package/dist/utils/typedDataConverter.d.cts +0 -13
- package/dist/utils/urlResolver.d.cts +0 -40
- package/dist/utils/withEvents.d.cts +0 -63
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { GetContractReturnType } from 'viem';
|
|
2
|
-
import { ContractInfo } from '../types/contracts.cjs';
|
|
3
|
-
import { ControllerContext } from '../types/controller-context.cjs';
|
|
4
|
-
import { VanaContract, ContractAbis } from '../generated/abi/index.cjs';
|
|
5
|
-
import { ContractFactory } from '../contracts/contractController.cjs';
|
|
6
|
-
import '../platform/interface.cjs';
|
|
7
|
-
import '../types/config.cjs';
|
|
8
|
-
import '../types/chains.cjs';
|
|
9
|
-
import '../types/storage.cjs';
|
|
10
|
-
import '../types/permissions.cjs';
|
|
11
|
-
import '../storage/manager.cjs';
|
|
12
|
-
import '../types/operations.cjs';
|
|
13
|
-
import '../generated/event-types.cjs';
|
|
14
|
-
import '../generated/server/server-exports.cjs';
|
|
15
|
-
import '../generated/server/server.cjs';
|
|
16
|
-
import '../generated/abi/ComputeEngineImplementation.cjs';
|
|
17
|
-
import '../generated/abi/DataRegistryImplementation.cjs';
|
|
18
|
-
import '../generated/abi/TeePoolImplementation.cjs';
|
|
19
|
-
import '../generated/abi/TeePoolPhalaImplementation.cjs';
|
|
20
|
-
import '../generated/abi/DataPortabilityPermissionsImplementation.cjs';
|
|
21
|
-
import '../generated/abi/DataPortabilityServersImplementation.cjs';
|
|
22
|
-
import '../generated/abi/DataPortabilityGranteesImplementation.cjs';
|
|
23
|
-
import '../generated/abi/DataRefinerRegistryImplementation.cjs';
|
|
24
|
-
import '../generated/abi/QueryEngineImplementation.cjs';
|
|
25
|
-
import '../generated/abi/ComputeInstructionRegistryImplementation.cjs';
|
|
26
|
-
import '../generated/abi/TeePoolEphemeralStandardImplementation.cjs';
|
|
27
|
-
import '../generated/abi/TeePoolPersistentStandardImplementation.cjs';
|
|
28
|
-
import '../generated/abi/TeePoolPersistentGpuImplementation.cjs';
|
|
29
|
-
import '../generated/abi/TeePoolDedicatedStandardImplementation.cjs';
|
|
30
|
-
import '../generated/abi/TeePoolDedicatedGpuImplementation.cjs';
|
|
31
|
-
import '../generated/abi/VanaEpochImplementation.cjs';
|
|
32
|
-
import '../generated/abi/DLPRegistryImplementation.cjs';
|
|
33
|
-
import '../generated/abi/DLPTreasuryImplementation.cjs';
|
|
34
|
-
import '../generated/abi/DLPRewardDeployerTreasuryImplementation.cjs';
|
|
35
|
-
import '../generated/abi/DLPPerformanceImplementation.cjs';
|
|
36
|
-
import '../generated/abi/DLPRewardDeployerImplementation.cjs';
|
|
37
|
-
import '../generated/abi/DLPRewardSwapImplementation.cjs';
|
|
38
|
-
import '../generated/abi/SwapHelperImplementation.cjs';
|
|
39
|
-
import '../generated/abi/DLPRootImplementation.cjs';
|
|
40
|
-
import '../generated/abi/DataLiquidityPoolImplementation.cjs';
|
|
41
|
-
import '../generated/abi/DLPRegistryTreasuryImplementation.cjs';
|
|
42
|
-
import '../generated/abi/VanaPoolStakingImplementation.cjs';
|
|
43
|
-
import '../generated/abi/VanaPoolEntityImplementation.cjs';
|
|
44
|
-
import '../generated/abi/VanaPoolTreasuryImplementation.cjs';
|
|
45
|
-
import '../generated/abi/DATImplementation.cjs';
|
|
46
|
-
import '../generated/abi/DATFactoryImplementation.cjs';
|
|
47
|
-
import '../generated/abi/DATPausableImplementation.cjs';
|
|
48
|
-
import '../generated/abi/DATVotesImplementation.cjs';
|
|
49
|
-
import 'abitype';
|
|
50
|
-
import '../core/client.cjs';
|
|
51
|
-
import '../config/chains.cjs';
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Provides direct, low-level access to all Vana protocol smart contracts.
|
|
55
|
-
*
|
|
56
|
-
* @remarks
|
|
57
|
-
* This controller serves as the designated "escape hatch" for advanced developers who need
|
|
58
|
-
* to interact directly with the underlying blockchain contracts. It provides access to
|
|
59
|
-
* contract addresses, ABIs, and factory methods for creating typed contract instances.
|
|
60
|
-
* Most developers should use the higher-level DataController and PermissionsController
|
|
61
|
-
* instead of this advanced API.
|
|
62
|
-
*
|
|
63
|
-
* **Contract Selection:**
|
|
64
|
-
* The controller automatically handles chain detection and provides only contracts that
|
|
65
|
-
* are deployed on the current network. All contract instances are fully typed for
|
|
66
|
-
* enhanced developer experience and type safety.
|
|
67
|
-
*
|
|
68
|
-
* **Method Selection:**
|
|
69
|
-
* - `getContract()` retrieves contract address and ABI for manual interaction
|
|
70
|
-
* - `createContract()` returns fully typed contract instance with read/write methods
|
|
71
|
-
* - `getAvailableContracts()` lists all contracts deployed on current chain
|
|
72
|
-
* - `isContractAvailable()` checks if specific contract exists on current chain
|
|
73
|
-
* - `getChainId()` and `getChainName()` provide current network information
|
|
74
|
-
*
|
|
75
|
-
* **Usage Guidelines:**
|
|
76
|
-
* Use this controller when high-level controllers don't provide needed functionality.
|
|
77
|
-
* Most developers should use `vana.data.*` for files and `vana.permissions.*` for access control.
|
|
78
|
-
*
|
|
79
|
-
* **Type Safety:**
|
|
80
|
-
* Use `as const` assertion with contract names for full TypeScript type inference.
|
|
81
|
-
* Contract instances provide complete typing for all methods, parameters, and return values.
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```typescript
|
|
85
|
-
* // Get contract info for direct interaction
|
|
86
|
-
* const registry = vana.protocol.getContract("DataRegistry" as const);
|
|
87
|
-
*
|
|
88
|
-
* // Access contract address and ABI with full typing
|
|
89
|
-
* console.log(registry.address); // Contract address on current chain
|
|
90
|
-
* console.log(registry.abi); // Fully typed contract ABI
|
|
91
|
-
*
|
|
92
|
-
* // Create a typed contract instance
|
|
93
|
-
* const contract = vana.protocol.createContract("DataRegistry" as const);
|
|
94
|
-
* const fileCount = await contract.read.filesCount();
|
|
95
|
-
* ```
|
|
96
|
-
* @category Advanced
|
|
97
|
-
* @see {@link https://docs.vana.com/developer/protocol/contracts | Vana Protocol Contracts} for contract specifications
|
|
98
|
-
*/
|
|
99
|
-
declare class ProtocolController {
|
|
100
|
-
private readonly context;
|
|
101
|
-
private readonly contractFactory;
|
|
102
|
-
constructor(context: ControllerContext);
|
|
103
|
-
/**
|
|
104
|
-
* Retrieves the address and ABI for a specific Vana protocol contract.
|
|
105
|
-
*
|
|
106
|
-
* @remarks
|
|
107
|
-
* This method provides direct access to contract addresses and ABIs for the current
|
|
108
|
-
* chain. It includes full TypeScript type inference when using const assertions,
|
|
109
|
-
* enabling type-safe contract interactions. The method only returns contracts that
|
|
110
|
-
* are actually deployed on the current network.
|
|
111
|
-
* @param contractName - The name of the Vana contract to retrieve (use const assertion for full typing)
|
|
112
|
-
* @returns An object containing the contract's address and fully typed ABI
|
|
113
|
-
* @throws {ContractNotFoundError} When the contract is not deployed on the current chain.
|
|
114
|
-
* Verify contract name spelling and check current network with `getChainId()`.
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* // Get contract info with full type inference
|
|
118
|
-
* const dataRegistry = vana.protocol.getContract("DataRegistry" as const);
|
|
119
|
-
*
|
|
120
|
-
* // Now dataRegistry.abi is fully typed for the DataRegistry contract
|
|
121
|
-
* console.log(dataRegistry.address); // "0x123..."
|
|
122
|
-
* console.log(dataRegistry.abi.length); // Full ABI array
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
getContract<T extends VanaContract>(contractName: T): ContractInfo<ContractAbis[T]>;
|
|
126
|
-
/**
|
|
127
|
-
* Creates a fully typed contract instance ready for blockchain interaction.
|
|
128
|
-
*
|
|
129
|
-
* @remarks
|
|
130
|
-
* This method creates a contract instance with complete type safety for all contract
|
|
131
|
-
* methods including read operations, write operations, and event handling. The instance
|
|
132
|
-
* is pre-configured with the correct address, ABI, and wallet client for immediate use.
|
|
133
|
-
* All method parameters and return types are fully typed based on the contract ABI.
|
|
134
|
-
* @param contractName - The name of the Vana contract (use const assertion for full typing)
|
|
135
|
-
* @returns A fully typed contract instance with read/write methods and event handling
|
|
136
|
-
* @throws {ContractNotFoundError} When the contract is not deployed on the current chain
|
|
137
|
-
* @example
|
|
138
|
-
* ```typescript
|
|
139
|
-
* // Create typed contract instance
|
|
140
|
-
* const dataRegistry = vana.protocol.createContract("DataRegistry" as const);
|
|
141
|
-
*
|
|
142
|
-
* // Full type safety for all operations
|
|
143
|
-
* const fileCount = await dataRegistry.read.filesCount(); // Type: bigint
|
|
144
|
-
* const txHash = await dataRegistry.write.addFile(["ipfs://..."]); // Typed parameters
|
|
145
|
-
*
|
|
146
|
-
* // Listen to events with full typing
|
|
147
|
-
* const logs = await dataRegistry.getEvents.FileAdded();
|
|
148
|
-
* ```
|
|
149
|
-
*/
|
|
150
|
-
createContract<T extends VanaContract>(contractName: T): GetContractReturnType<ContractAbis[T]>;
|
|
151
|
-
/**
|
|
152
|
-
* Gets all available contract names that can be used with getContract().
|
|
153
|
-
* Returns only contracts that are actually deployed on the current chain.
|
|
154
|
-
*
|
|
155
|
-
* @returns Array of all available contract names for the current chain
|
|
156
|
-
*/
|
|
157
|
-
getAvailableContracts(): VanaContract[];
|
|
158
|
-
/**
|
|
159
|
-
* Checks if a specific contract is available on the current chain.
|
|
160
|
-
*
|
|
161
|
-
* @param contractName - The contract name to check
|
|
162
|
-
* @returns Whether the contract is deployed on the current chain
|
|
163
|
-
*/
|
|
164
|
-
isContractAvailable(contractName: VanaContract): boolean;
|
|
165
|
-
/**
|
|
166
|
-
* Gets the contract factory instance for advanced usage.
|
|
167
|
-
* This provides access to additional contract management methods.
|
|
168
|
-
*
|
|
169
|
-
* @returns The contract factory instance
|
|
170
|
-
*/
|
|
171
|
-
getContractFactory(): ContractFactory;
|
|
172
|
-
/**
|
|
173
|
-
* Gets the current chain ID from the wallet client.
|
|
174
|
-
*
|
|
175
|
-
* @returns The chain ID
|
|
176
|
-
* @throws {Error} When chain ID is not available from wallet client
|
|
177
|
-
*/
|
|
178
|
-
getChainId(): number;
|
|
179
|
-
/**
|
|
180
|
-
* Gets the current chain name from the wallet client.
|
|
181
|
-
*
|
|
182
|
-
* @returns The chain name
|
|
183
|
-
* @throws {Error} When chain name is not available from wallet client
|
|
184
|
-
*/
|
|
185
|
-
getChainName(): string;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
export { ProtocolController };
|
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
import { CompleteSchema, Schema, AddSchemaParams } from '../types/data.cjs';
|
|
2
|
-
import { SchemaAddedResult } from '../types/transactionResults.cjs';
|
|
3
|
-
import { ControllerContext } from '../types/controller-context.cjs';
|
|
4
|
-
import 'viem';
|
|
5
|
-
import '../platform/interface.cjs';
|
|
6
|
-
import '../types/config.cjs';
|
|
7
|
-
import '../types/chains.cjs';
|
|
8
|
-
import '../types/storage.cjs';
|
|
9
|
-
import '../types/permissions.cjs';
|
|
10
|
-
import '../storage/manager.cjs';
|
|
11
|
-
import '../types/operations.cjs';
|
|
12
|
-
import '../generated/event-types.cjs';
|
|
13
|
-
import '../generated/server/server-exports.cjs';
|
|
14
|
-
import '../generated/server/server.cjs';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Parameters for creating a new schema with automatic IPFS upload.
|
|
18
|
-
*
|
|
19
|
-
* @remarks
|
|
20
|
-
* This interface is used with the high-level `schemas.create()` method which
|
|
21
|
-
* automatically uploads the schema definition to IPFS and registers it on-chain.
|
|
22
|
-
* @category Schema Management
|
|
23
|
-
*/
|
|
24
|
-
interface CreateSchemaParams {
|
|
25
|
-
/** The name of the schema */
|
|
26
|
-
name: string;
|
|
27
|
-
/** The dialect of the schema (e.g., 'json' or 'sqlite') */
|
|
28
|
-
dialect: "json" | "sqlite";
|
|
29
|
-
/** The schema definition object or JSON string */
|
|
30
|
-
schema: object | string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Result of creating a new schema.
|
|
34
|
-
*
|
|
35
|
-
* @remarks
|
|
36
|
-
* Returned by the `schemas.create()` method after successful upload and registration.
|
|
37
|
-
* @category Schema Management
|
|
38
|
-
*/
|
|
39
|
-
interface CreateSchemaResult {
|
|
40
|
-
/** The schema ID assigned by the contract */
|
|
41
|
-
schemaId: number;
|
|
42
|
-
/** The IPFS URL where the schema definition is stored */
|
|
43
|
-
definitionUrl: string;
|
|
44
|
-
/** The transaction hash of the schema registration */
|
|
45
|
-
transactionHash: string;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Manages data schemas and refiners on the Vana network.
|
|
49
|
-
*
|
|
50
|
-
* @remarks
|
|
51
|
-
* This controller handles the complete lifecycle of data schemas including creation,
|
|
52
|
-
* validation, IPFS upload, and blockchain registration. It provides methods for managing
|
|
53
|
-
* both schemas (data structure definitions) and refiners (data processing definitions).
|
|
54
|
-
*
|
|
55
|
-
* **Schema Storage:**
|
|
56
|
-
* Schemas are stored unencrypted on IPFS for public access and reusability across the network.
|
|
57
|
-
* Schema definitions use JSON Schema format for data validation and structure definition.
|
|
58
|
-
*
|
|
59
|
-
* **Method Selection:**
|
|
60
|
-
* - `create()` validates, uploads to IPFS, and registers new schemas on blockchain
|
|
61
|
-
* - `get()` retrieves existing schema metadata by ID from blockchain contracts
|
|
62
|
-
* - `count()` returns total number of registered schemas for pagination
|
|
63
|
-
* - `list()` provides paginated access to all schemas with optional filtering
|
|
64
|
-
* - `addSchema()` provides lower-level schema registration with pre-uploaded URLs
|
|
65
|
-
*
|
|
66
|
-
* **Storage Requirements:**
|
|
67
|
-
* Methods requiring storage configuration: `create()`
|
|
68
|
-
* Methods working without storage: `get()`, `count()`, `list()`, `addSchema()`
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* // Create a new schema with automatic IPFS upload
|
|
73
|
-
* const result = await vana.schemas.create({
|
|
74
|
-
* name: "User Profile",
|
|
75
|
-
* dialect: "json",
|
|
76
|
-
* schema: {
|
|
77
|
-
* type: "object",
|
|
78
|
-
* properties: {
|
|
79
|
-
* name: { type: "string" },
|
|
80
|
-
* age: { type: "number" }
|
|
81
|
-
* },
|
|
82
|
-
* required: ["name"]
|
|
83
|
-
* }
|
|
84
|
-
* });
|
|
85
|
-
*
|
|
86
|
-
* // Get an existing schema
|
|
87
|
-
* const schema = await vana.schemas.get(1);
|
|
88
|
-
*
|
|
89
|
-
* // List all schemas
|
|
90
|
-
* const count = await vana.schemas.count();
|
|
91
|
-
* ```
|
|
92
|
-
* @category Schema Management
|
|
93
|
-
*/
|
|
94
|
-
declare class SchemaController {
|
|
95
|
-
private readonly context;
|
|
96
|
-
constructor(context: ControllerContext);
|
|
97
|
-
/**
|
|
98
|
-
* Creates a new schema with automatic validation and IPFS upload.
|
|
99
|
-
*
|
|
100
|
-
* @remarks
|
|
101
|
-
* This is the primary method for creating schemas on the Vana network. It handles
|
|
102
|
-
* the complete workflow including schema validation, IPFS upload, and blockchain
|
|
103
|
-
* registration. The schema definition is stored unencrypted on IPFS to enable
|
|
104
|
-
* public access and reusability.
|
|
105
|
-
*
|
|
106
|
-
* The method automatically:
|
|
107
|
-
* - Validates the schema definition against the Vana metaschema
|
|
108
|
-
* - Uploads the definition to IPFS to generate a permanent URL
|
|
109
|
-
* - Registers the schema on the blockchain with the generated URL
|
|
110
|
-
*
|
|
111
|
-
* @param params - Schema creation parameters including name, dialect, and definition
|
|
112
|
-
* @returns Promise resolving to creation results with schema ID and transaction hash
|
|
113
|
-
* @throws {SchemaValidationError} When the schema definition is invalid
|
|
114
|
-
* @throws {Error} When IPFS upload or blockchain registration fails
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* // Create a JSON schema for user profiles
|
|
118
|
-
* const result = await vana.schemas.create({
|
|
119
|
-
* name: "User Profile",
|
|
120
|
-
* dialect: "json",
|
|
121
|
-
* schema: {
|
|
122
|
-
* type: "object",
|
|
123
|
-
* properties: {
|
|
124
|
-
* name: { type: "string" },
|
|
125
|
-
* age: { type: "number", minimum: 0 }
|
|
126
|
-
* },
|
|
127
|
-
* required: ["name"]
|
|
128
|
-
* }
|
|
129
|
-
* });
|
|
130
|
-
*
|
|
131
|
-
* console.log(`Schema created with ID: ${result.schemaId}`);
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
create(params: CreateSchemaParams): Promise<CreateSchemaResult>;
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves a complete schema by its ID with definition fetched and flattened.
|
|
137
|
-
*
|
|
138
|
-
* @param schemaId - The ID of the schema to retrieve
|
|
139
|
-
* @param options - Optional parameters
|
|
140
|
-
* @param options.subgraphUrl - Custom subgraph URL to use instead of default
|
|
141
|
-
* @returns Promise resolving to the complete schema object with all fields populated
|
|
142
|
-
* @throws {Error} When the schema is not found, definition cannot be fetched, or chain is unavailable
|
|
143
|
-
* @example
|
|
144
|
-
* ```typescript
|
|
145
|
-
* const schema = await vana.schemas.get(1);
|
|
146
|
-
* console.log(`Schema: ${schema.name} (${schema.dialect})`);
|
|
147
|
-
* console.log(`Version: ${schema.version}`);
|
|
148
|
-
* console.log(`Description: ${schema.description}`);
|
|
149
|
-
* console.log('Schema:', schema.schema);
|
|
150
|
-
*
|
|
151
|
-
* // Use directly with validator (schema has all required fields)
|
|
152
|
-
* validator.validateDataAgainstSchema(data, schema);
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
get(schemaId: number, options?: {
|
|
156
|
-
subgraphUrl?: string;
|
|
157
|
-
}): Promise<CompleteSchema>;
|
|
158
|
-
/**
|
|
159
|
-
* Gets the total number of schemas registered on the network.
|
|
160
|
-
*
|
|
161
|
-
* @param options - Optional parameters
|
|
162
|
-
* @param options.subgraphUrl - Custom subgraph URL to use instead of default
|
|
163
|
-
* @returns Promise resolving to the total schema count
|
|
164
|
-
* @throws {Error} When the count cannot be retrieved
|
|
165
|
-
* @example
|
|
166
|
-
* ```typescript
|
|
167
|
-
* const count = await vana.schemas.count();
|
|
168
|
-
* console.log(`Total schemas: ${count}`);
|
|
169
|
-
*
|
|
170
|
-
* // With custom subgraph
|
|
171
|
-
* const count = await vana.schemas.count({
|
|
172
|
-
* subgraphUrl: 'https://custom-subgraph.com/graphql'
|
|
173
|
-
* });
|
|
174
|
-
* ```
|
|
175
|
-
*/
|
|
176
|
-
count(options?: {
|
|
177
|
-
subgraphUrl?: string;
|
|
178
|
-
}): Promise<number>;
|
|
179
|
-
/**
|
|
180
|
-
* Lists all schemas with pagination.
|
|
181
|
-
*
|
|
182
|
-
* @param options - Optional parameters for listing schemas
|
|
183
|
-
* @param options.limit - Maximum number of schemas to return
|
|
184
|
-
* @param options.offset - Number of schemas to skip
|
|
185
|
-
* @param options.subgraphUrl - Custom subgraph URL to use instead of default
|
|
186
|
-
* @param options.includeDefinitions - Whether to fetch and include schema definitions (default: false for performance)
|
|
187
|
-
* @returns Promise resolving to an array of schemas
|
|
188
|
-
* @example
|
|
189
|
-
* ```typescript
|
|
190
|
-
* // Get all schemas (without definitions for performance)
|
|
191
|
-
* const schemas = await vana.schemas.list();
|
|
192
|
-
*
|
|
193
|
-
* // Get schemas with definitions
|
|
194
|
-
* const schemas = await vana.schemas.list({ includeDefinitions: true });
|
|
195
|
-
*
|
|
196
|
-
* // Get schemas with pagination
|
|
197
|
-
* const schemas = await vana.schemas.list({ limit: 10, offset: 0 });
|
|
198
|
-
* ```
|
|
199
|
-
*/
|
|
200
|
-
list(options?: {
|
|
201
|
-
limit?: number;
|
|
202
|
-
offset?: number;
|
|
203
|
-
subgraphUrl?: string;
|
|
204
|
-
includeDefinitions?: boolean;
|
|
205
|
-
}): Promise<Schema[]>;
|
|
206
|
-
/**
|
|
207
|
-
* Adds a schema using the legacy method (low-level API).
|
|
208
|
-
*
|
|
209
|
-
* @deprecated Use create() instead for the high-level API with automatic IPFS upload
|
|
210
|
-
* @param params - Schema parameters including pre-generated definition URL
|
|
211
|
-
* @returns Promise resolving to the add schema result
|
|
212
|
-
*/
|
|
213
|
-
addSchema(params: AddSchemaParams): Promise<SchemaAddedResult>;
|
|
214
|
-
/**
|
|
215
|
-
* Internal method: Query schema via subgraph
|
|
216
|
-
*
|
|
217
|
-
* @param params - Query parameters
|
|
218
|
-
* @param params.schemaId - The ID of the schema to retrieve
|
|
219
|
-
* @param params.subgraphUrl - The subgraph URL to query
|
|
220
|
-
* @returns Promise resolving to the schema object
|
|
221
|
-
* @private
|
|
222
|
-
*/
|
|
223
|
-
private _getSchemaViaSubgraph;
|
|
224
|
-
/**
|
|
225
|
-
* Internal method: List schemas via subgraph
|
|
226
|
-
*
|
|
227
|
-
* @param params - Query parameters
|
|
228
|
-
* @param params.limit - Maximum number of schemas to return
|
|
229
|
-
* @param params.offset - Number of schemas to skip
|
|
230
|
-
* @param params.subgraphUrl - The subgraph URL to query
|
|
231
|
-
* @returns Promise resolving to an array of schemas
|
|
232
|
-
* @private
|
|
233
|
-
*/
|
|
234
|
-
private _listSchemasViaSubgraph;
|
|
235
|
-
/**
|
|
236
|
-
* Internal method: Count schemas via subgraph
|
|
237
|
-
*
|
|
238
|
-
* @param params - Query parameters
|
|
239
|
-
* @param params.subgraphUrl - The subgraph URL to query
|
|
240
|
-
* @returns Promise resolving to the total schema count
|
|
241
|
-
* @private
|
|
242
|
-
*/
|
|
243
|
-
private _countSchemasViaSubgraph;
|
|
244
|
-
/**
|
|
245
|
-
* Gets the user's wallet address.
|
|
246
|
-
*
|
|
247
|
-
* @private
|
|
248
|
-
* @returns Promise resolving to the user's address
|
|
249
|
-
*/
|
|
250
|
-
private getUserAddress;
|
|
251
|
-
/**
|
|
252
|
-
* Fetches and attaches definitions to an array of schemas.
|
|
253
|
-
*
|
|
254
|
-
* @param schemas - Array of schemas to fetch definitions for
|
|
255
|
-
* @private
|
|
256
|
-
*/
|
|
257
|
-
private _fetchDefinitionsForSchemas;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export { type CreateSchemaParams, type CreateSchemaResult, SchemaController };
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { Operation, PollingOptions } from '../types/operations.cjs';
|
|
2
|
-
import { ControllerContext } from '../types/controller-context.cjs';
|
|
3
|
-
import { InitPersonalServerParams, PersonalServerIdentity, CreateOperationParams } from '../types/personal.cjs';
|
|
4
|
-
import '../generated/event-types.cjs';
|
|
5
|
-
import 'viem';
|
|
6
|
-
import '../generated/server/server-exports.cjs';
|
|
7
|
-
import '../generated/server/server.cjs';
|
|
8
|
-
import '../platform/interface.cjs';
|
|
9
|
-
import '../types/config.cjs';
|
|
10
|
-
import '../types/chains.cjs';
|
|
11
|
-
import '../types/storage.cjs';
|
|
12
|
-
import '../types/permissions.cjs';
|
|
13
|
-
import '../storage/manager.cjs';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Manages interactions with Vana personal servers and identity infrastructure.
|
|
17
|
-
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* This controller handles communication with personal servers for data processing
|
|
20
|
-
* and identity servers for public key derivation. It provides methods for posting
|
|
21
|
-
* computation requests to personal servers, polling for results, and retrieving
|
|
22
|
-
* cryptographic keys for secure data sharing. All server interactions use the
|
|
23
|
-
* Replicate API infrastructure with proper authentication and error handling.
|
|
24
|
-
*
|
|
25
|
-
* **Server Identity System:**
|
|
26
|
-
* Personal servers use deterministic key derivation: each user address maps to a specific server identity.
|
|
27
|
-
* This enables secure communication without requiring servers to be online during key retrieval.
|
|
28
|
-
*
|
|
29
|
-
* **Method Selection:**
|
|
30
|
-
* - `getIdentity()` retrieves server public keys and addresses for encryption setup
|
|
31
|
-
* - `createOperation()` submits computation requests with signed permission verification
|
|
32
|
-
* - `getOperation()` polls operation status and retrieves results when complete
|
|
33
|
-
* - `cancelOperation()` stops running operations when cancellation is supported
|
|
34
|
-
*
|
|
35
|
-
* **Workflow Pattern:**
|
|
36
|
-
* Typical flow: Get identity → Create operation → Poll status → Retrieve results
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* // Get a server's identity including public key for encryption
|
|
41
|
-
* const identity = await vana.server.getIdentity({
|
|
42
|
-
* userAddress: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36"
|
|
43
|
-
* });
|
|
44
|
-
*
|
|
45
|
-
* // Create an operation using a granted permission
|
|
46
|
-
* const response = await vana.server.createOperation({
|
|
47
|
-
* permissionId: 123,
|
|
48
|
-
* });
|
|
49
|
-
*
|
|
50
|
-
* // Poll for computation results
|
|
51
|
-
* const result = await vana.server.getOperation(response.id);
|
|
52
|
-
* ```
|
|
53
|
-
* @category Server Management
|
|
54
|
-
* @see {@link https://docs.vana.com/developer/personal-servers | Vana Personal Servers} for conceptual overview
|
|
55
|
-
*/
|
|
56
|
-
declare class ServerController {
|
|
57
|
-
private readonly context;
|
|
58
|
-
constructor(context: ControllerContext);
|
|
59
|
-
private get personalServerBaseUrl();
|
|
60
|
-
/**
|
|
61
|
-
* Retrieves the cryptographic identity of a personal server.
|
|
62
|
-
*
|
|
63
|
-
* @remarks
|
|
64
|
-
* This method fetches the public key and metadata for a personal server,
|
|
65
|
-
* which is required for encrypting data before sharing with the server.
|
|
66
|
-
* The identity includes the server's public key, address, and operational
|
|
67
|
-
* details needed for secure communication. This information is cached
|
|
68
|
-
* by identity servers to enable offline key retrieval.
|
|
69
|
-
*
|
|
70
|
-
* @param request - Parameters containing the user address
|
|
71
|
-
* @param request.userAddress - The wallet address associated with the personal server
|
|
72
|
-
* @returns Promise resolving to the server's identity information
|
|
73
|
-
* @throws {NetworkError} When the identity service is unavailable or returns invalid data
|
|
74
|
-
* @throws {PersonalServerError} When server identity cannot be retrieved
|
|
75
|
-
* @example
|
|
76
|
-
* ```typescript
|
|
77
|
-
* // Get server identity for data encryption
|
|
78
|
-
* const identity = await vana.server.getIdentity({
|
|
79
|
-
* userAddress: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36"
|
|
80
|
-
* });
|
|
81
|
-
*
|
|
82
|
-
* console.log(`Server: ${identity.name}`);
|
|
83
|
-
* console.log(`Address: ${identity.address}`);
|
|
84
|
-
* console.log(`Public Key: ${identity.public_key}`);
|
|
85
|
-
*
|
|
86
|
-
* // Use the public key for encrypting data to share with this server
|
|
87
|
-
* const encryptedData = await encryptWithWalletPublicKey(
|
|
88
|
-
* userData,
|
|
89
|
-
* identity.public_key
|
|
90
|
-
* );
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
getIdentity(request: InitPersonalServerParams): Promise<PersonalServerIdentity>;
|
|
94
|
-
/**
|
|
95
|
-
* Creates a server operation and returns its details as a plain object.
|
|
96
|
-
*
|
|
97
|
-
* @remarks
|
|
98
|
-
* This method submits a computation request to the personal server and returns
|
|
99
|
-
* an Operation object that can be serialized and passed across API boundaries.
|
|
100
|
-
* Use `waitForOperation()` to poll for completion.
|
|
101
|
-
*
|
|
102
|
-
* @param params - The operation request parameters
|
|
103
|
-
* @param params.permissionId - The permission ID authorizing this operation.
|
|
104
|
-
* Obtain via `vana.permissions.getUserPermissionGrantsOnChain()`.
|
|
105
|
-
* @returns An Operation object containing the operation ID and status
|
|
106
|
-
* @throws {PersonalServerError} When the server request fails or parameters are invalid
|
|
107
|
-
* @throws {NetworkError} When personal server API communication fails
|
|
108
|
-
* @example
|
|
109
|
-
* ```typescript
|
|
110
|
-
* const operation = await vana.server.createOperation({
|
|
111
|
-
* permissionId: 123
|
|
112
|
-
* });
|
|
113
|
-
* console.log(`Operation ID: ${operation.id}`);
|
|
114
|
-
*
|
|
115
|
-
* // Wait for completion
|
|
116
|
-
* const result = await vana.server.waitForOperation(operation.id);
|
|
117
|
-
* console.log("Result:", result.result);
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
createOperation<T = unknown>(params: CreateOperationParams): Promise<Operation<T>>;
|
|
121
|
-
/**
|
|
122
|
-
* Retrieves the current status and result of a server operation.
|
|
123
|
-
*
|
|
124
|
-
* @remarks
|
|
125
|
-
* Common status values: `starting`, `running`, `succeeded`, `failed`, `canceled`.
|
|
126
|
-
* When status is `succeeded`, the result field contains the operation output.
|
|
127
|
-
*
|
|
128
|
-
* @param operationId - The ID of the operation to query
|
|
129
|
-
* @returns The operation as a plain object containing status, result, and metadata
|
|
130
|
-
* @throws {NetworkError} When the API request fails or returns invalid data
|
|
131
|
-
* @example
|
|
132
|
-
* ```typescript
|
|
133
|
-
* const operation = await vana.server.getOperation(operationId);
|
|
134
|
-
* if (operation.status === 'succeeded') {
|
|
135
|
-
* console.log('Result:', operation.result);
|
|
136
|
-
* }
|
|
137
|
-
* ```
|
|
138
|
-
*/
|
|
139
|
-
getOperation<T = unknown>(operationId: string): Promise<Operation<T>>;
|
|
140
|
-
/**
|
|
141
|
-
* Waits for an operation to complete and returns the final result.
|
|
142
|
-
*
|
|
143
|
-
* @remarks
|
|
144
|
-
* This method polls the operation status at regular intervals until it
|
|
145
|
-
* reaches a terminal state (succeeded, failed, or canceled). Supports
|
|
146
|
-
* ergonomic overloads to accept either an Operation object or just the ID.
|
|
147
|
-
*
|
|
148
|
-
* @param opOrId - Either an Operation object or operation ID string
|
|
149
|
-
* @param options - Optional polling configuration
|
|
150
|
-
* @returns The completed operation with result or error
|
|
151
|
-
* @throws {PersonalServerError} When the operation fails or times out
|
|
152
|
-
* @example
|
|
153
|
-
* ```typescript
|
|
154
|
-
* // Using operation object
|
|
155
|
-
* const operation = await vana.server.createOperation({ permissionId: 123 });
|
|
156
|
-
* const completed = await vana.server.waitForOperation(operation);
|
|
157
|
-
*
|
|
158
|
-
* // Using just the ID
|
|
159
|
-
* const completed = await vana.server.waitForOperation("op_abc123");
|
|
160
|
-
*
|
|
161
|
-
* // With custom timeout
|
|
162
|
-
* const completed = await vana.server.waitForOperation(operation, {
|
|
163
|
-
* timeout: 60000,
|
|
164
|
-
* pollingInterval: 1000
|
|
165
|
-
* });
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
waitForOperation<T = unknown>(opOrId: Operation<T> | string, options?: PollingOptions): Promise<Operation<T>>;
|
|
169
|
-
/**
|
|
170
|
-
* Cancels a running operation on the personal server.
|
|
171
|
-
*
|
|
172
|
-
* @remarks
|
|
173
|
-
* This method attempts to cancel an operation that is currently processing
|
|
174
|
-
* on the personal server. The operation must be in a cancellable state
|
|
175
|
-
* (typically `starting` or `processing`). Not all operations support
|
|
176
|
-
* cancellation, and cancellation may not be immediate. The server will
|
|
177
|
-
* attempt to stop the operation and update its status to `canceled`.
|
|
178
|
-
*
|
|
179
|
-
* **Cancellation Behavior:**
|
|
180
|
-
* - Operations in `succeeded` or `failed` states cannot be canceled
|
|
181
|
-
* - Some long-running operations may take time to respond to cancellation
|
|
182
|
-
* - Always verify cancellation by polling the operation status afterward
|
|
183
|
-
*
|
|
184
|
-
* @param operationId - The unique identifier of the operation to cancel,
|
|
185
|
-
* obtained from `createOperation()` response
|
|
186
|
-
* @returns Promise that resolves when the cancellation request is accepted
|
|
187
|
-
* @throws {PersonalServerError} When the operation cannot be canceled or doesn't exist.
|
|
188
|
-
* Check operation status - it may already be completed or failed.
|
|
189
|
-
* @throws {NetworkError} When unable to reach the personal server API.
|
|
190
|
-
* Verify server URL and network connectivity.
|
|
191
|
-
* @example
|
|
192
|
-
* ```typescript
|
|
193
|
-
* // Start a long-running operation
|
|
194
|
-
* const operation = await vana.server.createOperation({
|
|
195
|
-
* permissionId: 123
|
|
196
|
-
* });
|
|
197
|
-
*
|
|
198
|
-
* // Cancel if needed
|
|
199
|
-
* try {
|
|
200
|
-
* await vana.server.cancelOperation(operation.id);
|
|
201
|
-
* console.log("Cancellation requested");
|
|
202
|
-
*
|
|
203
|
-
* // Verify cancellation
|
|
204
|
-
* const status = await vana.server.getOperation(operation.id);
|
|
205
|
-
* if (status.status === "canceled") {
|
|
206
|
-
* console.log("Operation successfully canceled");
|
|
207
|
-
* }
|
|
208
|
-
* } catch (error) {
|
|
209
|
-
* console.error("Failed to cancel:", error);
|
|
210
|
-
* }
|
|
211
|
-
* ```
|
|
212
|
-
*/
|
|
213
|
-
cancelOperation(operationId: string): Promise<void>;
|
|
214
|
-
/**
|
|
215
|
-
* Makes the request to the personal server API.
|
|
216
|
-
*
|
|
217
|
-
* @param requestBody - The post request parameters to serialize
|
|
218
|
-
* @returns JSON string representation of the request data
|
|
219
|
-
*/
|
|
220
|
-
private makeRequest;
|
|
221
|
-
/**
|
|
222
|
-
* Creates a signature for the request JSON.
|
|
223
|
-
*
|
|
224
|
-
* @param requestJson - The JSON string to sign
|
|
225
|
-
* @returns Promise resolving to the cryptographic signature
|
|
226
|
-
*/
|
|
227
|
-
private createSignature;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
export { ServerController };
|