@opendatalabs/vana-sdk 0.1.0-alpha.fd33fc9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.ts +33 -1
- package/dist/browser.js.map +1 -1
- package/dist/chains/index.cjs.map +1 -1
- package/dist/chains/index.d.ts +30 -1
- package/dist/chains/index.js.map +1 -1
- package/dist/client/__tests__/enhancedResponse.test.d.ts +1 -0
- package/dist/client/enhancedResponse.cjs +164 -0
- package/dist/client/enhancedResponse.cjs.map +1 -0
- package/dist/client/enhancedResponse.d.ts +120 -0
- package/dist/client/enhancedResponse.js +138 -0
- package/dist/client/enhancedResponse.js.map +1 -0
- package/dist/config/chains.cjs.map +1 -1
- package/dist/config/chains.d.ts +99 -0
- package/dist/config/chains.js.map +1 -1
- package/dist/contracts/contractController.cjs.map +1 -1
- package/dist/contracts/contractController.d.ts +66 -10
- package/dist/contracts/contractController.js.map +1 -1
- package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +7 -0
- package/dist/controllers/__tests__/operations.processQueue.test.d.ts +1 -0
- package/dist/controllers/base.cjs +33 -0
- package/dist/controllers/base.cjs.map +1 -1
- package/dist/controllers/base.d.ts +10 -0
- package/dist/controllers/base.js +33 -0
- package/dist/controllers/base.js.map +1 -1
- package/dist/controllers/data.cjs +417 -276
- package/dist/controllers/data.cjs.map +1 -1
- package/dist/controllers/data.d.ts +246 -193
- package/dist/controllers/data.js +430 -279
- package/dist/controllers/data.js.map +1 -1
- package/dist/controllers/operations.cjs +430 -0
- package/dist/controllers/operations.cjs.map +1 -0
- package/dist/controllers/operations.d.ts +229 -0
- package/dist/controllers/operations.js +406 -0
- package/dist/controllers/operations.js.map +1 -0
- package/dist/controllers/permissions.cjs +690 -209
- package/dist/controllers/permissions.cjs.map +1 -1
- package/dist/controllers/permissions.d.ts +196 -68
- package/dist/controllers/permissions.js +690 -209
- package/dist/controllers/permissions.js.map +1 -1
- package/dist/controllers/protocol.cjs.map +1 -1
- package/dist/controllers/protocol.d.ts +27 -28
- package/dist/controllers/protocol.js.map +1 -1
- package/dist/controllers/schemas.cjs +104 -25
- package/dist/controllers/schemas.cjs.map +1 -1
- package/dist/controllers/schemas.d.ts +88 -40
- package/dist/controllers/schemas.js +104 -25
- package/dist/controllers/schemas.js.map +1 -1
- package/dist/controllers/server.cjs +269 -58
- package/dist/controllers/server.cjs.map +1 -1
- package/dist/controllers/server.d.ts +157 -52
- package/dist/controllers/server.js +269 -58
- package/dist/controllers/server.js.map +1 -1
- package/dist/core/__tests__/health.test.d.ts +1 -0
- package/dist/core/__tests__/inMemoryNonceManager.test.d.ts +1 -0
- package/dist/core/__tests__/nonceManager.test.d.ts +1 -0
- package/dist/core/__tests__/pollingManager.test.d.ts +4 -0
- package/dist/core/apiClient.cjs +53 -3
- package/dist/core/apiClient.cjs.map +1 -1
- package/dist/core/apiClient.d.ts +132 -7
- package/dist/core/apiClient.js +53 -3
- package/dist/core/apiClient.js.map +1 -1
- package/dist/core/generics.cjs +30 -3
- package/dist/core/generics.cjs.map +1 -1
- package/dist/core/generics.d.ts +95 -6
- package/dist/core/generics.js +30 -3
- package/dist/core/generics.js.map +1 -1
- package/dist/core/health.cjs +289 -0
- package/dist/core/health.cjs.map +1 -0
- package/dist/core/health.d.ts +143 -0
- package/dist/core/health.js +265 -0
- package/dist/core/health.js.map +1 -0
- package/dist/core/inMemoryNonceManager.cjs +138 -0
- package/dist/core/inMemoryNonceManager.cjs.map +1 -0
- package/dist/core/inMemoryNonceManager.d.ts +69 -0
- package/dist/core/inMemoryNonceManager.js +114 -0
- package/dist/core/inMemoryNonceManager.js.map +1 -0
- package/dist/core/nonceManager.cjs +304 -0
- package/dist/core/nonceManager.cjs.map +1 -0
- package/dist/core/nonceManager.d.ts +116 -0
- package/dist/core/nonceManager.js +280 -0
- package/dist/core/nonceManager.js.map +1 -0
- package/dist/core/pollingManager.cjs +292 -0
- package/dist/core/pollingManager.cjs.map +1 -0
- package/dist/core/pollingManager.d.ts +120 -0
- package/dist/core/pollingManager.js +268 -0
- package/dist/core/pollingManager.js.map +1 -0
- package/dist/core.cjs +55 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +54 -3
- package/dist/core.js +55 -1
- package/dist/core.js.map +1 -1
- package/dist/crypto/ecies/base.cjs +16 -3
- package/dist/crypto/ecies/base.cjs.map +1 -1
- package/dist/crypto/ecies/base.js +16 -3
- package/dist/crypto/ecies/base.js.map +1 -1
- package/dist/errors.cjs +29 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +64 -0
- package/dist/errors.js +28 -0
- package/dist/errors.js.map +1 -1
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DLPPerformanceImplementation.cjs +42 -0
- package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPPerformanceImplementation.d.ts +32 -0
- package/dist/generated/abi/DLPPerformanceImplementation.js +42 -0
- package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRegistryImplementation.cjs +5 -5
- package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRegistryImplementation.d.ts +4 -4
- package/dist/generated/abi/DLPRegistryImplementation.js +5 -5
- package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +166 -2
- package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -1
- package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +129 -2
- package/dist/generated/abi/DLPRewardDeployerImplementation.js +166 -2
- package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +167 -19
- package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +127 -14
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js +167 -19
- package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +0 -19
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +0 -14
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +0 -19
- package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs +0 -19
- package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +0 -14
- package/dist/generated/abi/DataPortabilityServersImplementation.js +0 -19
- package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -1
- package/dist/generated/abi/DataRegistryImplementation.cjs +0 -13
- package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -1
- package/dist/generated/abi/DataRegistryImplementation.d.ts +0 -10
- package/dist/generated/abi/DataRegistryImplementation.js +0 -13
- package/dist/generated/abi/DataRegistryImplementation.js.map +1 -1
- package/dist/generated/abi/SwapHelperImplementation.cjs +0 -43
- package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -1
- package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -35
- package/dist/generated/abi/SwapHelperImplementation.js +0 -43
- package/dist/generated/abi/SwapHelperImplementation.js.map +1 -1
- package/dist/generated/abi/VanaEpochImplementation.cjs +195 -0
- package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaEpochImplementation.d.ts +151 -0
- package/dist/generated/abi/VanaEpochImplementation.js +195 -0
- package/dist/generated/abi/VanaEpochImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs +22 -65
- package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +17 -51
- package/dist/generated/abi/VanaPoolEntityImplementation.js +22 -65
- package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs +113 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +85 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.js +113 -1
- package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -1
- package/dist/generated/abi/index.d.ts +546 -146
- package/dist/generated/event-types.cjs.map +1 -1
- package/dist/generated/event-types.d.ts +14 -8
- package/dist/generated/eventRegistry.cjs +42 -18
- package/dist/generated/eventRegistry.cjs.map +1 -1
- package/dist/generated/eventRegistry.js +42 -18
- package/dist/generated/eventRegistry.js.map +1 -1
- package/dist/generated/server/server-exports.cjs +22 -0
- package/dist/generated/server/server-exports.cjs.map +1 -1
- package/dist/generated/server/server-exports.d.ts +27 -10
- package/dist/generated/server/server-exports.js +17 -0
- package/dist/generated/server/server-exports.js.map +1 -1
- package/dist/generated/server/server.cjs.map +1 -1
- package/dist/generated/server/server.d.ts +771 -402
- package/dist/generated/subgraph.cjs +797 -32
- package/dist/generated/subgraph.cjs.map +1 -1
- package/dist/generated/subgraph.d.ts +135 -0
- package/dist/generated/subgraph.js +792 -32
- package/dist/generated/subgraph.js.map +1 -1
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.js +10 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +26 -0
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +49 -5
- package/dist/index.node.js +25 -1
- package/dist/index.node.js.map +1 -1
- package/dist/lib/__tests__/redisAtomicStore.test.d.ts +1 -0
- package/dist/lib/redisAtomicStore.cjs +201 -0
- package/dist/lib/redisAtomicStore.cjs.map +1 -0
- package/dist/lib/redisAtomicStore.d.ts +120 -0
- package/dist/lib/redisAtomicStore.js +177 -0
- package/dist/lib/redisAtomicStore.js.map +1 -0
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.ts +39 -1
- package/dist/node.js.map +1 -1
- package/dist/platform/browser.cjs +160 -2
- package/dist/platform/browser.cjs.map +1 -1
- package/dist/platform/browser.d.ts +232 -12
- package/dist/platform/browser.js +160 -2
- package/dist/platform/browser.js.map +1 -1
- package/dist/platform/interface.cjs.map +1 -1
- package/dist/platform/interface.d.ts +283 -90
- package/dist/platform/node.cjs +163 -2
- package/dist/platform/node.cjs.map +1 -1
- package/dist/platform/node.d.ts +69 -6
- package/dist/platform/node.js +163 -2
- package/dist/platform/node.js.map +1 -1
- package/dist/server/relayerHandler.cjs +315 -81
- package/dist/server/relayerHandler.cjs.map +1 -1
- package/dist/server/relayerHandler.d.ts +35 -2
- package/dist/server/relayerHandler.js +315 -81
- package/dist/server/relayerHandler.js.map +1 -1
- package/dist/storage/index.cjs +3 -0
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/manager.cjs +108 -25
- package/dist/storage/manager.cjs.map +1 -1
- package/dist/storage/manager.d.ts +119 -25
- package/dist/storage/manager.js +108 -25
- package/dist/storage/manager.js.map +1 -1
- package/dist/storage/providers/callback-storage.cjs +86 -15
- package/dist/storage/providers/callback-storage.cjs.map +1 -1
- package/dist/storage/providers/callback-storage.d.ts +109 -20
- package/dist/storage/providers/callback-storage.js +86 -15
- package/dist/storage/providers/callback-storage.js.map +1 -1
- package/dist/storage/providers/dropbox.cjs +237 -0
- package/dist/storage/providers/dropbox.cjs.map +1 -0
- package/dist/storage/providers/dropbox.d.ts +39 -0
- package/dist/storage/providers/dropbox.js +215 -0
- package/dist/storage/providers/dropbox.js.map +1 -0
- package/dist/storage/providers/dropbox.test.d.ts +1 -0
- package/dist/storage/providers/pinata.cjs.map +1 -1
- package/dist/storage/providers/pinata.d.ts +12 -14
- package/dist/storage/providers/pinata.js.map +1 -1
- package/dist/tests/data-upload-owner-validation.test.d.ts +1 -0
- package/dist/tests/permissions-transaction-options.test.d.ts +1 -0
- package/dist/types/atomicStore.cjs +31 -0
- package/dist/types/atomicStore.cjs.map +1 -0
- package/dist/types/atomicStore.d.ts +236 -0
- package/dist/types/atomicStore.js +7 -0
- package/dist/types/atomicStore.js.map +1 -0
- package/dist/types/blockchain.cjs.map +1 -1
- package/dist/types/blockchain.d.ts +39 -11
- package/dist/types/chains.cjs.map +1 -1
- package/dist/types/chains.d.ts +74 -7
- package/dist/types/chains.js.map +1 -1
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.ts +38 -4
- package/dist/types/config.js.map +1 -1
- package/dist/types/contracts.cjs.map +1 -1
- package/dist/types/contracts.d.ts +71 -7
- package/dist/types/controller-context.cjs.map +1 -1
- package/dist/types/controller-context.d.ts +4 -1
- package/dist/types/data.cjs.map +1 -1
- package/dist/types/data.d.ts +11 -10
- package/dist/types/generics.cjs.map +1 -1
- package/dist/types/generics.d.ts +81 -10
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +31 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/operationStore.cjs +17 -0
- package/dist/types/operationStore.cjs.map +1 -0
- package/dist/types/operationStore.d.ts +171 -0
- package/dist/types/operationStore.js +1 -0
- package/dist/types/operationStore.js.map +1 -0
- package/dist/types/operations.cjs +3 -15
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.ts +131 -39
- package/dist/types/operations.js +2 -13
- package/dist/types/operations.js.map +1 -1
- package/dist/types/options.cjs +17 -0
- package/dist/types/options.cjs.map +1 -0
- package/dist/types/options.d.ts +308 -0
- package/dist/types/options.js +1 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/permissions.cjs.map +1 -1
- package/dist/types/permissions.d.ts +19 -20
- package/dist/types/personal.cjs.map +1 -1
- package/dist/types/personal.d.ts +150 -14
- package/dist/types/relayer.cjs.map +1 -1
- package/dist/types/relayer.d.ts +145 -24
- package/dist/types/storage.cjs.map +1 -1
- package/dist/types/storage.d.ts +9 -21
- package/dist/types/storage.js.map +1 -1
- package/dist/types/utils.cjs.map +1 -1
- package/dist/types/utils.d.ts +0 -45
- package/dist/utils/__tests__/chainQuery.test.d.ts +1 -0
- package/dist/utils/__tests__/subgraphConsistency.test.d.ts +4 -0
- package/dist/utils/__tests__/subgraphPagination.test.d.ts +4 -0
- package/dist/utils/chainQuery.cjs +107 -0
- package/dist/utils/chainQuery.cjs.map +1 -0
- package/dist/utils/chainQuery.d.ts +31 -0
- package/dist/utils/chainQuery.js +82 -0
- package/dist/utils/chainQuery.js.map +1 -0
- package/dist/utils/grantFiles.cjs +4 -1
- package/dist/utils/grantFiles.cjs.map +1 -1
- package/dist/utils/grantFiles.d.ts +10 -20
- package/dist/utils/grantFiles.js +4 -1
- package/dist/utils/grantFiles.js.map +1 -1
- package/dist/utils/grantValidation.cjs.map +1 -1
- package/dist/utils/grantValidation.d.ts +95 -16
- package/dist/utils/grantValidation.js.map +1 -1
- package/dist/utils/grants.cjs.map +1 -1
- package/dist/utils/grants.d.ts +93 -12
- package/dist/utils/grants.js.map +1 -1
- package/dist/utils/ipfs.cjs +2 -4
- package/dist/utils/ipfs.cjs.map +1 -1
- package/dist/utils/ipfs.d.ts +1 -1
- package/dist/utils/ipfs.js +2 -4
- package/dist/utils/ipfs.js.map +1 -1
- package/dist/utils/lazy-import.cjs.map +1 -1
- package/dist/utils/lazy-import.d.ts +32 -7
- package/dist/utils/lazy-import.js.map +1 -1
- package/dist/utils/signatureCache.cjs +8 -2
- package/dist/utils/signatureCache.cjs.map +1 -1
- package/dist/utils/signatureCache.d.ts +49 -8
- package/dist/utils/signatureCache.js +8 -2
- package/dist/utils/signatureCache.js.map +1 -1
- package/dist/utils/subgraphConsistency.cjs +184 -0
- package/dist/utils/subgraphConsistency.cjs.map +1 -0
- package/dist/utils/subgraphConsistency.d.ts +65 -0
- package/dist/utils/subgraphConsistency.js +155 -0
- package/dist/utils/subgraphConsistency.js.map +1 -0
- package/dist/utils/subgraphMetaCache.cjs +101 -0
- package/dist/utils/subgraphMetaCache.cjs.map +1 -0
- package/dist/utils/subgraphMetaCache.d.ts +56 -0
- package/dist/utils/subgraphMetaCache.js +76 -0
- package/dist/utils/subgraphMetaCache.js.map +1 -0
- package/dist/utils/subgraphPagination.cjs +104 -0
- package/dist/utils/subgraphPagination.cjs.map +1 -0
- package/dist/utils/subgraphPagination.d.ts +78 -0
- package/dist/utils/subgraphPagination.js +78 -0
- package/dist/utils/subgraphPagination.js.map +1 -0
- package/dist/utils/transactionHelpers.cjs.map +1 -1
- package/dist/utils/transactionHelpers.d.ts +12 -12
- package/dist/utils/transactionHelpers.js.map +1 -1
- package/dist/utils/typedDataConverter.cjs.map +1 -1
- package/dist/utils/typedDataConverter.d.ts +39 -3
- package/dist/utils/typedDataConverter.js.map +1 -1
- package/dist/utils/urlResolver.cjs +7 -0
- package/dist/utils/urlResolver.cjs.map +1 -1
- package/dist/utils/urlResolver.d.ts +22 -4
- package/dist/utils/urlResolver.js +7 -0
- package/dist/utils/urlResolver.js.map +1 -1
- package/dist/utils/wallet.cjs.map +1 -1
- package/dist/utils/wallet.d.ts +78 -16
- package/dist/utils/wallet.js.map +1 -1
- package/package.json +3 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address, Hash } from "viem";
|
|
2
|
+
import type { TransactionOptions, TransactionResult } from "../types/operations";
|
|
2
3
|
import type { GrantPermissionParams, RevokePermissionParams, PermissionGrantTypedData, GenericTypedData, OnChainPermissionGrant, GetUserPermissionsOptions, AddAndTrustServerParams, TrustServerParams, UntrustServerParams, AddAndTrustServerTypedData, TrustServerTypedData, TrustedServerInfo, PaginatedTrustedServers, TrustedServerQueryOptions, BatchServerInfoResult, ServerTrustStatus, GrantFile, Grantee, GranteeInfo, RegisterGranteeParams, GranteeQueryOptions, PaginatedGrantees, ServerInfo, ServerFilesAndPermissionParams, ServerFilesAndPermissionTypedData } from "../types/index";
|
|
3
4
|
import type { PermissionGrantResult, PermissionRevokeResult, ServerTrustResult } from "../types/transactionResults";
|
|
4
|
-
import type { TransactionResult } from "../types/operations";
|
|
5
5
|
import type { PermissionInfo } from "../types/permissions";
|
|
6
6
|
/**
|
|
7
7
|
* Provides shared configuration and services for all SDK controllers.
|
|
@@ -18,50 +18,52 @@ import type { ControllerContext } from "../types/controller-context";
|
|
|
18
18
|
import { BaseController } from "./base";
|
|
19
19
|
export type { ControllerContext };
|
|
20
20
|
/**
|
|
21
|
-
* Manages
|
|
21
|
+
* Manages data access permissions and trusted server operations with gasless transaction support.
|
|
22
22
|
*
|
|
23
23
|
* @remarks
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* The controller also manages trusted servers that can process user data and provides
|
|
28
|
-
* methods for revoking permissions when access is no longer needed.
|
|
24
|
+
* Enables applications to access user data through EIP-712 signatures, eliminating gas fees
|
|
25
|
+
* for users. Handles permission lifecycle from creation through revocation, plus trusted
|
|
26
|
+
* server management for data processing operations.
|
|
29
27
|
*
|
|
30
|
-
* **
|
|
31
|
-
* Permissions use dual storage:
|
|
32
|
-
* This
|
|
28
|
+
* **Architecture:**
|
|
29
|
+
* Permissions use dual storage: complex parameters on IPFS, references on blockchain.
|
|
30
|
+
* This minimizes on-chain data while maintaining decentralization and auditability.
|
|
33
31
|
*
|
|
34
32
|
* **Method Selection:**
|
|
35
|
-
* - `grant()`
|
|
36
|
-
* - `prepareGrant()`
|
|
37
|
-
* - `revoke()`
|
|
38
|
-
* - `getUserPermissionGrantsOnChain()`
|
|
39
|
-
* - `trustServer()
|
|
33
|
+
* - `grant()` - Create permissions with automatic IPFS upload and blockchain registration
|
|
34
|
+
* - `prepareGrant()` - Preview permission structure before signing
|
|
35
|
+
* - `revoke()` - Remove permissions by ID (gasless or direct)
|
|
36
|
+
* - `getUserPermissionGrantsOnChain()` - Query active permissions
|
|
37
|
+
* - `trustServer()`/`untrustServer()` - Manage server access
|
|
38
|
+
*
|
|
39
|
+
* **Gasless Support:**
|
|
40
|
+
* All permission methods support both gasless (via relayer) and direct transactions.
|
|
41
|
+
* Configure relayer callbacks in Vana initialization for gasless operations.
|
|
40
42
|
*
|
|
41
|
-
* **Transaction Types:**
|
|
42
|
-
* Methods with gasless support: `grant()`, `revoke()`, `trustServer()`, `untrustServer()`
|
|
43
|
-
* Methods requiring direct transactions: none (all support both gasless and direct)
|
|
44
43
|
* @example
|
|
45
44
|
* ```typescript
|
|
46
|
-
* // Grant
|
|
47
|
-
* const
|
|
45
|
+
* // Grant data access permission
|
|
46
|
+
* const result = await vana.permissions.grant({
|
|
48
47
|
* grantee: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
|
|
49
48
|
* operation: "llm_inference",
|
|
50
|
-
*
|
|
51
|
-
* parameters: { model: "gpt-4", maxTokens: 1000 }
|
|
49
|
+
* fileIds: [1, 2, 3],
|
|
50
|
+
* parameters: { model: "gpt-4", maxTokens: 1000 }
|
|
52
51
|
* });
|
|
52
|
+
* console.log(`Permission ${result.permissionId} granted`);
|
|
53
53
|
*
|
|
54
|
-
* // Trust
|
|
54
|
+
* // Trust server for processing
|
|
55
55
|
* await vana.permissions.trustServer({
|
|
56
|
-
*
|
|
57
|
-
* serverUrl: "https://personal-server.vana.org"
|
|
56
|
+
* serverAddress: "0x123...",
|
|
57
|
+
* serverUrl: "https://personal-server.vana.org"
|
|
58
58
|
* });
|
|
59
59
|
*
|
|
60
|
-
* // Query
|
|
60
|
+
* // Query active permissions
|
|
61
61
|
* const permissions = await vana.permissions.getUserPermissionGrantsOnChain();
|
|
62
|
+
* permissions.forEach(p => console.log(`Permission ${p.id}: ${p.grantee}`));
|
|
62
63
|
* ```
|
|
64
|
+
*
|
|
63
65
|
* @category Permissions
|
|
64
|
-
* @see {@link https://docs.vana.
|
|
66
|
+
* @see For conceptual overview, visit {@link https://docs.vana.org/docs/permissions}
|
|
65
67
|
*/
|
|
66
68
|
export declare class PermissionsController extends BaseController {
|
|
67
69
|
constructor(context: ControllerContext);
|
|
@@ -99,7 +101,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
99
101
|
* await vana.permissions.revoke({ permissionId: result.permissionId });
|
|
100
102
|
* ```
|
|
101
103
|
*/
|
|
102
|
-
grant(params: GrantPermissionParams): Promise<PermissionGrantResult>;
|
|
104
|
+
grant(params: GrantPermissionParams, options?: TransactionOptions): Promise<PermissionGrantResult>;
|
|
103
105
|
/**
|
|
104
106
|
* Submits a permission grant transaction and returns a handle for flexible result access.
|
|
105
107
|
*
|
|
@@ -125,7 +127,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
125
127
|
* console.log(`Permission ID: ${eventData.permissionId}`);
|
|
126
128
|
* ```
|
|
127
129
|
*/
|
|
128
|
-
submitPermissionGrant(params: GrantPermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
130
|
+
submitPermissionGrant(params: GrantPermissionParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
129
131
|
/**
|
|
130
132
|
* Prepares a permission grant with preview before signing.
|
|
131
133
|
*
|
|
@@ -151,7 +153,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
151
153
|
* const transactionHash = await confirm();
|
|
152
154
|
* ```
|
|
153
155
|
*/
|
|
154
|
-
prepareGrant(params: GrantPermissionParams): Promise<{
|
|
156
|
+
prepareGrant(params: GrantPermissionParams, options?: TransactionOptions): Promise<{
|
|
155
157
|
preview: GrantFile;
|
|
156
158
|
confirm: () => Promise<PermissionGrantResult>;
|
|
157
159
|
}>;
|
|
@@ -223,7 +225,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
223
225
|
* );
|
|
224
226
|
* ```
|
|
225
227
|
*/
|
|
226
|
-
submitSignedGrant(typedData: PermissionGrantTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
228
|
+
submitSignedGrant(typedData: PermissionGrantTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
227
229
|
/**
|
|
228
230
|
* Submits an already-signed trust server transaction to the blockchain.
|
|
229
231
|
*
|
|
@@ -245,7 +247,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
245
247
|
* const result = await txHandle.waitForEvents();
|
|
246
248
|
* ```
|
|
247
249
|
*/
|
|
248
|
-
submitSignedTrustServer(typedData: TrustServerTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
|
|
250
|
+
submitSignedTrustServer(typedData: TrustServerTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
|
|
249
251
|
/**
|
|
250
252
|
* Submits an already-signed add and trust server transaction to the blockchain.
|
|
251
253
|
*
|
|
@@ -267,7 +269,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
267
269
|
* const result = await txHandle.waitForEvents();
|
|
268
270
|
* ```
|
|
269
271
|
*/
|
|
270
|
-
submitSignedAddAndTrustServer(typedData: AddAndTrustServerTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
|
|
272
|
+
submitSignedAddAndTrustServer(typedData: AddAndTrustServerTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
|
|
271
273
|
/**
|
|
272
274
|
* Internal method to submit a signed grant and wait for events.
|
|
273
275
|
*
|
|
@@ -286,6 +288,17 @@ export declare class PermissionsController extends BaseController {
|
|
|
286
288
|
* @returns Promise resolving to PermissionGrantResult with parsed events
|
|
287
289
|
*/
|
|
288
290
|
private confirmGrantInternalWithEvents;
|
|
291
|
+
/**
|
|
292
|
+
* Polls the relayer for confirmation of a pending operation.
|
|
293
|
+
*
|
|
294
|
+
* @param operationId - The operation ID to poll
|
|
295
|
+
* @param options - Polling configuration including status updates and cancellation
|
|
296
|
+
* @returns Promise resolving to the confirmed hash and receipt
|
|
297
|
+
* @throws {TransactionPendingError} When the operation times out
|
|
298
|
+
* @throws {Error} When the operation fails or is cancelled
|
|
299
|
+
* @internal
|
|
300
|
+
*/
|
|
301
|
+
private pollRelayerForConfirmation;
|
|
289
302
|
/**
|
|
290
303
|
* Submits an already-signed permission revoke transaction to the blockchain.
|
|
291
304
|
*
|
|
@@ -307,7 +320,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
307
320
|
* const result = await txHandle.waitForEvents();
|
|
308
321
|
* ```
|
|
309
322
|
*/
|
|
310
|
-
submitSignedRevoke(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
|
|
323
|
+
submitSignedRevoke(typedData: GenericTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
|
|
311
324
|
/**
|
|
312
325
|
* Submits an already-signed untrust server transaction to the blockchain.
|
|
313
326
|
*
|
|
@@ -329,7 +342,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
329
342
|
* const result = await txHandle.waitForEvents();
|
|
330
343
|
* ```
|
|
331
344
|
*/
|
|
332
|
-
submitSignedUntrustServer(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityServers", "untrustServerWithSignature">>;
|
|
345
|
+
submitSignedUntrustServer(typedData: GenericTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "untrustServerWithSignature">>;
|
|
333
346
|
/**
|
|
334
347
|
* Submits a signed transaction directly to the blockchain.
|
|
335
348
|
*
|
|
@@ -375,6 +388,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
375
388
|
* Use this when you want to handle transaction confirmation and event parsing separately.
|
|
376
389
|
*
|
|
377
390
|
* @param params - Parameters for revoking the permission
|
|
391
|
+
* @param options - Optional transaction options for gas parameters and timeout
|
|
378
392
|
* @returns Promise resolving to the transaction hash when successfully submitted
|
|
379
393
|
* @throws {BlockchainError} When revocation transaction fails
|
|
380
394
|
* @throws {UserRejectedRequestError} When user rejects the transaction
|
|
@@ -387,7 +401,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
387
401
|
* console.log(`Revocation submitted: ${txHash}`);
|
|
388
402
|
* ```
|
|
389
403
|
*/
|
|
390
|
-
submitPermissionRevoke(params: RevokePermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
|
|
404
|
+
submitPermissionRevoke(params: RevokePermissionParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
|
|
391
405
|
/**
|
|
392
406
|
* Revokes a permission with a signature for gasless transactions.
|
|
393
407
|
*
|
|
@@ -413,7 +427,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
413
427
|
* console.log(`Permission ${result.permissionId} revoked`);
|
|
414
428
|
* ```
|
|
415
429
|
*/
|
|
416
|
-
submitRevokeWithSignature(params: RevokePermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
|
|
430
|
+
submitRevokeWithSignature(params: RevokePermissionParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermissionWithSignature">>;
|
|
417
431
|
/**
|
|
418
432
|
* Retrieves the user's current nonce from the DataPortabilityServers contract.
|
|
419
433
|
* This nonce is used for server-related operations (AddAndTrustServer, TrustServer, UntrustServer).
|
|
@@ -595,7 +609,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
595
609
|
* @param params - Parameters for adding and trusting the server
|
|
596
610
|
* @returns Promise resolving to TransactionResult with ServerTrustResult event data
|
|
597
611
|
*/
|
|
598
|
-
submitAddAndTrustServerWithSignature(params: AddAndTrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
|
|
612
|
+
submitAddAndTrustServerWithSignature(params: AddAndTrustServerParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "addAndTrustServerWithSignature">>;
|
|
599
613
|
/**
|
|
600
614
|
* Trusts a server using a signature (gasless transaction - legacy method).
|
|
601
615
|
*
|
|
@@ -609,7 +623,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
609
623
|
* @throws {ServerUrlMismatchError} When server URL doesn't match existing registration
|
|
610
624
|
* @throws {BlockchainError} When trust operation fails for any other reason
|
|
611
625
|
*/
|
|
612
|
-
submitTrustServerWithSignature(params: TrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
|
|
626
|
+
submitTrustServerWithSignature(params: TrustServerParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "trustServerWithSignature">>;
|
|
613
627
|
/**
|
|
614
628
|
* Submits a direct untrust server transaction (without signature).
|
|
615
629
|
*
|
|
@@ -636,6 +650,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
636
650
|
*
|
|
637
651
|
* @param params - Parameters for untrusting the server
|
|
638
652
|
* @param params.serverId - The numeric ID of the server to untrust
|
|
653
|
+
* @param options - Optional transaction options for gas parameters and timeout
|
|
639
654
|
* @returns Promise resolving to transaction hash
|
|
640
655
|
* @throws {Error} When wallet account is not available
|
|
641
656
|
* @throws {NonceError} When retrieving user nonce fails
|
|
@@ -656,7 +671,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
656
671
|
* console.log('Still trusting servers:', trustedServers);
|
|
657
672
|
* ```
|
|
658
673
|
*/
|
|
659
|
-
submitUntrustServer(params: UntrustServerParams): Promise<TransactionResult<"DataPortabilityServers", "untrustServer">>;
|
|
674
|
+
submitUntrustServer(params: UntrustServerParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "untrustServer">>;
|
|
660
675
|
/**
|
|
661
676
|
* Untrusts a server using a signature (gasless transaction).
|
|
662
677
|
*
|
|
@@ -836,14 +851,18 @@ export declare class PermissionsController extends BaseController {
|
|
|
836
851
|
* A grantee is an entity (like an application) that can receive data permissions
|
|
837
852
|
* from users. Once registered, users can grant the grantee access to their data.
|
|
838
853
|
*
|
|
854
|
+
* This method supports gasless transactions via relayer when configured.
|
|
855
|
+
* If no relayer is available, it falls back to direct wallet transactions.
|
|
856
|
+
*
|
|
839
857
|
* @param params - Parameters for registering the grantee
|
|
840
858
|
* @param params.owner - The Ethereum address that will own this grantee registration
|
|
841
859
|
* @param params.granteeAddress - The Ethereum address of the grantee (application)
|
|
842
860
|
* @param params.publicKey - The public key used for data encryption/decryption (hex string)
|
|
861
|
+
* @param options - Optional transaction options for gas parameters and timeout
|
|
843
862
|
* @returns Promise resolving to the transaction hash
|
|
844
863
|
* @throws {BlockchainError} When the grantee registration transaction fails
|
|
845
864
|
* @throws {UserRejectedRequestError} When user rejects the transaction
|
|
846
|
-
* @throws {
|
|
865
|
+
* @throws {RelayerError} When gasless transaction submission fails
|
|
847
866
|
*
|
|
848
867
|
* @example
|
|
849
868
|
* ```typescript
|
|
@@ -855,7 +874,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
855
874
|
* console.log(`Grantee registered in transaction: ${txHash}`);
|
|
856
875
|
* ```
|
|
857
876
|
*/
|
|
858
|
-
submitRegisterGrantee(params: RegisterGranteeParams): Promise<TransactionResult<"DataPortabilityGrantees", "registerGrantee">>;
|
|
877
|
+
submitRegisterGrantee(params: RegisterGranteeParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityGrantees", "registerGrantee">>;
|
|
859
878
|
/**
|
|
860
879
|
* Retrieves all registered grantees from the DataPortabilityGrantees contract.
|
|
861
880
|
*
|
|
@@ -890,15 +909,16 @@ export declare class PermissionsController extends BaseController {
|
|
|
890
909
|
*/
|
|
891
910
|
getGrantees(options?: GranteeQueryOptions): Promise<PaginatedGrantees>;
|
|
892
911
|
/**
|
|
893
|
-
* Retrieves a specific grantee by their Ethereum address
|
|
912
|
+
* Retrieves a specific grantee by their Ethereum wallet address.
|
|
894
913
|
*
|
|
914
|
+
* @remarks
|
|
895
915
|
* Looks up a registered grantee (application) using their Ethereum address
|
|
896
|
-
* and returns their complete registration information including permissions.
|
|
916
|
+
* and returns their complete registration information including all associated permissions.
|
|
897
917
|
*
|
|
898
|
-
*
|
|
899
|
-
*
|
|
900
|
-
* @
|
|
901
|
-
* @
|
|
918
|
+
* Returns `null` if the address is not registered as a grantee or if an error occurs.
|
|
919
|
+
*
|
|
920
|
+
* @param granteeAddress - Ethereum wallet address of the grantee to query
|
|
921
|
+
* @returns Grantee information including ID, addresses, public key, and permission IDs, or `null` if not found
|
|
902
922
|
*
|
|
903
923
|
* @example
|
|
904
924
|
* ```typescript
|
|
@@ -917,15 +937,16 @@ export declare class PermissionsController extends BaseController {
|
|
|
917
937
|
*/
|
|
918
938
|
getGranteeByAddress(granteeAddress: Address): Promise<Grantee | null>;
|
|
919
939
|
/**
|
|
920
|
-
* Retrieves a specific grantee by their unique ID
|
|
940
|
+
* Retrieves a specific grantee by their unique ID.
|
|
921
941
|
*
|
|
942
|
+
* @remarks
|
|
922
943
|
* Looks up a registered grantee (application) using their numeric ID assigned during
|
|
923
|
-
* registration and returns their complete information including permissions.
|
|
944
|
+
* registration and returns their complete information including all associated permissions.
|
|
924
945
|
*
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
* @
|
|
928
|
-
* @
|
|
946
|
+
* Returns `null` if the grantee is not found or if an error occurs during fetching.
|
|
947
|
+
*
|
|
948
|
+
* @param granteeId - Unique numeric ID of the grantee (1-indexed)
|
|
949
|
+
* @returns Grantee information including ID, addresses, public key, and permission IDs, or `null` if not found
|
|
929
950
|
*
|
|
930
951
|
* @example
|
|
931
952
|
* ```typescript
|
|
@@ -933,7 +954,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
933
954
|
*
|
|
934
955
|
* if (grantee) {
|
|
935
956
|
* console.log(`Grantee ID: ${grantee.id}`);
|
|
936
|
-
* console.log(`Address: ${grantee.
|
|
957
|
+
* console.log(`Address: ${grantee.address}`);
|
|
937
958
|
* console.log(`Owner: ${grantee.owner}`);
|
|
938
959
|
* console.log(`Total permissions: ${grantee.permissionIds.length}`);
|
|
939
960
|
* } else {
|
|
@@ -1036,6 +1057,24 @@ export declare class PermissionsController extends BaseController {
|
|
|
1036
1057
|
* @returns Promise resolving to array of file IDs
|
|
1037
1058
|
*/
|
|
1038
1059
|
getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
|
|
1060
|
+
/**
|
|
1061
|
+
* Retrieves detailed grant file data from IPFS or HTTP storage.
|
|
1062
|
+
*
|
|
1063
|
+
* @remarks
|
|
1064
|
+
* This method automatically uses the SDK's configured downloadRelayer to bypass CORS restrictions.
|
|
1065
|
+
* Use this instead of importing the standalone `retrieveGrantFile` utility.
|
|
1066
|
+
*
|
|
1067
|
+
* @param grantUrl - The grant file URL (from OnChainPermissionGrant.grantUrl)
|
|
1068
|
+
* @returns Promise resolving to the complete grant file with operation details
|
|
1069
|
+
* @throws {NetworkError} When all retrieval attempts fail
|
|
1070
|
+
* @example
|
|
1071
|
+
* ```typescript
|
|
1072
|
+
* const grants = await vana.permissions.getUserPermissionGrantsOnChain();
|
|
1073
|
+
* const grantFile = await vana.permissions.retrieveGrantFile(grants[0].grantUrl);
|
|
1074
|
+
* console.log(`Operation: ${grantFile.operation}`);
|
|
1075
|
+
* ```
|
|
1076
|
+
*/
|
|
1077
|
+
retrieveGrantFile(grantUrl: string): Promise<GrantFile>;
|
|
1039
1078
|
/**
|
|
1040
1079
|
* Get all permissions for a specific file (alias for getFilePermissionIds)
|
|
1041
1080
|
*
|
|
@@ -1044,17 +1083,39 @@ export declare class PermissionsController extends BaseController {
|
|
|
1044
1083
|
*/
|
|
1045
1084
|
getFilePermissions(fileId: bigint): Promise<bigint[]>;
|
|
1046
1085
|
/**
|
|
1047
|
-
*
|
|
1086
|
+
* Retrieves detailed grantee information including all associated permissions.
|
|
1087
|
+
*
|
|
1088
|
+
* @remarks
|
|
1089
|
+
* Returns grantee metadata and associated permission IDs. Uses the newer
|
|
1090
|
+
* paginated contract method internally for efficient permission fetching.
|
|
1048
1091
|
*
|
|
1049
|
-
* @param granteeId -
|
|
1050
|
-
* @returns
|
|
1092
|
+
* @param granteeId - Unique grantee identifier as bigint
|
|
1093
|
+
* @returns Grantee information containing owner address, grantee address, public key, and permission IDs
|
|
1094
|
+
* @throws {BlockchainError} When grantee ID is not found or contract read fails
|
|
1095
|
+
*
|
|
1096
|
+
* @example
|
|
1097
|
+
* ```typescript
|
|
1098
|
+
* const granteeInfo = await vana.permissions.getGranteeInfo(BigInt(1));
|
|
1099
|
+
* console.log(`Grantee ${granteeInfo.granteeAddress} has ${granteeInfo.permissionIds.length} permissions`);
|
|
1100
|
+
* ```
|
|
1051
1101
|
*/
|
|
1052
1102
|
getGranteeInfo(granteeId: bigint): Promise<GranteeInfo>;
|
|
1053
1103
|
/**
|
|
1054
|
-
*
|
|
1104
|
+
* Retrieves detailed grantee information by wallet address.
|
|
1105
|
+
*
|
|
1106
|
+
* @remarks
|
|
1107
|
+
* Looks up the grantee ID from the provided address, then fetches complete
|
|
1108
|
+
* grantee information including all associated permissions.
|
|
1109
|
+
*
|
|
1110
|
+
* @param granteeAddress - Ethereum wallet address of the grantee to query
|
|
1111
|
+
* @returns Grantee information containing owner address, grantee address, public key, and permission IDs
|
|
1112
|
+
* @throws {BlockchainError} When grantee address is not registered or contract read fails
|
|
1055
1113
|
*
|
|
1056
|
-
* @
|
|
1057
|
-
*
|
|
1114
|
+
* @example
|
|
1115
|
+
* ```typescript
|
|
1116
|
+
* const granteeInfo = await vana.permissions.getGranteeInfoByAddress("0x742d35Cc6634c0532925a3b844Bc9e8e1ee3b2De");
|
|
1117
|
+
* console.log(`Found grantee with ${granteeInfo.permissionIds.length} permissions`);
|
|
1118
|
+
* ```
|
|
1058
1119
|
*/
|
|
1059
1120
|
getGranteeInfoByAddress(granteeAddress: Address): Promise<GranteeInfo>;
|
|
1060
1121
|
/**
|
|
@@ -1071,6 +1132,57 @@ export declare class PermissionsController extends BaseController {
|
|
|
1071
1132
|
* @returns Promise resolving to array of permission IDs
|
|
1072
1133
|
*/
|
|
1073
1134
|
getGranteePermissions(granteeId: bigint): Promise<bigint[]>;
|
|
1135
|
+
/**
|
|
1136
|
+
* Retrieves permission IDs for a specific grantee with flexible pagination.
|
|
1137
|
+
*
|
|
1138
|
+
* @remarks
|
|
1139
|
+
* **Pagination Behavior:**
|
|
1140
|
+
* Returns different types based on parameters:
|
|
1141
|
+
* - Without offset/limit: Returns `bigint[]` of all permissions using batched multicall
|
|
1142
|
+
* - With offset/limit: Returns paginated object with `permissionIds`, `totalCount`, and `hasMore`
|
|
1143
|
+
*
|
|
1144
|
+
* Uses gas-aware multicall for efficient batch fetching when retrieving all permissions.
|
|
1145
|
+
*
|
|
1146
|
+
* @param granteeId - Grantee ID to get permissions for
|
|
1147
|
+
* @param options - Optional pagination parameters
|
|
1148
|
+
* @param options.offset - Zero-based starting index for pagination. Defaults to 0 when fetching all permissions. Required for single-page requests.
|
|
1149
|
+
* @param options.limit - Maximum number of permission IDs to return per page. Defaults to 100 when fetching all permissions. Required for single-page requests.
|
|
1150
|
+
* @returns When called without options: Array of all permission IDs as `bigint[]`.
|
|
1151
|
+
* When called with offset and limit: Paginated result object containing `permissionIds` array,
|
|
1152
|
+
* `totalCount`, and `hasMore` boolean.
|
|
1153
|
+
* @throws {BlockchainError} When contract read operation fails
|
|
1154
|
+
*
|
|
1155
|
+
* @example
|
|
1156
|
+
* ```typescript
|
|
1157
|
+
* // Fetch all permissions (no pagination params)
|
|
1158
|
+
* const allPermissions = await vana.permissions.getGranteePermissionsPaginated(BigInt(1));
|
|
1159
|
+
* console.log(`Total permissions: ${allPermissions.length}`);
|
|
1160
|
+
*
|
|
1161
|
+
* // Fetch a specific page (with pagination params)
|
|
1162
|
+
* const page = await vana.permissions.getGranteePermissionsPaginated(BigInt(1), {
|
|
1163
|
+
* offset: BigInt(0),
|
|
1164
|
+
* limit: BigInt(100)
|
|
1165
|
+
* });
|
|
1166
|
+
* console.log(`Fetched ${page.permissionIds.length} permissions`);
|
|
1167
|
+
* console.log(`Total: ${page.totalCount}, Has more: ${page.hasMore}`);
|
|
1168
|
+
*
|
|
1169
|
+
* // Fetch next page
|
|
1170
|
+
* if (page.hasMore) {
|
|
1171
|
+
* const nextPage = await vana.permissions.getGranteePermissionsPaginated(BigInt(1), {
|
|
1172
|
+
* offset: BigInt(100),
|
|
1173
|
+
* limit: BigInt(100)
|
|
1174
|
+
* });
|
|
1175
|
+
* }
|
|
1176
|
+
* ```
|
|
1177
|
+
*/
|
|
1178
|
+
getGranteePermissionsPaginated(granteeId: bigint, options?: {
|
|
1179
|
+
offset?: bigint;
|
|
1180
|
+
limit?: bigint;
|
|
1181
|
+
}): Promise<bigint[] | {
|
|
1182
|
+
permissionIds: bigint[];
|
|
1183
|
+
totalCount: bigint;
|
|
1184
|
+
hasMore: boolean;
|
|
1185
|
+
}>;
|
|
1074
1186
|
/**
|
|
1075
1187
|
* Get all server IDs for a user
|
|
1076
1188
|
*
|
|
@@ -1123,9 +1235,10 @@ export declare class PermissionsController extends BaseController {
|
|
|
1123
1235
|
*
|
|
1124
1236
|
* @param serverId - Server ID to update
|
|
1125
1237
|
* @param url - New URL for the server
|
|
1238
|
+
* @param options - Optional transaction options for gas parameters and timeout
|
|
1126
1239
|
* @returns Promise resolving to transaction hash
|
|
1127
1240
|
*/
|
|
1128
|
-
submitUpdateServer(serverId: bigint, url: string): Promise<TransactionResult<"DataPortabilityServers", "updateServer">>;
|
|
1241
|
+
submitUpdateServer(serverId: bigint, url: string, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityServers", "updateServer">>;
|
|
1129
1242
|
/**
|
|
1130
1243
|
* Get all permission IDs for a user
|
|
1131
1244
|
*
|
|
@@ -1177,7 +1290,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
1177
1290
|
* @throws {BlockchainError} When permission addition fails
|
|
1178
1291
|
* @throws {NetworkError} When network communication fails
|
|
1179
1292
|
*/
|
|
1180
|
-
submitSignedAddPermission(typedData: GenericTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
1293
|
+
submitSignedAddPermission(typedData: GenericTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "addPermission">>;
|
|
1181
1294
|
/**
|
|
1182
1295
|
* Submits server files and permissions with signature to the blockchain, supporting schema validation and gasless transactions.
|
|
1183
1296
|
*
|
|
@@ -1198,6 +1311,9 @@ export declare class PermissionsController extends BaseController {
|
|
|
1198
1311
|
* @param params.serverPublicKey - Server's public key for encryption.
|
|
1199
1312
|
* Obtain via `vana.server.getIdentity(userAddress).publicKey`.
|
|
1200
1313
|
* @param params.filePermissions - Nested array of permissions for each file
|
|
1314
|
+
* @param options - Optional transaction options for gas parameters and timeout.
|
|
1315
|
+
* Note: These options are only applied for direct blockchain transactions.
|
|
1316
|
+
* When using relayer callbacks (gasless transactions), these options are ignored.
|
|
1201
1317
|
* @returns TransactionResult with immediate hash access and optional event data
|
|
1202
1318
|
* @throws {Error} When schemaIds array length doesn't match fileUrls array length
|
|
1203
1319
|
* @throws {SchemaValidationError} When file data doesn't match the specified schema.
|
|
@@ -1211,6 +1327,7 @@ export declare class PermissionsController extends BaseController {
|
|
|
1211
1327
|
*
|
|
1212
1328
|
* @example
|
|
1213
1329
|
* ```typescript
|
|
1330
|
+
* // Submit with custom gas parameters and timeout
|
|
1214
1331
|
* const result = await vana.permissions.submitAddServerFilesAndPermissions({
|
|
1215
1332
|
* granteeId: BigInt(1),
|
|
1216
1333
|
* grant: "ipfs://QmXxx...",
|
|
@@ -1223,12 +1340,19 @@ export declare class PermissionsController extends BaseController {
|
|
|
1223
1340
|
* account: "0x742d35Cc6634C0532925a3b844Bc9e7595f0b0Bb",
|
|
1224
1341
|
* key: encryptedKey
|
|
1225
1342
|
* }]]
|
|
1343
|
+
* }, {
|
|
1344
|
+
* maxFeePerGas: 100n * 10n ** 9n, // 100 gwei
|
|
1345
|
+
* maxPriorityFeePerGas: 2n * 10n ** 9n, // 2 gwei tip
|
|
1346
|
+
* });
|
|
1347
|
+
*
|
|
1348
|
+
* // Wait for confirmation with custom timeout
|
|
1349
|
+
* const receipt = await vana.waitForTransactionReceipt(result, {
|
|
1350
|
+
* timeout: 180000 // 3 minutes
|
|
1226
1351
|
* });
|
|
1227
|
-
*
|
|
1228
|
-
* console.log(`Permission ID: ${events.permissionId}`);
|
|
1352
|
+
* console.log(`Transaction confirmed: ${receipt.transactionHash}`);
|
|
1229
1353
|
* ```
|
|
1230
1354
|
*/
|
|
1231
|
-
submitAddServerFilesAndPermissions(params: ServerFilesAndPermissionParams): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
|
|
1355
|
+
submitAddServerFilesAndPermissions(params: ServerFilesAndPermissionParams, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
|
|
1232
1356
|
/**
|
|
1233
1357
|
* Submits an already-signed add server files and permissions transaction to the blockchain.
|
|
1234
1358
|
*
|
|
@@ -1238,6 +1362,9 @@ export declare class PermissionsController extends BaseController {
|
|
|
1238
1362
|
*
|
|
1239
1363
|
* @param typedData - The EIP-712 typed data for AddServerFilesAndPermissions
|
|
1240
1364
|
* @param signature - The user's signature
|
|
1365
|
+
* @param options - Optional transaction options for gas parameters and timeout.
|
|
1366
|
+
* Note: These options are only applied for direct blockchain transactions.
|
|
1367
|
+
* When using relayer callbacks (gasless transactions), these options are ignored.
|
|
1241
1368
|
* @returns TransactionResult with immediate hash access and optional event data
|
|
1242
1369
|
* @throws {RelayerError} When gasless transaction submission fails
|
|
1243
1370
|
* @throws {BlockchainError} When server files and permissions addition fails
|
|
@@ -1256,14 +1383,15 @@ export declare class PermissionsController extends BaseController {
|
|
|
1256
1383
|
* console.log(`Permission created with ID: ${permissionId}`);
|
|
1257
1384
|
* ```
|
|
1258
1385
|
*/
|
|
1259
|
-
submitSignedAddServerFilesAndPermissions(typedData: ServerFilesAndPermissionTypedData, signature: Hash): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
|
|
1386
|
+
submitSignedAddServerFilesAndPermissions(typedData: ServerFilesAndPermissionTypedData, signature: Hash, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "addServerFilesAndPermissions">>;
|
|
1260
1387
|
/**
|
|
1261
1388
|
* Submit permission revocation with signature to the blockchain
|
|
1262
1389
|
*
|
|
1263
1390
|
* @param permissionId - Permission ID to revoke
|
|
1391
|
+
* @param options - Optional transaction options for gas parameters and timeout
|
|
1264
1392
|
* @returns Promise resolving to transaction hash
|
|
1265
1393
|
*/
|
|
1266
|
-
submitRevokePermission(permissionId: bigint): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
|
|
1394
|
+
submitRevokePermission(permissionId: bigint, options?: TransactionOptions): Promise<TransactionResult<"DataPortabilityPermissions", "revokePermission">>;
|
|
1267
1395
|
/**
|
|
1268
1396
|
* Submits a signed add permission transaction directly to the blockchain.
|
|
1269
1397
|
*
|