@opendatalabs/vana-sdk 0.1.0-alpha.ffe4659 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -342
- package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
- package/dist/browser.cjs +29 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.ts +36 -1
- package/dist/browser.js +1 -305
- package/dist/browser.js.map +1 -1
- package/dist/{chains.browser.cjs → chains/definitions.cjs} +16 -17
- package/dist/chains/definitions.cjs.map +1 -0
- package/dist/{chains.browser.d.cts → chains/definitions.d.ts} +9 -11
- package/dist/chains/definitions.js +67 -0
- package/dist/chains/definitions.js.map +1 -0
- package/dist/chains/index.cjs +37 -0
- package/dist/chains/index.cjs.map +1 -0
- package/dist/chains/index.d.ts +34 -0
- package/dist/chains/index.js +15 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains.browser.d.ts +5 -50
- package/dist/chains.browser.js +7 -57
- package/dist/chains.browser.js.map +1 -1
- package/dist/chains.cjs +6 -65
- package/dist/chains.cjs.map +1 -1
- package/dist/chains.d.ts +8 -2
- package/dist/chains.js +7 -57
- package/dist/chains.js.map +1 -1
- package/dist/chains.node.cjs +6 -65
- package/dist/chains.node.cjs.map +1 -1
- package/dist/chains.node.d.ts +8 -2
- package/dist/chains.node.js +7 -57
- package/dist/chains.node.js.map +1 -1
- package/dist/client/__tests__/enhancedResponse.test.d.ts +1 -0
- package/dist/client/enhancedResponse.cjs +164 -0
- package/dist/client/enhancedResponse.cjs.map +1 -0
- package/dist/client/enhancedResponse.d.ts +120 -0
- package/dist/client/enhancedResponse.js +138 -0
- package/dist/client/enhancedResponse.js.map +1 -0
- package/dist/config/addresses.cjs +325 -0
- package/dist/config/addresses.cjs.map +1 -0
- package/dist/config/addresses.d.ts +364 -0
- package/dist/config/addresses.js +295 -0
- package/dist/config/addresses.js.map +1 -0
- package/dist/config/chains.cjs +93 -0
- package/dist/config/chains.cjs.map +1 -0
- package/dist/config/chains.d.ts +180 -0
- package/dist/config/chains.js +67 -0
- package/dist/config/chains.js.map +1 -0
- 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.cjs +52 -0
- package/dist/config/features.cjs.map +1 -0
- package/dist/config/features.d.ts +62 -0
- package/dist/config/features.js +28 -0
- package/dist/config/features.js.map +1 -0
- package/dist/config/tests/addresses.test.d.ts +1 -0
- package/dist/contracts/contractController.cjs +126 -0
- package/dist/contracts/contractController.cjs.map +1 -0
- package/dist/contracts/contractController.d.ts +135 -0
- package/dist/contracts/contractController.js +100 -0
- package/dist/contracts/contractController.js.map +1 -0
- package/dist/contracts/tests/contractController.test.d.ts +1 -0
- package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +7 -0
- package/dist/controllers/__tests__/operations.processQueue.test.d.ts +1 -0
- package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
- package/dist/controllers/base.cjs +116 -0
- package/dist/controllers/base.cjs.map +1 -0
- package/dist/controllers/base.d.ts +94 -0
- package/dist/controllers/base.js +92 -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 +2633 -0
- package/dist/controllers/data.cjs.map +1 -0
- package/dist/controllers/data.d.ts +1067 -0
- package/dist/controllers/data.js +2626 -0
- package/dist/controllers/data.js.map +1 -0
- package/dist/controllers/operations.cjs +430 -0
- package/dist/controllers/operations.cjs.map +1 -0
- package/dist/controllers/operations.d.ts +229 -0
- package/dist/controllers/operations.js +406 -0
- package/dist/controllers/operations.js.map +1 -0
- package/dist/controllers/permissions.cjs +4363 -0
- package/dist/controllers/permissions.cjs.map +1 -0
- package/dist/controllers/permissions.d.ts +1411 -0
- package/dist/controllers/permissions.js +4339 -0
- package/dist/controllers/permissions.js.map +1 -0
- package/dist/controllers/protocol.cjs +183 -0
- package/dist/controllers/protocol.cjs.map +1 -0
- package/dist/controllers/protocol.d.ts +138 -0
- package/dist/controllers/protocol.js +163 -0
- package/dist/controllers/protocol.js.map +1 -0
- package/dist/controllers/schemas.cjs +678 -0
- package/dist/controllers/schemas.cjs.map +1 -0
- package/dist/controllers/schemas.d.ts +293 -0
- package/dist/controllers/schemas.js +654 -0
- package/dist/controllers/schemas.js.map +1 -0
- package/dist/controllers/server-additional.test.d.ts +1 -0
- package/dist/controllers/server.cjs +643 -0
- package/dist/controllers/server.cjs.map +1 -0
- package/dist/controllers/server.d.ts +322 -0
- package/dist/controllers/server.js +624 -0
- package/dist/controllers/server.js.map +1 -0
- package/dist/core/__tests__/health.test.d.ts +1 -0
- package/dist/core/__tests__/inMemoryNonceManager.test.d.ts +1 -0
- package/dist/core/__tests__/nonceManager.test.d.ts +1 -0
- package/dist/core/__tests__/pollingManager.test.d.ts +4 -0
- package/dist/core/apiClient.cjs +378 -0
- package/dist/core/apiClient.cjs.map +1 -0
- package/dist/core/apiClient.d.ts +286 -0
- package/dist/core/apiClient.js +359 -0
- package/dist/core/apiClient.js.map +1 -0
- package/dist/core/client.cjs +70 -0
- package/dist/core/client.cjs.map +1 -0
- package/dist/core/client.d.ts +89 -0
- package/dist/core/client.js +47 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/core.test.d.ts +1 -0
- package/dist/core/generics.cjs +417 -0
- package/dist/core/generics.cjs.map +1 -0
- package/dist/core/generics.d.ts +205 -0
- package/dist/core/generics.js +386 -0
- package/dist/core/generics.js.map +1 -0
- package/dist/core/health.cjs +289 -0
- package/dist/core/health.cjs.map +1 -0
- package/dist/core/health.d.ts +143 -0
- package/dist/core/health.js +265 -0
- package/dist/core/health.js.map +1 -0
- package/dist/core/inMemoryNonceManager.cjs +138 -0
- package/dist/core/inMemoryNonceManager.cjs.map +1 -0
- package/dist/core/inMemoryNonceManager.d.ts +69 -0
- package/dist/core/inMemoryNonceManager.js +114 -0
- package/dist/core/inMemoryNonceManager.js.map +1 -0
- package/dist/core/nonceManager.cjs +304 -0
- package/dist/core/nonceManager.cjs.map +1 -0
- package/dist/core/nonceManager.d.ts +116 -0
- package/dist/core/nonceManager.js +280 -0
- package/dist/core/nonceManager.js.map +1 -0
- package/dist/core/pollingManager.cjs +292 -0
- package/dist/core/pollingManager.cjs.map +1 -0
- package/dist/core/pollingManager.d.ts +120 -0
- package/dist/core/pollingManager.js +268 -0
- package/dist/core/pollingManager.js.map +1 -0
- 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 +777 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +493 -0
- package/dist/core.js +752 -0
- package/dist/core.js.map +1 -0
- 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.cjs +102 -0
- package/dist/crypto/ecies/__tests__/test-vectors.cjs.map +1 -0
- package/dist/crypto/ecies/__tests__/test-vectors.d.ts +38 -0
- package/dist/crypto/ecies/__tests__/test-vectors.js +77 -0
- package/dist/crypto/ecies/__tests__/test-vectors.js.map +1 -0
- package/dist/crypto/ecies/base.cjs +245 -0
- package/dist/crypto/ecies/base.cjs.map +1 -0
- package/dist/crypto/ecies/base.d.ts +140 -0
- package/dist/crypto/ecies/base.js +221 -0
- package/dist/crypto/ecies/base.js.map +1 -0
- package/dist/crypto/ecies/browser.cjs +165 -0
- package/dist/crypto/ecies/browser.cjs.map +1 -0
- package/dist/crypto/ecies/browser.d.ts +43 -0
- package/dist/crypto/ecies/browser.js +131 -0
- package/dist/crypto/ecies/browser.js.map +1 -0
- package/dist/crypto/ecies/constants.cjs +131 -0
- package/dist/crypto/ecies/constants.cjs.map +1 -0
- package/dist/crypto/ecies/constants.d.ts +120 -0
- package/dist/crypto/ecies/constants.js +101 -0
- package/dist/crypto/ecies/constants.js.map +1 -0
- package/dist/crypto/ecies/index.cjs +35 -0
- package/dist/crypto/ecies/index.cjs.map +1 -0
- package/dist/crypto/ecies/index.d.ts +8 -0
- package/dist/crypto/ecies/index.js +13 -0
- package/dist/crypto/ecies/index.js.map +1 -0
- package/dist/crypto/ecies/interface.cjs +87 -0
- package/dist/crypto/ecies/interface.cjs.map +1 -0
- package/dist/crypto/ecies/interface.d.ts +174 -0
- package/dist/crypto/ecies/interface.js +60 -0
- package/dist/crypto/ecies/interface.js.map +1 -0
- package/dist/crypto/ecies/node.cjs +167 -0
- package/dist/crypto/ecies/node.cjs.map +1 -0
- package/dist/crypto/ecies/node.d.ts +45 -0
- package/dist/crypto/ecies/node.js +139 -0
- package/dist/crypto/ecies/node.js.map +1 -0
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
- package/dist/crypto/ecies/utils.cjs +52 -0
- package/dist/crypto/ecies/utils.cjs.map +1 -0
- package/dist/crypto/ecies/utils.d.ts +30 -0
- package/dist/crypto/ecies/utils.js +26 -0
- package/dist/crypto/ecies/utils.js.map +1 -0
- package/dist/crypto/services/WalletKeyEncryptionService.cjs +128 -0
- package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -0
- package/dist/crypto/services/WalletKeyEncryptionService.d.ts +88 -0
- package/dist/crypto/services/WalletKeyEncryptionService.js +108 -0
- package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -0
- package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
- package/dist/diagnostics.cjs +37 -0
- package/dist/diagnostics.cjs.map +1 -0
- package/dist/diagnostics.d.ts +24 -0
- package/dist/diagnostics.js +13 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/diagnostics.test.d.ts +1 -0
- package/dist/errors.cjs +186 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.ts +452 -0
- package/dist/errors.js +148 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/abi/ComputeEngineImplementation.cjs +1313 -0
- package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -0
- package/dist/generated/abi/ComputeEngineImplementation.d.ts +995 -0
- package/dist/generated/abi/ComputeEngineImplementation.js +1289 -0
- package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs +734 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +544 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js +710 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -0
- package/dist/generated/abi/DATFactoryImplementation.cjs +882 -0
- package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DATFactoryImplementation.d.ts +660 -0
- package/dist/generated/abi/DATFactoryImplementation.js +858 -0
- package/dist/generated/abi/DATFactoryImplementation.js.map +1 -0
- package/dist/generated/abi/DATImplementation.cjs +934 -0
- package/dist/generated/abi/DATImplementation.cjs.map +1 -0
- package/dist/generated/abi/DATImplementation.d.ts +692 -0
- package/dist/generated/abi/DATImplementation.js +910 -0
- package/dist/generated/abi/DATImplementation.js.map +1 -0
- package/dist/generated/abi/DATPausableImplementation.cjs +1523 -0
- package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -0
- package/dist/generated/abi/DATPausableImplementation.d.ts +1144 -0
- package/dist/generated/abi/DATPausableImplementation.js +1499 -0
- package/dist/generated/abi/DATPausableImplementation.js.map +1 -0
- package/dist/generated/abi/DATVotesImplementation.cjs +1460 -0
- package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -0
- package/dist/generated/abi/DATVotesImplementation.d.ts +1094 -0
- package/dist/generated/abi/DATVotesImplementation.js +1436 -0
- package/dist/generated/abi/DATVotesImplementation.js.map +1 -0
- package/dist/generated/abi/DLPPerformanceImplementation.cjs +1202 -0
- package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +914 -0
- package/dist/generated/abi/DLPPerformanceImplementation.js +1178 -0
- package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRegistryImplementation.cjs +1469 -0
- package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRegistryImplementation.d.ts +1122 -0
- package/dist/generated/abi/DLPRegistryImplementation.js +1445 -0
- package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs +612 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +451 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.js +588 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +1112 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +840 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.js +1088 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +612 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +451 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +588 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.cjs +939 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +705 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.js +915 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRootImplementation.cjs +1644 -0
- package/dist/generated/abi/DLPRootImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRootImplementation.d.ts +1246 -0
- package/dist/generated/abi/DLPRootImplementation.js +1620 -0
- package/dist/generated/abi/DLPRootImplementation.js.map +1 -0
- package/dist/generated/abi/DLPTreasuryImplementation.cjs +612 -0
- package/dist/generated/abi/DLPTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPTreasuryImplementation.d.ts +451 -0
- package/dist/generated/abi/DLPTreasuryImplementation.js +588 -0
- package/dist/generated/abi/DLPTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +985 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +735 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.js +961 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +1036 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +773 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js +1012 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +1298 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +974 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +1274 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs +1419 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +1071 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.js +1395 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.cjs +984 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +736 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.js +960 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -0
- package/dist/generated/abi/DataRegistryImplementation.cjs +1328 -0
- package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataRegistryImplementation.d.ts +1003 -0
- package/dist/generated/abi/DataRegistryImplementation.js +1304 -0
- package/dist/generated/abi/DataRegistryImplementation.js.map +1 -0
- package/dist/generated/abi/QueryEngineImplementation.cjs +1319 -0
- package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -0
- package/dist/generated/abi/QueryEngineImplementation.d.ts +1000 -0
- package/dist/generated/abi/QueryEngineImplementation.js +1295 -0
- package/dist/generated/abi/QueryEngineImplementation.js.map +1 -0
- package/dist/generated/abi/SwapHelperImplementation.cjs +976 -0
- package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -0
- package/dist/generated/abi/SwapHelperImplementation.d.ts +728 -0
- package/dist/generated/abi/SwapHelperImplementation.js +952 -0
- package/dist/generated/abi/SwapHelperImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs +936 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +700 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js +912 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs +936 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +700 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js +912 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs +936 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +700 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js +912 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolImplementation.cjs +1313 -0
- package/dist/generated/abi/TeePoolImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolImplementation.d.ts +992 -0
- package/dist/generated/abi/TeePoolImplementation.js +1289 -0
- package/dist/generated/abi/TeePoolImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs +936 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +700 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.js +912 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs +936 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +700 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.js +912 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.cjs +1313 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +992 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.js +1289 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs +1383 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaEpochImplementation.d.ts +1050 -0
- package/dist/generated/abi/VanaEpochImplementation.js +1359 -0
- package/dist/generated/abi/VanaEpochImplementation.js.map +1 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs +1191 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +899 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js +1167 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs +1033 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +776 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.js +1009 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs +538 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +393 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.js +514 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/index.cjs +177 -0
- package/dist/generated/abi/index.cjs.map +1 -0
- package/dist/{index.node.d.cts → generated/abi/index.d.ts} +26941 -37486
- package/dist/generated/abi/index.js +120 -0
- package/dist/generated/abi/index.js.map +1 -0
- package/dist/generated/event-types.cjs +17 -0
- package/dist/generated/event-types.cjs.map +1 -0
- package/dist/generated/event-types.d.ts +860 -0
- package/dist/generated/event-types.js +1 -0
- package/dist/generated/event-types.js.map +1 -0
- package/dist/generated/eventRegistry.cjs +3375 -0
- package/dist/generated/eventRegistry.cjs.map +1 -0
- package/dist/generated/eventRegistry.d.ts +14 -0
- package/dist/generated/eventRegistry.js +3350 -0
- package/dist/generated/eventRegistry.js.map +1 -0
- package/dist/generated/server/server-exports.cjs +45 -0
- package/dist/generated/server/server-exports.cjs.map +1 -0
- package/dist/generated/server/server-exports.d.ts +36 -0
- package/dist/generated/server/server-exports.js +19 -0
- package/dist/generated/server/server-exports.js.map +1 -0
- package/dist/generated/server/server.cjs +17 -0
- package/dist/generated/server/server.cjs.map +1 -0
- package/dist/generated/server/server.d.ts +907 -0
- package/dist/generated/server/server.js +1 -0
- package/dist/generated/server/server.js.map +1 -0
- package/dist/generated/subgraph.cjs +1440 -0
- package/dist/generated/subgraph.cjs.map +1 -0
- package/dist/generated/subgraph.d.ts +6113 -0
- package/dist/generated/subgraph.js +1404 -0
- package/dist/generated/subgraph.js.map +1 -0
- package/dist/index.browser.d.ts +48 -37223
- package/dist/index.browser.js +86 -46352
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +5 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/index.node.cjs +123 -46839
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +92 -37358
- package/dist/index.node.js +103 -46726
- package/dist/index.node.js.map +1 -1
- package/dist/lib/__tests__/redisAtomicStore.test.d.ts +1 -0
- package/dist/lib/redisAtomicStore.cjs +201 -0
- package/dist/lib/redisAtomicStore.cjs.map +1 -0
- package/dist/lib/redisAtomicStore.d.ts +120 -0
- package/dist/lib/redisAtomicStore.js +177 -0
- package/dist/lib/redisAtomicStore.js.map +1 -0
- package/dist/node.cjs +2 -321
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.ts +42 -1
- package/dist/node.js +1 -307
- package/dist/node.js.map +1 -1
- package/dist/platform/browser-only.cjs +37 -0
- package/dist/platform/browser-only.cjs.map +1 -0
- package/dist/platform/browser-only.d.ts +22 -0
- package/dist/platform/browser-only.js +12 -0
- package/dist/platform/browser-only.js.map +1 -0
- package/dist/platform/browser-only.test.d.ts +1 -0
- package/dist/platform/browser-safe.cjs +57 -0
- package/dist/platform/browser-safe.cjs.map +1 -0
- package/dist/platform/browser-safe.d.ts +29 -0
- package/dist/platform/browser-safe.js +31 -0
- package/dist/platform/browser-safe.js.map +1 -0
- package/dist/platform/browser-safe.test.d.ts +1 -0
- package/dist/platform/browser.cjs +488 -0
- package/dist/platform/browser.cjs.map +1 -0
- package/dist/platform/browser.d.ts +291 -0
- package/dist/platform/browser.js +454 -0
- package/dist/platform/browser.js.map +1 -0
- package/dist/platform/browser.test.d.ts +1 -0
- package/dist/platform/index.cjs +50 -0
- package/dist/platform/index.cjs.map +1 -0
- package/dist/platform/index.d.ts +11 -0
- package/dist/platform/index.js +27 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/interface.cjs +17 -0
- package/dist/platform/interface.cjs.map +1 -0
- package/dist/platform/interface.d.ts +409 -0
- package/dist/platform/interface.js +1 -0
- package/dist/platform/interface.js.map +1 -0
- package/dist/platform/node.cjs +512 -0
- package/dist/platform/node.cjs.map +1 -0
- package/dist/platform/node.d.ts +86 -0
- package/dist/platform/node.js +481 -0
- package/dist/platform/node.js.map +1 -0
- 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.cjs +43 -0
- package/dist/platform/shared/error-utils.cjs.map +1 -0
- package/dist/platform/shared/error-utils.d.ts +23 -0
- package/dist/platform/shared/error-utils.js +18 -0
- package/dist/platform/shared/error-utils.js.map +1 -0
- package/dist/platform/shared/pgp-utils.cjs +55 -0
- package/dist/platform/shared/pgp-utils.cjs.map +1 -0
- package/dist/platform/shared/pgp-utils.d.ts +59 -0
- package/dist/platform/shared/pgp-utils.js +29 -0
- package/dist/platform/shared/pgp-utils.js.map +1 -0
- package/dist/platform/shared/stream-utils.cjs +49 -0
- package/dist/platform/shared/stream-utils.cjs.map +1 -0
- package/dist/platform/shared/stream-utils.d.ts +14 -0
- package/dist/platform/shared/stream-utils.js +25 -0
- package/dist/platform/shared/stream-utils.js.map +1 -0
- package/dist/platform/utils.cjs +114 -0
- package/dist/platform/utils.cjs.map +1 -0
- package/dist/platform/utils.d.ts +49 -0
- package/dist/platform/utils.js +76 -0
- package/dist/platform/utils.js.map +1 -0
- package/dist/platform/utils.test.d.ts +1 -0
- package/dist/platform.browser.d.ts +6 -57
- package/dist/platform.browser.js +10 -379
- package/dist/platform.browser.js.map +1 -1
- package/dist/platform.cjs +14 -708
- package/dist/platform.cjs.map +1 -1
- package/dist/platform.d.ts +11 -2
- package/dist/platform.js +14 -694
- package/dist/platform.js.map +1 -1
- package/dist/platform.node.cjs +14 -708
- package/dist/platform.node.cjs.map +1 -1
- package/dist/platform.node.d.ts +7 -102
- package/dist/platform.node.js +14 -694
- package/dist/platform.node.js.map +1 -1
- package/dist/schemas/dataSchema.schema.json +53 -0
- package/dist/schemas/grantFile.schema.json +43 -0
- package/dist/server/relayerHandler.cjs +452 -0
- package/dist/server/relayerHandler.cjs.map +1 -0
- package/dist/server/relayerHandler.d.ts +69 -0
- package/dist/server/relayerHandler.js +428 -0
- package/dist/server/relayerHandler.js.map +1 -0
- package/dist/storage/index.cjs +47 -0
- package/dist/storage/index.cjs.map +1 -0
- package/dist/storage/index.d.ts +57 -0
- package/dist/storage/index.js +17 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/manager.cjs +272 -0
- package/dist/storage/manager.cjs.map +1 -0
- package/dist/storage/manager.d.ts +241 -0
- package/dist/storage/manager.js +248 -0
- package/dist/storage/manager.js.map +1 -0
- package/dist/storage/providers/callback-storage.cjs +248 -0
- package/dist/storage/providers/callback-storage.cjs.map +1 -0
- package/dist/storage/providers/callback-storage.d.ts +183 -0
- package/dist/storage/providers/callback-storage.js +226 -0
- package/dist/storage/providers/callback-storage.js.map +1 -0
- package/dist/storage/providers/dropbox.cjs +237 -0
- package/dist/storage/providers/dropbox.cjs.map +1 -0
- package/dist/storage/providers/dropbox.d.ts +39 -0
- package/dist/storage/providers/dropbox.js +215 -0
- package/dist/storage/providers/dropbox.js.map +1 -0
- package/dist/storage/providers/dropbox.test.d.ts +1 -0
- package/dist/storage/providers/google-drive.cjs +516 -0
- package/dist/storage/providers/google-drive.cjs.map +1 -0
- package/dist/storage/providers/google-drive.d.ts +152 -0
- package/dist/storage/providers/google-drive.js +494 -0
- package/dist/storage/providers/google-drive.js.map +1 -0
- package/dist/storage/providers/google-drive.test.d.ts +1 -0
- package/dist/storage/providers/ipfs.cjs +283 -0
- package/dist/storage/providers/ipfs.cjs.map +1 -0
- package/dist/storage/providers/ipfs.d.ts +160 -0
- package/dist/storage/providers/ipfs.js +261 -0
- package/dist/storage/providers/ipfs.js.map +1 -0
- package/dist/storage/providers/pinata.cjs +339 -0
- package/dist/storage/providers/pinata.cjs.map +1 -0
- package/dist/storage/providers/pinata.d.ts +168 -0
- package/dist/storage/providers/pinata.js +317 -0
- package/dist/storage/providers/pinata.js.map +1 -0
- 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-upload-owner-validation.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-revoke-relayer.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-transaction-options.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/relayer-integration.test.d.ts +1 -0
- package/dist/tests/relayer-unified.test.d.ts +1 -0
- package/dist/tests/schemas.test.d.ts +1 -0
- package/dist/tests/server-relayer-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/atomicStore.cjs +31 -0
- package/dist/types/atomicStore.cjs.map +1 -0
- package/dist/types/atomicStore.d.ts +236 -0
- package/dist/types/atomicStore.js +7 -0
- package/dist/types/atomicStore.js.map +1 -0
- package/dist/types/blockchain.cjs +17 -0
- package/dist/types/blockchain.cjs.map +1 -0
- package/dist/types/blockchain.d.ts +85 -0
- package/dist/types/blockchain.js +1 -0
- package/dist/types/blockchain.js.map +1 -0
- package/dist/types/chains-additional.test.d.ts +1 -0
- package/dist/types/chains.cjs +36 -0
- package/dist/types/chains.cjs.map +1 -0
- package/dist/types/chains.d.ts +98 -0
- package/dist/types/chains.js +11 -0
- package/dist/types/chains.js.map +1 -0
- package/dist/types/config.cjs +51 -0
- package/dist/types/config.cjs.map +1 -0
- package/dist/types/config.d.ts +720 -0
- package/dist/types/config.js +23 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/contracts.cjs +17 -0
- package/dist/types/contracts.cjs.map +1 -0
- package/dist/types/contracts.d.ts +129 -0
- package/dist/types/contracts.js +1 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/controller-context.cjs +17 -0
- package/dist/types/controller-context.cjs.map +1 -0
- package/dist/types/controller-context.d.ts +68 -0
- package/dist/types/controller-context.js +1 -0
- package/dist/types/controller-context.js.map +1 -0
- package/dist/types/data.cjs +17 -0
- package/dist/types/data.cjs.map +1 -0
- package/dist/types/data.d.ts +763 -0
- package/dist/types/data.js +1 -0
- package/dist/types/data.js.map +1 -0
- package/dist/types/eccrypto-js.d.cjs +2 -0
- package/dist/types/eccrypto-js.d.cjs.map +1 -0
- package/dist/types/eccrypto-js.d.js +1 -0
- package/dist/types/eccrypto-js.d.js.map +1 -0
- package/dist/types/external-apis.cjs +61 -0
- package/dist/types/external-apis.cjs.map +1 -0
- package/dist/types/external-apis.d.ts +184 -0
- package/dist/types/external-apis.js +34 -0
- package/dist/types/external-apis.js.map +1 -0
- package/dist/types/generics.cjs +17 -0
- package/dist/types/generics.cjs.map +1 -0
- package/dist/types/generics.d.ts +518 -0
- package/dist/types/generics.js +1 -0
- package/dist/types/generics.js.map +1 -0
- package/dist/types/index.cjs +65 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.ts +48 -0
- package/dist/types/index.js +42 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/operationStore.cjs +17 -0
- package/dist/types/operationStore.cjs.map +1 -0
- package/dist/types/operationStore.d.ts +171 -0
- package/dist/types/operationStore.js +1 -0
- package/dist/types/operationStore.js.map +1 -0
- package/dist/types/operations.cjs +53 -0
- package/dist/types/operations.cjs.map +1 -0
- package/dist/types/operations.d.ts +204 -0
- package/dist/types/operations.js +26 -0
- package/dist/types/operations.js.map +1 -0
- package/dist/types/options.cjs +17 -0
- package/dist/types/options.cjs.map +1 -0
- package/dist/types/options.d.ts +308 -0
- package/dist/types/options.js +1 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/permissions.cjs +17 -0
- package/dist/types/permissions.cjs.map +1 -0
- package/dist/types/permissions.d.ts +953 -0
- package/dist/types/permissions.js +1 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/personal.cjs +17 -0
- package/dist/types/personal.cjs.map +1 -0
- package/dist/types/personal.d.ts +174 -0
- package/dist/types/personal.js +1 -0
- package/dist/types/personal.js.map +1 -0
- package/dist/types/relayer.cjs +17 -0
- package/dist/types/relayer.cjs.map +1 -0
- package/dist/types/relayer.d.ts +552 -0
- package/dist/types/relayer.js +1 -0
- package/dist/types/relayer.js.map +1 -0
- package/dist/types/storage.cjs +39 -0
- package/dist/types/storage.cjs.map +1 -0
- package/dist/types/storage.d.ts +117 -0
- package/dist/types/storage.js +15 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/types/transactionResults.cjs +17 -0
- package/dist/types/transactionResults.cjs.map +1 -0
- package/dist/types/transactionResults.d.ts +193 -0
- package/dist/types/transactionResults.js +1 -0
- package/dist/types/transactionResults.js.map +1 -0
- package/dist/types/utils.cjs +17 -0
- package/dist/types/utils.cjs.map +1 -0
- package/dist/types/utils.d.ts +771 -0
- package/dist/types/utils.js +1 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types.cjs +23 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.ts +30 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/__tests__/chainQuery.test.d.ts +1 -0
- 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__/subgraphConsistency.test.d.ts +4 -0
- package/dist/utils/__tests__/subgraphPagination.test.d.ts +4 -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 +81 -0
- package/dist/utils/blockchain/registry.cjs.map +1 -0
- package/dist/utils/blockchain/registry.d.ts +32 -0
- package/dist/utils/blockchain/registry.js +56 -0
- package/dist/utils/blockchain/registry.js.map +1 -0
- package/dist/utils/blockchain/registry.test.d.ts +1 -0
- package/dist/utils/chainQuery.cjs +107 -0
- package/dist/utils/chainQuery.cjs.map +1 -0
- package/dist/utils/chainQuery.d.ts +31 -0
- package/dist/utils/chainQuery.js +82 -0
- package/dist/utils/chainQuery.js.map +1 -0
- package/dist/utils/crypto-utils.cjs +108 -0
- package/dist/utils/crypto-utils.cjs.map +1 -0
- package/dist/utils/crypto-utils.d.ts +100 -0
- package/dist/utils/crypto-utils.js +76 -0
- package/dist/utils/crypto-utils.js.map +1 -0
- package/dist/utils/crypto-utils.test.d.ts +1 -0
- package/dist/utils/download.cjs +69 -0
- package/dist/utils/download.cjs.map +1 -0
- package/dist/utils/download.d.ts +40 -0
- package/dist/utils/download.js +45 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/encoding.cjs +66 -0
- package/dist/utils/encoding.cjs.map +1 -0
- package/dist/utils/encoding.d.ts +52 -0
- package/dist/utils/encoding.js +39 -0
- package/dist/utils/encoding.js.map +1 -0
- package/dist/utils/encoding.test.d.ts +1 -0
- package/dist/utils/encryption.cjs +176 -0
- package/dist/utils/encryption.cjs.map +1 -0
- package/dist/utils/encryption.d.ts +271 -0
- package/dist/utils/encryption.js +142 -0
- package/dist/utils/encryption.js.map +1 -0
- package/dist/utils/formatters.cjs +55 -0
- package/dist/utils/formatters.cjs.map +1 -0
- package/dist/utils/formatters.d.ts +118 -0
- package/dist/utils/formatters.js +28 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/grantFiles.cjs +181 -0
- package/dist/utils/grantFiles.cjs.map +1 -0
- package/dist/utils/grantFiles.d.ts +172 -0
- package/dist/utils/grantFiles.js +143 -0
- package/dist/utils/grantFiles.js.map +1 -0
- package/dist/utils/grantValidation.cjs +243 -0
- package/dist/utils/grantValidation.cjs.map +1 -0
- package/dist/utils/grantValidation.d.ts +226 -0
- package/dist/utils/grantValidation.js +201 -0
- package/dist/utils/grantValidation.js.map +1 -0
- package/dist/utils/grants.cjs +108 -0
- package/dist/utils/grants.cjs.map +1 -0
- package/dist/utils/grants.d.ts +148 -0
- package/dist/utils/grants.js +82 -0
- package/dist/utils/grants.js.map +1 -0
- package/dist/utils/ipfs.cjs +128 -0
- package/dist/utils/ipfs.cjs.map +1 -0
- package/dist/utils/ipfs.d.ts +88 -0
- package/dist/utils/ipfs.js +97 -0
- package/dist/utils/ipfs.js.map +1 -0
- package/dist/utils/lazy-import.cjs +38 -0
- package/dist/utils/lazy-import.cjs.map +1 -0
- package/dist/utils/lazy-import.d.ts +43 -0
- package/dist/utils/lazy-import.js +14 -0
- package/dist/utils/lazy-import.js.map +1 -0
- package/dist/utils/multicall.cjs +233 -0
- package/dist/utils/multicall.cjs.map +1 -0
- package/dist/utils/multicall.d.ts +126 -0
- package/dist/utils/multicall.js +208 -0
- package/dist/utils/multicall.js.map +1 -0
- package/dist/utils/parseTransactionPojo.cjs +87 -0
- package/dist/utils/parseTransactionPojo.cjs.map +1 -0
- package/dist/utils/parseTransactionPojo.d.ts +31 -0
- package/dist/utils/parseTransactionPojo.js +63 -0
- package/dist/utils/parseTransactionPojo.js.map +1 -0
- package/dist/utils/schemaValidation.cjs +258 -0
- package/dist/utils/schemaValidation.cjs.map +1 -0
- package/dist/utils/schemaValidation.d.ts +168 -0
- package/dist/utils/schemaValidation.js +219 -0
- package/dist/utils/schemaValidation.js.map +1 -0
- package/dist/utils/signatureCache.cjs +192 -0
- package/dist/utils/signatureCache.cjs.map +1 -0
- package/dist/utils/signatureCache.d.ts +172 -0
- package/dist/utils/signatureCache.js +167 -0
- package/dist/utils/signatureCache.js.map +1 -0
- package/dist/utils/signatureFormatter.cjs +42 -0
- package/dist/utils/signatureFormatter.cjs.map +1 -0
- package/dist/utils/signatureFormatter.d.ts +36 -0
- package/dist/utils/signatureFormatter.js +18 -0
- package/dist/utils/signatureFormatter.js.map +1 -0
- package/dist/utils/subgraphConsistency.cjs +184 -0
- package/dist/utils/subgraphConsistency.cjs.map +1 -0
- package/dist/utils/subgraphConsistency.d.ts +65 -0
- package/dist/utils/subgraphConsistency.js +155 -0
- package/dist/utils/subgraphConsistency.js.map +1 -0
- package/dist/utils/subgraphMetaCache.cjs +101 -0
- package/dist/utils/subgraphMetaCache.cjs.map +1 -0
- package/dist/utils/subgraphMetaCache.d.ts +56 -0
- package/dist/utils/subgraphMetaCache.js +76 -0
- package/dist/utils/subgraphMetaCache.js.map +1 -0
- package/dist/utils/subgraphPagination.cjs +104 -0
- package/dist/utils/subgraphPagination.cjs.map +1 -0
- package/dist/utils/subgraphPagination.d.ts +78 -0
- package/dist/utils/subgraphPagination.js +78 -0
- package/dist/utils/subgraphPagination.js.map +1 -0
- package/dist/utils/tests/multicall.test.d.ts +1 -0
- package/dist/utils/transactionHelpers.cjs +54 -0
- package/dist/utils/transactionHelpers.cjs.map +1 -0
- package/dist/utils/transactionHelpers.d.ts +80 -0
- package/dist/utils/transactionHelpers.js +29 -0
- package/dist/utils/transactionHelpers.js.map +1 -0
- 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.cjs +43 -0
- package/dist/utils/typedDataConverter.cjs.map +1 -0
- package/dist/utils/typedDataConverter.d.ts +46 -0
- package/dist/utils/typedDataConverter.js +19 -0
- package/dist/utils/typedDataConverter.js.map +1 -0
- package/dist/utils/urlResolver.cjs +62 -0
- package/dist/utils/urlResolver.cjs.map +1 -0
- package/dist/utils/urlResolver.d.ts +56 -0
- package/dist/utils/urlResolver.js +37 -0
- package/dist/utils/urlResolver.js.map +1 -0
- package/dist/utils/wallet.cjs +63 -0
- package/dist/utils/wallet.cjs.map +1 -0
- package/dist/utils/wallet.d.ts +94 -0
- package/dist/utils/wallet.js +37 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/withEvents.cjs +44 -0
- package/dist/utils/withEvents.cjs.map +1 -0
- package/dist/utils/withEvents.d.ts +56 -0
- package/dist/utils/withEvents.js +18 -0
- package/dist/utils/withEvents.js.map +1 -0
- package/package.json +63 -29
- package/dist/browser-DY8XDblx.d.ts +0 -241
- package/dist/chains.browser.cjs.map +0 -1
- package/dist/chains.d.cts +0 -2
- package/dist/chains.node.d.cts +0 -2
- package/dist/index.d.cts +0 -2
- package/dist/node-D9-F9uEP.d.cts +0 -238
- package/dist/node-D9-F9uEP.d.ts +0 -238
- package/dist/node.d.cts +0 -1
- package/dist/platform.d.cts +0 -2
- package/dist/platform.node.d.cts +0 -105
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/encoding.ts"],"sourcesContent":["/**\n * Provides platform-aware base64 encoding utilities.\n *\n * @remarks\n * This module provides base64 encoding/decoding operations across Node.js and browser\n * environments. For hex and string conversions, use viem's utilities directly:\n * - `toHex` / `fromHex` from 'viem'\n * - `stringToBytes` / `bytesToString` from 'viem'\n *\n * @category Utilities\n */\n\n/**\n * Converts a Uint8Array to a base64 string.\n *\n * @param data - The byte array to encode into base64 format.\n * @returns The base64-encoded string representation.\n * @throws {Error} When no base64 encoding method is available in the environment.\n *\n * @example\n * ```typescript\n * const bytes = new Uint8Array([72, 101, 108, 108, 111]);\n * const encoded = toBase64(bytes);\n * console.log(encoded); // \"SGVsbG8=\"\n * ```\n */\nexport function toBase64(data: Uint8Array): string {\n // Node.js path - most efficient\n if (typeof Buffer !== \"undefined\" && Buffer.from) {\n return Buffer.from(data).toString(\"base64\");\n }\n\n // Browser path - using native btoa\n if (typeof btoa !== \"undefined\") {\n const binary = Array.from(data, (byte) => String.fromCharCode(byte)).join(\n \"\",\n );\n return btoa(binary);\n }\n\n throw new Error(\"No base64 encoding method available in this environment\");\n}\n\n/**\n * Converts a base64 string to a Uint8Array.\n *\n * @param str - The base64-encoded string to decode.\n * @returns The decoded byte array.\n * @throws {Error} When no base64 decoding method is available in the environment.\n *\n * @example\n * ```typescript\n * const decoded = fromBase64(\"SGVsbG8=\");\n * console.log(new TextDecoder().decode(decoded)); // \"Hello\"\n * ```\n */\nexport function fromBase64(str: string): Uint8Array {\n // Node.js path - most efficient\n if (typeof Buffer !== \"undefined\" && Buffer.from) {\n return new Uint8Array(Buffer.from(str, \"base64\"));\n }\n\n // Browser path - using native atob\n if (typeof atob !== \"undefined\") {\n const binary = atob(str);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n }\n\n throw new Error(\"No base64 decoding method available in this environment\");\n}\n\n/**\n * Type guard to check if running in Node.js environment\n *\n * @returns True if running in Node.js\n */\nexport function isNodeEnvironment(): boolean {\n return (\n typeof Buffer !== \"undefined\" &&\n typeof Buffer.from === \"function\" &&\n typeof process !== \"undefined\" &&\n process.versions?.node !== undefined\n );\n}\n\n/**\n * Type guard to check if running in browser environment\n *\n * @returns True if running in browser\n */\nexport function isBrowserEnvironment(): boolean {\n return (\n typeof window !== \"undefined\" && typeof window.document !== \"undefined\"\n );\n}\n"],"mappings":"AA0BO,SAAS,SAAS,MAA0B;AAEjD,MAAI,OAAO,WAAW,eAAe,OAAO,MAAM;AAChD,WAAO,OAAO,KAAK,IAAI,EAAE,SAAS,QAAQ;AAAA,EAC5C;AAGA,MAAI,OAAO,SAAS,aAAa;AAC/B,UAAM,SAAS,MAAM,KAAK,MAAM,CAAC,SAAS,OAAO,aAAa,IAAI,CAAC,EAAE;AAAA,MACnE;AAAA,IACF;AACA,WAAO,KAAK,MAAM;AAAA,EACpB;AAEA,QAAM,IAAI,MAAM,yDAAyD;AAC3E;AAeO,SAAS,WAAW,KAAyB;AAElD,MAAI,OAAO,WAAW,eAAe,OAAO,MAAM;AAChD,WAAO,IAAI,WAAW,OAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,EAClD;AAGA,MAAI,OAAO,SAAS,aAAa;AAC/B,UAAM,SAAS,KAAK,GAAG;AACvB,UAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAM,CAAC,IAAI,OAAO,WAAW,CAAC;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AAEA,QAAM,IAAI,MAAM,yDAAyD;AAC3E;AAOO,SAAS,oBAA6B;AAC3C,SACE,OAAO,WAAW,eAClB,OAAO,OAAO,SAAS,cACvB,OAAO,YAAY,eACnB,QAAQ,UAAU,SAAS;AAE/B;AAOO,SAAS,uBAAgC;AAC9C,SACE,OAAO,WAAW,eAAe,OAAO,OAAO,aAAa;AAEhE;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var encryption_exports = {};
|
|
20
|
+
__export(encryption_exports, {
|
|
21
|
+
DEFAULT_ENCRYPTION_SEED: () => DEFAULT_ENCRYPTION_SEED,
|
|
22
|
+
decryptBlobWithSignedKey: () => decryptBlobWithSignedKey,
|
|
23
|
+
decryptWithPrivateKey: () => decryptWithPrivateKey,
|
|
24
|
+
decryptWithWalletPrivateKey: () => decryptWithWalletPrivateKey,
|
|
25
|
+
encryptBlobWithSignedKey: () => encryptBlobWithSignedKey,
|
|
26
|
+
encryptFileKey: () => encryptFileKey,
|
|
27
|
+
encryptWithWalletPublicKey: () => encryptWithWalletPublicKey,
|
|
28
|
+
generateEncryptionKey: () => generateEncryptionKey,
|
|
29
|
+
generateEncryptionKeyPair: () => generateEncryptionKeyPair,
|
|
30
|
+
generatePGPKeyPair: () => generatePGPKeyPair,
|
|
31
|
+
getEncryptionParameters: () => getEncryptionParameters
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(encryption_exports);
|
|
34
|
+
var import_signatureCache = require("./signatureCache");
|
|
35
|
+
const DEFAULT_ENCRYPTION_SEED = "Please sign to retrieve your encryption key";
|
|
36
|
+
async function generateEncryptionKey(wallet, platformAdapter, seed = DEFAULT_ENCRYPTION_SEED) {
|
|
37
|
+
if (!wallet.account) {
|
|
38
|
+
throw new Error("Wallet account is required for encryption key generation");
|
|
39
|
+
}
|
|
40
|
+
const { account } = wallet;
|
|
41
|
+
const messageData = { message: seed };
|
|
42
|
+
return await (0, import_signatureCache.withSignatureCache)(
|
|
43
|
+
platformAdapter.cache,
|
|
44
|
+
account.address,
|
|
45
|
+
messageData,
|
|
46
|
+
async () => {
|
|
47
|
+
return await wallet.signMessage({
|
|
48
|
+
account,
|
|
49
|
+
message: seed
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
async function encryptWithWalletPublicKey(data, publicKey, platformAdapter) {
|
|
55
|
+
try {
|
|
56
|
+
const dataString = data instanceof Blob ? await data.text() : data;
|
|
57
|
+
return await platformAdapter.crypto.encryptWithWalletPublicKey(
|
|
58
|
+
dataString,
|
|
59
|
+
publicKey
|
|
60
|
+
);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
throw new Error(
|
|
63
|
+
`Failed to encrypt with wallet public key: ${String(error)}`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function decryptWithWalletPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
68
|
+
try {
|
|
69
|
+
return await platformAdapter.crypto.decryptWithWalletPrivateKey(
|
|
70
|
+
encryptedData,
|
|
71
|
+
privateKey
|
|
72
|
+
);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`Failed to decrypt with wallet private key: ${String(error)}`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function encryptFileKey(fileKey, publicKey, platformAdapter) {
|
|
80
|
+
try {
|
|
81
|
+
return await platformAdapter.crypto.encryptWithPublicKey(
|
|
82
|
+
fileKey,
|
|
83
|
+
publicKey
|
|
84
|
+
);
|
|
85
|
+
} catch (error) {
|
|
86
|
+
throw new Error(`Failed to encrypt file key: ${String(error)}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function getEncryptionParameters(platformAdapter) {
|
|
90
|
+
try {
|
|
91
|
+
const keyPair = await platformAdapter.crypto.generateKeyPair();
|
|
92
|
+
return {
|
|
93
|
+
iv: keyPair.publicKey.substring(0, 16),
|
|
94
|
+
key: keyPair.privateKey.substring(0, 32)
|
|
95
|
+
};
|
|
96
|
+
} catch (error) {
|
|
97
|
+
throw new Error(
|
|
98
|
+
`Failed to generate encryption parameters: ${String(error)}`
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function decryptWithPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
103
|
+
try {
|
|
104
|
+
return await platformAdapter.crypto.decryptWithPrivateKey(
|
|
105
|
+
encryptedData,
|
|
106
|
+
privateKey
|
|
107
|
+
);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
throw new Error(`Failed to decrypt with private key: ${String(error)}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function encryptBlobWithSignedKey(data, key, platformAdapter) {
|
|
113
|
+
try {
|
|
114
|
+
const dataBuffer = data instanceof Blob ? await data.arrayBuffer() : new TextEncoder().encode(data);
|
|
115
|
+
const dataArray = new Uint8Array(dataBuffer);
|
|
116
|
+
const encrypted = await platformAdapter.crypto.encryptWithPassword(
|
|
117
|
+
dataArray,
|
|
118
|
+
key
|
|
119
|
+
);
|
|
120
|
+
const encryptedArrayBuffer = encrypted.buffer.slice(
|
|
121
|
+
encrypted.byteOffset,
|
|
122
|
+
encrypted.byteOffset + encrypted.byteLength
|
|
123
|
+
);
|
|
124
|
+
return new Blob([encryptedArrayBuffer], {
|
|
125
|
+
type: "application/octet-stream"
|
|
126
|
+
});
|
|
127
|
+
} catch (error) {
|
|
128
|
+
throw new Error(`Failed to encrypt data: ${String(error)}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async function generateEncryptionKeyPair(platformAdapter) {
|
|
132
|
+
try {
|
|
133
|
+
return await platformAdapter.crypto.generateKeyPair();
|
|
134
|
+
} catch (error) {
|
|
135
|
+
throw new Error(`Failed to generate encryption key pair: ${String(error)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async function generatePGPKeyPair(platformAdapter, options) {
|
|
139
|
+
try {
|
|
140
|
+
return await platformAdapter.pgp.generateKeyPair(options);
|
|
141
|
+
} catch (error) {
|
|
142
|
+
throw new Error(`Failed to generate PGP key pair: ${String(error)}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async function decryptBlobWithSignedKey(encryptedData, key, platformAdapter) {
|
|
146
|
+
try {
|
|
147
|
+
const encryptedBuffer = encryptedData instanceof Blob ? await encryptedData.arrayBuffer() : new TextEncoder().encode(encryptedData);
|
|
148
|
+
const encryptedArray = new Uint8Array(encryptedBuffer);
|
|
149
|
+
const decrypted = await platformAdapter.crypto.decryptWithPassword(
|
|
150
|
+
encryptedArray,
|
|
151
|
+
key
|
|
152
|
+
);
|
|
153
|
+
const decryptedArrayBuffer = decrypted.buffer.slice(
|
|
154
|
+
decrypted.byteOffset,
|
|
155
|
+
decrypted.byteOffset + decrypted.byteLength
|
|
156
|
+
);
|
|
157
|
+
return new Blob([decryptedArrayBuffer], { type: "text/plain" });
|
|
158
|
+
} catch (error) {
|
|
159
|
+
throw new Error(`Failed to decrypt data: ${String(error)}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
163
|
+
0 && (module.exports = {
|
|
164
|
+
DEFAULT_ENCRYPTION_SEED,
|
|
165
|
+
decryptBlobWithSignedKey,
|
|
166
|
+
decryptWithPrivateKey,
|
|
167
|
+
decryptWithWalletPrivateKey,
|
|
168
|
+
encryptBlobWithSignedKey,
|
|
169
|
+
encryptFileKey,
|
|
170
|
+
encryptWithWalletPublicKey,
|
|
171
|
+
generateEncryptionKey,
|
|
172
|
+
generateEncryptionKeyPair,
|
|
173
|
+
generatePGPKeyPair,
|
|
174
|
+
getEncryptionParameters
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=encryption.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/encryption.ts"],"sourcesContent":["/**\n * Canonical Vana Protocol Encryption Functions\n *\n * These functions define the standard way user data is encrypted/decrypted in Vana.\n * All applications should use these canonical functions to ensure compatibility\n * with existing encrypted data on the Vana network.\n *\n * This module uses the platform adapter pattern to provide consistent\n * encryption functionality across Node.js and browser environments.\n */\n\nimport type { WalletClient } from \"viem\";\nimport type { VanaPlatformAdapter } from \"../platform/interface\";\nimport { withSignatureCache } from \"./signatureCache\";\n\n/**\n * Default encryption seed message used throughout Vana protocol\n */\nexport const DEFAULT_ENCRYPTION_SEED =\n \"Please sign to retrieve your encryption key\";\n\n/**\n * Generate an encryption key by signing the canonical Vana encryption seed\n *\n * This is the standard protocol function for creating encryption keys in Vana.\n * The signature serves as a symmetric encryption key for user data.\n *\n * @param wallet The user's wallet client for signing\n * @param platformAdapter Platform adapter for cache operations\n * @param seed Optional custom encryption seed (defaults to Vana standard)\n * @returns The signature that serves as the encryption key\n * @throws {Error} When wallet account is required but not provided\n * @example\n * ```typescript\n * const encryptionKey = await generateEncryptionKey(walletClient, platformAdapter);\n * console.log('Generated encryption key:', encryptionKey);\n *\n * // Use with custom seed\n * const customKey = await generateEncryptionKey(walletClient, platformAdapter, 'my-custom-seed');\n * ```\n */\nexport async function generateEncryptionKey(\n wallet: WalletClient,\n platformAdapter: VanaPlatformAdapter,\n seed: string = DEFAULT_ENCRYPTION_SEED,\n): Promise<string> {\n if (!wallet.account) {\n throw new Error(\"Wallet account is required for encryption key generation\");\n }\n\n // Store account reference to satisfy TypeScript\n const { account } = wallet;\n\n // Use signature cache for encryption key generation\n // Create a simple message object for cache key generation\n const messageData = { message: seed };\n\n return await withSignatureCache(\n platformAdapter.cache,\n account.address,\n messageData,\n async () => {\n // Sign the encryption seed to generate a deterministic encryption key\n return await wallet.signMessage({\n account,\n message: seed,\n });\n },\n );\n}\n\n/**\n * Encrypts data using a wallet's public key for secure sharing with specific recipients.\n *\n * @remarks\n * This function implements asymmetric encryption using the recipient's public key,\n * enabling secure data sharing where only the holder of the corresponding private key\n * can decrypt the data. It automatically handles different data types and uses\n * platform-appropriate cryptographic libraries for maximum compatibility.\n *\n * This is commonly used when granting permissions to applications or servers,\n * where the data needs to be encrypted for a specific recipient's public key.\n *\n * @param data - The data to encrypt (string or Blob)\n * @param publicKey - The recipient's public key in hexadecimal format\n * @param platformAdapter - The platform adapter providing cryptographic operations\n * @returns Promise resolving to the encrypted data as a string\n * @throws {Error} When encryption fails due to invalid key or data format\n * @example\n * ```typescript\n * // Encrypt data for a specific application's public key\n * const appPublicKey = \"0x04a1b2c3...\"; // Application's public key\n * const sensitiveData = \"User's private information\";\n *\n * const encrypted = await encryptWithWalletPublicKey(\n * sensitiveData,\n * appPublicKey,\n * platformAdapter\n * );\n *\n * console.log('Encrypted for app:', encrypted);\n *\n * // Encrypt file data for server processing\n * const fileBlob = new File(['{\"name\":\"John\",\"age\":30}'], 'profile.json');\n * const encryptedFile = await encryptWithWalletPublicKey(\n * fileBlob,\n * serverPublicKey,\n * platformAdapter\n * );\n * ```\n */\nexport async function encryptWithWalletPublicKey(\n data: string | Blob,\n publicKey: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<string> {\n try {\n const dataString = data instanceof Blob ? await data.text() : data;\n return await platformAdapter.crypto.encryptWithWalletPublicKey(\n dataString,\n publicKey,\n );\n } catch (error) {\n throw new Error(\n `Failed to encrypt with wallet public key: ${String(error)}`,\n );\n }\n}\n\n/**\n * Decrypts data that was encrypted with the corresponding public key.\n *\n * @remarks\n * This function performs asymmetric decryption using the recipient's private key\n * to decrypt data that was encrypted with the corresponding public key. It's the\n * counterpart to `encryptWithWalletPublicKey` and is typically used by applications\n * or servers to decrypt data that was shared with them by users.\n *\n * The function automatically handles platform-specific cryptographic operations\n * and provides consistent behavior across browser and Node.js environments.\n *\n * @param encryptedData - The encrypted data string to decrypt\n * @param privateKey - The private key corresponding to the public key used for encryption\n * @param platformAdapter - The platform adapter providing cryptographic operations\n * @returns Promise resolving to the decrypted data as a string\n * @throws {Error} When decryption fails due to invalid key, corrupted data, or key mismatch\n * @example\n * ```typescript\n * // Decrypt data received from a user (server-side)\n * const encryptedUserData = \"encrypted_string_from_user\";\n * const serverPrivateKey = process.env.SERVER_PRIVATE_KEY;\n *\n * const decrypted = await decryptWithWalletPrivateKey(\n * encryptedUserData,\n * serverPrivateKey,\n * platformAdapter\n * );\n *\n * const userData = JSON.parse(decrypted);\n * console.log('User data:', userData);\n *\n * // Handle decryption errors gracefully\n * try {\n * const result = await decryptWithWalletPrivateKey(\n * encryptedData,\n * privateKey,\n * platformAdapter\n * );\n * } catch (error) {\n * if (error.message.includes('invalid key')) {\n * console.error('Key mismatch - data not encrypted for this recipient');\n * } else {\n * console.error('Decryption failed:', error.message);\n * }\n * }\n * ```\n */\nexport async function decryptWithWalletPrivateKey(\n encryptedData: string,\n privateKey: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<string> {\n try {\n return await platformAdapter.crypto.decryptWithWalletPrivateKey(\n encryptedData,\n privateKey,\n );\n } catch (error) {\n throw new Error(\n `Failed to decrypt with wallet private key: ${String(error)}`,\n );\n }\n}\n\n/**\n * Encrypt a file key with a DLP's public key using platform-appropriate cryptography\n *\n * @param fileKey The symmetric key used to encrypt the file\n * @param publicKey The DLP's public key\n * @param platformAdapter - The platform adapter for crypto operations\n * @returns The encrypted key that can be stored on-chain\n */\nexport async function encryptFileKey(\n fileKey: string,\n publicKey: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<string> {\n try {\n return await platformAdapter.crypto.encryptWithPublicKey(\n fileKey,\n publicKey,\n );\n } catch (error) {\n throw new Error(`Failed to encrypt file key: ${String(error)}`);\n }\n}\n\n/**\n * Generate encryption parameters for secure file storage\n *\n * @param platformAdapter - The platform adapter for crypto operations\n * @returns An object containing the initialization vector and encryption key\n */\nexport async function getEncryptionParameters(\n platformAdapter: VanaPlatformAdapter,\n): Promise<{\n iv: string;\n key: string;\n}> {\n try {\n // Generate a new key pair for encryption parameters\n const keyPair = await platformAdapter.crypto.generateKeyPair();\n\n // Use parts of the generated keys as IV and key\n // In production, this would use proper key derivation\n return {\n iv: keyPair.publicKey.substring(0, 16),\n key: keyPair.privateKey.substring(0, 32),\n };\n } catch (error) {\n throw new Error(\n `Failed to generate encryption parameters: ${String(error)}`,\n );\n }\n}\n\n/**\n * Decrypt data that was encrypted with the DLP's public key using platform-appropriate cryptography\n *\n * @param encryptedData The encrypted data\n * @param privateKey The private key corresponding to the public key used for encryption\n * @param platformAdapter - The platform adapter for crypto operations\n * @returns The decrypted data\n */\nexport async function decryptWithPrivateKey(\n encryptedData: string,\n privateKey: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<string> {\n try {\n return await platformAdapter.crypto.decryptWithPrivateKey(\n encryptedData,\n privateKey,\n );\n } catch (error) {\n throw new Error(`Failed to decrypt with private key: ${String(error)}`);\n }\n}\n\n/**\n * Encrypts data using a signed key generated from the user's wallet signature.\n *\n * @remarks\n * This is a pure cryptographic primitive that encrypts data using the Vana protocol's\n * standard encryption method. The key parameter must be a signature generated by the\n * `generateEncryptionKey` utility - this ensures deterministic key generation from the\n * user's wallet, enabling the same key to be regenerated for decryption.\n *\n * This function uses password-based encryption with the signature as the password,\n * providing symmetric encryption that can be decrypted with the same signature.\n *\n * @param data The data to encrypt (string or Blob)\n * @param key The signed key from `generateEncryptionKey` - MUST be a wallet signature\n * @param platformAdapter The platform adapter for crypto operations\n * @returns The encrypted data as Blob\n * @throws {Error} When encryption fails\n *\n * @example\n * ```typescript\n * // Generate the encryption key from wallet signature\n * const encryptionKey = await generateEncryptionKey(walletClient);\n *\n * // Encrypt data with the signed key\n * const encryptedBlob = await encryptBlobWithSignedKey(\n * \"My sensitive data\",\n * encryptionKey,\n * platformAdapter\n * );\n *\n * // Later, decrypt with the same key\n * const decryptedBlob = await decryptBlobWithSignedKey(\n * encryptedBlob,\n * encryptionKey,\n * platformAdapter\n * );\n * ```\n */\nexport async function encryptBlobWithSignedKey(\n data: string | Blob,\n key: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<Blob> {\n try {\n // Convert data to binary for encryption\n const dataBuffer =\n data instanceof Blob\n ? await data.arrayBuffer()\n : new TextEncoder().encode(data);\n const dataArray = new Uint8Array(dataBuffer);\n\n // Use platform adapter's password-based encryption\n const encrypted = await platformAdapter.crypto.encryptWithPassword(\n dataArray,\n key,\n );\n\n // Convert Uint8Array<ArrayBufferLike> to ArrayBuffer to satisfy BlobPart type\n const encryptedArrayBuffer = encrypted.buffer.slice(\n encrypted.byteOffset,\n encrypted.byteOffset + encrypted.byteLength,\n ) as ArrayBuffer;\n\n return new Blob([encryptedArrayBuffer], {\n type: \"application/octet-stream\",\n });\n } catch (error) {\n throw new Error(`Failed to encrypt data: ${String(error)}`);\n }\n}\n\n/**\n * Generate a new key pair for asymmetric encryption\n *\n * @param platformAdapter - The platform adapter for crypto operations\n * @returns Promise resolving to public and private key pair\n */\nexport async function generateEncryptionKeyPair(\n platformAdapter: VanaPlatformAdapter,\n): Promise<{\n publicKey: string;\n privateKey: string;\n}> {\n try {\n return await platformAdapter.crypto.generateKeyPair();\n } catch (error) {\n throw new Error(`Failed to generate encryption key pair: ${String(error)}`);\n }\n}\n\n/**\n * Generate a new PGP key pair with platform-appropriate configuration\n *\n * @param platformAdapter - The platform adapter for crypto operations\n * @param options - Key generation options\n * @param options.name - The name for the PGP key\n * @param options.email - The email for the PGP key\n * @param options.passphrase - Optional passphrase to protect the private key\n * @returns Promise resolving to public and private key pair\n */\nexport async function generatePGPKeyPair(\n platformAdapter: VanaPlatformAdapter,\n options?: {\n name?: string;\n email?: string;\n passphrase?: string;\n },\n): Promise<{ publicKey: string; privateKey: string }> {\n try {\n return await platformAdapter.pgp.generateKeyPair(options);\n } catch (error) {\n throw new Error(`Failed to generate PGP key pair: ${String(error)}`);\n }\n}\n\n/**\n * Decrypts data using a signed key generated from the user's wallet signature.\n *\n * @remarks\n * This is a pure cryptographic primitive for decrypting data that was encrypted using\n * `encryptBlobWithSignedKey`. It is network-agnostic and only handles decryption - it does\n * not fetch data from any URL or make network requests. To decrypt a file from a URL, you\n * must first fetch the encrypted blob using one of the fetch utilities, then pass it to\n * this function.\n *\n * The key parameter must be the same signature that was used for encryption, typically\n * generated by the `generateEncryptionKey` utility. This ensures that only the user who\n * encrypted the data (or someone with the same wallet signature) can decrypt it.\n *\n * @param encryptedData The encrypted data to decrypt (string or Blob)\n * @param key The signed key from `generateEncryptionKey` - MUST be the same wallet signature used for encryption\n * @param platformAdapter The platform adapter for crypto operations\n * @returns Promise resolving to the decrypted blob\n * @throws {Error} When decryption fails due to wrong key or corrupted data\n *\n * @example\n * ```typescript\n * // Generate the same encryption key used for encryption\n * const encryptionKey = await generateEncryptionKey(walletClient);\n *\n * // Fetch and decrypt using the high-level API\n * const file = await vana.data.getUserFiles({ owner: \"0x...\" })[0];\n * const decryptedBlob = await vana.data.decryptFile(file);\n *\n * // Or use the low-level primitives directly\n * const encryptedBlob = await vana.data.fetch(file.url);\n * const decryptedBlob = await decryptBlobWithSignedKey(\n * encryptedBlob,\n * encryptionKey,\n * platformAdapter\n * );\n *\n * // With IPFS gateway fallback\n * const encryptedBlob = await vana.data.fetchFromIPFS(file.url, {\n * gateways: ['https://my-gateway.com/ipfs/', 'https://ipfs.io/ipfs/']\n * });\n * const decryptedBlob = await decryptBlobWithSignedKey(\n * encryptedBlob,\n * encryptionKey,\n * platformAdapter\n * );\n * ```\n */\nexport async function decryptBlobWithSignedKey(\n encryptedData: string | Blob,\n key: string,\n platformAdapter: VanaPlatformAdapter,\n): Promise<Blob> {\n try {\n // Convert encrypted data to proper format\n const encryptedBuffer =\n encryptedData instanceof Blob\n ? await encryptedData.arrayBuffer()\n : new TextEncoder().encode(encryptedData);\n const encryptedArray = new Uint8Array(encryptedBuffer);\n\n // Use platform adapter's password-based decryption\n const decrypted = await platformAdapter.crypto.decryptWithPassword(\n encryptedArray,\n key,\n );\n\n // Convert Uint8Array<ArrayBufferLike> to ArrayBuffer to satisfy BlobPart type\n const decryptedArrayBuffer = decrypted.buffer.slice(\n decrypted.byteOffset,\n decrypted.byteOffset + decrypted.byteLength,\n ) as ArrayBuffer;\n\n // Convert decrypted data back to Blob\n return new Blob([decryptedArrayBuffer], { type: \"text/plain\" });\n } catch (error) {\n throw new Error(`Failed to decrypt data: ${String(error)}`);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,4BAAmC;AAK5B,MAAM,0BACX;AAsBF,eAAsB,sBACpB,QACA,iBACA,OAAe,yBACE;AACjB,MAAI,CAAC,OAAO,SAAS;AACnB,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAGA,QAAM,EAAE,QAAQ,IAAI;AAIpB,QAAM,cAAc,EAAE,SAAS,KAAK;AAEpC,SAAO,UAAM;AAAA,IACX,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR;AAAA,IACA,YAAY;AAEV,aAAO,MAAM,OAAO,YAAY;AAAA,QAC9B;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AA0CA,eAAsB,2BACpB,MACA,WACA,iBACiB;AACjB,MAAI;AACF,UAAM,aAAa,gBAAgB,OAAO,MAAM,KAAK,KAAK,IAAI;AAC9D,WAAO,MAAM,gBAAgB,OAAO;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM,IAAI;AAAA,MACR,6CAA6C,OAAO,KAAK,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;AAkDA,eAAsB,4BACpB,eACA,YACA,iBACiB;AACjB,MAAI;AACF,WAAO,MAAM,gBAAgB,OAAO;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM,IAAI;AAAA,MACR,8CAA8C,OAAO,KAAK,CAAC;AAAA,IAC7D;AAAA,EACF;AACF;AAUA,eAAsB,eACpB,SACA,WACA,iBACiB;AACjB,MAAI;AACF,WAAO,MAAM,gBAAgB,OAAO;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,+BAA+B,OAAO,KAAK,CAAC,EAAE;AAAA,EAChE;AACF;AAQA,eAAsB,wBACpB,iBAIC;AACD,MAAI;AAEF,UAAM,UAAU,MAAM,gBAAgB,OAAO,gBAAgB;AAI7D,WAAO;AAAA,MACL,IAAI,QAAQ,UAAU,UAAU,GAAG,EAAE;AAAA,MACrC,KAAK,QAAQ,WAAW,UAAU,GAAG,EAAE;AAAA,IACzC;AAAA,EACF,SAAS,OAAO;AACd,UAAM,IAAI;AAAA,MACR,6CAA6C,OAAO,KAAK,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;AAUA,eAAsB,sBACpB,eACA,YACA,iBACiB;AACjB,MAAI;AACF,WAAO,MAAM,gBAAgB,OAAO;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,uCAAuC,OAAO,KAAK,CAAC,EAAE;AAAA,EACxE;AACF;AAwCA,eAAsB,yBACpB,MACA,KACA,iBACe;AACf,MAAI;AAEF,UAAM,aACJ,gBAAgB,OACZ,MAAM,KAAK,YAAY,IACvB,IAAI,YAAY,EAAE,OAAO,IAAI;AACnC,UAAM,YAAY,IAAI,WAAW,UAAU;AAG3C,UAAM,YAAY,MAAM,gBAAgB,OAAO;AAAA,MAC7C;AAAA,MACA;AAAA,IACF;AAGA,UAAM,uBAAuB,UAAU,OAAO;AAAA,MAC5C,UAAU;AAAA,MACV,UAAU,aAAa,UAAU;AAAA,IACnC;AAEA,WAAO,IAAI,KAAK,CAAC,oBAAoB,GAAG;AAAA,MACtC,MAAM;AAAA,IACR,CAAC;AAAA,EACH,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,2BAA2B,OAAO,KAAK,CAAC,EAAE;AAAA,EAC5D;AACF;AAQA,eAAsB,0BACpB,iBAIC;AACD,MAAI;AACF,WAAO,MAAM,gBAAgB,OAAO,gBAAgB;AAAA,EACtD,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,2CAA2C,OAAO,KAAK,CAAC,EAAE;AAAA,EAC5E;AACF;AAYA,eAAsB,mBACpB,iBACA,SAKoD;AACpD,MAAI;AACF,WAAO,MAAM,gBAAgB,IAAI,gBAAgB,OAAO;AAAA,EAC1D,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,oCAAoC,OAAO,KAAK,CAAC,EAAE;AAAA,EACrE;AACF;AAkDA,eAAsB,yBACpB,eACA,KACA,iBACe;AACf,MAAI;AAEF,UAAM,kBACJ,yBAAyB,OACrB,MAAM,cAAc,YAAY,IAChC,IAAI,YAAY,EAAE,OAAO,aAAa;AAC5C,UAAM,iBAAiB,IAAI,WAAW,eAAe;AAGrD,UAAM,YAAY,MAAM,gBAAgB,OAAO;AAAA,MAC7C;AAAA,MACA;AAAA,IACF;AAGA,UAAM,uBAAuB,UAAU,OAAO;AAAA,MAC5C,UAAU;AAAA,MACV,UAAU,aAAa,UAAU;AAAA,IACnC;AAGA,WAAO,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,MAAM,aAAa,CAAC;AAAA,EAChE,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,2BAA2B,OAAO,KAAK,CAAC,EAAE;AAAA,EAC5D;AACF;","names":[]}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical Vana Protocol Encryption Functions
|
|
3
|
+
*
|
|
4
|
+
* These functions define the standard way user data is encrypted/decrypted in Vana.
|
|
5
|
+
* All applications should use these canonical functions to ensure compatibility
|
|
6
|
+
* with existing encrypted data on the Vana network.
|
|
7
|
+
*
|
|
8
|
+
* This module uses the platform adapter pattern to provide consistent
|
|
9
|
+
* encryption functionality across Node.js and browser environments.
|
|
10
|
+
*/
|
|
11
|
+
import type { WalletClient } from "viem";
|
|
12
|
+
import type { VanaPlatformAdapter } from "../platform/interface";
|
|
13
|
+
/**
|
|
14
|
+
* Default encryption seed message used throughout Vana protocol
|
|
15
|
+
*/
|
|
16
|
+
export declare const DEFAULT_ENCRYPTION_SEED = "Please sign to retrieve your encryption key";
|
|
17
|
+
/**
|
|
18
|
+
* Generate an encryption key by signing the canonical Vana encryption seed
|
|
19
|
+
*
|
|
20
|
+
* This is the standard protocol function for creating encryption keys in Vana.
|
|
21
|
+
* The signature serves as a symmetric encryption key for user data.
|
|
22
|
+
*
|
|
23
|
+
* @param wallet The user's wallet client for signing
|
|
24
|
+
* @param platformAdapter Platform adapter for cache operations
|
|
25
|
+
* @param seed Optional custom encryption seed (defaults to Vana standard)
|
|
26
|
+
* @returns The signature that serves as the encryption key
|
|
27
|
+
* @throws {Error} When wallet account is required but not provided
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const encryptionKey = await generateEncryptionKey(walletClient, platformAdapter);
|
|
31
|
+
* console.log('Generated encryption key:', encryptionKey);
|
|
32
|
+
*
|
|
33
|
+
* // Use with custom seed
|
|
34
|
+
* const customKey = await generateEncryptionKey(walletClient, platformAdapter, 'my-custom-seed');
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function generateEncryptionKey(wallet: WalletClient, platformAdapter: VanaPlatformAdapter, seed?: string): Promise<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Encrypts data using a wallet's public key for secure sharing with specific recipients.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* This function implements asymmetric encryption using the recipient's public key,
|
|
43
|
+
* enabling secure data sharing where only the holder of the corresponding private key
|
|
44
|
+
* can decrypt the data. It automatically handles different data types and uses
|
|
45
|
+
* platform-appropriate cryptographic libraries for maximum compatibility.
|
|
46
|
+
*
|
|
47
|
+
* This is commonly used when granting permissions to applications or servers,
|
|
48
|
+
* where the data needs to be encrypted for a specific recipient's public key.
|
|
49
|
+
*
|
|
50
|
+
* @param data - The data to encrypt (string or Blob)
|
|
51
|
+
* @param publicKey - The recipient's public key in hexadecimal format
|
|
52
|
+
* @param platformAdapter - The platform adapter providing cryptographic operations
|
|
53
|
+
* @returns Promise resolving to the encrypted data as a string
|
|
54
|
+
* @throws {Error} When encryption fails due to invalid key or data format
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* // Encrypt data for a specific application's public key
|
|
58
|
+
* const appPublicKey = "0x04a1b2c3..."; // Application's public key
|
|
59
|
+
* const sensitiveData = "User's private information";
|
|
60
|
+
*
|
|
61
|
+
* const encrypted = await encryptWithWalletPublicKey(
|
|
62
|
+
* sensitiveData,
|
|
63
|
+
* appPublicKey,
|
|
64
|
+
* platformAdapter
|
|
65
|
+
* );
|
|
66
|
+
*
|
|
67
|
+
* console.log('Encrypted for app:', encrypted);
|
|
68
|
+
*
|
|
69
|
+
* // Encrypt file data for server processing
|
|
70
|
+
* const fileBlob = new File(['{"name":"John","age":30}'], 'profile.json');
|
|
71
|
+
* const encryptedFile = await encryptWithWalletPublicKey(
|
|
72
|
+
* fileBlob,
|
|
73
|
+
* serverPublicKey,
|
|
74
|
+
* platformAdapter
|
|
75
|
+
* );
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function encryptWithWalletPublicKey(data: string | Blob, publicKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
79
|
+
/**
|
|
80
|
+
* Decrypts data that was encrypted with the corresponding public key.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* This function performs asymmetric decryption using the recipient's private key
|
|
84
|
+
* to decrypt data that was encrypted with the corresponding public key. It's the
|
|
85
|
+
* counterpart to `encryptWithWalletPublicKey` and is typically used by applications
|
|
86
|
+
* or servers to decrypt data that was shared with them by users.
|
|
87
|
+
*
|
|
88
|
+
* The function automatically handles platform-specific cryptographic operations
|
|
89
|
+
* and provides consistent behavior across browser and Node.js environments.
|
|
90
|
+
*
|
|
91
|
+
* @param encryptedData - The encrypted data string to decrypt
|
|
92
|
+
* @param privateKey - The private key corresponding to the public key used for encryption
|
|
93
|
+
* @param platformAdapter - The platform adapter providing cryptographic operations
|
|
94
|
+
* @returns Promise resolving to the decrypted data as a string
|
|
95
|
+
* @throws {Error} When decryption fails due to invalid key, corrupted data, or key mismatch
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* // Decrypt data received from a user (server-side)
|
|
99
|
+
* const encryptedUserData = "encrypted_string_from_user";
|
|
100
|
+
* const serverPrivateKey = process.env.SERVER_PRIVATE_KEY;
|
|
101
|
+
*
|
|
102
|
+
* const decrypted = await decryptWithWalletPrivateKey(
|
|
103
|
+
* encryptedUserData,
|
|
104
|
+
* serverPrivateKey,
|
|
105
|
+
* platformAdapter
|
|
106
|
+
* );
|
|
107
|
+
*
|
|
108
|
+
* const userData = JSON.parse(decrypted);
|
|
109
|
+
* console.log('User data:', userData);
|
|
110
|
+
*
|
|
111
|
+
* // Handle decryption errors gracefully
|
|
112
|
+
* try {
|
|
113
|
+
* const result = await decryptWithWalletPrivateKey(
|
|
114
|
+
* encryptedData,
|
|
115
|
+
* privateKey,
|
|
116
|
+
* platformAdapter
|
|
117
|
+
* );
|
|
118
|
+
* } catch (error) {
|
|
119
|
+
* if (error.message.includes('invalid key')) {
|
|
120
|
+
* console.error('Key mismatch - data not encrypted for this recipient');
|
|
121
|
+
* } else {
|
|
122
|
+
* console.error('Decryption failed:', error.message);
|
|
123
|
+
* }
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export declare function decryptWithWalletPrivateKey(encryptedData: string, privateKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
128
|
+
/**
|
|
129
|
+
* Encrypt a file key with a DLP's public key using platform-appropriate cryptography
|
|
130
|
+
*
|
|
131
|
+
* @param fileKey The symmetric key used to encrypt the file
|
|
132
|
+
* @param publicKey The DLP's public key
|
|
133
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
134
|
+
* @returns The encrypted key that can be stored on-chain
|
|
135
|
+
*/
|
|
136
|
+
export declare function encryptFileKey(fileKey: string, publicKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
137
|
+
/**
|
|
138
|
+
* Generate encryption parameters for secure file storage
|
|
139
|
+
*
|
|
140
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
141
|
+
* @returns An object containing the initialization vector and encryption key
|
|
142
|
+
*/
|
|
143
|
+
export declare function getEncryptionParameters(platformAdapter: VanaPlatformAdapter): Promise<{
|
|
144
|
+
iv: string;
|
|
145
|
+
key: string;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Decrypt data that was encrypted with the DLP's public key using platform-appropriate cryptography
|
|
149
|
+
*
|
|
150
|
+
* @param encryptedData The encrypted data
|
|
151
|
+
* @param privateKey The private key corresponding to the public key used for encryption
|
|
152
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
153
|
+
* @returns The decrypted data
|
|
154
|
+
*/
|
|
155
|
+
export declare function decryptWithPrivateKey(encryptedData: string, privateKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
156
|
+
/**
|
|
157
|
+
* Encrypts data using a signed key generated from the user's wallet signature.
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* This is a pure cryptographic primitive that encrypts data using the Vana protocol's
|
|
161
|
+
* standard encryption method. The key parameter must be a signature generated by the
|
|
162
|
+
* `generateEncryptionKey` utility - this ensures deterministic key generation from the
|
|
163
|
+
* user's wallet, enabling the same key to be regenerated for decryption.
|
|
164
|
+
*
|
|
165
|
+
* This function uses password-based encryption with the signature as the password,
|
|
166
|
+
* providing symmetric encryption that can be decrypted with the same signature.
|
|
167
|
+
*
|
|
168
|
+
* @param data The data to encrypt (string or Blob)
|
|
169
|
+
* @param key The signed key from `generateEncryptionKey` - MUST be a wallet signature
|
|
170
|
+
* @param platformAdapter The platform adapter for crypto operations
|
|
171
|
+
* @returns The encrypted data as Blob
|
|
172
|
+
* @throws {Error} When encryption fails
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Generate the encryption key from wallet signature
|
|
177
|
+
* const encryptionKey = await generateEncryptionKey(walletClient);
|
|
178
|
+
*
|
|
179
|
+
* // Encrypt data with the signed key
|
|
180
|
+
* const encryptedBlob = await encryptBlobWithSignedKey(
|
|
181
|
+
* "My sensitive data",
|
|
182
|
+
* encryptionKey,
|
|
183
|
+
* platformAdapter
|
|
184
|
+
* );
|
|
185
|
+
*
|
|
186
|
+
* // Later, decrypt with the same key
|
|
187
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
188
|
+
* encryptedBlob,
|
|
189
|
+
* encryptionKey,
|
|
190
|
+
* platformAdapter
|
|
191
|
+
* );
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export declare function encryptBlobWithSignedKey(data: string | Blob, key: string, platformAdapter: VanaPlatformAdapter): Promise<Blob>;
|
|
195
|
+
/**
|
|
196
|
+
* Generate a new key pair for asymmetric encryption
|
|
197
|
+
*
|
|
198
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
199
|
+
* @returns Promise resolving to public and private key pair
|
|
200
|
+
*/
|
|
201
|
+
export declare function generateEncryptionKeyPair(platformAdapter: VanaPlatformAdapter): Promise<{
|
|
202
|
+
publicKey: string;
|
|
203
|
+
privateKey: string;
|
|
204
|
+
}>;
|
|
205
|
+
/**
|
|
206
|
+
* Generate a new PGP key pair with platform-appropriate configuration
|
|
207
|
+
*
|
|
208
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
209
|
+
* @param options - Key generation options
|
|
210
|
+
* @param options.name - The name for the PGP key
|
|
211
|
+
* @param options.email - The email for the PGP key
|
|
212
|
+
* @param options.passphrase - Optional passphrase to protect the private key
|
|
213
|
+
* @returns Promise resolving to public and private key pair
|
|
214
|
+
*/
|
|
215
|
+
export declare function generatePGPKeyPair(platformAdapter: VanaPlatformAdapter, options?: {
|
|
216
|
+
name?: string;
|
|
217
|
+
email?: string;
|
|
218
|
+
passphrase?: string;
|
|
219
|
+
}): Promise<{
|
|
220
|
+
publicKey: string;
|
|
221
|
+
privateKey: string;
|
|
222
|
+
}>;
|
|
223
|
+
/**
|
|
224
|
+
* Decrypts data using a signed key generated from the user's wallet signature.
|
|
225
|
+
*
|
|
226
|
+
* @remarks
|
|
227
|
+
* This is a pure cryptographic primitive for decrypting data that was encrypted using
|
|
228
|
+
* `encryptBlobWithSignedKey`. It is network-agnostic and only handles decryption - it does
|
|
229
|
+
* not fetch data from any URL or make network requests. To decrypt a file from a URL, you
|
|
230
|
+
* must first fetch the encrypted blob using one of the fetch utilities, then pass it to
|
|
231
|
+
* this function.
|
|
232
|
+
*
|
|
233
|
+
* The key parameter must be the same signature that was used for encryption, typically
|
|
234
|
+
* generated by the `generateEncryptionKey` utility. This ensures that only the user who
|
|
235
|
+
* encrypted the data (or someone with the same wallet signature) can decrypt it.
|
|
236
|
+
*
|
|
237
|
+
* @param encryptedData The encrypted data to decrypt (string or Blob)
|
|
238
|
+
* @param key The signed key from `generateEncryptionKey` - MUST be the same wallet signature used for encryption
|
|
239
|
+
* @param platformAdapter The platform adapter for crypto operations
|
|
240
|
+
* @returns Promise resolving to the decrypted blob
|
|
241
|
+
* @throws {Error} When decryption fails due to wrong key or corrupted data
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```typescript
|
|
245
|
+
* // Generate the same encryption key used for encryption
|
|
246
|
+
* const encryptionKey = await generateEncryptionKey(walletClient);
|
|
247
|
+
*
|
|
248
|
+
* // Fetch and decrypt using the high-level API
|
|
249
|
+
* const file = await vana.data.getUserFiles({ owner: "0x..." })[0];
|
|
250
|
+
* const decryptedBlob = await vana.data.decryptFile(file);
|
|
251
|
+
*
|
|
252
|
+
* // Or use the low-level primitives directly
|
|
253
|
+
* const encryptedBlob = await vana.data.fetch(file.url);
|
|
254
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
255
|
+
* encryptedBlob,
|
|
256
|
+
* encryptionKey,
|
|
257
|
+
* platformAdapter
|
|
258
|
+
* );
|
|
259
|
+
*
|
|
260
|
+
* // With IPFS gateway fallback
|
|
261
|
+
* const encryptedBlob = await vana.data.fetchFromIPFS(file.url, {
|
|
262
|
+
* gateways: ['https://my-gateway.com/ipfs/', 'https://ipfs.io/ipfs/']
|
|
263
|
+
* });
|
|
264
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
265
|
+
* encryptedBlob,
|
|
266
|
+
* encryptionKey,
|
|
267
|
+
* platformAdapter
|
|
268
|
+
* );
|
|
269
|
+
* ```
|
|
270
|
+
*/
|
|
271
|
+
export declare function decryptBlobWithSignedKey(encryptedData: string | Blob, key: string, platformAdapter: VanaPlatformAdapter): Promise<Blob>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { withSignatureCache } from "./signatureCache";
|
|
2
|
+
const DEFAULT_ENCRYPTION_SEED = "Please sign to retrieve your encryption key";
|
|
3
|
+
async function generateEncryptionKey(wallet, platformAdapter, seed = DEFAULT_ENCRYPTION_SEED) {
|
|
4
|
+
if (!wallet.account) {
|
|
5
|
+
throw new Error("Wallet account is required for encryption key generation");
|
|
6
|
+
}
|
|
7
|
+
const { account } = wallet;
|
|
8
|
+
const messageData = { message: seed };
|
|
9
|
+
return await withSignatureCache(
|
|
10
|
+
platformAdapter.cache,
|
|
11
|
+
account.address,
|
|
12
|
+
messageData,
|
|
13
|
+
async () => {
|
|
14
|
+
return await wallet.signMessage({
|
|
15
|
+
account,
|
|
16
|
+
message: seed
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
async function encryptWithWalletPublicKey(data, publicKey, platformAdapter) {
|
|
22
|
+
try {
|
|
23
|
+
const dataString = data instanceof Blob ? await data.text() : data;
|
|
24
|
+
return await platformAdapter.crypto.encryptWithWalletPublicKey(
|
|
25
|
+
dataString,
|
|
26
|
+
publicKey
|
|
27
|
+
);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
`Failed to encrypt with wallet public key: ${String(error)}`
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function decryptWithWalletPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
35
|
+
try {
|
|
36
|
+
return await platformAdapter.crypto.decryptWithWalletPrivateKey(
|
|
37
|
+
encryptedData,
|
|
38
|
+
privateKey
|
|
39
|
+
);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new Error(
|
|
42
|
+
`Failed to decrypt with wallet private key: ${String(error)}`
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function encryptFileKey(fileKey, publicKey, platformAdapter) {
|
|
47
|
+
try {
|
|
48
|
+
return await platformAdapter.crypto.encryptWithPublicKey(
|
|
49
|
+
fileKey,
|
|
50
|
+
publicKey
|
|
51
|
+
);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
throw new Error(`Failed to encrypt file key: ${String(error)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function getEncryptionParameters(platformAdapter) {
|
|
57
|
+
try {
|
|
58
|
+
const keyPair = await platformAdapter.crypto.generateKeyPair();
|
|
59
|
+
return {
|
|
60
|
+
iv: keyPair.publicKey.substring(0, 16),
|
|
61
|
+
key: keyPair.privateKey.substring(0, 32)
|
|
62
|
+
};
|
|
63
|
+
} catch (error) {
|
|
64
|
+
throw new Error(
|
|
65
|
+
`Failed to generate encryption parameters: ${String(error)}`
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function decryptWithPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
70
|
+
try {
|
|
71
|
+
return await platformAdapter.crypto.decryptWithPrivateKey(
|
|
72
|
+
encryptedData,
|
|
73
|
+
privateKey
|
|
74
|
+
);
|
|
75
|
+
} catch (error) {
|
|
76
|
+
throw new Error(`Failed to decrypt with private key: ${String(error)}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function encryptBlobWithSignedKey(data, key, platformAdapter) {
|
|
80
|
+
try {
|
|
81
|
+
const dataBuffer = data instanceof Blob ? await data.arrayBuffer() : new TextEncoder().encode(data);
|
|
82
|
+
const dataArray = new Uint8Array(dataBuffer);
|
|
83
|
+
const encrypted = await platformAdapter.crypto.encryptWithPassword(
|
|
84
|
+
dataArray,
|
|
85
|
+
key
|
|
86
|
+
);
|
|
87
|
+
const encryptedArrayBuffer = encrypted.buffer.slice(
|
|
88
|
+
encrypted.byteOffset,
|
|
89
|
+
encrypted.byteOffset + encrypted.byteLength
|
|
90
|
+
);
|
|
91
|
+
return new Blob([encryptedArrayBuffer], {
|
|
92
|
+
type: "application/octet-stream"
|
|
93
|
+
});
|
|
94
|
+
} catch (error) {
|
|
95
|
+
throw new Error(`Failed to encrypt data: ${String(error)}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function generateEncryptionKeyPair(platformAdapter) {
|
|
99
|
+
try {
|
|
100
|
+
return await platformAdapter.crypto.generateKeyPair();
|
|
101
|
+
} catch (error) {
|
|
102
|
+
throw new Error(`Failed to generate encryption key pair: ${String(error)}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function generatePGPKeyPair(platformAdapter, options) {
|
|
106
|
+
try {
|
|
107
|
+
return await platformAdapter.pgp.generateKeyPair(options);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
throw new Error(`Failed to generate PGP key pair: ${String(error)}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function decryptBlobWithSignedKey(encryptedData, key, platformAdapter) {
|
|
113
|
+
try {
|
|
114
|
+
const encryptedBuffer = encryptedData instanceof Blob ? await encryptedData.arrayBuffer() : new TextEncoder().encode(encryptedData);
|
|
115
|
+
const encryptedArray = new Uint8Array(encryptedBuffer);
|
|
116
|
+
const decrypted = await platformAdapter.crypto.decryptWithPassword(
|
|
117
|
+
encryptedArray,
|
|
118
|
+
key
|
|
119
|
+
);
|
|
120
|
+
const decryptedArrayBuffer = decrypted.buffer.slice(
|
|
121
|
+
decrypted.byteOffset,
|
|
122
|
+
decrypted.byteOffset + decrypted.byteLength
|
|
123
|
+
);
|
|
124
|
+
return new Blob([decryptedArrayBuffer], { type: "text/plain" });
|
|
125
|
+
} catch (error) {
|
|
126
|
+
throw new Error(`Failed to decrypt data: ${String(error)}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export {
|
|
130
|
+
DEFAULT_ENCRYPTION_SEED,
|
|
131
|
+
decryptBlobWithSignedKey,
|
|
132
|
+
decryptWithPrivateKey,
|
|
133
|
+
decryptWithWalletPrivateKey,
|
|
134
|
+
encryptBlobWithSignedKey,
|
|
135
|
+
encryptFileKey,
|
|
136
|
+
encryptWithWalletPublicKey,
|
|
137
|
+
generateEncryptionKey,
|
|
138
|
+
generateEncryptionKeyPair,
|
|
139
|
+
generatePGPKeyPair,
|
|
140
|
+
getEncryptionParameters
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=encryption.js.map
|