@opendatalabs/vana-sdk 0.1.0-alpha.7e4db82 → 0.1.0-alpha.7ee7635
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 +98 -36
- package/dist/browser.cjs +29 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +2 -0
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +5 -0
- package/dist/browser.js.map +1 -0
- package/dist/chains/definitions.cjs +92 -0
- package/dist/chains/definitions.cjs.map +1 -0
- package/dist/chains/definitions.d.cts +53 -0
- package/dist/chains/definitions.d.ts +53 -0
- package/dist/chains/definitions.js +64 -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.cts +2 -0
- package/dist/chains/index.d.ts +2 -0
- package/dist/chains/index.js +15 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains.browser.cjs +6 -65
- package/dist/chains.browser.cjs.map +1 -1
- package/dist/chains.browser.d.cts +2 -53
- package/dist/chains.browser.d.ts +2 -53
- 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.cts +1 -1
- package/dist/chains.d.ts +1 -1
- 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.cts +1 -1
- package/dist/chains.node.d.ts +1 -1
- package/dist/chains.node.js +7 -57
- package/dist/chains.node.js.map +1 -1
- package/dist/config/addresses.cjs +325 -0
- package/dist/config/addresses.cjs.map +1 -0
- package/dist/config/addresses.d.cts +401 -0
- package/dist/config/addresses.d.ts +401 -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.cts +85 -0
- package/dist/config/chains.d.ts +85 -0
- package/dist/config/chains.js +67 -0
- package/dist/config/chains.js.map +1 -0
- package/dist/config/features.cjs +52 -0
- package/dist/config/features.cjs.map +1 -0
- package/dist/config/features.d.cts +64 -0
- package/dist/config/features.d.ts +64 -0
- package/dist/config/features.js +28 -0
- package/dist/config/features.js.map +1 -0
- package/dist/contracts/contractController.cjs +126 -0
- package/dist/contracts/contractController.cjs.map +1 -0
- package/dist/contracts/contractController.d.cts +117 -0
- package/dist/contracts/contractController.d.ts +117 -0
- package/dist/contracts/contractController.js +103 -0
- package/dist/contracts/contractController.js.map +1 -0
- package/dist/controllers/data.cjs +2251 -0
- package/dist/controllers/data.cjs.map +1 -0
- package/dist/controllers/data.d.cts +915 -0
- package/dist/controllers/data.d.ts +915 -0
- package/dist/controllers/data.js +2234 -0
- package/dist/controllers/data.js.map +1 -0
- package/dist/controllers/permissions.cjs +3949 -0
- package/dist/controllers/permissions.cjs.map +1 -0
- package/dist/controllers/permissions.d.cts +1383 -0
- package/dist/controllers/permissions.d.ts +1383 -0
- package/dist/controllers/permissions.js +3925 -0
- package/dist/controllers/permissions.js.map +1 -0
- package/dist/controllers/protocol.cjs +179 -0
- package/dist/controllers/protocol.cjs.map +1 -0
- package/dist/controllers/protocol.d.cts +188 -0
- package/dist/controllers/protocol.d.ts +188 -0
- package/dist/controllers/protocol.js +162 -0
- package/dist/controllers/protocol.js.map +1 -0
- package/dist/controllers/schemas.cjs +606 -0
- package/dist/controllers/schemas.cjs.map +1 -0
- package/dist/controllers/schemas.d.cts +260 -0
- package/dist/controllers/schemas.d.ts +260 -0
- package/dist/controllers/schemas.js +582 -0
- package/dist/controllers/schemas.js.map +1 -0
- package/dist/controllers/server.cjs +427 -0
- package/dist/controllers/server.cjs.map +1 -0
- package/dist/controllers/server.d.cts +230 -0
- package/dist/controllers/server.d.ts +230 -0
- package/dist/controllers/server.js +408 -0
- package/dist/controllers/server.js.map +1 -0
- package/dist/core/apiClient.cjs +325 -0
- package/dist/core/apiClient.cjs.map +1 -0
- package/dist/core/apiClient.d.cts +165 -0
- package/dist/core/apiClient.d.ts +165 -0
- package/dist/core/apiClient.js +309 -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.cts +92 -0
- package/dist/core/client.d.ts +92 -0
- package/dist/core/client.js +47 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/generics.cjs +388 -0
- package/dist/core/generics.cjs.map +1 -0
- package/dist/core/generics.d.cts +120 -0
- package/dist/core/generics.d.ts +120 -0
- package/dist/core/generics.js +366 -0
- package/dist/core/generics.js.map +1 -0
- package/dist/core.cjs +658 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +493 -0
- package/dist/core.d.ts +493 -0
- package/dist/core.js +636 -0
- package/dist/core.js.map +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.cts +40 -0
- package/dist/crypto/ecies/__tests__/test-vectors.d.ts +40 -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 +231 -0
- package/dist/crypto/ecies/base.cjs.map +1 -0
- package/dist/crypto/ecies/base.d.cts +143 -0
- package/dist/crypto/ecies/base.d.ts +143 -0
- package/dist/crypto/ecies/base.js +211 -0
- package/dist/crypto/ecies/base.js.map +1 -0
- package/dist/crypto/ecies/browser.cjs +164 -0
- package/dist/crypto/ecies/browser.cjs.map +1 -0
- package/dist/crypto/ecies/browser.d.cts +48 -0
- package/dist/crypto/ecies/browser.d.ts +48 -0
- package/dist/crypto/ecies/browser.js +130 -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.cts +122 -0
- package/dist/crypto/ecies/constants.d.ts +122 -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.cts +1 -0
- package/dist/crypto/ecies/index.d.ts +1 -0
- package/dist/crypto/ecies/index.js +13 -0
- package/dist/crypto/ecies/index.js.map +1 -0
- package/dist/crypto/ecies/interface.cjs +88 -0
- package/dist/crypto/ecies/interface.cjs.map +1 -0
- package/dist/crypto/ecies/interface.d.cts +176 -0
- package/dist/crypto/ecies/interface.d.ts +176 -0
- package/dist/crypto/ecies/interface.js +61 -0
- package/dist/crypto/ecies/interface.js.map +1 -0
- package/dist/crypto/ecies/node.cjs +166 -0
- package/dist/crypto/ecies/node.cjs.map +1 -0
- package/dist/crypto/ecies/node.d.cts +50 -0
- package/dist/crypto/ecies/node.d.ts +50 -0
- package/dist/crypto/ecies/node.js +144 -0
- package/dist/crypto/ecies/node.js.map +1 -0
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.cts +76 -0
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.ts +76 -0
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
- package/dist/crypto/ecies/utils.cjs +91 -0
- package/dist/crypto/ecies/utils.cjs.map +1 -0
- package/dist/crypto/ecies/utils.d.cts +67 -0
- package/dist/crypto/ecies/utils.d.ts +67 -0
- package/dist/crypto/ecies/utils.js +60 -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.cts +92 -0
- package/dist/crypto/services/WalletKeyEncryptionService.d.ts +92 -0
- package/dist/crypto/services/WalletKeyEncryptionService.js +112 -0
- package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -0
- package/dist/diagnostics.cjs +37 -0
- package/dist/diagnostics.cjs.map +1 -0
- package/dist/diagnostics.d.cts +26 -0
- package/dist/diagnostics.d.ts +26 -0
- package/dist/diagnostics.js +13 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/errors.cjs +141 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +350 -0
- package/dist/errors.d.ts +350 -0
- package/dist/errors.js +108 -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.cts +996 -0
- package/dist/generated/abi/ComputeEngineImplementation.d.ts +996 -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.cts +545 -0
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +545 -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.cts +661 -0
- package/dist/generated/abi/DATFactoryImplementation.d.ts +661 -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.cts +693 -0
- package/dist/generated/abi/DATImplementation.d.ts +693 -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.cts +1145 -0
- package/dist/generated/abi/DATPausableImplementation.d.ts +1145 -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.cts +1095 -0
- package/dist/generated/abi/DATVotesImplementation.d.ts +1095 -0
- package/dist/generated/abi/DATVotesImplementation.js +1436 -0
- package/dist/generated/abi/DATVotesImplementation.js.map +1 -0
- package/dist/generated/abi/DLPPerformanceImplementation.cjs +1160 -0
- package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPPerformanceImplementation.d.cts +883 -0
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +883 -0
- package/dist/generated/abi/DLPPerformanceImplementation.js +1136 -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.cts +1123 -0
- package/dist/generated/abi/DLPRegistryImplementation.d.ts +1123 -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.cts +452 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +452 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.js +588 -0
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +948 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.cts +714 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +714 -0
- package/dist/generated/abi/DLPRewardDeployerImplementation.js +924 -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.cts +452 -0
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +452 -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.cts +706 -0
- package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +706 -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.cts +1248 -0
- package/dist/generated/abi/DLPRootImplementation.d.ts +1248 -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.cts +452 -0
- package/dist/generated/abi/DLPTreasuryImplementation.d.ts +452 -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.cts +737 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +737 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.js +961 -0
- package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +888 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.cts +661 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +661 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js +864 -0
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +1317 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.cts +989 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +989 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +1293 -0
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs +1438 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.d.cts +1086 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +1086 -0
- package/dist/generated/abi/DataPortabilityServersImplementation.js +1414 -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.cts +737 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +737 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.js +960 -0
- package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -0
- package/dist/generated/abi/DataRegistryImplementation.cjs +1341 -0
- package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -0
- package/dist/generated/abi/DataRegistryImplementation.d.cts +1014 -0
- package/dist/generated/abi/DataRegistryImplementation.d.ts +1014 -0
- package/dist/generated/abi/DataRegistryImplementation.js +1317 -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.cts +1001 -0
- package/dist/generated/abi/QueryEngineImplementation.d.ts +1001 -0
- package/dist/generated/abi/QueryEngineImplementation.js +1295 -0
- package/dist/generated/abi/QueryEngineImplementation.js.map +1 -0
- package/dist/generated/abi/SwapHelperImplementation.cjs +1019 -0
- package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -0
- package/dist/generated/abi/SwapHelperImplementation.d.cts +764 -0
- package/dist/generated/abi/SwapHelperImplementation.d.ts +764 -0
- package/dist/generated/abi/SwapHelperImplementation.js +995 -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.cts +701 -0
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +701 -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.cts +701 -0
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +701 -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.cts +701 -0
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +701 -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.cts +993 -0
- package/dist/generated/abi/TeePoolImplementation.d.ts +993 -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.cts +701 -0
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +701 -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.cts +701 -0
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +701 -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.cts +993 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +993 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.js +1289 -0
- package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs +1188 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaEpochImplementation.d.cts +900 -0
- package/dist/generated/abi/VanaEpochImplementation.d.ts +900 -0
- package/dist/generated/abi/VanaEpochImplementation.js +1164 -0
- package/dist/generated/abi/VanaEpochImplementation.js.map +1 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs +1234 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.d.cts +934 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +934 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js +1210 -0
- package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs +921 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.d.cts +693 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +693 -0
- package/dist/generated/abi/VanaPoolStakingImplementation.js +897 -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.cts +394 -0
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +394 -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/generated/abi/index.d.cts +26547 -0
- package/dist/generated/abi/index.d.ts +26547 -0
- 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.cts +855 -0
- package/dist/generated/event-types.d.ts +855 -0
- package/dist/generated/event-types.js +1 -0
- package/dist/generated/event-types.js.map +1 -0
- package/dist/generated/eventRegistry.cjs +3351 -0
- package/dist/generated/eventRegistry.cjs.map +1 -0
- package/dist/generated/eventRegistry.d.cts +18 -0
- package/dist/generated/eventRegistry.d.ts +18 -0
- package/dist/generated/eventRegistry.js +3326 -0
- package/dist/generated/eventRegistry.js.map +1 -0
- package/dist/generated/server/server-exports.cjs +23 -0
- package/dist/generated/server/server-exports.cjs.map +1 -0
- package/dist/generated/server/server-exports.d.cts +21 -0
- package/dist/generated/server/server-exports.d.ts +21 -0
- package/dist/generated/server/server-exports.js +2 -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.cts +512 -0
- package/dist/generated/server/server.d.ts +512 -0
- package/dist/generated/server/server.js +1 -0
- package/dist/generated/server/server.js.map +1 -0
- package/dist/generated/subgraph.cjs +675 -0
- package/dist/generated/subgraph.cjs.map +1 -0
- package/dist/generated/subgraph.d.cts +5981 -0
- package/dist/generated/subgraph.d.ts +5981 -0
- package/dist/generated/subgraph.js +644 -0
- package/dist/generated/subgraph.js.map +1 -0
- package/dist/index.browser.cjs +151 -0
- package/dist/index.browser.cjs.map +1 -0
- package/dist/index.browser.d.cts +201 -0
- package/dist/index.browser.d.ts +162 -32452
- package/dist/index.browser.js +64 -40995
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.node.cjs +87 -41441
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.cts +86 -32596
- package/dist/index.node.d.ts +86 -32596
- package/dist/index.node.js +68 -41331
- package/dist/index.node.js.map +1 -1
- package/dist/node.cjs +29 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.cts +2 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.js +5 -0
- package/dist/node.js.map +1 -0
- package/dist/platform/browser-only.cjs +37 -0
- package/dist/platform/browser-only.cjs.map +1 -0
- package/dist/platform/browser-only.d.cts +25 -0
- package/dist/platform/browser-only.d.ts +25 -0
- package/dist/platform/browser-only.js +12 -0
- package/dist/platform/browser-only.js.map +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.cts +32 -0
- package/dist/platform/browser-safe.d.ts +32 -0
- package/dist/platform/browser-safe.js +31 -0
- package/dist/platform/browser-safe.js.map +1 -0
- package/dist/platform/browser.cjs +329 -0
- package/dist/platform/browser.cjs.map +1 -0
- package/dist/platform/browser.d.cts +74 -0
- package/dist/platform/browser.d.ts +74 -0
- package/dist/platform/browser.js +304 -0
- package/dist/platform/browser.js.map +1 -0
- package/dist/platform/index.cjs +50 -0
- package/dist/platform/index.cjs.map +1 -0
- package/dist/platform/index.d.cts +5 -0
- package/dist/platform/index.d.ts +5 -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.cts +218 -0
- package/dist/platform/interface.d.ts +218 -0
- package/dist/platform/interface.js +1 -0
- package/dist/platform/interface.js.map +1 -0
- package/dist/platform/node.cjs +351 -0
- package/dist/platform/node.cjs.map +1 -0
- package/dist/platform/node.d.cts +27 -0
- package/dist/platform/node.d.ts +27 -0
- package/dist/platform/node.js +327 -0
- package/dist/platform/node.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.cts +25 -0
- package/dist/platform/shared/error-utils.d.ts +25 -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.cts +61 -0
- package/dist/platform/shared/pgp-utils.d.ts +61 -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.cts +16 -0
- package/dist/platform/shared/stream-utils.d.ts +16 -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.cts +53 -0
- package/dist/platform/utils.d.ts +53 -0
- package/dist/platform/utils.js +76 -0
- package/dist/platform/utils.js.map +1 -0
- package/dist/platform.browser.cjs +41 -0
- package/dist/platform.browser.cjs.map +1 -0
- package/dist/platform.browser.d.cts +4 -0
- package/dist/platform.browser.d.ts +4 -224
- package/dist/platform.browser.js +10 -309
- package/dist/platform.browser.js.map +1 -1
- package/dist/platform.cjs +14 -623
- package/dist/platform.cjs.map +1 -1
- package/dist/platform.d.cts +5 -1
- package/dist/platform.d.ts +5 -1
- package/dist/platform.js +14 -609
- package/dist/platform.js.map +1 -1
- package/dist/platform.node.cjs +14 -623
- package/dist/platform.node.cjs.map +1 -1
- package/dist/platform.node.d.cts +5 -264
- package/dist/platform.node.d.ts +5 -264
- package/dist/platform.node.js +14 -609
- package/dist/platform.node.js.map +1 -1
- package/dist/schemas/dataSchema.schema.d.cts +88 -0
- package/dist/schemas/dataSchema.schema.d.ts +88 -0
- package/dist/schemas/dataSchema.schema.json +53 -0
- package/dist/schemas/grantFile.schema.d.cts +57 -0
- package/dist/schemas/grantFile.schema.d.ts +57 -0
- package/dist/schemas/grantFile.schema.json +43 -0
- package/dist/server/handler.cjs +101 -0
- package/dist/server/handler.cjs.map +1 -0
- package/dist/server/handler.d.cts +306 -0
- package/dist/server/handler.d.ts +306 -0
- package/dist/server/handler.js +77 -0
- package/dist/server/handler.js.map +1 -0
- package/dist/storage/index.cjs +44 -0
- package/dist/storage/index.cjs.map +1 -0
- package/dist/storage/index.d.cts +10 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.js +15 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/manager.cjs +189 -0
- package/dist/storage/manager.cjs.map +1 -0
- package/dist/storage/manager.d.cts +150 -0
- package/dist/storage/manager.d.ts +150 -0
- package/dist/storage/manager.js +172 -0
- package/dist/storage/manager.js.map +1 -0
- package/dist/storage/providers/callback-storage.cjs +177 -0
- package/dist/storage/providers/callback-storage.cjs.map +1 -0
- package/dist/storage/providers/callback-storage.d.cts +100 -0
- package/dist/storage/providers/callback-storage.d.ts +100 -0
- package/dist/storage/providers/callback-storage.js +155 -0
- package/dist/storage/providers/callback-storage.js.map +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.cts +156 -0
- package/dist/storage/providers/google-drive.d.ts +156 -0
- package/dist/storage/providers/google-drive.js +497 -0
- package/dist/storage/providers/google-drive.js.map +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.cts +163 -0
- package/dist/storage/providers/ipfs.d.ts +163 -0
- package/dist/storage/providers/ipfs.js +264 -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.cts +173 -0
- package/dist/storage/providers/pinata.d.ts +173 -0
- package/dist/storage/providers/pinata.js +320 -0
- package/dist/storage/providers/pinata.js.map +1 -0
- package/dist/types/blockchain.cjs +17 -0
- package/dist/types/blockchain.cjs.map +1 -0
- package/dist/types/blockchain.d.cts +52 -0
- package/dist/types/blockchain.d.ts +52 -0
- package/dist/types/blockchain.js +1 -0
- package/dist/types/blockchain.js.map +1 -0
- package/dist/types/chains.cjs +36 -0
- package/dist/types/chains.cjs.map +1 -0
- package/dist/types/chains.d.cts +34 -0
- package/dist/types/chains.d.ts +34 -0
- package/dist/types/chains.js +11 -0
- package/dist/types/chains.js.map +1 -0
- package/dist/types/config.cjs +41 -0
- package/dist/types/config.cjs.map +1 -0
- package/dist/types/config.d.cts +726 -0
- package/dist/types/config.d.ts +726 -0
- package/dist/types/config.js +15 -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.cts +68 -0
- package/dist/types/contracts.d.ts +68 -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.cts +71 -0
- package/dist/types/controller-context.d.ts +71 -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.cts +694 -0
- package/dist/types/data.d.ts +694 -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.d.cts +13 -0
- package/dist/types/eccrypto-js.d.d.ts +13 -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.cts +186 -0
- package/dist/types/external-apis.d.ts +186 -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.cts +450 -0
- package/dist/types/generics.d.ts +450 -0
- package/dist/types/generics.js +1 -0
- package/dist/types/generics.js.map +1 -0
- package/dist/types/index.cjs +64 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +22 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/operations.cjs +65 -0
- package/dist/types/operations.cjs.map +1 -0
- package/dist/types/operations.d.cts +116 -0
- package/dist/types/operations.d.ts +116 -0
- package/dist/types/operations.js +37 -0
- package/dist/types/operations.js.map +1 -0
- package/dist/types/permissions.cjs +17 -0
- package/dist/types/permissions.cjs.map +1 -0
- package/dist/types/permissions.d.cts +957 -0
- package/dist/types/permissions.d.ts +957 -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.cts +40 -0
- package/dist/types/personal.d.ts +40 -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.cts +284 -0
- package/dist/types/relayer.d.ts +284 -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.cts +131 -0
- package/dist/types/storage.d.ts +131 -0
- package/dist/types/storage.js +18 -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.cts +195 -0
- package/dist/types/transactionResults.d.ts +195 -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.cts +819 -0
- package/dist/types/utils.d.ts +819 -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.cts +54 -0
- package/dist/types.d.ts +54 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/blockchain/registry.cjs +81 -0
- package/dist/utils/blockchain/registry.cjs.map +1 -0
- package/dist/utils/blockchain/registry.d.cts +34 -0
- package/dist/utils/blockchain/registry.d.ts +34 -0
- package/dist/utils/blockchain/registry.js +56 -0
- package/dist/utils/blockchain/registry.js.map +1 -0
- package/dist/utils/crypto-utils.cjs +120 -0
- package/dist/utils/crypto-utils.cjs.map +1 -0
- package/dist/utils/crypto-utils.d.cts +118 -0
- package/dist/utils/crypto-utils.d.ts +118 -0
- package/dist/utils/crypto-utils.js +87 -0
- package/dist/utils/crypto-utils.js.map +1 -0
- package/dist/utils/download.cjs +69 -0
- package/dist/utils/download.cjs.map +1 -0
- package/dist/utils/download.d.cts +41 -0
- package/dist/utils/download.d.ts +41 -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.cts +54 -0
- package/dist/utils/encoding.d.ts +54 -0
- package/dist/utils/encoding.js +39 -0
- package/dist/utils/encoding.js.map +1 -0
- package/dist/utils/encryption.cjs +170 -0
- package/dist/utils/encryption.cjs.map +1 -0
- package/dist/utils/encryption.d.cts +275 -0
- package/dist/utils/encryption.d.ts +275 -0
- package/dist/utils/encryption.js +136 -0
- package/dist/utils/encryption.js.map +1 -0
- package/dist/utils/formatters.cjs +53 -0
- package/dist/utils/formatters.cjs.map +1 -0
- package/dist/utils/formatters.d.cts +120 -0
- package/dist/utils/formatters.d.ts +120 -0
- package/dist/utils/formatters.js +26 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/grantFiles.cjs +175 -0
- package/dist/utils/grantFiles.cjs.map +1 -0
- package/dist/utils/grantFiles.d.cts +186 -0
- package/dist/utils/grantFiles.d.ts +186 -0
- package/dist/utils/grantFiles.js +137 -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.cts +150 -0
- package/dist/utils/grantValidation.d.ts +150 -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.cts +70 -0
- package/dist/utils/grants.d.ts +70 -0
- package/dist/utils/grants.js +82 -0
- package/dist/utils/grants.js.map +1 -0
- package/dist/utils/ipfs.cjs +130 -0
- package/dist/utils/ipfs.cjs.map +1 -0
- package/dist/utils/ipfs.d.cts +90 -0
- package/dist/utils/ipfs.d.ts +90 -0
- package/dist/utils/ipfs.js +99 -0
- package/dist/utils/ipfs.js.map +1 -0
- package/dist/utils/lazy-import.cjs +40 -0
- package/dist/utils/lazy-import.cjs.map +1 -0
- package/dist/utils/lazy-import.d.cts +20 -0
- package/dist/utils/lazy-import.d.ts +20 -0
- package/dist/utils/lazy-import.js +16 -0
- package/dist/utils/lazy-import.js.map +1 -0
- package/dist/utils/multicall.cjs +231 -0
- package/dist/utils/multicall.cjs.map +1 -0
- package/dist/utils/multicall.d.cts +129 -0
- package/dist/utils/multicall.d.ts +129 -0
- package/dist/utils/multicall.js +206 -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.cts +37 -0
- package/dist/utils/parseTransactionPojo.d.ts +37 -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.cts +172 -0
- package/dist/utils/schemaValidation.d.ts +172 -0
- package/dist/utils/schemaValidation.js +222 -0
- package/dist/utils/schemaValidation.js.map +1 -0
- package/dist/utils/signatureCache.cjs +187 -0
- package/dist/utils/signatureCache.cjs.map +1 -0
- package/dist/utils/signatureCache.d.cts +134 -0
- package/dist/utils/signatureCache.d.ts +134 -0
- package/dist/utils/signatureCache.js +165 -0
- package/dist/utils/signatureCache.js.map +1 -0
- package/dist/utils/signatureFormatter.cjs +45 -0
- package/dist/utils/signatureFormatter.cjs.map +1 -0
- package/dist/utils/signatureFormatter.d.cts +39 -0
- package/dist/utils/signatureFormatter.d.ts +39 -0
- package/dist/utils/signatureFormatter.js +21 -0
- package/dist/utils/signatureFormatter.js.map +1 -0
- package/dist/utils/transactionHelpers.cjs +54 -0
- package/dist/utils/transactionHelpers.cjs.map +1 -0
- package/dist/utils/transactionHelpers.d.cts +86 -0
- package/dist/utils/transactionHelpers.d.ts +86 -0
- package/dist/utils/transactionHelpers.js +29 -0
- package/dist/utils/transactionHelpers.js.map +1 -0
- package/dist/utils/typedDataConverter.cjs +43 -0
- package/dist/utils/typedDataConverter.cjs.map +1 -0
- package/dist/utils/typedDataConverter.d.cts +13 -0
- package/dist/utils/typedDataConverter.d.ts +13 -0
- package/dist/utils/typedDataConverter.js +19 -0
- package/dist/utils/typedDataConverter.js.map +1 -0
- package/dist/utils/urlResolver.cjs +55 -0
- package/dist/utils/urlResolver.cjs.map +1 -0
- package/dist/utils/urlResolver.d.cts +40 -0
- package/dist/utils/urlResolver.d.ts +40 -0
- package/dist/utils/urlResolver.js +30 -0
- package/dist/utils/urlResolver.js.map +1 -0
- package/dist/utils/withEvents.cjs +44 -0
- package/dist/utils/withEvents.cjs.map +1 -0
- package/dist/utils/withEvents.d.cts +63 -0
- package/dist/utils/withEvents.d.ts +63 -0
- package/dist/utils/withEvents.js +18 -0
- package/dist/utils/withEvents.js.map +1 -0
- package/package.json +58 -27
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { WalletClient } from 'viem';
|
|
2
|
+
import { VanaPlatformAdapter } from '../platform/interface.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Canonical Vana Protocol Encryption Functions
|
|
6
|
+
*
|
|
7
|
+
* These functions define the standard way user data is encrypted/decrypted in Vana.
|
|
8
|
+
* All applications should use these canonical functions to ensure compatibility
|
|
9
|
+
* with existing encrypted data on the Vana network.
|
|
10
|
+
*
|
|
11
|
+
* This module uses the platform adapter pattern to provide consistent
|
|
12
|
+
* encryption functionality across Node.js and browser environments.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Default encryption seed message used throughout Vana protocol
|
|
17
|
+
*/
|
|
18
|
+
declare const DEFAULT_ENCRYPTION_SEED = "Please sign to retrieve your encryption key";
|
|
19
|
+
/**
|
|
20
|
+
* Generate an encryption key by signing the canonical Vana encryption seed
|
|
21
|
+
*
|
|
22
|
+
* This is the standard protocol function for creating encryption keys in Vana.
|
|
23
|
+
* The signature serves as a symmetric encryption key for user data.
|
|
24
|
+
*
|
|
25
|
+
* @param wallet The user's wallet client for signing
|
|
26
|
+
* @param platformAdapter Platform adapter for cache operations
|
|
27
|
+
* @param seed Optional custom encryption seed (defaults to Vana standard)
|
|
28
|
+
* @returns The signature that serves as the encryption key
|
|
29
|
+
* @throws {Error} When wallet account is required but not provided
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const encryptionKey = await generateEncryptionKey(walletClient, platformAdapter);
|
|
33
|
+
* console.log('Generated encryption key:', encryptionKey);
|
|
34
|
+
*
|
|
35
|
+
* // Use with custom seed
|
|
36
|
+
* const customKey = await generateEncryptionKey(walletClient, platformAdapter, 'my-custom-seed');
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
declare function generateEncryptionKey(wallet: WalletClient, platformAdapter: VanaPlatformAdapter, seed?: string): Promise<string>;
|
|
40
|
+
/**
|
|
41
|
+
* Encrypts data using a wallet's public key for secure sharing with specific recipients.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* This function implements asymmetric encryption using the recipient's public key,
|
|
45
|
+
* enabling secure data sharing where only the holder of the corresponding private key
|
|
46
|
+
* can decrypt the data. It automatically handles different data types and uses
|
|
47
|
+
* platform-appropriate cryptographic libraries for maximum compatibility.
|
|
48
|
+
*
|
|
49
|
+
* This is commonly used when granting permissions to applications or servers,
|
|
50
|
+
* where the data needs to be encrypted for a specific recipient's public key.
|
|
51
|
+
*
|
|
52
|
+
* @param data - The data to encrypt (string or Blob)
|
|
53
|
+
* @param publicKey - The recipient's public key in hexadecimal format
|
|
54
|
+
* @param platformAdapter - The platform adapter providing cryptographic operations
|
|
55
|
+
* @returns Promise resolving to the encrypted data as a string
|
|
56
|
+
* @throws {Error} When encryption fails due to invalid key or data format
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Encrypt data for a specific application's public key
|
|
60
|
+
* const appPublicKey = "0x04a1b2c3..."; // Application's public key
|
|
61
|
+
* const sensitiveData = "User's private information";
|
|
62
|
+
*
|
|
63
|
+
* const encrypted = await encryptWithWalletPublicKey(
|
|
64
|
+
* sensitiveData,
|
|
65
|
+
* appPublicKey,
|
|
66
|
+
* platformAdapter
|
|
67
|
+
* );
|
|
68
|
+
*
|
|
69
|
+
* console.log('Encrypted for app:', encrypted);
|
|
70
|
+
*
|
|
71
|
+
* // Encrypt file data for server processing
|
|
72
|
+
* const fileBlob = new File(['{"name":"John","age":30}'], 'profile.json');
|
|
73
|
+
* const encryptedFile = await encryptWithWalletPublicKey(
|
|
74
|
+
* fileBlob,
|
|
75
|
+
* serverPublicKey,
|
|
76
|
+
* platformAdapter
|
|
77
|
+
* );
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
declare function encryptWithWalletPublicKey(data: string | Blob, publicKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* Decrypts data that was encrypted with the corresponding public key.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* This function performs asymmetric decryption using the recipient's private key
|
|
86
|
+
* to decrypt data that was encrypted with the corresponding public key. It's the
|
|
87
|
+
* counterpart to `encryptWithWalletPublicKey` and is typically used by applications
|
|
88
|
+
* or servers to decrypt data that was shared with them by users.
|
|
89
|
+
*
|
|
90
|
+
* The function automatically handles platform-specific cryptographic operations
|
|
91
|
+
* and provides consistent behavior across browser and Node.js environments.
|
|
92
|
+
*
|
|
93
|
+
* @param encryptedData - The encrypted data string to decrypt
|
|
94
|
+
* @param privateKey - The private key corresponding to the public key used for encryption
|
|
95
|
+
* @param platformAdapter - The platform adapter providing cryptographic operations
|
|
96
|
+
* @returns Promise resolving to the decrypted data as a string
|
|
97
|
+
* @throws {Error} When decryption fails due to invalid key, corrupted data, or key mismatch
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* // Decrypt data received from a user (server-side)
|
|
101
|
+
* const encryptedUserData = "encrypted_string_from_user";
|
|
102
|
+
* const serverPrivateKey = process.env.SERVER_PRIVATE_KEY;
|
|
103
|
+
*
|
|
104
|
+
* const decrypted = await decryptWithWalletPrivateKey(
|
|
105
|
+
* encryptedUserData,
|
|
106
|
+
* serverPrivateKey,
|
|
107
|
+
* platformAdapter
|
|
108
|
+
* );
|
|
109
|
+
*
|
|
110
|
+
* const userData = JSON.parse(decrypted);
|
|
111
|
+
* console.log('User data:', userData);
|
|
112
|
+
*
|
|
113
|
+
* // Handle decryption errors gracefully
|
|
114
|
+
* try {
|
|
115
|
+
* const result = await decryptWithWalletPrivateKey(
|
|
116
|
+
* encryptedData,
|
|
117
|
+
* privateKey,
|
|
118
|
+
* platformAdapter
|
|
119
|
+
* );
|
|
120
|
+
* } catch (error) {
|
|
121
|
+
* if (error.message.includes('invalid key')) {
|
|
122
|
+
* console.error('Key mismatch - data not encrypted for this recipient');
|
|
123
|
+
* } else {
|
|
124
|
+
* console.error('Decryption failed:', error.message);
|
|
125
|
+
* }
|
|
126
|
+
* }
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
declare function decryptWithWalletPrivateKey(encryptedData: string, privateKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Encrypt a file key with a DLP's public key using platform-appropriate cryptography
|
|
132
|
+
*
|
|
133
|
+
* @param fileKey The symmetric key used to encrypt the file
|
|
134
|
+
* @param publicKey The DLP's public key
|
|
135
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
136
|
+
* @returns The encrypted key that can be stored on-chain
|
|
137
|
+
*/
|
|
138
|
+
declare function encryptFileKey(fileKey: string, publicKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
139
|
+
/**
|
|
140
|
+
* Generate encryption parameters for secure file storage
|
|
141
|
+
*
|
|
142
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
143
|
+
* @returns An object containing the initialization vector and encryption key
|
|
144
|
+
*/
|
|
145
|
+
declare function getEncryptionParameters(platformAdapter: VanaPlatformAdapter): Promise<{
|
|
146
|
+
iv: string;
|
|
147
|
+
key: string;
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Decrypt data that was encrypted with the DLP's public key using platform-appropriate cryptography
|
|
151
|
+
*
|
|
152
|
+
* @param encryptedData The encrypted data
|
|
153
|
+
* @param privateKey The private key corresponding to the public key used for encryption
|
|
154
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
155
|
+
* @returns The decrypted data
|
|
156
|
+
*/
|
|
157
|
+
declare function decryptWithPrivateKey(encryptedData: string, privateKey: string, platformAdapter: VanaPlatformAdapter): Promise<string>;
|
|
158
|
+
/**
|
|
159
|
+
* Encrypts data using a signed key generated from the user's wallet signature.
|
|
160
|
+
*
|
|
161
|
+
* @remarks
|
|
162
|
+
* This is a pure cryptographic primitive that encrypts data using the Vana protocol's
|
|
163
|
+
* standard encryption method. The key parameter must be a signature generated by the
|
|
164
|
+
* `generateEncryptionKey` utility - this ensures deterministic key generation from the
|
|
165
|
+
* user's wallet, enabling the same key to be regenerated for decryption.
|
|
166
|
+
*
|
|
167
|
+
* This function uses password-based encryption with the signature as the password,
|
|
168
|
+
* providing symmetric encryption that can be decrypted with the same signature.
|
|
169
|
+
*
|
|
170
|
+
* @param data The data to encrypt (string or Blob)
|
|
171
|
+
* @param key The signed key from `generateEncryptionKey` - MUST be a wallet signature
|
|
172
|
+
* @param platformAdapter The platform adapter for crypto operations
|
|
173
|
+
* @returns The encrypted data as Blob
|
|
174
|
+
* @throws {Error} When encryption fails
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* // Generate the encryption key from wallet signature
|
|
179
|
+
* const encryptionKey = await generateEncryptionKey(walletClient);
|
|
180
|
+
*
|
|
181
|
+
* // Encrypt data with the signed key
|
|
182
|
+
* const encryptedBlob = await encryptBlobWithSignedKey(
|
|
183
|
+
* "My sensitive data",
|
|
184
|
+
* encryptionKey,
|
|
185
|
+
* platformAdapter
|
|
186
|
+
* );
|
|
187
|
+
*
|
|
188
|
+
* // Later, decrypt with the same key
|
|
189
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
190
|
+
* encryptedBlob,
|
|
191
|
+
* encryptionKey,
|
|
192
|
+
* platformAdapter
|
|
193
|
+
* );
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
declare function encryptBlobWithSignedKey(data: string | Blob, key: string, platformAdapter: VanaPlatformAdapter): Promise<Blob>;
|
|
197
|
+
/**
|
|
198
|
+
* Generate a new key pair for asymmetric encryption
|
|
199
|
+
*
|
|
200
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
201
|
+
* @returns Promise resolving to public and private key pair
|
|
202
|
+
*/
|
|
203
|
+
declare function generateEncryptionKeyPair(platformAdapter: VanaPlatformAdapter): Promise<{
|
|
204
|
+
publicKey: string;
|
|
205
|
+
privateKey: string;
|
|
206
|
+
}>;
|
|
207
|
+
/**
|
|
208
|
+
* Generate a new PGP key pair with platform-appropriate configuration
|
|
209
|
+
*
|
|
210
|
+
* @param platformAdapter - The platform adapter for crypto operations
|
|
211
|
+
* @param options - Key generation options
|
|
212
|
+
* @param options.name - The name for the PGP key
|
|
213
|
+
* @param options.email - The email for the PGP key
|
|
214
|
+
* @param options.passphrase - Optional passphrase to protect the private key
|
|
215
|
+
* @returns Promise resolving to public and private key pair
|
|
216
|
+
*/
|
|
217
|
+
declare function generatePGPKeyPair(platformAdapter: VanaPlatformAdapter, options?: {
|
|
218
|
+
name?: string;
|
|
219
|
+
email?: string;
|
|
220
|
+
passphrase?: string;
|
|
221
|
+
}): Promise<{
|
|
222
|
+
publicKey: string;
|
|
223
|
+
privateKey: string;
|
|
224
|
+
}>;
|
|
225
|
+
/**
|
|
226
|
+
* Decrypts data using a signed key generated from the user's wallet signature.
|
|
227
|
+
*
|
|
228
|
+
* @remarks
|
|
229
|
+
* This is a pure cryptographic primitive for decrypting data that was encrypted using
|
|
230
|
+
* `encryptBlobWithSignedKey`. It is network-agnostic and only handles decryption - it does
|
|
231
|
+
* not fetch data from any URL or make network requests. To decrypt a file from a URL, you
|
|
232
|
+
* must first fetch the encrypted blob using one of the fetch utilities, then pass it to
|
|
233
|
+
* this function.
|
|
234
|
+
*
|
|
235
|
+
* The key parameter must be the same signature that was used for encryption, typically
|
|
236
|
+
* generated by the `generateEncryptionKey` utility. This ensures that only the user who
|
|
237
|
+
* encrypted the data (or someone with the same wallet signature) can decrypt it.
|
|
238
|
+
*
|
|
239
|
+
* @param encryptedData The encrypted data to decrypt (string or Blob)
|
|
240
|
+
* @param key The signed key from `generateEncryptionKey` - MUST be the same wallet signature used for encryption
|
|
241
|
+
* @param platformAdapter The platform adapter for crypto operations
|
|
242
|
+
* @returns Promise resolving to the decrypted blob
|
|
243
|
+
* @throws {Error} When decryption fails due to wrong key or corrupted data
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```typescript
|
|
247
|
+
* // Generate the same encryption key used for encryption
|
|
248
|
+
* const encryptionKey = await generateEncryptionKey(walletClient);
|
|
249
|
+
*
|
|
250
|
+
* // Fetch and decrypt using the high-level API
|
|
251
|
+
* const file = await vana.data.getUserFiles({ owner: "0x..." })[0];
|
|
252
|
+
* const decryptedBlob = await vana.data.decryptFile(file);
|
|
253
|
+
*
|
|
254
|
+
* // Or use the low-level primitives directly
|
|
255
|
+
* const encryptedBlob = await vana.data.fetch(file.url);
|
|
256
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
257
|
+
* encryptedBlob,
|
|
258
|
+
* encryptionKey,
|
|
259
|
+
* platformAdapter
|
|
260
|
+
* );
|
|
261
|
+
*
|
|
262
|
+
* // With IPFS gateway fallback
|
|
263
|
+
* const encryptedBlob = await vana.data.fetchFromIPFS(file.url, {
|
|
264
|
+
* gateways: ['https://my-gateway.com/ipfs/', 'https://ipfs.io/ipfs/']
|
|
265
|
+
* });
|
|
266
|
+
* const decryptedBlob = await decryptBlobWithSignedKey(
|
|
267
|
+
* encryptedBlob,
|
|
268
|
+
* encryptionKey,
|
|
269
|
+
* platformAdapter
|
|
270
|
+
* );
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
declare function decryptBlobWithSignedKey(encryptedData: string | Blob, key: string, platformAdapter: VanaPlatformAdapter): Promise<Blob>;
|
|
274
|
+
|
|
275
|
+
export { DEFAULT_ENCRYPTION_SEED, decryptBlobWithSignedKey, decryptWithPrivateKey, decryptWithWalletPrivateKey, encryptBlobWithSignedKey, encryptFileKey, encryptWithWalletPublicKey, generateEncryptionKey, generateEncryptionKeyPair, generatePGPKeyPair, getEncryptionParameters };
|
|
@@ -0,0 +1,136 @@
|
|
|
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.account;
|
|
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(`Failed to encrypt with wallet public key: ${error}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function decryptWithWalletPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
33
|
+
try {
|
|
34
|
+
return await platformAdapter.crypto.decryptWithWalletPrivateKey(
|
|
35
|
+
encryptedData,
|
|
36
|
+
privateKey
|
|
37
|
+
);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
throw new Error(`Failed to decrypt with wallet private key: ${error}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function encryptFileKey(fileKey, publicKey, platformAdapter) {
|
|
43
|
+
try {
|
|
44
|
+
return await platformAdapter.crypto.encryptWithPublicKey(
|
|
45
|
+
fileKey,
|
|
46
|
+
publicKey
|
|
47
|
+
);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw new Error(`Failed to encrypt file key: ${error}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function getEncryptionParameters(platformAdapter) {
|
|
53
|
+
try {
|
|
54
|
+
const keyPair = await platformAdapter.crypto.generateKeyPair();
|
|
55
|
+
return {
|
|
56
|
+
iv: keyPair.publicKey.substring(0, 16),
|
|
57
|
+
key: keyPair.privateKey.substring(0, 32)
|
|
58
|
+
};
|
|
59
|
+
} catch (error) {
|
|
60
|
+
throw new Error(`Failed to generate encryption parameters: ${error}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async function decryptWithPrivateKey(encryptedData, privateKey, platformAdapter) {
|
|
64
|
+
try {
|
|
65
|
+
return await platformAdapter.crypto.decryptWithPrivateKey(
|
|
66
|
+
encryptedData,
|
|
67
|
+
privateKey
|
|
68
|
+
);
|
|
69
|
+
} catch (error) {
|
|
70
|
+
throw new Error(`Failed to decrypt with private key: ${error}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function encryptBlobWithSignedKey(data, key, platformAdapter) {
|
|
74
|
+
try {
|
|
75
|
+
const dataBuffer = data instanceof Blob ? await data.arrayBuffer() : new TextEncoder().encode(data);
|
|
76
|
+
const dataArray = new Uint8Array(dataBuffer);
|
|
77
|
+
const encrypted = await platformAdapter.crypto.encryptWithPassword(
|
|
78
|
+
dataArray,
|
|
79
|
+
key
|
|
80
|
+
);
|
|
81
|
+
const encryptedArrayBuffer = encrypted.buffer.slice(
|
|
82
|
+
encrypted.byteOffset,
|
|
83
|
+
encrypted.byteOffset + encrypted.byteLength
|
|
84
|
+
);
|
|
85
|
+
return new Blob([encryptedArrayBuffer], {
|
|
86
|
+
type: "application/octet-stream"
|
|
87
|
+
});
|
|
88
|
+
} catch (error) {
|
|
89
|
+
throw new Error(`Failed to encrypt data: ${error}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function generateEncryptionKeyPair(platformAdapter) {
|
|
93
|
+
try {
|
|
94
|
+
return await platformAdapter.crypto.generateKeyPair();
|
|
95
|
+
} catch (error) {
|
|
96
|
+
throw new Error(`Failed to generate encryption key pair: ${error}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async function generatePGPKeyPair(platformAdapter, options) {
|
|
100
|
+
try {
|
|
101
|
+
return await platformAdapter.pgp.generateKeyPair(options);
|
|
102
|
+
} catch (error) {
|
|
103
|
+
throw new Error(`Failed to generate PGP key pair: ${error}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function decryptBlobWithSignedKey(encryptedData, key, platformAdapter) {
|
|
107
|
+
try {
|
|
108
|
+
const encryptedBuffer = encryptedData instanceof Blob ? await encryptedData.arrayBuffer() : new TextEncoder().encode(encryptedData);
|
|
109
|
+
const encryptedArray = new Uint8Array(encryptedBuffer);
|
|
110
|
+
const decrypted = await platformAdapter.crypto.decryptWithPassword(
|
|
111
|
+
encryptedArray,
|
|
112
|
+
key
|
|
113
|
+
);
|
|
114
|
+
const decryptedArrayBuffer = decrypted.buffer.slice(
|
|
115
|
+
decrypted.byteOffset,
|
|
116
|
+
decrypted.byteOffset + decrypted.byteLength
|
|
117
|
+
);
|
|
118
|
+
return new Blob([decryptedArrayBuffer], { type: "text/plain" });
|
|
119
|
+
} catch (error) {
|
|
120
|
+
throw new Error(`Failed to decrypt data: ${error}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export {
|
|
124
|
+
DEFAULT_ENCRYPTION_SEED,
|
|
125
|
+
decryptBlobWithSignedKey,
|
|
126
|
+
decryptWithPrivateKey,
|
|
127
|
+
decryptWithWalletPrivateKey,
|
|
128
|
+
encryptBlobWithSignedKey,
|
|
129
|
+
encryptFileKey,
|
|
130
|
+
encryptWithWalletPublicKey,
|
|
131
|
+
generateEncryptionKey,
|
|
132
|
+
generateEncryptionKeyPair,
|
|
133
|
+
generatePGPKeyPair,
|
|
134
|
+
getEncryptionParameters
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=encryption.js.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.account;\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: 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(`Failed to encrypt with wallet public key: ${error}`);\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(`Failed to decrypt with wallet private key: ${error}`);\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: ${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(`Failed to generate encryption parameters: ${error}`);\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: ${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: ${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: ${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: ${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: ${error}`);\n }\n}\n"],"mappings":"AAaA,SAAS,0BAA0B;AAK5B,MAAM,0BACX;AAsBF,eAAsB,sBACpB,QACA,iBACA,OAAe,yBACE;AACjB,MAAI,CAAC,OAAO,SAAS;AACnB,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AAGA,QAAM,UAAU,OAAO;AAIvB,QAAM,cAAc,EAAE,SAAS,KAAK;AAEpC,SAAO,MAAM;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,MAAM,6CAA6C,KAAK,EAAE;AAAA,EACtE;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,MAAM,8CAA8C,KAAK,EAAE;AAAA,EACvE;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,KAAK,EAAE;AAAA,EACxD;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,MAAM,6CAA6C,KAAK,EAAE;AAAA,EACtE;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,KAAK,EAAE;AAAA,EAChE;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,KAAK,EAAE;AAAA,EACpD;AACF;AAQA,eAAsB,0BACpB,iBAIC;AACD,MAAI;AACF,WAAO,MAAM,gBAAgB,OAAO,gBAAgB;AAAA,EACtD,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,2CAA2C,KAAK,EAAE;AAAA,EACpE;AACF;AAYA,eAAsB,mBACpB,iBACA,SAKoD;AACpD,MAAI;AACF,WAAO,MAAM,gBAAgB,IAAI,gBAAgB,OAAO;AAAA,EAC1D,SAAS,OAAO;AACd,UAAM,IAAI,MAAM,oCAAoC,KAAK,EAAE;AAAA,EAC7D;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,KAAK,EAAE;AAAA,EACpD;AACF;","names":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 formatters_exports = {};
|
|
20
|
+
__export(formatters_exports, {
|
|
21
|
+
formatEth: () => formatEth,
|
|
22
|
+
formatNumber: () => formatNumber,
|
|
23
|
+
formatToken: () => formatToken,
|
|
24
|
+
shortenAddress: () => shortenAddress
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(formatters_exports);
|
|
27
|
+
var import_viem = require("viem");
|
|
28
|
+
function formatNumber(value) {
|
|
29
|
+
return Number(value);
|
|
30
|
+
}
|
|
31
|
+
function formatEth(wei, decimals = 4) {
|
|
32
|
+
return (0, import_viem.formatEther)(BigInt(wei.toString())).slice(0, decimals + 2);
|
|
33
|
+
}
|
|
34
|
+
function formatToken(amount, decimals = 18, displayDecimals = 4) {
|
|
35
|
+
const value = (0, import_viem.formatUnits)(BigInt(amount.toString()), decimals);
|
|
36
|
+
const parts = value.split(".");
|
|
37
|
+
if (parts.length === 1) {
|
|
38
|
+
return parts[0];
|
|
39
|
+
}
|
|
40
|
+
return `${parts[0]}.${parts[1].slice(0, displayDecimals)}`;
|
|
41
|
+
}
|
|
42
|
+
function shortenAddress(address) {
|
|
43
|
+
if (!address || address.length < 10) return address;
|
|
44
|
+
return `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
45
|
+
}
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
formatEth,
|
|
49
|
+
formatNumber,
|
|
50
|
+
formatToken,
|
|
51
|
+
shortenAddress
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=formatters.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/formatters.ts"],"sourcesContent":["import { formatEther, formatUnits } from \"viem\";\n\n/**\n * Format a bigint or BigNumber to a regular number\n *\n * @remarks\n * This function converts blockchain-specific large number types to standard JavaScript\n * numbers. Use with caution for values that may exceed safe integer range.\n *\n * **Edge Cases:**\n * - Values exceeding JavaScript's MAX_SAFE_INTEGER (2^53-1) lose precision\n * - Negative values are supported\n * - String values must be valid numeric strings or will return NaN\n *\n * @param value BigInt, BigNumber or numeric string to convert\n * @returns Regular JavaScript number\n * @example\n * ```typescript\n * formatNumber(1000000000000000000n) // Returns: 1000000000000000000\n * formatNumber(\"123456789\") // Returns: 123456789\n * formatNumber(-100n) // Returns: -100\n *\n * // Precision loss example:\n * const bigValue = 9007199254740993n; // MAX_SAFE_INTEGER + 2\n * formatNumber(bigValue) // Returns: 9007199254740992 (lost precision)\n * ```\n */\nexport function formatNumber(value: bigint | string | number): number {\n return Number(value);\n}\n\n/**\n * Format wei value to ETH with specified decimal places\n *\n * @remarks\n * Converts wei (smallest ETH unit) to human-readable ETH format.\n * 1 ETH = 10^18 wei. The function truncates rather than rounds\n * to ensure predictable display in financial contexts.\n *\n * **Edge Cases:**\n * - Truncates (not rounds) to specified decimal places\n * - Negative values are supported\n * - Zero values return \"0.0000\" (based on decimals)\n * - Very small values may display as \"0.0000\" due to truncation\n *\n * @param wei Value in wei (as bigint, string, or number)\n * @param decimals Number of decimal places to display (default: 4)\n * @returns Formatted ETH value as string\n * @example\n * ```typescript\n * // Standard conversions\n * formatEth(1000000000000000000n) // Returns: \"1.0000\"\n * formatEth(1500000000000000000n, 2) // Returns: \"1.50\"\n * formatEth(\"2000000000000000000\") // Returns: \"2.0000\"\n *\n * // Edge cases\n * formatEth(1000000000000000n) // Returns: \"0.0010\" (0.001 ETH)\n * formatEth(100000000000000n) // Returns: \"0.0001\"\n * formatEth(10000000000000n) // Returns: \"0.0000\" (truncated)\n * formatEth(-1000000000000000000n) // Returns: \"-1.000\"\n * ```\n */\nexport function formatEth(wei: bigint | string | number, decimals = 4): string {\n return formatEther(BigInt(wei.toString())).slice(0, decimals + 2);\n}\n\n/**\n * Format a token amount based on its decimals\n *\n * @remarks\n * Generic token formatter that handles any ERC20-style token with\n * configurable decimal places. Most tokens use 18 decimals like ETH,\n * but some use different values (e.g., USDC uses 6).\n *\n * @param amount Raw token amount\n * @param decimals Token decimals (default: 18)\n * @param displayDecimals Decimals to show in formatted output (default: 4)\n * @returns Formatted token amount as string\n * @example\n * ```typescript\n * // 18 decimal token (like ETH)\n * formatToken(1000000000000000000n) // Returns: \"1.0000\"\n * formatToken(1500000000000000000n, 18, 2) // Returns: \"1.50\"\n *\n * // 6 decimal token (like USDC)\n * formatToken(1000000n, 6) // Returns: \"1.0000\"\n * formatToken(1500000n, 6, 2) // Returns: \"1.50\"\n *\n * // Whole numbers\n * formatToken(5000000000000000000n) // Returns: \"5\"\n * formatToken(5123456789000000000n, 18, 6) // Returns: \"5.123456\"\n * ```\n */\nexport function formatToken(\n amount: bigint | string | number,\n decimals = 18,\n displayDecimals = 4,\n): string {\n const value = formatUnits(BigInt(amount.toString()), decimals);\n const parts = value.split(\".\");\n\n if (parts.length === 1) {\n return parts[0];\n }\n\n return `${parts[0]}.${parts[1].slice(0, displayDecimals)}`;\n}\n\n/**\n * Format an address for display (showing first 6 and last 4 characters)\n *\n * @remarks\n * Creates a human-readable abbreviated version of Ethereum addresses\n * for UI display. Preserves enough characters to maintain uniqueness\n * while saving screen space. Does not validate address format.\n *\n * **Edge Cases:**\n * - Addresses shorter than 10 characters are returned unchanged\n * - Works with both checksummed and lowercase addresses\n * - Does not validate address format\n *\n * @param address EVM address\n * @returns Shortened address string\n * @example\n * ```typescript\n * // Standard addresses\n * shortenAddress(\"0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36\")\n * // Returns: \"0x742d...Bd36\"\n *\n * // Checksummed address\n * shortenAddress(\"0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36\")\n * // Returns: \"0x742d...Bd36\"\n *\n * // Edge cases\n * shortenAddress(\"0x123\") // Returns: \"0x123\" (too short)\n * shortenAddress(\"\") // Returns: \"\"\n * shortenAddress(\"not-an-address\") // Returns: \"not-an...ress\"\n * ```\n */\nexport function shortenAddress(address: string): string {\n if (!address || address.length < 10) return address;\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyC;AA2BlC,SAAS,aAAa,OAAyC;AACpE,SAAO,OAAO,KAAK;AACrB;AAiCO,SAAS,UAAU,KAA+B,WAAW,GAAW;AAC7E,aAAO,yBAAY,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;AAClE;AA6BO,SAAS,YACd,QACA,WAAW,IACX,kBAAkB,GACV;AACR,QAAM,YAAQ,yBAAY,OAAO,OAAO,SAAS,CAAC,GAAG,QAAQ;AAC7D,QAAM,QAAQ,MAAM,MAAM,GAAG;AAE7B,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO,MAAM,CAAC;AAAA,EAChB;AAEA,SAAO,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;AAC1D;AAiCO,SAAS,eAAe,SAAyB;AACtD,MAAI,CAAC,WAAW,QAAQ,SAAS,GAAI,QAAO;AAC5C,SAAO,GAAG,QAAQ,MAAM,GAAG,CAAC,CAAC,MAAM,QAAQ,MAAM,EAAE,CAAC;AACtD;","names":[]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a bigint or BigNumber to a regular number
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This function converts blockchain-specific large number types to standard JavaScript
|
|
6
|
+
* numbers. Use with caution for values that may exceed safe integer range.
|
|
7
|
+
*
|
|
8
|
+
* **Edge Cases:**
|
|
9
|
+
* - Values exceeding JavaScript's MAX_SAFE_INTEGER (2^53-1) lose precision
|
|
10
|
+
* - Negative values are supported
|
|
11
|
+
* - String values must be valid numeric strings or will return NaN
|
|
12
|
+
*
|
|
13
|
+
* @param value BigInt, BigNumber or numeric string to convert
|
|
14
|
+
* @returns Regular JavaScript number
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* formatNumber(1000000000000000000n) // Returns: 1000000000000000000
|
|
18
|
+
* formatNumber("123456789") // Returns: 123456789
|
|
19
|
+
* formatNumber(-100n) // Returns: -100
|
|
20
|
+
*
|
|
21
|
+
* // Precision loss example:
|
|
22
|
+
* const bigValue = 9007199254740993n; // MAX_SAFE_INTEGER + 2
|
|
23
|
+
* formatNumber(bigValue) // Returns: 9007199254740992 (lost precision)
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
declare function formatNumber(value: bigint | string | number): number;
|
|
27
|
+
/**
|
|
28
|
+
* Format wei value to ETH with specified decimal places
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* Converts wei (smallest ETH unit) to human-readable ETH format.
|
|
32
|
+
* 1 ETH = 10^18 wei. The function truncates rather than rounds
|
|
33
|
+
* to ensure predictable display in financial contexts.
|
|
34
|
+
*
|
|
35
|
+
* **Edge Cases:**
|
|
36
|
+
* - Truncates (not rounds) to specified decimal places
|
|
37
|
+
* - Negative values are supported
|
|
38
|
+
* - Zero values return "0.0000" (based on decimals)
|
|
39
|
+
* - Very small values may display as "0.0000" due to truncation
|
|
40
|
+
*
|
|
41
|
+
* @param wei Value in wei (as bigint, string, or number)
|
|
42
|
+
* @param decimals Number of decimal places to display (default: 4)
|
|
43
|
+
* @returns Formatted ETH value as string
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Standard conversions
|
|
47
|
+
* formatEth(1000000000000000000n) // Returns: "1.0000"
|
|
48
|
+
* formatEth(1500000000000000000n, 2) // Returns: "1.50"
|
|
49
|
+
* formatEth("2000000000000000000") // Returns: "2.0000"
|
|
50
|
+
*
|
|
51
|
+
* // Edge cases
|
|
52
|
+
* formatEth(1000000000000000n) // Returns: "0.0010" (0.001 ETH)
|
|
53
|
+
* formatEth(100000000000000n) // Returns: "0.0001"
|
|
54
|
+
* formatEth(10000000000000n) // Returns: "0.0000" (truncated)
|
|
55
|
+
* formatEth(-1000000000000000000n) // Returns: "-1.000"
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare function formatEth(wei: bigint | string | number, decimals?: number): string;
|
|
59
|
+
/**
|
|
60
|
+
* Format a token amount based on its decimals
|
|
61
|
+
*
|
|
62
|
+
* @remarks
|
|
63
|
+
* Generic token formatter that handles any ERC20-style token with
|
|
64
|
+
* configurable decimal places. Most tokens use 18 decimals like ETH,
|
|
65
|
+
* but some use different values (e.g., USDC uses 6).
|
|
66
|
+
*
|
|
67
|
+
* @param amount Raw token amount
|
|
68
|
+
* @param decimals Token decimals (default: 18)
|
|
69
|
+
* @param displayDecimals Decimals to show in formatted output (default: 4)
|
|
70
|
+
* @returns Formatted token amount as string
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* // 18 decimal token (like ETH)
|
|
74
|
+
* formatToken(1000000000000000000n) // Returns: "1.0000"
|
|
75
|
+
* formatToken(1500000000000000000n, 18, 2) // Returns: "1.50"
|
|
76
|
+
*
|
|
77
|
+
* // 6 decimal token (like USDC)
|
|
78
|
+
* formatToken(1000000n, 6) // Returns: "1.0000"
|
|
79
|
+
* formatToken(1500000n, 6, 2) // Returns: "1.50"
|
|
80
|
+
*
|
|
81
|
+
* // Whole numbers
|
|
82
|
+
* formatToken(5000000000000000000n) // Returns: "5"
|
|
83
|
+
* formatToken(5123456789000000000n, 18, 6) // Returns: "5.123456"
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
declare function formatToken(amount: bigint | string | number, decimals?: number, displayDecimals?: number): string;
|
|
87
|
+
/**
|
|
88
|
+
* Format an address for display (showing first 6 and last 4 characters)
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* Creates a human-readable abbreviated version of Ethereum addresses
|
|
92
|
+
* for UI display. Preserves enough characters to maintain uniqueness
|
|
93
|
+
* while saving screen space. Does not validate address format.
|
|
94
|
+
*
|
|
95
|
+
* **Edge Cases:**
|
|
96
|
+
* - Addresses shorter than 10 characters are returned unchanged
|
|
97
|
+
* - Works with both checksummed and lowercase addresses
|
|
98
|
+
* - Does not validate address format
|
|
99
|
+
*
|
|
100
|
+
* @param address EVM address
|
|
101
|
+
* @returns Shortened address string
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* // Standard addresses
|
|
105
|
+
* shortenAddress("0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36")
|
|
106
|
+
* // Returns: "0x742d...Bd36"
|
|
107
|
+
*
|
|
108
|
+
* // Checksummed address
|
|
109
|
+
* shortenAddress("0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36")
|
|
110
|
+
* // Returns: "0x742d...Bd36"
|
|
111
|
+
*
|
|
112
|
+
* // Edge cases
|
|
113
|
+
* shortenAddress("0x123") // Returns: "0x123" (too short)
|
|
114
|
+
* shortenAddress("") // Returns: ""
|
|
115
|
+
* shortenAddress("not-an-address") // Returns: "not-an...ress"
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
declare function shortenAddress(address: string): string;
|
|
119
|
+
|
|
120
|
+
export { formatEth, formatNumber, formatToken, shortenAddress };
|