@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
package/dist/core.d.cts
DELETED
|
@@ -1,493 +0,0 @@
|
|
|
1
|
-
import { Contract, Fn, TypedTransactionResult } from './generated/event-types.cjs';
|
|
2
|
-
import { Operation, PollingOptions, TransactionResult, TransactionWaitOptions } from './types/operations.cjs';
|
|
3
|
-
import * as viem from 'viem';
|
|
4
|
-
import { VanaConfigWithStorage, VanaConfig, StorageRequiredMarker, RuntimeConfig } from './types/config.cjs';
|
|
5
|
-
import { SchemaController } from './controllers/schemas.cjs';
|
|
6
|
-
import { PermissionsController } from './controllers/permissions.cjs';
|
|
7
|
-
import { DataController } from './controllers/data.cjs';
|
|
8
|
-
import { ServerController } from './controllers/server.cjs';
|
|
9
|
-
import { ProtocolController } from './controllers/protocol.cjs';
|
|
10
|
-
import { VanaPlatformAdapter } from './platform/interface.cjs';
|
|
11
|
-
import './generated/server/server-exports.cjs';
|
|
12
|
-
import './generated/server/server.cjs';
|
|
13
|
-
import './types/chains.cjs';
|
|
14
|
-
import './types/storage.cjs';
|
|
15
|
-
import './types/permissions.cjs';
|
|
16
|
-
import './types/data.cjs';
|
|
17
|
-
import './types/transactionResults.cjs';
|
|
18
|
-
import './types/controller-context.cjs';
|
|
19
|
-
import './storage/manager.cjs';
|
|
20
|
-
import './utils/schemaValidation.cjs';
|
|
21
|
-
import './types/personal.cjs';
|
|
22
|
-
import './types/contracts.cjs';
|
|
23
|
-
import './generated/abi/index.cjs';
|
|
24
|
-
import './generated/abi/ComputeEngineImplementation.cjs';
|
|
25
|
-
import './generated/abi/DataRegistryImplementation.cjs';
|
|
26
|
-
import './generated/abi/TeePoolImplementation.cjs';
|
|
27
|
-
import './generated/abi/TeePoolPhalaImplementation.cjs';
|
|
28
|
-
import './generated/abi/DataPortabilityPermissionsImplementation.cjs';
|
|
29
|
-
import './generated/abi/DataPortabilityServersImplementation.cjs';
|
|
30
|
-
import './generated/abi/DataPortabilityGranteesImplementation.cjs';
|
|
31
|
-
import './generated/abi/DataRefinerRegistryImplementation.cjs';
|
|
32
|
-
import './generated/abi/QueryEngineImplementation.cjs';
|
|
33
|
-
import './generated/abi/ComputeInstructionRegistryImplementation.cjs';
|
|
34
|
-
import './generated/abi/TeePoolEphemeralStandardImplementation.cjs';
|
|
35
|
-
import './generated/abi/TeePoolPersistentStandardImplementation.cjs';
|
|
36
|
-
import './generated/abi/TeePoolPersistentGpuImplementation.cjs';
|
|
37
|
-
import './generated/abi/TeePoolDedicatedStandardImplementation.cjs';
|
|
38
|
-
import './generated/abi/TeePoolDedicatedGpuImplementation.cjs';
|
|
39
|
-
import './generated/abi/VanaEpochImplementation.cjs';
|
|
40
|
-
import './generated/abi/DLPRegistryImplementation.cjs';
|
|
41
|
-
import './generated/abi/DLPTreasuryImplementation.cjs';
|
|
42
|
-
import './generated/abi/DLPRewardDeployerTreasuryImplementation.cjs';
|
|
43
|
-
import './generated/abi/DLPPerformanceImplementation.cjs';
|
|
44
|
-
import './generated/abi/DLPRewardDeployerImplementation.cjs';
|
|
45
|
-
import './generated/abi/DLPRewardSwapImplementation.cjs';
|
|
46
|
-
import './generated/abi/SwapHelperImplementation.cjs';
|
|
47
|
-
import './generated/abi/DLPRootImplementation.cjs';
|
|
48
|
-
import './generated/abi/DataLiquidityPoolImplementation.cjs';
|
|
49
|
-
import './generated/abi/DLPRegistryTreasuryImplementation.cjs';
|
|
50
|
-
import './generated/abi/VanaPoolStakingImplementation.cjs';
|
|
51
|
-
import './generated/abi/VanaPoolEntityImplementation.cjs';
|
|
52
|
-
import './generated/abi/VanaPoolTreasuryImplementation.cjs';
|
|
53
|
-
import './generated/abi/DATImplementation.cjs';
|
|
54
|
-
import './generated/abi/DATFactoryImplementation.cjs';
|
|
55
|
-
import './generated/abi/DATPausableImplementation.cjs';
|
|
56
|
-
import './generated/abi/DATVotesImplementation.cjs';
|
|
57
|
-
import './contracts/contractController.cjs';
|
|
58
|
-
import 'abitype';
|
|
59
|
-
import './core/client.cjs';
|
|
60
|
-
import './config/chains.cjs';
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Factory functions for creating VanaCore instances with proper type safety
|
|
64
|
-
*/
|
|
65
|
-
declare class VanaCoreFactory {
|
|
66
|
-
/**
|
|
67
|
-
* Creates a VanaCore instance that enforces storage requirements at compile time.
|
|
68
|
-
* Use this factory when you know you'll need storage-dependent operations.
|
|
69
|
-
*
|
|
70
|
-
* @param platform - The platform adapter for environment-specific operations
|
|
71
|
-
* @param config - Configuration that includes required storage providers
|
|
72
|
-
* @returns VanaCore instance with storage validation
|
|
73
|
-
* @example
|
|
74
|
-
* ```typescript
|
|
75
|
-
* const vanaCore = VanaCoreFactory.createWithStorage(platformAdapter, {
|
|
76
|
-
* walletClient: myWalletClient,
|
|
77
|
-
* storage: {
|
|
78
|
-
* providers: { ipfs: new IPFSStorage() },
|
|
79
|
-
* defaultProvider: 'ipfs'
|
|
80
|
-
* }
|
|
81
|
-
* });
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
static createWithStorage(platform: VanaPlatformAdapter, config: VanaConfigWithStorage): VanaCore & StorageRequiredMarker;
|
|
85
|
-
/**
|
|
86
|
-
* Creates a VanaCore instance without storage requirements.
|
|
87
|
-
* Storage-dependent operations will fail at runtime if not configured.
|
|
88
|
-
*
|
|
89
|
-
* @param platform - The platform adapter for environment-specific operations
|
|
90
|
-
* @param config - Basic configuration without required storage
|
|
91
|
-
* @returns VanaCore instance
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* const vanaCore = VanaCoreFactory.create(platformAdapter, {
|
|
95
|
-
* walletClient: myWalletClient
|
|
96
|
-
* });
|
|
97
|
-
* ```
|
|
98
|
-
*/
|
|
99
|
-
static create(platform: VanaPlatformAdapter, config: VanaConfig): VanaCore;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Provides the core SDK functionality for interacting with the Vana network.
|
|
103
|
-
*
|
|
104
|
-
* @remarks
|
|
105
|
-
* This environment-agnostic class contains all SDK logic and accepts a platform
|
|
106
|
-
* adapter to handle environment-specific operations. It initializes all controllers
|
|
107
|
-
* and manages shared context between them, providing a unified interface for
|
|
108
|
-
* data management, permissions, smart contracts, and storage operations.
|
|
109
|
-
*
|
|
110
|
-
* The class uses TypeScript overloading to enforce storage requirements at compile time.
|
|
111
|
-
* Methods that require storage will throw `InvalidConfigurationError` at runtime if
|
|
112
|
-
* storage providers are not configured, implementing a fail-fast approach to prevent
|
|
113
|
-
* errors during expensive operations.
|
|
114
|
-
*
|
|
115
|
-
* **Core Architecture:**
|
|
116
|
-
* - **Controllers**: Specialized modules for different Vana features (data, permissions, etc.)
|
|
117
|
-
* - **Platform Adapters**: Environment-specific implementations (browser vs Node.js)
|
|
118
|
-
* - **Storage Managers**: Abstraction layer for multiple storage providers
|
|
119
|
-
* - **Context Sharing**: Unified configuration and services across all controllers
|
|
120
|
-
*
|
|
121
|
-
* For public usage, use the platform-specific factory functions:
|
|
122
|
-
* - Browser: `import { Vana } from '@opendatalabs/vana-sdk/browser'`
|
|
123
|
-
* - Node.js: `import { Vana } from '@opendatalabs/vana-sdk/node'`
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```typescript
|
|
127
|
-
* // Direct instantiation (advanced usage)
|
|
128
|
-
* import { VanaCore, BrowserPlatformAdapter } from '@opendatalabs/vana-sdk/browser';
|
|
129
|
-
*
|
|
130
|
-
* const core = new VanaCore(new BrowserPlatformAdapter(), {
|
|
131
|
-
* walletClient: myWalletClient,
|
|
132
|
-
* storage: {
|
|
133
|
-
* providers: { ipfs: new IPFSStorage() },
|
|
134
|
-
* defaultProvider: 'ipfs'
|
|
135
|
-
* }
|
|
136
|
-
* });
|
|
137
|
-
*
|
|
138
|
-
* // Access all controllers
|
|
139
|
-
* const files = await core.data.getUserFiles();
|
|
140
|
-
* const permissions = await core.permissions.grant({
|
|
141
|
-
* grantee: '0x742d35...',
|
|
142
|
-
* operation: 'read'
|
|
143
|
-
* });
|
|
144
|
-
* ```
|
|
145
|
-
* @category Core SDK
|
|
146
|
-
*/
|
|
147
|
-
declare class VanaCore {
|
|
148
|
-
/** Manages gasless data access permissions and trusted server registry. */
|
|
149
|
-
readonly permissions: PermissionsController;
|
|
150
|
-
/** Handles user data file operations. */
|
|
151
|
-
readonly data: DataController;
|
|
152
|
-
/** Manages data schemas and refiners. */
|
|
153
|
-
readonly schemas: SchemaController;
|
|
154
|
-
/** Provides personal server setup and trusted server interactions. */
|
|
155
|
-
readonly server: ServerController;
|
|
156
|
-
/** Offers low-level access to Vana protocol smart contracts. */
|
|
157
|
-
readonly protocol: ProtocolController;
|
|
158
|
-
/** Handles environment-specific operations like encryption and file systems. */
|
|
159
|
-
protected platform: VanaPlatformAdapter;
|
|
160
|
-
private readonly relayerCallbacks?;
|
|
161
|
-
private readonly downloadRelayer?;
|
|
162
|
-
private readonly storageManager?;
|
|
163
|
-
private readonly hasRequiredStorage;
|
|
164
|
-
private readonly ipfsGateways?;
|
|
165
|
-
private readonly defaultPersonalServerUrl?;
|
|
166
|
-
private readonly publicClient;
|
|
167
|
-
private readonly walletClient;
|
|
168
|
-
/**
|
|
169
|
-
* Initializes a new VanaCore client instance with the provided configuration.
|
|
170
|
-
*
|
|
171
|
-
* @remarks
|
|
172
|
-
* The constructor validates the configuration, initializes storage providers if configured,
|
|
173
|
-
* creates wallet and public clients, and sets up all SDK controllers with shared context.
|
|
174
|
-
*
|
|
175
|
-
* IMPORTANT: This constructor will validate storage requirements at runtime to fail fast.
|
|
176
|
-
* Methods that require storage will throw runtime errors if storage is not configured.
|
|
177
|
-
*
|
|
178
|
-
* @param platform - The platform adapter for environment-specific operations
|
|
179
|
-
* @param config - The configuration object specifying wallet or chain settings
|
|
180
|
-
* @throws {InvalidConfigurationError} When the configuration is invalid or incomplete
|
|
181
|
-
* @example
|
|
182
|
-
* ```typescript
|
|
183
|
-
* // Direct instantiation (consider using factory methods instead)
|
|
184
|
-
* const vanaCore = new VanaCore(platformAdapter, {
|
|
185
|
-
* walletClient: myWalletClient,
|
|
186
|
-
* });
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
constructor(platform: VanaPlatformAdapter, config: VanaConfig);
|
|
190
|
-
/**
|
|
191
|
-
* Validates that storage is available for storage-dependent operations.
|
|
192
|
-
* This method enforces the fail-fast principle by checking storage availability
|
|
193
|
-
* at method call time rather than during expensive operations.
|
|
194
|
-
*
|
|
195
|
-
* @throws {InvalidConfigurationError} When storage is required but not configured
|
|
196
|
-
* @example
|
|
197
|
-
* ```typescript
|
|
198
|
-
* // This will throw if storage is not configured
|
|
199
|
-
* vana.validateStorageRequired();
|
|
200
|
-
* await vana.data.uploadFile(file); // Safe to proceed
|
|
201
|
-
* ```
|
|
202
|
-
*/
|
|
203
|
-
validateStorageRequired(): void;
|
|
204
|
-
/**
|
|
205
|
-
* Checks whether storage is configured without throwing an error.
|
|
206
|
-
*
|
|
207
|
-
* @returns True if storage is properly configured
|
|
208
|
-
* @example
|
|
209
|
-
* ```typescript
|
|
210
|
-
* if (vana.hasStorage()) {
|
|
211
|
-
* await vana.data.uploadFile(file);
|
|
212
|
-
* } else {
|
|
213
|
-
* console.warn('Storage not configured - using pre-stored URLs only');
|
|
214
|
-
* }
|
|
215
|
-
* ```
|
|
216
|
-
*/
|
|
217
|
-
hasStorage(): boolean;
|
|
218
|
-
/**
|
|
219
|
-
* Type guard to check if this instance has storage enabled at compile time.
|
|
220
|
-
* Use this when you need TypeScript to understand that storage is available.
|
|
221
|
-
*
|
|
222
|
-
* @returns True if storage is configured, with type narrowing
|
|
223
|
-
* @example
|
|
224
|
-
* ```typescript
|
|
225
|
-
* if (vana.isStorageEnabled()) {
|
|
226
|
-
* // TypeScript knows storage is available here
|
|
227
|
-
* await vana.data.uploadFile(file);
|
|
228
|
-
* }
|
|
229
|
-
* ```
|
|
230
|
-
*/
|
|
231
|
-
isStorageEnabled(): this is VanaCore & StorageRequiredMarker;
|
|
232
|
-
/**
|
|
233
|
-
* Validates the provided configuration object against all requirements.
|
|
234
|
-
*
|
|
235
|
-
* @remarks
|
|
236
|
-
* This method performs comprehensive validation of wallet client configuration,
|
|
237
|
-
* chain configuration, storage providers, and relayer callbacks.
|
|
238
|
-
* @param config - The configuration object to validate
|
|
239
|
-
* @throws {InvalidConfigurationError} When any configuration parameter is invalid
|
|
240
|
-
*/
|
|
241
|
-
private validateConfig;
|
|
242
|
-
/**
|
|
243
|
-
* Gets the current chain ID from the wallet client.
|
|
244
|
-
*
|
|
245
|
-
* @returns The numeric chain ID of the connected network
|
|
246
|
-
* @example
|
|
247
|
-
* ```typescript
|
|
248
|
-
* const chainId = vana.chainId;
|
|
249
|
-
* console.log(`Connected to chain: ${chainId}`); // e.g., "Connected to chain: 14800"
|
|
250
|
-
* ```
|
|
251
|
-
*/
|
|
252
|
-
get chainId(): number;
|
|
253
|
-
/**
|
|
254
|
-
* Gets the current chain name from the wallet client.
|
|
255
|
-
*
|
|
256
|
-
* @returns The human-readable name of the connected network
|
|
257
|
-
* @example
|
|
258
|
-
* ```typescript
|
|
259
|
-
* const chainName = vana.chainName;
|
|
260
|
-
* console.log(`Connected to: ${chainName}`); // e.g., "Connected to: Moksha Testnet"
|
|
261
|
-
* ```
|
|
262
|
-
*/
|
|
263
|
-
get chainName(): string;
|
|
264
|
-
/**
|
|
265
|
-
* Retrieves the user's wallet address from the connected client.
|
|
266
|
-
*
|
|
267
|
-
* @returns A Promise that resolves to the user's Ethereum address
|
|
268
|
-
* @example
|
|
269
|
-
* ```typescript
|
|
270
|
-
* const address = await vana.getUserAddress();
|
|
271
|
-
* console.log(`User address: ${address}`); // e.g., "User address: 0x742d35..."
|
|
272
|
-
* ```
|
|
273
|
-
*/
|
|
274
|
-
getUserAddress(): Promise<viem.Address>;
|
|
275
|
-
/**
|
|
276
|
-
* Retrieves comprehensive runtime configuration information.
|
|
277
|
-
*
|
|
278
|
-
* @returns The current runtime configuration including chain, storage, and relayer settings
|
|
279
|
-
* @example
|
|
280
|
-
* ```typescript
|
|
281
|
-
* const config = vana.getConfig();
|
|
282
|
-
* console.log(`Chain: ${config.chainName} (${config.chainId})`);
|
|
283
|
-
* console.log(`Storage providers: ${config.storageProviders.join(", ")}`);
|
|
284
|
-
* ```
|
|
285
|
-
*/
|
|
286
|
-
getConfig(): RuntimeConfig;
|
|
287
|
-
/**
|
|
288
|
-
* Sets the platform adapter for environment-specific operations.
|
|
289
|
-
* This is useful for testing and advanced use cases where you need
|
|
290
|
-
* to override the default platform detection.
|
|
291
|
-
*
|
|
292
|
-
* @param adapter - The platform adapter to use
|
|
293
|
-
* @example
|
|
294
|
-
* ```typescript
|
|
295
|
-
* // For testing with a mock adapter
|
|
296
|
-
* const mockAdapter = new MockPlatformAdapter();
|
|
297
|
-
* vana.setPlatformAdapter(mockAdapter);
|
|
298
|
-
*
|
|
299
|
-
* // For advanced use cases with custom adapters
|
|
300
|
-
* const customAdapter = new CustomPlatformAdapter();
|
|
301
|
-
* vana.setPlatformAdapter(customAdapter);
|
|
302
|
-
* ```
|
|
303
|
-
*/
|
|
304
|
-
setPlatformAdapter(adapter: VanaPlatformAdapter): void;
|
|
305
|
-
/**
|
|
306
|
-
* Gets the current platform adapter.
|
|
307
|
-
* This is useful for advanced use cases where you need to access
|
|
308
|
-
* the platform adapter directly.
|
|
309
|
-
*
|
|
310
|
-
* @returns The current platform adapter
|
|
311
|
-
* @example
|
|
312
|
-
* ```typescript
|
|
313
|
-
* const adapter = vana.getPlatformAdapter();
|
|
314
|
-
* const encrypted = await adapter.encrypt(data, key);
|
|
315
|
-
* ```
|
|
316
|
-
*/
|
|
317
|
-
getPlatformAdapter(): VanaPlatformAdapter;
|
|
318
|
-
/**
|
|
319
|
-
* Encrypts data using the Vana protocol standard encryption.
|
|
320
|
-
*
|
|
321
|
-
* @remarks
|
|
322
|
-
* This method implements the Vana network's standard encryption protocol using
|
|
323
|
-
* platform-appropriate cryptographic libraries. It automatically handles different
|
|
324
|
-
* input types (string or Blob) and produces encrypted output suitable for secure
|
|
325
|
-
* storage or transmission. The encryption is compatible with the network's
|
|
326
|
-
* decryption protocols and can be decrypted by authorized parties.
|
|
327
|
-
*
|
|
328
|
-
* @param data - The data to encrypt (string or Blob)
|
|
329
|
-
* @param key - The encryption key (typically generated via `generateEncryptionKey`)
|
|
330
|
-
* @returns The encrypted data as a Blob
|
|
331
|
-
* @throws {Error} When encryption fails due to invalid key or data format
|
|
332
|
-
* @example
|
|
333
|
-
* ```typescript
|
|
334
|
-
* import { generateEncryptionKey } from '@opendatalabs/vana-sdk/node';
|
|
335
|
-
*
|
|
336
|
-
* // Generate encryption key from wallet signature
|
|
337
|
-
* const encryptionKey = await generateEncryptionKey(vana.walletClient);
|
|
338
|
-
*
|
|
339
|
-
* // Encrypt string data
|
|
340
|
-
* const sensitiveData = "User's private information";
|
|
341
|
-
* const encrypted = await vana.encryptBlob(sensitiveData, encryptionKey);
|
|
342
|
-
*
|
|
343
|
-
* // Encrypt file data
|
|
344
|
-
* const fileBlob = new Blob([fileContent], { type: 'application/json' });
|
|
345
|
-
* const encryptedFile = await vana.encryptBlob(fileBlob, encryptionKey);
|
|
346
|
-
*
|
|
347
|
-
* // Store encrypted data safely
|
|
348
|
-
* await storageProvider.upload(encrypted, 'encrypted-data.bin');
|
|
349
|
-
* ```
|
|
350
|
-
*/
|
|
351
|
-
encryptBlob(data: string | Blob, key: string): Promise<Blob>;
|
|
352
|
-
/**
|
|
353
|
-
* Decrypts data that was encrypted using the Vana protocol.
|
|
354
|
-
*
|
|
355
|
-
* @remarks
|
|
356
|
-
* This method decrypts data that was previously encrypted using the Vana network's
|
|
357
|
-
* standard encryption protocol. It requires the same wallet signature that was used
|
|
358
|
-
* for encryption and automatically uses the appropriate platform adapter for
|
|
359
|
-
* cryptographic operations. The decrypted output maintains the original data format.
|
|
360
|
-
*
|
|
361
|
-
* @param encryptedData - The encrypted data (string or Blob)
|
|
362
|
-
* @param walletSignature - The wallet signature used as decryption key
|
|
363
|
-
* @returns The decrypted data as a Blob
|
|
364
|
-
* @throws {Error} When decryption fails due to invalid signature or corrupted data
|
|
365
|
-
* @example
|
|
366
|
-
* ```typescript
|
|
367
|
-
* import { generateEncryptionKey } from '@opendatalabs/vana-sdk/node';
|
|
368
|
-
*
|
|
369
|
-
* // Retrieve encrypted data from storage
|
|
370
|
-
* const encryptedBlob = await storageProvider.download('encrypted-data.bin');
|
|
371
|
-
*
|
|
372
|
-
* // Generate the same key used for encryption
|
|
373
|
-
* const decryptionKey = await generateEncryptionKey(vana.walletClient);
|
|
374
|
-
*
|
|
375
|
-
* // Decrypt the data
|
|
376
|
-
* const decrypted = await vana.decryptBlob(encryptedBlob, decryptionKey);
|
|
377
|
-
*
|
|
378
|
-
* // Convert back to original format
|
|
379
|
-
* const originalText = await decrypted.text();
|
|
380
|
-
* const originalJson = JSON.parse(originalText);
|
|
381
|
-
*
|
|
382
|
-
* console.log('Decrypted data:', originalJson);
|
|
383
|
-
* ```
|
|
384
|
-
*
|
|
385
|
-
* @example
|
|
386
|
-
* ```typescript
|
|
387
|
-
* // Decrypt file downloaded from Vana network
|
|
388
|
-
* const userFiles = await vana.data.getUserFiles();
|
|
389
|
-
* const file = userFiles[0];
|
|
390
|
-
*
|
|
391
|
-
* // Download encrypted content
|
|
392
|
-
* const encrypted = await fetch(file.url).then(r => r.blob());
|
|
393
|
-
*
|
|
394
|
-
* // Decrypt with user's key
|
|
395
|
-
* const decryptionKey = await generateEncryptionKey(vana.walletClient);
|
|
396
|
-
* const decrypted = await vana.decryptBlob(encrypted, decryptionKey);
|
|
397
|
-
*
|
|
398
|
-
* // Process original data
|
|
399
|
-
* const fileContent = await decrypted.arrayBuffer();
|
|
400
|
-
* ```
|
|
401
|
-
*/
|
|
402
|
-
decryptBlob(encryptedData: string | Blob, walletSignature: string): Promise<Blob>;
|
|
403
|
-
/**
|
|
404
|
-
* Waits for an operation to complete and returns the final result.
|
|
405
|
-
*
|
|
406
|
-
* @remarks
|
|
407
|
-
* This method polls the operation status at regular intervals until it
|
|
408
|
-
* reaches a terminal state (succeeded, failed, or canceled). Supports
|
|
409
|
-
* ergonomic overloads to accept either an Operation object or just the ID.
|
|
410
|
-
*
|
|
411
|
-
* @param opOrId - Either an Operation object or operation ID string
|
|
412
|
-
* @param options - Optional polling configuration
|
|
413
|
-
* @returns The completed operation with result or error
|
|
414
|
-
* @throws {PersonalServerError} When the operation fails or times out
|
|
415
|
-
* @example
|
|
416
|
-
* ```typescript
|
|
417
|
-
* // Using operation object
|
|
418
|
-
* const operation = await vana.server.createOperation({ permissionId: 123 });
|
|
419
|
-
* const completed = await vana.waitForOperation(operation);
|
|
420
|
-
*
|
|
421
|
-
* // Using just the ID
|
|
422
|
-
* const completed = await vana.waitForOperation("op_abc123");
|
|
423
|
-
*
|
|
424
|
-
* // With custom timeout
|
|
425
|
-
* const completed = await vana.waitForOperation(operation, {
|
|
426
|
-
* timeout: 60000,
|
|
427
|
-
* pollingInterval: 1000
|
|
428
|
-
* });
|
|
429
|
-
* ```
|
|
430
|
-
*/
|
|
431
|
-
waitForOperation<T = unknown>(opOrId: Operation<T> | string, options?: PollingOptions): Promise<Operation<T>>;
|
|
432
|
-
/**
|
|
433
|
-
* Waits for a transaction to be confirmed and returns the receipt.
|
|
434
|
-
*
|
|
435
|
-
* @remarks
|
|
436
|
-
* This method polls for transaction confirmation on the blockchain.
|
|
437
|
-
* Supports ergonomic overloads to accept either a transaction result
|
|
438
|
-
* object or just the hash string.
|
|
439
|
-
*
|
|
440
|
-
* @param hashOrObj - Either a TransactionResult object or hash string
|
|
441
|
-
* @param options - Optional wait configuration
|
|
442
|
-
* @returns The transaction receipt with logs and status
|
|
443
|
-
* @example
|
|
444
|
-
* ```typescript
|
|
445
|
-
* // Using transaction result object
|
|
446
|
-
* const tx = await vana.permissions.grant(params);
|
|
447
|
-
* const receipt = await vana.waitForTransactionReceipt(tx);
|
|
448
|
-
*
|
|
449
|
-
* // Using just the hash
|
|
450
|
-
* const receipt = await vana.waitForTransactionReceipt("0x123...");
|
|
451
|
-
*
|
|
452
|
-
* // With custom confirmations
|
|
453
|
-
* const receipt = await vana.waitForTransactionReceipt(tx, {
|
|
454
|
-
* confirmations: 3,
|
|
455
|
-
* timeout: 60000
|
|
456
|
-
* });
|
|
457
|
-
* ```
|
|
458
|
-
*/
|
|
459
|
-
waitForTransactionReceipt(hashOrObj: TransactionResult | {
|
|
460
|
-
hash: viem.Hash;
|
|
461
|
-
} | viem.Hash, options?: TransactionWaitOptions): Promise<viem.TransactionReceipt>;
|
|
462
|
-
/**
|
|
463
|
-
* Waits for transaction confirmation and extracts blockchain event data.
|
|
464
|
-
*
|
|
465
|
-
* @remarks
|
|
466
|
-
* This method leverages the context-carrying POJO architecture. When passed a
|
|
467
|
-
* `TransactionResult` with an `operation` field, it automatically parses the
|
|
468
|
-
* correct events from the transaction logs. For legacy compatibility, it accepts
|
|
469
|
-
* raw hashes but will not parse events without operation context.
|
|
470
|
-
*
|
|
471
|
-
* @param transaction - Transaction result with operation context
|
|
472
|
-
* @param options - Optional confirmation and timeout settings
|
|
473
|
-
* @returns Parsed event data specific to the transaction's operation type
|
|
474
|
-
* @throws {NetworkError} When transaction confirmation times out
|
|
475
|
-
* @throws {BlockchainError} When expected events are not found in the transaction
|
|
476
|
-
*
|
|
477
|
-
* @example
|
|
478
|
-
* ```typescript
|
|
479
|
-
* // Recommended: Pass the transaction result for automatic event parsing
|
|
480
|
-
* const tx = await vana.permissions.submitAddServerFilesAndPermissions(params);
|
|
481
|
-
* const events = await vana.waitForTransactionEvents<{ permissionId: bigint }>(tx);
|
|
482
|
-
* console.log(`Permission ID: ${events.permissionId}`);
|
|
483
|
-
*
|
|
484
|
-
* // Legacy: Raw hash without event parsing (returns receipt)
|
|
485
|
-
* const receipt = await vana.waitForTransactionEvents("0x123...");
|
|
486
|
-
* ```
|
|
487
|
-
*
|
|
488
|
-
* @see For understanding transaction flows, visit https://docs.vana.org/docs/transactions
|
|
489
|
-
*/
|
|
490
|
-
waitForTransactionEvents<C extends Contract, F extends Fn<C>>(transaction: TransactionResult<C, F>, options?: TransactionWaitOptions): Promise<TypedTransactionResult<C, F>>;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
export { VanaCore, VanaCoreFactory };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test vectors generated from eccrypto for compatibility verification
|
|
3
|
-
* Generated on: 2025-08-17T15:03:45.067Z
|
|
4
|
-
* eccrypto version: 1.1.6
|
|
5
|
-
*
|
|
6
|
-
* These vectors ensure our ECIES implementation is compatible with eccrypto
|
|
7
|
-
*/
|
|
8
|
-
declare const eccryptoTestVectors: ({
|
|
9
|
-
name: string;
|
|
10
|
-
privateKey: string;
|
|
11
|
-
publicKey: string;
|
|
12
|
-
message: string;
|
|
13
|
-
encrypted: {
|
|
14
|
-
iv: string;
|
|
15
|
-
ephemPublicKey: string;
|
|
16
|
-
ciphertext: string;
|
|
17
|
-
mac: string;
|
|
18
|
-
};
|
|
19
|
-
messageText?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
name: string;
|
|
22
|
-
privateKey: string;
|
|
23
|
-
publicKey: string;
|
|
24
|
-
message: string;
|
|
25
|
-
messageText: string;
|
|
26
|
-
encrypted: {
|
|
27
|
-
iv: string;
|
|
28
|
-
ephemPublicKey: string;
|
|
29
|
-
ciphertext: string;
|
|
30
|
-
mac: string;
|
|
31
|
-
};
|
|
32
|
-
})[];
|
|
33
|
-
declare const eccryptoFormat: {
|
|
34
|
-
ivLength: number;
|
|
35
|
-
ephemPublicKeyLength: number;
|
|
36
|
-
macLength: number;
|
|
37
|
-
getFormatLength: (ciphertextLength: number) => number;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export { eccryptoFormat, eccryptoTestVectors };
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { ECIESProvider, ECIESEncrypted } from './interface.cjs';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Provides shared ECIES encryption logic across platforms using Uint8Array.
|
|
5
|
-
*
|
|
6
|
-
* @remarks
|
|
7
|
-
* Platform implementations extend this class and provide crypto primitives.
|
|
8
|
-
* The base class handles the ECIES protocol flow while maintaining
|
|
9
|
-
* compatibility with the eccrypto data format.
|
|
10
|
-
*
|
|
11
|
-
* **Implementation details:**
|
|
12
|
-
* - KDF: SHA-512(shared_secret) → encKey (32B) || macKey (32B)
|
|
13
|
-
* - Cipher: AES-256-CBC with random 16-byte IV
|
|
14
|
-
* - MAC: HMAC-SHA256(macKey, iv || ephemPublicKey || ciphertext)
|
|
15
|
-
*
|
|
16
|
-
* @category Cryptography
|
|
17
|
-
*/
|
|
18
|
-
declare abstract class BaseECIESUint8 implements ECIESProvider {
|
|
19
|
-
private static readonly validatedKeys;
|
|
20
|
-
/**
|
|
21
|
-
* Generates cryptographically secure random bytes.
|
|
22
|
-
*
|
|
23
|
-
* @param length - Number of random bytes to generate.
|
|
24
|
-
* @returns Random bytes array.
|
|
25
|
-
*/
|
|
26
|
-
protected abstract generateRandomBytes(length: number): Uint8Array;
|
|
27
|
-
/**
|
|
28
|
-
* Verifies a private key is valid for secp256k1.
|
|
29
|
-
*
|
|
30
|
-
* @param privateKey - Private key to verify (32 bytes).
|
|
31
|
-
* @returns `true` if valid private key.
|
|
32
|
-
*/
|
|
33
|
-
protected abstract verifyPrivateKey(privateKey: Uint8Array): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a public key from a private key.
|
|
36
|
-
*
|
|
37
|
-
* @param privateKey - Source private key (32 bytes).
|
|
38
|
-
* @param compressed - Generate compressed (33B) or uncompressed (65B) format.
|
|
39
|
-
* @returns Public key or `null` if creation failed.
|
|
40
|
-
*/
|
|
41
|
-
protected abstract createPublicKey(privateKey: Uint8Array, compressed: boolean): Uint8Array | null;
|
|
42
|
-
/**
|
|
43
|
-
* Validates a public key on the secp256k1 curve.
|
|
44
|
-
*
|
|
45
|
-
* @param publicKey - Public key to validate.
|
|
46
|
-
* @returns `true` if valid public key.
|
|
47
|
-
*/
|
|
48
|
-
protected abstract validatePublicKey(publicKey: Uint8Array): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Decompresses a compressed public key.
|
|
51
|
-
*
|
|
52
|
-
* @param publicKey - Compressed public key (33 bytes).
|
|
53
|
-
* @returns Uncompressed public key (65 bytes) or `null` if decompression failed.
|
|
54
|
-
*/
|
|
55
|
-
protected abstract decompressPublicKey(publicKey: Uint8Array): Uint8Array | null;
|
|
56
|
-
/**
|
|
57
|
-
* Performs ECDH key agreement.
|
|
58
|
-
*
|
|
59
|
-
* @param publicKey - Other party's public key.
|
|
60
|
-
* @param privateKey - Your private key.
|
|
61
|
-
* @returns Raw X coordinate of shared point (32 bytes).
|
|
62
|
-
*/
|
|
63
|
-
protected abstract performECDH(publicKey: Uint8Array, privateKey: Uint8Array): Uint8Array;
|
|
64
|
-
/**
|
|
65
|
-
* Computes SHA-512 hash.
|
|
66
|
-
*
|
|
67
|
-
* @param data - Data to hash.
|
|
68
|
-
* @returns SHA-512 hash (64 bytes).
|
|
69
|
-
*/
|
|
70
|
-
protected abstract sha512(data: Uint8Array): Uint8Array;
|
|
71
|
-
/**
|
|
72
|
-
* Computes HMAC-SHA256 authentication tag.
|
|
73
|
-
*
|
|
74
|
-
* @param key - HMAC key.
|
|
75
|
-
* @param data - Data to authenticate.
|
|
76
|
-
* @returns HMAC-SHA256 (32 bytes).
|
|
77
|
-
*/
|
|
78
|
-
protected abstract hmacSha256(key: Uint8Array, data: Uint8Array): Uint8Array;
|
|
79
|
-
/**
|
|
80
|
-
* Encrypts data using AES-256-CBC.
|
|
81
|
-
*
|
|
82
|
-
* @param key - Encryption key (32 bytes).
|
|
83
|
-
* @param iv - Initialization vector (16 bytes).
|
|
84
|
-
* @param plaintext - Data to encrypt.
|
|
85
|
-
* @returns Ciphertext with PKCS#7 padding.
|
|
86
|
-
*/
|
|
87
|
-
protected abstract aesEncrypt(key: Uint8Array, iv: Uint8Array, plaintext: Uint8Array): Promise<Uint8Array>;
|
|
88
|
-
/**
|
|
89
|
-
* Decrypts data using AES-256-CBC.
|
|
90
|
-
*
|
|
91
|
-
* @param key - Decryption key (32 bytes).
|
|
92
|
-
* @param iv - Initialization vector (16 bytes).
|
|
93
|
-
* @param ciphertext - Data to decrypt.
|
|
94
|
-
* @returns Plaintext with padding removed.
|
|
95
|
-
*/
|
|
96
|
-
protected abstract aesDecrypt(key: Uint8Array, iv: Uint8Array, ciphertext: Uint8Array): Promise<Uint8Array>;
|
|
97
|
-
/**
|
|
98
|
-
* Normalizes a public key to uncompressed format.
|
|
99
|
-
*
|
|
100
|
-
* @param publicKey - Public key in any format.
|
|
101
|
-
* @returns Uncompressed public key (65 bytes).
|
|
102
|
-
* @throws {ECIESError} If key format is invalid.
|
|
103
|
-
*/
|
|
104
|
-
protected normalizePublicKey(publicKey: Uint8Array): Uint8Array;
|
|
105
|
-
/**
|
|
106
|
-
* Normalizes a public key to uncompressed format (65 bytes with 0x04 prefix).
|
|
107
|
-
* Must be implemented by derived classes to handle platform-specific operations.
|
|
108
|
-
*
|
|
109
|
-
* @param publicKey - The public key to normalize
|
|
110
|
-
* @returns The normalized uncompressed public key
|
|
111
|
-
*/
|
|
112
|
-
abstract normalizeToUncompressed(publicKey: Uint8Array): Uint8Array;
|
|
113
|
-
/**
|
|
114
|
-
* Encrypts data using ECIES.
|
|
115
|
-
*
|
|
116
|
-
* @param publicKey - The recipient's public key (compressed or uncompressed)
|
|
117
|
-
* @param message - The data to encrypt
|
|
118
|
-
* @returns Promise resolving to encrypted data structure
|
|
119
|
-
*/
|
|
120
|
-
encrypt(publicKey: Uint8Array, message: Uint8Array): Promise<ECIESEncrypted>;
|
|
121
|
-
/**
|
|
122
|
-
* Decrypts ECIES encrypted data.
|
|
123
|
-
*
|
|
124
|
-
* @param privateKey - The recipient's private key (32 bytes)
|
|
125
|
-
* @param encrypted - The encrypted data structure from encrypt()
|
|
126
|
-
* @returns Promise resolving to the original plaintext
|
|
127
|
-
*/
|
|
128
|
-
decrypt(privateKey: Uint8Array, encrypted: ECIESEncrypted): Promise<Uint8Array>;
|
|
129
|
-
/**
|
|
130
|
-
* Clears sensitive data from memory using multi-pass overwrite.
|
|
131
|
-
*
|
|
132
|
-
* @remarks
|
|
133
|
-
* Uses multiple passes with different patterns to make it harder
|
|
134
|
-
* for JIT compilers to optimize away the operation. While not
|
|
135
|
-
* guaranteed in JavaScript, this is a best-effort approach to
|
|
136
|
-
* clear sensitive data from memory.
|
|
137
|
-
*
|
|
138
|
-
* @param buffer - The buffer to clear
|
|
139
|
-
*/
|
|
140
|
-
protected clearBuffer(buffer: Uint8Array): void;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export { BaseECIESUint8 };
|