@opendatalabs/vana-sdk 0.1.0-alpha.7ee7635 → 0.1.0-alpha.80df35f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
- package/dist/browser.d.ts +4 -2
- package/dist/chains/definitions.cjs +9 -6
- package/dist/chains/definitions.cjs.map +1 -1
- package/dist/chains/definitions.d.ts +9 -11
- package/dist/chains/definitions.js +9 -6
- package/dist/chains/definitions.js.map +1 -1
- package/dist/chains/index.d.ts +5 -2
- package/dist/chains.browser.d.ts +8 -2
- package/dist/chains.d.ts +8 -2
- package/dist/chains.node.d.ts +8 -2
- package/dist/config/addresses.d.ts +8 -45
- package/dist/config/chains.d.ts +9 -13
- package/dist/config/default-services.cjs +60 -0
- package/dist/config/default-services.cjs.map +1 -0
- package/dist/config/default-services.d.ts +46 -0
- package/dist/config/default-services.js +33 -0
- package/dist/config/default-services.js.map +1 -0
- package/dist/config/default-services.test.d.ts +1 -0
- package/dist/config/features.d.ts +1 -3
- package/dist/config/tests/addresses.test.d.ts +1 -0
- package/dist/contracts/contractController.cjs +3 -3
- package/dist/contracts/contractController.cjs.map +1 -1
- package/dist/contracts/contractController.d.ts +11 -49
- package/dist/contracts/contractController.js +4 -7
- package/dist/contracts/contractController.js.map +1 -1
- package/dist/contracts/tests/contractController.test.d.ts +1 -0
- package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
- package/dist/controllers/base.cjs +83 -0
- package/dist/controllers/base.cjs.map +1 -0
- package/dist/controllers/base.d.ts +84 -0
- package/dist/controllers/base.js +59 -0
- package/dist/controllers/base.js.map +1 -0
- package/dist/controllers/data-error-handling.test.d.ts +1 -0
- package/dist/controllers/data.cjs +338 -107
- package/dist/controllers/data.cjs.map +1 -1
- package/dist/controllers/data.d.ts +145 -46
- package/dist/controllers/data.js +338 -107
- package/dist/controllers/data.js.map +1 -1
- package/dist/controllers/permissions.cjs +162 -223
- package/dist/controllers/permissions.cjs.map +1 -1
- package/dist/controllers/permissions.d.ts +24 -78
- package/dist/controllers/permissions.js +162 -223
- package/dist/controllers/permissions.js.map +1 -1
- package/dist/controllers/protocol.cjs +15 -11
- package/dist/controllers/protocol.cjs.map +1 -1
- package/dist/controllers/protocol.d.ts +7 -56
- package/dist/controllers/protocol.js +15 -14
- package/dist/controllers/protocol.js.map +1 -1
- package/dist/controllers/schemas.cjs +29 -36
- package/dist/controllers/schemas.cjs.map +1 -1
- package/dist/controllers/schemas.d.ts +8 -23
- package/dist/controllers/schemas.js +29 -36
- package/dist/controllers/schemas.js.map +1 -1
- package/dist/controllers/server-additional.test.d.ts +1 -0
- package/dist/controllers/server.cjs +15 -10
- package/dist/controllers/server.cjs.map +1 -1
- package/dist/controllers/server.d.ts +7 -20
- package/dist/controllers/server.js +15 -10
- package/dist/controllers/server.js.map +1 -1
- package/dist/core/apiClient.cjs +15 -12
- package/dist/core/apiClient.cjs.map +1 -1
- package/dist/core/apiClient.d.ts +5 -9
- package/dist/core/apiClient.js +19 -19
- package/dist/core/apiClient.js.map +1 -1
- package/dist/core/client.cjs +7 -7
- package/dist/core/client.cjs.map +1 -1
- package/dist/core/client.d.ts +6 -9
- package/dist/core/client.js +7 -7
- package/dist/core/client.js.map +1 -1
- package/dist/core/core.test.d.ts +1 -0
- package/dist/core/generics.cjs +11 -9
- package/dist/core/generics.cjs.map +1 -1
- package/dist/core/generics.d.ts +9 -13
- package/dist/core/generics.js +22 -29
- package/dist/core/generics.js.map +1 -1
- package/dist/core/tests/apiClient.test.d.ts +1 -0
- package/dist/core/tests/client.test.d.ts +1 -0
- package/dist/core/tests/generics.test.d.ts +1 -0
- package/dist/core.cjs +82 -34
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +21 -73
- package/dist/core.js +105 -60
- package/dist/core.js.map +1 -1
- package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
- package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
- package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
- package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
- package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
- package/dist/crypto/ecies/__tests__/test-vectors.d.ts +2 -4
- package/dist/crypto/ecies/base.cjs +4 -3
- package/dist/crypto/ecies/base.cjs.map +1 -1
- package/dist/crypto/ecies/base.d.ts +2 -5
- package/dist/crypto/ecies/base.js +12 -15
- package/dist/crypto/ecies/base.js.map +1 -1
- package/dist/crypto/ecies/browser.cjs +2 -1
- package/dist/crypto/ecies/browser.cjs.map +1 -1
- package/dist/crypto/ecies/browser.d.ts +2 -7
- package/dist/crypto/ecies/browser.js +2 -1
- package/dist/crypto/ecies/browser.js.map +1 -1
- package/dist/crypto/ecies/constants.d.ts +7 -9
- package/dist/crypto/ecies/index.d.ts +8 -1
- package/dist/crypto/ecies/interface.cjs +4 -5
- package/dist/crypto/ecies/interface.cjs.map +1 -1
- package/dist/crypto/ecies/interface.d.ts +9 -11
- package/dist/crypto/ecies/interface.js +4 -5
- package/dist/crypto/ecies/interface.js.map +1 -1
- package/dist/crypto/ecies/node.cjs +3 -2
- package/dist/crypto/ecies/node.cjs.map +1 -1
- package/dist/crypto/ecies/node.d.ts +2 -7
- package/dist/crypto/ecies/node.js +11 -16
- package/dist/crypto/ecies/node.js.map +1 -1
- package/dist/crypto/ecies/utils.cjs +2 -41
- package/dist/crypto/ecies/utils.cjs.map +1 -1
- package/dist/crypto/ecies/utils.d.ts +3 -40
- package/dist/crypto/ecies/utils.js +1 -35
- package/dist/crypto/ecies/utils.js.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.cjs +2 -2
- package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.d.ts +3 -7
- package/dist/crypto/services/WalletKeyEncryptionService.js +5 -9
- package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -1
- package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
- package/dist/diagnostics.d.ts +1 -3
- package/dist/diagnostics.test.d.ts +1 -0
- package/dist/errors.cjs +16 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +53 -15
- package/dist/errors.js +18 -6
- package/dist/errors.js.map +1 -1
- package/dist/generated/abi/ComputeEngineImplementation.d.ts +2 -3
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DATFactoryImplementation.d.ts +2 -3
- package/dist/generated/abi/DATImplementation.d.ts +2 -3
- package/dist/generated/abi/DATPausableImplementation.d.ts +2 -3
- package/dist/generated/abi/DATVotesImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +2 -3
- package/dist/generated/abi/DLPRootImplementation.d.ts +1 -3
- package/dist/generated/abi/DLPTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +1 -3
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +2 -3
- package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/DataRegistryImplementation.d.ts +2 -3
- package/dist/generated/abi/QueryEngineImplementation.d.ts +2 -3
- package/dist/generated/abi/SwapHelperImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +2 -3
- package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaEpochImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +2 -3
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +2 -3
- package/dist/generated/abi/index.d.ts +37 -39
- package/dist/generated/event-types.d.ts +9 -10
- package/dist/generated/eventRegistry.d.ts +3 -7
- package/dist/generated/server/server-exports.d.ts +19 -21
- package/dist/generated/server/server.cjs.map +1 -1
- package/dist/generated/server/server.d.ts +113 -87
- package/dist/generated/subgraph.d.ts +329 -332
- package/dist/index.browser.d.ts +47 -96
- package/dist/index.browser.js +12 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +9 -0
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +181 -87
- package/dist/index.node.js +10 -0
- package/dist/index.node.js.map +1 -1
- package/dist/node.d.ts +4 -2
- package/dist/platform/browser-only.d.ts +5 -8
- package/dist/platform/browser-only.test.d.ts +1 -0
- package/dist/platform/browser-safe.d.ts +6 -9
- package/dist/platform/browser-safe.test.d.ts +1 -0
- package/dist/platform/browser.cjs +7 -6
- package/dist/platform/browser.cjs.map +1 -1
- package/dist/platform/browser.d.ts +3 -6
- package/dist/platform/browser.js +19 -27
- package/dist/platform/browser.js.map +1 -1
- package/dist/platform/browser.test.d.ts +1 -0
- package/dist/platform/index.d.ts +11 -5
- package/dist/platform/interface.d.ts +6 -8
- package/dist/platform/node.d.ts +3 -7
- package/dist/platform/node.js +12 -19
- package/dist/platform/node.js.map +1 -1
- package/dist/platform/ports/openpgp-port.cjs +74 -0
- package/dist/platform/ports/openpgp-port.cjs.map +1 -0
- package/dist/platform/ports/openpgp-port.d.ts +13 -0
- package/dist/platform/ports/openpgp-port.js +59 -0
- package/dist/platform/ports/openpgp-port.js.map +1 -0
- package/dist/platform/ports/pgp-port.cjs +17 -0
- package/dist/platform/ports/pgp-port.cjs.map +1 -0
- package/dist/platform/ports/pgp-port.d.ts +35 -0
- package/dist/platform/ports/pgp-port.js +1 -0
- package/dist/platform/ports/pgp-port.js.map +1 -0
- package/dist/platform/shared/error-utils.d.ts +2 -4
- package/dist/platform/shared/pgp-utils.cjs +2 -2
- package/dist/platform/shared/pgp-utils.cjs.map +1 -1
- package/dist/platform/shared/pgp-utils.d.ts +3 -5
- package/dist/platform/shared/pgp-utils.js +2 -2
- package/dist/platform/shared/pgp-utils.js.map +1 -1
- package/dist/platform/shared/stream-utils.d.ts +1 -3
- package/dist/platform/utils.d.ts +6 -10
- package/dist/platform/utils.test.d.ts +1 -0
- package/dist/platform.browser.d.ts +9 -4
- package/dist/platform.d.ts +11 -5
- package/dist/platform.node.d.ts +10 -5
- package/dist/server/handler.cjs.map +1 -1
- package/dist/server/handler.d.ts +8 -227
- package/dist/server/handler.js.map +1 -1
- package/dist/storage/index.d.ts +56 -10
- package/dist/storage/manager.cjs +2 -2
- package/dist/storage/manager.cjs.map +1 -1
- package/dist/storage/manager.d.ts +2 -5
- package/dist/storage/manager.js +5 -12
- package/dist/storage/manager.js.map +1 -1
- package/dist/storage/providers/callback-storage.cjs +3 -3
- package/dist/storage/providers/callback-storage.cjs.map +1 -1
- package/dist/storage/providers/callback-storage.d.ts +3 -9
- package/dist/storage/providers/callback-storage.js +3 -3
- package/dist/storage/providers/callback-storage.js.map +1 -1
- package/dist/storage/providers/google-drive.cjs +2 -2
- package/dist/storage/providers/google-drive.cjs.map +1 -1
- package/dist/storage/providers/google-drive.d.ts +3 -7
- package/dist/storage/providers/google-drive.js +4 -7
- package/dist/storage/providers/google-drive.js.map +1 -1
- package/dist/storage/providers/google-drive.test.d.ts +1 -0
- package/dist/storage/providers/ipfs.cjs +5 -5
- package/dist/storage/providers/ipfs.cjs.map +1 -1
- package/dist/storage/providers/ipfs.d.ts +3 -6
- package/dist/storage/providers/ipfs.js +7 -10
- package/dist/storage/providers/ipfs.js.map +1 -1
- package/dist/storage/providers/pinata.cjs +6 -6
- package/dist/storage/providers/pinata.cjs.map +1 -1
- package/dist/storage/providers/pinata.d.ts +5 -8
- package/dist/storage/providers/pinata.js +8 -11
- package/dist/storage/providers/pinata.js.map +1 -1
- package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
- package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
- package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
- package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
- package/dist/storage/tests/storageManager.test.d.ts +1 -0
- package/dist/tests/abi.test.d.ts +1 -0
- package/dist/tests/chains-definitions.test.d.ts +1 -0
- package/dist/tests/core-encryption.test.d.ts +1 -0
- package/dist/tests/core-extended.test.d.ts +1 -0
- package/dist/tests/core-generics-coverage.test.d.ts +1 -0
- package/dist/tests/coverage-boost.test.d.ts +1 -0
- package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
- package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
- package/dist/tests/data-additional-methods.test.d.ts +1 -0
- package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
- package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
- package/dist/tests/data-relayer.test.d.ts +1 -0
- package/dist/tests/data-schema-validation.test.d.ts +1 -0
- package/dist/tests/data-simple-methods.test.d.ts +1 -0
- package/dist/tests/data.test.d.ts +1 -0
- package/dist/tests/demo-integration.test.d.ts +1 -0
- package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
- package/dist/tests/download-relayer.test.d.ts +1 -0
- package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
- package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
- package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
- package/dist/tests/encryption-coverage.test.d.ts +1 -0
- package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
- package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
- package/dist/tests/errors-coverage.test.d.ts +1 -0
- package/dist/tests/errors.test.d.ts +1 -0
- package/dist/tests/factories/mockFactory.d.ts +316 -0
- package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
- package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
- package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
- package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
- package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
- package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
- package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
- package/dist/tests/helper-methods.test.d.ts +1 -0
- package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
- package/dist/tests/helpers/typedMocks.d.ts +64 -0
- package/dist/tests/index-browser.test.d.ts +1 -0
- package/dist/tests/index-node.test.d.ts +1 -0
- package/dist/tests/index.test.d.ts +1 -0
- package/dist/tests/mocks/platformAdapter.d.ts +12 -0
- package/dist/tests/new-permissions-methods.test.d.ts +1 -0
- package/dist/tests/no-buffer-browser.test.d.ts +1 -0
- package/dist/tests/permissions-grantee.test.d.ts +1 -0
- package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
- package/dist/tests/permissions-server-files.test.d.ts +1 -0
- package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
- package/dist/tests/permissions.test.d.ts +1 -0
- package/dist/tests/personal.test.d.ts +1 -0
- package/dist/tests/platform-browser.test.d.ts +1 -0
- package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
- package/dist/tests/platform-crypto.test.d.ts +1 -0
- package/dist/tests/platform-index.test.d.ts +1 -0
- package/dist/tests/platform-node.test.d.ts +1 -0
- package/dist/tests/platform-shared-utils.test.d.ts +1 -0
- package/dist/tests/platform-updated.test.d.ts +1 -0
- package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
- package/dist/tests/protocol.test.d.ts +1 -0
- package/dist/tests/read-only-mode.test.d.ts +1 -0
- package/dist/tests/schemas.test.d.ts +1 -0
- package/dist/tests/server-handler.test.d.ts +1 -0
- package/dist/tests/setup.d.ts +7 -0
- package/dist/tests/signatureFormatter.test.d.ts +1 -0
- package/dist/tests/trusted-server-queries.test.d.ts +1 -0
- package/dist/tests/typedDataConverter.test.d.ts +1 -0
- package/dist/tests/types-contracts.test.d.ts +1 -0
- package/dist/tests/types-data.test.d.ts +1 -0
- package/dist/tests/types-external-apis.test.d.ts +1 -0
- package/dist/tests/types-generics.test.d.ts +1 -0
- package/dist/tests/types-permissions.test.d.ts +1 -0
- package/dist/tests/types-upload-params.test.d.ts +1 -0
- package/dist/tests/types.test.d.ts +1 -0
- package/dist/tests/utils-formatters.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
- package/dist/tests/utils-grantFiles.test.d.ts +1 -0
- package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
- package/dist/tests/utils-grants.test.d.ts +1 -0
- package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
- package/dist/tests/utils-ipfs.test.d.ts +4 -0
- package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
- package/dist/tests/vana.test.d.ts +1 -0
- package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
- package/dist/types/blockchain.cjs.map +1 -1
- package/dist/types/blockchain.d.ts +13 -8
- package/dist/types/chains-additional.test.d.ts +1 -0
- package/dist/types/chains.d.ts +6 -9
- package/dist/types/config.cjs +10 -0
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.ts +161 -54
- package/dist/types/config.js +8 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/contracts.cjs.map +1 -1
- package/dist/types/contracts.d.ts +8 -11
- package/dist/types/controller-context.cjs.map +1 -1
- package/dist/types/controller-context.d.ts +13 -20
- package/dist/types/data.cjs.map +1 -1
- package/dist/types/data.d.ts +107 -39
- package/dist/types/external-apis.d.ts +10 -12
- package/dist/types/generics.d.ts +35 -38
- package/dist/types/index.cjs +5 -4
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +20 -22
- package/dist/types/index.js +9 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/operations.cjs +2 -2
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.ts +13 -17
- package/dist/types/operations.js +2 -2
- package/dist/types/operations.js.map +1 -1
- package/dist/types/permissions.d.ts +55 -58
- package/dist/types/personal.cjs.map +1 -1
- package/dist/types/personal.d.ts +6 -8
- package/dist/types/relayer.d.ts +15 -18
- package/dist/types/storage.d.ts +6 -8
- package/dist/types/storage.js +2 -5
- package/dist/types/storage.js.map +1 -1
- package/dist/types/transactionResults.d.ts +16 -18
- package/dist/types/utils.d.ts +21 -24
- package/dist/types.d.ts +4 -28
- package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
- package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
- package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
- package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
- package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
- package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
- package/dist/utils/blockchain/registry.cjs +2 -2
- package/dist/utils/blockchain/registry.cjs.map +1 -1
- package/dist/utils/blockchain/registry.d.ts +6 -8
- package/dist/utils/blockchain/registry.js +2 -2
- package/dist/utils/blockchain/registry.js.map +1 -1
- package/dist/utils/blockchain/registry.test.d.ts +1 -0
- package/dist/utils/crypto-utils.cjs +0 -12
- package/dist/utils/crypto-utils.cjs.map +1 -1
- package/dist/utils/crypto-utils.d.ts +9 -27
- package/dist/utils/crypto-utils.js +0 -11
- package/dist/utils/crypto-utils.js.map +1 -1
- package/dist/utils/crypto-utils.test.d.ts +1 -0
- package/dist/utils/download.cjs +3 -3
- package/dist/utils/download.cjs.map +1 -1
- package/dist/utils/download.d.ts +13 -14
- package/dist/utils/download.js +2 -2
- package/dist/utils/download.js.map +1 -1
- package/dist/utils/encoding.cjs +1 -1
- package/dist/utils/encoding.cjs.map +1 -1
- package/dist/utils/encoding.d.ts +4 -6
- package/dist/utils/encoding.js +1 -1
- package/dist/utils/encoding.js.map +1 -1
- package/dist/utils/encoding.test.d.ts +1 -0
- package/dist/utils/encryption.cjs +16 -10
- package/dist/utils/encryption.cjs.map +1 -1
- package/dist/utils/encryption.d.ts +13 -17
- package/dist/utils/encryption.js +16 -10
- package/dist/utils/encryption.js.map +1 -1
- package/dist/utils/formatters.cjs +4 -2
- package/dist/utils/formatters.cjs.map +1 -1
- package/dist/utils/formatters.d.ts +4 -6
- package/dist/utils/formatters.js +4 -2
- package/dist/utils/formatters.js.map +1 -1
- package/dist/utils/grantFiles.cjs +7 -4
- package/dist/utils/grantFiles.cjs.map +1 -1
- package/dist/utils/grantFiles.d.ts +6 -10
- package/dist/utils/grantFiles.js +7 -4
- package/dist/utils/grantFiles.js.map +1 -1
- package/dist/utils/grantValidation.cjs +1 -1
- package/dist/utils/grantValidation.cjs.map +1 -1
- package/dist/utils/grantValidation.d.ts +14 -17
- package/dist/utils/grantValidation.js +1 -1
- package/dist/utils/grantValidation.js.map +1 -1
- package/dist/utils/grants.cjs +1 -1
- package/dist/utils/grants.cjs.map +1 -1
- package/dist/utils/grants.d.ts +10 -13
- package/dist/utils/grants.js +1 -1
- package/dist/utils/grants.js.map +1 -1
- package/dist/utils/ipfs.d.ts +8 -10
- package/dist/utils/lazy-import.cjs +4 -6
- package/dist/utils/lazy-import.cjs.map +1 -1
- package/dist/utils/lazy-import.d.ts +1 -3
- package/dist/utils/lazy-import.js +4 -6
- package/dist/utils/lazy-import.js.map +1 -1
- package/dist/utils/multicall.cjs +4 -2
- package/dist/utils/multicall.cjs.map +1 -1
- package/dist/utils/multicall.d.ts +5 -8
- package/dist/utils/multicall.js +4 -2
- package/dist/utils/multicall.js.map +1 -1
- package/dist/utils/parseTransactionPojo.cjs.map +1 -1
- package/dist/utils/parseTransactionPojo.d.ts +4 -10
- package/dist/utils/parseTransactionPojo.js.map +1 -1
- package/dist/utils/schemaValidation.cjs +5 -5
- package/dist/utils/schemaValidation.cjs.map +1 -1
- package/dist/utils/schemaValidation.d.ts +8 -12
- package/dist/utils/schemaValidation.js +7 -10
- package/dist/utils/schemaValidation.js.map +1 -1
- package/dist/utils/signatureCache.cjs +1 -2
- package/dist/utils/signatureCache.cjs.map +1 -1
- package/dist/utils/signatureCache.d.ts +4 -7
- package/dist/utils/signatureCache.js +4 -8
- package/dist/utils/signatureCache.js.map +1 -1
- package/dist/utils/signatureFormatter.cjs +6 -9
- package/dist/utils/signatureFormatter.cjs.map +1 -1
- package/dist/utils/signatureFormatter.d.ts +2 -5
- package/dist/utils/signatureFormatter.js +6 -9
- package/dist/utils/signatureFormatter.js.map +1 -1
- package/dist/utils/tests/multicall.test.d.ts +1 -0
- package/dist/utils/transactionHelpers.cjs.map +1 -1
- package/dist/utils/transactionHelpers.d.ts +5 -11
- package/dist/utils/transactionHelpers.js.map +1 -1
- package/dist/utils/typeGuards.cjs +109 -0
- package/dist/utils/typeGuards.cjs.map +1 -0
- package/dist/utils/typeGuards.d.ts +138 -0
- package/dist/utils/typeGuards.js +74 -0
- package/dist/utils/typeGuards.js.map +1 -0
- package/dist/utils/typedDataConverter.d.ts +3 -6
- package/dist/utils/urlResolver.cjs +1 -1
- package/dist/utils/urlResolver.cjs.map +1 -1
- package/dist/utils/urlResolver.d.ts +2 -4
- package/dist/utils/urlResolver.js +2 -2
- package/dist/utils/urlResolver.js.map +1 -1
- package/dist/utils/wallet.cjs +62 -0
- package/dist/utils/wallet.cjs.map +1 -0
- package/dist/utils/wallet.d.ts +32 -0
- package/dist/utils/wallet.js +36 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/withEvents.cjs.map +1 -1
- package/dist/utils/withEvents.d.ts +5 -12
- package/dist/utils/withEvents.js.map +1 -1
- package/package.json +22 -16
- package/dist/browser.d.cts +0 -2
- package/dist/chains/definitions.d.cts +0 -53
- package/dist/chains/index.d.cts +0 -2
- package/dist/chains.browser.cjs +0 -37
- package/dist/chains.browser.cjs.map +0 -1
- package/dist/chains.browser.d.cts +0 -2
- package/dist/chains.d.cts +0 -2
- package/dist/chains.node.d.cts +0 -2
- package/dist/config/addresses.d.cts +0 -401
- package/dist/config/chains.d.cts +0 -85
- package/dist/config/features.d.cts +0 -64
- package/dist/contracts/contractController.d.cts +0 -117
- package/dist/controllers/data.d.cts +0 -915
- package/dist/controllers/permissions.d.cts +0 -1383
- package/dist/controllers/protocol.d.cts +0 -188
- package/dist/controllers/schemas.d.cts +0 -260
- package/dist/controllers/server.d.cts +0 -230
- package/dist/core/apiClient.d.cts +0 -165
- package/dist/core/client.d.cts +0 -92
- package/dist/core/generics.d.cts +0 -120
- package/dist/core.d.cts +0 -493
- package/dist/crypto/ecies/__tests__/test-vectors.d.cts +0 -40
- package/dist/crypto/ecies/base.d.cts +0 -143
- package/dist/crypto/ecies/browser.d.cts +0 -48
- package/dist/crypto/ecies/constants.d.cts +0 -122
- package/dist/crypto/ecies/index.d.cts +0 -1
- package/dist/crypto/ecies/interface.d.cts +0 -176
- package/dist/crypto/ecies/node.d.cts +0 -50
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.cts +0 -76
- package/dist/crypto/ecies/test-vectors/eccrypto-vectors.d.ts +0 -76
- package/dist/crypto/ecies/utils.d.cts +0 -67
- package/dist/crypto/services/WalletKeyEncryptionService.d.cts +0 -92
- package/dist/diagnostics.d.cts +0 -26
- package/dist/errors.d.cts +0 -350
- package/dist/generated/abi/ComputeEngineImplementation.d.cts +0 -996
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.cts +0 -545
- package/dist/generated/abi/DATFactoryImplementation.d.cts +0 -661
- package/dist/generated/abi/DATImplementation.d.cts +0 -693
- package/dist/generated/abi/DATPausableImplementation.d.cts +0 -1145
- package/dist/generated/abi/DATVotesImplementation.d.cts +0 -1095
- package/dist/generated/abi/DLPPerformanceImplementation.d.cts +0 -883
- package/dist/generated/abi/DLPRegistryImplementation.d.cts +0 -1123
- package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.cts +0 -714
- package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DLPRewardSwapImplementation.d.cts +0 -706
- package/dist/generated/abi/DLPRootImplementation.d.cts +0 -1248
- package/dist/generated/abi/DLPTreasuryImplementation.d.cts +0 -452
- package/dist/generated/abi/DataLiquidityPoolImplementation.d.cts +0 -737
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.cts +0 -661
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.cts +0 -989
- package/dist/generated/abi/DataPortabilityServersImplementation.d.cts +0 -1086
- package/dist/generated/abi/DataRefinerRegistryImplementation.d.cts +0 -737
- package/dist/generated/abi/DataRegistryImplementation.d.cts +0 -1014
- package/dist/generated/abi/QueryEngineImplementation.d.cts +0 -1001
- package/dist/generated/abi/SwapHelperImplementation.d.cts +0 -764
- package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolImplementation.d.cts +0 -993
- package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.cts +0 -701
- package/dist/generated/abi/TeePoolPhalaImplementation.d.cts +0 -993
- package/dist/generated/abi/VanaEpochImplementation.d.cts +0 -900
- package/dist/generated/abi/VanaPoolEntityImplementation.d.cts +0 -934
- package/dist/generated/abi/VanaPoolStakingImplementation.d.cts +0 -693
- package/dist/generated/abi/VanaPoolTreasuryImplementation.d.cts +0 -394
- package/dist/generated/abi/index.d.cts +0 -26547
- package/dist/generated/event-types.d.cts +0 -855
- package/dist/generated/eventRegistry.d.cts +0 -18
- package/dist/generated/server/server-exports.d.cts +0 -21
- package/dist/generated/server/server.d.cts +0 -512
- package/dist/generated/subgraph.d.cts +0 -5981
- package/dist/index.browser.cjs +0 -151
- package/dist/index.browser.cjs.map +0 -1
- package/dist/index.browser.d.cts +0 -201
- package/dist/index.d.cts +0 -2
- package/dist/index.node.d.cts +0 -87
- package/dist/node.d.cts +0 -2
- package/dist/platform/browser-only.d.cts +0 -25
- package/dist/platform/browser-safe.d.cts +0 -32
- package/dist/platform/browser.d.cts +0 -74
- package/dist/platform/index.d.cts +0 -5
- package/dist/platform/interface.d.cts +0 -218
- package/dist/platform/node.d.cts +0 -27
- package/dist/platform/shared/error-utils.d.cts +0 -25
- package/dist/platform/shared/pgp-utils.d.cts +0 -61
- package/dist/platform/shared/stream-utils.d.cts +0 -16
- package/dist/platform/utils.d.cts +0 -53
- package/dist/platform.browser.cjs +0 -41
- package/dist/platform.browser.cjs.map +0 -1
- package/dist/platform.browser.d.cts +0 -4
- package/dist/platform.d.cts +0 -5
- package/dist/platform.node.d.cts +0 -5
- package/dist/schemas/dataSchema.schema.d.cts +0 -88
- package/dist/schemas/dataSchema.schema.d.ts +0 -88
- package/dist/schemas/grantFile.schema.d.cts +0 -57
- package/dist/schemas/grantFile.schema.d.ts +0 -57
- package/dist/server/handler.d.cts +0 -306
- package/dist/storage/index.d.cts +0 -10
- package/dist/storage/manager.d.cts +0 -150
- package/dist/storage/providers/callback-storage.d.cts +0 -100
- package/dist/storage/providers/google-drive.d.cts +0 -156
- package/dist/storage/providers/ipfs.d.cts +0 -163
- package/dist/storage/providers/pinata.d.cts +0 -173
- package/dist/types/blockchain.d.cts +0 -52
- package/dist/types/chains.d.cts +0 -34
- package/dist/types/config.d.cts +0 -726
- package/dist/types/contracts.d.cts +0 -68
- package/dist/types/controller-context.d.cts +0 -71
- package/dist/types/data.d.cts +0 -694
- package/dist/types/eccrypto-js.d.d.cts +0 -13
- package/dist/types/eccrypto-js.d.d.ts +0 -13
- package/dist/types/external-apis.d.cts +0 -186
- package/dist/types/generics.d.cts +0 -450
- package/dist/types/index.d.cts +0 -22
- package/dist/types/operations.d.cts +0 -116
- package/dist/types/permissions.d.cts +0 -957
- package/dist/types/personal.d.cts +0 -40
- package/dist/types/relayer.d.cts +0 -284
- package/dist/types/storage.d.cts +0 -131
- package/dist/types/transactionResults.d.cts +0 -195
- package/dist/types/utils.d.cts +0 -819
- package/dist/types.d.cts +0 -54
- package/dist/utils/blockchain/registry.d.cts +0 -34
- package/dist/utils/crypto-utils.d.cts +0 -118
- package/dist/utils/download.d.cts +0 -41
- package/dist/utils/encoding.d.cts +0 -54
- package/dist/utils/encryption.d.cts +0 -275
- package/dist/utils/formatters.d.cts +0 -120
- package/dist/utils/grantFiles.d.cts +0 -186
- package/dist/utils/grantValidation.d.cts +0 -150
- package/dist/utils/grants.d.cts +0 -70
- package/dist/utils/ipfs.d.cts +0 -90
- package/dist/utils/lazy-import.d.cts +0 -20
- package/dist/utils/multicall.d.cts +0 -129
- package/dist/utils/parseTransactionPojo.d.cts +0 -37
- package/dist/utils/schemaValidation.d.cts +0 -172
- package/dist/utils/signatureCache.d.cts +0 -134
- package/dist/utils/signatureFormatter.d.cts +0 -39
- package/dist/utils/transactionHelpers.d.cts +0 -86
- package/dist/utils/typedDataConverter.d.cts +0 -13
- package/dist/utils/urlResolver.d.cts +0 -40
- package/dist/utils/withEvents.d.cts +0 -63
|
@@ -1,120 +0,0 @@
|
|
|
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 };
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { GrantPermissionParams, GrantFile } from '../types/permissions.cjs';
|
|
2
|
-
import 'viem';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Creates a grant file structure from permission parameters.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* This function constructs the JSON structure that represents a permission grant
|
|
9
|
-
* in the Vana protocol. The grant file contains all necessary information for
|
|
10
|
-
* a grantee to perform operations on behalf of the grantor.
|
|
11
|
-
*
|
|
12
|
-
* @param params - The permission parameters to create the grant file from
|
|
13
|
-
* @returns The constructed grant file object
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const grantFile = createGrantFile({
|
|
17
|
-
* grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36',
|
|
18
|
-
* operation: 'llm_inference',
|
|
19
|
-
* parameters: {
|
|
20
|
-
* model: 'gpt-4',
|
|
21
|
-
* maxTokens: 1000
|
|
22
|
-
* },
|
|
23
|
-
* expiresAt: Date.now() + 86400000 // 24 hours
|
|
24
|
-
* });
|
|
25
|
-
*
|
|
26
|
-
* console.log(grantFile);
|
|
27
|
-
* // {
|
|
28
|
-
* // grantee: '0x742d...',
|
|
29
|
-
* // operation: 'llm_inference',
|
|
30
|
-
* // parameters: { model: 'gpt-4', maxTokens: 1000 },
|
|
31
|
-
* // expires: 1234567890
|
|
32
|
-
* // }
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
declare function createGrantFile(params: GrantPermissionParams): GrantFile;
|
|
36
|
-
/**
|
|
37
|
-
* Stores a grant file in IPFS via the relayer service.
|
|
38
|
-
*
|
|
39
|
-
* @remarks
|
|
40
|
-
* This function uploads the grant file to IPFS through the relayer's upload endpoint.
|
|
41
|
-
* The returned URL can be stored on-chain as part of the permission grant, allowing
|
|
42
|
-
* anyone to retrieve the detailed permission parameters later.
|
|
43
|
-
*
|
|
44
|
-
* @param grantFile - The grant file to store
|
|
45
|
-
* @param relayerUrl - URL of the relayer service
|
|
46
|
-
* @returns Promise resolving to the IPFS URL
|
|
47
|
-
* @throws {NetworkError} When the upload fails or relayer is unavailable
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* const grantFile = createGrantFile(params);
|
|
51
|
-
*
|
|
52
|
-
* try {
|
|
53
|
-
* const ipfsUrl = await storeGrantFile(grantFile, 'https://relayer.vana.com');
|
|
54
|
-
* console.log(`Grant file stored at: ${ipfsUrl}`);
|
|
55
|
-
* // ipfsUrl: "ipfs://QmHash123..."
|
|
56
|
-
* } catch (error) {
|
|
57
|
-
* console.error('Failed to store grant file:', error);
|
|
58
|
-
* }
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
declare function storeGrantFile(grantFile: GrantFile, relayerUrl: string): Promise<string>;
|
|
62
|
-
/**
|
|
63
|
-
* Retrieves detailed grant file data from IPFS or HTTP storage.
|
|
64
|
-
*
|
|
65
|
-
* @remarks
|
|
66
|
-
* **This is Step 2 of the performant two-step permission API.**
|
|
67
|
-
*
|
|
68
|
-
* Use this method to resolve detailed permission data (operation, parameters, etc.)
|
|
69
|
-
* for specific grants after first getting the fast on-chain data using
|
|
70
|
-
* `getUserPermissionGrantsOnChain()`. This design eliminates N+1 query problems
|
|
71
|
-
* by allowing selective lazy-loading of expensive off-chain data.
|
|
72
|
-
*
|
|
73
|
-
* **Performance**: Single network request per grant file (typically 100-500ms).
|
|
74
|
-
* **Reliability**: Tries multiple IPFS gateways as fallbacks if primary URL fails.
|
|
75
|
-
*
|
|
76
|
-
* @param grantUrl - The grant file URL from OnChainPermissionGrant.grantUrl
|
|
77
|
-
* @param _relayerUrl - URL of the relayer service (optional, unused)
|
|
78
|
-
* @param downloadRelayer - Optional download relayer for proxying CORS-restricted downloads
|
|
79
|
-
* @param downloadRelayer.proxyDownload - Function to proxy download requests through application server
|
|
80
|
-
* @returns Promise resolving to the complete grant file with operation details
|
|
81
|
-
* @throws {NetworkError} When all retrieval attempts fail
|
|
82
|
-
* @throws {SerializationError} When grant file format is invalid
|
|
83
|
-
* @example
|
|
84
|
-
* ```typescript
|
|
85
|
-
* // Step 1: Fast on-chain data (no N+1 queries)
|
|
86
|
-
* const grants = await vana.permissions.getUserPermissionGrantsOnChain();
|
|
87
|
-
*
|
|
88
|
-
* // Step 2: Lazy-load details for specific grant when needed
|
|
89
|
-
* const grantFile = await retrieveGrantFile(grants[0].grantUrl);
|
|
90
|
-
*
|
|
91
|
-
* console.log(`Operation: ${grantFile.operation}`);
|
|
92
|
-
* console.log(`Grantee: ${grantFile.grantee}`);
|
|
93
|
-
* console.log(`Parameters:`, grantFile.parameters);
|
|
94
|
-
*
|
|
95
|
-
* // Only fetch details for grants user actually wants to see
|
|
96
|
-
* for (const grant of selectedGrants) {
|
|
97
|
-
* const details = await retrieveGrantFile(grant.grantUrl);
|
|
98
|
-
* displayGrantDetails(details);
|
|
99
|
-
* }
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
declare function retrieveGrantFile(grantUrl: string, _relayerUrl?: string, downloadRelayer?: {
|
|
103
|
-
proxyDownload: (url: string) => Promise<Blob>;
|
|
104
|
-
}): Promise<GrantFile>;
|
|
105
|
-
/**
|
|
106
|
-
* Generates a content hash for a grant file.
|
|
107
|
-
* This can be used for integrity verification.
|
|
108
|
-
*
|
|
109
|
-
* @remarks
|
|
110
|
-
* Creates a deterministic keccak256 hash of the grant file by first sorting
|
|
111
|
-
* all object keys recursively to ensure consistent hashing regardless of
|
|
112
|
-
* property order. This hash can be used to verify grant file integrity
|
|
113
|
-
* or as a unique identifier.
|
|
114
|
-
*
|
|
115
|
-
* @param grantFile - The grant file to generate a hash for
|
|
116
|
-
* @returns The keccak256 hash of the grant file as a hex string
|
|
117
|
-
* @throws {SerializationError} When the grant file cannot be serialized
|
|
118
|
-
* @example
|
|
119
|
-
* ```typescript
|
|
120
|
-
* const grantFile = {
|
|
121
|
-
* grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36',
|
|
122
|
-
* operation: 'read',
|
|
123
|
-
* parameters: { version: '1.0', mode: 'full' }
|
|
124
|
-
* };
|
|
125
|
-
*
|
|
126
|
-
* const hash = getGrantFileHash(grantFile);
|
|
127
|
-
* console.log(`Grant file hash: ${hash}`);
|
|
128
|
-
* // "0x1234567890abcdef..."
|
|
129
|
-
*
|
|
130
|
-
* // Same grant file with different property order produces same hash
|
|
131
|
-
* const grantFile2 = {
|
|
132
|
-
* operation: 'read',
|
|
133
|
-
* parameters: { mode: 'full', version: '1.0' },
|
|
134
|
-
* grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36'
|
|
135
|
-
* };
|
|
136
|
-
*
|
|
137
|
-
* const hash2 = getGrantFileHash(grantFile2);
|
|
138
|
-
* console.log(hash === hash2); // true
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
|
-
declare function getGrantFileHash(grantFile: GrantFile): string;
|
|
142
|
-
/**
|
|
143
|
-
* Validates that a grant file has the required structure.
|
|
144
|
-
*
|
|
145
|
-
* @remarks
|
|
146
|
-
* Performs runtime validation to ensure data conforms to the GrantFile interface.
|
|
147
|
-
* Checks for required fields (grantee, operation, parameters) and validates their
|
|
148
|
-
* types and formats. This is a type guard function that enables TypeScript to
|
|
149
|
-
* narrow the type when it returns true.
|
|
150
|
-
*
|
|
151
|
-
* @param data - The data to validate as a grant file
|
|
152
|
-
* @returns True if the data is a valid grant file, false otherwise
|
|
153
|
-
* @example
|
|
154
|
-
* ```typescript
|
|
155
|
-
* const unknownData = await fetch(url).then(r => r.json());
|
|
156
|
-
*
|
|
157
|
-
* if (validateGrantFile(unknownData)) {
|
|
158
|
-
* // TypeScript now knows unknownData is a GrantFile
|
|
159
|
-
* console.log(`Grant for operation: ${unknownData.operation}`);
|
|
160
|
-
* console.log(`Grantee: ${unknownData.grantee}`);
|
|
161
|
-
* } else {
|
|
162
|
-
* throw new Error('Invalid grant file format');
|
|
163
|
-
* }
|
|
164
|
-
*
|
|
165
|
-
* // Validation examples:
|
|
166
|
-
* validateGrantFile({
|
|
167
|
-
* grantee: '0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36',
|
|
168
|
-
* operation: 'read',
|
|
169
|
-
* parameters: {}
|
|
170
|
-
* }); // true
|
|
171
|
-
*
|
|
172
|
-
* validateGrantFile({
|
|
173
|
-
* grantee: 'invalid-address',
|
|
174
|
-
* operation: 'read',
|
|
175
|
-
* parameters: {}
|
|
176
|
-
* }); // false (invalid address format)
|
|
177
|
-
*
|
|
178
|
-
* validateGrantFile({
|
|
179
|
-
* operation: 'read',
|
|
180
|
-
* parameters: {}
|
|
181
|
-
* }); // false (missing grantee)
|
|
182
|
-
* ```
|
|
183
|
-
*/
|
|
184
|
-
declare function validateGrantFile(data: unknown): data is GrantFile;
|
|
185
|
-
|
|
186
|
-
export { createGrantFile, getGrantFileHash, retrieveGrantFile, storeGrantFile, validateGrantFile };
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Address } from 'viem';
|
|
2
|
-
import { GrantFile } from '../types/permissions.cjs';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Base error class for grant validation failures
|
|
6
|
-
*
|
|
7
|
-
* @category Permissions
|
|
8
|
-
*/
|
|
9
|
-
declare class GrantValidationError extends Error {
|
|
10
|
-
details?: Record<string, unknown> | undefined;
|
|
11
|
-
constructor(message: string, details?: Record<string, unknown> | undefined);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Error thrown when a grant has expired
|
|
15
|
-
*
|
|
16
|
-
* @category Permissions
|
|
17
|
-
*/
|
|
18
|
-
declare class GrantExpiredError extends GrantValidationError {
|
|
19
|
-
expires: number;
|
|
20
|
-
currentTime: number;
|
|
21
|
-
constructor(message: string, expires: number, currentTime: number);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Error thrown when grantee doesn't match requesting address
|
|
25
|
-
*
|
|
26
|
-
* @category Permissions
|
|
27
|
-
*/
|
|
28
|
-
declare class GranteeMismatchError extends GrantValidationError {
|
|
29
|
-
grantee: Address;
|
|
30
|
-
requestingAddress: Address;
|
|
31
|
-
constructor(message: string, grantee: Address, requestingAddress: Address);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Error thrown when operation is not allowed by grant
|
|
35
|
-
*
|
|
36
|
-
* @category Permissions
|
|
37
|
-
*/
|
|
38
|
-
declare class OperationNotAllowedError extends GrantValidationError {
|
|
39
|
-
grantedOperation: string;
|
|
40
|
-
requestedOperation: string;
|
|
41
|
-
constructor(message: string, grantedOperation: string, requestedOperation: string);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Error thrown when grant file structure is invalid
|
|
45
|
-
*
|
|
46
|
-
* @category Permissions
|
|
47
|
-
*/
|
|
48
|
-
declare class GrantSchemaError extends GrantValidationError {
|
|
49
|
-
schemaErrors: unknown[];
|
|
50
|
-
invalidData: unknown;
|
|
51
|
-
constructor(message: string, schemaErrors: unknown[], invalidData: unknown);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Options for grant validation
|
|
55
|
-
*
|
|
56
|
-
* @category Permissions
|
|
57
|
-
*/
|
|
58
|
-
interface GrantValidationOptions {
|
|
59
|
-
/** Enable JSON schema validation (default: true) */
|
|
60
|
-
schema?: boolean;
|
|
61
|
-
/** Grantee address to validate access for */
|
|
62
|
-
grantee?: Address;
|
|
63
|
-
/** Operation to validate permission for */
|
|
64
|
-
operation?: string;
|
|
65
|
-
/** Override current time for expiry checking (Unix timestamp) */
|
|
66
|
-
currentTime?: number;
|
|
67
|
-
/** Return detailed results instead of throwing (default: false) */
|
|
68
|
-
throwOnError?: boolean;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Detailed validation result
|
|
72
|
-
*
|
|
73
|
-
* @category Permissions
|
|
74
|
-
*/
|
|
75
|
-
interface GrantValidationResult {
|
|
76
|
-
/** Whether validation passed */
|
|
77
|
-
valid: boolean;
|
|
78
|
-
/** Validation errors encountered */
|
|
79
|
-
errors: Array<{
|
|
80
|
-
type: "schema" | "business";
|
|
81
|
-
field?: string;
|
|
82
|
-
message: string;
|
|
83
|
-
error?: Error;
|
|
84
|
-
}>;
|
|
85
|
-
/** The validated grant file (if validation passed) */
|
|
86
|
-
grant?: GrantFile;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Validates a grant file with comprehensive schema and business rule checking.
|
|
90
|
-
*
|
|
91
|
-
* This function provides flexible validation with TypeScript overloads:
|
|
92
|
-
* - When `throwOnError` is false (or `{ throwOnError: false }`), returns a detailed validation result
|
|
93
|
-
* - When `throwOnError` is true (default), throws specific errors or returns the validated grant
|
|
94
|
-
*
|
|
95
|
-
* @param data - The grant file data to validate (unknown type for safety)
|
|
96
|
-
* @param options - Validation options including grantee, operation, files, etc.
|
|
97
|
-
* @returns Either a GrantFile (when throwing) or GrantValidationResult (when not throwing)
|
|
98
|
-
* @throws {GrantSchemaError} When the grant file structure is invalid
|
|
99
|
-
* @throws {GrantExpiredError} When the grant has expired
|
|
100
|
-
* @throws {GranteeMismatchError} When the grantee doesn't match the requesting address
|
|
101
|
-
* @throws {OperationNotAllowedError} When the requested operation is not allowed
|
|
102
|
-
* @example
|
|
103
|
-
* ```typescript
|
|
104
|
-
* // Throwing mode (default) - returns GrantFile or throws
|
|
105
|
-
* const grant = validateGrant(data, {
|
|
106
|
-
* grantee: '0x123...',
|
|
107
|
-
* operation: 'llm_inference',
|
|
108
|
-
* });
|
|
109
|
-
*
|
|
110
|
-
* // Non-throwing mode - returns validation result
|
|
111
|
-
* const result = validateGrant(data, {
|
|
112
|
-
* grantee: '0x123...',
|
|
113
|
-
* throwOnError: false
|
|
114
|
-
* });
|
|
115
|
-
* if (result.valid) {
|
|
116
|
-
* console.log('Grant is valid:', result.grant);
|
|
117
|
-
* } else {
|
|
118
|
-
* console.log('Validation errors:', result.errors);
|
|
119
|
-
* }
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
declare function validateGrant(data: unknown, options: GrantValidationOptions & {
|
|
123
|
-
throwOnError: false;
|
|
124
|
-
}): GrantValidationResult;
|
|
125
|
-
declare function validateGrant(data: unknown, options?: Omit<GrantValidationOptions, "throwOnError"> | (GrantValidationOptions & {
|
|
126
|
-
throwOnError?: true;
|
|
127
|
-
})): GrantFile;
|
|
128
|
-
/**
|
|
129
|
-
* Validates that a grant file allows access for a specific grantee
|
|
130
|
-
*
|
|
131
|
-
* @param grantFile - The grant file to validate access for
|
|
132
|
-
* @param requestingAddress - The address requesting access to check against the grantee
|
|
133
|
-
*/
|
|
134
|
-
declare function validateGranteeAccess(grantFile: GrantFile, requestingAddress: Address): void;
|
|
135
|
-
/**
|
|
136
|
-
* Validates that a grant has not expired (if expiry is set)
|
|
137
|
-
*
|
|
138
|
-
* @param grantFile - The grant file to check expiration for
|
|
139
|
-
* @param currentTime - Optional override for current time (Unix timestamp)
|
|
140
|
-
*/
|
|
141
|
-
declare function validateGrantExpiry(grantFile: GrantFile, currentTime?: number): void;
|
|
142
|
-
/**
|
|
143
|
-
* Validates that a grant allows a specific operation
|
|
144
|
-
*
|
|
145
|
-
* @param grantFile - The grant file to validate operation access for
|
|
146
|
-
* @param requestedOperation - The operation being requested to validate against the grant
|
|
147
|
-
*/
|
|
148
|
-
declare function validateOperationAccess(grantFile: GrantFile, requestedOperation: string): void;
|
|
149
|
-
|
|
150
|
-
export { GrantExpiredError, GrantSchemaError, GrantValidationError, type GrantValidationOptions, type GrantValidationResult, GranteeMismatchError, OperationNotAllowedError, validateGrant, validateGrantExpiry, validateGranteeAccess, validateOperationAccess };
|
package/dist/utils/grants.d.cts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Address } from 'viem';
|
|
2
|
-
import { GrantPermissionParams, GrantFile } from '../types/permissions.cjs';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* High-level utilities for working with grants in the Vana SDK
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Creates and validates a grant file from permission parameters
|
|
9
|
-
*
|
|
10
|
-
* @param params - The permission parameters to create and validate the grant from
|
|
11
|
-
* @returns The validated grant file object
|
|
12
|
-
*/
|
|
13
|
-
declare function createValidatedGrant(params: GrantPermissionParams): GrantFile;
|
|
14
|
-
/**
|
|
15
|
-
* Creates a grant file and stores it in IPFS
|
|
16
|
-
*
|
|
17
|
-
* @param params - The permission parameters to create the grant from
|
|
18
|
-
* @param relayerUrl - The URL of the relayer service for IPFS storage
|
|
19
|
-
* @returns Promise resolving to an object containing the grant file and its IPFS URL
|
|
20
|
-
*/
|
|
21
|
-
declare function createAndStoreGrant(params: GrantPermissionParams, relayerUrl: string): Promise<{
|
|
22
|
-
grantFile: GrantFile;
|
|
23
|
-
grantUrl: string;
|
|
24
|
-
}>;
|
|
25
|
-
/**
|
|
26
|
-
* Retrieves and validates a grant file from IPFS
|
|
27
|
-
*
|
|
28
|
-
* @param grantUrl - The IPFS URL of the grant file to retrieve
|
|
29
|
-
* @param relayerUrl - Optional URL of the relayer service
|
|
30
|
-
* @returns Promise resolving to the validated grant file
|
|
31
|
-
*/
|
|
32
|
-
declare function retrieveAndValidateGrant(grantUrl: string, relayerUrl?: string): Promise<GrantFile>;
|
|
33
|
-
/**
|
|
34
|
-
* Checks if a grant allows access for a specific request
|
|
35
|
-
*
|
|
36
|
-
* @param grantUrl - The IPFS URL of the grant file to check
|
|
37
|
-
* @param requestingAddress - The address making the access request
|
|
38
|
-
* @param operation - The operation being requested
|
|
39
|
-
* @param fileIds - Array of file IDs being accessed (currently unused but part of interface)
|
|
40
|
-
* @param relayerUrl - Optional URL of the relayer service
|
|
41
|
-
* @returns Promise resolving to access result with allowed status, reason, and grant file
|
|
42
|
-
*/
|
|
43
|
-
declare function checkGrantAccess(grantUrl: string, requestingAddress: Address, operation: string, fileIds: number[], relayerUrl?: string): Promise<{
|
|
44
|
-
allowed: boolean;
|
|
45
|
-
reason?: string;
|
|
46
|
-
grantFile?: GrantFile;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Utility to check if a grant has expired
|
|
50
|
-
*
|
|
51
|
-
* @param grantFile - The grant file to check for expiration
|
|
52
|
-
* @returns True if the grant has expired, false otherwise
|
|
53
|
-
*/
|
|
54
|
-
declare function isGrantExpired(grantFile: GrantFile): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Utility to get the time remaining before grant expires (in seconds)
|
|
57
|
-
*
|
|
58
|
-
* @param grantFile - The grant file to check time remaining for
|
|
59
|
-
* @returns Number of seconds remaining, or null if no expiration is set
|
|
60
|
-
*/
|
|
61
|
-
declare function getGrantTimeRemaining(grantFile: GrantFile): number | null;
|
|
62
|
-
/**
|
|
63
|
-
* Creates a human-readable summary of a grant
|
|
64
|
-
*
|
|
65
|
-
* @param grantFile - The grant file to create a summary for
|
|
66
|
-
* @returns A human-readable string describing the grant
|
|
67
|
-
*/
|
|
68
|
-
declare function summarizeGrant(grantFile: GrantFile): string;
|
|
69
|
-
|
|
70
|
-
export { checkGrantAccess, createAndStoreGrant, createValidatedGrant, getGrantTimeRemaining, isGrantExpired, retrieveAndValidateGrant, summarizeGrant };
|
package/dist/utils/ipfs.d.cts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IPFS URL utilities for the Vana SDK
|
|
3
|
-
*
|
|
4
|
-
* Centralized functions for handling IPFS URLs, converting them to gateway URLs,
|
|
5
|
-
* and extracting IPFS hashes from various URL formats.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Default IPFS gateway URL
|
|
9
|
-
*/
|
|
10
|
-
declare const DEFAULT_IPFS_GATEWAY = "https://dweb.link/ipfs/";
|
|
11
|
-
/**
|
|
12
|
-
* Alternative IPFS gateways for fallback - ordered by reliability and rate limits
|
|
13
|
-
*/
|
|
14
|
-
declare const IPFS_GATEWAYS: readonly ["https://dweb.link/ipfs/", "https://ipfs.io/ipfs/", "https://cloudflare-ipfs.com/ipfs/", "https://gateway.pinata.cloud/ipfs/", "https://ipfs.filebase.io/ipfs/"];
|
|
15
|
-
/**
|
|
16
|
-
* Check if a URL is an IPFS URL (starts with ipfs://)
|
|
17
|
-
*
|
|
18
|
-
* @param url - The URL to check
|
|
19
|
-
* @returns True if the URL is an IPFS URL
|
|
20
|
-
*/
|
|
21
|
-
declare function isIpfsUrl(url: string): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Convert an IPFS URL to an HTTP gateway URL
|
|
24
|
-
*
|
|
25
|
-
* @param url - The IPFS URL to convert (e.g., "ipfs://QmHash...")
|
|
26
|
-
* @param gateway - Optional gateway URL (defaults to DEFAULT_IPFS_GATEWAY)
|
|
27
|
-
* @returns The HTTP gateway URL or original URL if not an IPFS URL
|
|
28
|
-
* @example
|
|
29
|
-
* ```ts
|
|
30
|
-
* convertIpfsUrl("ipfs://QmHash123")
|
|
31
|
-
* // Returns: "https://ipfs.io/ipfs/QmHash123"
|
|
32
|
-
*
|
|
33
|
-
* convertIpfsUrl("ipfs://QmHash123", "https://gateway.pinata.cloud/ipfs/")
|
|
34
|
-
* // Returns: "https://gateway.pinata.cloud/ipfs/QmHash123"
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
declare function convertIpfsUrl(url: string, gateway?: string): string;
|
|
38
|
-
/**
|
|
39
|
-
* Extract IPFS hash from various URL formats
|
|
40
|
-
*
|
|
41
|
-
* **Edge Cases:**
|
|
42
|
-
* - Returns null for non-IPFS URLs or malformed hashes
|
|
43
|
-
* - Handles both CIDv0 (starts with Qm) and CIDv1 formats
|
|
44
|
-
* - Minimum 46 characters required for standalone hash detection
|
|
45
|
-
* - Gateway paths with subdirectories are not supported
|
|
46
|
-
*
|
|
47
|
-
* @param url - The URL to extract hash from
|
|
48
|
-
* @returns The IPFS hash or null if not found
|
|
49
|
-
* @example
|
|
50
|
-
* ```ts
|
|
51
|
-
* extractIpfsHash("ipfs://QmHash123") // Returns: "QmHash123"
|
|
52
|
-
* extractIpfsHash("https://gateway.pinata.cloud/ipfs/QmHash123") // Returns: "QmHash123"
|
|
53
|
-
* extractIpfsHash("QmHash123456789012345678901234567890123456") // Returns: "QmHash123456789012345678901234567890123456"
|
|
54
|
-
* extractIpfsHash("https://example.com/file.json") // Returns: null (not IPFS)
|
|
55
|
-
* extractIpfsHash("ipfs://QmHash/subdirectory") // Returns: null (subdirectories not supported)
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
declare function extractIpfsHash(url: string): string | null;
|
|
59
|
-
/**
|
|
60
|
-
* Get multiple gateway URLs for an IPFS hash (useful for fallback)
|
|
61
|
-
*
|
|
62
|
-
* @param hash - The IPFS hash
|
|
63
|
-
* @returns Array of gateway URLs
|
|
64
|
-
*/
|
|
65
|
-
declare function getGatewayUrls(hash: string): string[];
|
|
66
|
-
/**
|
|
67
|
-
* Convert an IPFS URL to multiple gateway URLs for fallback
|
|
68
|
-
*
|
|
69
|
-
* @param url - The IPFS URL
|
|
70
|
-
* @returns Array of gateway URLs or original URL if not IPFS
|
|
71
|
-
*/
|
|
72
|
-
declare function convertIpfsUrlWithFallbacks(url: string): string[];
|
|
73
|
-
/**
|
|
74
|
-
* Fetch content from IPFS with automatic gateway fallbacks
|
|
75
|
-
*
|
|
76
|
-
* **Edge Cases:**
|
|
77
|
-
* - Non-IPFS URLs are fetched directly without fallback
|
|
78
|
-
* - 10-second timeout per gateway attempt to prevent hanging
|
|
79
|
-
* - Rate-limited gateways (429) are skipped immediately
|
|
80
|
-
* - Exponential backoff between retries (1s, 2s, 3s, etc.)
|
|
81
|
-
* - AbortSignal in options is merged with timeout signal
|
|
82
|
-
*
|
|
83
|
-
* @param url - The IPFS URL to fetch
|
|
84
|
-
* @param options - Optional fetch options
|
|
85
|
-
* @returns Promise resolving to Response object
|
|
86
|
-
* @throws Error if all gateways fail
|
|
87
|
-
*/
|
|
88
|
-
declare function fetchWithFallbacks(url: string, options?: RequestInit): Promise<Response>;
|
|
89
|
-
|
|
90
|
-
export { DEFAULT_IPFS_GATEWAY, IPFS_GATEWAYS, convertIpfsUrl, convertIpfsUrlWithFallbacks, extractIpfsHash, fetchWithFallbacks, getGatewayUrls, isIpfsUrl };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility for lazy-loading modules to avoid Turbopack TDZ issues
|
|
3
|
-
*
|
|
4
|
-
* WARNING: This is a workaround for Turbopack's strict module initialization.
|
|
5
|
-
* Dependencies that access globals during init must be dynamically imported.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Creates a lazy import function that caches the promise (not the module)
|
|
9
|
-
* to avoid race conditions on concurrent first calls
|
|
10
|
-
*
|
|
11
|
-
* @param importFn - Function that returns a dynamic import promise
|
|
12
|
-
* @returns Function that returns the cached import promise
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* const getOpenPGP = lazyImport(() => import('openpgp'));
|
|
16
|
-
* const openpgp = await getOpenPGP();
|
|
17
|
-
*/
|
|
18
|
-
declare function lazyImport<T>(importFn: () => Promise<T>): () => Promise<T>;
|
|
19
|
-
|
|
20
|
-
export { lazyImport };
|